From 14c1946eae86a86f8d1edee6cf3bdaf7572fc966 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 30 Oct 2025 19:44:38 +0800
Subject: [PATCH] 1
---
trading-order-service/src/main/java/com/yami/trading/service/etf/MarketService.java | 30 +++++++++++++++---------------
1 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/etf/MarketService.java b/trading-order-service/src/main/java/com/yami/trading/service/etf/MarketService.java
index 35db422..2c83986 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/etf/MarketService.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/etf/MarketService.java
@@ -90,10 +90,10 @@
realtime.setName(symbol);
realtime.setTs(kline.getTs() / 1000);
- realtime.setOpen(kline.getOpen().setScale(decimal, RoundingMode.HALF_UP));
- realtime.setClose(kline.getClose().setScale(decimal, RoundingMode.HALF_UP));
- realtime.setHigh(kline.getHigh().setScale(decimal, RoundingMode.HALF_UP));
- realtime.setLow(kline.getLow().setScale(decimal, RoundingMode.HALF_UP));
+ realtime.setOpen(kline.getOpen().setScale(decimal, RoundingMode.DOWN));
+ realtime.setClose(kline.getClose().setScale(decimal, RoundingMode.DOWN));
+ realtime.setHigh(kline.getHigh().setScale(decimal, RoundingMode.DOWN));
+ realtime.setLow(kline.getLow().setScale(decimal, RoundingMode.DOWN));
// realtime.setMarketCapital(realtimeJson.getLong("marketCapital"));
// realtime.setFloatMarketCapital(realtimeJson.getLong("floatMarketCapital"));
// realtime.setPeForecast(realtimeJson.getBigDecimal("peForecast"));
@@ -104,11 +104,11 @@
BigDecimal lastAmount = (BigDecimal) Optional.ofNullable(redisTemplate.opsForHash().get(RedisKeys.SYMBOL_AMOUNT_VOLUME + symbol, "amount")).orElse(BigDecimal.ZERO);
BigDecimal amount = Optional.of(kline.getAmount()).orElse(BigDecimal.ZERO);
- realtime.setAmount(lastAmount.add(amount).setScale(decimal, RoundingMode.HALF_UP));
+ realtime.setAmount(lastAmount.add(amount).setScale(decimal, RoundingMode.DOWN));
BigDecimal lastVolume = (BigDecimal) Optional.ofNullable(redisTemplate.opsForHash().get(RedisKeys.SYMBOL_AMOUNT_VOLUME + symbol, "volume")).orElse(BigDecimal.ZERO);
BigDecimal volume = Optional.of(kline.getVolume()).orElse(BigDecimal.ZERO);
- realtime.setVolume(lastVolume.add(volume).setScale(decimal, RoundingMode.HALF_UP));
+ realtime.setVolume(lastVolume.add(volume).setScale(decimal, RoundingMode.DOWN));
realtime.setAsk(BigDecimal.valueOf(KlineConfigService.randomBigDecimal(realtime.getLow(), realtime.getClose(), random)));
realtime.setBid(BigDecimal.valueOf(KlineConfigService.randomBigDecimal(realtime.getHigh(), realtime.getClose(), random)));
@@ -159,10 +159,10 @@
List<Realtime> realtimes = dataService.realtime(IXIC);
if (CollectionUtils.isNotEmpty(realtimes)) {
Realtime realtime = realtimes.get(0);
- BigDecimal ratio = realtime.getClose().divide(realtime.getOpen(), 10, RoundingMode.HALF_UP);
- BigDecimal close = ratio.multiply(kline.getClose()).setScale(2, RoundingMode.HALF_UP);
- BigDecimal low = ratio.multiply(kline.getLow()).setScale(2, RoundingMode.HALF_UP);
- BigDecimal high = ratio.multiply(kline.getHigh()).setScale(2, RoundingMode.HALF_UP);
+ BigDecimal ratio = realtime.getClose().divide(realtime.getOpen(), 10, RoundingMode.DOWN);
+ BigDecimal close = ratio.multiply(kline.getClose()).setScale(2, RoundingMode.DOWN);
+ BigDecimal low = ratio.multiply(kline.getLow()).setScale(2, RoundingMode.DOWN);
+ BigDecimal high = ratio.multiply(kline.getHigh()).setScale(2, RoundingMode.DOWN);
retKline.setClose(close);
retKline.setLow(low);
retKline.setHigh(high);
@@ -286,15 +286,15 @@
buy = new DepthEntry();
// 买
- BigDecimal.valueOf(KlineConfigService.randomBigDecimal(kline.getLow(), kline.getClose(), random)).setScale(item.getDecimals(), RoundingMode.HALF_UP).doubleValue();
- buy.setPrice(BigDecimal.valueOf(KlineConfigService.randomBigDecimal(kline.getLow(), kline.getClose(), random)).setScale(item.getDecimals(), RoundingMode.HALF_UP).doubleValue());
- buy.setAmount(enlarge * volumeSplit.get(i).setScale(item.getDecimals(), RoundingMode.HALF_UP).doubleValue());
+ BigDecimal.valueOf(KlineConfigService.randomBigDecimal(kline.getLow(), kline.getClose(), random)).setScale(item.getDecimals(), RoundingMode.DOWN).doubleValue();
+ buy.setPrice(BigDecimal.valueOf(KlineConfigService.randomBigDecimal(kline.getLow(), kline.getClose(), random)).setScale(item.getDecimals(), RoundingMode.DOWN).doubleValue());
+ buy.setAmount(enlarge * volumeSplit.get(i).setScale(item.getDecimals(), RoundingMode.DOWN).doubleValue());
// 卖
sell = new DepthEntry();
- sell.setPrice(BigDecimal.valueOf(KlineConfigService.randomBigDecimal(kline.getHigh(), kline.getClose(), random)).setScale(item.getDecimals(), RoundingMode.HALF_UP).doubleValue());
+ sell.setPrice(BigDecimal.valueOf(KlineConfigService.randomBigDecimal(kline.getHigh(), kline.getClose(), random)).setScale(item.getDecimals(), RoundingMode.DOWN).doubleValue());
- sell.setAmount(enlarge * volumeSplit.get(i + 5).setScale(item.getDecimals(), RoundingMode.HALF_UP).doubleValue());
+ sell.setAmount(enlarge * volumeSplit.get(i + 5).setScale(item.getDecimals(), RoundingMode.DOWN).doubleValue());
depth.getAsks().add(sell);
--
Gitblit v1.9.3