K 线与 Ticker 推送
状态:已实现。
两个流都在网关中由成交流聚合而成,并按每交易对每秒一帧节流。
K 线流
流:<symbol>@kline_1m · 更新速度:K 线未收盘时每 1 秒一次;收盘时立即推送
WebSocket 接口面上只有 1m 周期;其他周期由 GET /api/v3/klines 提供。
帧(值仅为示意)
{
"e": "kline",
"E": 1756600050000,
"s": "CBTC-USDCB",
"k": {
"t": 1756600020000,
"T": 1756600079999,
"s": "CBTC-USDCB",
"i": "1m",
"f": -1,
"L": -1,
"o": "59990.00",
"c": "60001.50",
"h": "60020.00",
"l": "59980.00",
"v": "1.2345",
"n": 17,
"x": false,
"q": "74061.123456",
"V": "0",
"Q": "0",
"B": "0"
}
}
| 字段 | 类型 | 说明 |
|---|---|---|
E | number | 事件时间,Unix 毫秒。 |
k.t、k.T | number | K 线开盘时间与收盘时间(t + 59999)。 |
k.i | string | 恒为 "1m"。 |
k.f、k.L | number | 恒为 -1(首笔/末笔成交 id;成交 id 为 UUID,不存在诚实的整数值)。 |
k.o、k.h、k.l、k.c、k.v、k.q | string | OHLC、基础资产成交量、计价资产成交量(18 位小数)。 |
k.n | number | 该 K 线内的成交笔数。 |
k.x | boolean | 该 K 线的最后一帧为 true。 |
k.V、k.Q、k.B | string | 恒为 "0"(不按 taker 方向拆分)。 |
语义
- K 线未收盘时,当前 K 线每秒重发一次,包括没有新成交的秒。
- 分钟翻转时,已收盘的 K 线以
x: true发送一次,立即发送(在下一笔成交或 1 秒时钟 tick 时,以先到者为准)。 - 空分钟不发帧。 若某分钟没有成交,则不会开启 K 线,也不会发送任何内容;Binance 会发送平坦 K 线。请预期缺口并自行沿用上一收盘价。
- 连接时你会收到进行中的 K 线(如有)。更早的 K 线不会重放;请从
GET /api/v3/klines?interval=1m获取。 - 在其所属分钟已收盘后才到达的成交会从 K 线聚合中丢弃,而不是重新打开已发布的 K 线(它仍会出现在
@trade流和 ticker 窗口中)。
24 小时 Ticker 流
流:<symbol>@ticker · 更新速度:1 秒
单个交易对的滚动 24 小时统计,窗口与 GET /api/v3/ticker/24hr 相同。窗口在网关启动时由最近 24 小时的成交预填充,因此新订阅者立即收到完整窗口的数值。
帧(值仅为示意)
{
"e": "24hrTicker",
"E": 1756600050000,
"s": "CBTC-USDCB",
"p": "150.50",
"P": "0.251",
"w": "59995.123456789012345678",
"x": "59850.00",
"c": "60000.50",
"Q": "0.0100",
"b": "0",
"B": "0",
"a": "0",
"A": "0",
"o": "59850.00",
"h": "60120.00",
"l": "59700.00",
"v": "12.3456",
"q": "740610.123456",
"O": 1756513600000,
"C": 1756599998000,
"F": 0,
"L": 0,
"n": 421
}
| 字段 | 类型 | 说明 |
|---|---|---|
p、P | string | 价格变动与百分比变动(3 位小数;开盘价为 0 时为 "0")。 |
w | string | 窗口内 VWAP(18 位小数;成交量为 0 时为 "0")。 |
x | string | 前收盘价——等于 o(窗口内第一笔成交)。 |
c、Q | string | 最新价与最新成交量。 |
b、B、a、A | string | 恒为 "0"——最优买卖价不属于本聚合;请使用 @depth5。 |
o、h、l、v、q | string | 开、高、低、基础资产成交量、计价资产成交量。 |
O、C | number | 窗口内首笔与末笔成交时间,Unix 毫秒。 |
F、L | number | 恒为 0(成交 id 为 UUID)。 |
n | number | 窗口内成交笔数。 |
语义
- 只要 24 小时窗口内至少有一笔成交,就每秒发送。最近 24 小时无成交的市场不发送任何内容(REST 端点则返回零统计对象)。
- 窗口逐笔滑动;当设定
h/l的那笔成交滑出窗口时,h/l会随之回落。 - 每个交易对的窗口最多保留 100 000 笔成交;超出时窗口截断为最近的 100 000 笔(窄于 24 小时,绝不更宽)。
与 Binance 的差异
- K 线:仅
1m;f/L为-1;空分钟不发平坦 K 线。 - Ticker:
b/B/a/A为"0";F/L为0;没有!ticker@arr全市场流,也没有@miniTicker。