zegawong 發表於 21-1-20 09:19

新手一問, 為何程式編碼一時能運作,一時不能(內有程式碼)

各位大大, 剛剛學習寫了一個簡單的FUNCTION 和 INDICATOR, 在MC中加入時初期可以運作, 但轉另外一支股票數據時就出ERROR, 煩請各位大大斧正一下, 謝謝~

//FunctionInputs : Len (NumericSimple);variables: LOLO(0), HIHI(0), HLDIFF(0);LOLO = Lowest(Low,len);HIHI = Highest(High, len);HLDIFF = HIHI - LOLO;RSV = ((Close - LOLO) / HLDIFF * 100);//IndicatorInputs: Len(9), Displace(0);variables:var0( 0 ) ;var0 = RSV(Len);condition1 = Displace >=0 or currentbar > absvalue (Displace);if condition1 thenbeginplot1 (var0);end;

Cass 發表於 21-1-20 23:38

檢查出問題的數據,最常見的問題,是除零。就是你的計算式當中,可能因為資料有斷點,或是數據加減後,算式分母為0。這在使用Yahoo等網站,是經常會出現的現象。這時可以在計算前先檢查分母是否為0,如果是,就不做之後的動作。

Cass 發表於 21-1-20 23:42

例如:
RSV = ((Close - LOLO) / HLDIFF * 100);
如果出現 HLDIFF=0 時會如何?

dogdog2250 發表於 21-2-1 20:22

感謝大大分享
趕快來看看~~~~

Cass 發表於 21-1-20 10:23

看不出來有哪裡錯,有錯誤代碼?或是錯誤影像?

zegawong 發表於 21-1-20 21:26

本帖最後由 zegawong 於 21-1-20 21:48 編輯

Cass 發表於 21-1-20 10:23
看不出來有哪裡錯,有錯誤代碼?或是錯誤影像?
謝謝大大回覆, 就出現了浮點運算不正確字樣, 請看附件

幫充一下, 數據來自雅虎, 0003.HK 股票就運算不能, 但 9988.HK, 0005.HK 就沒有問題, MC個別股票會不能運算?

zegawong 發表於 21-1-21 10:03

明白了, 謝謝解說, 我會再嘗試一下改進分母=0 時應該怎樣做~
頁: [1]
查看完整版本: 新手一問, 為何程式編碼一時能運作,一時不能(內有程式碼)