以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教一个统计数据的编写  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=76264)

--  作者:michael000
--  发布时间:2015/3/8 9:20:35
--  请教一个统计数据的编写
我希望绘制出胜率的n次平均线,但用ma(胜率,n)的话,结果是不正确的,因为比如在1分钟图表上,如果之前的胜率是40%,但后面10分钟一直没有交易,胜率是没变的,但用ma(胜率,n)编写的话,胜率却会急速变化。。。。我希望周期是以一次交易来计算,而不是一个图形单位来计算,自己想了好久都没想出来。。。。所以想请教下各位老师应该如何编写,谢谢~
--  作者:jinzhe
--  发布时间:2015/3/9 9:05:51
--  

variable:n=0,m=0;

if holding>0 and 平多条件 then begin

    sell(1,0,marketr);

    n:=n+1;

    if numprofit(1)>0 then m:=m+1;

end

 

if holding<0 and 平多条件 then begin

    sellshort(1,0,marketr);

    n:=n+1;

    if numprofit(1)>0 then m:=m+1;

end

然后胜率就是m/n;

n用来记录交易总次数,m用来记录盈利的次数

 


--  作者:michael000
--  发布时间:2015/3/9 9:36:15
--  
谢谢你的耐心解答,但可能没清楚我的意思,我是希望求出像ma(c,10)那样的效果,就是要把最新的十次交易的胜率加起来除以10,但用ma指令的话,10是指10个图形单位,并不是10次交易,所以用不上
--  作者:jinzhe
--  发布时间:2015/3/9 9:42:10
--  

那你的需求就不行了,取不到


--  作者:michael000
--  发布时间:2015/3/9 14:03:36
--  
哦,没有指令是可以求最近的n次数据的和吗,比如刚才说的胜率,求最近10次胜率的和,这样的指令有吗
--  作者:jinzhe
--  发布时间:2015/3/9 14:17:35
--  

nn:=sumbars(胜率<>ref(胜率,1),10);

ss:=if(胜率<>ref(胜率,1),胜率,0);

10个的均值就是

sum(ss,nn+1)/10


--  作者:michael000
--  发布时间:2015/3/9 17:03:38
--  
哦,好啊!这个好像可行,我去试试看,谢谢