COCO研究院

 找回密碼
 註冊
搜索
查看: 2543|回復: 6

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

[複製鏈接]
發表於 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[displace] (var0);end;
發表於 21-1-20 23:38 | 顯示全部樓層
檢查出問題的數據,最常見的問題,是除零。就是你的計算式當中,可能因為資料有斷點,或是數據加減後,算式分母為0。這在使用Yahoo等網站,是經常會出現的現象。這時可以在計算前先檢查分母是否為0,如果是,就不做之後的動作。
回復 支持 1 反對 0

使用道具 舉報

發表於 21-1-20 23:42 | 顯示全部樓層
例如:
RSV = ((Close - LOLO) / HLDIFF * 100);
如果出現 HLDIFF=0 時會如何?
回復 支持 1 反對 0

使用道具 舉報

發表於 21-2-1 20:22 | 顯示全部樓層
感謝大大分享
趕快來看看~~~~
回復 支持 1 反對 0

使用道具 舉報

發表於 21-1-20 10:23 | 顯示全部樓層
看不出來有哪裡錯,有錯誤代碼?或是錯誤影像?
1_function.png
2_indicator.png
3_chart.png
 樓主| 發表於 21-1-20 21:26 | 顯示全部樓層
本帖最後由 zegawong 於 21-1-20 21:48 編輯
Cass 發表於 21-1-20 10:23
看不出來有哪裡錯,有錯誤代碼?或是錯誤影像?

謝謝大大回覆, 就出現了浮點運算不正確字樣, 請看附件

幫充一下, 數據來自雅虎, 0003.HK 股票就運算不能, 但 9988.HK, 0005.HK 就沒有問題, MC個別股票會不能運算?
error message.png
 樓主| 發表於 21-1-21 10:03 | 顯示全部樓層
明白了, 謝謝解說, 我會再嘗試一下改進分母=0 時應該怎樣做~
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-5 14:26

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |