一个策略,跑了一个月没出问题,最近出问题了,
其中有一段代码就是通过传进来的bar.datetime判断时间,每天15:00的时候,打开一个pickle文件,将当天的价格储存进去。
一直运行得好好的,可是今天发现从2月24日开始,这段代码没有执行,真是奇怪。
我现在想到的原因是它没有收到15:00的这个bar,但这个bar又是BarGenerator合成的,vnpy合成的1分钟bar最后一根的bar的时间戳应该是15:00吧,而且之前一直正常运行,为什么现在又不行,
难道是ctp接口有更改?应该也不可能啊。
请问陈总,可能的原因在哪儿?谢谢。。
相关代码如下:
def __timeWindow(self,dt):
"""交易与平仓窗口"""
......
#清仓时段
if dt.hour == 15 and dt.minute == 00:
self.sellWindow = True
return
self.__timeWindow(bar.datetime)
#盘中未平仓,盘尾时间段平仓
if self.sellWindow:
......
#将最近两天的价格保存到pickle文件
with open('halfhour.pickle', 'wb') as f:
pickle.dump(self.yesterdayPrice, f)
self.f1.write("*"*50+"\n")
self.f1.close()
self.put_event()