vnpy
main.engine核心引擎->ctatemplate
event.engine事件引擎->回调生成器,收到信号后广播给各个模块
gateway网关->各个接口信号状态,交给event.engine
ctatemplate
on__init初始化,先调用write_log输出日志,再调用load_bar函数加载历史数据,初始化时状态为false,变成true初始化完成
on_start启动后才能发出交易信号
on_stop停止发出交易信号,可以处理一些订单
on_bar接收tike合成k线,交易请求写在这,基于on_bar推进来的K线数据通过BarGenerator合成更长时间周期的K线来交易on_15min_bar,默认为1分钟,
on_order订单状态变更
on_trade记录交易,收到策略成交回报时on_trade函数会被调用
put_event()和write_log()监控与记录
1gateway接收tick,event.engine 推送 tick 事件
2cta策略的 on_tick触发调用 BarGenerator 合成K线
3合成K线触发 on_bar,arraymanager计算指标并发出交易信号
4订单执行:调用 buy()/sell() 通过 main.engine 发送数据到gateway
5回报处理:gateway返回订单状态触发 on_order/on_trade 回调