diff --git a/src/Managing.Domain/Strategies/Signals/MacdCrossIndicator.cs b/src/Managing.Domain/Strategies/Signals/MacdCrossIndicator.cs index abbe326..0c29667 100644 --- a/src/Managing.Domain/Strategies/Signals/MacdCrossIndicator.cs +++ b/src/Managing.Domain/Strategies/Signals/MacdCrossIndicator.cs @@ -38,20 +38,22 @@ public class MacdCrossIndicator : Indicator var previousCandle = macdCandle[0]; foreach (var currentCandle in macdCandle.Skip(1)) { - // Only trigger signals when Signal line is outside -100 to 100 range (extreme conditions) - if (currentCandle.Signal < -200 || currentCandle.Signal > 200) - { - // Check for MACD line crossing below Signal line (bearish cross) - if (previousCandle.Macd > previousCandle.Signal && currentCandle.Macd < currentCandle.Signal) - { - AddSignal(currentCandle, TradeDirection.Short, Confidence.Medium); - } + // // Only trigger signals when Signal line is outside -100 to 100 range (extreme conditions) + // if (currentCandle.Signal < -200 || currentCandle.Signal > 200) + // { + // + // } - // Check for MACD line crossing above Signal line (bullish cross) - if (previousCandle.Macd < previousCandle.Signal && currentCandle.Macd > currentCandle.Signal) - { - AddSignal(currentCandle, TradeDirection.Long, Confidence.Medium); - } + // Check for MACD line crossing below Signal line (bearish cross) + if (previousCandle.Macd > previousCandle.Signal && currentCandle.Macd < currentCandle.Signal) + { + AddSignal(currentCandle, TradeDirection.Short, Confidence.Medium); + } + + // Check for MACD line crossing above Signal line (bullish cross) + if (previousCandle.Macd < previousCandle.Signal && currentCandle.Macd > currentCandle.Signal) + { + AddSignal(currentCandle, TradeDirection.Long, Confidence.Medium); } previousCandle = currentCandle;