MACD ZeroLag free
This is my MACD Zero Lag with a much faster signal. This Indicator uses the Double EMA instead of a traditional EMA for the Signals.
You can take a look at the difference by comparing it with my other Classic MACD Multicolors. Example in the picture Bellow.
09/July/2022 The Indicator was updated, applying a correction on the histogram to prevent, to paint two different colors.
11/Jully/2022 Another little update was done to correct the output.
Grupo CTrader em Portugues -->> https://t.me/ComunidadeCtrader
Para los que quieran participar de un Grupo CTrader en Español poder compartir estrategias, indicadores e mucho más, aquí abajo les dejo el link.
Grupo CTrader en Español -->> https://t.me/ComunidadCtrader
using System; using cAlgo.API; using cAlgo.API.Indicators; namespace cAlgo.Indicators { [Cloud("MACD", "Signal", Opacity = 0.2, FirstColor = "FF7CFC00")] [Indicator(IsOverlay = false, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)] public class MACDZeroLag : Indicator { [Output("Up Bullish", PlotType = PlotType.Histogram, LineColor = "ForestGreen", Thickness = 4)] public IndicatorDataSeries StrongBullish { get; set; } [Output("Down Bullish", PlotType = PlotType.Histogram, LineColor = "LawnGreen", Thickness = 4)] public IndicatorDataSeries WeakBullish { get; set; } [Output("Down Bearish", PlotType = PlotType.Histogram, LineColor = "Red", Thickness = 4)] public IndicatorDataSeries StrongBearish { get; set; } [Output("Up Bearish", PlotType = PlotType.Histogram, LineColor = "DarkSalmon", Thickness = 4)] public IndicatorDataSeries WeakBearish { get; set; } [Output("MACD", LineColor = "DodgerBlue", LineStyle = LineStyle.Lines)] public IndicatorDataSeries MACD { get; set; } [Output("Signal", LineColor = "Red", LineStyle = LineStyle.Lines, Thickness = 1)] public IndicatorDataSeries Signal { get; set; } [Parameter(DefaultValue = 12)] public int periodFast { get; set; } [Parameter(DefaultValue = 26)] public int periodSlow { get; set; } [Parameter(DefaultValue = 9)] public int periodSignal { get; set; } private ExponentialMovingAverage emaSlow; private ExponentialMovingAverage emaSlow2; private ExponentialMovingAverage emaFast; private ExponentialMovingAverage emaFast2; private ExponentialMovingAverage emaSignal; private ExponentialMovingAverage emaSignal2; private IndicatorDataSeries closePrice; private IndicatorDataSeries macd; protected override void Initialize() { closePrice = CreateDataSeries(); macd = CreateDataSeries(); emaSlow = Indicators.ExponentialMovingAverage(closePrice, periodSlow); emaSlow2 = Indicators.ExponentialMovingAverage(emaSlow.Result, periodSlow); emaFast = Indicators.ExponentialMovingAverage(closePrice, periodFast); emaFast2 = Indicators.ExponentialMovingAverage(emaFast.Result, periodFast); emaSignal = Indicators.ExponentialMovingAverage(macd, periodSignal); emaSignal2 = Indicators.ExponentialMovingAverage(emaSignal.Result, periodSignal); } public override void Calculate(int index) { closePrice[index] = Bars.ClosePrices[index]; MACD[index] = (2 * emaFast.Result[index] - emaFast2.Result[index]) - (2 * emaSlow.Result[index] - emaSlow2.Result[index]); macd[index] = MACD[index]; Signal[index] = (2 * emaSignal.Result[index] - emaSignal2.Result[index]); double HistogramValue = MACD[index] - emaSignal.Result[index]; double prevHistogramValue = MACD[index - 1] - emaSignal.Result[index - 1]; if (HistogramValue > 0.0) { if (prevHistogramValue >= HistogramValue) { WeakBullish[index] = HistogramValue; StrongBullish[index] = 0; WeakBearish[index] = 0; StrongBearish[index] = 0; } else { StrongBullish[index] = HistogramValue; WeakBullish[index] = 0; WeakBearish[index] = 0; StrongBearish[index] = 0; } } else if (HistogramValue < 0.0) { if (HistogramValue <= prevHistogramValue) { StrongBearish[index] = HistogramValue; WeakBearish[index] = 0; StrongBullish[index] = 0; WeakBullish[index] = 0; } else { WeakBearish[index] = HistogramValue; StrongBearish[index] = 0; StrongBullish[index] = 0; WeakBullish[index] = 0; } } } } }

Hello,
can I get your email for Enquires about this Indicator please.
Thanks

Hello,
I'm trying to improve this great indicator you released on here. I keep running into a brick wall
My aim is to add this indicator (for a higher timeframe) onto the current chart (M5).
I want to use it as a Divergence indicator. I have seen the other two you uploaded and have altered those ones, but this seems more promising.
Please help.