B1:=REF(C,1);
B2:=REF(C,2);
SS:=IF(C>REF(C,1) AND REF(C,1)>=REF(C,2),1,IF(C<REF(C,1) AND REF(C,1)<=REF(C,2),-1,IF(C>REF(C,2) AND REF(C,2)>REF(C,1),2,IF(C<REF(C,2) AND REF(C,2)<REF(C,1),-2,0))));
SM:=IF(REF(SS,1)<>0,REF(SS,1),IF(REF(SS,2)<>0,REF(SS,2),IF(REF(SS,3)<>0,REF(SS,3),IF(REF(SS,5)<>0,REF(SS,5),IF(REF(SS,6)<>0,REF(SS,6),IF(REF(SS,7)<>0,REF(SS,7),0))))));
手数:=1;
开多平空条件:=((SS=1 OR SS=2) AND SM<0);//开多平空条件
开空平多条件:=((SS=-1 OR SS=-2) AND SM>0);//开空平多条件
//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
就是希望反手又开仓
下单的那4句这样改
if 开多平空条件 then begin
SELLSHORT(开多平空条件,手数,MARKET);
BUY(开多平空条件 and holding=0,手数,MARKET);
end
if 开空平多条件 then begin
SELL(开空平多条件,手数,MARKET);
BUYSHORT(开空平多条件 and holding=0,手数,MARKET);
end
解决了