比如下面这样写对吗?但是都没信号了
ma3:ma(c,13);
ma5:ma(c,21);
pkkd:cross(ma3,ma5);
pdkk:cross(ma5,ma3);
sellshort(pkkd and holding<0,0,limitr,close);
buy(pkkd and exitbars>5 and holding=0,1,limitr,close);
sell(pdkk and holding>0,0,limitr,close);
buyshort(pdkk and exitbars>5 and holding=0,1,limitr,close);
variable:bj=0;
ma3:ma(c,13);
ma5:ma(c,21);
pkkd:cross(ma3,ma5);
pdkk:cross(ma5,ma3);
if pkkd and holding=0 and bj=0 then begin
buy(pkkd and holding=0,1,limitr,close);
bj:=1;
end
if pdkk and holding=0 and bj=0 then begin
buyshort(pdkk and holding=0,1,limitr,close);
bj:=1;
end
if pkkd and holding=0 and bj=1 and exitbars>10 then buy(1,1,market);
if pdkk and holding=0 and bj=1 and exitbars>10 then buyshort(1,1,market);
sell(pdkk and holding>0,0,limitr,close);
sellshort(pkkd and holding<0,0,limitr,close);
全局变量的标记,用来记录是否开过首仓,开过后标记改变,后续的开仓就能加exitbars>10的条件了