跳到主要内容

订阅持仓

API说明

此Websocket提供所有交易品种所有当前持仓(已成交订单)的实时信息。

注意:当前持仓数据可通过RESTful和Websocket接口获取。本页是Websocket接口的描述。如需了解RESTful接口,请参见 跳转

注意事项

  1. 此Websocket连接提供所有交易品种持仓实时更新。
  2. 用户必须首先建立连接。连接后,所有交易品种所有新开仓和平仓持仓将实时流式传输。

认证

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

Websocket URL

wss://ws.futurescw.com/perpum

频率限制

此订阅的频率限制为每IP每2秒10个请求。

订阅参数

参数必填类型描述
eventtrueString订阅或取消订阅。sub:订阅;unsub:取消订阅。注意:此参数区分大小写。
paramstrueJson包含以下字段的数据对象:
-typetrueString定义功能类型,例如"position"。
-biztrueString指定频道,例如"futures"。

响应参数

参数类型描述
bizString指定频道,例如"futures"。
typeString功能类型,例如"position"。
resultboolean表示订阅或取消订阅是否成功:true/false
channelString指定执行的操作:subscribe或unsubscribe。
pairCodeString交易品种基础货币,即BTC
dataJson包含以下字段的数据对象:
-baseSizeString合约中的手数
-closedPieceString已平仓合约数量
-closedQuantityString已平仓数量
-contractTypeString合约类型:1:永续合约
-createdDateLong创建时间戳
-currentPieceString当前合约数量
-directionString交易方向:做多(long)/做空(short)
-distIdString分销商ID
-feeString费用
-fundingSettleString资金费率结算金额
-hedgeIdString对冲订单ID
-idString持仓ID
-indexPriceString触发时的指数价格
-instrumentString交易品种的基础货币,例如BTC
-isProfessionInteger专业订单:0-否,1-是
-leaderIdString交易员ID
-leverageInteger持仓杠杆率
-marginString持仓保证金
-openPriceString开仓价格(订单成交时的价格)
-orderPriceString用户指定的订单价格
-originalTypeString订单的原始类型:例如,plan/planTrigger/execute
-parentIdString注册用户(被邀请者)ID:0:活跃注册用户,1:未注册用户
-partnerIdString合作伙伴ID
-posTypeString持仓类型,例如plan/planTrigger/execute
-positionMarginString持仓保证金
-positionModelInteger持仓持仓模式:0:逐仓,1:全仓
-processStatusInteger处理状态:0:正常状态,1:处理中
-quantityString基于quantityUnit 指定订单数量:
当 quantityUnit = 0 时,数量以计价货币计量(例如,BTC-USDT 中的 USDT);
当 quantityUnit = 1 时,数量以合约张数计量;
当 quantityUnit = 2 时,数量以基础货币计量(例如,BTC-USDT 中的 BTC)。
-quantityUnitInteger用于指定订单数量的计量单位:
0:以计价货币计价(例如,BTC-USDT 合约中的 USDT);
1:以合约张数计价;
2:以基础货币计价(例如,BTC-USDT 合约中的 BTC)。
-remainCurrentPieceString剩余合约数量
-salesIdString销售ID
-settlementIdString结算ID
-sourceString来源:api/web
-statusInteger状态:0:开仓,1:平仓,2:取消
-totalPieceString合约总数量
-updatedDateLong更新时间戳
-userIdString用户ID

订阅示例

以下Python代码展示了如何使用Websocket订阅当前持仓(已成交订单)信息。

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

url = "wss://ws.futurescw.com/perpum"
subscription_payload = {"event": "sub",
"params": {"biz": "futures",
"type": "position"}}
api_key= "your_api_key"
sec_key = "your_sec_key"

FuturesWebsocketPrivate(url, api_key, sec_key, subscription_payload) # function FuturesWebsocketPrivate() is defined in section (Introduction > Authentication & Code Snippet > Futures > Websocket Private Interface)

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

响应示例

Websocket将实时更新当前持仓数据。为简洁起见,以下仅显示上述Python订阅的一个持仓信息:

{'biz': 'futures',
'data': {'result': True},
'channel': 'subscribe',
'type': 'position'}
{'biz': 'futures',
'pairCode': 'BTC',
'data': [{'currentPiece': '1',
'isProfession': 0,
'leverage': '1',
'distId': '0',
'originalType': 'execute',
'processStatus': 0,
'contractType': 1,
'fee': '0.05328162',
'openPrice': '88802.7',
'instrument': 'BTC',
'quantityUnit': 0,
'source': 'api',
'updatedDate': 1740569719634,
'positionModel': 0,
'posType': 'execute',
'leaderId': '1162061',
'baseSize': '0.001',
'closedQuantity': '0',
'salesId': '0',
'totalPiece': '1',
'orderPrice': '0',
'id': '2435521222631981320',
'fundingSettle': '0',
'direction': 'short',
'margin': '88.8027',
'indexPrice': '88802.8',
'quantity': '88.8027',
'userId': '1162061',
'parentId': '0',
'closedPiece': '0',
'createdDate': 1740569719634,
'hedgeId': '20766171808644102',
'partnerId': '0',
'positionMargin': '88.8027',
'remainCurrentPiece': '1',
'status': 'open'}],
'type': 'position'},.......