订单簿管理
订单簿管理 ✅
如何正确管理本地订单簿
- 建立连接:
wss://fstream.xt.com/ws/market,订阅depth_update@btc_usdt。 - 缓存从数据流接收到的事件。
- 获取深度快照:
https://fapi.xt.com/future/market/v1/public/depth?symbol=btc_usdt&level=500。 - 丢弃快照中
u <= lastUpdateId的任何事件。 - 第一个处理的事件应满足
fu <= lastUpdateId + 1且u >= lastUpdateId + 1。 - 在监听数据流时,每个新事件 的
fu应等于前一个事件的u + 1。 - 每个事件中的数据是价格档位的绝对数量。
- 如果数量为
0,删除该价格档位。 - 接收到删除本地订单簿中不存在的价格档位的事件可能发生且是正常的。
注意事项
由于深度快照对价格档位数量有限制,初始快照之外且没有数量变化的价格档位不会在增量深度流中更新。因此,即使正确应用增量深度流的所有更新,这些价格档位也不会在本地订单簿中显示,可能导致与实际订单簿存在细微差异。不过,对于大多数使用场景,500 档深度限制足以理解市场并有效交易。