Administrator
6 days ago 36c1ee6acf1e2185924ca3fc817c8641d44c4d39
src/main/java/com/xcong/excoin/modules/okxNewPrice/indicator/macdAndMatrategy/MacdMaStrategy.java
@@ -11,6 +11,8 @@
import lombok.extern.slf4j.Slf4j;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
@@ -264,7 +266,10 @@
     */
    private boolean isLongEntryCondition(MACDResult macdResult, List<BigDecimal> closePrices, List<BigDecimal> close1DPrices) {
        // 1. 计算200日EMA(趋势过滤)
        List<BigDecimal> trendEma = EMACalculator.calculateEMA(close1DPrices, trendPeriod, true);
        // 复制并反转日线数据,确保从旧到新计算EMA
        List<BigDecimal> reversed1DPrices = new ArrayList<>(close1DPrices);
        Collections.reverse(reversed1DPrices);
        List<BigDecimal> trendEma = EMACalculator.calculateEMA(reversed1DPrices, trendPeriod, true);
        BigDecimal latestTrendEma = trendEma.get(trendEma.size() - 1);
        BigDecimal latestPrice = closePrices.get(0);
        log.info( "200日EMA:{}, 最新价格:{}", latestTrendEma,  latestPrice);
@@ -298,7 +303,10 @@
     */
    private boolean isShortEntryCondition(MACDResult macdResult, List<BigDecimal> closePrices, List<BigDecimal> close1DPrices) {
        // 1. 计算200日EMA(趋势过滤)
        List<BigDecimal> trendEma = EMACalculator.calculateEMA(close1DPrices, trendPeriod, true);
        // 复制并反转日线数据,确保从旧到新计算EMA
        List<BigDecimal> reversed1DPrices = new ArrayList<>(close1DPrices);
        Collections.reverse(reversed1DPrices);
        List<BigDecimal> trendEma = EMACalculator.calculateEMA(reversed1DPrices, trendPeriod, true);
        BigDecimal latestTrendEma = trendEma.get(trendEma.size() - 1);
        BigDecimal latestPrice = closePrices.get(0);