这是什么错误??
Traceback (most recent call last):
File "C:\vnstudio\Lib\site-packages\vnpy\app\data_manager\ui\widget.py", line 109, in refresh_tree
data = self.engine.get_bar_data_available()
File "C:\vnstudio\Lib\site-packages\vnpy\app\data_manager\engine.py", line 138, in get_bar_data_available
d["symbol"], Exchange(d["exchange"]), Interval(d["interval"])
File "C:\vnstudio\Lib\site-packages\vnpy\trader\database\database_mongo.py", line 347, in get_oldest_bar_data
interval=Interval.Value
File "c:\vnstudio\lib\enum.py", line 348, in getattr
raise AttributeError(name) from None
AttributeError: Value
点击刷新出现上述错误
准备更新的包:
vnpy : 2.0.8 -> 2.1.1
点击下方按钮开始更新
开始更新:vnpy
更新失败:vnpy
b"ERROR: tensorflow 2.1.0 has requirement protobuf>=3.8.0, but you'll have protobuf 3.5.1 which is incompatible.\r\nERROR: tensorboard 2.1.0 has requirement protobuf>=3.6.0, but you'll have protobuf 3.5.1 which is incompatible.\r\nERROR: Could not install packages due to an EnvironmentError: [WinError 5] \xbe\xdc\xbe\xf8\xb7\xc3\xce\xca\xa1\xa3: 'c:\\vnstudio\\lib\\site-packages\\vnpy\\~pi\\ctp\\thostmduserapi_se.dll'\r\nConsider using the --user
option or check the permissions.\r\n\r\n"
部分包更新失败!
str_pythin wrote:
用Python的交易员 wrote:
vnpy1到2,数据库结构变化过了,所以1的数据库是没法直接在2用的,需要自己转化下
vnpy2是在另外新机的安装的,与vnpy1不同机子
此外,vnpy2回测什么的都正常,就是没有委托交易,感觉就没任何策略的触发
但是根据策略设计和目前行情,应该有触发的
一直没触发跟self.trade是True、False有没关系,记得vnpy1中是有设置的,但是vnpy2中的no_ui不知道需不需配置,在哪里配置?
很奇怪,但是no_ui在ctp跑期货出现一直没成交的问题
用Python的交易员 wrote:
vnpy1到2,数据库结构变化过了,所以1的数据库是没法直接在2用的,需要自己转化下
vnpy2是在另外新机的安装的,与vnpy1不同机子
此外,vnpy2回测什么的都正常,就是没有委托交易,感觉就没任何策略的触发
但是根据策略设计和目前行情,应该有触发的
一个傻瓜code wrote:
用Python的交易员 wrote:
可以啊,自己用examples/no_ui脚本即可
大佬,我今天试了,但是策略触发后CMD没有日志显示,我只能够通过下单成功后的邮件提示才知道是否触发
这就是vnpy2 强烈建议交易员大哥后面升级时还是改回vnpy1吧
策略中print的东西也没打印,策略一直就没执行
回测时一直有print信息在cmd窗口打印出来的
为何?
点击策略重载没用,回测结果跟修改前结果一样(应该是回测的还是原来的策略)
如下图所示:
建议vnpy2回测输出最好还是跟vnpy1一样 包括优化时的输出
还有最好还是恢复vnpy1中自动交易run.py一样的输出(策略名字 方向 委托价 仓位)
你看vnpy2搞得花里胡哨,输出的内容都不是想看到的,竟是没用的输出刷屏
vnpy2回测结果没了vnpy1中的成功率等指标 这个指标很重要 跟盈亏比结合对改进策略很有意义
这个指标怎么添加?
cmd中跑no_ui中的run.py
有成交时没任何提示,vnpy1中会提示策略委托方向数量,和成交
vnpy2中的就没了,怎么修改可以和vnpy1中的一样?
如:两种资产标的做个组合,根据策略会有轮动,
这种情况怎么在vnpy上进行策略的回测?
用Python的交易员 wrote:
- 创建两个目录,里面分别放上启动脚本run.py,然后分别创建.vntrader目录
- 因为接口还没连接初始化完成,就订阅行情了,此时合约数据还没回来必然出错
CThostFtdcUserApiImplBase::OnSessionDisconnected[000002033B751858][-1678633034][ 4097]
2020-01-02 15:29:58,595 INFO: 交易服务器连接断开,原因4097
Decrypt handshake data failed
关闭子进程
子进程关闭成功
启动子进程
子进程启动成功
2020-01-02 20:45:10,539 INFO: 主引擎创建成功
2020-01-02 20:45:10,547 INFO: 注册日志事件监听
2020-01-02 20:45:10,548 INFO: 连接CTP接口
2020-01-02 20:45:20,621 INFO: CTA策略引擎初始化成功
2020-01-02 20:45:20,623 INFO: CTA策略初始化完成
2020-01-02 20:45:20,626 INFO: MomentumHunterStrategy开始执行初始化
2020-01-02 20:45:20,637 INFO: MomentumHunterStrategy: 策略初始化
2020-01-02 20:45:20,968 INFO: MomentumHunterStrategy: 行情订阅失败,找不到合约fu2005.SHFE
2020-01-02 20:45:20,969 INFO: MomentumHunterStrategy初始化完成
2020-01-02 20:45:20,969 INFO: RBreakStrategy开始执行初始化
2020-01-02 20:45:20,970 INFO: RBreakStrategy: 策略初始化
2020-01-02 20:45:21,369 INFO: RBreakStrategy: 行情订阅失败,找不到合约rb2005.SHFE
2020-01-02 20:45:21,370 INFO: RBreakStrategy初始化完成
2020-01-02 20:45:21,371 INFO: DoubleMaStrategy开始执行初始化
2020-01-02 20:45:21,371 INFO: DoubleMaStrategy: 策略初始化
2020-01-02 20:45:21,371 INFO: DoubleMaStrategy: 行情订阅失败,找不到合约hc2005.SHFE
2020-01-02 20:45:21,372 INFO: DoubleMaStrategy初始化完成
2020-01-02 20:46:20,624 INFO: CTA策略全部初始化
2020-01-02 20:46:20,626 INFO: MomentumHunterStrategy: 策略启动
2020-01-02 20:46:20,626 INFO: RBreakStrategy: 策略启动
2020-01-02 20:46:20,627 INFO: DoubleMaStrategy: 策略启动
2020-01-02 20:46:20,628 INFO: CTA策略全部启动
ctp接口已经连接成功了 这该如何修改,才不出现这个错误?
2.从vnpy客户端中CTA策略->添加策略,用no_ui跑,出现订阅行情失败,查找不到此合约的问题,但是在CTA策略->添加策略中初始化启动是没这个问题的
这是为何?
用Python的交易员 wrote:
vt_symbol是在BarData中基于symbol和exchange自动生成的,想用脚本载入数据,请参考vnpy-community公众号的一篇Tick回测文章
嗯嗯 根据这篇文章下载上传数据库数据成功,回测时数据加载也是正确的,数据数目也对得上
但是有个问题,为何上传的数据都在一个database中的collection中,这样虽然回测没问题,但是想通过mongodb客户端查看数据很麻烦,
还需要写一句sql语句,怎么将不同的合约代码数据放在不同的collection中,并以合约代码命名?
用Python的交易员 wrote:
恩。。。估计这是问题来源了,2.0和1.0的数据结构比,字段以及内容有了较大的变化,请用RQData之类的数据服务获取数据吧
因为有其他免费的数据源 就不想用rqdata这个收费的了
不知道vnpy2的rqdata是怎么下载数据并上传数据库的,想参考下??
用Python的交易员 wrote:
rawData、gatewayName、open_Interest
这些字段在2.0里面是不存在的,你这个是自己修改过行情录制模块?还是导入了其他什么地方的数据
没修改vnpy2任何东西 是从其他数据源获取的字段
由于是根据vnpy1的自动数据服务来写的 所以看了下字段覆盖vnpy2就行了吧 vnpy2不该只是提取其中的部分字段吗?
vnpy2完整的字段有哪些?后面再改改