为提升交易体验,Gate 将于近期在现货推出全新深度频道 spot.obu ,优化推送逻辑并扩展深度档位。具体规则如下:
1.频道详情
- 名称:spot.obu
- 参数格式:ob.{symbol}.{level}
- 示例:
ob.BTC_USDT.400(400档)、ob.BTC_USDT.50(50档) -
档位与频率:
400档:每100ms更新
50档:每20ms更新2.订阅与推送规则
1.全量深度推送(full=true)
当频道推送的深度为全量深度时,需要将该深度数据完整替换本地深度,并将深度ID更新为消息中的字段 u 。服务端可能会重复推送全量深度。 - 订阅该频道时,首次推送为全量深度。
2.增量深度推送(full=false)
增量消息中不会显示 "full" 字段,此时消息包含字段 "U"(深度起始ID)和 "u"(深度结束ID)。
- 如果 U = 本地深度ID + 1,则表示深度连续更新:
- 将本地深度ID替换为消息中的 "u"。
- 若更新中的 "a" 和 "b" 不为空,分别按价格更新对应的买、卖深度数量(level[0] 为价格,level[1] 为数量)。当数量 level[1] = "0" 时,需移除对应档位。
- 若 U ≠ 本地深度ID + 1,则深度数据不连续,需要取消订阅该市场,并重新订阅以获取初始化深度。
3.订阅限制
针对同一币对的同一深度流,一个链接只允许订阅一次,重复订阅会返回错误。示例:
{ "error": { "code": 2, "message": "Alert sub ob.BTC_USDT.50" } }
3.操作与数据推送示例
1.订阅
1.1订阅请求示例
from websocket import create_connection
import json
ws = create_connection("wss://ws-testnet.gt-link.tech/v4/ws/spot")
subscribe_msg = {"time": 1748572393, "channel": "spot.obu", "event": "subscribe", "payload": ["ob.BTC_USDT.50"]}
ws.send(json.dumps(subscribe_msg))
print(ws.recv())
1.2 订阅成功响应示例
{"time":1748572394,"time_ms":1748572394271,"conn_id":"b61f70b2e6bcca91","trace_id":"d2e2d92c3a7eabc3d5be52514ef508d2","channel":"spot.obu","event":"subscribe","payload":["ob.BTC_USDT.50"],"result":{"status":"success"},"requestId":"d2e2d92c3a7eabc3d5be52514ef508d2"}
1.3 全量推送示例
{"channel":"spot.obu","result":{"t":1748572394325,"full":true,"s":"ob.BTC_USDT.50","u":28606981,"b":[["105958.9","0.00908"],["105953.2","0.02426"],["105942.6","0.02074"],["105937.7","0.0099"],["105932","0.01731"],["105927.1","0.01796"],["105921.4","0.02041"],["105893.2","0.01265"],["105872","0.01895"],["70000","0.00005"],["49000.1","0.0002"],["66","0.05"]],"a":[["106009.9","0.01555"],["106038.1","0.00648"],["106048.7","0.01751"],["106059.3","0.00198"],["106080.5","0.01861"],["106091.1","0.02018"],["106101.7","0.01548"],["106112.3","0.01776"],["106122.9","0.01546"],["106133.5","0.02117"]]},"time_ms":1748572394325,"event":"update"}
1.4 增量推送示例
{"channel":"spot.obu","result":{"t":1748572395237,"s":"ob.BTC_USDT.50","u":28606989,"U":28606988,"b":[["66","0"]],"a":[["106009.9","0"]]},"time_ms":1748572395237,"event":"update"}
2. 取消订阅
2.1 取消订阅请求示例
from websocket import create_connection
import json
ws = create_connection("wss://ws-testnet.gt-link.tech/v4/ws/spot")
unsubscribe_msg = {"time": 1747054611, "channel": "spot.obu", "event": "unsubscribe", "payload": ["ob.BTC_USDT.50"]}
ws.send(json.dumps(unsubscribe_msg))
print(ws.recv())
2.2 取消订阅响应示例
{"time": 1743673617,"time_ms": 1743673617242,"id": 1,"conn_id": "7b06ff199a98ab0e","trace_id": "8f86e4021a84440e502f73fde5b94918","channel": "spot.obu","event": "unsubscribe","payload": ["ob.BTC_USDT.50"],"result": {"status": "success"}}
4. 模拟盘测试通知
此功能已在现货模拟环境上线,请通过以下URL接入测试: WebSocket 现货模拟交易地址:
wss://ws-testnet.gt-link.tech/v4/ws/spot
请开发者根据新规则调整对接逻辑。如有疑问,请联系客户支持团队。
Gate团队
2025年5月30日
****
访问Gate官网
下载Gate App | 电脑端
Gate.io - 芝麻交易所,又称芝麻开门交易所,是原比特儿交易所国际版本,是全球第二大交易所 支持人民币OTC交易 让财富更自由一点
文章采集自互联网,本站不对其真实性负责,如需删除,请发送链接至oem1012@qq.com
发表评论
电子邮件地址不会被公开。 必填项已用*标注
文章评论已关闭!