From 030e1d50c1f643137220f1ecf1d90ce39174204a Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Sat, 30 May 2026 01:58:54 +0800
Subject: [PATCH] 1
---
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineServiceImpl.java | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineServiceImpl.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineServiceImpl.java
index 52a25de..112215e 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineServiceImpl.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineServiceImpl.java
@@ -207,18 +207,23 @@
}
// 1分钟K线最新的5条数据,上个层级最近的几条数据
List<Kline> klineOneTop5 = new ArrayList<>(klineOne.subList(klineOne.size() - nums, klineOne.size()));
- Kline realtimeKline = klineOneTop5.get(nums - 1);
+ Kline realtimeKline = klineOneTop5.get(klineOneTop5.size() - 1);
if (realtimeKline == null) {
return null;
}
- if (latestSameLineKline != null && latestSameLineKline.getTs() >= realtimeKline.getTs()) {
+ long periodTs = klineOneTop5.get(0).getTs();
+ if (latestSameLineKline != null && latestSameLineKline.getTs() >= periodTs) {
return null;
}
if (latestSameLineKline != null) {
long latestSameLineKlineTs = latestSameLineKline.getTs();
klineOneTop5 = klineOneTop5.stream().filter(r -> r.getTs() > latestSameLineKlineTs).collect(Collectors.toList());
}
-
+ if (klineOneTop5.isEmpty()) {
+ return null;
+ }
+ periodTs = klineOneTop5.get(0).getTs();
+ realtimeKline = klineOneTop5.get(klineOneTop5.size() - 1);
Double high = null;
Double low = null;
@@ -233,7 +238,7 @@
Kline kline = new Kline();
kline.setSymbol(symbol);
- kline.setTs(realtimeKline.getTs());
+ kline.setTs(periodTs);
if (latestSameLineKline != null) {
kline.setOpen(latestSameLineKline.getClose());
} else {
--
Gitblit v1.9.3