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-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java | 86 ++++++++++++++++++++++--------------------
1 files changed, 45 insertions(+), 41 deletions(-)
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
index 51cde5f..4282697 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
@@ -229,36 +229,38 @@
if ((depth == null || item.getAdjustmentValue() == null || item.getAdjustmentValue().intValue() == 0) && (item.getMultiple().intValue() == 0 || item.getMultiple().intValue() == 1)) {
return depth;
}
+ if(CollectionUtil.isNotEmpty(depth.getAsks()) ){
+ List<DepthEntry> asks = depth.getAsks();
+ for (int i = 0; i < asks.size(); i++) {
+ DepthEntry depthEntry = asks.get(i);
- List<DepthEntry> asks = depth.getAsks();
- for (int i = 0; i < asks.size(); i++) {
- DepthEntry depthEntry = asks.get(i);
-
- /**
- * 调整交易量倍数和 行情值
- */
- if (item.getMultiple().doubleValue() > 0) {
- depthEntry.setAmount(Arith.mul(depthEntry.getAmount(), item.getMultiple().doubleValue()));
- } else {
- depthEntry.setAmount(depthEntry.getAmount());
+ /**
+ * 调整交易量倍数和 行情值
+ */
+ if (item.getMultiple().doubleValue() > 0) {
+ depthEntry.setAmount(Arith.mul(depthEntry.getAmount(), item.getMultiple().doubleValue()));
+ } else {
+ depthEntry.setAmount(depthEntry.getAmount());
+ }
+ depthEntry.setPrice(Arith.add(depthEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
}
- depthEntry.setPrice(Arith.add(depthEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
}
- List<DepthEntry> bids = depth.getBids();
- for (int i = 0; i < bids.size(); i++) {
- DepthEntry depthEntry = bids.get(i);
- /**
- * 调整交易量倍数和 行情值
- */
- if (item.getMultiple().doubleValue() > 0) {
- depthEntry.setAmount(Arith.mul(depthEntry.getAmount(), item.getMultiple().doubleValue()));
- } else {
- depthEntry.setAmount(depthEntry.getAmount());
+ if(CollectionUtil.isNotEmpty(depth.getBids())){
+ List<DepthEntry> bids = depth.getBids();
+ for (int i = 0; i < bids.size(); i++) {
+ DepthEntry depthEntry = bids.get(i);
+ /**
+ * 调整交易量倍数和 行情值
+ */
+ if (item.getMultiple().doubleValue() > 0) {
+ depthEntry.setAmount(Arith.mul(depthEntry.getAmount(), item.getMultiple().doubleValue()));
+ } else {
+ depthEntry.setAmount(depthEntry.getAmount());
+ }
+ depthEntry.setPrice(Arith.add(depthEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
}
- depthEntry.setPrice(Arith.add(depthEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
}
-
return depth;
}
@@ -372,19 +374,21 @@
if ((trade == null || item.getAdjustmentValue() == null || item.getAdjustmentValue().doubleValue() == 0) && (item.getMultiple().doubleValue() == 0 || item.getMultiple().doubleValue() == 1)) {
return trade;
}
- List<TradeEntry> data = trade.getData();
- for (int i = 0; i < data.size(); i++) {
- TradeEntry tradeEntry = data.get(i);
+ if(CollectionUtil.isNotEmpty(trade.getData())){
+ List<TradeEntry> data = trade.getData();
+ for (int i = 0; i < data.size(); i++) {
+ TradeEntry tradeEntry = data.get(i);
- /**
- * 调整交易量倍数和 行情值
- */
- if (item.getMultiple().doubleValue() > 0) {
- tradeEntry.setAmount(Arith.mul(tradeEntry.getAmount(), item.getMultiple().doubleValue()));
- } else {
- tradeEntry.setAmount(tradeEntry.getAmount());
+ /**
+ * 调整交易量倍数和 行情值
+ */
+ if (item.getMultiple().doubleValue() > 0) {
+ tradeEntry.setAmount(Arith.mul(tradeEntry.getAmount(), item.getMultiple().doubleValue()));
+ } else {
+ tradeEntry.setAmount(tradeEntry.getAmount());
+ }
+ tradeEntry.setPrice(Arith.add(tradeEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
}
- tradeEntry.setPrice(Arith.add(tradeEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
}
return trade;
@@ -565,14 +569,14 @@
realtime.setSymbol(currency);
realtime.setName(currency);
realtime.setTs(realtimeJson.getLong("timestamp"));
- realtime.setOpen(realtimeJson.getBigDecimal("open").setScale(decimal, RoundingMode.HALF_UP));
- realtime.setClose(realtimeJson.getBigDecimal("mid").setScale(decimal, RoundingMode.HALF_UP));
- realtime.setHigh(realtimeJson.getBigDecimal("high").setScale(decimal, RoundingMode.HALF_UP));
- realtime.setLow(realtimeJson.getBigDecimal("low").setScale(decimal, RoundingMode.HALF_UP));
+ realtime.setOpen(realtimeJson.getBigDecimal("open").setScale(decimal, RoundingMode.DOWN));
+ realtime.setClose(realtimeJson.getBigDecimal("mid").setScale(decimal, RoundingMode.DOWN));
+ realtime.setHigh(realtimeJson.getBigDecimal("high").setScale(decimal, RoundingMode.DOWN));
+ realtime.setLow(realtimeJson.getBigDecimal("low").setScale(decimal, RoundingMode.DOWN));
realtime.setAmount(BigDecimal.ZERO);
realtime.setVolume(BigDecimal.ZERO);
- realtime.setAsk(realtimeJson.getBigDecimal("ask").setScale(decimal, RoundingMode.HALF_UP));
- realtime.setBid(realtimeJson.getBigDecimal("bid").setScale(decimal, RoundingMode.HALF_UP));
+ realtime.setAsk(realtimeJson.getBigDecimal("ask").setScale(decimal, RoundingMode.DOWN));
+ realtime.setBid(realtimeJson.getBigDecimal("bid").setScale(decimal, RoundingMode.DOWN));
list.add(realtime);
}
} else {
--
Gitblit v1.9.3