mexc_spot_kline_v3.proto 1.6 KB

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