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上减掉么?是我哪里搞错了?