老师好!我想在已经开发完成的突破模型中加入震荡交易,思路是:突破模型完成平仓后(不论平多还是平空),即转入震荡模式;转入震荡模式后,只允许做3次交易(不论多空);震荡模式结束标准:震荡模式交易达到3次或者突破模式出现开仓信号。以上思路尝试了好几天都无法实现,麻烦老师帮忙指引。
//交易系统
手数:=(CASH(0)/(CLOSE*300*0.15))*0.5;
震荡手数1:=(CASH(0)/(CLOSE*300*0.15))*0.2;
震荡手数2:=ENTERVOL*2;
突破单平多:SELL(突破单平多条件,HOLDING,MARKET);
突破单平空:SELLSHORT(突破单平空条件,HOLDING,MARKET);
突破单开多:BUY(突破单开多条件,手数,MARKET);
突破单开空:BUYSHORT(突破单开空条件,手数,MARKET);
震荡市开多:BUY( 震荡市开多条件,震荡手数1,MARKET);
震荡多单平仓:SELL( 震荡多单平仓条件 AND HOLDING>0,HOLDING,MARKET);
震荡市开空:BUYSHORT( 震荡市开空条件 ,震荡手数1,MARKET);
震荡空单平仓:SELLSHORT(震荡空单平仓条件 AND HOLDING<0,HOLDING,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
//交易系统
手数:=(CASH(0)/(CLOSE*300*0.15))*0.5;
震荡手数1:=(CASH(0)/(CLOSE*300*0.15))*0.2;
震荡手数2:=ENTERVOL*2;
IF (突破单平多条件 OR 突破单平空条件) THEN BEGIN
震荡市开多:BUY( 震荡市开多条件,震荡手数1,MARKET);
震荡多单平仓:SELL( 震荡多单平仓条件 AND HOLDING>0,HOLDING,MARKET);
震荡市开空:BUYSHORT( 震荡市开空条件 ,震荡手数1,MARKET);
震荡空单平仓:SELLSHORT(震荡空单平仓条件 AND HOLDING<0,HOLDING,MARKET);
END
IF (突破单开多条件 OR 突破单开空条件) THEN BEGIN
突破单开多:BUY(突破单开多条件,手数,MARKET);
突破单开空:BUYSHORT(突破单开空条件,手数,MARKET);
突破单平多:SELL(突破单平多条件,HOLDING,MARKET);
突破单平空:SELLSHORT(突破单平空条件,HOLDING,MARKET);
END
思路是:突破模型完成平仓后(不论平多还是平空),即转入震荡模式;转入震荡模式后,只允许做3次交易(不论多空);震荡模式结束标准:震荡模式交易达到3次或者突破模式出现开仓信号。
variable:n=0;
variable:m=0;
if 突破单平多条件 and n=0 and holding>0 then begin
平多语句;
n:=1;
end
if 突破单平空条件 and n=0 and holding<0 then begin
平空语句;
n:=1;
end
if 突破单开多条件 and holding=0 then begin
开多语句;
n:=0;
end
if 突破单开空条件 and holding=0 then begin
开空语句;
n:=0;
end
if n=1 and holding=0 and m<3 and 震荡单开多条件 then begin
开多语句;
m:=m+1;
end
if n=1 and holding=0 and m<3 and 震荡单开空条件 then begin
开空语句;
m:=m+1;
end
if m=3 then begin
n:=0;
M:=0;
end