跳到主要内容

获取当前持仓信息

API说明

此接口允许用户通过指定合约查询当前开仓持仓(已成交订单)的信息。用户还可以通过提供一个或多个持仓ID来检索特定持仓的详情。

注意:当前持仓信息数据只能通过 RESTful API 获取。

注意事项

  1. 此接口允许用户通过指定合约查询当前开仓持仓信息。如有需要,用户还可以通过提供一个或多个持仓ID来检索特定持仓的详情。
  2. 该接口与“市价平仓”接口在URL结构上较为相似,用户应仔细区分以确保采用正确的请求方法,避免因混淆导致非预期操作或数据异常。

认证

这是一个私有接口,需要认证。有关使用RESTful API的详细信息,请参考简介 > 认证和代码示例 > 合约 > RESTful私有接口。

请求方法

GET

接口地址

/v1/perpum/positions

频率限制

该接口的调用频率限制为:每个 IP 和用户 ID 每秒最多请求10次。
此外,该接口还受到全局频率限制的约束。
有关"全局速率限制"和"API限频策略"的详细信息,请参阅“频率限制”部分,跳转

请求参数

参数必填类型描述
instrumenttrueString交易品种的基础货币(例如,BTC或btc)。此参数不区分大小写。注意:对于以数字开头的交易品种(例如1000PEPE),大写和小写格式都有效。
openIdsfalseString一个或多个以逗号(,)分隔的持仓ID。例如:'positionId1,positionId2,positionId3'注意:持仓ID数量不能超过20个。

响应参数

参数类型描述
idLong持仓ID
baseString交易品种基础货币,例如btc
baseSizeBigDecimal合约面值
createdDateLong持仓创建时间戳
currentPieceBigDecimal当前持仓张数
directionString交易方向:做多(long)/做空(short)
feeBigDecimal资金费
fundingSettleBigDecimal已结算资金费
indexPriceBigDecimal触发时的指数价格
instrumentString交易品种的基础货币,例如BTC或ETH
leverageBigDecimal持仓杠杆率
marginBigDecimal持仓使用的保证金
orderPriceBigDecimal订单执行价格
openPriceBigDecimal持仓开仓价格
originalTypeString原始订单类型
posTypeString订单执行时的持仓类型:plan/planTrigger/execute
positionMarginBigDecimal持仓保证金
positionModelInteger仓位模式:0:逐仓,1:全仓
quantityString基于quantityUnit 指定订单数量:
当 quantityUnit = 0 时,数量以计价货币计量(例如,BTC-USDT 中的 USDT);
当 quantityUnit = 1 时,数量以合约张数计量;
当 quantityUnit = 2 时,数量以基础货币计量(例如,BTC-USDT 中的 BTC)。
quantityUnitBigDecimal用于指定订单数量的计量单位:
0:以计价货币计价(例如,BTC-USDT 合约中的 USDT);
1:以合约张数计价;
2:以基础货币计价(例如,BTC-USDT 合约中的 BTC)。
statusString状态:(open/close)
stopLossPriceString止损价格
stopLossRateString止损率
stopProfitPriceString止盈价格
stopProfitRateString止盈率
stopLossOrderPriceString止损限价
stopProfitOrderPriceString止盈限价
stopProfitTypeString触发后的永续合约计划订单类型:plan:限价单,execute:市价单
stopLossTypeString触发后的永续合约计划订单类型:plan:限价单,execute:市价单
totalPieceBigDecimal合约总张数
updatedDateString最后更新时间戳
userIdLong用户ID
autoDeleveragingScoreInteger(用户可忽略)
profitUnrealFloat当前持仓的未实现盈亏
liquidationPriceFloat强平价格
triggerTypeInteger指定"triggerPrice"满足时的订单类型:0:限价单,1:市价单
triggerPriceBigDecimal永续合约计划订单的触发价格

请求示例

以下Python代码展示了如何获取BTC的当前开仓持仓信息。

注意:完整代码示例请参考简介 > 认证和代码示例 > 合约 > RESTful私有接口。

params = {
"instrument": "BTC",
}

api_url = "/v1/perpum/positions"
method = "GET"
response_code, response_data = FuturesRestfulPrivate(params, api_url, method, sec_key, api_key) # function FuturesRestfulPrivate() is defined in section (Introduction > Authentication & Code Snippet > Futures > RESTful Private Interface)

注意:完整Java代码示例请参考简介 > 认证和代码示例 > 合约 > RESTful私有接口。

响应示例

以下是上述Python请求返回的示例响应:

{'code': 0,
'data': [{'autoDeleveragingScore': 1,
'base': 'btc',
'baseSize': 0.001,
'closedPiece': 0,
'createdDate': 1740572391000,
'currentPiece': 1,
'direction': 'short',
'fee': '0.0529',
'fundingFee': '0',
'fundingSettle': 0,
'id': 2435521222631982507,
'indexPrice': 88230.6,
'instrument': 'BTC',
'leverage': 1,
'margin': 88.2305,
'openPrice': 88230.5,
'orderPrice': 0,
'originalType': 'execute',
'posType': 'execute',
'positionMargin': 88.2305,
'positionModel': 0,
'profitReal': 0,
'profitUnreal': 0.0086,
'quantity': 88.2305,
'quantityUnit': 0,
'source': 'api',
'status': 'open',
'totalPiece': 1,
'updatedDate': 1740572391000,
'userId': 1162061}],
'msg': ''}