奇狐社區論壇
在這個頁面顯示本主題全部的 8 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 請教各位前輩 -- 下標越界 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=3399)


由 CCHCP0699 在 2005-06-09 16:24 發表:

請教各位前輩 -- 下標越界

會出現 下標越界 ????

請問一下 黃框 內的公式要如何修改 ??


由 CCHCP0699 在 2005-06-09 16:30 發表:

敘述 .....

如果把黃框內的Code 隱藏

就不會 出現 下標越界


請問各位要如何解決 ???


由 king 在 2005-06-09 17:28 發表:

你迴圈陣列設太小了暴了,因為真際數列比你的陣列還大

__________________
E-Trader World 交易世界
Plurk
Facebook
Twitter
(EQ:情緒智商) & (HD:習慣領域)才是主導成功交易的重要關鍵。
「存於一個人自身的真相非常簡單,然而人們卻總是追求深奧的真理。」,金融交易亦是如此。


由 CCHCP0699 在 2005-06-09 17:51 發表:

我只需計算這些東西

我只需計算這些東西


而且 我設小一點 應該要正常執行計算才是
但是卻不行 反而出現錯誤????

所以才 PO 出來 請教大家 有何好的解決方法 ...


由 cgjj 在 2005-06-09 21:37 發表:

因為 ikk 存取的範圍超過 PrevLL 或 kknowLL 的上界或下界

請檢查 ikk 的範圍是否介於
Lbound(PrevLL) ∼ Ubound(PrevLL) 和 Lbound(kknowLL) ∼ Ubound(kknowLL) 之間

舉一例子
mm:ma(c,5);
Lbound(mm) 為 5
Ubound(mm) 為 datacount(也就是k棒總數)
mm 可存取範圍為 5∼datacount
亦即: mm[5] ∼ mm[datacount]

最保險的方式是以下列的方式存取
for i=Lbound(mm) to Ubound(mm) do 運算式;

若您用常數很容易因 mm 的有效範圍變動而出錯, 例如:
mm:ma(c,n);
for i= 1 to Ubound(mm) do 運算式; //當n>1時即會發生錯誤


由 cgjj 在 2005-06-09 21:45 發表:

MaxPos := 288;
for ikk = 1 to MaxPos do 運算式;
這方法相當不可靠

若遇到總K棒數不足時即會運算錯誤(甚至當掉)
應加入K棒數不足 288 根時的處理
如 超過288根就以288根來算, 若不足則以現有總K棒數來算

編寫公式時要將可能情況都考慮進入
這樣該公式才能穩定執行


由 cgjj 在 2005-06-09 22:00 發表:

建議您公式問題不要只貼圖
原碼文字部份也請貼上
這樣比較好幫您除錯(不用再打一遍)
謝謝!


由 CCHCP0699 在 2005-06-10 12:06 發表:

code 的全文

xxLow : Lbound( low ) ;
MaxPos := 288 ;
XXXbars := barpos ;
XX123 := 0 ;
FOR ikk = 2 TO MaxPos DO begin
PrevLL := ref( Low , ikk ) ;
kknowLL := ref( Low , 0 ) ;

xxPrevLLLL : Lbound( PrevLL ) ;
xxkknowLLLL : Lbound( kknowLL ) ;


xxPrevLLUU : Ubound( PrevLL ) ;
xxkknowLLUU : Ubound( kknowLL ) ;


// if PrevLL[ikk] < kknowLL [ikk] then
// begin
// dd := 12 ;
// end;

end;

XX123Show : 1 ;


全部時間均為台灣時間, 現在時間為09:29
在這個頁面顯示本主題全部的 8 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.