variable:FrontBoFu[]=0;
用数组定义切保存,其他保持不变
Variable: frontBoFu[]=0; RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; K:SMA(RSV,3,1),LINETHICK1; D:SMA(K,3,1),LINETHICK1; J:=3*K-2*D; //KD金死叉 bjKDjc:=cross(K,D),linethick0; bjKDsc:=cross(D,K),linethick0; // KD 平均波段值,同时作为钝化的辅助定义。 bjkdBoDuanLLV:=ref(llv(l,5),sumbars(bjkdjc,1)),linethick0; //波段低点 bjkdBoDuanHHV:=ref(hhv(h,5),sumbars(bjkdsc,1)),linethick0; //波段高点 if bjkdjc or bjkdsc then begin frontBoFu:=abs(bjkdBoDuanHHV-bjkdBoDuanLLV),linethick0; //前一波幅 end pjBoFu: ma(FrontBoFu,100),linethick0; //平均波段值 bjKDFrontBoFuMulti: FrontBoFu/pjBoFu,linethick0; //前一波大于平均波段倍数 结果1:如上代码的结果:无输出显示,去掉linethick0也无显示。 结果2:将变量定义中的【】去掉如:
|
你的问题,通过yukizzc的方式也处理不了,这个是应sma(ema)函数算法造成的,数据发生过变化其值就可能发生变化,尤其是数据量的影响。
建议你限制死数据起始位置、
你的K和D不是用到了SMA嘛
限定其实位置是通过,k线时间坐标轴上右键进行的。
至于你说的代替方式,要看你自己是有什么替代方案了。