vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 102
声望: 2

系统中集成的几个策略,没有用还占着位置,每次选择策略还要把菜单使劲往下拉。于是就想删了,可是删除以后报错

策略文件vnpy.app.cta_strategy.strategies.king_keltner_strategy加载失败,触发异常:

Traceback (most recent call last):

  File "C:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\engine.py", line 795, in load_strategy_class_from_module

    module = importlib.import_module(module_name)

  File "C:\vnstudio\lib\importlib\__init__.py", line 127, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import

  File "<frozen importlib._bootstrap>", line 983, in _find_and_load

  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked

ModuleNotFoundError: No module named 'vnpy.app.cta_strategy.strategies.king_keltner_strategy'

vnpy.app.cta_strategy.strategies.king_keltner_strategy,这个文件已经删了,照理来说系统不知道有这个文件,为什么会报错??

vnpy.app.cta_strategy.strategies这个目录是策略的根目录,系统扫描这个目录然后加载目录下的策略文件,如果我没有理解错应该是这样的啊!!

cta_strategy_setting.json文件和cta_strategy_data.json都是空的。

这个策略名保存在哪里以至于每次系统要寻找这个策略并加载呢???

Administrator
avatar
加入于:
帖子: 4887
声望: 284

把strategies目录下的pycache目录给删除了,有pyc文件缓存

Member
avatar
加入于:
帖子: 102
声望: 2

用Python的交易员 wrote:

把strategies目录下的pycache目录给删除了,有pyc文件缓存

就是删了以后还有啊??
pyc文件缓存我早就删了。
找了好几个小时都没有找到原因。
虽然这个报错不影响使用,但看着难受。

Member
avatar
加入于:
帖子: 2708
声望: 158

不想cta_strategy模块显示示例策略的话可以在engine.py里的load_strategy_class函数下注释掉path1相关的那两行代码

Member
avatar
加入于:
帖子: 102
声望: 2

xiaohe wrote:

不想cta_strategy模块显示示例策略的话可以在engine.py里的load_strategy_class函数下注释掉path1相关的那两行代码

谢谢,这样是可以解决问题了。

问题我找到了,我在vnpy.app.cta_strategy.strategies下面新建了temp目录,然后把不要的策略文件移进去,我认为这样就是删除策略文件了。因为该目录下面没有文件了,没想到会扫描子目录。删除子目录,就好了。

对于这种机制,不是很理解。

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

沪公网安备 31011502017034号