这个问题困扰了我几个月了,每次新合约生成的那一天,新的合约总是不能推送tick数据。其他时候的交易日,我程序是9.16启动,15.05结束,可以正常跑一个月。但是新合约生成的第一天,就是死活订阅不到这个新合约的tick数据。
回查log记录,显示CTP已经订阅新的合约,但是就是一直收不到新合约的tick推送。我魔改了部分策略层面的代码,每天每个合约收到的第一个tick数据都会print出来,以便我debug。但是在策略层面这个新合约就是一直不推送tick。
一开始我以为是启动时间的问题,特意将新合约生成的这一天的交易时间改为9.35再启动程序,结果今天一看,还是老样子,能订阅成功,但是永远不会推送tick。只有程序重新启动了(关闭cmd,再开一次),才能正常运行。
版本是vnpy2.4.0,希望有已经爬坑了的同学指点一下