实盘中的一个策略,跑了一星期没问题,开仓代码如下。
#开仓
if 时间=开仓时间:
if self.pos == 0:
if bar.close_price > Price[1]:
self.buy(bar.close_price, 1)
self.f1.write("开仓做多"+"\n")
if bar.close_price < Price[0]:
self.short(bar.close_price, 1)
self.f1.write("开仓做空"+"\n")
elif self.pos > 0:
if 条件3:
self.sell(bar.close_price, 1)
self.short(bar.close_price, 1)
self.f1.write("平多仓,反手"+"\n")
else:
if 条件4:
self.cover(bar.close_price, 1)
self.buy(bar.close_price, 1)
self.f1.write("平空仓,反手"+"\n")
按理来说,不会出现持仓大于一手的情况的,可是今天我发现竟然有两手持仓,下面是我自己保存的日志
记录开盘价,时间是2019-10-29 09:01:00,价格是.....
平多仓,反手
平空仓,反手
平空仓,反手
开仓做多
执行了两次平空仓,而且有“开仓做多”这个字眼,
这就奇怪了,按理来说只有pos == 0才会执行“开仓做多”这个代码呀。
请问应该从哪里找原因?谢谢。。