vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 1
声望: 0

求助各位大佬啊,在vntrader中
FAQ提到自定义策略放到VNConda\Lib\site-packages\vnpy\app\cta_strategy\strategies;或者是放在用户的运行时目录下
但是我把自定义策略放两个目录分别放过去之后依然无法 CTA策略里找到自己定义的策略,该怎么找到它呢
或者咱们vnpy里有没有直接从命令行启动实时模拟策略的方法呀

Administrator
avatar
加入于:
帖子: 1919
声望: 86

放在你的运行时目录下的strategies目录下

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

麻烦具体说一下运行时目录指什么吗?
工作目录是C:\ProgramData\Anaconda3\Lib\vnpy\app\cta_strategy\strategies
自定义目录指什么?

Administrator
avatar
加入于:
帖子: 163
声望: 21

例如你点击VN Trader Pro,首先要选择运行目录,如选择.vntrader文件夹,然后才打开VN Trader图形界面。
这个.vntrader文件夹就是你运行时的目录,你可以吧自定义策略发在.vntrader文件夹里,vnpy会自动识别到

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

谢谢老师的回复
不过我用的是github上pip的安装,然后拷贝vnpy到anaconda目录下的凡是。启动时用test目录下run.py文件,可以正常启动,页面能够正常打开。
请问这种情况下那运行时目录是哪个?
是run.py所在目录吗?

Administrator
avatar
加入于:
帖子: 1919
声望: 86

你从test目录下启动run.py,这样你运行时目录就是test目录

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

谢谢老师,不过我这里好像不生效呀。
我把atr_rsi_strategy.py改了文件名和文件里边的名字,然后放到test目录下,启动后在CAT回测和CAT策略两个模块的下拉列表里都找不到我新加的策略。
我已经把文件放在run.py同一目录下和上一级目录中。
请问是不是还要在那个地方配置或添加什么语句,让run.py自己去加载?
非常感谢

Administrator
avatar
加入于:
帖子: 163
声望: 21

那试一下,把自定义策略文件拷贝到在ananconda3里面vnpy的strategies文件夹

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

试了,这个方法没问题,我就先这样用吧,谢谢

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

找到问题了,根据源码看,应该在运行时目录下新建strategies子目录,将自建策略放到这个目录中,就可以被找到了
path2 = Path.cwd().joinpath("strategies")
self.load_strategy_class_from_folder(path2, "strategies")

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