From 4c70b99382c01d707b41060c3c3b81d538f1c1db Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 26 Dec 2025 15:53:39 +0800
Subject: [PATCH] fix(indicator): 修复MACD指标计算和策略逻辑错误
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/macdAndMatrategy/MACDCalculator.java | 7 ++++---
1 files changed, 4 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..a82bf44 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));
@@ -103,3 +103,4 @@
return calculateMACD(closePrices, 12, 26, 9);
}
}
+
--
Gitblit v1.9.1