想统计涨幅的均值,比如1000个波段涨幅的均值,用了下面的代码,可均值是错误的,求改正或其它写法以实现同样的功能?
//
J:=zig(4,1);
szt:=J>ref(J,1);
szz:=szt and ref(szt,1)=0;
szzzq:=sumbars(szz,1);
xzt:=J<ref(J,1);
xzz:=xzt and ref(xzt,1)=0,linethick0;
xzzzq:=sumbars(xzz,1);
//
szf:=h-ref(L,szzzq);//波段上涨幅度
bf:=if(xzz,szf,drawnull);//向下转折时返回一个上涨波幅值,其它不发生转折的K线不返回
均bf:ema(bf,1000);
其实质是想求1000个波段涨幅的均值,而不是求1000根K线涨幅的均值,难,难,难
一般是这样写
ss:if(波段判断,涨幅,0);
s2:sumbars(波段判断,1000);
然后1000个波段涨幅平均就是:sum(ss,s2)/1000;
ema就毫无办法,你可以看下ema的算法,很难定义的
嗯,ema的算法确实复杂得多,无法取到每个准确的值不好加权