如何避免因分母為0而跑不出指標

  •   412 
  • 最後發表   mei  2021 八月 18
mei 發文於   2021/08/16

小幫手 好

我想做出一指標,但測試結果,總有些股票(例如2402)因分母為0而無法顯示,可否幫我看一下怎麼修改?謝謝

value1=absValue(open-close[1]);

value2=absValue(high-low);

value3=value1+value2;//收漲

value11=absValue(high-open);

value12=absValue(close-low);

value13=value11+value12;//收跌

value21=absValue(open-low);

value22=absValue(high-close);

value23=value21+value22;//收漲

value31=absValue(close[1]-open);

value32=absValue(high-low);

value33=value31+value32;//收跌

value10=close-close[1];

if value10> 0  then begin

value60=volume*value3 /(value3+value23);//買盤

value61=volume*value23/(value3+value23);//賣盤

end

else begin

value60=volume*value13/(value13+value33);

value61=volume*value33/(value13+value33);

end;

value70=value60+value60[1]+value60[2]+value60[3]+value60[4]+value60[5]+value60[6]+value60[7]+value60[8]+value60[9]+value60[10]+value60[11]+value60[12]+value60[13]+value60[14]+value60[15]+value60[16]+value60[17]+value60[18]+value60[19];

value71=value61+value61[1]+value61[2]+value61[3]+value61[4]+value61[5]+value61[6]+value61[7]+value61[8]+value61[9]+value61[10]+value61[11]+value61[12]+value61[13]+value61[14]+value61[15]+value61[16]+value61[17]+value61[18]+value61[19];

value80=value71/value70;

value90=value60+value60[1]+value60[2]+value60[3]+value60[4]+value60[5]+value60[6]+value60[7];

value91=value61+value61[1]+value61[2]+value61[3]+value61[4]+value61[5]+value61[6]+value61[7];

value81=value91/value90;

if value70<>0 then 

value80=value71/value70

else  value80=value71;

if value90<>0 then 

value81=value91/value90

else  value81=value91;  

plot1(value80,"力道比20");

plot4(value81,"力道比8");

plot2(0.6,"買");

plot3(1.4,"賣");

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/08/18

Hello mei,

 

如果遇到分母為0的狀況,只要將除法的部分加上個判斷分母是否為0的條件式即可。

您的value60跟value61沒有作這個處理,且value80跟value81雖然有作,但是賦值兩次卻有一次沒作。

附上小幫手修改後的腳本。

附加文件

mei 發文於   2021/08/18

小幫手   謝謝你

我又多學了一招了  感恩

 

 

發表回覆
Close