--  作者:bbosaabb 
        --  发布时间:2013/1/21 14:46:56 
        
        --  [求助] 
        开仓条件B1 B2  T  S1  S2  平仓条件PB1   PS1   
	  
	//多开 IF TIME>094500&&TIME<140000&&(B1||B2)&&T THEN    BEGIN  BUY(HOLDING=0,1,MARKET);          fuying:=OPENPROFIT;   END    //空开 IF TIME>094500&&TIME<140000&&(S1||S2)&&T THEN   BEGIN BUYSHORT(HOLDING=0,1,MARKET);          fuying:=OPENPROFIT;   END    //移动式止盈          IF OPENPROFIT>fuying then fuying:=OPENPROFIT; BS1:=  OPENPROFIT<=0.6*fuying && fuying>=OPENPROFIT+30*300;//浮盈从30个点以上回撤40% BS2:=  OPENPROFIT<=fuying-18 && fuying>=OPENPROFIT+50*300;//浮盈从50个点以上回撤18个点 
	//多平 IF TIME>150500||PB1||BS||BS2 THEN   BEGIN  SELL(HOLDING>0,1 ,THISCLOSE);          Z:=1;   END   //平空 IF TIME>150500||PS1||BS||BS2 THEN    BEGIN  SELLSHORT(HOLDING<0,1,THISCLOSE);          Z:=1;   END 
	  
	为什么不能做反手单?(同一根k柱同时有平多开空信号(或平空开多)它只能默认平仓不会开仓) 
	  
	如果我用以下这种写法就可以实现同时平仓和开仓,但就用不了移动式止盈止损 
	平空:SELLSHORT((TIME>1505||PS1||BS)&&HOLDING<0,1,MARKET);  开多:BUY(TIME<1400&&(B1||B2)&&T&&HOLDING=0,1,MARKET);           平多:SELL((TIME>1505||PB1||BS)&&HOLDING>0,1,MARKET);                    开空:BUYSHORT(TIME<1400&&(S1||S2)&&T&&HOLDING=0,1,MARKET);      
	  
	我是新手,请客服帮我解一下,谢谢!! 
         
       | 
    
    
      --  作者:bbosaabb 
        --  发布时间:2013/1/21 16:00:38 
        
        --  回复:(jinzhe)发下信号截图,再发下下单日志 
        variable: fuying=0; variable: Z=0; 
N:=BARSLAST(DATE<>REF(DATE,1))+1;//开盘到当前周期数 H30:=VALUEWHEN(N=16,HHV(H,16));//开盘后16根K柱最高价 L30:=VALUEWHEN(N=16,LLV(L,16));//开盘后16根K柱最低价 HL30:=H30-L30; 
//引用MACD DIFF : =EMA(CLOSE,12) - EMA(CLOSE,26); DEA  := EMA(DIFF,9); 
//引用15分钟周的MACD DIFF15:="BB.DIFF#MIN15"; DEA15:="BB.DEA#MIN15"; 
  
T:=TOTALDAYTRADE<=2;//限制开仓次数 
BS:=OPENPROFIT<-300*20;//浮亏止损点数 //开仓条件 B1:=(CROSS(C,H30)||CROSS(C,L30))&&DIFF15>DEA15&&DIFF>DEA;//开多条件1 S1:=(CROSS(L30,C)||CROSS(H30,C))&&DIFF15<DEA15&&DIFF<DEA;//开空条件1 B2:=CROSS(DIFF15,DEA15)&&C>H30&&DIFF>DEA&&TIME>100000&&TIME<140000;//开多条件2 S2:=CROSS(DEA15,DIFF15)&&C<L30&&DIFF<DEA&&TIME>100000&&TIME<140000;//开空条件2 //平仓条件 PB1:=CROSS(DEA15,DIFF15)&&DEA<0;//平多条件1 PS1:=CROSS(DIFF15,DEA15)&&DEA>0;//平空条件1 
//多开 IF TIME>094500&&TIME<140000&&(B1||B2)&&T THEN    BEGIN  BUY(HOLDING=0,1,MARKET);          fuying:=OPENPROFIT;   END    //空开 IF TIME>094500&&TIME<140000&&(S1||S2)&&T THEN   BEGIN BUYSHORT(HOLDING=0,1,MARKET);          fuying:=OPENPROFIT;   END    //浮动止盈          IF OPENPROFIT>fuying then fuying:=OPENPROFIT; BS1:=  OPENPROFIT<=0.6*fuying && fuying>=OPENPROFIT+30*300;//浮盈从30个点以上回撤40% BS2:=  OPENPROFIT<=fuying-18 && fuying>=OPENPROFIT+50*300;//浮盈从50个点以上回撤18个点 
//多平 IF TIME>150500||PB1||BS||BS2 THEN   BEGIN  SELL(HOLDING>0,1 ,THISCLOSE);          Z:=1;   END   //平空 IF TIME>150500||PS1||BS||BS2 THEN    BEGIN  SELLSHORT(HOLDING<0,1,THISCLOSE);          Z:=1;   END 
  
  
  
  
第二种 
variable: fuying=0; variable: Z=0; 
N:=BARSLAST(DATE<>REF(DATE,1))+1;//开盘到当前周期数 H30:=VALUEWHEN(N=16,HHV(H,16));//开盘后16根K柱最高价 L30:=VALUEWHEN(N=16,LLV(L,16));//开盘后16根K柱最低价 HL30:=H30-L30; 
//引用MACD DIFF : =EMA(CLOSE,12) - EMA(CLOSE,26); DEA  := EMA(DIFF,9); 
//引用15分钟周的MACD DIFF15:="BB.DIFF#MIN15"; DEA15:="BB.DEA#MIN15"; 
  
T:=TOTALDAYTRADE<=2;//限制开仓次数 
BS:=OPENPROFIT<-300*20;//浮亏止损点数 //开仓条件 B1:=(CROSS(C,H30)||CROSS(C,L30))&&DIFF15>DEA15&&DIFF>DEA;//开多条件1 S1:=(CROSS(L30,C)||CROSS(H30,C))&&DIFF15<DEA15&&DIFF<DEA;//开空条件1 B2:=CROSS(DIFF15,DEA15)&&C>H30&&DIFF>DEA&&TIME>100000&&TIME<140000;//开多条件2 S2:=CROSS(DEA15,DIFF15)&&C<L30&&DIFF<DEA&&TIME>100000&&TIME<140000;//开空条件2 //平仓条件 PB1:=CROSS(DEA15,DIFF15)&&DEA<0;//平多条件1 PS1:=CROSS(DIFF15,DEA15)&&DEA>0;//平空条件1 
 平空:SELLSHORT((TIME>1505||PS1||BS)&&HOLDING<0,1,MARKET);  开多:BUY(TIME<1400&&(B1||B2)&&T&&HOLDING=0,1,MARKET);           平多:SELL((TIME>1505||PB1||BS)&&HOLDING>0,1,MARKET);                    开空:BUYSHORT(TIME<1400&&(S1||S2)&&T&&HOLDING=0,1,MARKET);      
  
 
         
       |