/*
   Generated by EX4-TO-MQ4 decompiler V4.0.451.2 [-]
   Website: https://purebeam.biz
   E-mail : purebeam@gmail.com
*/
#property copyright "Copyright © 2012, Rita Lasker"
#property link      "http://www.ritalasker.com"

extern bool _Alert = TRUE;
extern bool _SendMail = TRUE;
extern int Arrow = 5;
int gi_88 = 2012;
int gi_92 = 3;
int gi_96 = 15;
double gd_100 = 63.0;
double gd_108 = 37.0;
double g_period_116 = 7.0;
double g_period_124 = 10.0;
double g_slowing_132 = 4.0;
int g_ma_method_140 = MODE_SMA;
int g_price_field_144 = 0;
int gi_148 = MODE_SIGNAL;
double gd_152 = 0.01;
double gd_160 = 0.2;
int g_period_168 = 100;
int g_ma_method_172 = MODE_EMA;
int g_applied_price_176 = PRICE_CLOSE;
double g_isar_180;
double g_isar_188;
double g_istochastic_196;
double g_ima_204;
double g_isar_212;
double g_istochastic_220;
double g_ima_228;
string g_var_name_236;
string g_var_name_244;
string gs_dummy_252;
bool gi_260;
bool gi_264 = TRUE;
int g_datetime_268 = 0;

int init() {
   
   g_var_name_236 = "buy" + Symbol() + Period();
   g_var_name_244 = "sell" + Symbol() + Period();
   return (0);
}

int deinit() {
   return (0);
}

int start() {
   if (!gi_264) return (0);
   gi_260 = f0_8();
   g_ima_204 = iMA(Symbol(), 0, g_period_168, 0, g_ma_method_172, g_applied_price_176, 1);
   g_isar_180 = iSAR(Symbol(), 0, gd_152, gd_160, 0);
   g_isar_188 = iSAR(Symbol(), 0, gd_152, gd_160, 1);
   g_istochastic_196 = iStochastic(Symbol(), 0, g_period_116, g_period_124, g_slowing_132, g_ma_method_140, g_price_field_144, gi_148, 1);
   g_ima_228 = iMA(Symbol(), 0, g_period_168, 0, g_ma_method_172, g_applied_price_176, 2);
   g_isar_212 = iSAR(Symbol(), 0, gd_152, gd_160, 2);
   g_istochastic_220 = iStochastic(Symbol(), 0, g_period_116, g_period_124, g_slowing_132, g_ma_method_140, g_price_field_144, gi_148, 2);
   if (GlobalVariableGet(g_var_name_236) == 1.0) f0_0();
   if (GlobalVariableGet(g_var_name_244) == 1.0) f0_6();
   if (GlobalVariableGet(g_var_name_236) == 1.0) f0_10();
   if (GlobalVariableGet(g_var_name_244) == 1.0) f0_9();
   if (gi_260) {
      if (GlobalVariableGet(g_var_name_236) == 1.0) f0_4();
      if (GlobalVariableGet(g_var_name_244) == 1.0) f0_3();
      if (GlobalVariableGet(g_var_name_236) == 0.0) f0_7();
      if (GlobalVariableGet(g_var_name_244) == 0.0) f0_12();
   }
   return (0);
}

void f0_4() {
   string ls_16;
   int li_24 = Period();
   if (li_24 >= 60) {
      li_24 /= 60;
      ls_16 = " H" + li_24;
   } else ls_16 = " M" + li_24;
   string ls_0 = "F5S" + " " + Symbol() + ls_16 + " Modify BUY order SL: " + DoubleToStr(g_isar_188, Digits) + "  " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS);
   string ls_8 = "F5S" + " " + Symbol() + ls_16 + " Modify BUY order SL: " + DoubleToStr(g_isar_188, Digits);
   if (_Alert) Alert(ls_8);
   if (_SendMail) SendMail("Forex 5 Stars Alert", ls_0);
}

void f0_3() {
   string ls_16;
   int li_24 = Period();
   if (li_24 >= 60) {
      li_24 /= 60;
      ls_16 = " H" + li_24;
   } else ls_16 = " M" + li_24;
   string ls_0 = "F5S" + " " + Symbol() + ls_16 + " Modify SELL order SL: " + DoubleToStr(g_isar_188, Digits) + "  " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS);
   string ls_8 = "F5S" + " " + Symbol() + ls_16 + " Modify SELL order SL: " + DoubleToStr(g_isar_188, Digits);
   if (_Alert) Alert(ls_8);
   if (_SendMail) SendMail("Forex 5 Stars Alert", ls_0);
}

