编了个一分钟突破均线开平仓双向交易的模型,同时设了止损想来控制价格在均线上下来回波动频繁交易,下面是我的公式。
VARIABLE:止损值=0;
短期高点:=HHV(H,60);
短期低点:=LLV(L,60);
做多条件:=CROSS(CLOSE,均线);
做空条件:=CROSS(均线,CLOSE);
IF 做多条件 AND 止损值=0 THEN
BEGIN
SELLSHORT(HOLDING<0,HOLDING,MARKET),ORDERQUEUE; //平空
BUY(HOLDING=0,交易数量,MARKET),ORDERQUEUE;//开多
止损值:=短期低点;
END
IF 做空条件 AND 止损值=0 THEN
BEGIN
SELL(HOLDING>0,HOLDING,MARKET),ORDERQUEUE;//平多
BUYSHORT(HOLDING=0 ,交易数量,MARKET),ORDERQUEUE;//开空
止损值:=短期高点;
END
//***************************************
IF 止损值<>0 AND CLOSE<止损值 THEN //多头止损
BEGIN
SELL(HOLDING>0,HOLDING,MARKET),ORDERQUEUE;
BUYSHORT(HOLDING=0 ,交易数量,MARKET),ORDERQUEUE;
止损值:=0;
END
IF 止损值<>0 AND CLOSE>止损值 THEN //空头止损
BEGIN
SELLSHORT(HOLDING<0,HOLDING,MARKET),ORDERQUEUE; //平空
BUY(HOLDING=0 ,交易数量,MARKET),ORDERQUEUE;//开多
止损值:=0;
END
测试下来还是以均线开平仓,止损程序没起作用,如果前期开仓没有触发止损确实下面就一直按均线开平仓了。
我想在开平仓条件中加ENTERBARS开仓历时来控制,这样就一直没开仓了。
想法很简单,编出来很矛盾,求高手看看有什么简单好用的控制方法编一个。
在公式中加入收盘过滤信号语句if time=closetime(0) then 止损值:=0;还是不起作用
VARIABLE:止损值=0,aa=0;
短期高点:HHV(H,5);
短期低点:LLV(L,5);
均线:ma(c,60);
cc:c;
交易数量:=1;
做多条件:=CROSS(CLOSE,均线);
做空条件:=CROSS(均线,CLOSE);
IF 做多条件 AND aa=0 THEN
BEGIN
SELLSHORT(HOLDING<0,HOLDING,MARKET),ORDERQUEUE; //平空
BUY(HOLDING=0,交易数量,MARKET),ORDERQUEUE;//开多
止损值:=短期低点;
aa:=1;
END
IF 做空条件 AND aa=0 THEN
BEGIN
SELL(HOLDING>0,HOLDING,MARKET),ORDERQUEUE;//平多
BUYSHORT(HOLDING=0 ,交易数量,MARKET),ORDERQUEUE;//开空
止损值:=短期高点;
aa:=2;
END
输出:止损值,linethick0;
IF aa=1 AND CLOSE<=止损值 THEN //多头止损
BEGIN
多止损:SELL(HOLDING>0,HOLDING,MARKET),ORDERQUEUE;
BUYSHORT(HOLDING=0 ,交易数量,MARKET),ORDERQUEUE;
止损值:=0;
aa:=0;
END
IF aa=2 AND CLOSE>=止损值 THEN //空头止损
BEGIN
空止损:SELLSHORT(HOLDING<0,HOLDING,MARKET),ORDERQUEUE; //平空
BUY(HOLDING=0 ,交易数量,MARKET),ORDERQUEUE;//开多
止损值:=0;
aa:=0;
END