From 3e09eb864f92c821b8d69c5110175d7c2382e4df Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Sun, 04 Jan 2026 14:26:10 +0800
Subject: [PATCH] refactor(okxNewPrice): 移除调试日志

---
 src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/TradingStrategy.java |   64 +++++++++++++++++++++-----------
 1 files changed, 42 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/TradingStrategy.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/TradingStrategy.java
index 9e6bd52..558ad79 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/TradingStrategy.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/TradingStrategy.java
@@ -412,35 +412,55 @@
      * @return 是否为震荡市场
      */
     private boolean isRangeMarket(List<BigDecimal> prices) {
-        // 强化的震荡市场判断条件
+        // 优化的震荡市场判断条件,放宽标准以减少RANGING信号频率
         
-        // 1. 高级MA三线收敛(小于2%)
-        boolean isMaConverged = advancedMA.calculatePercent().compareTo(new BigDecimal(2)) < 0;
+        // 1. 高级MA三线收敛(小于3%,放宽条件)
+        boolean isMaConverged = advancedMA.calculatePercent().compareTo(new BigDecimal(3)) < 0;
         
-        // 2. RSI中性区间(40-60)
-        boolean isRsiNeutral = rsi.getRsi().compareTo(new BigDecimal(40)) > 0 &&
-                              rsi.getRsi().compareTo(new BigDecimal(60)) < 0;
+        // 2. RSI中性区间(35-65,放宽条件)
+        boolean isRsiNeutral = rsi.getRsi().compareTo(new BigDecimal(35)) > 0 &&
+                              rsi.getRsi().compareTo(new BigDecimal(65)) < 0;
         
-        // 3. BOLL带宽收窄(小于0.05)
-        boolean isBollNarrow = boll.calculateBandWidth().compareTo(new BigDecimal(0.05)) < 0;
+        // 3. BOLL带宽收窄(小于0.06,放宽条件)
+        boolean isBollNarrow = boll.calculateBandWidth().compareTo(new BigDecimal(0.06)) < 0;
         
-        // 4. MACD柱状图趋近于0(多空力量平衡)
-        boolean isMacdBalanced = macd.getMacdBar().abs().compareTo(new BigDecimal(0.01)) < 0;
+        // 4. MACD柱状图趋近于0(多空力量平衡,放宽条件)
+        boolean isMacdBalanced = macd.getMacdBar().abs().compareTo(new BigDecimal(0.02)) < 0;
         
-        // 5. KDJ在中间区域波动(30-70)
-        boolean isKdjNeutral = kdj.getK().compareTo(new BigDecimal(30)) > 0 && 
-                             kdj.getK().compareTo(new BigDecimal(70)) < 0 &&
-                             kdj.getD().compareTo(new BigDecimal(30)) > 0 && 
-                             kdj.getD().compareTo(new BigDecimal(70)) < 0 &&
-                             kdj.getJ().compareTo(new BigDecimal(30)) > 0 && 
-                             kdj.getJ().compareTo(new BigDecimal(70)) < 0;
+        // 5. KDJ在中间区域波动(25-75,放宽条件)
+        boolean isKdjNeutral = kdj.getK().compareTo(new BigDecimal(25)) > 0 && 
+                             kdj.getK().compareTo(new BigDecimal(75)) < 0 &&
+                             kdj.getD().compareTo(new BigDecimal(25)) > 0 && 
+                             kdj.getD().compareTo(new BigDecimal(75)) < 0 &&
+                             kdj.getJ().compareTo(new BigDecimal(20)) > 0 && 
+                             kdj.getJ().compareTo(new BigDecimal(80)) < 0;
         
-        // 6. 价格波动范围较小(最近20根K线最高价与最低价的比值小于1.05)
-        boolean isPriceVolatilityLow = calculatePriceVolatility(prices).compareTo(new BigDecimal(1.05)) < 0;
+        // 6. 价格波动范围较小(最近20根K线最高价与最低价的比值小于1.06,放宽条件)
+        boolean isPriceVolatilityLow = calculatePriceVolatility(prices).compareTo(new BigDecimal(1.06)) < 0;
         
-        // 综合判断:需要满足大部分条件
-        return isMaConverged && isRsiNeutral && isBollNarrow && 
-               (isMacdBalanced || isKdjNeutral || isPriceVolatilityLow);
+        // 综合判断:只需要满足部分条件即可,增加趋势信号的机会
+        int rangeConditionsMet = 0;
+        if (isMaConverged) {
+            rangeConditionsMet++;
+        }
+        if (isRsiNeutral) {
+            rangeConditionsMet++;
+        }
+        if (isBollNarrow) {
+            rangeConditionsMet++;
+        }
+        if (isMacdBalanced) {
+            rangeConditionsMet++;
+        }
+        if (isKdjNeutral) {
+            rangeConditionsMet++;
+        }
+        if (isPriceVolatilityLow) {
+            rangeConditionsMet++;
+        }
+        
+        // 只有满足4个或以上条件才判定为震荡市场
+        return rangeConditionsMet >= 4;
     }
     
     /**

--
Gitblit v1.9.1