/*
   Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
   Website: http://purebeam.biz
   E-mail : purebeam@gmail.com
*/
#property copyright "Copyright © 2006, Michael Bumpas"
#property link      ""

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red

double g_ibuf_76[];
double g_ibuf_80[];
extern int fast_ema_signal = 8;
extern int slow_ema_signal = 17;
extern int signal_period = 9;
int g_datetime_96 = 0;
int gi_unused_100 = 0;

int init() {
   SetIndexStyle(0, DRAW_ARROW, EMPTY);
   SetIndexArrow(0, 233);
   SetIndexBuffer(0, g_ibuf_76);
   SetIndexStyle(1, DRAW_ARROW, EMPTY);
   SetIndexArrow(1, 234);
   SetIndexBuffer(1, g_ibuf_80);
   return (0);
}

int deinit() {
   return (0);
}

int start() {
   int li_8;
   double l_imacd_12;
   double l_imacd_20;
   double l_imacd_28;
   double l_imacd_36;
   double l_imacd_44;
   double l_imacd_52;
   double ld_60;
   double ld_68;
   int li_76 = IndicatorCounted();
   if (li_76 < 0) return (-1);
   if (li_76 > 0) li_76--;
   int li_0 = Bars - li_76;
   for (int l_shift_4 = 0; l_shift_4 <= li_0; l_shift_4++) {
      li_8 = l_shift_4;
      ld_60 = 0;
      ld_68 = 0;
      g_ibuf_76[l_shift_4] = 0;
      g_ibuf_80[l_shift_4] = 0;
      for (li_8 = l_shift_4; li_8 <= l_shift_4 + 9; li_8++) ld_68 += MathAbs(High[li_8] - Low[li_8]);
      ld_60 = ld_68 / 10.0;
      l_imacd_12 = iMACD(NULL, 0, fast_ema_signal, slow_ema_signal, signal_period, PRICE_CLOSE, MODE_MAIN, l_shift_4);
      l_imacd_28 = iMACD(NULL, 0, fast_ema_signal, slow_ema_signal, signal_period, PRICE_CLOSE, MODE_MAIN, l_shift_4 + 1);
      l_imacd_44 = iMACD(NULL, 0, fast_ema_signal, slow_ema_signal, signal_period, PRICE_CLOSE, MODE_MAIN, l_shift_4 - 1);
      l_imacd_20 = iMACD(NULL, 0, fast_ema_signal, slow_ema_signal, signal_period, PRICE_CLOSE, MODE_SIGNAL, l_shift_4);
      l_imacd_36 = iMACD(NULL, 0, fast_ema_signal, slow_ema_signal, signal_period, PRICE_CLOSE, MODE_SIGNAL, l_shift_4 + 1);
      l_imacd_52 = iMACD(NULL, 0, fast_ema_signal, slow_ema_signal, signal_period, PRICE_CLOSE, MODE_SIGNAL, l_shift_4 - 1);
      if (l_imacd_12 > l_imacd_20 && l_imacd_28 < l_imacd_36) {
         g_ibuf_76[l_shift_4] = Low[l_shift_4] - ld_60 / 2.0;
         if (l_shift_4 < 2 && g_datetime_96 != iTime(NULL, 0, 0)) { 
            Print("** Macd Xross up");
            PlaySound("Alert2.wav");
            g_datetime_96 = iTime(NULL, 0, 0);
         }
      } else {
         if (l_imacd_12 < l_imacd_20 && l_imacd_28 > l_imacd_36) {
            g_ibuf_80[l_shift_4] = High[l_shift_4] + ld_60 / 2.0;
            if (l_shift_4 < 2 && g_datetime_96 != iTime(NULL, 0, 0)) { 
               Print("** Macd Xross down");
               PlaySound("Alert2.wav");
               g_datetime_96 = iTime(NULL, 0, 0);
            }
         }
      }
   }
   return (0);
}