EUR-GBP scalper

/*
   Generated by EX4-TO-MQ4 decompiler ONE FILE V4.0.218.3
   EX4 ID : 04E20A41724C2645BAEB3FDF008C44EC
   Website: http://purebeam.biz
   E-mail : purebeam@gmail.com
*/
#property copyright "Oya Suryadi"
#property link      "oya_kajima@yahoo.co.id"

extern string Original_EA = "Euro GBP Scalper";
extern string LasEdit_by = "30 Nopember 2008";
extern string Balance_Info = "Bila sudah tercapai ROBOT berhenti, INGAT JANGAN serakah";
extern double TargetBalance = 3000000.0;
extern string AutoStop_Info = "AutoStop=false, tidak buka posisi baru, posisi yg lama tetap di maintain";
extern bool AutoStop = FALSE;
extern string Time_Info = "Jam Trading waktu Server";
extern int OpenHour = 22;
extern int CloseHour = 5;
extern string MM_Info = "Kalau MM=true, isi risk berapa persen yg mau di pake.";
extern bool MM = TRUE;
extern int Risk = 50;
extern string Lots_Info = "Kalau MM=false, isi Lots yg mau di pake.";
extern double Lots = 0.1;
string gs_unused_168 = "Maximum dan Minimum Lot, nggak bisa lebih dari ini.";
extern double MaxLots = 100.0;
extern double MinLots = 0.1;
string gs_unused_192 = "LotsDigit=0, maka akan ambil dari system";
extern int LotsDigit = 2;
extern int Slippage = 3;
extern string Trade_Info = "TP=TakeProfit, disarankan sedikit saja";
extern int TP = 7;
extern string SL1_Info = "SL1=StopLoss bukan jam trading";
extern int SL1 = 22;
extern string SL2_Info = "SL2=StopLoss jam trading";
extern int SL2 = 31;
extern int FractalRange = 32;
extern int ATR_Level = 15;
extern int PriceFromFractal = 7;
extern string HiddenTP_Info = "Bila true, maka TP tidak di set";
extern bool HiddenTP = TRUE;
extern string Filter_Info = "Filter untuk buka posisi";
extern int SignalFilter = 50;
extern int MaxTrades = 5;
extern int MaxTradePerBar = 2;
extern int MaxTradePerPosition = 3;
extern int IMA_PERIOD = 11;
extern int Magic = 11111;
extern double mypoint = 0.0001;
extern string email_YM = "oya_kajima@yahoo.co.id";
extern string Need_Donation = "Oya Suryadi";
extern string Bank = "BCA : 1761257701";
extern string LibertyReserve = "U6862967";
int g_count_340 = 0;
double g_ord_open_price_344 = 0.0;
double g_ord_open_price_352 = 0.0;
int g_bars_360 = -1;
extern bool Time_Opened_Protection = TRUE;
int gi_368 = 60;
int gi_372 = 3;
int gi_376 = 140;
int gi_380 = 2;
int gi_384 = 170;
int gi_388 = 0;
int gi_392 = 200;
int gi_396 = 1;
int gi_400 = 240;
int gi_404 = 4;
double g_ifractals_408;
double g_ifractals_416;
double gd_unused_424;
double gd_unused_432;
double g_ifractals_440;
double g_ifractals_448;
double gd_unused_456;
double gd_unused_464;
int gi_472 = 0;
int gi_unused_476 = 0;
double gd_480 = 0.0;
int gi_488 = 0;

int init() {
   datetime lt_0 = D'14.03.2010';
   if (TimeCurrent() > lt_0) {
      Alert("Robotnya Kadaluarsa Bos.... Silahkan hubungi oya_kajima@yahoo.co.id !");
      return (0);
   }
   return (0);
}

