VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 11
声望: 0

用这个代码在原来2.1.8录制的数据可以保存到数据库中,现在软件升级到最新版本后,代码运行没有报错,但就是没有将数据存到数据库中。还请帮忙指导看看需要修改哪些代码,谢谢。
https://www.vnpy.com/forum/topic/3046-quan-shi-chang-lu-zhi-xing-qing-shu-ju

Member
avatar
加入于:
帖子: 5010
声望: 302

修改后的代码请自己在data_recorder中进行打印排查了。
比如没有保存,可以在engine里save_bar_data/save_tick_data前打印一下data看是否收到了data之类的

Member
avatar
加入于:
帖子: 11
声望: 0

详细比较了data_recorder的engine,在run里传入的data,新旧代码存在一个中括号差异;运行时进程少一个Thread-10。
如果把传入的data改成[data],就与老代码一样了,进程10也有启动。

如果是通过UI界面里的数据录制就可以保存到数据库。不知道把中括号加上是否会对其他程序产生影响?
description

description

Member
avatar
加入于:
帖子: 5010
声望: 302

这是2.2.0-2.3.0的修改了吧,把数据入库改成了定时批量写入

Member
avatar
加入于:
帖子: 11
声望: 0

原来是这样,自2.2.0开始调整了数据库组件功能,还对它某些工作方式进行了调整,谢谢答疑。
请问定时批量大概是什么时候写入呢?间隔是多长,会不会把内存撑暴呢(最低内存多大?)
把语句改成老版的就是实时写入对吗?改回老的写入方式,应该不影响其他的组件功能吧?
if task_type == "tick":
database_manager.save_tick_data([data])
elif task_type == "bar":
database_manager.save_bar_data([data])

Member
avatar
加入于:
帖子: 5010
声望: 302

这个是自己指定的,具体修改可以去github上看。
如果不想要这个修改可以退回2.2.0版本或者去github上看修改的部分然后再改回来

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】