vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 2
声望: 0
def updateTrade(self, trade):
    """成交更新"""
    # 多头
    if trade.direction is DIRECTION_LONG:
        # 开仓
        if trade.offset is OFFSET_OPEN:
            self.longTd += trade.volume
        # 平今
        elif trade.offset is OFFSET_CLOSETODAY:
            self.shortTd -= trade.volume
        # 平昨
        elif trade.offset is OFFSET_CLOSEYESTERDAY:
            self.shortYd -= trade.volume
        # 平仓
        elif trade.offset is OFFSET_CLOSE:
            # 上期所等同于平昨
            if self.exchange is EXCHANGE_SHFE:
                self.shortYd -= trade.volume
            # 非上期所,优先平今
            else:
                self.shortTd -= trade.volume

                if self.shortTd < 0:
                    self.shortYd += self.shortTd
                    self.shortTd = 0    

以上是vtEngine.py中,PositionDetail类的一段代码,我想请问一下,DIRECTION_LONG的情况下,OFFSET_CLOSETODAY时,为什么是self.shortTd -= trade.volume,而不是self.longTd -= trade.volume。我理解的是,DIRECTION_LONG的情况下,开仓的话,就在self.longTd上加,平仓的话,不是在self.longTd上减掉么?是我哪里搞错了?

Administrator
avatar
加入于:
帖子: 1441
声望: 64

LONG指的是“多头方向的操作”(而不是“对多头仓位的操作”),LONG OPEN是买入开仓,LONG CLOSE是买入平仓

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

用Python的交易员 wrote:

LONG指的是“多头方向的操作”(而不是“对多头仓位的操作”),LONG OPEN是买入开仓,LONG CLOSE是买入平仓
哦哦,明白了,一下子没转过来,非常感谢!

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