老师您好 下面是我编写的代码,我希望实现的功能是: 最基础的均线策略,金叉做多,死叉做空,并将收益曲线存储到数组变量x[]中。编译之后运行发现没有得到我想要的结果,请教老师问题出在哪里variable:x[]=0;//定义数组变量
input:m(20,10,50,10),n(200,10,200,10);//初始化参数
ma1:ma(c,m);
ma2:ma(c,n);
in:=c-ref(c,1);//定义正向现金流
out:=ref(c,1)-c;//定义反向现金流
setubound(x,datacount);//扩充数组上限
dd:=(ma1>=ma2 and ref(ma1,1)>=ref(ma2,1)) or (ma1<ma2 and ref(ma1,1)>=ref(ma2,1));//多头持仓状态或者当根K线出现死叉,得到正向现金流
kk:=(ma1<ma2 and ref(ma1,1)<ref(ma2,1)) or (ma1>=ma2 and ref(ma1,1)<ref(ma2,1));//空头持仓状态或者当根K线出现金叉,得到反向现金流
//将每一笔现金流的数值存入X[]中
if dd then
x[barpos]=x[barpos-1]+in;
if kk then
x[barpos]=x[barpos-1]+out;
aa:x,noaxis;//输出数组x所代表的收益曲线
if dd then
x[barpos]=x[barpos-1]+in;
if kk then
x[barpos]=x[barpos-1]+out;
改成
if dd then
x[barpos]:=x[barpos-1]+in;
if kk then
x[barpos]:=x[barpos-1]+out;
赋值少冒号,就是一个判断,没有赋值的效果