#property copyright "Copyright © 2015, Profit Sunrise"
#property link      "http://www.profitsunrise.ru"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
double ibuf_buy[];
double ibuf_sell[];
extern int ma_Fast = 3;
extern int ma_Slow = 21;
extern bool Alerts = TRUE;
bool Gi_flag_buy = FALSE;
bool Gi_flag_sell = FALSE;

// E37F0136AA3FFAF149B351F6A4C948E9
int init() {
   SetIndexStyle(0, DRAW_ARROW, EMPTY);
   SetIndexArrow(0, 221);
   SetIndexBuffer(0, ibuf_buy);
   SetIndexStyle(1, DRAW_ARROW, EMPTY);
   SetIndexArrow(1, 222);
   SetIndexBuffer(1, ibuf_sell);
   return (0);
}

// 52D46093050F38C27267BCE42543EF60
int deinit() {
   return (0);
}

// EA2B2676C28C0DB26D39331A336C6B92
int start() {
   int Li_0;
   double ima_4;
   double ima_12;
   double ima_20;
   double ima_28;
   double ima_36;
   double ima_44;
   double Ld_52;
   double Ld_60;
   string Ls_68;
   //int str2time_76;
   int Li_80;
   int Li_84;
   if (IsTesting() == FALSE) {
      Li_80 = IndicatorCounted();
      if (Li_80 < 0) return (-1);
      if (Li_80 > 0) Li_80--;
      Li_84 = Bars - Li_80;
      for (int Li_88 = 0; Li_88 <= Li_84; Li_88++) {
         Li_0 = Li_88;
         Ld_52 = 0;
         Ld_60 = 0;
         for (Li_0 = Li_88; Li_0 <= Li_88 + 9; Li_0++) Ld_60 += MathAbs(High[Li_0] - Low[Li_0]);
         Ld_52 = Ld_60 / 10.0;
         ima_4 = iMA(NULL, 0, ma_Fast, 0, MODE_EMA, PRICE_CLOSE, Li_88);
         ima_20 = iMA(NULL, 0, ma_Fast, 0, MODE_EMA, PRICE_CLOSE, Li_88 + 1);
         ima_36 = iMA(NULL, 0, ma_Fast, 0, MODE_EMA, PRICE_CLOSE, Li_88 - 1);
         ima_12 = iMA(NULL, 0, ma_Slow, 0, MODE_EMA, PRICE_CLOSE, Li_88);
         ima_28 = iMA(NULL, 0, ma_Slow, 0, MODE_EMA, PRICE_CLOSE, Li_88 + 1);
         ima_44 = iMA(NULL, 0, ma_Slow, 0, MODE_EMA, PRICE_CLOSE, Li_88 - 1);
         if (ima_4 > ima_12 && ima_20 < ima_28 && ima_36 > ima_44) {
            ibuf_buy[Li_88] = Low[Li_88] - Ld_52 / 2.0;
            if (Li_88 <= 2 && Alerts && (!Gi_flag_buy)) {
               Alert(Symbol(), " ", Period(), " Profit Sunrise BUY Alert ");
               Gi_flag_buy = TRUE;
               Gi_flag_sell = FALSE;
            }
         } else {
            if (ima_4 < ima_12 && ima_20 > ima_28 && ima_36 < ima_44) {
               ibuf_sell[Li_88] = High[Li_88] + Ld_52 / 2.0;
               if (Li_88 <= 2 && Alerts && (!Gi_flag_sell)) {
                  Alert(Symbol(), " ", Period(), " Profit Sunrise SELL Alert ");
                  Gi_flag_sell = TRUE;
                  Gi_flag_buy = FALSE;
               }
            }
         }
      }
   }
   return (0);
}
