我希望在1小时周期交易过程中,在完成一笔交易后在6个交易周期内开仓信号不再执行的语句,谢谢!
你这里这个完成一笔交易是指平仓完了,还是指开仓以后。
[此贴子已经被作者于2020/8/14 16:09:53编辑过]
原开仓条件基础上加个判断就行了
如果是开仓之后6个周期内不在重复开仓:
原开仓条件 and (ENTERBARS>5 or ENTERBARS=-1)
如果是平仓之后6个周期内不在开仓:
(EXITBARS<=5 or EXITBARS=-1) and 原开仓条件
上面只针对单一的开平,如果有多个开仓语句就不适用了。
EXITBARS<=5 or EXITBARS=-1
后面这部分不可以去掉。因为第一次开仓时候,前面肯定是没有过平仓的。加后面部分就是为了处理这个的。
我把语句加进去了,但是因为是“非多既空”的模式,所以增加语句没有任何改变,请帮我修改一下:
IF HOLDING=0 THEN BEGIN
IF TMP<=0 THEN
BUY(1,ss,MARKET,CLOSE);
END
IF HOLDING=0 THEN BEGIN
IF TMP>0 THEN
BUYSHORT(1,ss,MARKET,CLOSE);
END
IF HOLDING>0 THEN BEGIN
IF TMP>0 THEN BEGIN
SELL(1,HOLDING,MARKET,CLOSE);
BUYSHORT(EXITBARS<=5 or EXITBARS=-1,ss,MARKET,CLOSE);
END
END
IF HOLDING<0 THEN BEGIN
IF TMP<=0 THEN BEGIN
SELLSHORT(1,HOLDING,market,CLOSE);
BUY(EXITBARS<=5 or EXITBARS=-1,ss,MARKET,CLOSE);
END
END
看你的代码 你的需求是上面这个平空后 6个周期之后才允许开多仓或者平多后6个周期才允许开空仓?是这样的需求?