From 810dc28f9a4dda82370423fc019cc34f307cfc6d Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 26 Sep 2025 19:23:33 +0800
Subject: [PATCH] k线初始化
---
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java | 36 +++++++++++++++++++++++++++++++++---
1 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java
index 8a28e75..bf74cac 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java
@@ -38,6 +38,19 @@
private NamedParameterJdbcOperations namedParameterJdbcTemplate;
@Override
+ public void initBySql(String symbol) {
+ this.bulidBySql(symbol, Kline.PERIOD_1MIN);
+ this.bulidBySql(symbol, Kline.PERIOD_5MIN);
+ this.bulidBySql(symbol, Kline.PERIOD_15MIN);
+ this.bulidBySql(symbol, Kline.PERIOD_30MIN);
+ this.bulidBySql(symbol, Kline.PERIOD_60MIN);
+ this.bulidBySql(symbol, Kline.PERIOD_4HOUR);
+ this.bulidBySql(symbol, Kline.PERIOD_1DAY);
+ this.bulidBySql(symbol, Kline.PERIOD_1MON);
+ this.bulidBySql(symbol, Kline.PERIOD_1WEEK);
+ }
+
+ @Override
public void init(String symbol) {
this.bulid(symbol, Kline.PERIOD_1MIN);
this.bulid(symbol, Kline.PERIOD_5MIN);
@@ -67,6 +80,23 @@
this.bulidInit(symbol, Kline.PERIOD_1DAY);
this.bulidInit(symbol, Kline.PERIOD_1MON);
this.bulidInit(symbol, Kline.PERIOD_1WEEK);
+
+ }
+
+ public void bulidBySql(String symbol, String line) {
+ RequestDataHelper.set("symbol", symbol);
+ LambdaQueryWrapper<Kline> queryWrapper = new LambdaQueryWrapper<Kline>()
+ .eq(Kline::getSymbol, symbol)
+ .eq(Kline::getPeriod, line)
+ .orderByAsc(Kline::getTs);
+ List<Kline> list = klineDBService.list(queryWrapper);
+
+ KlineTimeObject model = new KlineTimeObject();
+ Collections.sort(list); // 按时间升序
+ model.setKline(list);
+ model.setLastTime(new Date());
+ DataCache.putKline(symbol, line, model);
+ RequestDataHelper.clear();
}
@@ -155,13 +185,13 @@
if (lastOne != null) {
kline.setOpen(lastOne.getClose());
- kline.setHigh(lastOne.getHigh());
- kline.setLow(lastOne.getLow());
+ kline.setHigh(lastOne.getClose());
+ kline.setLow(lastOne.getClose());
if (realtime.getClose().compareTo(kline.getHigh()) > 0) {
kline.setHigh(realtime.getClose());
}
- if (realtime.getClose().compareTo(kline.getOpen()) < 0) {
+ if (realtime.getClose().compareTo(kline.getLow()) < 0) {
kline.setLow(realtime.getClose());
}
}
--
Gitblit v1.9.3