From 8aff7670afb62b3657d4515bc23e3583a477c62b Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 02 Dec 2020 15:42:10 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java | 28 +++++++++++++++++++++++-----
1 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java b/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java
index 872cae4..a4731cc 100644
--- a/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java
+++ b/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java
@@ -339,10 +339,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);
@@ -363,7 +377,11 @@
// 存储昨日K线
if("day".equals(rangeUnit)){
System.out.println("存储日K线");
- redisUtils.set("ROC/USDT",kLine);
+ kLine.setOpen(kLine.getClose());
+ kLine.setLow(kLine.getClose());
+ kLine.setHigh(kLine.getClose());
+ kLine.setVolume(BigDecimal.ZERO);
+ redisUtils.set("SER/USDT",kLine);
}
}
--
Gitblit v1.9.1