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