int start() {
   datetime lt_0 = D'10.03.2010';
   if (TimeCurrent() > lt_0) {
      Alert("It is Valentine Day, stop Trading… book some cofe, have fun… !?");
      return (0);
   }
   if (AutoStop == TRUE) {
      CloseAll();
      return (0);
   }
   for (int li_4 = 1; li_4 < Bars; li_4++) {
      if (iFractals(NULL, PERIOD_M15, MODE_UPPER, li_4) != 0.0) {
         g_ifractals_408 = iFractals(NULL, PERIOD_M15, MODE_UPPER, li_4);
         gd_unused_432 = Time[li_4];
         break;
      }
   }
   for (int li_8 = 1; li_8 < Bars; li_8++) {
      if (iFractals(NULL, PERIOD_M15, MODE_LOWER, li_8) != 0.0) {
         g_ifractals_416 = iFractals(NULL, PERIOD_M15, MODE_LOWER, li_8);
         gd_unused_424 = Time[li_8];
         break;
      }
   }
   for (int li_12 = 1; li_12 < Bars; li_12++) {
      if (iFractals(NULL, PERIOD_H1, MODE_UPPER, li_12) != 0.0) {
         g_ifractals_440 = iFractals(NULL, PERIOD_H1, MODE_UPPER, li_12);
         gd_unused_464 = Time[li_12];
         break;
      }
   }
   for (int li_16 = 1; li_16 < Bars; li_16++) {
      if (iFractals(NULL, PERIOD_H1, MODE_LOWER, li_16) != 0.0) {
         g_ifractals_448 = iFractals(NULL, PERIOD_H1, MODE_LOWER, li_16);
         gd_unused_456 = Time[li_8];
         break;
      }
   }
   gi_472 = MathRound((g_ifractals_408 - g_ifractals_416) / mypoint);
   gi_unused_476 = MathRound((g_ifractals_440 - g_ifractals_448) / mypoint);
   gd_480 = 0;
   gd_480 = g_ifractals_408 - (g_ifractals_408 - g_ifractals_416) / 2.0;
   gi_488 = MathRound(iATR(Symbol(), PERIOD_M15, 4, 0) / mypoint);
   bool li_20 = FALSE;
   if (Close[0] <= g_ifractals_440 && Close[0] >= g_ifractals_448) li_20 = TRUE;
   if (Time_Opened_Protection == TRUE) {
      for (int l_pos_24 = 0; l_pos_24 < OrdersTotal(); l_pos_24++) {
         OrderSelect(l_pos_24, SELECT_BY_POS, MODE_TRADES);
         if (OrderType() == OP_BUY && OrderMagicNumber() == Magic) {
            if (TimeCurrent() - OrderOpenTime() > 60 * gi_368 && TimeCurrent() - OrderOpenTime() < 60 * gi_376 && Bid >= OrderOpenPrice() + gi_372 * mypoint) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Orange);
               Print("Prot. Level 1 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
            if (TimeCurrent() - OrderOpenTime() > 60 * gi_376 && TimeCurrent() - OrderOpenTime() < 60 * gi_384 && Bid >= OrderOpenPrice() + gi_380 * mypoint) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Orange);
               Print("Prot. Level 2 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
            if (TimeCurrent() - OrderOpenTime() > 60 * gi_384 && TimeCurrent() - OrderOpenTime() < 60 * gi_392 && Bid >= OrderOpenPrice() - gi_388 * mypoint) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Orange);
               Print("Prot. Level 3 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
            if (TimeCurrent() - OrderOpenTime() > 60 * gi_392 && TimeCurrent() - OrderOpenTime() < 60 * gi_400 && Bid >= OrderOpenPrice() - gi_396 * mypoint) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Orange);
               Print("Prot. Level 4 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
            if (TimeCurrent() - OrderOpenTime() > 60 * gi_400 && Bid >= OrderOpenPrice() - gi_404 * mypoint) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Orange);
               Print("Prot. Level 5 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
            if (DayOfWeek() == 5 && Hour() >= 19) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Orange);
               Print("Prot. Level 5 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
         }
         if (OrderType() == OP_SELL && OrderMagicNumber() == Magic) {
            if (TimeCurrent() - OrderOpenTime() > 60 * gi_368 && TimeCurrent() - OrderOpenTime() < 60 * gi_376 && Ask <= OrderOpenPrice() - gi_372 * mypoint) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Orange);
               Print("Prot. Level 1 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
            if (TimeCurrent() - OrderOpenTime() > 60 * gi_376 && TimeCurrent() - OrderOpenTime() < 60 * gi_384 && Ask <= OrderOpenPrice() - gi_380 * mypoint) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Orange);
               Print("Prot. Level 2 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
            if (TimeCurrent() - OrderOpenTime() > 60 * gi_384 && TimeCurrent() - OrderOpenTime() < 60 * gi_392 && Ask <= OrderOpenPrice() + gi_388 * mypoint) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Orange);
               Print("Prot. Level 3 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
            if (TimeCurrent() - OrderOpenTime() > 60 * gi_392 && TimeCurrent() - OrderOpenTime() < 60 * gi_400 && Ask <= OrderOpenPrice() + gi_396 * mypoint) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Orange);
               Print("Prot. Level 4 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
            if (TimeCurrent() - OrderOpenTime() > 60 * gi_400 && Ask <= OrderOpenPrice() + gi_404 * mypoint) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Orange);
               Print("Prot. Level 5 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
            if (DayOfWeek() == 5 && Hour() >= 19) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Orange);
               Print("Prot. Level 5 - Close Price :" + DoubleToStr(OrderClosePrice(), 4) + " Lots : " + DoubleToStr(OrderLots(), 2) + " Order Number : " + DoubleToStr(OrderTicket(), 0) +
                  " Profit : $ " + DoubleToStr(OrderProfit(), 2));
            }
         }
      }
   }
   if (TargetBalance > 0.0 && AccountEquity() >= TargetBalance) {
      ForceCloseAll();
      return (0);
   }
   int l_count_28 = 0;
   int l_count_32 = 0;
   int l_count_36 = 0;
   int l_ticket_40 = -1;
   int l_pos_44 = 0;
   for (l_pos_44 = 0; l_pos_44 < OrdersTotal(); l_pos_44++) {
      OrderSelect(l_pos_44, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderCloseTime() == 0) {
         l_count_36++;
         if (OrderType() == OP_BUY) {
            l_count_28++;
            g_ord_open_price_344 = OrderOpenPrice();
         }
         if (OrderType() == OP_SELL) {
            l_count_32++;
            g_ord_open_price_352 = OrderOpenPrice();
         }
      }
   }
   if (Tradetime() == 1) {
      if (Tradetime2() == 1) {
         Comment("\\EuroGBP Scalper",
            "\nIstirahat Dulu... Senin Pagi,Siang & Malam dan Jumat Siang & Malam (WIB)",
            "\n\nMulai Trading Jam    = ", OpenHour,
            "\nSelesai Trading Jam  = ", CloseHour,
            "\nSekarang Jam          = ", Hour(),
            "\n\nFractal Envelope       = " + gi_472 + " pips",
            "\nMidFractal                = " + DoubleToStr(gd_480, 4),
            "\nATR(5)                    = " + gi_488 + " pips",
            "\n\nL O T S                   =  " + DoubleToStr(GetLots(), 2),
            "\nB A L A N C E          =  " + DoubleToStr(AccountBalance(), 2),
            "\nE Q U I T Y             =  " + DoubleToStr(AccountEquity(), 2),
            "\n\n\nEA ini FREE dan terus dikembangkan...",
            "\nAnda dapat konsultasi/diskusi untuk cara penggunaan ataupun pengembangannya",
            "\nsebagai wujud partisipasi anda dalam mendukung berlanjutnya kreatifitas kami...",
            "\ndiharapkan bantuan berupa donasi seikhlasnya...",
            "\n\nhubungi : abdulrahman_maros@yahoo.com",
         "\nAbdul Rahman ==> BCA : 7990026640  / LR : U7067895");
      } else {
         Comment("\\EuroGBP Scalper",
            "\nIstirahat Dulu... Senin Pagi,Siang & Malam dan Jumat Siang & Malam (WIB)",
            "\n\nMulai Trading Jam    = ", OpenHour,
            "\nSelesai Trading Jam  = ", CloseHour,
            "\nSekarang Jam          = ", Hour(),
            "\n\nFractal Envelope       = " + gi_472 + " pips",
            "\nMidFractal                = " + DoubleToStr(gd_480, 4),
            "\nATR(5)                    = " + gi_488 + " pips",
            "\n\nL O T S                   =  " + DoubleToStr(GetLots(), 2),
            "\nB A L A N C E          =  " + DoubleToStr(AccountBalance(), 2),
            "\nE Q U I T Y             =  " + DoubleToStr(AccountEquity(), 2),
            "\n\n\nEA ini FREE dan terus dikembangkan...",
            "\nAnda dapat konsultasi/diskusi untuk cara penggunaan ataupun pengembangannya",
            "\nsebagai wujud partisipasi anda dalam mendukung berlanjutnya kreatifitas kami...",
            "\ndiharapkan bantuan berupa donasi seikhlasnya...",
            "\n\nhubungi : abdulrahman_maros@yahoo.com",
         "\nAbdul Rahman ==> BCA : 7990026640  / LR : U7067895");
         if (l_count_36 <= MaxTrades) {
            if (g_bars_360 != Bars) {
               g_count_340 = 0;
               g_bars_360 = Bars;
            }
            RefreshRates();
            if (l_count_32 <= MaxTradePerPosition && li_20 && g_count_340 <= MaxTradePerBar && (Ask - g_ord_open_price_352 >= SignalFilter * mypoint || l_count_32 < 1 && Ask >= gd_480 +
               PriceFromFractal * mypoint) && GetSignal(1) == 1) {
               if (AccountFreeMarginCheck(Symbol(), OP_SELL, GetLots()) <= 0.0 || GetLastError() == 134/* NOT_ENOUGH_MONEY */) Print("Bro, udah nggak punya Margin lagi nih, nggak bisa OP...");
               else {
                  if (HiddenTP == TRUE) l_ticket_40 = OrderSend(Symbol(), OP_SELL, GetLots(), Bid, Slippage, Bid + SL2 * mypoint, 0, "Your_Lucky" + Symbol(), Magic, 0, Red);
                  else l_ticket_40 = OrderSend(Symbol(), OP_SELL, GetLots(), Bid, Slippage, Bid + SL2 * mypoint, Bid - TP * mypoint, "Your_Lucky" + Symbol(), Magic, 0, Red);
                  if (l_ticket_40 > 0) g_count_340++;
               }
            }
            if (l_count_28 <= MaxTradePerPosition && li_20 && g_count_340 <= MaxTradePerBar && (g_ord_open_price_344 - Bid >= SignalFilter * mypoint || l_count_28 < 1 && Bid <= gd_480 - PriceFromFractal * mypoint) &&
               GetSignal(0) == 1) {
               if (AccountFreeMarginCheck(Symbol(), OP_BUY, GetLots()) <= 0.0 || GetLastError() == 134/* NOT_ENOUGH_MONEY */) Print("Bro, udah nggak punya Margin lagi nih, nggak bisa OP...");
               else {
                  if (HiddenTP == TRUE) l_ticket_40 = OrderSend(Symbol(), OP_BUY, GetLots(), Ask, Slippage, Ask - SL2 * mypoint, 0, "Your_Lucky" + Symbol(), Magic, 0, Blue);
                  else l_ticket_40 = OrderSend(Symbol(), OP_BUY, GetLots(), Ask, Slippage, Ask - SL2 * mypoint, Ask + TP * mypoint, "Your_Lucky" + Symbol(), Magic, 0, Blue);
                  if (l_ticket_40 > 0) g_count_340++;
               }
            }
         }
      }
   } else {
      Comment("\\EuroGBP Scalper",
         "\nIstirahat Dulu... Senin Pagi,Siang & Malam dan Jumat Siang & Malam (WIB)",
         "\n\nMulai Trading Jam    = ", OpenHour,
         "\nSelesai Trading Jam  = ", CloseHour,
         "\nSekarang Jam          = ", Hour(),
         "\n\nFractal Envelope       = " + gi_472 + " pips",
         "\nMidFractal                = " + DoubleToStr(gd_480, 4),
         "\nATR(5)                    = " + gi_488 + " pips",
         "\n\nL O T S                   =  " + DoubleToStr(GetLots(), 2),
         "\nB A L A N C E          =  " + DoubleToStr(AccountBalance(), 2),
         "\nE Q U I T Y             =  " + DoubleToStr(AccountEquity(), 2),
         "\n\n\nEA ini FREE dan terus dikembangkan...",
         "\nAnda dapat konsultasi/diskusi untuk cara penggunaan ataupun pengembangannya",
         "\nsebagai wujud partisipasi anda dalam mendukung berlanjutnya kreatifitas kami...",
         "\ndiharapkan bantuan berupa donasi seikhlasnya...",
         "\n\nhubungi : abdulrahman_maros@yahoo.com",
      "\nAbdul Rahman ==> BCA : 7990026640  / LR : U7067895");
   }
   CloseAll();
   return (0);
}

