最近在用脚本模式写策略的时候遇到了一个问题,两个不同的策略做的品种如果有交集,那么通过get_positions()接口获得的是两个策略的总仓位,可能会出现互相干扰的情况。有一种办法是在本地维护一个文件来记录当前各个策略的仓位信息,但其中涉及到报单的成交与否等各种情况,感觉写起来会比较复杂。所以想问各位有没有更好的办法?或者是有没有方法获取持仓明细?
最近在用脚本模式写策略的时候遇到了一个问题,两个不同的策略做的品种如果有交集,那么通过get_positions()接口获得的是两个策略的总仓位,可能会出现互相干扰的情况。有一种办法是在本地维护一个文件来记录当前各个策略的仓位信息,但其中涉及到报单的成交与否等各种情况,感觉写起来会比较复杂。所以想问各位有没有更好的办法?或者是有没有方法获取持仓明细?
self.pos就是记录的策略持仓
scriptengine底层没有维护策略的数据,可以缓存下单后的vt_orderid, 循环使用get_trades去查询该笔订单的成交情况。但很麻烦,性能也不好,还是推荐使用cta模块来进行回测和实盘。