trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java
@@ -195,6 +195,23 @@ kline.setHigh(kline.getHigh().add(currentValue)); kline.setAdjusted(true); Kline lastOne = null; List<Kline> lastList = this.find(symbol, line, 1); if (lastList.size() > 0) { lastOne = list.get(0); } if (lastOne != null) { BigDecimal diff = kline.getOpen().subtract(lastOne.getClose()); if (diff.compareTo(BigDecimal.ZERO) > 0) { //补差 kline.setOpen(kline.getOpen().subtract(diff)); kline.setLow(kline.getLow().subtract(diff)); } else if (diff.compareTo(BigDecimal.ZERO) < 0) { kline.setOpen(kline.getOpen().subtract(diff)); kline.setHigh(kline.getHigh().subtract(diff)); } } /*BigDecimal last = AdjustmentValueCache.getLastValue().get(symbol); if (last != null && last.compareTo(BigDecimal.ZERO) > 0) { BigDecimal adj = currentValue.subtract(last); trading-order-huobi/src/main/java/com.yami.trading.huobi/data/job/AbstractGetDataJob.java
@@ -203,14 +203,14 @@ // 更新当前值 if (currentValue == null) { AdjustmentValueCache.getCurrentValue().put(symbol, currentValue_frequency); AdjustmentValueCache.getCurrentValue().put(symbol, currentValue_frequency.setScale(decimal, RoundingMode.HALF_UP)); } else { AdjustmentValueCache.getCurrentValue().put(symbol, currentValue.add(currentValue_frequency)); currentValue.add(currentValue_frequency).setScale(decimal, RoundingMode.HALF_UP)); } // 更新延迟值 delayValue.setValue(delayValue.getValue().subtract(currentValue_frequency)); delayValue.setValue(delayValue.getValue().subtract(currentValue_frequency).setScale(decimal, RoundingMode.HALF_UP)); delayValue.setSecond(Arith.sub(delayValue.getSecond(), Arith.div(this.interval, 1000.0D))); AdjustmentValueCache.getDelayValue().put(symbol, delayValue);