From 976a10e1311226ea9d883e1f672b1d70bbeb1166 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 12 Dec 2025 12:01:41 +0800
Subject: [PATCH] fix(okxNewPrice): 优化账户亏损判断逻辑
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java | 23 ++++++++++++-----------
1 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java
index 74e44dc..5784024 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java
@@ -88,16 +88,18 @@
log.info("预期抗仓金额: {}", kangYaPercent);
BigDecimal kangYaAmount = cashBal.multiply(new BigDecimal(kangYaPercent));
- // 账户预期亏损金额比这个还小时,立即止损
- if (realKuiSunAmount.compareTo(zhiSunAmount) > 0){
- log.error("账户冷静止损......");
- WsMapBuild.saveStringToMap(InstrumentsWs.INSTRUMENTSWSMAP, CoinEnums.OUT.name(), OrderParamEnums.OUT_YES.getValue());
- return OrderParamEnums.OUT.getValue();
- }
- // 判断抗压
- if (realKuiSunAmount.compareTo(kangYaAmount) > 0 && realKuiSunAmount.compareTo(zhiSunAmount) <= 0){
- log.error("账户紧张扛仓......");
- return OrderParamEnums.HOLDING.getValue();
+ if (realKuiSunAmount.compareTo(BigDecimal.ZERO) > 0){
+ // 账户预期亏损金额比这个还小时,立即止损
+ if (realKuiSunAmount.compareTo(zhiSunAmount) > 0){
+ log.error("账户冷静止损......");
+ WsMapBuild.saveStringToMap(InstrumentsWs.INSTRUMENTSWSMAP, CoinEnums.OUT.name(), OrderParamEnums.OUT_YES.getValue());
+ return OrderParamEnums.OUT.getValue();
+ }
+ // 判断抗压
+ if (realKuiSunAmount.compareTo(kangYaAmount) > 0 && realKuiSunAmount.compareTo(zhiSunAmount) <= 0){
+ log.error("账户紧张扛仓......");
+ return OrderParamEnums.HOLDING.getValue();
+ }
}
BigDecimal ordFroz = WsMapBuild.parseBigDecimalSafe(AccountWs.ACCOUNTWSMAP.get("ordFroz"));
@@ -106,7 +108,6 @@
return OrderParamEnums.INIT.getValue();
}
// 判断是否保证金超标
-
BigDecimal totalOrderUsdt = WsMapBuild.parseBigDecimalSafe(CoinEnums.TOTAL_ORDER_USDT.name());
if (ordFroz.compareTo(totalOrderUsdt) >= 0){
log.error("已满仓......");
--
Gitblit v1.9.1