用Python的交易员 wrote:
JT20 wrote:
谢谢耐心指导。菜鸟问题多多,不好意思。
一个品种跑一个策略,这个前提,我能理解。1)“在process_position_event函数下给OffsetConverter这个类更新了仓位。”
这个process_position_event是怎样才会触发? 系统检查底层仓位有变化,就触发更新OffsetConverter?还是说要成交回报来触发(错过就不会触发)?
2)如果上边这点是底层仓位变化就触发,那么要获得仓位,只要在OffsetConverter获取get_position_holding就能获取?如果不是,你说的get_pos是指哪个?谢谢
- 底层接口推送持仓状态更新数据(CTP是6秒一次),放入到事件引擎中,事件引擎再转发给策略模块的process_position_event
- OffsetConverter中会基于持仓、成交、委托三条线的状态变化来更新数据,所以get_position_holding就能获取
position = self.cta_engine.offset_converter.get_position_holding(self.vt_symbol)
self.write_log("vt_symbol:" + str(self.vt_symbol))
self.write_log("position:" + str(position.long_pos) + "||" + str(position.short_pos) )
请问我在cta策略内用这个方法获取持仓打印出来都是0。 是使用错了么
rt,
不知道是否设计如此
其中k线是15分钟的, 数据库数据是对的
用Python的交易员 wrote:
可以,参考自带的MultiTimeframeStrategy策略代码即可
看到了,感谢
就是想在一个策略里面同时实现5分钟和4小时的k线回调
如图,麻烦帮忙看看。 开仓价和平仓价发送委托的时候是不一样的,成交后就一样了