问题1:
为什么在strategy与algo中都有send_order,二者在应用场景上有什么区别?
strategy.send_order在strategy.buy/sell处调用,而strategy.buy/sell则是完全没用被调用过。
问题2:
目前套利程序貌似还不能实现在多个spread里使用相同的vt_symbol做leg,或者与其他策略(如CTA)一起使用相同的vt_symbol,会把leg的order, trade, position混在一起处理(无论是update_order/trade/position还是初始化时)
建议做一下区分,以防止出现持仓混淆的情况:
1.在send_order时根据order_id映射到对应的strategy
2.在process_order/trade/position里按strategy保存到数据库,同时推送到对应的strategy/algo里
3.在初始化时读取对应strategy的order, trade, position