-- 作者:gsqh_zyp
-- 发布时间:2013/4/11 11:22:10
--
老师,由于是新手,上面的语句还是不明白。
此主题相关图片如下:123.jpg
 上图最左边出现一个“开空”信号,随后出现一个平仓信号,但是平仓信号之后价格波动又没超过m,又没超过平仓信号后nn个周期在次出现开仓信号,怎样写假如平仓信号出现后在nn周期内价格波动没有超过m,不发出前一个相同的信号,如果出现反向开仓信号的话则继续发出。
runmode:0; input:n1(4,1,100,1); input:n2(9,1,100,1); input:n3(18,1,100,1); ma1:=ma(close,n1); ma2:=ma(close,n2); ma3:=ma(close,n3); if holding=0 then begin if close>ma1 and ma1>ma2 and ma2>ma3 then buy(1,1,limitr,close); end if holding=0 then begin if close<ma1 and ma1<ma2 and ma2<ma3 then buyshort(1,1,limitr,close); end if holding>0 then begin if ma1<ma2 then sell(1,holding,limitr,close); end if holding<0 then begin if ma1>ma2 then sellshort(1,holding,limitr,close); end
以上是克罗均线代码,麻烦老师在上述代码中完成以上提成的思路,谢谢。
|
-- 作者:gsqh_zyp
-- 发布时间:2013/4/11 14:30:46
--
runmode:0;
input:m(10,1,100,1); input:n1(4,1,100,1); input:n2(9,1,100,1); input:n3(18,1,100,1); ma1:=ma(close,n1); ma2:=ma(close,n2); ma3:=ma(close,n3);
开多:=CLOSE>ma1 and ma1>ma2 and ma2>ma3; 开空:=close<ma1 and ma1<ma2 and ma2<ma3; nn1:=BARSLAST(开多)+1; nn2:=BARSLAST(开多)+1; tj1 := nn1<=10 and h-l>m; tj2 := nn2<=10 and h-l>m;
if holding=0 then tj1 begin if 开多 then buy(1,1,limitr,close); end if holding=0 then tj2 begin if 开空 then buyshort(1,1,limitr,close); end if holding>0 then begin if ma1<ma2 then sell(1,holding,limitr,close); end if holding<0 then begin if ma1>ma2 then sellshort(1,holding,limitr,close); end
是这样把条件加进去吗?但看没变化,跟预期的不一样
|