void f0_5() {
   string ls_16;
   int li_24 = Period();
   if (li_24 >= 60) {
      li_24 /= 60;
      ls_16 = " H" + li_24;
   } else ls_16 = " M" + li_24;
   string ls_0 = "F5S" + " " + Symbol() + ls_16 + " Close SELL order" + "  " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS);
   string ls_8 = "F5S" + " " + Symbol() + ls_16 + " Close SELL order";
   if (_Alert) Alert(ls_8);
   if (_SendMail) SendMail("Forex 5 Stars Alert", ls_0);
   PlaySound("expert.wav");
}

void f0_1() {
   string ls_16;
   int li_24 = Period();
   if (li_24 >= 60) {
      li_24 /= 60;
      ls_16 = " H" + li_24;
   } else ls_16 = " M" + li_24;
   string ls_0 = "F5S" + " " + Symbol() + ls_16 + " Close BUY order" + "  " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS);
   string ls_8 = "F5S" + " " + Symbol() + ls_16 + " Close BUY order";
   if (_Alert) Alert(ls_8);
   if (_SendMail) SendMail("Forex 5 Stars Alert", ls_0);
   PlaySound("expert.wav");
}

void f0_2() {
   string ls_16;
   int li_24 = Period();
   if (li_24 >= 60) {
      li_24 /= 60;
      ls_16 = " H" + li_24;
   } else ls_16 = " M" + li_24;
   string ls_0 = "F5S" + " " + Symbol() + ls_16 + " Open BUY order SL: " + DoubleToStr(g_isar_188, Digits) + "  " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS);
   string ls_8 = "F5S" + " " + Symbol() + ls_16 + " Open BUY order SL: " + DoubleToStr(g_isar_188, Digits);
   if (_Alert) Alert(ls_8);
   if (_SendMail) SendMail("Forex 5 Stars Alert", ls_0);
   ObjectCreate("buy" + Time[0], OBJ_ARROW, 0, Time[0], Low[1]);
   ObjectSet("buy" + Time[0], OBJPROP_COLOR, Blue);
   ObjectSet("buy" + Time[0], OBJPROP_WIDTH, Arrow);
   ObjectSet("buy" + Time[0], OBJPROP_ARROWCODE, 233);
   PlaySound("alert.wav");
}

void f0_7() {
   if (!(Close[2] > g_ima_228 && g_istochastic_220 > gd_100 && g_isar_212 < Low[2])) {
      if (Close[1] > g_ima_204 && g_istochastic_196 > gd_100 && g_isar_188 < Low[1]) {
         GlobalVariableSet(g_var_name_236, 1);
         f0_2();
      }
   }
}

void f0_11() {
   string ls_16;
   int li_24 = Period();
   if (li_24 >= 60) {
      li_24 /= 60;
      ls_16 = " H" + li_24;
   } else ls_16 = " M" + li_24;
   string ls_0 = "F5S" + " " + Symbol() + ls_16 + " Open SELL order SL: " + DoubleToStr(g_isar_188, Digits) + "  " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS);
   string ls_8 = "F5S" + " " + Symbol() + ls_16 + " Open SELL order SL: " + DoubleToStr(g_isar_188, Digits);
   if (_Alert) Alert(ls_8);
   if (_SendMail) SendMail("Forex 5 Stars Alert", ls_0);
   ObjectCreate("sell" + Time[0], OBJ_ARROW, 0, Time[0], High[1]);
   ObjectSet("sell" + Time[0], OBJPROP_COLOR, Red);
   ObjectSet("sell" + Time[0], OBJPROP_WIDTH, Arrow);
   ObjectSet("sell" + Time[0], OBJPROP_ARROWCODE, 234);
   PlaySound("alert.wav");
}

void f0_12() {
   if (!(Close[2] < g_ima_228 && g_istochastic_220 < gd_108 && g_isar_212 > High[2])) {
      if (Close[1] < g_ima_204 && g_istochastic_196 < gd_108 && g_isar_188 > High[1]) {
         GlobalVariableSet(g_var_name_244, 1);
         f0_11();
      }
   }
}

void f0_10() {
   if (Low[0] <= g_isar_188) {
      GlobalVariableSet(g_var_name_236, 0);
      f0_1();
   }
}

void f0_9() {
   if (High[0] >= g_isar_188) {
      GlobalVariableSet(g_var_name_244, 0);
      f0_5();
   }
}

void f0_0() {
   if (Bid < g_isar_180) {
      GlobalVariableSet(g_var_name_236, 0);
      f0_1();
   }
}

void f0_6() {
   if (Bid > g_isar_180) {
      GlobalVariableSet(g_var_name_244, 0);
      f0_5();
   }
}

int f0_8() {
   bool li_ret_0 = FALSE;
   if (g_datetime_268 != iTime(Symbol(), 0, 0)) {
      g_datetime_268 = iTime(Symbol(), 0, 0);
      li_ret_0 = TRUE;
   }
   return (li_ret_0);
}