VeighNa量化社区
你的开源社区量化交易平台
zsj888's Avatar
Member
离线
8 帖子
声望: 0

用Python的交易员 wrote:

JT20 wrote:

谢谢耐心指导。菜鸟问题多多,不好意思。
一个品种跑一个策略,这个前提,我能理解。

1)“在process_position_event函数下给OffsetConverter这个类更新了仓位。”
这个process_position_event是怎样才会触发? 系统检查底层仓位有变化,就触发更新OffsetConverter?还是说要成交回报来触发(错过就不会触发)?
2)如果上边这点是底层仓位变化就触发,那么要获得仓位,只要在OffsetConverter获取get_position_holding就能获取?如果不是,你说的get_pos是指哪个?

谢谢

  1. 底层接口推送持仓状态更新数据(CTP是6秒一次),放入到事件引擎中,事件引擎再转发给策略模块的process_position_event
  2. 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。 是使用错了么

description
其中k线是15分钟的, 数据库数据是对的

用Python的交易员 wrote:

可以,参考自带的MultiTimeframeStrategy策略代码即可
看到了,感谢

就是想在一个策略里面同时实现5分钟和4小时的k线回调

如图,麻烦帮忙看看。 开仓价和平仓价发送委托的时候是不一样的,成交后就一样了

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】