跳到主要内容

订单簿增量更新

WSProductionwss://ws.btse.com/ws/oss/spotTestnetwss://testws.btse.io/ws/oss/spot

通过 update 主题订阅订单簿增量更新。 主题格式: update:<symbol>_<grouping>(例如 update:BTC-USD_0

_grouping 后缀代表价格档位的聚合粒度。有效值为 08。 如果省略后缀(例如 update:BTC-USD),默认使用 _0。 不同的 grouping 值会产生独立的主题订阅和缓存。

首次收到的响应将是当前订单簿的快照(由 type 字段标识),最多包含 50 档。 后续数据包将以 delta 类型发送增量更新。

买单和卖单以 pricesize 元组发送。发送的 size 为该价位的最新数量。 如果发送的值为 "0",则应从本地订单簿副本中删除该价位。

为确保按序接收更新,seqNum 表示当前序列号,prevSeqNum 表示前一个数据包的序列号。 seqNum 始终比 prevSeqNum 大 1。如果序列号出现断档,请取消订阅并重新订阅。

此外,如果出现交叉订单簿 (最优买价高于或等于最优卖价),请取消订阅并重新订阅。

响应内容

名称类型是否必填描述
topicStringWebSocket 主题
dataObject数据对象

Data 对象:

名称类型是否必填描述
bidsString[][]买单报价
asksString[][]卖单报价
seqNumInteger当前序列号
prevSeqNumInteger上一个序列号
typeStringsnapshot — 订单簿快照,最多 50 档;delta — 订单簿增量更新
timestampLong订单簿时间戳
symbolString订单簿交易对
example

Request

{
"op": "subscribe",
"args": [
"update:BTC-USD_0"
]
}

Request

{
"op": "unsubscribe",
"args": [
"update:BTC-USD_0"
]
}

Response

{
"topic": "update:BTC-USD_0",
"data": {
"bids": [
[
"59252.5",
"0.06865"
],
[
"59249.0",
"0.24000"
],
[
"59235.5",
"0.16073"
],
[
"59235.0",
"0.26626"
],
[
"59233.0",
"0.50000"
]
],
"asks": [
[
"59292.0",
"0.50000"
],
[
"59285.5",
"0.24000"
],
[
"59285.0",
"0.15598"
],
[
"59282.5",
"0.06829"
],
[
"59278.5",
"0.01472"
]
],
"seqNum": 628282,
"prevSeqNum": 628281,
"type": "snapshot",
"timestamp": 1565135165600,
"symbol": "BTC-USD"
}
}

Response

{
"topic": "update:BTC-USD_0",
"data": {
"bids": [],
"asks": [
[
"59367.5",
"2.15622"
],
[
"59325.5",
"0"
]
],
"seqNum": 628283,
"prevSeqNum": 628282,
"type": "delta",
"timestamp": 1565135165600,
"symbol": "BTC-USD"
}
}