老師好!我想在已經開發完成的突破模型中加入震蕩交易,思路是:突破模型完成平倉后(不論平多還是平空),即轉入震蕩模式;轉入震蕩模式后,只允許做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