From 28eb26d68f7a2a4e6b316c3ea9f511aa143db66e Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 30 Sep 2024 16:57:18 +0800
Subject: [PATCH] 55测试环境
---
src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java | 38 +++++++++++++++++++++++++++++---------
1 files changed, 29 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java b/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java
index 3953174..e4a08b8 100644
--- a/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java
+++ b/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.huobi.client.model.Candlestick;
+import com.xcong.excoin.common.contants.AppContants;
import com.xcong.excoin.trade.ExchangeTrade;
import com.xcong.excoin.utils.RedisUtils;
import lombok.ToString;
@@ -314,11 +315,11 @@
Candlestick kLine = new Candlestick();
kLine.setTimestamp(endTick);
kLine.setAmount(BigDecimal.ZERO);
- kLine.setClose(BigDecimal.ZERO);
- kLine.setLow(BigDecimal.ZERO);
- kLine.setOpen(BigDecimal.ZERO);
+ kLine.setClose(AppContants.DEFAULT_PRICE);
+ kLine.setLow(AppContants.DEFAULT_PRICE);
+ kLine.setOpen(AppContants.DEFAULT_PRICE);
kLine.setVolume(BigDecimal.ZERO);
- kLine.setHigh(BigDecimal.ZERO);
+ kLine.setHigh(AppContants.DEFAULT_PRICE);
String rangeUnit = "";
if (field == Calendar.MINUTE) {
rangeUnit = "min";
@@ -339,10 +340,24 @@
}
// 如果开盘价为0,则设置为前一个价格
if(kLine.getOpen().compareTo(BigDecimal.ZERO) == 0) {
- kLine.setOpen(coinThumb.getClose());
- kLine.setClose(coinThumb.getClose());
- kLine.setLow(coinThumb.getClose());
- kLine.setHigh(coinThumb.getClose());
+ // 查询前一根K线 TODO
+ String key = "KINE_" + symbol + "/USDT_" + period;
+ Object data = redisUtils.get(key);
+ List list = new ArrayList();
+ if (data != null) {
+ list = (List) data;
+ Candlestick o = (Candlestick)list.get(list.size() - 1);
+ kLine.setOpen(o.getClose());
+ kLine.setClose(o.getClose());
+ kLine.setLow(o.getClose());
+ kLine.setHigh(o.getClose());
+ }else{
+ kLine.setOpen(coinThumb.getClose());
+ kLine.setClose(coinThumb.getClose());
+ kLine.setLow(coinThumb.getClose());
+ kLine.setHigh(coinThumb.getClose());
+ }
+
}
//logger.info("generate " + range + rangeUnit + " kline in {},data={}", df.format(new Date(kLine.getTimestamp())), JSON.toJSONString(kLine));
service.saveKLine(symbol,period, kLine);
@@ -362,7 +377,12 @@
// 存储昨日K线
if("day".equals(rangeUnit)){
- redisUtils.set("ROC/USDT",kLine);
+ System.out.println("存储日K线");
+ kLine.setOpen(kLine.getClose());
+ kLine.setLow(kLine.getClose());
+ kLine.setHigh(kLine.getClose());
+ kLine.setVolume(BigDecimal.ZERO);
+ redisUtils.set("GRICE/USDT",kLine);
}
}
--
Gitblit v1.9.1