/*
   Generated by JungleLion decompiler ONE FILE 
   EX4 ID : 04E20A41724C2645BAEB3FDF008C44EC
   Website: http://www.eecpindia.com/junglelion
   E-mail : preet.anchorfx@yahoo.com
*/

#property copyright " converted by maumax AKA Foreverold"
#property link      " http://www.forex-tsd.com"

extern double Lots = 1.0;
extern double StopLoss = 40.0;
extern double TakeProfit = 0.0;
extern double TrailingStop = 0.0;
extern double Slippage = 5.0;
extern double startHourOfDay = 0.0;
extern double endofDAY = 23.0;
extern double beginer = 64.0;
extern double periodtotake = 64.0;
int gi_148;
double gda_152[];
double gda_156[];

int MOrderDelete(int ai_0) {
   gi_148 = TimeCurrent();
   return (OrderDelete(ai_0));
}

int MOrderSend(string as_0, int ai_8, double ad_12, double ad_20, int ai_28, double ad_32, double ad_40, string as_48 = "", int ai_56 = 0, int ai_60 = 0, color ai_64 = -1) {
   gi_148 = TimeCurrent();
   ad_20 = MathRound(10000.0 * ad_20) / 10000.0;
   ad_32 = MathRound(10000.0 * ad_32) / 10000.0;
   ad_40 = MathRound(10000.0 * ad_40) / 10000.0;
   return (OrderSend(as_0, ai_8, ad_12, ad_20, ai_28, ad_32, ad_40, as_48, ai_56, ai_60, ai_64));
}

int OrderValueTicket(int ai_0) {
   OrderSelect(ai_0, SELECT_BY_POS);
   return (OrderTicket());
}

int OrderValueType(int ai_0) {
   OrderSelect(ai_0, SELECT_BY_POS);
   return (OrderType());
}

double OrderValueLots(int ai_0) {
   OrderSelect(ai_0, SELECT_BY_POS);
   return (OrderLots());
}

string OrderValueSymbol(int ai_0) {
   OrderSelect(ai_0, SELECT_BY_POS);
   return (OrderSymbol());
}

