新版仿ok交易所-后端
1
dd
2026-05-30 030e1d50c1f643137220f1ecf1d90ce39174204a
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 {