vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 25
声望: 0

(1). 如果是一个小周期上开仓,一个大周期上平仓,使用multi_timeframe_strategy.py的模版,on_15min_bar里的cancel_all是否使用,如果使用,有可能会把前面的开仓单删除,如果不使用,会不会出现问题

def on_5min_bar(self, bar: BarData):
    """"""
    self.cancel_all()

    self.am5.update_bar(bar)
    if not self.am5.inited:
        return
    if self.pos == 0:
        条件判断是否开仓

    self.put_event()

def on_15min_bar(self, bar: BarData):
    """"""
    self.cancel_all()  #(这里是否需要cancel_all,如果使用,有可能会把前面的开仓单删除,如果不使用,会不会出现问题)
    self.am15.update_bar(bar)
    条件判断是否平仓


(2). 在原来的multi_timeframe_strategy.py里,buy,sell,short,cover语句后面加入print(f'{bar.datetime} buy: self.pos: {self.pos}')等语句,判断执行后pos的值,结果发现有时候会有直接有变化,有时候又不会很快变化,要等一个bar之后才会改变,不知道这是怎么回事?buy,sell,short,cover具体执行流程是怎样的,怎么判断是否order已经执行完毕?
2018-06-07 09:00:00+08:06 buy: self.pos: 0
2018-06-07 09:00:00+08:06 on_15_minbar: self.pos: 1
2018-06-07 09:15:00+08:06 on_15_minbar: self.pos: 1
2018-06-07 09:30:00+08:06 on_15_minbar: self.pos: 1
2018-06-07 09:45:00+08:06 on_15_minbar: self.pos: 1
2018-06-07 10:00:00+08:06 on_15_minbar: self.pos: 1
2018-06-07 10:30:00+08:06 on_15_minbar: self.pos: 1
2018-06-07 10:45:00+08:06 on_15_minbar: self.pos: 1
2018-06-07 11:00:00+08:06 on_15_minbar: self.pos: 1
2018-06-07 11:15:00+08:06 on_15_minbar: self.pos: 1
2018-06-07 13:30:00+08:06 sell: self.pos: 1
2018-06-07 13:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 13:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 14:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 14:15:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 14:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 14:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 21:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 21:15:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 21:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 21:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 22:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 22:15:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 22:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-07 22:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 09:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 09:15:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 09:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 09:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 10:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 10:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 10:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 11:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 11:15:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 13:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 13:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 14:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 14:15:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 14:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 14:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 21:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 21:15:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 21:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 21:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 22:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 22:15:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 22:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-08 22:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 09:10:00+08:06 short: self.pos: 0
2018-06-11 09:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 09:15:00+08:06 on_15_minbar: self.pos: -1
2018-06-11 09:30:00+08:06 on_15_minbar: self.pos: -1
2018-06-11 09:45:00+08:06 on_15_minbar: self.pos: -1
2018-06-11 10:05:00+08:06 cover: self.pos:-1
2018-06-11 10:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 10:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 10:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 11:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 11:15:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 13:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 13:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 14:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 14:15:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 14:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 14:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 21:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 21:15:00+08:06 buy: self.pos: 0
2018-06-11 21:15:00+08:06 on_15_minbar: self.pos: 1
2018-06-11 21:30:00+08:06 on_15_minbar: self.pos: 1
2018-06-11 21:45:00+08:06 on_15_minbar: self.pos: 1
2018-06-11 22:00:00+08:06 on_15_minbar: self.pos: 1
2018-06-11 22:15:00+08:06 on_15_minbar: self.pos: 1
2018-06-11 22:30:00+08:06 sell: self.pos: 1
2018-06-11 22:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-11 22:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-12 09:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-12 09:15:00+08:06 on_15_minbar: self.pos: 0
2018-06-12 09:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-12 09:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-12 10:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-12 10:30:00+08:06 on_15_minbar: self.pos: 0
2018-06-12 10:45:00+08:06 on_15_minbar: self.pos: 0
2018-06-12 11:00:00+08:06 on_15_minbar: self.pos: 0
2018-06-12 11:15:00+08:06 on_15_minbar: self.pos: 0

Member
avatar
加入于:
帖子: 2643
声望: 157

那建议参考微信公众号vnpy_community里的vn.py全实战进阶-CTA策略的第29课-委托控制里的细粒度撤单的内容了

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号