VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 93
声望: 14

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

策略文件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
加入于:
帖子: 4500
声望: 320

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

Member
avatar
加入于:
帖子: 93
声望: 14

用Python的交易员 wrote:

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

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

Member
avatar
加入于:
帖子: 4618
声望: 284

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

Member
avatar
加入于:
帖子: 93
声望: 14

xiaohe wrote:

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

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

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

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

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

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】