


#property copyright "Copyright © 2012, forex4live.com"
#property link      "http://www.forex4live.com/"

#property indicator_chart_window
#property indicator_buffers 6

#property indicator_color1 clrMintCream 
#property indicator_width1 1
#property indicator_color2 clrMintCream 
#property indicator_width2 1
#property indicator_color3 clrYellow
#property indicator_width3 2
#property indicator_color4 clrYellow
#property indicator_width4 2
#property indicator_color5 clrDodgerBlue
#property indicator_width5 4
#property indicator_color6 clrRed
#property indicator_width6 4


extern double Period1 = 12.0;
extern double Period2 = 34.0;
extern double Period3 = 69.0;
extern string Dev_Step_1 = "5,3";
extern string Dev_Step_2 = "5,3";
extern string Dev_Step_3 = "5,3";
extern int Symbol_1_Kod = 172;
extern int Symbol_2_Kod = 174;
extern int Symbol_3_Kod = 82;
extern string _____ = "";
extern bool BoxAlerts = FALSE;
extern bool EmailAlerts = FALSE;
extern bool SoundAlerts = TRUE;
extern bool AlertLv1 = FALSE;
extern bool AlertLv2 = FALSE;
extern bool AlertLv3 = TRUE;
string wav_1 = "stage one level high.wav";
string wav_2 = "stage one level low.wav";
string wav_3 = "stage two level high.wav";
string wav_4 = "stage two level low.wav";
string wav_5 = "stage three level high.wav";
string wav_6 = "stage three level low.wav";
double gda_216[];
double gda_220[];
double gda_224[];
double gda_228[];
double gda_232[];
double gda_236[];
int gi_240;
int gi_244;
int gi_248;
int gi_252;
int gi_256;
int gi_260;
int gi_264;
int gi_268;
int gi_272;
string gs_276;
string gs_284;
string gs_292;
int gi_300;
int gi_304;
bool gi_308;
bool gi_312;
bool gi_316;
int gi_320 = -1;
int gi_324 = 65535;

// E37F0136AA3FFAF149B351F6A4C948E9
int init() {
   string lsa_0[256];
   int lia_12[];
   for (int li_4 = 0; li_4 < 256; li_4++) lsa_0[li_4] = CharToStr(li_4);
   int li_8 = StrToInteger(lsa_0[67] + lsa_0[111] + lsa_0[112] + lsa_0[121] + lsa_0[32] + lsa_0[82] + lsa_0[105] + lsa_0[103] + lsa_0[104] + lsa_0[116] + lsa_0[32] +
      lsa_0[169] + lsa_0[32] + lsa_0[75] + lsa_0[97] + lsa_0[122] + lsa_0[97] + lsa_0[111] + lsa_0[111] + lsa_0[32] + lsa_0[50] + lsa_0[48] + lsa_0[49] + lsa_0[49] + lsa_0[32]);
   gi_304 = Period();
   gs_284 = f0_3(gi_304);
   gs_276 = Symbol();
   gi_300 = Digits;
   gs_292 = "tbb" + gs_276 + gs_284;
   if (Period1 > 0.0) gi_240 = MathCeil(Period1 * Period());
   else gi_240 = 0;
   if (Period2 > 0.0) gi_244 = MathCeil(Period2 * Period());
   else gi_244 = 0;
   if (Period3 > 0.0) gi_248 = MathCeil(Period3 * Period());
   else gi_248 = 0;
   if (Period1 > 0.0) {
      SetIndexStyle(0, DRAW_ARROW);
      SetIndexArrow(0, Symbol_1_Kod);
      SetIndexBuffer(0, gda_216);
      SetIndexEmptyValue(0, 0.0);
      SetIndexStyle(1, DRAW_ARROW);
      SetIndexArrow(1, Symbol_1_Kod);
      SetIndexBuffer(1, gda_220);
      SetIndexEmptyValue(1, 0.0);
   }
   if (Period2 > 0.0) {
      SetIndexStyle(2, DRAW_ARROW);
      SetIndexArrow(2, Symbol_2_Kod);
      SetIndexBuffer(2, gda_224);
      SetIndexEmptyValue(2, 0.0);
      SetIndexStyle(3, DRAW_ARROW);
      SetIndexArrow(3, Symbol_2_Kod);
      SetIndexBuffer(3, gda_228);
      SetIndexEmptyValue(3, 0.0);
   }
   if (Period3 > 0.0) {
      SetIndexStyle(4, DRAW_ARROW);
      SetIndexArrow(4, Symbol_3_Kod);
      SetIndexBuffer(4, gda_232);
      SetIndexEmptyValue(4, 0.0);
      SetIndexStyle(5, DRAW_ARROW);
      SetIndexArrow(5, Symbol_3_Kod);
      SetIndexBuffer(5, gda_236);
      SetIndexEmptyValue(5, 0.0);
   }
   int li_16 = 0;
   int li_20 = 0;
   int li_24 = 0;
   if (f0_0(Dev_Step_1, li_24, lia_12) == 1) {
      gi_256 = lia_12[1];
      gi_252 = lia_12[0];
   }
   if (f0_0(Dev_Step_2, li_24, lia_12) == 1) {
      gi_264 = lia_12[1];
      gi_260 = lia_12[0];
   }
   if (f0_0(Dev_Step_3, li_24, lia_12) == 1) {
      gi_272 = lia_12[1];
      gi_268 = lia_12[0];
   }
   return (0);
}

