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

下面代码是vnpy自带的肯特纳通道突破的代码,请问下,这是在突破开仓的那一瞬间就挂上止损单? 还是要等走完开仓时的那根k线后才设止损单?
self.kk_up, self.kk_down = am.keltner(self.kk_length, self.kk_dev)

    if self.pos == 0:
        self.intra_trade_high = bar.high_price
        self.intra_trade_low = bar.low_price
        self.send_oco_order(self.kk_up, self.kk_down, self.fixed_size)

    elif self.pos > 0:
        self.intra_trade_high = max(self.intra_trade_high, bar.high_price)
        self.intra_trade_low = bar.low_price

        vt_orderids = self.sell(self.intra_trade_high * (1 - self.trailing_percent / 100),
                                abs(self.pos), True)
        self.vt_orderids.extend(vt_orderids)

    elif self.pos < 0:
        self.intra_trade_high = bar.high_price
        self.intra_trade_low = min(self.intra_trade_low, bar.low_price)

        vt_orderids = self.cover(self.intra_trade_low * (1 + self.trailing_percent / 100),
                                 abs(self.pos), True)
        self.vt_orderids.extend(vt_orderids)
Administrator
avatar
加入于:
帖子: 5100
声望: 295

后者,想立即挂可以把逻辑写到on_trade回调函数里

Member
avatar
加入于:
帖子: 4
声望: 0

用Python的交易员 wrote:

后者,想立即挂可以把逻辑写到on_trade回调函数里
请问下系统里哪个范例策略代码有这个逻辑呢?新人想学一下怎么写这样的逻辑,看陈大的全实战进阶课程里好像没提到这一块

如果把代码改成这样是否可以实现开仓后立即挂止损? 谢谢
description

Administrator
avatar
加入于:
帖子: 5100
声望: 295

这个写法是在下一根K线检查的时候挂,实践里其实效果差不多了

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

沪公网安备 31011502017034号