增加持仓盈亏字段

This commit is contained in:
chenxy123 2017-03-08 22:34:17 +08:00
parent cbcf781d20
commit 21ce611ccd
3 changed files with 8 additions and 0 deletions

View File

@ -1422,6 +1422,8 @@ class PositionBuffer(object):
self.ydPosition = EMPTY_INT self.ydPosition = EMPTY_INT
self.todayPositionCost = EMPTY_FLOAT self.todayPositionCost = EMPTY_FLOAT
self.ydPositionCost = EMPTY_FLOAT self.ydPositionCost = EMPTY_FLOAT
self.todayProfit = EMPTY_INT
self.ydProfit = EMPTY_INT
# 通过提前创建持仓数据对象并重复使用的方式来降低开销 # 通过提前创建持仓数据对象并重复使用的方式来降低开销
pos = VtPositionData() pos = VtPositionData()
@ -1440,13 +1442,16 @@ class PositionBuffer(object):
if data['YdPosition']: if data['YdPosition']:
self.ydPosition = data['Position'] self.ydPosition = data['Position']
self.ydPositionCost = data['PositionCost'] self.ydPositionCost = data['PositionCost']
self.ydProfit = data['PositionProfit']
else: else:
self.todayPosition = data['Position'] self.todayPosition = data['Position']
self.todayPositionCost = data['PositionCost'] self.todayPositionCost = data['PositionCost']
self.todayProfit = data['PositionProfit']
# 持仓的昨仓和今仓相加后为总持仓 # 持仓的昨仓和今仓相加后为总持仓
self.pos.position = self.todayPosition + self.ydPosition self.pos.position = self.todayPosition + self.ydPosition
self.pos.ydPosition = self.ydPosition self.pos.ydPosition = self.ydPosition
self.pos.positionProfit = self.todayProfit + self.ydProfit
# 如果手头还有持仓,则通过加权平均方式计算持仓均价 # 如果手头还有持仓,则通过加权平均方式计算持仓均价
if self.todayPosition or self.ydPosition: if self.todayPosition or self.ydPosition:
@ -1464,6 +1469,7 @@ class PositionBuffer(object):
# 其他交易所并不区分今昨因此只关心总仓位昨仓设为0 # 其他交易所并不区分今昨因此只关心总仓位昨仓设为0
self.pos.position = data['Position'] self.pos.position = data['Position']
self.pos.ydPosition = 0 self.pos.ydPosition = 0
self.pos.positionProfit = data['PositionProfit']
if data['Position']: if data['Position']:
self.pos.price = data['PositionCost'] / (data['Position'] * size) self.pos.price = data['PositionCost'] / (data['Position'] * size)

View File

@ -587,6 +587,7 @@ class PositionMonitor(BasicMonitor):
d['ydPosition'] = {'chinese':u'昨持仓', 'cellType':BasicCell} d['ydPosition'] = {'chinese':u'昨持仓', 'cellType':BasicCell}
d['frozen'] = {'chinese':u'冻结量', 'cellType':BasicCell} d['frozen'] = {'chinese':u'冻结量', 'cellType':BasicCell}
d['price'] = {'chinese':u'价格', 'cellType':BasicCell} d['price'] = {'chinese':u'价格', 'cellType':BasicCell}
d['positionProfit'] = {'chinese':u'持仓盈亏', 'cellType':BasicCell}
d['gatewayName'] = {'chinese':u'接口', 'cellType':BasicCell} d['gatewayName'] = {'chinese':u'接口', 'cellType':BasicCell}
self.setHeaderDict(d) self.setHeaderDict(d)

View File

@ -292,6 +292,7 @@ class VtPositionData(VtBaseData):
self.price = EMPTY_FLOAT # 持仓均价 self.price = EMPTY_FLOAT # 持仓均价
self.vtPositionName = EMPTY_STRING # 持仓在vt系统中的唯一代码通常是vtSymbol.方向 self.vtPositionName = EMPTY_STRING # 持仓在vt系统中的唯一代码通常是vtSymbol.方向
self.ydPosition = EMPTY_INT # 昨持仓 self.ydPosition = EMPTY_INT # 昨持仓
self.positionProfit = EMPTY_FLOAT # 持仓盈亏
######################################################################## ########################################################################