vnpy学习日志ctatemplate

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字段区分

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容