From a9402bbb84f6a521822fc8beb32056d0b2d4201f Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 26 Dec 2025 18:08:07 +0800
Subject: [PATCH] refactor(indicator): 重构MACD策略实现并优化交易逻辑

---
 src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/macdAndMatrategy/MACDCalculator.java |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/macdAndMatrategy/MACDCalculator.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/macdAndMatrategy/MACDCalculator.java
index 429cc6e..d68423e 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/macdAndMatrategy/MACDCalculator.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/macdAndMatrategy/MACDCalculator.java
@@ -75,9 +75,9 @@
             // 创建价格数据对象
             PriceData data = new PriceData(closePrices.get(closeIdx));
 
-            // 设置EMA(注意索引偏移计算)
-            data.setEmaShort(emaShort.get(i + shortPeriod - 1));
-            data.setEmaLong(emaLong.get(i + longPeriod - 1));
+            // 设置EMA(修复索引计算,使用正确的偏移位置)
+            data.setEmaShort(emaShort.get(closeIdx - shortPeriod + 1));
+            data.setEmaLong(emaLong.get(closeIdx - longPeriod + 1));
 
             // 设置DIF、DEA和MACD柱状图
             data.setDif(difValues.get(i));
@@ -86,6 +86,7 @@
 
             result.add(data);
         }
+        System.out.println(result.get(result.size() -1));
 
         return new MACDResult(result, startIdx);
     }
@@ -103,3 +104,4 @@
         return calculateMACD(closePrices, 12, 26, 9);
     }
 }
+

--
Gitblit v1.9.1