我想统计:过去20次交易,平仓后的asset值的移动平均值,并和asset一起画在K图上,
求教一段代码?
谢谢!
nn1:=sumbars(平多条件 or 平空条件,1);
nn2:=sumbars(平多条件 or 平空条件,2);
nn3:=sumbars(平多条件 or 平空条件,3);
.........
nn20:=sumbars(平多条件 or 平空条件,20);
a1:=ref(asset,nn1);
a2:=ref(asset,nn2);
a3:=ref(asset,nn3);
.......
a20:=ref(asset,nn20);
ma20:(a1+a2+a3+........+a20)/20;
恩,我暂时用的方法也是这一类的,是用asset和numprofit来计算的,如后面的代码。
我想求助一个使用循环语句的方法,因为这个平均周期是不固定的。
但因本人对循环语句和数组语句的使用尚未掌握,故而无法用循环来完成计算。
请帮我看看我后面的循环代码部分是什么问题,谢谢。
//非循环方式计算的代码
lastmoney:ref(asset,EXITBARS),NOAXIS,linedot;
lastmoney_1:=lastmoney;
lastmoney_2:=lastmoney_1-NUMPROFIT(1);
lastmoney_3:=lastmoney_2-NUMPROFIT(2);
lastmoney_4:=lastmoney_3-NUMPROFIT(3);
lastmoney_5:=lastmoney_4-NUMPROFIT(4);
lastmoney_6:=lastmoney_5-NUMPROFIT(5);
lastmoney_7:=lastmoney_6-NUMPROFIT(6);
lastmoney_8:=lastmoney_7-NUMPROFIT(7);
lastmoney_9:=lastmoney_8-NUMPROFIT(8);
lastmoney_10:=lastmoney_9-NUMPROFIT(9);
ma10_lastmoney:(lastmoney_1+lastmoney_2+lastmoney_3+lastmoney_4+lastmoney_5+lastmoney_6+
lastmoney_7+lastmoney_8+lastmoney_9+lastmoney_10)/10,NOAXIS,linedot;//,NOAXIS,linedot;
//循环计算代码,其中mdt为统计周期变量。
lastmoney:ref(asset,EXITBARS);
VARIABLE:sum_slastmoney=lastmoney,slastmoney[mdt]=0;
slastmoney[1]:=lastmoney;
for i=1 to mdt do
begin
slastmoney[i+1]:=slastmoney[i]-NUMPROFIT(i);
sum_slastmoney:=sunslastmoney+slastmoney[i+1];
end
maslastmoney:sum_slastmoney/mdt,NOAXIS,linedot;
//修正一处笔误。。。
//循环计算代码,其中mdt为统计周期变量。
lastmoney:ref(asset,EXITBARS);
VARIABLE:sum_slastmoney=lastmoney,slastmoney[mdt]=0;
slastmoney[1]:=lastmoney;
for i=1 to mdt do
begin
slastmoney[i+1]:=slastmoney[i]-NUMPROFIT(i);
sum_slastmoney:=sum_slastmoney+slastmoney[i+1];
end
maslastmoney:sum_slastmoney/mdt,NOAXIS,linedot;
不要用循环,循环计算起来比上面的枚举要麻烦