int GetSignal(int ai_0) {
   bool li_ret_4 = FALSE;
   if (ai_0 == 0) {
      if (iClose(Symbol(), 0, 0) < iMA(Symbol(), 0, IMA_PERIOD, 0, MODE_SMA, PRICE_OPEN, 0)) li_ret_4 = TRUE;
   } else {
      if (ai_0 == 1)
         if (iClose(Symbol(), 0, 0) > iMA(Symbol(), 0, IMA_PERIOD, 0, MODE_SMA, PRICE_OPEN, 0)) li_ret_4 = TRUE;
   }
   return (li_ret_4);
}

void CloseAll() {
   for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) {
      OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderCloseTime() == 0) {
         if (SecurProfit() == 1) {
            if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Blue);
            if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
         } else {
            if (Tradetime() == 0) {
               if (OrderType() == OP_BUY && (OrderOpenPrice() - Ask) / mypoint > SL1) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Blue);
               if (OrderType() == OP_SELL && (Bid - OrderOpenPrice()) / mypoint > SL1) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
            } else {
               if (OrderType() == OP_BUY && (OrderOpenPrice() - Ask) / mypoint > SL2) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Blue);
               if (OrderType() == OP_SELL && (Bid - OrderOpenPrice()) / mypoint > SL2) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
            }
         }
      }
   }
}

