ctatemplate 在实盘的时候底层调用什么下单,在回测时候调用什么下单
底层调用cta_engine.send_order()方法通过Gateway连接交易所接口实际委托单通过交易API发送到交易所
回测调用BacktestingEngine基于pricetick和slippage计算成交价按时间优先原则匹配订单 自动处理手续费rate参数
send_order方法会调用send_stop_order或send_limit_order
接实盘的时候交易所来行情更新,怎么把新更新的数据推送给策略,或者策略怎么知道数据更新了,怎么获取最新价格
交易所-Gateway-EventBus-CtaEngine-策略实例
1Gateway收到行情后生成TickData/BarData事件
2CtaEngine通过register_event捕获事件
3触发策略的on_tick()或on_bar()回调
4策略通过参数直接获取最新价格tick.last_price bar.close_price
ctatemplate 在接回测的时候,怎么通过历史数据回放,然后通过回放的数据计算盈亏
从数据库加载历史数据start和end时间过滤按时间顺序推送数据到策略,策略产生信号后生成虚拟订单
ctatemplate 底层具体接哪个数据库,由什么控制的
默认数据库SQLite,支持MongoDB MySQL/PostgreSQL
修改这个里面vt_setting.json
由这个控制
fromvnpy.trader.databaseimport database_manager
database_manager.init("mongodb://localhost:27017")
按这个存储
K线数据dbbardata
Tick数据表dbtickdata
通过Interval字段区分