场景介绍
1、无界面模式运行,策略是BollChannelStrategy,交易合约是 rb2010.SHFE
2、运行结果
D:\vnstudio\python.exe D:/vnstudio/Lib/site-packages/vnpy/app/cta_strategy/run_noui.py
启动CTA策略守护父进程
启动子进程
子进程启动成功
2020-08-16 11:58:22,962 INFO: 主引擎创建成功
2020-08-16 11:58:22,964 INFO: 注册日志事件监听
2020-08-16 11:58:22,967 INFO: 连接CTP接口
2020-08-16 11:58:23,001 INFO: 行情服务器连接成功
2020-08-16 11:58:23,193 INFO: 行情服务器登录成功
2020-08-16 11:58:25,787 INFO: RQData数据接口初始化成功
在使用天勤量化之前,默认您已经知晓并同意以下免责条款,如果不同意请立即停止使用:https://www.shinnytech.com/blog/disclaimer/
2020-08-16 11:58:27,626 INFO: CTA策略引擎初始化成功
2020-08-16 11:58:27,627 INFO: CTA策略初始化完成
2020-08-16 11:58:27,633 INFO: BCS_IC2008开始执行初始化
2020-08-16 11:58:27,639 INFO: BCS_IC2008: 策略初始化
2020-08-16 11:58:28,188 INFO: BCS_IC2008: 行情订阅失败,找不到合约rb2010.SHFE
2020-08-16 11:58:28,188 INFO: BCS_IC2008初始化完成
3、设了断点,确认能登录上rqdata,能取到全市场合约表。
4、class CtaEngine -> def _init_strategy 中 strategy.vt_symbol 有合约名 “rb2010.SHFE”,但是 contract = self.main_engine.get_contract(strategy.vt_symbol) 取不到相关信息,因此报错。
然后就不知道为什么无法取到合约了。请教前辈大拿。