#property copyright "Limited Maintenance Trading" #property link "http://www.lmt-forex-forula.com" #property indicator_separate_window #property indicator_buffers 3 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_color3 Silver extern int FastEMA = 5; extern int SlowEMA = 13; extern int SignalSMA = 1; double gda_88[]; double g_ibuf_92[]; double g_ibuf_96[]; double g_ibuf_100[]; int init() { SetIndexStyle(0, DRAW_HISTOGRAM); SetIndexStyle(1, DRAW_HISTOGRAM); SetIndexStyle(2, DRAW_LINE); SetIndexDrawBegin(1, SignalSMA); IndicatorDigits(Point + 1.0); SetIndexBuffer(0, g_ibuf_92); SetIndexBuffer(1, g_ibuf_96); SetIndexBuffer(2, g_ibuf_100); IndicatorShortName("Trigger"); SetIndexLabel(0, "MACD UP"); SetIndexLabel(1, "MACD DN"); SetIndexLabel(2, "Signal"); return (0); } int start() { int li_4 = IndicatorCounted(); if (li_4 > 0) li_4--; int li_0 = Bars - li_4; int li_8 = li_0; if (li_8 < Bars - 5) li_8 += 5; ArrayResize(gda_88, li_8); ArraySetAsSeries(gda_88, TRUE); for (int li_12 = 0; li_12 < li_8; li_12++) gda_88[li_12] = (iMA(NULL, 0, FastEMA, 0, MODE_EMA, PRICE_CLOSE, li_12) - iMA(NULL, 0, SlowEMA, 0, MODE_EMA, PRICE_CLOSE, li_12)) / Point; for (li_12 = 0; li_12 < li_0; li_12++) { for (int li_16 = li_12 + 1; gda_88[li_12] == gda_88[li_16] && li_16 - li_12 <= 5; li_16++) { } if (gda_88[li_12] > gda_88[li_16]) { g_ibuf_92[li_12] = gda_88[li_12]; g_ibuf_96[li_12] = 0; } else { g_ibuf_96[li_12] = gda_88[li_12]; g_ibuf_92[li_12] = 0; } } for (li_12 = 0; li_12 < li_0; li_12++) g_ibuf_100[li_12] = iMAOnArray(gda_88, Bars, SignalSMA, 0, MODE_SMA, li_12); return (0); }