Position

合约仓位信息的数据结构。

交易所接口返回的原始数据,回测模式下此属性不存在。 Info object Symbol字段为FMZ平台定义的交易品种代码,格式与{@struct/Ticker Ticker}结构的Symbol字段保持一致。

  • 对于现货交易所对象,Symbol字段值的格式(示例)为:BTC_USDT,表示BTC_USDT现货交易对。

  • 对于期货交易所对象,Symbol字段值的格式(示例)为:BTC_USDT.swap,表示BTC的USDT本位永续合约。 Symbol string 持仓杠杆倍数,如果交易所接口未提供该数据则通过计算填充,可能存在误差。 MarginLevel number 持仓数量,通常为正整数(合约张数)。注意各交易所的合约乘数、价值等合约规格可能存在差异。 Amount number 仓位冻结数量,平仓订单未成交时的临时冻结仓位数量。 FrozenAmount number 持仓均价,原则上该属性为仓位整体的平均价格(不参与结算),如果交易所接口未提供该数据则使用交易所接口现有的持仓均价填充(参与结算)。 Price number 持仓浮动盈亏,原则上为持仓的未实现盈亏,如果交易所接口未提供该数据则使用交易所接口其他盈亏数据填充,盈亏数值的单位与当前合约保证金的单位相同。 Profit number 仓位类型,参考{@var/POSITION_DIRECTION/PD_LONG PD_LONG}、{@var/POSITION_DIRECTION/PD_SHORT PD_SHORT}。 Type number 合约代码,具体内容请参考{@fun/Futures/exchange.SetContractType exchange.SetContractType}函数的描述。 ContractType string 仓位占用的保证金,如果交易所接口未提供该数据则使用0填充。 Margin number

exchange.GetPositions()函数返回一个Position数组或空数组。 对于加密货币期货需要注意,exchange.GetPositions()函数返回的Position结构数组中,持仓数据结构的FrozenAmount、Profit、Margin属性由于交易所提供的数据并不统一,不同交易所对象调用exchange.GetPositions()接口时返回数据的定义可能存在差异。

例如,某些交易所持仓数据中无仓位冻结数据,此时FrozenAmount为0。如需计算特定数据,可使用Info属性中的原始数据进行计算分析。

{@fun/Futures/exchange.GetPositions exchange.GetPositions}