求教老师

VAR1:4*SMA((CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100,5,1)-3*SMA(SMA((CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100,5,1),3.2,1); 同花顺的这段我转译到TB 怎么不行啊,老师能帮我看看哪里错了吗? AA=CLOSE-L[N]; BB=H[N]-L[N]; CC=AA/BB*100; VAR1=4*SMA(CC,5,1)-3*SMA(SMA(CC,5,1),3.2,1);

没有报错,编译成功了。就是副图不显示指标

回复:在TB里面,凡是用到除法,就需要加倍小心。 BB=H[N]-L[N]; 上面这句,在某些特别的情况下,BB会等于0。 然后你再把BB拿去做除数,TB就不知道该怎么办了,然后就撂挑子不画了。 所以你要考虑BB等于零的时候怎么办。比如 if(BB==0) BB = 0.01;

回复:顺便说一下,你这个改写有个小错误 LLV(LOW,N),在TB里面对应的不是L[N],应该是 Lowest(L,N); HHV同理。

回复:谢谢大佬解答,我去改改

Params Numeric lots1(1); Numeric N(5); //Numeric LengthL(100); //Numeric LengthOS(30); vars Series<Numeric> AA; Series<Numeric> BB; Series<Numeric> CC; Series<Numeric> VAR1; Events OnInit() { AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权 AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格 AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓 AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算 } onBar(ArrayRef<Integer> indexs) { AA=CLOSE-L[N]; BB=H[N]-L[N]; CC=AA/BB*100; VAR1=4*SMA(CC,5,1)-3*SMA(SMA(CC,5,1),3.2,1); PlotNumeric("VAR1",VAR1); }

把这个公式源码都贴出来,编译的时候的报错也贴出来