int start() {
   int li_0 = 0;
   double ld_4 = 0;
   double ld_12 = 0;
   double ld_20 = 0;
   double ld_28 = 0;
   double ld_36 = 0;
   double ld_44 = 0;
   double ld_52 = 0;
   double ld_60 = 0;
   double ld_68 = 0;
   double ld_76 = 0;
   double ld_84 = 0;
   double ld_92 = 0;
   double ld_100 = 0;
   double ld_108 = 0;
   double ld_116 = 0;
   double ld_124 = 0;
   double ld_132 = 0;
   double ld_140 = 0;
   double ld_148 = 0;
   double ld_156 = 0;
   double ld_164 = 0;
   double ld_172 = 0;
   double ld_180 = 0;
   double ld_188 = 0;
   double ld_196 = 0;
   double ld_204 = 0;
   double ld_212 = 0;
   double ld_220 = 0;
   double ld_228 = 0;
   double ld_236 = 0;
   double ld_244 = 0;
   double ld_252 = 0;
   double ld_260 = 0;
   double ld_268 = 0;
   double ld_276 = 0;
   double ld_284 = 0;
   double ld_292 = 0;
   double ld_300 = 0;
   double ld_308 = 0;
   double ld_316 = 0;
   double ld_324 = 0;
   double ld_332 = 0;
   double ld_340 = 0;
   double ld_348 = 0;
   double ld_356 = 0;
   double ld_364 = 0;
   ld_28 = 0;
   ld_4 = Lots;
   for (li_0 = 1; li_0 <= OrdersTotal(); li_0++) {
      if (OrderValueSymbol(li_0) == Symbol()) {
         ld_28++;
         if (OrderValueType(li_0) == 0) {
            if (Hour() == endofDAY) {
               OrderClose(OrderValueTicket(li_0), OrderValueLots(li_0), Bid, Slippage, Red);
               return (0);
            }
            ld_36 = 0;
         }
         if (OrderValueType(li_0) == 1) {
            if (Hour() == endofDAY) {
               OrderClose(OrderValueTicket(li_0), OrderValueLots(li_0), Ask, Slippage, Red);
               return (0);
            }
            ld_44 = 0;
         }
      }
   }
   if (Hour() == endofDAY) {
      if (ld_36 == 1.0) {
         for (li_0 = 1; li_0 <= OrdersTotal(); li_0++) {
            if (OrderValueSymbol(li_0) == Symbol() && OrderValueType(li_0) == 3) {
               MOrderDelete(OrderValueTicket(li_0));
               return (0);
            }
         }
      }
   }
   if (Hour() == endofDAY) {
      if (ld_44 == 1.0) {
         for (li_0 = 1; li_0 <= OrdersTotal(); li_0++) {
            if (OrderValueSymbol(li_0) == Symbol() && OrderValueType(li_0) == 2) {
               MOrderDelete(OrderValueTicket(li_0));
               return (0);
            }
         }
      }
   }
   ld_92 = Low[iLowest(NULL, 0, MODE_LOW, beginer, periodtotake)];
   ld_100 = High[iHighest(NULL, 0, MODE_HIGH, beginer, periodtotake)];
   if (ld_100 <= 250000.0 && ld_100 > 25000.0) ld_108 = 100000;
   else {
      if (ld_100 <= 25000.0 && ld_100 > 2500.0) ld_108 = 10000;
      else {
         if (ld_100 <= 2500.0 && ld_100 > 250.0) ld_108 = 1000;
         else {
            if (ld_100 <= 250.0 && ld_100 > 25.0) ld_108 = 100;
            else {
               if (ld_100 <= 25.0 && ld_100 > 12.5) ld_108 = 12.5;
               else {
                  if (ld_100 <= 12.5 && ld_100 > 6.25) ld_108 = 12.5;
                  else {
                     if (ld_100 <= 6.25 && ld_100 > 3.125) ld_108 = 6.25;
                     else {
                        if (ld_100 <= 3.125 && ld_100 > 1.5625) ld_108 = 3.125;
                        else {
                           if (ld_100 <= 1.5625 && ld_100 > 0.390625) ld_108 = 1.5625;
                           else
                              if (ld_100 <= 0.390625 && ld_100 > 0.0) ld_108 = 0.1953125;
                        }
                     }
                  }
               }
            }
         }
      }
   }
   ld_228 = ld_100 - ld_92;
   ld_84 = MathFloor(MathLog(ld_108 / ld_228) / MathLog(2));
   ld_236 = ld_108 * MathPow(0.5, ld_84);
   ld_244 = MathFloor(ld_92 / ld_236) * ld_236;
   if (ld_244 + ld_236 > ld_100) ld_252 = ld_244 + ld_236;
   else ld_252 = ld_244 + 2.0 * ld_236;
   if (ld_92 >= 0.0 * (ld_252 - ld_244) + ld_244 && ld_100 <= 0.0 * (ld_252 - ld_244) + ld_244) ld_284 = ld_244 + (ld_252 - ld_244) / 2.0;
   else ld_284 = 0;
   if (ld_92 >= ld_244 - (ld_252 - ld_244) / 8.0 && ld_100 <= 0.0 * (ld_252 - ld_244) + ld_244 && ld_284 == 0.0) ld_276 = ld_244 + (ld_252 - ld_244) / 2.0;
   else ld_276 = 0;
   if (ld_92 >= ld_244 + 7.0 * (ld_252 - ld_244) / 16.0 && ld_100 <= 0.0 * (ld_252 - ld_244) + ld_244) ld_300 = ld_244 + 3.0 * (ld_252 - ld_244) / 4.0;
   else ld_300 = 0;
   if (ld_92 >= ld_244 + 3.0 * (ld_252 - ld_244) / 8.0 && ld_100 <= 1.0 * (ld_252 - ld_244) + ld_244 && ld_300 == 0.0) ld_308 = ld_252;
   else ld_308 = 0;
   if (ld_92 >= ld_244 + (ld_252 - ld_244) / 8.0 && ld_100 <= 0.0 * (ld_252 - ld_244) + ld_244 && ld_276 == 0.0 && ld_284 == 0.0 && ld_300 == 0.0 && ld_308 == 0.0) ld_292 = ld_244 + 3.0 * (ld_252 - ld_244) / 4.0;
   else ld_292 = 0;
   if (ld_276 + ld_284 + ld_292 + ld_300 + ld_308 == 0.0) ld_316 = ld_252;
   else ld_316 = 0;
   ld_260 = ld_276 + ld_284 + ld_292 + ld_300 + ld_308 + ld_316;
   if (ld_276 > 0.0) ld_324 = ld_244;
   else ld_324 = 0;
   if (ld_284 > 0.0) ld_332 = ld_244 + (ld_252 - ld_244) / 4.0;
   else ld_332 = 0;
   if (ld_292 > 0.0) ld_340 = ld_244 + (ld_252 - ld_244) / 4.0;
   else ld_340 = 0;
   if (ld_300 > 0.0) ld_348 = ld_244 + (ld_252 - ld_244) / 2.0;
   else ld_348 = 0;
   if (ld_308 > 0.0) ld_356 = ld_244 + (ld_252 - ld_244) / 2.0;
   else ld_356 = 0;
   if (ld_260 > 0.0 && ld_324 + ld_332 + ld_340 + ld_348 + ld_356 == 0.0) ld_364 = ld_244;
   else ld_364 = 0;
   ld_268 = ld_324 + ld_332 + ld_340 + ld_348 + ld_356 + ld_364;
   ld_116 = (ld_260 - ld_268) / 8.0;
   ld_124 = ld_268 - 2.0 * ld_116;
   ld_132 = ld_268 - ld_116;
   ld_140 = ld_268;
   ld_148 = ld_268 + ld_116;
   ld_156 = ld_268 + 2.0 * ld_116;
   ld_164 = ld_268 + 3.0 * ld_116;
   ld_172 = ld_268 + 4.0 * ld_116;
   ld_180 = ld_268 + 5.0 * ld_116;
   ld_188 = ld_268 + 6.0 * ld_116;
   ld_196 = ld_268 + 7.0 * ld_116;
   ld_204 = ld_268 + 8.0 * ld_116;
   ld_220 = ld_268 + 9.0 * ld_116;
   ld_212 = ld_268 + 10.0 * ld_116;
   Comment(" PLACE A BUY ORDER AT ", ld_140, "  PLACE A SELL ORDER AT ", ld_204);
   if (Open[1] < ld_140) {
      if (Hour() > startHourOfDay && Hour() < endofDAY && ld_28 < 1.0 && ld_36 == 0.0) {
         ld_36 = 2;
         MOrderSend(Symbol(), OP_BUYSTOP, ld_4, ld_140, Slippage, ld_140 - StopLoss * Point, ld_172, "", 16384, 0, Blue);
         return (0);
      }
   }
   if (Open[1] > ld_140) {
      if (Hour() > startHourOfDay && Hour() < endofDAY && ld_28 < 1.0 && ld_36 == 0.0) {
         ld_36 = 2;
         MOrderSend(Symbol(), OP_BUYLIMIT, ld_4, ld_140, Slippage, ld_140 - StopLoss * Point, ld_172, "", 16384, 0, Blue);
         return (0);
      }
   }
   if (Open[1] > ld_204) {
      if (Hour() > startHourOfDay && Hour() < endofDAY && ld_28 == 1.0 && ld_44 == 0.0 && ld_36 > 0.0) {
         ld_44 = 2;
         MOrderSend(Symbol(), OP_SELLSTOP, ld_4, ld_204, Slippage, ld_204 + StopLoss * Point, ld_172, "", 16384, 0, Red);
         return (0);
      }
   }
   if (Open[1] < ld_204) {
      if (Hour() > startHourOfDay && Hour() < endofDAY && ld_28 == 1.0 && ld_44 == 0.0 && ld_36 > 0.0) {
         ld_44 = 2;
         MOrderSend(Symbol(), OP_SELLLIMIT, ld_4, ld_204, Slippage, ld_204 + StopLoss * Point, ld_172, "", 16384, 0, Red);
         return (0);
      }
   }
   return (0);
}