故障现象:
2月升级了2.1.9(升级前2.0.8),使用no_ui在实盘过程中发现datarecoder无法记录bar的情况。
简单排查:
在策略on_tick中print(tick)正常,在on_bar中print(bar)无输出,发现策略on_bar不触发。同时在simnow下测试on_bar和datarecoder均正常。
询问实盘开户的期货公司,他们CTP最近升级到了6.5.1,表示向下兼容6.3.15;询问simnow,他们CTP的版本是6.3.20.p3。
这里存在几个变量
1、CTP6.5.1/6.3.20.p3/6.3.15
2、VNPY2.1.9/2.0.8
3、win10/ubuntu18.04(win交易/ubuntu数据记录)
4、不同交易所CZCE/DCE/SHFE/CFFEX
然后是持续数天的组合测试.....
测试结果:
1、策略on_bar和datarecoder均正常的情况
(1)VNPY2.0.8+CTP6.5.1+ win/ubuntu
(2)VNPY2.0.8+CTP6.3.20.p3(simnow)+ win/ubuntu
(3)VNPY2.1.9+CTP6.3.20.p3(simnow)+ win/ubuntu
2、策略on_bar和datarecoder不正常的情况
(1)VNPY2.1.9+CTP6.5.1+ win/ubuntu
3、其他
(1)VNPY2.1.9+CTP6.5.1+ win/ubuntu 在夜盘中CZCE/DCE/SHFE几个交易所是正常的,但是在早上8:45自动开启后CZCE/DCE/SHFE几个交易所不正常,CFFEX交易所正常。
(2)VNPY2.1.9+CTP6.5.1+ win/ubuntu在日盘交易时间关闭no_ui再重新启动后均正常
(3)各组合分别在win/ubuntu下测试结果一致
原因猜测:
1、期货公司CTP版本升级原因(VNPY2.1.9+CTP6.3.20.p3正常)?
2、VNPY2.1.9修改了BarGenerator或on_bar相关代码或是其他代码(VNPY2.0.8+CTP6.5.1正常)?
3、VNPY2.1.9下no_ui子进程自动开启关闭的原因(交易时间关闭no_ui再重新启动后正常)?
或者是以上的叠加?
在坛子里爬楼也看到了其他类似可能与此相关的问题:
行情记录9点之前连接ctp后不能自动记录
https://www.vnpy.com/forum/topic/5970-xing-qing-ji-lu-9dian-zhi-qian-lian-jie-ctphou-bu-neng-zi-dong-ji-lu
无界面运行在早上9点时候必须重启才能$到数据
https://www.vnpy.com/forum/topic/4251-wu-jie-mian-yun-xing-zai-zao-shang-9dian-shi-hou-bi-xu-zhong-qi-cai-neng-dao-shu-ju
还有一篇问是否修改了BarGenerator找不到了
反复重装了几次系统和VNPY都未解决,目前退回到VNPY2.0.8使用,个人能力有限,望官方解决。