vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 21
声望: 5
        holding = self.offset_converter.get_position_holding(vt_symbol)
        contract = self.main_engine.get_contract(vt_symbol)

        if direction == Direction.LONG:
            available = holding.short_pos - holding.short_pos_frozen

        else:
            available = holding.long_pos - holding.long_pos_frozen



        # If no position to close, just open new
        if not available:
            offset = Offset.OPEN
        # If enougth position to close, just close old
        elif volume < available:
            offset = Offset.CLOSE
        # Otherwise, just close existing position
        else:
            volume = available
            offset = Offset.CLOSE

这里为啥还要根据持仓重新计算offset? 传入的algo本身就有offset啊,
而且转换后,会出现algo里传入的是OPEN,转换后发出去的是CLOSE
结果两条腿就不匹配了

Administrator
avatar
加入于:
帖子: 4122
声望: 229

这是为了国内期货市场的平今、平昨区分需求设计的,其他市场用不着可以忽略,这块逻辑没影响

Member
avatar
加入于:
帖子: 21
声望: 5

用Python的交易员 wrote:

这是为了国内期货市场的平今、平昨区分需求设计的,其他市场用不着可以忽略,这块逻辑没影响

平今,平昨的转换不是在下面的 :self.offset_converter.convert_order_request()做的么?

Administrator
avatar
加入于:
帖子: 4122
声望: 229

哦哦,不好意思搞错了,这段逻辑是为了实现净持仓交易,也就是避免锁仓的情况

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