借鉴论坛中经验,调整交易,请教老师下面两个问题
问题1、开空:符合开空条件开空单,符合空单止盈条件,同时如果空单盈利30%止盈,亏损2%平空
//开空单
ORDVOL:=1;
variable:maxprofit=0;//有仓位时最大获利幅度
win:=0;
win2:=0;
   
IF holding=0 then BEGIN 
   buyshort(CD_BUY_SHORT,ORDVOL,MARKET);
   maxprofit=0;
END
IF HOLDING>0 and enterbars > 0 then BEGIN 
   win:=(c-enterprice)/enterprice*100; //记录最大盈利
   if win > maxprofit then
   maxprofit:=win; 
   
			
   win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
			
END
IF HOLDING>0 then begin 
   SELLshort(CD_SELL_SHORT,0,MARKET);
   
   IF WIN < -2 THEN 
   
   SELLSHORT(1,0,MARKET);
   
   IF WIN2 >= 30 and OPENPROFIT > 0 then 
   
   SELLSHORT(1,0,MARKET);
END
问题2:多单2%止损
保证金:=AvGENTERPRICE*MULTIPLIER*TACCOUNT(41);
kspc:holding*(AvGENTERPRICE-c)*MULTIPLIER>=0.02*保证金; 
请教老师问题1中这个交易逻辑是否写对,问题1中的止损条件是否优于问题2中的止损指标,问题2中空单止损怎么写?
 
 
 win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度这里不用乘以100了,你的maxprofit和win都已经计算过百分比了吧
50% - 10% /50%
不用再*100
空单的holding是小于0的
IF HOLDING<0 then begin 
   SELLshort(CD_SELL_SHORT,0,MARKET);
   
   IF WIN < -2 THEN 
   
   SELLSHORT(1,0,MARKET);
   
   IF WIN2 >= 30 and OPENPROFIT > 0 then 
   
   SELLSHORT(1,0,MARKET);
END
 
 
ORDVOL:=1; {开仓手数}
variable:maxprofit_long=0;//有仓位时最大获利幅度
variable:maxprofit_short=0;
win_long1:=0;
win_long2:=0;
win_short1:=0;
win_short:=0;
 
IF CD_BUY_LONG then 
   BEGIN  
   sellshort(holding<0,holding,market); //周期均线多头排列,则平空开多
   开多:buy(holding=0,ORDVOL,MARKET);
   maxprofit_long=0;
   END
IF HOLDING>0 and enterbars > 0 then  
   BEGIN
   win_long1:=(c-enterprice)/enterprice*100; //记录最大盈利
   IF win_long1 > maxprofit_long then
   maxprofit:=win_long1; 
   win_long2:=(maxprofit_long-win_long1)/maxprofit_long; //最大盈利后的回调幅度
			
   END
IF CD_SELL_LONG and holding>0 then 
   BEGIN
   平多:SELL(1,holding,market); //多头止盈
   END 
IF HOLDING>0  then                    //2%止损
   BEGIN
   IF win_long1 < -2 THEN
   2多止损:SELLSHORT(1,holding,MARKET);
   END
老师,为什么系统不执行止损??