# Kline JSON Protocol (Go <-> Python) 用于 Go 行情采集端与 Python 展示/回测端的数据交换。 ## 标准消息格式 ```json { "type": "kline", "source": "binance_ws", "symbol": "btcusdt", "interval": "1m", "event_time": 1711430400000, "open_time": 1711430400000, "close_time": 1711430459999, "open": "68000.00", "high": "68025.00", "low": "67990.00", "close": "68010.00", "volume": "12.40", "trade_num": 102, "final": true } ``` ## 字段说明 - `type`: 消息类型,固定 `kline` - `source`: 数据来源,默认 `binance_ws` - `symbol`: 交易对(小写,如 `btcusdt`) - `interval`: K 线周期(如 `1m`、`5m`、`1h`) - `event_time`: 事件时间(毫秒时间戳) - `open_time`: K 线起始时间(毫秒时间戳) - `close_time`: K 线结束时间(毫秒时间戳) - `open/high/low/close`: 价格字段,使用字符串保证精度 - `volume`: 成交量,字符串 - `trade_num`: 成交笔数,整数 - `final`: 是否为收盘完成 K 线(`true` 表示该根 K 线已闭合) ## 约束约定 - 时间戳统一为 UTC 毫秒 - 数值字段在传输层统一为字符串(trade_num 除外),消费端按需转换 - 数据可通过 Redis Pub/Sub、文件流(jsonl)或消息队列进行传输