94 views
0

请问一下,我铁矿石有有仓位。但为何get_position()得到的数据里面,没有下面三个字段呢?

propertypos_long
多头持仓手数

返回
int, ==0表示无多头持仓. >0表示多头持仓手数

propertypos_short
空头持仓手数

返回
int, ==0表示无空头持仓. >0表示空头持仓手数

propertyorders
与此持仓相关的开仓/平仓挂单

返回
dict, 其中每个元素的key为委托单ID, value为 <span class="pre">Order</span>

下面是我直接打印出position的内容
KeysView(<tqsdk.objs.Position object at 0x7f648a0f8160>, D({‘exchange_id’: ‘DCE’, ‘instrument_id’: ‘i2001’, ‘pos_long_his’: 0, ‘pos_long_today’: 1, ‘pos_short_his’: 0, ‘pos_short_today’: 0, ‘volume_long_today’: 1, ‘volume_long_his’: 0, ‘volume_long’: 1, ‘volume_long_frozen_today’: 0, ‘volume_long_frozen_his’: 0, ‘volume_long_frozen’: 0, ‘volume_short_today’: 0, ‘volume_short_his’: 0, ‘volume_short’: 0, ‘volume_short_frozen_today’: 0, ‘volume_short_frozen_his’: 0, ‘volume_short_frozen’: 0, ‘open_price_long’: 618.5, ‘open_price_short’: 0.0, ‘open_cost_long’: 61850.0, ‘open_cost_short’: 0.0, ‘position_price_long’: 618.5, ‘position_price_short’: 0.0, ‘position_cost_long’: 61850.0, ‘position_cost_short’: 0.0, ‘float_profit_long’: -150.0, ‘float_profit_short’: 0.0, ‘float_profit’: -150.0, ‘position_profit_long’: -150.0, ‘position_profit_short’: 0.0, ‘position_profit’: -150.0, ‘margin_long’: 3112.5, ‘margin_short’: 0.0, ‘margin’: 3112.5, ‘user_id’: ‘077664’, ‘volume_long_yd’: 1, ‘volume_short_yd’: 0, ‘last_price’: 617.0}))

Answered question
0

这几个数据字段是在取出的时候根据pos_long_his、pos_long_today 等值算出来的,不在position的初始化数据字段内(直接打出position不会显示它们几个字段),但不影响直接取值使用,并且使用方式也和其他的数据相同。

细节请见源码https://github.com/shinnytech/tqsdk-python/blob/master/tqsdk/objs.py#L288

Answered question