From 5880c05eaaaf5350cd4a69afeaf197e4aea70156 Mon Sep 17 00:00:00 2001
From: zyy3 <zyy3@zy.com>
Date: Thu, 06 Nov 2025 23:58:52 +0800
Subject: [PATCH] 1
---
trading-order-huobi/src/main/java/com/yami/trading/huobi/data/internal/KlineServiceImpl.java | 37 ++++++++++++++++++++-----------------
1 files changed, 20 insertions(+), 17 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 7a8e13f..78189cd 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
@@ -979,25 +979,28 @@
Gson gson = new Gson();
List<kData> dataList = gson.fromJson(object.toString(), new TypeToken<List<kData>>(){}.getType());
logger.info("{}获取{}条K线" , item.getSymbol() ,dataList.size());
- Realtime realtime = DataCache.getRealtime(item.getSymbol());
- // 修改 List 中的最后一条数据
- kData lastData = dataList.get(dataList.size() - 1);
- lastData.setC(String.valueOf(realtime.getClose()));
- lastData.setO(String.valueOf(realtime.getOpen()));
- lastData.setH(String.valueOf(realtime.getHigh()));
- lastData.setL(String.valueOf(realtime.getLow()));
-
List<Kline> list = new ArrayList<>();
- for (int i = 0; i < dataList.size(); i++) {
- kData kData = dataList.get(i);
- Kline kline = new Kline();
- kline.setTs(Long.valueOf(kData.getT() + "000"));
- kline.setClose(Double.valueOf(kData.getC()));
- kline.setOpen(Double.valueOf(kData.getO()));
- kline.setHigh(Double.valueOf(kData.getH()));
- kline.setLow(Double.valueOf(kData.getL()));
- list.add(kline);
+ if (!dataList.isEmpty() && dataList.size() > 0) {
+ Realtime realtime = DataCache.getRealtime(item.getSymbol());
+ // 修改 List 中的最后一条数据
+ kData lastData = dataList.get(dataList.size() - 1);
+ lastData.setC(String.valueOf(realtime.getClose()));
+ lastData.setO(String.valueOf(realtime.getOpen()));
+ lastData.setH(String.valueOf(realtime.getHigh()));
+ lastData.setL(String.valueOf(realtime.getLow()));
+
+ for (int i = 0; i < dataList.size(); i++) {
+ kData kData = dataList.get(i);
+ Kline kline = new Kline();
+ kline.setTs(Long.valueOf(kData.getT() + "000"));
+ kline.setClose(Double.valueOf(kData.getC()));
+ kline.setOpen(Double.valueOf(kData.getO()));
+ kline.setHigh(Double.valueOf(kData.getH()));
+ kline.setLow(Double.valueOf(kData.getL()));
+ list.add(kline);
+ }
}
+
return list;
} catch (Exception e) {
logger.error("getKData error", e);
--
Gitblit v1.9.3