註冊日期: Dec 2004 來 自: sdf 文章數量: 55
會出現 下標越界 ???? 請問一下 黃框 內的公式要如何修改 ??
如果把黃框內的Code 隱藏 就不會 出現 下標越界 請問各位要如何解決 ???
註冊日期: Jan 2004 來 自: 文章數量: 2783
你迴圈陣列設太小了暴了,因為真際數列比你的陣列還大
__________________ E-Trader World 交易世界、 Plurk、 Facebook、 Twitter (EQ:情緒智商) & (HD:習慣領域)才是主導成功交易的重要關鍵。 「存於一個人自身的真相非常簡單,然而人們卻總是追求深奧的真理。」,金融交易亦是如此。
我只需計算這些東西 而且 我設小一點 應該要正常執行計算才是 但是卻不行 反而出現錯誤???? 所以才 PO 出來 請教大家 有何好的解決方法 ...
註冊日期: Oct 2003 來 自: 文章數量: 18095
因為 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時即會發生錯誤
MaxPos := 288; for ikk = 1 to MaxPos do 運算式; 這方法相當不可靠 若遇到總K棒數不足時即會運算錯誤(甚至當掉) 應加入K棒數不足 288 根時的處理 如 超過288根就以288根來算, 若不足則以現有總K棒數來算 編寫公式時要將可能情況都考慮進入 這樣該公式才能穩定執行
建議您公式問題不要只貼圖 原碼文字部份也請貼上 這樣比較好幫您除錯(不用再打一遍) 謝謝!
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 ;