From 9ff43c07c9ce3fe76ba4a21e28885097b2b721e3 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 05 Jan 2026 14:08:47 +0800
Subject: [PATCH] feat(trading): 优化MACD策略算法适配欧意平台
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/utils/WsMapBuild.java | 26 +++++++++++++++++++++++---
1 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/utils/WsMapBuild.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/utils/WsMapBuild.java
index c17fce5..bb31a95 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/utils/WsMapBuild.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/utils/WsMapBuild.java
@@ -3,9 +3,11 @@
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.xcong.excoin.modules.okxNewPrice.okxWs.enums.CoinEnums;
import lombok.extern.slf4j.Slf4j;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.Map;
/**
@@ -14,21 +16,26 @@
@Slf4j
public class WsMapBuild {
- public static void saveBigDecimalToMap(Map<String,BigDecimal> accountMap, String key, BigDecimal value) {
+ public static boolean saveBigDecimalToMap(Map<String,BigDecimal> accountMap, String key, BigDecimal value) {
try {
accountMap.put(key, value);
+ return true;
} catch (Exception e) {
log.error("保存账户数据到MAP 失败", e);
+ return false;
}
}
- public static void saveStringToMap(Map<String,String> accountMap, String key, String value) {
+ public static boolean saveStringToMap(Map<String,String> accountMap, String key, String value) {
try {
accountMap.put(key, value);
+ return true;
} catch (Exception e) {
log.error("保存账户数据到MAP 失败", e);
+ return false;
}
}
+
/**
* 安全地将字符串解析为 BigDecimal 类型
@@ -40,6 +47,19 @@
if (value == null || value.isEmpty()) {
return new BigDecimal(0);
}
- return new BigDecimal(value);
+ return new BigDecimal(value).setScale(Integer.parseInt(CoinEnums.TICKSZ.getCode()), RoundingMode.DOWN);
+ }
+
+ /**
+ * 安全地将字符串解析为 BigDecimal 类型
+ *
+ * @param value 字符串数值
+ * @return 解析后的 BigDecimal 对象,若解析失败则返回 null
+ */
+ public static String parseStringSafe(String value) {
+ if (value == null || value.isEmpty()) {
+ return "0";
+ }
+ return value;
}
}
--
Gitblit v1.9.1