// 52D46093050F38C27267BCE42543EF60
int deinit() {
   return (0);
}

// EA2B2676C28C0DB26D39331A336C6B92
int start() {
   string ls_0;
   if (Bars != gi_320) {
      gi_308 = TRUE;
      gi_312 = TRUE;
      gi_316 = TRUE;
   }
   if (Period1 > 0.0) f0_1(gda_216, gda_220, Period1, gi_252, gi_256);
   if (Period2 > 0.0) f0_1(gda_224, gda_228, Period2, gi_260, gi_264);
   if (Period3 > 0.0) f0_1(gda_232, gda_236, Period3, gi_268, gi_272);
   string ls_8 = gs_276 + "  " + gs_284 + " at " + DoubleToStr(Close[0], gi_300);
   if (gi_308 && AlertLv1) {
      if (gda_216[0] != 0.0) {
         gi_308 = FALSE;
         ls_0 = " FL11: Standby..Level 1 Low;  ";
         if (BoxAlerts) Alert(ls_0, ls_8);
         if (EmailAlerts) SendMail(ls_0, ls_8);
         if (SoundAlerts) PlaySound(wav_2);
      }
      if (gda_220[0] != 0.0) {
         gi_308 = FALSE;
         ls_0 = " FL11: Standby..Level 1 High; ";
         if (BoxAlerts) Alert(ls_0, ls_8);
         if (EmailAlerts) SendMail(ls_0, ls_8);
         if (SoundAlerts) PlaySound(wav_1);
      }
   }
   if (gi_312 && AlertLv2) {
      if (gda_224[0] != 0.0) {
         gi_312 = FALSE;
         ls_0 = " FL11: Standby..Level 2 Low;  ";
         if (BoxAlerts) Alert(ls_0, ls_8);
         if (EmailAlerts) SendMail(ls_0, ls_8);
         if (SoundAlerts) PlaySound(wav_4);
      }
      if (gda_228[0] != 0.0) {
         gi_312 = FALSE;
         ls_0 = " FL11: Standby..Level 2 High; ";
         if (BoxAlerts) Alert(ls_0, ls_8);
         if (EmailAlerts) SendMail(ls_0, ls_8);
         if (SoundAlerts) PlaySound(wav_3);
      }
   }
   if (gi_316 && AlertLv3) {
      if (gda_232[0] != 0.0) {
         gi_316 = FALSE;
         ls_0 = " FL11: Standby..Level 3 Low;  ";
         if (BoxAlerts) Alert(ls_0, ls_8);
         if (EmailAlerts) SendMail(ls_0, ls_8);
         if (SoundAlerts) PlaySound(wav_6);
      }
      if (gda_236[0] != 0.0) {
         gi_316 = FALSE;
         ls_0 = " FL11: Standby..Level 3 High; ";
         if (BoxAlerts) Alert(ls_0, ls_8);
         if (EmailAlerts) SendMail(ls_0, ls_8);
         if (SoundAlerts) PlaySound(wav_5);
      }
   }
   gi_320 = Bars;
   return (0);
}

// BE5275EB85F7B577DA8FD065F994B740
string f0_3(int ai_0) {
   string ls_4;
   switch (ai_0) {
   case 1:
      ls_4 = "M1";
      break;
   case 5:
      ls_4 = "M5";
      break;
   case 15:
      ls_4 = "M15";
      break;
   case 30:
      ls_4 = "M30";
      break;
   case 60:
      ls_4 = "H1";
      break;
   case 240:
      ls_4 = "H4";
      break;
   case 1440:
      ls_4 = "D1";
      break;
   case 10080:
      ls_4 = "W1";
      break;
   case 43200:
      ls_4 = "MN";
   }
   return (ls_4);
}

