我在template文件里面看到load_bar的那个use_database了。这个问题搞明白了。
def load_bar(
self,
days: int,
interval: Interval = Interval.MINUTE,
callback: Callable = None,
use_database: bool = False
)
现在还有一个疑惑,就是load_tick这个函数,有没有use_database: bool = False or True的用法呢?
def load_tick(self, days: int):
"""
Load historical tick data for initializing strategy.
"""
self.cta_engine.load_tick(self.vt_symbol, days, self.on_tick)
这个use_database默认是false,是不可以修改的对吗?(是在engine.py文件里?)
使用方法是在自己写的策略文件里,在调用load_bar函数的时候,直接加一行use_database=true,然后这个策略在启动时候(比如no_ui模式),就自动优先从本地database里面读取行情数据进行初始化了对吗?
我看了一下engine里面的loadbar和loadtick,loadtick函数好像没有use_database,是不是只有loadbar能这么用?tick数据不能从本地的database里面读取吗?
请问load_bar函数在哪个文件里面可以找到?
再问一下,
VNPY的架构是只支持从datafeed读取数据进行初始化吗?
database模块只能是用来存储行情录制数据?
有没有从行情录制数据的database里面读取数据进行初始化的办法?
就是让database的数据,发挥datafeed的功能?
CTA策略的noui,只涉及数据初始化的设置,以便进行指标计算和报单交易,不涉及行情录制模块。
谢谢,明白了。我再去看看行情录制的noui帖子。
在GUI模式下,按步骤正常登录VNPY,设置好dolphinDB数据库端口,打开vntrader和datarecorder以后,可以正常录制行情。
可是如果通过noui下面的run.py运行,就提示“找不到数据服务驱动vnpy,使用默认的RQData数据服务”,此时是不是vnpy-dolphinDB没有正常被启动?请问这是为何?应该如何解决?
启动CTA策略守护父进程
启动子进程
子进程启动成功
找不到数据服务驱动vnpy_,使用默认的RQData数据服务
2022-02-14 12:52:38,540 INFO: 主引擎创建成功
2022-02-14 12:52:38,546 INFO: 注册日志事件监听
2022-02-14 12:52:38,547 INFO: 连接CTP接口
2022-02-14 12:52:38,739 INFO: 行情服务器连接成功
2022-02-14 12:52:38,797 INFO: 行情服务器登录成功
2022-02-14 12:52:38,970 INFO: 交易服务器连接成功
2022-02-14 12:52:39,076 INFO: 交易服务器授权验证成功
2022-02-14 12:52:39,119 INFO: 交易服务器登录成功
2022-02-14 12:52:39,359 INFO: 结算信息确认成功
2022-02-14 12:52:40,894 INFO: 合约信息查询成功
2022-02-14 12:52:48,570 INFO: CTA策略引擎初始化成功
2022-02-14 12:52:48,570 INFO: CTA策略初始化完成
2022-02-14 12:53:48,575 INFO: CTA策略全部初始化
2022-02-14 12:53:48,576 INFO: CTA策略全部启动
谢谢讲解,大概明白了,看了一下vnpy-arctic的code,vnpy是用的chunk store,分块存储,以时间月份的range来切割,所以只有一条。而与mongodb直连的话,行情数据则是一条一条写进去的,所以存储越多越慢。我再慢慢研究研究,非科班,数据库知识懂得不多,学的很慢。有啥问题我再来论坛请教。
谢谢,装了navicat,发现和mongodb compass和robo 3T一样,还是无法读取arctic数据,请问具体应该如何做?
今日打开vnpy-datamanager,发现数据量还是只有当下行情的那么几根1分钟k线,没有昨晚上的历史行情数据,感觉arctic的数据库设置,好像并没有配置成功。
谢谢指导,目前我的配置是
arctic 1.79.3
pandas 1.0.3
vnpy-arctic 1.0.2
vnpy-mongodb 1.0.1
pymongo 3.12.3
几个包安装没有提示报错或版本不兼容
刚才夜盘开盘以后,用vnpy_datamanager刷新可以看到分钟线的数据,并进行数据导出。不过这只能导出1分钟数据,看不到tick数据,也不是很方便。还有我不太明白的是此时datamanager里面的数据,是直接从vnpy的arraymanager里面出来的,还是从vnpy-arctic里面出来的?
如果mongodb compass和robo 3t都无法直接读取arctic的数据,不太明白arctic的数据存储读取应该如何操作(看了它的github官网指导也不是很明白),arctic相关的使用教程和中文资料实在是太少了
我把我的步骤说一下
RROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
vnpy-mongodb 1.0.1 requires pymongo==3.12.3, but you have pymongo 3.11.0 which is incompatible.
到底是哪个步骤没做对?还请指导一下。
各种包的降级安装都试着做了一遍,arctic就是收不到行情数据写进库里(按照使用文档里的设置做的)。
切换到纯mongodb的设置,就可以有行情数据接下来写进库里,如果数据库接口改成arctic的配置就是不行。
实在是不明白问题出在哪里?还请再指导一下,谢谢。
VNSTUDIO 2.9.0的初始安装状态,好像是没有vnpy_arctic了。只有vnpy_mongodb。
然后安装arctic,pandas降级,都做了。一头雾水中。
VNSTUDIO 2.9.0的版本好像没有自带vnpy_arctic了,不装的话,运行no_ui.py就如下提示报错,但是如果自己pip install vnpy_arctic的话,就报pymongo和vnpy-mongodb的版本匹配问题,请问这个问题怎么解决呀?想试试用arctic来存储行情数据。
启动CTA策略守护父进程
启动子进程
子进程启动成功
找不到数据库驱动vnpyarctic,使用默认的SQLite数据库
找不到数据服务驱动vnpy,使用默认的RQData数据服务
2022-02-07 13:20:29,983 INFO: 主引擎创建成功
2022-02-07 13:20:29,987 INFO: 注册日志事件监听
2022-02-07 13:20:29,987 INFO: 连接CTP接口
2022-02-07 13:20:30,140 INFO: 行情服务器连接成功
2022-02-07 13:20:30,141 INFO: 交易服务器连接成功
2022-02-07 13:20:30,196 INFO: 行情服务器登录成功
2022-02-07 13:20:30,255 INFO: 交易服务器授权验证成功
2022-02-07 13:20:30,303 INFO: 交易服务器登录成功
2022-02-07 13:20:30,412 INFO: 结算信息确认成功
2022-02-07 13:20:31,490 INFO: 合约信息查询成功
VNPY 2.9安装以后,开始配置arctic。降版本安装pandas 1.0.3.,只是报与tdsdk不匹配,不用tqsdk就问题不大。报vnstudio没有安装vnpy-arctic,于是也进行补装。
但是接下来提示vnpy-mongodb版本不匹配,vnpy-mongodb和pymongo,以及arctic要求的版本不匹配,感觉卡死了,请问这怎么处理?
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
vnpy-mongodb 1.0.1 requires pymongo==3.12.3, but you have pymongo 3.11.0 which is incompatible.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
arctic 1.80.5 requires pymongo<=3.11.0,>=3.6.0, but you have pymongo 3.12.3 which is incompatible.