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

  •   796 
  • 最後發表   mei  2021 四月 16
mei 發文於   2021/04/14

小幫手

Value61=GetField("買進特大單量","D")+GetField("買進大單量");//特大單+大單=大戶

Value62=GetField("賣出特大單量","D")+GetField("賣出大單量");

value81=Value61/GetField("成交量","D");

value82=Value62/GetField("成交量","D");

value83=0.45;

value84=Summation(GetField("成交量","D"),5)/5;

value85=Value61[2]+Value61[1]+Value61[0];

value86=0.6;

value87=0.8;

value88=1;

value90=value61/value84;

value91=value61/value84-Value62/value84;

if GetField("成交量","D")<>0 then

value90=value61/value84

plot1(value90,"大戶比");

plot2(value83,"佔比45");

plot3(value87,"佔比80");

plot4(value88,"佔比100");

排序方式: 標準 | 最新
mei 發文於   2021/04/14

小幫手

我自設指標,盤中執行時出現,計算停止,請檢查腳本算式是否有分母為0,想請問如何解決?謝謝

XQ小幫手 發文於   2021/04/15

Hello mei,

 

這問題是因為你在腳本中有發生除以0的情況。最簡單的解決方法就是將除法的部分以 if 判斷式包起來作檢查。

修改後範例如下

Value61=GetField("買進特大單量","D")+GetField("買進大單量");//特大單+大單=大戶

Value62=GetField("賣出特大單量","D")+GetField("賣出大單量");

if GetField("成交量","D") <> 0 then begin

    value81=Value61/GetField("成交量","D");

    value82=Value62/GetField("成交量","D");

end

else begin 

    value81 = 0;                     //如果GetField("成交量","D")為0的話則將 value81和value82 設為0,您也可以設為其他您想要的值

    value82 = 0;

    end;

 

value83=0.45;

value84=Summation(GetField("成交量","D"),5)/5;

value85=Value61[2]+Value61[1]+Value61[0];

value86=0.6;

value87=0.8;

value88=1;

 

if value84 <> 0 then begin

    value90=value61/value84;

    value91=(value61/value84)-(Value62/value84);

    end

else begin

    value90 = 0;                 //如果value84為0的話則將 value90和value91 設為0,您也可以設為其他您想要的值

    value91 = 0;

    end;

 

plot1(value90,"大戶比");

plot2(value83,"佔比45");

plot3(value87,"佔比80");

plot4(value88,"佔比100");

mei 發文於   2021/04/16

謝謝小幫手    我會再試試  ^_^

發表回覆
Close