void ForceCloseAll() {
   for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) {
      OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderCloseTime() == 0) {
         if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Blue);
         if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
      }
   }
}

int Tradetime() {
   bool li_ret_0 = FALSE;
   if (Hour() <= CloseHour || Hour() >= OpenHour) li_ret_0 = TRUE;
   return (li_ret_0);
}

int Tradetime2() {
   bool li_ret_0 = FALSE;
   if ((DayOfWeek() == 1 && Hour() <= OpenHour) || (DayOfWeek() == 5 && Hour() >= CloseHour)) li_ret_0 = TRUE;
   return (li_ret_0);
}

double GetLots() {
   double ld_ret_0;
   int li_48;
   double l_lotsize_40 = MarketInfo(Symbol(), MODE_LOTSIZE);
   double ld_8 = NormalizeDouble(MarketInfo(Symbol(), MODE_LOTSTEP), 2);
   double ld_16 = NormalizeDouble(MarketInfo(Symbol(), MODE_MARGINREQUIRED), 4);
   double ld_24 = 100.0 * (ld_16 + 5.0);
   if (LotsDigit == 0) {
      if (ld_8 == 0.01) li_48 = 2;
      else li_48 = 1;
      LotsDigit = li_48;
   }
   if (MM == TRUE) ld_ret_0 = NormalizeDouble(AccountFreeMargin() * Risk / l_lotsize_40 / MaxTrades, LotsDigit);
   else ld_ret_0 = Lots;
   double ld_32 = NormalizeDouble(MarketInfo(Symbol(), MODE_MINLOT), 2);
   if (ld_ret_0 < ld_32) ld_ret_0 = ld_32;
   if (ld_ret_0 > MaxLots) ld_ret_0 = MaxLots;
   return (ld_ret_0);
}

double TickValue() {
   double ld_0 = NormalizeDouble(MarketInfo(Symbol(), MODE_TICKVALUE), 4);
   return (ld_0);
}

int SecurProfit() {
   bool li_ret_0 = FALSE;
   if (OrderProfit() > TickValue() * GetLots() * TP) li_ret_0 = TRUE;
   return (li_ret_0);
}