From 6e09aa2c20ff596c2dfae165d94a9af8ce281030 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 05 Jun 2026 10:12:12 +0800
Subject: [PATCH] 1
---
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineServiceImpl.java | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 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 112215e..2f7a1e8 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,12 +207,11 @@
}
// 1分钟K线最新的5条数据,上个层级最近的几条数据
List<Kline> klineOneTop5 = new ArrayList<>(klineOne.subList(klineOne.size() - nums, klineOne.size()));
- Kline realtimeKline = klineOneTop5.get(klineOneTop5.size() - 1);
+ Kline realtimeKline = klineOneTop5.get(nums - 1);
if (realtimeKline == null) {
return null;
}
- long periodTs = klineOneTop5.get(0).getTs();
- if (latestSameLineKline != null && latestSameLineKline.getTs() >= periodTs) {
+ if (latestSameLineKline != null && latestSameLineKline.getTs() >= realtimeKline.getTs()) {
return null;
}
if (latestSameLineKline != null) {
@@ -222,8 +221,6 @@
if (klineOneTop5.isEmpty()) {
return null;
}
- periodTs = klineOneTop5.get(0).getTs();
- realtimeKline = klineOneTop5.get(klineOneTop5.size() - 1);
Double high = null;
Double low = null;
@@ -238,7 +235,7 @@
Kline kline = new Kline();
kline.setSymbol(symbol);
- kline.setTs(periodTs);
+ kline.setTs(realtimeKline.getTs());
if (latestSameLineKline != null) {
kline.setOpen(latestSameLineKline.getClose());
} else {
@@ -681,8 +678,13 @@
if (latestKilne != null && latestKilne.getTs() >= realtime.getTs()) {
return null;
}
- long lastKlineTs = latestKilne.getTs();
- realTimeList = realTimeList.stream().filter(r -> r.getTs() > lastKlineTs).collect(Collectors.toList());
+ if (latestKilne != null) {
+ long lastKlineTs = latestKilne.getTs();
+ realTimeList = realTimeList.stream().filter(r -> r.getTs() > lastKlineTs).collect(Collectors.toList());
+ }
+ if (realTimeList.isEmpty()) {
+ return null;
+ }
Double high = null;
Double low = null;
for (Realtime realTime : realTimeList) {
--
Gitblit v1.9.3