- 目的是用跟住主力日线交易
- 下载日线数据RB9999到database
- 检查database确实更新了2月6号为止
- 运行交易策略test,使用no-ui模式方便调试,貌似没有执行到on_daily_bar的位置(print bar没有出来)
- 日线utility逻辑已添加,分钟线的回测有正常打印。启动交易确没有打印,初始化的配置有错误?
VNPY/vnpy-2.1.8/examples/no_ui$ python run.py
启动CTA策略守护父进程
启动子进程
子进程启动成功
2021-02-06 00:49:13,048 INFO: 主引擎创建成功
2021-02-06 00:49:13,049 INFO: 注册日志事件监听
2021-02-06 00:49:13,051 INFO: 连接CTP接口
2021-02-06 00:49:13,068 INFO: 行情服务器连接成功
2021-02-06 00:49:13,072 INFO: 行情服务器登录成功
2021-02-06 00:49:13,073 INFO: 交易服务器连接成功
2021-02-06 00:49:13,086 INFO: 交易服务器授权验证成功
2021-02-06 00:49:13,093 INFO: 交易服务器登录成功
2021-02-06 00:49:13,099 INFO: 结算信息确认成功
2021-02-06 00:49:13,132 INFO: 合约信息查询成功
auth success
2021-02-06 00:49:23,404 INFO: jqdata数据接口初始化成功
2021-02-06 00:49:23,433 INFO: test: -1
2021-02-06 00:49:23,434 INFO: test: -2
2021-02-06 00:49:23,437 INFO: CTA策略引擎初始化成功
2021-02-06 00:49:23,442 INFO: CTA策略初始化完成
2021-02-06 00:49:23,444 INFO: test开始执行初始化
2021-02-06 00:49:23,446 INFO: test: 策略初始化
2021-02-06 00:49:23,450 INFO: test初始化完成
code:
def init(self, cta_engine, strategy_name, vt_symbol, setting):
""""""
super().init(cta_engine, strategy_name, vt_symbol, setting)
self.bg = BarGenerator(self.on_bar,1,self.on_daily_bar, Interval.DAILY)
self.write_log("-1")
self.am = ArrayManager(size=500)
self.write_log("-2")
def on_init(self):
"""
Callback when strategy is inited.
"""
self.write_log("策略初始化")
self.load_bar(10,use_database=True,interval=Interval.DAILY)
log:
def on_daily_bar(self, bar: BarData):
""""""
self.cancel_all()
am = self.am
am.update_bar(bar)
if not am.inited:
return
print(bar)