| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- // spot@public.kline.v3.api.pb@<symbol>@<interval>
- syntax = "proto3";
- option java_package = "com.mxc.push.common.protobuf";
- option optimize_for = SPEED;
- option java_multiple_files = true;
- option java_outer_classname = "PublicSpotKlineV3ApiProto";
- // 这是实际的 K 线数据结构,它现在变成了一个内部的消息
- message KlineDataV3 {
- //K线周期(Min1,Min5,Min15,Min30,Min60,Hour4,Hour8,Day1,Week1,Month1)
- string interval = 1;
- // 窗口开始时间戳(秒时间戳)
- int64 windowStart = 2;
- // 开盘价
- string openingPrice = 3;
- // 收盘价
- string closingPrice = 4;
- // 最高价
- string highestPrice = 5;
- // 最低价
- string lowestPrice = 6;
- // 成交量
- string volume = 7;
- // 成交额
- string amount = 8;
- // 窗口结束时间戳(秒时间戳)
- int64 windowEnd = 9;
- // 注意:如果根据 decode_raw 输出,还有其他内部字段,也在这里添加
- }
- // 这是顶层接收到的消息结构
- message PublicSpotKlineV3ApiMessage {
- // Tag 1 可能包含 Topic 信息
- string topic_info = 1;
- // Tag 3 可能包含 Symbol
- string symbol = 3;
- // Tag 4 可能包含某种 ID 或标识符
- string id_info = 4;
- // Tag 5 可能是一个时间戳或版本号,根据值大小和你的需要定义类型
- // 1745894084490 看起来像毫秒时间戳 (或者其他什么)
- // 如果需要解析为数字,改为 sint64 或 int64。如果不需要深入解析,可以仍然定义为 bytes 或 string
- sint64 timestamp_or_version = 5; // 假设它是一个 sint64
- // Tag 308 是包含实际 K 线数据的嵌套消息
- KlineDataV3 kline_data = 308; // <-- 这里的 Tag 编号是 308,类型是我们上面定义的 KlineDataV3 消息
- }
|