-- 作者: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);
|