// 3CA4C22A90227AC4A7684A00FAEE2BA5
int f0_1(double &ada_0[], double &ada_4[], int ai_8, int ai_12, int ai_16) {
   double ld_20;
   double ld_28;
   double ld_36;
   double ld_44;
   double ld_52;
   double ld_60;
   for (int li_68 = Bars - ai_8; li_68 >= 0; li_68--) {
      ld_20 = Low[iLowest(NULL, 0, MODE_LOW, ai_8, li_68)];
      if (ld_20 == ld_60) ld_20 = 0.0;
      else {
         ld_60 = ld_20;
         if (Low[li_68] - ld_20 > ai_12 * Point) ld_20 = 0.0;
         else {
            for (int li_72 = 1; li_72 <= ai_16; li_72++) {
               ld_28 = ada_0[li_68 + li_72];
               if (ld_28 != 0.0 && ld_28 > ld_20) ada_0[li_68 + li_72] = 0.0;
            }
         }
      }
      ada_0[li_68] = ld_20;
      ld_20 = High[iHighest(NULL, 0, MODE_HIGH, ai_8, li_68)];
      if (ld_20 == ld_52) ld_20 = 0.0;
      else {
         ld_52 = ld_20;
         if (ld_20 - High[li_68] > ai_12 * Point) ld_20 = 0.0;
         else {
            for (li_72 = 1; li_72 <= ai_16; li_72++) {
               ld_28 = ada_4[li_68 + li_72];
               if (ld_28 != 0.0 && ld_28 < ld_20) ada_4[li_68 + li_72] = 0.0;
            }
         }
      }
      ada_4[li_68] = ld_20;
   }
   ld_52 = -1;
   int li_76 = -1;
   ld_60 = -1;
   int li_80 = -1;
   for (li_68 = Bars - ai_8; li_68 >= 0; li_68--) {
      ld_36 = ada_0[li_68];
      ld_44 = ada_4[li_68];
      if (ld_36 == 0.0 && ld_44 == 0.0) continue;
      if (ld_44 != 0.0) {
         if (ld_52 > 0.0) {
            if (ld_52 < ld_44) ada_4[li_76] = 0;
            else ada_4[li_68] = 0;
         }
         if (ld_52 < ld_44 || ld_52 < 0.0) {
            ld_52 = ld_44;
            li_76 = li_68;
         }
         ld_60 = -1;
      }
      if (ld_36 != 0.0) {
         if (ld_60 > 0.0) {
            if (ld_60 > ld_36) ada_0[li_80] = 0;
            else ada_0[li_68] = 0;
         }
         if (ld_36 < ld_60 || ld_60 < 0.0) {
            ld_60 = ld_36;
            li_80 = li_68;
         }
         ld_52 = -1;
      }
   }
   for (li_68 = Bars - 1; li_68 >= 0; li_68--) {
      if (li_68 >= Bars - ai_8) ada_0[li_68] = 0.0;
      else {
         ld_28 = ada_4[li_68];
         if (ld_28 != 0.0) ada_4[li_68] = ld_28;
      }
   }
   return (0);
}

// AAE96DC27D91DCB4DC46AF7044ED6795
int f0_2(string as_0, int &ai_8, int &aia_12[]) {
   int li_16;
   int li_20 = StrToInteger(as_0);
   if (li_20 > 0) {
      ai_8++;
      li_16 = ArrayResize(aia_12, ai_8);
      if (li_16 == 0) return (-1);
      aia_12[ai_8 - 1] = li_20;
      return (1);
   }
   return (0);
}

// 1312C2179DB8967F4CB75C9D549CFB81
int f0_0(string as_0, int &ai_8, int &aia_12[]) {
   string ls_16;
   if (StringLen(as_0) == 0) return (-1);
   string ls_24 = as_0;
   int li_32 = 0;
   ai_8 = 0;
   ArrayResize(aia_12, ai_8);
   while (StringLen(ls_24) > 0) {
      li_32 = StringFind(ls_24, ",");
      if (li_32 > 0) {
         ls_16 = StringSubstr(ls_24, 0, li_32);
         ls_24 = StringSubstr(ls_24, li_32 + 1, StringLen(ls_24));
      } else {
         if (StringLen(ls_24) > 0) {
            ls_16 = ls_24;
            ls_24 = "";
         }
      }
      if (f0_2(ls_16, ai_8, aia_12) == 0) return (-2);
   }
   return (1);
}
