refactor(MacdEmaStrategy): 调整多头和空头开仓条件的逻辑顺序
- 修改多头开仓条件:将柱状线转强作为首要条件,金叉作为第二条件,趋势向上或底背离作为第三条件
- 修改空头开仓条件:将柱状线转弱作为首要条件,死叉作为第二条件,趋势向下或顶背离作为第三条件
- 调整后的条件更注重MACD柱状线的变化,优化交易信号的生成逻辑
| | |
| | | log.info("多头信号检查, 价格位于200日EMA上方: {}, 金叉: {}, MACD柱状线由负转正: {}, 底背离: {}", |
| | | isAboveTrend, isGoldenCross, isMacdHistTurningPositive, isBottomDivergence); |
| | | |
| | | // 多头开仓条件:趋势向上 + 金叉 + (柱状线转强或底背离) |
| | | return isAboveTrend && isGoldenCross && (isMacdHistTurningPositive || isBottomDivergence); |
| | | // 多头开仓条件:柱状线转强 + 金叉 + (趋势向上或底背离) |
| | | return isMacdHistTurningPositive && isGoldenCross && ( isAboveTrend|| isBottomDivergence); |
| | | } |
| | | |
| | | /** |
| | |
| | | log.info("空头信号检查, 价格位于200日EMA下方: {}, 死叉: {}, MACD柱状线由正转负: {}, 顶背离: {}", |
| | | isBelowTrend, isDeathCross, isMacdHistTurningNegative, isTopDivergence); |
| | | |
| | | // 空头开仓条件:趋势向下 + 死叉 + (柱状线转弱或顶背离) |
| | | return isBelowTrend && isDeathCross && (isMacdHistTurningNegative || isTopDivergence); |
| | | // 空头开仓条件:柱状线转弱 + 死叉 + (趋势向下或顶背离) |
| | | return isMacdHistTurningNegative && isDeathCross && ( isBelowTrend || isTopDivergence); |
| | | } |
| | | |
| | | // 平仓条件检查方法 |