請檢查腳本算式是否有分母為0

  •   151 
  • 最後發表   Dann  2024 六月 04
Dann 發文於   2024/05/29

 

if CloseD(2)> 0 then 

Value1 = Average((HighD(1)-LowD(1))*100 / CloseD(2),(5)) 

else 

value1 = 0;//前5日(扣今天)日均振幅 

請問小編,編譯時一直出現 "請檢查腳本算式是否有分母為0",但是如果收盤盤價的語法使用Close[2]就可以正常編譯,請問是為什麼呢?

該如何使用日線的資料來撰寫,謝謝

XS小編 發文於   2024/06/04

Hello Dann,

 

小編認為會發生分母處以0的狀況是因為 CloseD 是函數,要運算過才會有數值。

而 Average 會向前取N期的值,故在腳本運算第一筆向前取資料時就會取得0。

可以使用 GetField("Close", "D") 來取得日頻率的資料。

 

另外需注意 closed(2)[1] 會是上一根Bar 的 closed(2),而非 closed(3)。

變數 (函數) 的頻率會跟腳本執行的頻率相同。

故建議您直接使用 GetField 取日頻率的資料。

發表回覆
Close