初衷:(基于双均线策略)想规避开盘前后的剧烈波动,不想持隔夜仓。想加入交易时间段的方法
我是这样写的:
设置交易时间参数,我想在9:15-14:45 和21:15-22:45 这段时间交易
DAY_START = time(9, 15)
DAY_END = time(14, 45)
NIGHT_START = time(21, 15)
NIGHT_END = time(22, 45)
TIME_NOW = datetime.now().time()
其他内容没改,就加入了个判断:
判断交易时间
if DAY_END >= TIME_NOW >= DAY_START or NIGHT_END >= TIME_NOW >= NIGHT_START:
if cross_over:
if self.pos == 0:
self.buy(bar.close_price, 1,stop=True)
elif self.pos < 0:
self.cover(bar.close_price, 1,stop=True)
self.buy(bar.close_price, 1,stop=True)
elif cross_below:
if self.pos == 0:
self.short(bar.close_price, 1,stop=True)
elif self.pos > 0:
self.sell(bar.close_price, 1,stop=True)
self.short(bar.close_price, 1,stop=True)
self.put_event()
# 如果不在交易时间,停止交易并且清仓
else:
if self.pos > 0:
self.cover(bar.close_price, 1,stop=True)
elif self.pos < 0:
self.short(bar.close_price, 1,stop=True)
else:
self.cancel_all()
self.put_event()
我遇到的问题是:既没有报错,也能运行到最底部。但是回测的时候显示成交记录为空。不知道哪里写错了。
是不是我判断的逻辑,或者放的位置不正确?请大佬指点一下。