以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  求均涨幅的写法  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=138794)

--  作者:lcgs005
--  发布时间:2016/8/28 11:36:32
--  求均涨幅的写法
想统计涨幅的均值,比如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);

--  作者:lcgs005
--  发布时间:2016/8/28 12:41:12
--  
其实质是想求1000个波段涨幅的均值,而不是求1000根K线涨幅的均值,难,难,难
--  作者:jinzhe
--  发布时间:2016/8/29 9:25:46
--  

一般是这样写

ss:if(波段判断,涨幅,0);

s2:sumbars(波段判断,1000);

然后1000个波段涨幅平均就是:sum(ss,s2)/1000;


--  作者:lcgs005
--  发布时间:2016/8/29 9:51:27
--  
这是个好思路,赞一个
--  作者:lcgs005
--  发布时间:2016/8/29 10:03:37
--  
不过这种写法是求的ma,
ema的求法有没有办法?

--  作者:jinzhe
--  发布时间:2016/8/29 10:05:43
--  
ema就毫无办法,你可以看下ema的算法,很难定义的
--  作者:lcgs005
--  发布时间:2016/8/29 10:29:37
--  
嗯,ema的算法确实复杂得多,无法取到每个准确的值不好加权