vn.py官网
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 36
声望: 3

版本号 2.1.9
目的是想将修改后的cta_strategy组件放置在run.py对应的路径下,不影响site-packages中的原文件
但是,启动后,发现策略没有了,不知道哪个路径还需要修改一下
实施步骤:
1、建立examples文件夹
2、examples文件下新建vn_trader 文件夹
3、vn_trader 文件夹中拷贝.vtrader , cta_strategy , gateway , strategies 文件夹, demo_script.py , run.py 文件

description

4、修改 run.py 中的启动接口

description

在run.py路径下,shift+右键,输入python run.py启动
但是启动结果是,找不到策略了,还需要修改cta_strategy中的哪个文件才能实现将cta_strategy迁移至run.py所在的路径下?

description

Administrator
avatar
加入于:
帖子: 129
声望: 14

description
可以试着打印一下ctastrategy下的engine中加载策略函数的地址是否如预期,如果自己用的话可以试着写死

Member
avatar
加入于:
帖子: 36
声望: 3

找到原因了,问题出在engine中的CtaTemplate的子类判断语句

description

engine中导入的是相对路径下的CtaTemplate

description

策略中导入的是绝对路径vnpy.app.cta_strategy路径下的CtaTemplate

description

两个CtaTemplate同名,但因为路径不一样,不是同一个类,因此在子类判断的时候没有通过
解决办法就是把engine中的CtaTemplate路径也改成绝对路径就能成功了

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

沪公网安备 31011502017034号