VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 1
声望: 0

我编写了个macd策略并放到了strategies目录中进行测试,但发现运行VS时没有在CTA自动交易模块的列表中找到对应策略,请问有何解决办法

description

description

Super Moderator
avatar
加入于:
帖子: 100
声望: 10

在VeighNa中,如果你编写的MACD策略已经放到了strategies目录中,但在CTA自动交易模块的列表中找不到该策略,可能是以下原因导致的:


1. 策略类名与文件名不匹配

  • 问题:VeighNa的策略列表显示的是策略类名(驼峰式命名),而不是文件名(下划线命名)。
  • 解决方法
    • 确保策略类名与文件名不同。例如:
      • 文件名:macd_strategy.py
      • 策略类名:MacdStrategy
    • 如果策略类名与示例策略的类名重复,VeighNa只会显示一个策略类名。

2. 策略类未正确继承CtaTemplate

  • 问题:策略类必须继承CtaTemplate,否则不会被识别为有效的CTA策略。
  • 解决方法
    确保策略类的定义如下:

    from vnpy_ctastrategy import CtaTemplate
    
    class MacdStrategy(CtaTemplate):
        # 策略逻辑
        pass
    

3. 策略文件未放置在正确目录

  • 问题:策略文件必须放置在VeighNa Trader的运行时目录下的strategies文件夹中。
  • 解决方法
    • 打开VeighNa Trader,查看主界面顶部标题栏显示的运行时目录路径。
    • 将策略文件放到该路径下的strategies文件夹中。例如:
      • Windows:C:\Users\你的用户名\strategies\macd_strategy.py
      • Linux/Mac:/home/你的用户名/strategies/macd_strategy.py

4. 策略文件未正确加载

  • 问题:策略文件可能存在语法错误,导致VeighNa无法加载。
  • 解决方法
    • 检查策略文件是否有语法错误。
    • 在VeighNa Trader的【日志】栏中查看是否有加载策略时的错误信息。

5. 策略类名与示例策略重复

  • 问题:如果你的策略类名与VeighNa自带的示例策略类名重复,VeighNa只会显示一个策略类名。
  • 解决方法
    • 修改策略类名,确保其唯一性。例如,将MacdStrategy改为MyMacdStrategy

总结

按照以上步骤逐一检查,通常可以解决策略未显示的问题。如果问题仍然存在,建议在GitHub仓库中提交问题,提供详细的策略代码和错误信息,以便进一步排查。

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

沪公网安备 31011502017034号

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