#property copyright "FX- MACH 3 V1.02 04/05/2017 -  Rodolfo Leonardo"
#property link      "rodolfo.leonardo@gmail.com"
#property version   "1.02"
#property description "Robo 100% FREE sem restrições"

#property description "04-05-2017 : Incluido filtro de data, InitMultiplicador , BreakEven, AlertPushEquityLoss,CloseAllEquityLoss e separado parametros por Robo"


/////////////////////////////////////////////////////
extern string FFCall = "Noticias FFCall";
extern int MinsBeforeNews = 60; // mins before an event to stay out of trading
extern int MinsAfterNews  = 20; // mins after  an event to stay out of trading
extern bool UseFFCall = true;
extern bool IncludeHigh = true;
bool NewsTime;
/////////////////////////////////////////////////////
extern string Configuracoes = "Configurações Globais";
extern double EquityLossMoney = 0.0;
extern double EquityLossPercent = 0.0;
extern bool AlertPushEquityLoss = false;
extern bool STOPDayEquityLoss = false;
extern bool CloseAllEquityLoss =  false;

extern double Lots = 0.01;

extern double TakeProfit = 40.0;
extern bool MM = FALSE;
extern double Risk = 1.0;
extern double MaxSpread = 15;


///////////////// ROBO 1 /////////////////////////////
extern string t3 = "Robo 1 - (COMPRADOR) Parametros";
extern bool HabilitaRobot1 = false;
extern int PeriodRSI = 5; // de 0 a 9 
extern int MaxTrades_Robot1 = 60;
extern int MagicNumber_Robot1 = 11112222;
extern double LotExponent_robo1 = 1.55;
//extern int BreakEven_Robo1 = 7;
extern int InitMultiplicador_Robo1 = 0;
extern double PipStepRobo1 = 35.0;

string XGs_412 = "Robo 1 ";

/////////////////ROBO 2 //////////////////////////////
extern string t4 = "Robo 2 - (VENDEDOR) Parametros";
extern bool HabilitaRobot2 = true;
extern int MaxTrades_Robot2 = 60;
extern double LotExponent_robo2 = 1.55;
extern int TimeFrame_Robot2 = PERIOD_M15;
extern int MagicNumber_Robot2 = 99998888;
//extern int BreakEven_Robo2 = 7;
extern int InitMultiplicador_Robo2 = 0;
extern double PipStepRobo2 = 35.0;

string XGs_700 = "Robo 2";
 double PipsGrid_Robot2 = 500.0;
///////////// ROBO 3 ////////////////////////////////

  string t5 = "Robo 3 -  Parametros";
  bool HabilitaRobot3 = false;
  int MagicNumber_Robot3 = 16794;
  int MaxTrades_Robot3 = 0;
  double PipStepRobo3 = 15.0;
   double LotExponent_robo3 = 1.55;
int XG_timeframe_840 = PERIOD_M1;
double XG_pips_848 = 500.0;
string XGs_988 = "Robo 3";

///////////////////////////////////////////////
extern string TimeFilter__ = "Filtro de Data e Hora";
extern bool UtilizeTimeFilter =false; 
extern bool Trade_in_Monday  =true; 
extern bool Trade_in_Tuesday =true; 
extern bool Trade_in_Wednesday=true;
extern bool Trade_in_Thursday=true; 
extern bool Trade_in_Friday  =true;

extern string StartHour = "00:00"; 
extern string EndHour   = "23:59";  

extern string DashBoard__ = "Exibição de DashBoard";
extern bool DisableMenu = true;

 int lotdecimal = 2;
 bool Turbo = FALSE;
 bool NewCycle = TRUE;

 




int XG_timeframe_124;
double XG_lots_128 = 20.0;
bool XGi_156 = FALSE;
double XGd_160 = 20.0;
bool XGi_168 = FALSE;
double XGd_172 = 13.0;
double XGd_180 = 3.0;
double XGd_188 = 5.0;

int XGi_224;
bool XGi_252 = FALSE;
double XGd_256 = 48.0;
double XG_pips_268 = 15.0;
double XGd_292;
double XG_slippage_300;
double XG_price_312;
double XGd_320;
double XGd_unused_328;
double XGd_unused_336;
double XGd_344;
double XGd_352;
double XG_price_360;
double XGd_368;
double XGd_376;
double XGd_384;
double XGd_392;
double XGd_400;
bool XGi_408;

int XGi_420 = 0;
int XGi_424;
int XGi_428 = 0;
double XGd_432;
int XG_pos_440 = 0;
int XGi_444;
double XGd_448 = 0.0;
bool XGi_456 = FALSE;
bool XGi_460 = FALSE;
bool XGi_464 = FALSE;
int XGi_468;
bool XGi_472 = FALSE;
double XGd_476;
double XGd_484;
double XGd_288 = 0.0;

int XGi_520;

bool XGi_584 = FALSE;
double XGd_588 = 48.0;
double XGd_596;
double XG_slippage_604;

double XG_price_616;
double XGd_624;
double XGd_unused_632;
double XGd_unused_640;
double XG_price_648;
double XGd_656;
double XGd_664;
double XGd_672;
double XGd_680;
double XGd_688;
bool XGi_696;

int XGi_708 = 0;
int XGi_712;
int XGi_716 = 0;
double XGd_720;
int XG_pos_728 = 0;
int XGi_732;
double XGd_736 = 0.0;
bool XGi_744 = FALSE;
bool XGi_748 = FALSE;
bool XGi_752 = FALSE;
int XGi_756;
bool XGi_760 = FALSE;
double XGd_764;
double XGd_772;
int XG_datetime_780 = 1;

int XGi_812;

bool XGi_872 = FALSE;
double XGd_876 = 48.0;
double XGd_884;
double XG_slippage_892;

double XG_price_904;
double XGd_912;
double XGd_unused_920;
double XGd_unused_928;
double XG_price_936;
double XGd_944;
double XGd_952;
double XGd_960;
double XGd_968;
double XGd_976;
bool XGi_984;


int XGi_996 = 0;
int XGi_1000;
int XGi_1004 = 0;
double XGd_1008;
int XG_pos_1016 = 0;
int XGi_1020;
double XGd_1024 = 0.0;
bool XGi_1032 = FALSE;
bool XGi_1036 = FALSE;
bool XGi_1040 = FALSE;
int XGi_1044;
bool XGi_1048 = FALSE;
double XGd_1052;
double XGd_1060;
int XG_datetime_1068 = 1;
string XG_text_1072;
string XG_text_1080;
string XG_dbl2str_1088 = "";
string XG_dbl2str_1096 = "";
int XG_color_1104 = ForestGreen;
int PararDiaSTOP = 999;
/////////////////////////////////////////////////

 int TamanhoTelaX = 245;
 int TamanhoTelaY = 900;

 string _____Product_name_______ = "FX- MACH 3 ";
 string CC1______________________ = "========= License settings =========";
 string PassKey = "";
 string CC2______________________ = "========= Common settings =========";
 int MagicNumber = 0;
 string CommentForOrder = "FX- MACH 3";
 int OrderSlippage = 3;
 string CC3______________________ = "========= Money management =========";
 double RiskPercent = 1.0;
 double LOT = 0.0;
 string CC4______________________ = "========= SL / TP settings =========";
 double StopLoss = 40.0;
//extern double TakeProfit = 80.0;
 double TrailingStop = 25.0;
 string CC41 = " TrailingStopAt: 0 - after BreakEventAt; x - after x pips";
 double TrailingStopAt = 0.0;
 bool ForceSetSLTPIfMissing = FALSE;
 string CC5______________________ = "========= Break Even settings =========";
 double BreakEvenAt = 0.0;
 double BreakEvenPips = 0.0;
 string CC6______________________ = "========= Partial Close settings =========";
 double QuickPartialClose = 50.0;
 double PartialClosePos1 = 0.0;
 double PartialClosePercent1 = 50.0;
 double PartialClosePos2 = 0.0;
 double PartialClosePercent2 = 50.0;
 double PartialClosePos3 = 0.0;
 double PartialClosePercent3 = 50.0;
 string CC13_____________________ = "========= Trendline handling =========";
 bool UseTrendLines = FALSE;
 bool UseChannels = FALSE;
 bool TrueTLSupport = FALSE;
bool OppositeTrendLineOrder = FALSE;
bool OpenAfterCandleClose = FALSE;
 bool DeleteTrendLinesAfterOpen = TRUE;
 bool TrendLinesOCOMode = FALSE;
string CC19_____________________ = "========= Pending line handling =========";
bool UsePendingLines = FALSE;
color PendingLineColor = LightSkyBlue;
 bool PendingOCOMode = FALSE;
 string CC20_____________________ = "========= Auto Close-All settings =======";
 double AutoCloseAllProfitMoney = 0.0;
 double AutoCloseAllProfitPercent = 0.0;
double AutoCloseAllLossMoney = 0.0;
 double AutoCloseAllLossPercent = 0.0;
string CC15_____________________ = "========= Grid feature settings =========";
bool gi_392 = TRUE;
double GridStep = 20.0;
 int GridMaxOrderCount = 10;
 double GridLotMultiplier = 1.6;
bool GridReCalculateSLTP = TRUE;
bool AutoGridMode = FALSE;
string gs_nsd_424 = "========= Hedge feature settings =========";
bool gi_432 = TRUE;
  string CC7______________________ = "========= Visual settings =========";
  bool DrawPriceLabel = TRUE;
  bool BackgroundOpacity = FALSE;
int gi_452 = 2958105;
  string CC71____________________ = "========= Control line settings =========";
  bool ShowControlLineLabels = TRUE;
  int ControlLineOffset = 10;
 color ControlLineLabelColor = Black;
 color StopLossColor = Red;
 color TakeProfitColor = LimeGreen;
 color PartialCloseColor = Orange;
 color BreakEvenColor = LightSkyBlue;
extern string CC8______________________ = "========= Account Panel settings =========";
extern bool ShowAccountPanel = TRUE;
extern int AccountPanelX = 25;
extern int AccountPanelY = 25;
extern color AveragePriceLineColor = SlateGray;
 string CC9______________________ = "========= Control Panel settings =========";
 bool ShowControlPanel = FALSE;
 int ControlPanelX = -220;
 int ControlPanelY = 25;
 string CC10_____________________ = "========= Order list settings =========";
 bool ShowOrderListPanel = FALSE;
 int OrderListPanelX = 25;
 int OrderListPanelY = 220;
 string CC81 = " 0 - Side by order list, 1 - Bottom of order list";
 int PropertiesPanelPos = 1;
extern string CC11_____________________ = "========= Profit Panel settings =========";
extern bool ShowProfitPanel = TRUE;
extern int ProfitPanelX = 200;
extern int ProfitPanelY = 25;
extern string CC16_____________________ = "========= Dashboard Panel settings =========";
extern bool ShowDashboard = TRUE;
extern int DashboardX = -220;
extern int DashboardY = 200;
extern double DashboardSpreadRedValue = 3.0;
extern bool Dashboard_OnlyCurrentTF = FALSE;
extern int Dashboard_MAPeriod = 14;
extern int Dashboard_MAMode = 1;
extern int Dashboard_MAPrice = 0;
extern int Dashboard_CCIPeriod = 14;
extern int Dashboard_CCIPrice = 5;
extern int Dashboard_RSIPeriod = 14;
extern int Dashboard_RSIPrice = 5;
extern int Dashboard_StochKPeriod = 8;
extern int Dashboard_StockDPeriod = 3;
extern int Dashboard_StochSlowing = 3;
extern int Dashboard_StochMode = 1;
extern int Dashboard_StochPrice = 0;
extern int Dashboard_1VS_FractalMTF = 240;
  string CC12_____________________ = "========= Notifications =========";
  bool ShowNotifications = TRUE;
 string CC14_____________________ = "========= Extra features =========";
 bool StealthMode = FALSE;
 double DontAllowOrderOpenMaxSpread = 0.0;
extern bool ShowPivotPoints = TRUE;
extern bool ShowNextCandleTime = TRUE;
extern color NextCandleTimeTextColor = White;
extern bool ShowSentinelAlerts = TRUE;
 string CC17_____________________ = "======= Performance settings =========";
 int TickTime = 200;
 int BackTestTime = 50;
bool gi_732 = FALSE;
bool gi_736 = FALSE;
bool gi_nsd_740 = TRUE;
int gi_nsd_744 = 0;
double gd_748 = 0.0;
int gi_756;
int gi_760;
int gi_764 = 0;
int gi_768 = 0;
int g_dttm_772 = 0;
bool g_bool_776 = FALSE;
double g_bid_780;
double g_ask_788 = 0.0;
bool gi_796 = FALSE;
int g_dttm_800 = 0;
int gi_804 = 0;
bool gi_808 = FALSE;
bool g_bool_812 = FALSE;
int gi_816 = 1000;
int g_ticket_820 = -1;
string gs_824 = "127.0.0.1";
int gi_832 = 42780;
int gi_836 = 0;
int gi_840 = 16;
bool g_bool_844 = TRUE;
bool gi_848 = FALSE;
bool g_bool_852 = TRUE;
bool g_bool_856 = FALSE;
string g_name_860 = "";
string g_str_concat_868 = "";
double gd_876 = 1.0;
string gs_884;
string gs_892;
string gsa_900[] = {"M1", "M5", "M15", "M30", "H1", "H4", "D1", "W1", "MN"};
int gia_904[] = {1, 5, 15, 30, 60, 240, 1440, 10080, 43200};
int gi_nsd_908 = 1;
int gi_nsd_912 = 10;
int gi_nsd_916 = 10;
int gi_nsd_920 = 6;
string gs_nsd_924 = "Verdana";
int gi_932 = -1;
int gi_936 = 3145645;
int gi_940 = 255;
int g_fontsize_944 = 8;
bool gi_948 = FALSE;
int gi_952 = 3;
string g_comment_956 = "";
bool g_bool_964 = FALSE;
int g_ticket_968 = -1;
int gi_972;
int gi_nsd_976;
int gi_nsd_980;
string gs_984 = "";
int gi_992 = 0;
string gs_996 = "DrW.";
string gs_1004 = "TA";
string gs_1012 = "SL";
string gs_1020 = "TP";
string gs_nsd_1028 = "TSL";
string gs_1036 = "BE";
string gs_1044 = "PC";
string gs_pc1_1052 = "PC1";
string gs_pc2_1060 = "PC2";
string gs_pc3_1068 = "PC3";
string gs_grid_1076 = "GRID";
string gs_1084 = "GRIDPARENT";
string gs_1092 = "GRIDLEVEL";
string gs_1100 = "GRIDPRICE";
string gs_avgprice_1108 = "AVGPRICE";
string gs_pending_1116 = "PENDING";
string gs_1124 = "LASTTRENDOPEN";
string gs_udplog_1132 = "UDPLog";
double gd_nsd_1140 = 0.0;
double gd_nsd_1148 = 0.0;
double gd_nsd_1156 = 0.0;
double gd_nsd_1172 = 0.0;
int g_corner_1180 = 0;
int gia_1184[4];
int gia_1188[4];
int gi_1192;
int gi_1196;
int gia_1200[3];
int gi_1204 = 1;
string gs_1208 = "ZNTF_";
int gi_1216 = 0;
int gi_1220 = 2000;
int gi_1224 = 20;
int gi_1228 = 400;
int gi_nsd_1232 = 50;
bool gi_1236 = FALSE;
int g_fontsize_1240 = 10;
int g_clr_1244 = C'0xE6,0xE6,0xE6';
int gi_1248 = 15;
int gia_1252[6][8];
string gsa_1256[6];
string gs_1260 = "XCP_";
int gi_1268;
int gi_1272;
int gi_1276 = 170;
int gi_1280 = 170;
string gs_1284 = "OL_";
int gia_1292[11];
int gi_1296 = 0;
int gi_1300 = 24;
int gi_1304 = 12;
int gi_1308;
int gi_1312;
int gi_1316 = 170;
int gi_1320 = 170;
bool gi_1324 = FALSE;
int g_dttm_1328 = 0;
string gs_1332 = "PP_";
bool gi_1340 = FALSE;
int gi_1344;
int gi_1348;
int gi_1352 = 320;
int gi_1356 = 160;
int gi_1360 = 220;
int gi_1364 = 30;
int gi_1368 = 86;
int gi_1372 = 20;
int gi_1376 = 25;
string gs_1380 = "AP_";
int gi_1388 = 28;
int gi_1392 = 14;
int gi_1396;
int gi_1400;
int gi_nsd_1404 = 170;
int gi_1408 = 170;
bool gi_nsd_1412 = FALSE;
string gs_1416 = "ProfitP_";
int gi_1424 = 28;
int gi_1428 = 14;
int gi_1432;
int gi_1436;
int gi_nsd_1440 = 170;
int gi_1444 = 170;
bool gi_nsd_1448 = FALSE;
bool gi_1452 = TRUE;
int gi_1456 = 86400;
string gs_1460 = "Dashboard_";
int gi_1468;
int gi_1472;
int gi_nsd_1476 = 170;
int gi_1480 = 170;
bool gi_1484 = FALSE;
string gs_1488 = ".Pivot_";
double gd_1496;
double gd_1504;
double gd_1512;
double gd_1520;
double gd_1528;
double gd_1536;
double gd_1544;
int gi_1552 = 14822282;
int gi_1556 = 3329434;
int gi_1560 = 16776960;
int gi_nsd_1564 = 8421504;
int gi_nsd_1568 = 6908265;
int gi_1572 = 7;
string gs_1576 = "BNextBar_";
int g_count_1584 = 0;
string gsa_1588[50];
int g_count_1592 = 0;
bool gi_1596 = FALSE;
bool gi_1600 = FALSE;
///////////////////////////////////////


 // Function to check if it is news time
 void NewsHandling()
 {
     static int PrevMinute = -1;

     if (Minute() != PrevMinute)
     {
         PrevMinute = Minute();
    
     // Use this call to get ONLY impact of previous event
     int impactOfPrevEvent = 
            iCustom(NULL, 0, "FFCal", true, true, false, true, true, 2, 0);

     // Use this call to get ONLY impact of nexy event
     int impactOfNextEvent = 
            iCustom(NULL, 0, "FFCal", true, true, false, true, true, 2, 1);

         int minutesSincePrevEvent =
             iCustom(NULL, 0, "FFCal", true, true, false, true, false, 1, 0);
 
         int minutesUntilNextEvent =
             iCustom(NULL, 0, "FFCal", true, true, false, true, false, 1, 1);
 
         NewsTime = false;
         if ((minutesUntilNextEvent <= MinsBeforeNews) || 
             (minutesSincePrevEvent <= MinsAfterNews))
         {
             NewsTime = true;
         }
     }
 }//newshandling
 
// E37F0136AA3FFAF149B351F6A4C948E9
int init() {

if(!DisableMenu)init2();

XGi_744 = TRUE;
   XGd_400 = MarketInfo(Symbol(), MODE_SPREAD) * Point;
   XGd_688 = MarketInfo(Symbol(), MODE_SPREAD) * Point;
   XGd_976 = MarketInfo(Symbol(), MODE_SPREAD) * Point;
   ObjectCreate("Lable1", OBJ_LABEL, 0, 0, 1.0);
   ObjectSet("Lable1", OBJPROP_CORNER, 2);
   ObjectSet("Lable1", OBJPROP_XDISTANCE, 23);
   ObjectSet("Lable1", OBJPROP_YDISTANCE, 21);
   XG_text_1080 = " EA MACH 3";
   ObjectSetText("Lable1", XG_text_1080, 16, "Times New Roman", Aqua);
   ObjectCreate("Lable", OBJ_LABEL, 0, 0, 1.0);
   ObjectSet("Lable", OBJPROP_CORNER, 2);
   ObjectSet("Lable", OBJPROP_XDISTANCE, 3);
   ObjectSet("Lable", OBJPROP_YDISTANCE, 1);
   XG_text_1072 = " ";
   ObjectSetText("Lable", XG_text_1072, 16, "Times New Roman", DeepSkyBlue);
   return (0);
}
	  		  					 	  	  		 	  	 			   	    	     		  			 	 		  			 	  	 	   			 	   					  		 	 	  			  		 	 	    	   	 		 					 		   		   	 			 			 	
// 52D46093050F38C27267BCE42543EF60
int deinit() {
if(!DisableMenu)deinit2();
   ObjectDelete("Lable");
   ObjectDelete("Lable1");
   ObjectDelete("Lable2");
   ObjectDelete("Lable3");
   return (0);
}
	
	
// BC923F6CA29E7C93CDFEA0D2DFB5608A
void CloseAll() {
   for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {
      OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol()) {
         if (OrderSymbol() == Symbol() ) {
            if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, 10, Blue);
            if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 10, Red);
         }
         Sleep(1000);
      }
   }
}

// BC923F6CA29E7C93CDFEA0D2DFB5608A
void HedgeAll() {
   for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {
      OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol()) {
         if (OrderSymbol() == Symbol() ) {
            if (OrderType() == OP_BUY) {   OrderSend(Symbol(), OP_SELL, OrderLots(), NormalizeDouble(Bid, Digits), 10, 0, 0, "HedgeAll", OrderMagicNumber(), 0, Red);
           //error_64 = GetLastError();
         }
            if (OrderType() == OP_SELL) {   OrderSend(Symbol(), OP_BUY, OrderLots(), NormalizeDouble(Ask, Digits), 10, 0,0, "HedgeAll", OrderMagicNumber(), 0, Blue);
           // error_64 = GetLastError();
         } 
         }
         Sleep(1000);
      }
   }
}

    	   		 	  	     					     			 						  	  	 			 		 	 	  					  		   	  		   		 			 		  			      			   		  			   		  			   									 			  		 
// EA2B2676C28C0DB26D39331A336C6B92
int start() {
if(!DisableMenu) start2();

 if(UtilizeTimeFilter && !TimeFilter()) return (0);
 
     
double vSpread = MarketInfo(Symbol(), MODE_SPREAD);
   if (vSpread > MaxSpread ) return (0);

 //////////////////////////////////////////////////////////////
//if(UseFFCall) NewsHandling();
//if(NewsTime && UseFFCall) return(0);

//////////////////////////////////////////////////////////////


 //////////////////////////////////////////////////////////////
 
double XGd_288 = AccountBalance() - AccountEquity() ;


 if (EquityLossPercent > 0.0) {
 
   double Gd_280 = 0;
   if(AccountBalance() == 0)
   Gd_280 = 0;
   else
   Gd_280 = 100.0 * (XGd_288 / AccountBalance());
   
   if (Gd_280 > 0.0 && Gd_280 >= EquityLossPercent  ) {
              // Print("Close all EquityLossMoney");
              if(CloseAllEquityLoss) CloseAll();
              // HedgeAll();
              // Print("Account #", AccountNumber(), " Patrimônio líquido atingiu o nível de ", XGd_288, " " + AccountCurrency() + ". Todos os comércios " + Ls_4 + "Será fechado. EquityLossMoney=",
               //   EquityLossMoney, " " + AccountCurrency());
              if(STOPDayEquityLoss) PararDiaSTOP =  1;
              
              if(AlertPushEquityLoss) SendNotification("EquityLossPercent "+ Gd_280);
   }
}
 if (EquityLossMoney > 0.0) {
 
    if (XGd_288 > 0.0 && XGd_288 >= EquityLossMoney  ) {
              // Print("Close all EquityLossMoney");
               if(CloseAllEquityLoss)  CloseAll();
              // HedgeAll();
              // Print("Account #", AccountNumber(), " Patrimônio líquido atingiu o nível de ", XGd_288, " " + AccountCurrency() + ". Todos os comércios " + Ls_4 + "Será fechado. EquityLossMoney=",
               //   EquityLossMoney, " " + AccountCurrency());
              if(STOPDayEquityLoss) PararDiaSTOP =  1;
              
              if(AlertPushEquityLoss) SendNotification("EquityLossMoney "+ XGd_288);
    }
}
 if(XGd_288== 0 )PararDiaSTOP = 9999;
       
 if(PararDiaSTOP != 1){
    // //PararDiaSTOP = 9999;
   }else{return (0);}
   
//////////////////////////////////////////////////////////////
   double ihigh_4;
   double ilow_12;
   double iclose_20;
   double iclose_28;
   double XLd_96;
   double XLd_180;
   double XLd_188;
   int XLi_196;
   int Xcount_200;
   double XLd_276;
   double XLd_284;
   int XLi_292;
   int Xcount_296;
   int ind_counted_0 = IndicatorCounted();
  
   if (Lots > XG_lots_128) Lots = XG_lots_128;
   //Comment("" 
   //   + "\n" 
   //   + "FX FX- MACH 3" 
   //   + "\n" 
   //   + "________________________________" 
   //   + "\n" 
   //   + "Broker :  " + AccountCompany() 
   //   + "\n" 
   //   + "Date and Time :  " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS) 
   //   + "\n" 
   //   + "________________________________" 
   //   + "\n" 
   //   + "Name :  " + AccountName() 
   //   + "\n" 
   //   + "Account Number :  " + AccountNumber() 
   //   + "\n" 
   //   + "Currency :  " + AccountCurrency() 
   //   + "\n" 
   //   + "_______________________________" 
   //   + "\n" 
   //   + "Amount of Robo 1 OP :  " + Xf0_4() 
   //   + "\n" 
   //   + "Amount of Robo 2 OP  :  " + Xf0_5() 
   //   + "\n" 
   //   + "Amount of Robo 3 OP   :  " + Xf0_12() 
   //   + "\n" 
   //   + "Total Open Positions   :  " + OrdersTotal() 
   //   + "\n" 
   //   + "_______________________________" 
   //   + "\n" 
   //   + "Balance        :  " + DoubleToStr(AccountBalance(), 2) 
   //   + "\n" 
   //   + "Current Equity :  " + DoubleToStr(AccountEquity(), 2) 
   //   + "\n" 
   //+ "_______________________________");
   if (PeriodRSI == 1) XG_timeframe_124 = 1;
   if (PeriodRSI == 2) XG_timeframe_124 = 5;
   if (PeriodRSI == 3) XG_timeframe_124 = 15;
   if (PeriodRSI == 4) XG_timeframe_124 = 30;
   if (PeriodRSI == 5) XG_timeframe_124 = 60;
   if (PeriodRSI == 6) XG_timeframe_124 = 240;
   if (PeriodRSI == 7) XG_timeframe_124 = 1440;
   if (PeriodRSI == 8) XG_timeframe_124 = 10080;
   if (PeriodRSI == 9) XG_timeframe_124 = 43200;
   if (PeriodRSI == 0) XG_timeframe_124 = Period();
   XGd_344 = NormalizeDouble(AccountBalance(), 2);
   XGd_352 = NormalizeDouble(AccountEquity(), 2);
   if (XGd_352 >= 5.0 * (XGd_344 / 6.0)) XG_color_1104 = DodgerBlue;
   if (XGd_352 >= 4.0 * (XGd_344 / 6.0) && XGd_352 < 5.0 * (XGd_344 / 6.0)) XG_color_1104 = DeepSkyBlue;
   if (XGd_352 >= 3.0 * (XGd_344 / 6.0) && XGd_352 < 4.0 * (XGd_344 / 6.0)) XG_color_1104 = Gold;
   if (XGd_352 >= 2.0 * (XGd_344 / 6.0) && XGd_352 < 3.0 * (XGd_344 / 6.0)) XG_color_1104 = OrangeRed;
   if (XGd_352 >= XGd_344 / 6.0 && XGd_352 < 2.0 * (XGd_344 / 6.0)) XG_color_1104 = Crimson;
   if (XGd_352 < XGd_344 / 5.0) XG_color_1104 = Red;
  // ObjectDelete("Lable2");
  // ObjectCreate("Lable2", OBJ_LABEL, 0, 0, 1.0);
  // ObjectSet("Lable2", OBJPROP_CORNER, 3);
  // ObjectSet("Lable2", OBJPROP_XDISTANCE, 153);
 //  ObjectSet("Lable2", OBJPROP_YDISTANCE, 31);
   XG_dbl2str_1088 = DoubleToStr(AccountBalance(), 2);
  // ObjectSetText("Lable2", "BALANCE     " + XG_dbl2str_1088 + "", 16, "Times New Roman", DodgerBlue);
  // ObjectDelete("Lable3");
  // ObjectCreate("Lable3", OBJ_LABEL, 0, 0, 1.0);
  // ObjectSet("Lable3", OBJPROP_CORNER, 3);
  // ObjectSet("Lable3", OBJPROP_XDISTANCE, 153);
  // ObjectSet("Lable3", OBJPROP_YDISTANCE, 11);
   XG_dbl2str_1096 = DoubleToStr(AccountEquity(), 2);
  // ObjectSetText("Lable3", "EQUITY     " + XG_dbl2str_1096 + "", 16, "Times New Roman", XG_color_1104);
  
  
  
   double XLd_36 = LotExponent_robo1;
   int XLi_44 = lotdecimal;
   double XLd_48 = TakeProfit;
   bool XLi_56 = XGi_156;
   double XLd_60 = XGd_160;
   bool XLi_68 = XGi_168;
   double XLd_72 = XGd_172;
   double XLd_80 = XGd_180;
   double XLd_88 = XGd_188;
   XGi_224 = Xf0_4();
   if (Turbo) {
      if (XGi_224 == 1) XGd_292 = PipStepRobo1 / 3.0;
      if (XGi_224 == 2) XGd_292 = 2.0 * (PipStepRobo1 / 3.0);
      if (XGi_224 >= 3) XGd_292 = PipStepRobo1;
   } else XGd_292 = PipStepRobo1;
   if (MM == TRUE) {
      if (MathCeil(AccountBalance()) < 300.0) XLd_96 = Lots;
      else XLd_96 = 0.00001 * Risk * MathCeil(AccountBalance());
   } else XLd_96 = Lots;
   if (XLi_68) Xf0_34(XLd_72, XLd_80, XG_price_360);
   if (XGi_252) {
      if (TimeCurrent() >= XGi_424) {
         Xf0_23();
         Print("Closed All due_Hilo to TimeOut");
      }
   }
   if (XGi_420 == Time[0]) return (0);
   XGi_420 = Time[0];
   double XLd_104 = Xf0_30();
   if (XLi_56) {
      if (XLd_104 < 0.0 && MathAbs(XLd_104) > XLd_60 / 100.0 * Xf0_7()) {
         Xf0_23();
         Print("Closed All due_Hilo to Stop Out");
         XGi_472 = FALSE;
      }
   }
   
   ////////////////////ROBOT 1 /////////////////////////////
   
   //Qtd Ordens Abertas
   XGi_444 = Xf0_4();
   
   if (XGi_444 == 0) XGi_408 = FALSE;
   for (XG_pos_440 = OrdersTotal() - 1; XG_pos_440 >= 0; XG_pos_440--) {
      OrderSelect(XG_pos_440, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot1) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot1) {
         if (OrderType() == OP_BUY) {
            XGi_460 = TRUE;
            XGi_464 = FALSE;
            break;
         }
      }
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot1) {
         if (OrderType() == OP_SELL) {
            XGi_460 = FALSE;
            XGi_464 = TRUE;
            break;
         }
      }
   }
   
   //Verifica espaço para GRID PIPSTEP
   if (XGi_444 > 0 && XGi_444 <= MaxTrades_Robot1) {
      RefreshRates();
      XGd_384 = Xf0_31();
      XGd_392 = Xf0_19();
      if (XGi_460 && XGd_384 - Ask >= (XGd_292 + (0)) * Point) XGi_456 = TRUE;
      if (XGi_464 && Bid - XGd_392 >= (XGd_292 + (0)) * Point) XGi_456 = TRUE;
   }
   if (XGi_444 < 1) {
      XGi_464 = FALSE;
      XGi_460 = FALSE;
      XGi_456 = TRUE;
      XGd_320 = AccountEquity();
   }
   
    //Grid entradas Robo 1
   if (XGi_456 && HabilitaRobot1) {
      XGd_384 = Xf0_31();
      XGd_392 = Xf0_19();
     
      
      if (XGi_464) {
         XGi_428 = XGi_444 -InitMultiplicador_Robo1;
         
         if(XGi_444 > InitMultiplicador_Robo1)
               XGd_432 = NormalizeDouble(XLd_96 * MathPow(XLd_36, XGi_428), XLi_44);
         else
               XGd_432 = Lots;
               
         RefreshRates();
         XGi_468 = Xf0_3(1, XGd_432, NormalizeDouble(Bid, Digits), XLd_88, NormalizeDouble(Ask, Digits), 0, 0, XGs_412 + "-" + XGi_428, MagicNumber_Robot1, 0, HotPink);
         if (XGi_468 < 0) {
            Print("Error: ", GetLastError());
            return (0);
         }
         XGd_392 = Xf0_19();
         XGi_456 = FALSE;
         XGi_472 = TRUE;
      } else {
         if (XGi_460) {
            XGi_428 = XGi_444-InitMultiplicador_Robo1;
            
              if(XGi_444 > InitMultiplicador_Robo1)
               XGd_432 = NormalizeDouble(XLd_96 * MathPow(XLd_36, XGi_428), XLi_44);
              else
               XGd_432 = Lots;
               
           
            XGi_468 = Xf0_3(0, XGd_432, NormalizeDouble(Ask, Digits), XLd_88, NormalizeDouble(Bid, Digits), 0, 0, XGs_412 + "-" + XGi_428, MagicNumber_Robot1, 0, Lime);
            if (XGi_468 < 0) {
               Print("Error: ", GetLastError());
               return (0);
            }
            XGd_384 = Xf0_31();
            XGi_456 = FALSE;
            XGi_472 = TRUE;
         }
      }
   }
   
   //Primeira entrada Robo 1
   if (XGi_456 && XGi_444 < 1 && HabilitaRobot1) {
      ihigh_4 = iHigh(Symbol(), 0, 1);
      ilow_12 = iLow(Symbol(), 0, 2);
      XGd_368 = NormalizeDouble(Bid, Digits);
      XGd_376 = NormalizeDouble(Ask, Digits);
        iclose_20 = iClose(Symbol(), 0, 2);
         iclose_28 = iClose(Symbol(), 0, 1);
        

      if ((!XGi_464) && !XGi_460) {
         XGi_428 = XGi_444;
         XGd_432 = NormalizeDouble(XLd_96 * MathPow(XLd_36, XGi_428), XLi_44);
         if (NewCycle) {
            if (ihigh_4 > ilow_12) {
               if (iRSI(NULL, XG_timeframe_124, 14, PRICE_CLOSE, 1) > 30.0) {
                  XGi_468 = Xf0_3(1, XGd_432, XGd_368, XLd_88, XGd_368, 0, 0, XGs_412 + "-" + XGi_428, MagicNumber_Robot1, 0, HotPink);
                  if (XGi_468 < 0) {
                     Print("Error: ", GetLastError());
                     return (0);
                  }
                  XGd_384 = Xf0_31();
                  XGi_472 = TRUE;
               }
            } else {
             
               if (iRSI(NULL, XG_timeframe_124, 14, PRICE_CLOSE, 1) < 70.0) {
                  XGi_468 = Xf0_3(0, XGd_432, XGd_376, XLd_88, XGd_376, 0, 0, XGs_412 + "-" + XGi_428, MagicNumber_Robot1, 0, Lime);
                  if (XGi_468 < 0) {
                     Print("Error: ", GetLastError());
                     return (0);
                  }
                  XGd_392 = Xf0_19();
                  XGi_472 = TRUE;
               }
            }
         }
         if (XGi_468 > 0) XGi_424 = TimeCurrent() + 60.0 * (60.0 * XGd_256);
         XGi_456 = FALSE;
      }
   }
   XGi_444 = Xf0_4();
   XG_price_360 = 0;
   double XLd_112 = 0;
   for (XG_pos_440 = OrdersTotal() - 1; XG_pos_440 >= 0; XG_pos_440--) {
      OrderSelect(XG_pos_440, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot1) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot1) {
         if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
            XG_price_360 += OrderOpenPrice() * OrderLots();
            XLd_112 += OrderLots();
         }
      }
   }
   if (XGi_444 > 0) XG_price_360 = NormalizeDouble(XG_price_360 / XLd_112, Digits);
   if (XGi_472) {
      for (XG_pos_440 = OrdersTotal() - 1; XG_pos_440 >= 0; XG_pos_440--) {
         OrderSelect(XG_pos_440, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot1) continue;
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot1) {
         
          ///////////////////// MEDIA DE TAKE /////////////////////////
            if (OrderType() == OP_BUY) {
               XG_price_312 = XG_price_360 + XLd_48 * Point;
               XGd_unused_328 = XG_price_312;
               XGd_448 = XG_price_360 - XG_pips_268 * Point;
               XGi_408 = TRUE;
            }
         }
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot1) {
         
          ///////////////////// MEDIA DE TAKE /////////////////////////
            if (OrderType() == OP_SELL) {
               XG_price_312 = XG_price_360 - XLd_48 * Point;
               XGd_unused_336 = XG_price_312;
               XGd_448 = XG_price_360 + XG_pips_268 * Point;
               XGi_408 = TRUE;
            }
         }
      }
   }
   if (XGi_472) {
      if (XGi_408 == TRUE) {
         for (XG_pos_440 = OrdersTotal() - 1; XG_pos_440 >= 0; XG_pos_440--) {
            OrderSelect(XG_pos_440, SELECT_BY_POS, MODE_TRADES);
            if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot1) continue;
            if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot1) {
               while (!OrderModify(OrderTicket(), XG_price_360, OrderStopLoss(), XG_price_312, 0, Yellow)) {
                  Sleep(1000);
                  RefreshRates();
               }
            }
            XGi_472 = FALSE;
         }
      }
   }
   ////////////////////FIM ROBOT 1 /////////////////////////////
   
   ////////////////////ROBOT 2 /////////////////////////////
   
   double XLd_120 = LotExponent_robo2;
   int XLi_128 = lotdecimal;
   double XLd_132 = TakeProfit;
   bool XLi_140 = XGi_156;
   double XLd_144 = XGd_160;
   bool XLi_152 = XGi_168;
   double XLd_156 = XGd_172;
   double XLd_164 = XGd_180;
   double XLd_172 = XGd_188;
   XGi_520 = Xf0_5();
   if (Turbo) {
      if (XGi_520 == 1) XGd_596 = PipStepRobo2 / 3.0;
      if (XGi_520 == 2) XGd_596 = 2.0 * (PipStepRobo2 / 3.0);
      if (XGi_520 >= 3) XGd_596 = PipStepRobo2;
   } else XGd_596 = PipStepRobo2;
   if (MM == TRUE) {
      if (MathCeil(AccountBalance()) < 300.0) XLd_180 = Lots;
      else XLd_180 = 0.00001 * Risk * MathCeil(AccountBalance());
   } else XLd_180 = Lots;
   if (XLi_152) Xf0_20(XLd_156, XLd_164, XG_price_648);
   if (XGi_584) {
      if (TimeCurrent() >= XGi_712) {
         Xf0_17();
         Print("Closed All due to TimeOut");
      }
   }
   if (XGi_708 != Time[0]) {
      XGi_708 = Time[0];
      XLd_188 = Xf0_28();
      if (XLi_140) {
         if (XLd_188 < 0.0 && MathAbs(XLd_188) > XLd_144 / 100.0 * Xf0_15()) {
            Xf0_17();
            Print("Closed All due to Stop Out");
            XGi_760 = FALSE;
         }
      }
      //qtd ordens abertas
      XGi_732 = Xf0_5();
      if (XGi_732 == 0) XGi_696 = FALSE;
      for (XG_pos_728 = OrdersTotal() - 1; XG_pos_728 >= 0; XG_pos_728--) {
         OrderSelect(XG_pos_728, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot2) continue;
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2) {
            if (OrderType() == OP_BUY) {
               XGi_748 = TRUE;
               XGi_752 = FALSE;
               break;
            }
         }
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2) {
            if (OrderType() == OP_SELL) {
               XGi_748 = FALSE;
               XGi_752 = TRUE;
               break;
            }
         }
      }
      
      //Verifica espaço Grid Robo 2 PIPSTEP
      if (XGi_732 > 0 && XGi_732 <= MaxTrades_Robot2) {
         RefreshRates();
         XGd_672 = Xf0_35();
         XGd_680 = Xf0_27();
         if (XGi_748 && XGd_672 - Ask >= (XGd_596 + (0)) * Point) XGi_744 = TRUE;
         if (XGi_752 && Bid - XGd_680 >= (XGd_596 + (0)) * Point) XGi_744 = TRUE;
      }
      if (XGi_732 < 1) {
         XGi_752 = FALSE;
         XGi_748 = FALSE;
         XGi_744 = TRUE;
         XGd_624 = AccountEquity();
      }
      
      //Grid entradas Robo 2
      if (XGi_744 && HabilitaRobot2) {
         XGd_672 = Xf0_35();
         XGd_680 = Xf0_27();
         if (XGi_752) {
            XGi_716 = XGi_732-InitMultiplicador_Robo2;
            
            if(XGi_732 > InitMultiplicador_Robo2)
               XGd_720 = NormalizeDouble(XLd_180 * MathPow(XLd_120, XGi_716), XLi_128);
             else
               XGd_720 = Lots;

            RefreshRates();
            XGi_756 = Xf0_2(1, XGd_720, NormalizeDouble(Bid, Digits), XLd_172, NormalizeDouble(Ask, Digits), 0, 0, XGs_700 + "-" + XGi_716, MagicNumber_Robot2, 0, HotPink);
            if (XGi_756 < 0) {
               Print("Error: ", GetLastError());
               return (0);
            }
            XGd_680 = Xf0_27();
            XGi_744 = FALSE;
            XGi_760 = TRUE;
         } else {
            if (XGi_748) {
               XGi_716 = XGi_732-InitMultiplicador_Robo2;
               
                if(XGi_444 > InitMultiplicador_Robo2)
                    XGd_720 = NormalizeDouble(XLd_180 * MathPow(XLd_120, XGi_716), XLi_128);
                else
                    XGd_720 = Lots;
               
             
               XGi_756 = Xf0_2(0, XGd_720, NormalizeDouble(Ask, Digits), XLd_172, NormalizeDouble(Bid, Digits), 0, 0, XGs_700 + "-" + XGi_716, MagicNumber_Robot2, 0, Lime);
               if (XGi_756 < 0) {
                  Print("Error: ", GetLastError());
                  return (0);
               }
               XGd_672 = Xf0_35();
               XGi_744 = FALSE;
               XGi_760 = TRUE;
            }
         }
      }
   }
   
   //Primeira entrada Robo 2
   if (XG_datetime_780 != iTime(NULL, TimeFrame_Robot2, 0) && HabilitaRobot2) {
      XLi_196 = OrdersTotal();
      Xcount_200 = 0;
      double ValorUltimo = 0;
      for (int XLi_204 = XLi_196; XLi_204 >= 1; XLi_204--) {
         OrderSelect(XLi_204 - 1, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot2) continue;
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2) {
         Xcount_200++;
        
         }
      }
       Comment(Xcount_200 +" - "+ XGd_656);
      if (XLi_196 == 0 || Xcount_200 < 1) {
         iclose_20 = iClose(Symbol(), 0, 2);
         iclose_28 = iClose(Symbol(), 0, 1);
         double ihigh_1128 = iHigh(Symbol(), 0, 1);
         double ilow_1136 = iLow(Symbol(), 0, 2);
         
         XGd_656 = NormalizeDouble(Bid, Digits);
         XGd_664 = NormalizeDouble(Ask, Digits);
         double Xihigh_124 = iHigh(Symbol(), PERIOD_D1, 0);
         double Xilow_132 = iLow(Symbol(), PERIOD_D1, 0);
         double Xiopen_140 = iOpen(Symbol(), PERIOD_D1, 1);
         double Xiclose_148 = iClose(Symbol(), PERIOD_D1, 1);
   

       // if ((!XGi_752) && !XGi_748) {
         if (iclose_20 > iclose_28) {
         //if (true ) {
         
         //if (XlongEma < XlongEma2  ) {
        
            XGi_716 = XGi_732;
            XGd_720 = NormalizeDouble(XLd_180 * MathPow(LotExponent_robo2, XGi_716), XLi_128);
           
            //if (iclose_20 < iclose_28 || iclose_20 > iclose_28) {
            //if (iRSI(NULL, XG_timeframe_124, 14, PRICE_CLOSE, 1) > 30.0) {
               if (NewCycle) {
                  XGi_756 = Xf0_2(1, XGd_720, XGd_656, XLd_172, XGd_656, 0, 0, XGs_700 + "-" + XGi_716, MagicNumber_Robot2, 0, HotPink);
                  if (XGi_756 < 0) {
                     Print("Error: ", GetLastError());
                     return (0);
                  }
                  XGd_672 = Xf0_35();
                  XGi_760 = TRUE;
                  
                  
               }
            //}
         } else {
           XGi_716 = XGi_732;
            XGd_720 = NormalizeDouble(XLd_180 * MathPow(LotExponent_robo2, XGi_716), XLi_128);
           
            if (NewCycle) {
               XGi_756 = Xf0_2(0, XGd_720, XGd_664, XLd_172, XGd_664, 0, 0, XGs_700 + "-" + XGi_716, MagicNumber_Robot2, 0, Lime);
               if (XGi_756 < 0) {
                  Print("Error: ", GetLastError());
                  return (0);
               }
               XGd_680 = Xf0_27();
               XGi_760 = TRUE;
            }
         }
         if (XGi_756 > 0) XGi_712 = TimeCurrent() + 60.0 * (60.0 * XGd_588);
         XGi_744 = FALSE;
      }
      XG_datetime_780 = iTime(NULL, TimeFrame_Robot2, 0);
   }
   //Conta Qtd Ordens
   XGi_732 = Xf0_5();
   XG_price_648 = 0;
   double XLd_208 = 0;
   for (XG_pos_728 = OrdersTotal() - 1; XG_pos_728 >= 0; XG_pos_728--) {
      OrderSelect(XG_pos_728, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot2) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2) {
         if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
            XG_price_648 += OrderOpenPrice() * OrderLots();
            XLd_208 += OrderLots();
         }
      }
   }
   //Calcula a media de preço
   if (XGi_732 > 0) XG_price_648 = NormalizeDouble(XG_price_648 / XLd_208, Digits);
   
   int TipoOperacaoRobo2 = 0;
   
   if (XGi_760) {
      for (XG_pos_728 = OrdersTotal() - 1; XG_pos_728 >= 0; XG_pos_728--) {
         OrderSelect(XG_pos_728, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot2) continue;
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2) {
         
         ///////////////////// MEDIA DE TAKE /////////////////////////
            if (OrderType() == OP_BUY) {
               XG_price_616 = XG_price_648 + XLd_132 * Point;
               XGd_unused_632 = XG_price_616;
               XGd_736 = XG_price_648 - PipsGrid_Robot2 * Point;
               XGi_696 = TRUE;
               TipoOperacaoRobo2= 1;
            }
         }
         ///////////////////// MEDIA DE TAKE /////////////////////////
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2) {
            if (OrderType() == OP_SELL) {
               XG_price_616 = XG_price_648 - XLd_132 * Point;
               XGd_unused_640 = XG_price_616;
               XGd_736 = XG_price_648 + PipsGrid_Robot2 * Point;
               XGi_696 = TRUE;
                TipoOperacaoRobo2= 2;
            }
         }
      }
   }
   
    XGd_656 = NormalizeDouble(Bid, Digits);
    XGd_664 = NormalizeDouble(Ask, Digits);
         
//   //ADICIONA TODOS StopLoss PARA Lucro Garantido
//   //Verifica se Robo 2 está no lucro acima do BreakEven_Robo2
//   double Lucro = 0;
//   
//   if (XGi_696 == TRUE && TipoOperacaoRobo2 == 1)
//       Lucro = XG_price_648 - XGd_656;
//   else
//       Lucro = XGd_664 -XG_price_648 ;
//   
//   if(Lucro > BreakEven_Robo2){
//   if (XGi_760) {
//      if (XGi_696 == TRUE) {
//         for (XG_pos_728 = OrdersTotal() - 1; XG_pos_728 >= 0; XG_pos_728--) {
//            OrderSelect(XG_pos_728, SELECT_BY_POS, MODE_TRADES);
//            if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot2) continue;
//            if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2 &&OrderType() == OP_SELL) {
//               while (!OrderModify(OrderTicket(), XG_price_648, XGd_664+BreakEven_Robo2, OrderTakeProfit(), 0, Green)) {
//                  Sleep(1000);
//                  RefreshRates();
//               }
//            }
//            if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2 &&OrderType() == OP_BUY) {
//               while (!OrderModify(OrderTicket(), XG_price_648, XGd_656-BreakEven_Robo2, OrderTakeProfit(), 0, Green)) {
//                  Sleep(1000);
//                  RefreshRates();
//               }
//            }
//            XGi_760 = FALSE;
//         }
//      }
//   }
//   }
   
   //MODIFICA TODOS TAKES PARA MEDIA DE PREÇO + TAKE
   if (XGi_760) {
      if (XGi_696 == TRUE) {
         for (XG_pos_728 = OrdersTotal() - 1; XG_pos_728 >= 0; XG_pos_728--) {
            OrderSelect(XG_pos_728, SELECT_BY_POS, MODE_TRADES);
            if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot2) continue;
            if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2) {
               while (!OrderModify(OrderTicket(), XG_price_648, OrderStopLoss(), XG_price_616, 0, Yellow)) {
                  Sleep(1000);
                  RefreshRates();
               }
            }
            XGi_760 = FALSE;
         }
      }
   }
   ////////////////////FIM ROBOT 2 /////////////////////////////
   
   
   ////////////////////ROBOT 3 /////////////////////////////
   double XLd_216 = LotExponent_robo3;
   int XLi_224 = lotdecimal;
   double XLd_228 = TakeProfit;
   bool XLi_236 = XGi_156;
   double XLd_240 = XGd_160;
   bool XLi_248 = XGi_168;
   double XLd_252 = XGd_172;
   double XLd_260 = XGd_180;
   double XLd_268 = XGd_188;
   XGi_812 = Xf0_12();
   if (Turbo) {
      if (XGi_812 == 1) XGd_884 = PipStepRobo3 / 3.0;
      if (XGi_812 == 2) XGd_884 = 2.0 * (PipStepRobo3 / 3.0);
      if (XGi_812 >= 3) XGd_884 = PipStepRobo3;
   } else XGd_884 = PipStepRobo3;
   if (MM == TRUE) {
      if (MathCeil(AccountBalance()) < 300.0) XLd_276 = Lots;
      else XLd_276 = 0.00001 * Risk * MathCeil(AccountBalance());
   } else XLd_276 = Lots;
   if (XLi_248) Xf0_33(XLd_252, XLd_260, XG_price_936);
   if (XGi_872) {
      if (TimeCurrent() >= XGi_1000) {
         Xf0_0();
         Print("Closed All due to TimeOut");
      }
   }
   if (XGi_996 != Time[0]) {
      XGi_996 = Time[0];
      XLd_284 = Xf0_8();
      if (XLi_236) {
         if (XLd_284 < 0.0 && MathAbs(XLd_284) > XLd_240 / 100.0 * Xf0_29()) {
            Xf0_0();
            Print("Closed All due to Stop Out");
            XGi_1048 = FALSE;
         }
      }
      XGi_1020 = Xf0_12();
      if (XGi_1020 == 0) XGi_984 = FALSE;
      for (XG_pos_1016 = OrdersTotal() - 1; XG_pos_1016 >= 0; XG_pos_1016--) {
         OrderSelect(XG_pos_1016, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot3) continue;
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3) {
            if (OrderType() == OP_BUY) {
               XGi_1036 = TRUE;
               XGi_1040 = FALSE;
               break;
            }
         }
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3) {
            if (OrderType() == OP_SELL) {
               XGi_1036 = FALSE;
               XGi_1040 = TRUE;
               break;
            }
         }
      }
      if (XGi_1020 > 0 && XGi_1020 <= MaxTrades_Robot3) {
         RefreshRates();
         XGd_960 = Xf0_16();
         XGd_968 = Xf0_26();
         if (XGi_1036 && XGd_960 - Ask >= XGd_884 * Point) XGi_1032 = TRUE;
         if (XGi_1040 && Bid - XGd_968 >= XGd_884 * Point) XGi_1032 = TRUE;
      }
      if (XGi_1020 < 1) {
         XGi_1040 = FALSE;
         XGi_1036 = FALSE;
         XGi_1032 = TRUE;
         XGd_912 = AccountEquity();
      }
      if (XGi_1032 && HabilitaRobot3) {
         XGd_960 = Xf0_16();
         XGd_968 = Xf0_26();
         if (XGi_1040) {
            XGi_1004 = XGi_1020;
            XGd_1008 = NormalizeDouble(XLd_276 * MathPow(XLd_216, XGi_1004), XLi_224);
            RefreshRates();
            XGi_1044 = Xf0_6(1, XGd_1008, NormalizeDouble(Bid, Digits), XLd_268, NormalizeDouble(Ask, Digits), 0, 0, XGs_988 + "-" + XGi_1004, MagicNumber_Robot3, 0, HotPink);
            if (XGi_1044 < 0) {
               Print("Error: ", GetLastError());
               return (0);
            }
            XGd_968 = Xf0_26();
            XGi_1032 = FALSE;
            XGi_1048 = TRUE;
         } else {
            if (XGi_1036) {
               XGi_1004 = XGi_1020;
               XGd_1008 = NormalizeDouble(XLd_276 * MathPow(XLd_216, XGi_1004), XLi_224);
               XGi_1044 = Xf0_6(0, XGd_1008, NormalizeDouble(Ask, Digits), XLd_268, NormalizeDouble(Bid, Digits), 0, 0, XGs_988 + "-" + XGi_1004, MagicNumber_Robot3, 0, Lime);
               if (XGi_1044 < 0) {
                  Print("Error: ", GetLastError());
                  return (0);
               }
               XGd_960 = Xf0_16();
               XGi_1032 = FALSE;
               XGi_1048 = TRUE;
            }
         }
      }
   }
   
   
   if (XG_datetime_1068 != iTime(NULL, XG_timeframe_840, 0) && HabilitaRobot3) {
      XLi_292 = OrdersTotal();
      Xcount_296 = 0;
      for (int XLi_300 = XLi_292; XLi_300 >= 1; XLi_300--) {
         OrderSelect(XLi_300 - 1, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot3) continue;
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3) Xcount_296++;
      }
      if (XLi_292 == 0 || Xcount_296 < 1) {
         iclose_20 = iClose(Symbol(), 0, 2);
         iclose_28 = iClose(Symbol(), 0, 1);
         XGd_944 = NormalizeDouble(Bid, Digits);
         XGd_952 = NormalizeDouble(Ask, Digits);
         if ((!XGi_1040) && !XGi_1036) {
            XGi_1004 = XGi_1020;
            XGd_1008 = NormalizeDouble(XLd_276 * MathPow(XLd_216, XGi_1004), XLi_224);
            if (NewCycle) {
               if (iclose_20 > iclose_28) {
                  if (iRSI(NULL, XG_timeframe_124, 14, PRICE_CLOSE, 1) > 30.0) {
                     XGi_1044 = Xf0_6(1, XGd_1008, XGd_944, XLd_268, XGd_944, 0, 0, XGs_988 + "-" + XGi_1004, MagicNumber_Robot3, 0, HotPink);
                     if (XGi_1044 < 0) {
                        Print("Error: ", GetLastError());
                        return (0);
                     }
                     XGd_960 = Xf0_16();
                     XGi_1048 = TRUE;
                  }
               } else {
                  if (iRSI(NULL, XG_timeframe_124, 14, PRICE_CLOSE, 1) < 70.0) {
                     XGi_1044 = Xf0_6(0, XGd_1008, XGd_952, XLd_268, XGd_952, 0, 0, XGs_988 + "-" + XGi_1004, MagicNumber_Robot3, 0, Lime);
                     if (XGi_1044 < 0) {
                        Print("Error: ", GetLastError());
                        return (0);
                     }
                     XGd_968 = Xf0_26();
                     XGi_1048 = TRUE;
                  }
               }
            }
            if (XGi_1044 > 0) XGi_1000 = TimeCurrent() + 60.0 * (60.0 * XGd_876);
            XGi_1032 = FALSE;
         }
      }
      XG_datetime_1068 = iTime(NULL, XG_timeframe_840, 0);
   }
   XGi_1020 = Xf0_12();
   XG_price_936 = 0;
   double XLd_304 = 0;
   for (XG_pos_1016 = OrdersTotal() - 1; XG_pos_1016 >= 0; XG_pos_1016--) {
      OrderSelect(XG_pos_1016, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot3) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3) {
         if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
            XG_price_936 += OrderOpenPrice() * OrderLots();
            XLd_304 += OrderLots();
         }
      }
   }
   if (XGi_1020 > 0) XG_price_936 = NormalizeDouble(XG_price_936 / XLd_304, Digits);
   if (XGi_1048) {
      for (XG_pos_1016 = OrdersTotal() - 1; XG_pos_1016 >= 0; XG_pos_1016--) {
         OrderSelect(XG_pos_1016, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot3) continue;
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3) {
            if (OrderType() == OP_BUY) {
               XG_price_904 = XG_price_936 + XLd_228 * Point;
               XGd_unused_920 = XG_price_904;
               XGd_1024 = XG_price_936 - XG_pips_848 * Point;
               XGi_984 = TRUE;
            }
         }
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3) {
            if (OrderType() == OP_SELL) {
               XG_price_904 = XG_price_936 - XLd_228 * Point;
               XGd_unused_928 = XG_price_904;
               XGd_1024 = XG_price_936 + XG_pips_848 * Point;
               XGi_984 = TRUE;
            }
         }
      }
   }
   if (XGi_1048) {
      if (XGi_984 == TRUE) {
         for (XG_pos_1016 = OrdersTotal() - 1; XG_pos_1016 >= 0; XG_pos_1016--) {
            OrderSelect(XG_pos_1016, SELECT_BY_POS, MODE_TRADES);
            if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot3) continue;
            if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3) {
               while (!OrderModify(OrderTicket(), XG_price_936, OrderStopLoss(), XG_price_904, 0, Yellow)) {
                  Sleep(1000);
                  RefreshRates();
               }
            }
            XGi_1048 = FALSE;
         }
      }
   }
   
   ////////////////////FIM ROBOT 3 /////////////////////////////
   
   
   return (0);
}
		 	 	 	  			    	 	 		 	  	    	   			 		        	  							 		 	  			 	   			 	  							  					 	 	 		  	  	   	  	 			  	     	 	 			   	   	  
// 1DCB176FA67889B5B0CADBD0A6FE56CB
int Xf0_4() {
   int Xcount_0 = 0;
   for (int pos_4 = OrdersTotal() - 1; pos_4 >= 0; pos_4--) {
      OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot1) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot1)
         if (OrderType() == OP_SELL || OrderType() == OP_BUY) Xcount_0++;
   }
   return (Xcount_0);
}
	  	   							  	  	  	  	 	 	   	  	 	      	  			   		  		  	  	 		  			 		  						 		 	 		 			  	  	 	   		   	 	  					  	   		 	 	 			  		 	
// BC923F6CA29E7C93CDFEA0D2DFB5608A
void Xf0_23() {
   for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {
      OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol()) {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot1) {
            if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, XG_slippage_300, Blue);
            if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, XG_slippage_300, Red);
         }
         Sleep(1000);
      }
   }
}
	   		 	 		         			 		  	   		 	 		 	  		    								 	 			 		   	 	 	   	 	 		  					   			    			    	    		  				 				   				 		  				 	  
// 18EBBC4DF42B2A4E20BA8E3AA1C6A3DF
int Xf0_3(int Ai_0, double A_lots_4, double Ad_unused_12, int A_slippage_20, double Ad_unused_24, int Ai_32, int Ai_36, string A_comment_40, int A_magic_48, int A_datetime_52, color A_color_56) {
   int ticket_60 = 0;
   int error_64 = 0;
   int Xcount_68 = 0;
   int XLi_72 = 100;
   switch (Ai_0) {
   case 0:
      for (Xcount_68 = 0; Xcount_68 < XLi_72; Xcount_68++) {
         RefreshRates();
         ticket_60 = OrderSend(Symbol(), OP_BUY, A_lots_4, NormalizeDouble(Ask, Digits), A_slippage_20, NormalizeDouble(Xf0_21(Bid, Ai_32), Digits), NormalizeDouble(Xf0_18(Ask,
            Ai_36), Digits), A_comment_40, A_magic_48, A_datetime_52, A_color_56);
         error_64 = GetLastError();
         if (error_64 == 0/* NO_ERROR */) break;
         if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
         Sleep(5000);
      }
      break;
   case 1:
      for (Xcount_68 = 0; Xcount_68 < XLi_72; Xcount_68++) {
         ticket_60 = OrderSend(Symbol(), OP_SELL, A_lots_4, NormalizeDouble(Bid, Digits), A_slippage_20, NormalizeDouble(Xf0_11(Ask, Ai_32), Digits), NormalizeDouble(Xf0_1(Bid,
            Ai_36), Digits), A_comment_40, A_magic_48, A_datetime_52, A_color_56);
         error_64 = GetLastError();
         if (error_64 == 0/* NO_ERROR */) break;
         if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
         Sleep(5000);
      }
   }
   return (ticket_60);
}
	  	   							  	  	  	  	 	 	   	  	 	      	  			   		  		  	  	 		  			 		  						 		 	 		 			  	  	 	   		   	 	  					  	   		 	 	 			  		 	
// ABBF0924C7D109476997F144FF69BA18
double Xf0_21(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 - Ai_8 * Point);
}
	  	   	 					     	  	 		 	 	  		  	 	 	    	   		   			 		  	 		 		  	 	 		  	 				 				 		 		   	  	     		  		 	  		 		  	  			 	 	  		  		  
// 65324E009A83B2CB88BFB3D4529CFA3F
double Xf0_11(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 + Ai_8 * Point);
}
			  	 	    	    		  		 	 	     	 					 				       	 					   		 	 	 		 	  	 		 	    					 	 				 		  		  				   	 	  			   	    	  				    	  	  
// A4B319A5A3851A7BB5CE0B195DF27F55
double Xf0_18(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 + Ai_8 * Point);
}
	    	 				 	   	    		  	       	 				    	    				 			  	  		  	  		 			  		 				 				 	  					    		 	  		    	   							     						 				  	 	
// 0CCFFE5E259E6D9684C883601327DD0E
double Xf0_1(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 - Ai_8 * Point);
}
	     		 		 			         		   		 		 		   	  	 		  			   		 	     		  	 		 	  	 		 		 	  			  	  	           				 		     	 			 		 					    			 	   
// DEE6BAA1FB47E044DB484D868C724C77
double Xf0_30() {
   double XLd_ret_0 = 0;
   for (XG_pos_440 = OrdersTotal() - 1; XG_pos_440 >= 0; XG_pos_440--) {
      OrderSelect(XG_pos_440, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot1) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot1)
         if (OrderType() == OP_BUY || OrderType() == OP_SELL) XLd_ret_0 += OrderProfit();
   }
   return (XLd_ret_0);
}
	   	 	  		  			    	  			  						 	   		  					 				   	 	 	  			    	  	    	  		     		          	  	   	 					  	    											   	 					 	 
// F65FADF1B81B5341149ECACF620D59C5
void Xf0_34(int Ai_0, int Ai_4, double A_price_8) {
   int XLi_16;
   double order_stoploss_20;
   double price_28;
   if (Ai_4 != 0) {
      for (int pos_36 = OrdersTotal() - 1; pos_36 >= 0; pos_36--) {
         if (OrderSelect(pos_36, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot1) continue;
            if (OrderSymbol() == Symbol() || OrderMagicNumber() == MagicNumber_Robot1) {
               if (OrderType() == OP_BUY) {
                  XLi_16 = NormalizeDouble((Bid - A_price_8) / Point, 0);
                  if (XLi_16 < Ai_0) continue;
                  order_stoploss_20 = OrderStopLoss();
                  price_28 = Bid - Ai_4 * Point;
                  if (order_stoploss_20 == 0.0 || (order_stoploss_20 != 0.0 && price_28 > order_stoploss_20)) OrderModify(OrderTicket(), A_price_8, price_28, OrderTakeProfit(), 0, Aqua);
               }
               if (OrderType() == OP_SELL) {
                  XLi_16 = NormalizeDouble((A_price_8 - Ask) / Point, 0);
                  if (XLi_16 < Ai_0) continue;
                  order_stoploss_20 = OrderStopLoss();
                  price_28 = Ask + Ai_4 * Point;
                  if (order_stoploss_20 == 0.0 || (order_stoploss_20 != 0.0 && price_28 < order_stoploss_20)) OrderModify(OrderTicket(), A_price_8, price_28, OrderTakeProfit(), 0, Red);
               }
            }
            Sleep(1000);
         }
      }
   }
}
	 			 		 	 	 		   			   							 			     	 	 			  	  	  		  		   				  		 			  		 	 	   					   	  			     	  		 					  	 	  			 		       	  		   
// 30DCB0D08244C03D0790FB15BE95C82F
double Xf0_7() {
   if (Xf0_4() == 0) XGd_476 = AccountEquity();
   if (XGd_476 < XGd_484) XGd_476 = XGd_484;
   else XGd_476 = AccountEquity();
   XGd_484 = AccountEquity();
   return (XGd_476);
}
	 	     		  		 		 	   		 		  	 	 				 		  		 	 			 	  	       		 		 	   			 	   		  	 	  		 	 	 	 	   			 				 	 		   	 		 	 	 	 	 		 				 	 				
// E22889128875A189AD17995E32998332
double Xf0_31() {
   double order_open_price_0;
   int ticket_8;
   double XLd_unused_12 = 0;
   int ticket_20 = 0;
   for (int pos_24 = OrdersTotal() - 1; pos_24 >= 0; pos_24--) {
      OrderSelect(pos_24, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot1) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot1 && OrderType() == OP_BUY) {
         ticket_8 = OrderTicket();
         if (ticket_8 > ticket_20) {
            order_open_price_0 = OrderOpenPrice();
            XLd_unused_12 = order_open_price_0;
            ticket_20 = ticket_8;
         }
      }
   }
   return (order_open_price_0);
}
	  			  				   		  					 	 		  	 	   			    	  				 			   						 	 	 	  		 	 	  				 		  	 	 		 	  						      	 	 				 			 	  	 		  						 	 			
// A5F3F48E555BFC9A5526CC1B30FF0AB2
double Xf0_19() {
   double order_open_price_0;
   int ticket_8;
   double XLd_unused_12 = 0;
   int ticket_20 = 0;
   for (int pos_24 = OrdersTotal() - 1; pos_24 >= 0; pos_24--) {
      OrderSelect(pos_24, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot1) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot1 && OrderType() == OP_SELL) {
         ticket_8 = OrderTicket();
         if (ticket_8 > ticket_20) {
            order_open_price_0 = OrderOpenPrice();
            XLd_unused_12 = order_open_price_0;
            ticket_20 = ticket_8;
         }
      }
   }
   return (order_open_price_0);
}
		 	  			 					 		 	       	 		     	    	   		 	 	    	 			       		 			  		 			 			  	   		  			 	    		  			    	   		 	  		   	 	   	 	  	  	
// 22F0FA52408CE450B63ADF3F087F21DE
int Xf0_5() {
   int Xcount_0 = 0;
   for (int pos_4 = OrdersTotal() - 1; pos_4 >= 0; pos_4--) {
      OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot2) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2)
         if (OrderType() == OP_SELL || OrderType() == OP_BUY) Xcount_0++;
   }
   return (Xcount_0);
}
		 	 	 	  			    	 	 		 	  	    	   			 		        	  							 		 	  			 	   			 	  							  					 	 	 		  	  	   	  	 			  	     	 	 			   	   	  
// A180C6ED0DC34AACA6CCA8CB05FECC10
void Xf0_17() {
   for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {
      OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol()) {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2) {
            if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, XG_slippage_604, Blue);
            if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, XG_slippage_604, Red);
         }
         Sleep(1000);
      }
   }
}
	   	 	  		  			    	  			  						 	   		  					 				   	 	 	  			    	  	    	  		     		          	  	   	 					  	    											   	 					 	 
// 114DC2E883BB39B95234C711A240BE3E
int Xf0_2(int Ai_0, double A_lots_4, double Ad_unused_12, int A_slippage_20, double Ad_unused_24, int Ai_32, int Ai_36, string A_comment_40, int A_magic_48, int A_datetime_52, color A_color_56) {
   int ticket_60 = 0;
   int error_64 = 0;
   int Xcount_68 = 0;
   int XLi_72 = 100;
   switch (Ai_0) {
   case 0:
      for (Xcount_68 = 0; Xcount_68 < XLi_72; Xcount_68++) {
         RefreshRates();
         ticket_60 = OrderSend(Symbol(), OP_BUY, A_lots_4, NormalizeDouble(Ask, Digits), A_slippage_20, NormalizeDouble(Xf0_13(Bid, Ai_32), Digits), NormalizeDouble(Xf0_24(Ask,
            Ai_36), Digits), A_comment_40, A_magic_48, A_datetime_52, A_color_56);
         error_64 = GetLastError();
         if (error_64 == 0/* NO_ERROR */) break;
         if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
         Sleep(5000);
      }
      break;
   case 1:
      for (Xcount_68 = 0; Xcount_68 < XLi_72; Xcount_68++) {
         ticket_60 = OrderSend(Symbol(), OP_SELL, A_lots_4, NormalizeDouble(Bid, Digits), A_slippage_20, NormalizeDouble(Xf0_32(Ask, Ai_32), Digits), NormalizeDouble(Xf0_25(Bid,
            Ai_36), Digits), A_comment_40, A_magic_48, A_datetime_52, A_color_56);
         error_64 = GetLastError();
         if (error_64 == 0/* NO_ERROR */) break;
         if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
         Sleep(5000);
      }
   }
   return (ticket_60);
}
		     	  	 		   	    	 	    	  	  		 	 		 	 	    		  					   	 	   	  	    	  	  	 	 			   	 		 	    	  	 			  	     		  		 	  	 			 	   		 		  
// 7AE15E889172CCCB33ECFB32124CDF19
double Xf0_13(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 - Ai_8 * Point);
}
		      	 	 		 			    		     	 	   		 		 	 	 	 		 		  	  		   		    	   	   	   	 	 	 	     	 	 		    				 			 	      	 	 		 	 	  			 			 		 				
// E29638E1934BE380D2D902E838F29BF7
double Xf0_32(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 + Ai_8 * Point);
}
	 			   		 	 	 		 			 		 					 	 		   		  	 		 			  	 	    		 		 			    				    		 	  	  			  	 	 			 			 	  	 	 				 	 		  		 	 	    				  					
// BCF3A4C4831B7913DD5F18AF706ADC75
double Xf0_24(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 + Ai_8 * Point);
}
		 	 		   			 		 	 	 	 		  	  			   		 			    		  	  	  				 	 		  				    				   				  	  			   	 	 	 	 	  	 			  	 	    	   			 	 		 	  	    	 
// C4C44C724F3DAE9C33262735893D433A
double Xf0_25(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 - Ai_8 * Point);
}
	  	 	 						   	  	 		  	 	     	  			         			  			  		 		  	 			 			 			 									 	 						  	 		 	   	    	 	 						      		 			 			   	 	
// D3C476201B00C1A782FB71A65C106452
double Xf0_28() {
   double XLd_ret_0 = 0;
   for (XG_pos_728 = OrdersTotal() - 1; XG_pos_728 >= 0; XG_pos_728--) {
      OrderSelect(XG_pos_728, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot2) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2)
         if (OrderType() == OP_BUY || OrderType() == OP_SELL) XLd_ret_0 += OrderProfit();
   }
   return (XLd_ret_0);
}
			 		         	 		 					 	 	  		 		 								  	   				 		  					 	  	    	  	       		 	 	  		  		 				 			   		 	 			    		  		  	 			   		 		 
// A84D2ACC80FE890D5547A65D5C3D18EE
void Xf0_20(int Ai_0, int Ai_4, double A_price_8) {
   int XLi_16;
   double order_stoploss_20;
   double price_28;
   if (Ai_4 != 0) {
      for (int pos_36 = OrdersTotal() - 1; pos_36 >= 0; pos_36--) {
         if (OrderSelect(pos_36, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot2) continue;
            if (OrderSymbol() == Symbol() || OrderMagicNumber() == MagicNumber_Robot2) {
               if (OrderType() == OP_BUY) {
                  XLi_16 = NormalizeDouble((Bid - A_price_8) / Point, 0);
                  if (XLi_16 < Ai_0) continue;
                  order_stoploss_20 = OrderStopLoss();
                  price_28 = Bid - Ai_4 * Point;
                  if (order_stoploss_20 == 0.0 || (order_stoploss_20 != 0.0 && price_28 > order_stoploss_20)) OrderModify(OrderTicket(), A_price_8, price_28, OrderTakeProfit(), 0, Aqua);
               }
               if (OrderType() == OP_SELL) {
                  XLi_16 = NormalizeDouble((A_price_8 - Ask) / Point, 0);
                  if (XLi_16 < Ai_0) continue;
                  order_stoploss_20 = OrderStopLoss();
                  price_28 = Ask + Ai_4 * Point;
                  if (order_stoploss_20 == 0.0 || (order_stoploss_20 != 0.0 && price_28 < order_stoploss_20)) OrderModify(OrderTicket(), A_price_8, price_28, OrderTakeProfit(), 0, Red);
               }
            }
            Sleep(1000);
         }
      }
   }
}
		    	   	 				 	     		    				  		  			 	 			  		    			    		   	 	     	 	   	 	   	   	    	     	 	 						         		 				 			  	  		 	 	 
// 9EB62284E5C15187BCA5B502C66B6C59
double Xf0_15() {
   if (Xf0_5() == 0) XGd_764 = AccountEquity();
   if (XGd_764 < XGd_772) XGd_764 = XGd_772;
   else XGd_764 = AccountEquity();
   XGd_772 = AccountEquity();
   return (XGd_764);
}
	 			 	 		 	 				 			  	 							 		    	  	 						  	      		  	 			  	 				  	 		 	     			    	 			  		 	  			 				   		  				 	     			  		 		
// F66F194C04A03CB5E74EC2A8C1DD0537
double Xf0_35() {
   double order_open_price_0;
   int ticket_8;
   double XLd_unused_12 = 0;
   int ticket_20 = 0;
   for (int pos_24 = OrdersTotal() - 1; pos_24 >= 0; pos_24--) {
      OrderSelect(pos_24, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot2) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2 && OrderType() == OP_BUY) {
         ticket_8 = OrderTicket();
         if (ticket_8 > ticket_20) {
            order_open_price_0 = OrderOpenPrice();
            XLd_unused_12 = order_open_price_0;
            ticket_20 = ticket_8;
         }
      }
   }
   return (order_open_price_0);
}
	     	 			 					      	 	   			 	 		  	   	 							      	    	 	  	 	 		  	 	 			 	    	  	   	      		  					 	      				 			 				  					 	 		
// C8E1186288BBCE29FD09990000128B35
double Xf0_27() {
   double order_open_price_0;
   int ticket_8;
   double XLd_unused_12 = 0;
   int ticket_20 = 0;
   for (int pos_24 = OrdersTotal() - 1; pos_24 >= 0; pos_24--) {
      OrderSelect(pos_24, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot2) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot2 && OrderType() == OP_SELL) {
         ticket_8 = OrderTicket();
         if (ticket_8 > ticket_20) {
            order_open_price_0 = OrderOpenPrice();
            XLd_unused_12 = order_open_price_0;
            ticket_20 = ticket_8;
         }
      }
   }
   return (order_open_price_0);
}
	 	  	  		  	  		 	  			 		    	 							  		   			 	 		      			 		 		  			 		  		  			  		 			 	 	  				 			  	 		  		 		 	   	 	 							 	  			
// 6EF0698100DD80AB6B7953B95E5FAD5C
int Xf0_12() {
   int Xcount_0 = 0;
   for (int pos_4 = OrdersTotal() - 1; pos_4 >= 0; pos_4--) {
      OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot3) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3)
         if (OrderType() == OP_SELL || OrderType() == OP_BUY) Xcount_0++;
   }
   return (Xcount_0);
}
	  	 	 						   	  	 		  	 	     	  			         			  			  		 		  	 			 			 			 									 	 						  	 		 	   	    	 	 						      		 			 			   	 	
// 065CE9405D7D7C2EAE70F2FF0F5A8147
void Xf0_0() {
   for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {
      OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol()) {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3) {
            if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, XG_slippage_892, Blue);
            if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, XG_slippage_892, Red);
         }
         Sleep(1000);
      }
   }
}
	 	 	   		   	 		 	 	 		 		 		 	 			  		  				 			 		 	     	 		 		     			     		    	  		   	 	 	 	 			 		 	 	 		 	 	 		 			 	 	 	  				 						
// 25977731C5753DECF295DA11C4378DE5
int Xf0_6(int Ai_0, double A_lots_4, double Ad_unused_12, int A_slippage_20, double Ad_unused_24, int Ai_32, int Ai_36, string A_comment_40, int A_magic_48, int A_datetime_52, color A_color_56) {
   int ticket_60 = 0;
   int error_64 = 0;
   int Xcount_68 = 0;
   int XLi_72 = 100;
   switch (Ai_0) {
   case 0:
      for (Xcount_68 = 0; Xcount_68 < XLi_72; Xcount_68++) {
         RefreshRates();
         ticket_60 = OrderSend(Symbol(), OP_BUY, A_lots_4, NormalizeDouble(Ask, Digits), A_slippage_20, NormalizeDouble(Xf0_14(Bid, Ai_32), Digits), NormalizeDouble(Xf0_9(Ask,
            Ai_36), Digits), A_comment_40, A_magic_48, A_datetime_52, A_color_56);
         error_64 = GetLastError();
         if (error_64 == 0/* NO_ERROR */) break;
         if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
         Sleep(5000);
      }
      break;
   case 1:
      for (Xcount_68 = 0; Xcount_68 < XLi_72; Xcount_68++) {
         ticket_60 = OrderSend(Symbol(), OP_SELL, A_lots_4, NormalizeDouble(Bid, Digits), A_slippage_20, NormalizeDouble(Xf0_22(Ask, Ai_32), Digits), NormalizeDouble(Xf0_10(Bid,
            Ai_36), Digits), A_comment_40, A_magic_48, A_datetime_52, A_color_56);
         error_64 = GetLastError();
         if (error_64 == 0/* NO_ERROR */) break;
         if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
         Sleep(5000);
      }
   }
   return (ticket_60);
}
	  	 	 	 				      	 		 		 	    		  			 	        		  				 		 		 		 			 	 	 			 	 									 					   	 		     	   		 	 			 		     			 			  		   	  
// 87D810BEA6B0AD2FCF70C69C17E19362
double Xf0_14(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 - Ai_8 * Point);
}
	 		 	 			 		   	 		 		  			     		 			   	     		   			   	 		  					 							 			 					 								 		 		 	 	 	    			 					       	  			 		    	 	
// B3477275C69E607F97F2840B12AE4A9F
double Xf0_22(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 + Ai_8 * Point);
}
				  		   				  			    	 		 		 	 	 	   			  		        			 	    	 			 		  			 		   		  		 			  	 			     		 			 	 		   	     		 	   	        	   
// 37FA8C95BB37E55BB52283CC69099A5F
double Xf0_9(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 + Ai_8 * Point);
}
		   				 	 	 	 		   	        	    			   	 	  	 	 		 	 	 		  	      					   					 	 		 	    		 			   	  		 		 	      	 		 		  	   				  	 		    	
// 5EF05A0BDFEED3445F4FE51BA1977B3C
double Xf0_10(double Ad_0, int Ai_8) {
   if (Ai_8 == 0) return (0);
   return (Ad_0 - Ai_8 * Point);
}
		    		  	 			  	      	    		 	  		   		 	 		   		   				     	   	 		    	 		  	 	  		   	  	 	       	 				 	      	  		 		 	 			     		 	   
// 31C5A9E59B9C6E81AE342B735890CD44
double Xf0_8() {
   double XLd_ret_0 = 0;
   for (XG_pos_1016 = OrdersTotal() - 1; XG_pos_1016 >= 0; XG_pos_1016--) {
      OrderSelect(XG_pos_1016, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot3) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3)
         if (OrderType() == OP_BUY || OrderType() == OP_SELL) XLd_ret_0 += OrderProfit();
   }
   return (XLd_ret_0);
}
	  	    						 		  	  		 	 	 	 	 	  	 		     	 				   	   		  		 	 		   		 		   					 	  	 		 	 	  	  			   		 	 	 	  	 			  	 	 		 	 					  				
// ED2502136334FB187FF67433121886AF
void Xf0_33(int Ai_0, int Ai_4, double A_price_8) {
   int XLi_16;
   double order_stoploss_20;
   double price_28;
   if (Ai_4 != 0) {
      for (int pos_36 = OrdersTotal() - 1; pos_36 >= 0; pos_36--) {
         if (OrderSelect(pos_36, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot3) continue;
            if (OrderSymbol() == Symbol() || OrderMagicNumber() == MagicNumber_Robot3) {
               if (OrderType() == OP_BUY) {
                  XLi_16 = NormalizeDouble((Bid - A_price_8) / Point, 0);
                  if (XLi_16 < Ai_0) continue;
                  order_stoploss_20 = OrderStopLoss();
                  price_28 = Bid - Ai_4 * Point;
                  if (order_stoploss_20 == 0.0 || (order_stoploss_20 != 0.0 && price_28 > order_stoploss_20)) OrderModify(OrderTicket(), A_price_8, price_28, OrderTakeProfit(), 0, Aqua);
               }
               if (OrderType() == OP_SELL) {
                  XLi_16 = NormalizeDouble((A_price_8 - Ask) / Point, 0);
                  if (XLi_16 < Ai_0) continue;
                  order_stoploss_20 = OrderStopLoss();
                  price_28 = Ask + Ai_4 * Point;
                  if (order_stoploss_20 == 0.0 || (order_stoploss_20 != 0.0 && price_28 < order_stoploss_20)) OrderModify(OrderTicket(), A_price_8, price_28, OrderTakeProfit(), 0, Red);
               }
            }
            Sleep(1000);
         }
      }
   }
}
			  	 		   	   			  		   	       					  			    	  	 			 	   		   	 		 		 	 		 		   				  	 							  		 					     	  				  	       				 	  	  	 	
// DED4C3E9893A50A6B8A9A57E1BCD0548
double Xf0_29() {
   if (Xf0_12() == 0) XGd_1052 = AccountEquity();
   if (XGd_1052 < XGd_1060) XGd_1052 = XGd_1060;
   else XGd_1052 = AccountEquity();
   XGd_1060 = AccountEquity();
   return (XGd_1052);
}
		  				  	   	  	  		  	   	 	 	  	 	  		 		 	   				 				 		  	    			     			  	  	 		    	 	 	  		   	 	  	 	   		 	  			 	 	 		 	    			    
// 9FC0A73FE3F286FD086830C3094E8AB3
double Xf0_16() {
   double order_open_price_0;
   int ticket_8;
   double XLd_unused_12 = 0;
   int ticket_20 = 0;
   for (int pos_24 = OrdersTotal() - 1; pos_24 >= 0; pos_24--) {
      OrderSelect(pos_24, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot3) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3 && OrderType() == OP_BUY) {
         ticket_8 = OrderTicket();
         if (ticket_8 > ticket_20) {
            order_open_price_0 = OrderOpenPrice();
            XLd_unused_12 = order_open_price_0;
            ticket_20 = ticket_8;
         }
      }
   }
   return (order_open_price_0);
}
	   	  				  	  	   	 	  	  		   	 	  	    			  					 		  	 	 	  	     			     				   		 	    			   	 	 	  	 	   	  	 								   			  	 							 	
// C55A286500E20535F02887DCF6EFC3C6
double Xf0_26() {
   double order_open_price_0;
   int ticket_8;
   double XLd_unused_12 = 0;
   int ticket_20 = 0;
   for (int pos_24 = OrdersTotal() - 1; pos_24 >= 0; pos_24--) {
      OrderSelect(pos_24, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber_Robot3) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber_Robot3 && OrderType() == OP_SELL) {
         ticket_8 = OrderTicket();
         if (ticket_8 > ticket_20) {
            order_open_price_0 = OrderOpenPrice();
            XLd_unused_12 = order_open_price_0;
            ticket_20 = ticket_8;
         }
      }
   }
   return (order_open_price_0);
}
//////////////////////// OUTRO EA //////////////////////////


// C7B7E78A33FDB681AE876AC23EA003AB
int f0_133(string as_0) {
   int lia_8[];
   int lia_12[5];
   int li_16;
   if (gi_836 == FALSE) f0_146();
   if (gi_836 != FALSE) {
      ArrayResize(lia_8, StringLen(as_0));
      f0_141(lia_8, ArraySize(lia_8) << 18, as_0);
      f0_105(lia_12, 131072, 2);
      f0_105(lia_12, 131074, f0_51(gi_832));
      f0_105(lia_12, 262148, /*inet_addr(gs_824)*/gs_824);
      li_16 = 1;//sendto(gi_836, lia_8, ArraySize(lia_8), 0, lia_12, ArraySize(lia_12) * 4);
      if (li_16 == -1) {
         Print("Server: UDP send() failed: error "/* + WSAGetLastError()*/);
         f0_135();
         gi_836 = FALSE;
      }
   }
   return (gi_836);
}

// CAD04C1774C33CA92080EAEBADE2109E
void f0_135() {
//   closesocket(gi_836);
//   WSACleanup();
   gi_836 = FALSE;
}

// DF0D5A17B34CAF650F5CADD3F2327AD8
int f0_146() {
   int lia_4[100];
   int lia_12[1];
   int li_nsd_8 = 1;
   if (gi_832 == 0) return (0);
   int li_0 = 0;//WSAStartup(514, lia_4);
   if (li_0 != 0) {
      Print("Server: WSAStartup() failed with error " + li_0);
      return (0);
   }
   gi_836 = TRUE;//socket(2, 2, 17);
   if (gi_836 == FALSE) {
      Print("Server: socket() failed with error "/* + WSAGetLastError()*/);
//      WSACleanup();
      return (0);
   }
   lia_12[0] = f0_51(1);
   li_0 = 1;//setsockopt(gi_836, 65535, 4, lia_12, ArraySize(lia_12) * 4);
   if (li_0 == -1) Print("Server: setsockopt() failed with error "/* + WSAGetLastError()*/);
   return (gi_836);
}

// D47AFFB6503B6D108F7DC3C7539BC8BB
void f0_141(int &aia_0[], int ai_4, string as_8) {
   int li_20;
   int count_24;
   int li_16 = ai_4 >> 16;
   if (li_16 >= 2) {
      ai_4 &= 65535;
      li_20 = ai_4 >> 2;
      count_24 = ai_4 % 4;
      for (int li_28 = 0; li_28 < StringLen(as_8); li_28++) {
         aia_0[li_20] = aia_0[li_20] & (~(255 << (count_24 * 8)));
         aia_0[li_20] = aia_0[li_20] | StringGetChar(as_8, li_28) << (count_24 * 8);
         if (count_24 == 3) {
            li_20++;
            count_24 = 0;
         } else count_24++;
         if (li_16 == 2) break;
         li_16--;
      }
      aia_0[li_20] = aia_0[li_20] & (~(255 << (count_24 * 8)));
   }
}

// 9E32925D7C93C8DA847A44286E60E4E5
void f0_105(int &aia_0[5], int ai_4, int ai_8) {
   int li_16;
   int li_20;
   if (ai_4 < 0) ai_4 = -ai_4;
   int li_12 = ai_4 >> 16;
   if (li_12 != 0) {
      if (li_12 > 4) li_12 = 4;
      ai_4 &= 65535;
      li_16 = ai_4 >> 2;
      li_20 = ai_4 % 4;
      ai_8 &= (-1) >> ((4 - li_12) * 8);
      aia_0[li_16] = aia_0[li_16] & (-1) >> ((4 - li_20) * 8);
      aia_0[li_16] = aia_0[li_16] | ai_8 << (li_20 * 8);
      if (li_20 + li_12 > 4) {
         li_16++;
         aia_0[li_16] = aia_0[li_16] & (-1) << ((li_20 + li_12 - 4) * 8);
         aia_0[li_16] = aia_0[li_16] | ai_8 >> ((8 - li_20 - li_12) * 8);
      }
   }
}

// 4748625205F23D72AC04097BF0528233
int f0_51(int ai_0) {
   return ((ai_0 & 255 * 256) | ai_0 & 65280 >> 8);
}

// DA69CBAFF4D38B87377667EEC549DE5A
string f0_143(int ai_0) {
   string ls_ret_4;
   switch (ai_0) {
   case 0:
   case 1:
      ls_ret_4 = "no error";
      break;
   case 2:
      ls_ret_4 = "common error";
      break;
   case 3:
      ls_ret_4 = "invalid trade parameters";
      break;
   case 4:
      ls_ret_4 = "trade server is busy";
      break;
   case 5:
      ls_ret_4 = "old version of the client terminal";
      break;
   case 6:
      ls_ret_4 = "no connection with trade server";
      break;
   case 7:
      ls_ret_4 = "not enough rights";
      break;
   case 8:
      ls_ret_4 = "too frequent requests";
      break;
   case 9:
      ls_ret_4 = "malfunctional trade operation (never returned error)";
      break;
   case 64:
      ls_ret_4 = "account disabled";
      break;
   case 65:
      ls_ret_4 = "invalid account";
      break;
   case 128:
      ls_ret_4 = "trade timeout";
      break;
   case 129:
      ls_ret_4 = "invalid price";
      break;
   case 130:
      ls_ret_4 = "invalid stops";
      break;
   case 131:
      ls_ret_4 = "invalid trade volume";
      break;
   case 132:
      ls_ret_4 = "market is closed";
      break;
   case 133:
      ls_ret_4 = "trade is disabled";
      break;
   case 134:
      ls_ret_4 = "not enough money";
      break;
   case 135:
      ls_ret_4 = "price changed";
      break;
   case 136:
      ls_ret_4 = "off quotes";
      break;
   case 137:
      ls_ret_4 = "broker is busy (never returned error)";
      break;
   case 138:
      ls_ret_4 = "requote";
      break;
   case 139:
      ls_ret_4 = "order is locked";
      break;
   case 140:
      ls_ret_4 = "long positions only allowed";
      break;
   case 141:
      ls_ret_4 = "too many requests";
      break;
   case 145:
      ls_ret_4 = "modification denied because order too close to market";
      break;
   case 146:
      ls_ret_4 = "trade context is busy";
      break;
   case 147:
      ls_ret_4 = "expirations are denied by broker";
      break;
   case 148:
      ls_ret_4 = "amount of open and pending orders has reached the limit";
      break;
   case 149:
      ls_ret_4 = "hedging is prohibited";
      break;
   case 150:
      ls_ret_4 = "prohibited by FIFO rules";
      break;
   case 4000:
      ls_ret_4 = "no error (never generated code)";
      break;
   case 4001:
      ls_ret_4 = "wrong function pointer";
      break;
   case 4002:
      ls_ret_4 = "array index is out of range";
      break;
   case 4003:
      ls_ret_4 = "no memory for function call stack";
      break;
   case 4004:
      ls_ret_4 = "recursive stack overflow";
      break;
   case 4005:
      ls_ret_4 = "not enough stack for parameter";
      break;
   case 4006:
      ls_ret_4 = "no memory for parameter string";
      break;
   case 4007:
      ls_ret_4 = "no memory for temp string";
      break;
   case 4008:
      ls_ret_4 = "not initialized string";
      break;
   case 4009:
      ls_ret_4 = "not initialized string in array";
      break;
   case 4010:
      ls_ret_4 = "no memory for array\' string";
      break;
   case 4011:
      ls_ret_4 = "too long string";
      break;
   case 4012:
      ls_ret_4 = "remainder from zero divide";
      break;
   case 4013:
      ls_ret_4 = "zero divide";
      break;
   case 4014:
      ls_ret_4 = "unknown command";
      break;
   case 4015:
      ls_ret_4 = "wrong jump (never generated error)";
      break;
   case 4016:
      ls_ret_4 = "not initialized array";
      break;
   case 4017:
      ls_ret_4 = "dll calls are not allowed";
      break;
   case 4018:
      ls_ret_4 = "cannot load library";
      break;
   case 4019:
      ls_ret_4 = "cannot call function";
      break;
   case 4020:
      ls_ret_4 = "expert function calls are not allowed";
      break;
   case 4021:
      ls_ret_4 = "not enough memory for temp string returned from function";
      break;
   case 4022:
      ls_ret_4 = "system is busy (never generated error)";
      break;
   case 4050:
      ls_ret_4 = "invalid function parameters count";
      break;
   case 4051:
      ls_ret_4 = "invalid function parameter value";
      break;
   case 4052:
      ls_ret_4 = "string function internal error";
      break;
   case 4053:
      ls_ret_4 = "some array error";
      break;
   case 4054:
      ls_ret_4 = "incorrect series array using";
      break;
   case 4055:
      ls_ret_4 = "custom indicator error";
      break;
   case 4056:
      ls_ret_4 = "arrays are incompatible";
      break;
   case 4057:
      ls_ret_4 = "global variables processing error";
      break;
   case 4058:
      ls_ret_4 = "global variable not found";
      break;
   case 4059:
      ls_ret_4 = "function is not allowed in testing mode";
      break;
   case 4060:
      ls_ret_4 = "function is not confirmed";
      break;
   case 4061:
      ls_ret_4 = "send mail error";
      break;
   case 4062:
      ls_ret_4 = "string parameter expected";
      break;
   case 4063:
      ls_ret_4 = "integer parameter expected";
      break;
   case 4064:
      ls_ret_4 = "double parameter expected";
      break;
   case 4065:
      ls_ret_4 = "array as parameter expected";
      break;
   case 4066:
      ls_ret_4 = "requested history data in update state";
      break;
   case 4099:
      ls_ret_4 = "end of file";
      break;
   case 4100:
      ls_ret_4 = "some file error";
      break;
   case 4101:
      ls_ret_4 = "wrong file name";
      break;
   case 4102:
      ls_ret_4 = "too many opened files";
      break;
   case 4103:
      ls_ret_4 = "cannot open file";
      break;
   case 4104:
      ls_ret_4 = "incompatible access to a file";
      break;
   case 4105:
      ls_ret_4 = "no order selected";
      break;
   case 4106:
      ls_ret_4 = "unknown symbol";
      break;
   case 4107:
      ls_ret_4 = "invalid price parameter for trade function";
      break;
   case 4108:
      ls_ret_4 = "invalid ticket";
      break;
   case 4109:
      ls_ret_4 = "trade is not allowed in the expert properties";
      break;
   case 4110:
      ls_ret_4 = "longs are not allowed in the expert properties";
      break;
   case 4111:
      ls_ret_4 = "shorts are not allowed in the expert properties";
      break;
   case 4200:
      ls_ret_4 = "object is already exist";
      break;
   case 4201:
      ls_ret_4 = "unknown object property";
      break;
   case 4202:
      ls_ret_4 = "object is not exist";
      break;
   case 4203:
      ls_ret_4 = "unknown object type";
      break;
   case 4204:
      ls_ret_4 = "no object name";
      break;
   case 4205:
      ls_ret_4 = "object coordinates error";
      break;
   case 4206:
      ls_ret_4 = "no specified subwindow";
      break;
   default:
      ls_ret_4 = "unknown error";
   }
   return (ls_ret_4);
}

// F3F4879EA2CD57F6262AF6EBF1AA6BED
string f0_166() {
   if (g_bool_852) return (StringConcatenate("logs\\", TimeToStr(TimeLocal(), TIME_DATE), " - ", WindowExpertName(), " [", Symbol(), "].log"));
   return (StringConcatenate("logs\\", WindowExpertName(), " [", Symbol(), "].log"));
}

// DF360FB723F3206D897C43B4EE63EC9B
void f0_147() {
   int li_0 = gi_848;
   gi_848 = FALSE;
   f0_138("###########################################################################", "SET   ", 8);
   f0_138("Expert:                        " + g_str_concat_868, "SET   ", 8);
   f0_138("Symbol:                        " + Symbol(), "SET   ", 8);
   f0_138("Period:                        " + f0_128(), "SET   ", 8);
   f0_138("Account Company:               " + AccountCompany(), "SET   ", 8);
   f0_138("Account Currency:              " + AccountCurrency(), "SET   ", 8);
   f0_138("Account Leverage:              " + AccountLeverage(), "SET   ", 8);
   f0_138("Account Server:                " + AccountServer(), "SET   ", 8);
   f0_138("Expert Enabled:                " + f0_155(IsExpertEnabled()), "SET   ", 8);
   f0_138("Trade Allowed                  " + f0_155(IsTradeAllowed()), "SET   ", 8);
   f0_138("Dll Allowed                    " + f0_155(IsDllsAllowed()), "SET   ", 8);
   f0_138("Demo:                          " + f0_155(IsDemo()), "SET   ", 8);
   f0_138("Testing:                       " + f0_155(IsTesting()), "SET   ", 8);
   f0_138(" ", "SET   ", 8);
   f0_138("Digits:                        " + Digits, "SET   ", 8);
   f0_138("Spread:                        " + DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD), 1), "SET   ", 8);
   f0_138("Point:                         " + MarketInfo(Symbol(), MODE_POINT), "SET   ", 8);
   f0_138("Stop level:                    " + DoubleToStr(MarketInfo(Symbol(), MODE_STOPLEVEL), 1), "SET   ", 8);
   f0_138("Lot size:                      " + DoubleToStr(MarketInfo(Symbol(), MODE_LOTSIZE), 0), "SET   ", 8);
   f0_138("Minimum LOT:                   " + DoubleToStr(MarketInfo(Symbol(), MODE_MINLOT), 5), "SET   ", 8);
   f0_138("Maximum LOT:                   " + DoubleToStr(MarketInfo(Symbol(), MODE_MAXLOT), 0), "SET   ", 8);
   f0_138("Lot step:                      " + MarketInfo(Symbol(), MODE_LOTSTEP), "SET   ", 8);
   f0_138("Lot cost (init):               " + DoubleToStr(MarketInfo(Symbol(), MODE_MARGININIT), 2), "SET   ", 8);
   f0_138("Lot cost (req):                " + DoubleToStr(MarketInfo(Symbol(), MODE_MARGINREQUIRED), 2), "SET   ", 8);
   f0_138("Lot cost (maintenance):        " + DoubleToStr(MarketInfo(Symbol(), MODE_MARGINMAINTENANCE), 2), "SET   ", 8);
   f0_138("Lot cost (hedged):             " + DoubleToStr(MarketInfo(Symbol(), MODE_MARGINHEDGED), 2), "SET   ", 8);
   f0_138("Tick value:                    " + MarketInfo(Symbol(), MODE_TICKVALUE), "SET   ", 8);
   f0_138("Tick size:                     " + MarketInfo(Symbol(), MODE_TICKSIZE), "SET   ", 8);
   f0_138("###########################################################################", "SET   ", 8);
   f0_138("Log level:                     " + f0_99(gi_840), "SET   ", 8);
   gi_848 = li_0;
}

// EB053A21ADF8A5FF57B4BBC45DE07971
string f0_155(bool ai_0) {
   if (ai_0) return ("True");
   return ("False");
}

// 9A6BBDE4218D042CE08249A57FE5AAAF
string f0_101(int ai_0) {
   switch (ai_0) {
   case 0:
      return ("BUY");
   case 1:
      return ("SELL");
   case 2:
      return ("BUYLIMIT");
   case 3:
      return ("SELLLIMIT");
   case 4:
      return ("BUYSTOP");
   case 5:
      return ("SELLSTOP");
   }
   return ("Unknow");
}

// C32C9AC1883956DF9E4F05F9C561E3D8
string f0_128() {
   switch (Period()) {
   case PERIOD_M1:
      return ("M1");
   case PERIOD_M5:
      return ("M5");
   case PERIOD_M15:
      return ("M15");
   case PERIOD_M30:
      return ("M30");
   case PERIOD_H1:
      return ("H1");
   case PERIOD_H4:
      return ("H4");
   case PERIOD_D1:
      return ("D1");
   case PERIOD_W1:
      return ("W1");
   case PERIOD_MN1:
      return ("MN1");
   }
   return ("Invalid");
}

// 98E15D86F9578A03D816241A92703D41
string f0_99(int ai_0) {
   switch (ai_0) {
   case 1:
      return ("ERROR  ");
   case 2:
      return ("WARNING");
   case 4:
      return ("SUCCESS");
   case 8:
      return ("INFO   ");
   case 16:
      return ("TRACE  ");
   }
   return ("DEBUG  ");
}

// CE0BE71E33226E4C1DB2BCEA5959F16B
void f0_138(string as_0, string as_8 = "NORMAL", int ai_16 = 8) {
   string name_20;
   string ls_28;
   int file_36;
   if (ai_16 <= gi_840 && g_bool_844) {
      name_20 = f0_166();
      if (name_20 != g_name_860 && IsTesting()) {
         FileDelete(name_20);
         g_name_860 = name_20;
      }
      ls_28 = "; ";
      file_36 = FileOpen(name_20, FILE_CSV|FILE_WRITE|FILE_READ, ';');
      FileSeek(file_36, 0, SEEK_END);
      FileWrite(file_36, TimeToStr(TimeLocal(), TIME_DATE), " " + TimeToStr(TimeLocal(), TIME_SECONDS), " " + as_8, " " + f0_99(ai_16), " " + as_0);
      FileClose(file_36);
      if (gi_848) Print(as_0);
      if (g_bool_856) {
         f0_133(StringConcatenate("L", ls_28, g_str_concat_868, ls_28, TimeToStr(TimeLocal(), TIME_DATE), ls_28, TimeToStr(TimeLocal(), TIME_SECONDS), ls_28, as_8, ls_28,
            f0_99(ai_16), ls_28, as_0));
      }
   }
}

// 1E2D3E4519DB325889FC8F38EF6C766B
void f0_20(string as_0, string as_8 = "NORMAL") {
   f0_138(as_0, as_8, 1);
}

// E23D486C78092A2B54111904104FC071
void f0_150(string as_0, string as_8 = "NORMAL") {
   f0_138(as_0, as_8, 1);
   Alert(as_0);
}

// A8AF7782502AD176154B856C82283D97
void f0_112(string as_0, string as_8 = "NORMAL") {
   f0_138(as_0, as_8, 2);
}

// 84688D9507D6EDD699E41363EC5F400C
void f0_86(string as_0, string as_8 = "NORMAL") {
   f0_138(as_0, as_8, 16);
}

// 78E76497B869281F4747A3FC3558A71B
void f0_78(string as_0, string as_8 = "NORMAL") {
   f0_138(as_0, as_8, 4);
}

// 059080B1E7C854F6FFA0BD5AF5E562B5
void f0_2(string a_str_concat_0 = "") {
   if (a_str_concat_0 != "") g_str_concat_868 = a_str_concat_0;
   else g_str_concat_868 = StringConcatenate(WindowExpertName(), " [", Symbol(), "] - ", AccountNumber());
   string ls_8 = "; ";
   string ls_16 = "REAL";
   if (IsDemo()) ls_16 = "DEMO";
   if (IsTesting()) ls_16 = "TEST";
   if (g_bool_844 && g_bool_856) f0_133(StringConcatenate("I", ls_8, g_str_concat_868, ls_8, TimeToStr(TimeLocal(), TIME_DATE), ls_8, TimeToStr(TimeLocal(), TIME_SECONDS), ls_8, ls_16));
}

// 57F68BD7CB298DFCF8C1D55FF163E283
void f0_60(int a_ticket_0, string as_4 = "", int ai_12 = 8) {
   double ld_16;
   double ld_24;
   string ls_32;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET)) {
      ld_16 = 0;
      ld_24 = 0;
      if (OrderStopLoss() > 0.0) ld_16 = MathAbs((OrderOpenPrice() - OrderStopLoss()) / Point);
      if (OrderTakeProfit() > 0.0) ld_24 = MathAbs((OrderTakeProfit() - OrderOpenPrice()) / Point);
      ls_32 = "";
      if (OrderCloseTime() > 0) ls_32 = ", Close Price: " + DoubleToStr(OrderClosePrice(), Digits);
      f0_138(as_4 + " Ticket #" + a_ticket_0 + ": " + " Type: " + f0_101(OrderType()) + ", LOT: " + DoubleToStr(OrderLots(), 2) + ", Open Price: " + DoubleToStr(OrderOpenPrice(),
         Digits) + ", SL: " + DoubleToStr(OrderStopLoss(), Digits) + " (" + DoubleToStr(ld_16, 0) + ")" + ", TP: " + DoubleToStr(OrderTakeProfit(), Digits) + " (" + DoubleToStr(ld_24,
         0) + ")" + ls_32 + ", Magic: " + OrderMagicNumber() + ", Comment: " + OrderComment(), "ORDER ", ai_12);
      return;
   }
   f0_112("Invalid ticket: " + a_ticket_0);
}

// F095AEEEF8A18556B81B2C841501C9C8
double f0_161(bool ai_0 = FALSE) {
   gd_876 = 1;
   if (ai_0) {
      if (Digits % 4 != FALSE) gd_876 = 10;
   } else {
      if (Digits == 5 || (Digits == 3 && StringFind(Symbol(), "JPY") > -1) || (Digits == 2 && StringFind(Symbol(), "XAU") > -1) || (Digits == 2 && StringFind(Symbol(),
         "GOLD") > -1) || (Digits == 3 && StringFind(Symbol(), "XAG") > -1) || (Digits == 3 && StringFind(Symbol(), "SILVER") > -1) || Digits == 1) gd_876 = 10;
      if (Digits == 6 || (Digits == 4 && StringFind(Symbol(), "JPY") > -1) || (Digits == 3 && StringFind(Symbol(), "XAU") > -1) || (Digits == 3 && StringFind(Symbol(),
         "GOLD") > -1) || (Digits == 4 && StringFind(Symbol(), "XAG") > -1) || (Digits == 4 && StringFind(Symbol(), "SILVER") > -1)) gd_876 = 100;
   }
   return (gd_876);
}

// 0D51E5907CFDB5931B9358945E89438B
double f0_7(double a_pips_0) {
   return (a_pips_0 * Point * gd_876);
}

// D315BD4B967F698F17705C9D8F74028C
double f0_139(double ad_0) {
   return (ad_0 / Point / gd_876);
}

// E5B9BDBE11C5EB46DAE10F059B104BF7
double f0_153(double ad_0, double ad_8) {
   double ld_24;
   double ticksize_16 = MarketInfo(Symbol(), MODE_TICKSIZE);
   if (ticksize_16 != 0.0) {
      ld_24 = MarketInfo(Symbol(), MODE_TICKVALUE) * (Point / ticksize_16);
      return (ad_0 * gd_876 * ld_24 * ad_8);
   }
   return (0);
}

// 9A116C50D133C8648404081885194300
double f0_100(double ad_0, int a_digits_8 = -1) {
   if (a_digits_8 == -1) a_digits_8 = Digits;
   return (NormalizeDouble(ad_0, a_digits_8));
}

// CCA857FBDD027B602626930098BCCF85
string f0_136(double ad_0, int ai_8 = 2) {
   if (ad_0 < 0.0) return (StringConcatenate("-", gs_884, f0_108(MathAbs(ad_0), ai_8), gs_892));
   return (StringConcatenate(gs_884, f0_108(ad_0, ai_8), gs_892));
}

// A2089E7697BB46B042BA7BD3E2EB50F1
string f0_108(double ad_0, int ai_8 = 0) {
   return (DoubleToStr(ad_0, ai_8));
}

// 44A6E0D66A0838FD2F5DD7630F7C1327
void f0_48() {
   string ls_0 = AccountCurrency();
   if (ls_0 == "USD") {
      gs_884 = "$";
      return;
   }
   if (ls_0 == "EUR") {
      gs_884 = "€";
      return;
   }
   if (ls_0 == "GBP") {
      gs_884 = "£";
      return;
   }
   if (ls_0 == "JPY") {
      gs_884 = "¥";
      return;
   }
   gs_884 = "";
}

// 8B2937C36CA255BF2098D743850095A6
double f0_95(double ad_0, string a_symbol_8 = "") {
   string ls_48;
   if (a_symbol_8 == "") a_symbol_8 = Symbol();
   double marginrequired_16 = MarketInfo(a_symbol_8, MODE_MARGINREQUIRED);
   double lotstep_24 = MarketInfo(a_symbol_8, MODE_LOTSTEP);
   double minlot_32 = MarketInfo(a_symbol_8, MODE_MINLOT);
   if (lotstep_24 != 0.0) ad_0 = MathFloor(ad_0 / lotstep_24) * lotstep_24;
   ad_0 = MathMax(ad_0, minlot_32);
   double ld_40 = ad_0 * marginrequired_16;
   if (ld_40 > AccountFreeMargin()) {
      ls_48 = "You have not enough money! Free margin: " + DoubleToStr(AccountFreeMargin(), 2) + ", Require: " + DoubleToStr(ld_40, 2);
      Print(ls_48);
      return (0);
   }
   return (ad_0);
}

// 620ECEBAA3D316E5E5B8B3F19CFCE19B
double f0_67(double ad_nsd_0, bool ai_8 = FALSE) {
   double ld_ret_20;
   double ld_ret_28;
   double ld_12 = AccountBalance();
   if (ld_12 != 0.0) {
      ld_ret_20 = AccountMargin() + (AccountBalance() - AccountEquity());
      ld_ret_28 = 100.0 * (ld_ret_20 / ld_12);
      if (!(ai_8)) return (ld_ret_20);
      return (ld_ret_28);
   }
   return (0);
}

// 88B988D72577FB329BF0848DE410CA17
string f0_89(string &as_0, string as_8) {
   string ls_ret_16 = "";
   int li_24 = StringFind(as_0, as_8, 0);
   if (li_24 != -1) {
      if (li_24 > 0) ls_ret_16 = StringSubstr(as_0, 0, li_24);
      as_0 = StringSubstr(as_0, li_24 + StringLen(as_8));
   } else {
      ls_ret_16 = as_0;
      as_0 = "";
   }
   return (ls_ret_16);
}

// 06CCE67E6D164C6A1BBC38BAD20E8EDF
int f0_4(bool ai_0, int ai_4, int ai_8) {
   if (ai_0) return (ai_4);
   return (ai_8);
}

// 3BE4B59601B7B2E82D21E1C5C718B88F
double f0_39(bool ai_0, double ad_4, double ad_12) {
   if (ai_0) return (ad_4);
   return (ad_12);
}

// 1368D28A27D3419A04740CF6C5C45FD7
string f0_12(int ai_0) {
   for (int li_4 = ArraySize(gia_904) - 1; li_4 >= 0; li_4--)
      if (ai_0 == gia_904[li_4]) return (gsa_900[li_4]);
   return ("");
}

// 14C18FA4BA9031D803BCA7111529C553
string f0_13(string as_0) {
   int li_36;
   string ls_ret_8 = "";
   string ls_16 = "abcdefghijklmnopqrstuvwxyz";
   string ls_24 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   for (int li_32 = 0; li_32 < StringLen(as_0); li_32++) {
      li_36 = StringFind(ls_24, StringSubstr(as_0, li_32, 1), 0);
      if (li_36 >= 0) ls_ret_8 = ls_ret_8 + StringSubstr(ls_16, li_36, 1);
      else ls_ret_8 = ls_ret_8 + StringSubstr(as_0, li_32, 1);
   }
   return (ls_ret_8);
}

// 3B196A05381EC289525B2E53A98926D7
void f0_38(string as_0 = "") {
   for (int li_8 = ObjectsTotal() - 1; li_8 >= 0; li_8--)
      if (as_0 == "" || StringFind(ObjectName(li_8), as_0, 0) >= 0) ObjectDelete(ObjectName(li_8));
}

// 7126649E3622237FA222CDC6BBA2273F
void f0_75(int a_dttm_0, double ad_4, string a_text_12, color a_clr_20 = 16777215, bool ai_24 = TRUE, bool ai_28 = FALSE) {
   int count_32 = 0;
   string ls_36 = "U";
   if (!ai_24) ls_36 = "D";
   string str_concat_44 = StringConcatenate("___PRICELBL_", ls_36, f0_108(a_dttm_0, 0), "_", f0_108(ad_4, 5));
   if (ai_28 && ObjectFind(str_concat_44) != -1) {
      while (ObjectFind(str_concat_44) != -1) {
         count_32++;
         str_concat_44 = StringConcatenate("PRICELBL_", ls_36, f0_108(a_dttm_0, 0), "_", f0_108(ad_4, 5), "_", count_32);
      }
   }
   if (ObjectFind(str_concat_44) == -1 || ObjectCreate(str_concat_44, OBJ_TEXT, 0, 0, 0)) ObjectSet(str_concat_44, OBJPROP_TIME1, a_dttm_0);
   double ld_52 = ad_4 + 5.0 * Point;
   if (!ai_24) ld_52 = ad_4;
   ObjectSet(str_concat_44, OBJPROP_PRICE1, ld_52);
   ObjectSetText(str_concat_44, a_text_12, g_fontsize_944, "Arial", a_clr_20);
}

// F5CF62E4BA63BB2971FB9EED7A4B943F
void f0_168(int ai_0, int ai_4, double ad_8, double ad_16) {
   int li_24 = gi_936;
   if (ad_16 < 0.0) li_24 = gi_940;
   f0_75(ai_4, ad_8, StringConcatenate(f0_136(ad_16, 2), "                  "), li_24, (ai_0 == 0 && ad_16 > 0.0) || (ai_0 == 1 && ad_16 < 0.0), 1);
}

// E1C2C4B95F3F081D753ECB174966268B
void f0_148(int a_magic_0, int a_cmd_4 = -1) {
   int li_8 = gi_932;
   int hist_total_12 = OrdersHistoryTotal();
   for (int pos_16 = hist_total_12 - 1; pos_16 >= 0; pos_16--) {
      if (OrderSelect(pos_16, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderType() == a_cmd_4 || a_cmd_4 == -1 && OrderSymbol() == Symbol() && OrderMagicNumber() == a_magic_0) {
            if (!(OrderTicket() > gi_932 || gi_932 == -1 && OrderType() == OP_BUY || OrderType() == OP_SELL)) break;
            f0_168(OrderType(), OrderCloseTime(), OrderClosePrice(), OrderProfit() + OrderSwap() + OrderCommission());
            li_8 = MathMax(li_8, OrderTicket());
            if (gi_932 == -1) gi_932 = OrderTicket();
         }
      }
   }
   gi_932 = li_8;
}

// 498CFE7F1A6FB1C64C3B3ACF54438508
double f0_53(string a_symbol_0, double ad_8, double ad_16 = 0.0, double ad_24 = 0.0) {
   double ld_72;
   double ld_80;
   double ld_88;
   string ls_96;
   double ld_ret_32 = 0;
   if (a_symbol_0 == "") a_symbol_0 = Symbol();
   double marginrequired_40 = MarketInfo(a_symbol_0, MODE_MARGINREQUIRED);
   double ld_48 = MarketInfo(a_symbol_0, MODE_MINLOT);
   double lotstep_56 = MarketInfo(a_symbol_0, MODE_LOTSTEP);
   double free_magrin_64 = AccountFreeMargin();
   if (ad_16 > 0.0) {
      ld_72 = ad_16 * marginrequired_40;
      if (ld_72 <= AccountFreeMargin()) ld_ret_32 = ad_16;
      else ld_ret_32 = MathFloor(free_magrin_64 / marginrequired_40 / lotstep_56) * lotstep_56;
   } else {
      if (ad_24 > 0.0) {
         ld_80 = AccountEquity() * (ad_8 / 100.0);
         ld_88 = MarketInfo(a_symbol_0, MODE_TICKVALUE) * gd_876;
         ld_ret_32 = ld_80 / (ld_88 * ad_24);
         ld_ret_32 = MathFloor(ld_ret_32 / lotstep_56) * lotstep_56;
      } else {
         if (ad_8 > 100.0) ad_8 = 100;
         if (ad_8 == 0.0) ld_ret_32 = ld_48;
         else ld_ret_32 = MathFloor(free_magrin_64 * ad_8 / 100.0 / marginrequired_40 / lotstep_56) * lotstep_56;
      }
   }
   if (ld_ret_32 < ld_48) ld_ret_32 = ld_48;
   ld_72 = ld_ret_32 * marginrequired_40;
   if (ld_72 > AccountFreeMargin()) {
      ls_96 = "You have not enough money! Free margin: " + f0_108(AccountFreeMargin(), 2) + ", Require: " + f0_108(ld_72, 2);
      Print(ls_96);
      return (0);
   }
   return (ld_ret_32);
}

// 401811F13CF39DF9D4C78BFA5C77530C
int f0_44(int ai_0 = 20) {
   int li_4 = 500;
   for (int count_8 = 0; IsTradeContextBusy() && count_8 < ai_0; count_8++) Sleep(li_4);
   if (count_8 >= ai_0) f0_112(StringConcatenate("Trade context is busy more than ", f0_108(li_4 * count_8 / 1000, 2), " seconds"));
   else
      if (count_8 > 0) f0_20(StringConcatenate("Trade context was busy ", f0_108(li_4 * count_8 / 1000, 2), " seconds"));
   RefreshRates();
   return (count_8 < ai_0);
}

// 3ED4137FCCCAF209812ED7B28A787689
int f0_42(int a_cmd_0, double a_lots_4, double ad_12, double ad_20, int a_magic_28, double ad_32 = 0.0, double ad_40 = 0.0) {
   color color_48;
   double ld_52;
   double ld_60;
   double ld_68;
   double ld_76;
   int li_84;
   int ticket_88;
   double ld_92;
   string str_concat_100;
   if (a_lots_4 != 0.0) {
      color_48 = f0_21(a_cmd_0);
      ld_60 = 0.0;
      ld_68 = 0.0;
      RefreshRates();
      if (a_cmd_0 == OP_BUYLIMIT || a_cmd_0 == OP_BUYSTOP || a_cmd_0 == OP_BUY) {
         if (ad_32 != 0.0) ld_52 = Ask + f0_7(ad_32);
         else {
            if (ad_40 != 0.0) ld_52 = ad_40;
            else ld_52 = Ask;
         }
         if (ad_12 > 0.0) ld_60 = f0_100(ld_52 - f0_7(ad_12));
         if (ad_20 > 0.0) ld_68 = f0_100(ld_52 + f0_7(ad_20));
      } else {
         if (a_cmd_0 == OP_SELLLIMIT || a_cmd_0 == OP_SELLSTOP || a_cmd_0 == OP_SELL) {
            if (ad_32 != 0.0) ld_52 = Bid - f0_7(ad_32);
            else {
               if (ad_40 != 0.0) ld_52 = ad_40;
               else ld_52 = Bid;
            }
            if (ad_12 > 0.0) ld_60 = f0_100(ld_52 + f0_7(ad_12));
            if (ad_20 > 0.0) ld_68 = f0_100(ld_52 - f0_7(ad_20));
         }
      }
      if (!f0_44()) {
         gs_984 = "Sorry, but the trade context is busy!";
         f0_112("Order open error! OrderSend(" + Symbol() + ", " + f0_101(a_cmd_0) + ", " + DoubleToStr(a_lots_4, 2) + ", " + DoubleToStr(ld_52, Digits) + ", " + DoubleToStr(gi_952 * gd_876,
            1) + ", " + DoubleToStr(ld_60, Digits) + ", " + DoubleToStr(ld_68, Digits) + ", \'" + g_comment_956 + "\', " + DoubleToStr(a_magic_28, 0) + ") error - " + gs_984);
         return (0);
      }
      ld_76 = MarketInfo(OrderSymbol(), MODE_SPREAD) / gd_876;
      f0_86("Open order OrderSend(" + Symbol() + ", " + f0_101(a_cmd_0) + ", " + DoubleToStr(a_lots_4, 2) + ", " + DoubleToStr(ld_52, Digits) + ", " + DoubleToStr(gi_952 * gd_876,
         1) + ", " + DoubleToStr(ld_60, Digits) + ", " + DoubleToStr(ld_68, Digits) + ", \'" + g_comment_956 + "\', " + DoubleToStr(a_magic_28, 0) + ") ... Current spread: " + f0_108(ld_76, 2));
      li_84 = GetTickCount();
      ticket_88 = -1;
      if (gi_948) ticket_88 = OrderSend(Symbol(), a_cmd_0, a_lots_4, f0_100(ld_52), gi_952 * gd_876, 0, 0, g_comment_956, a_magic_28, 0, color_48);
      else ticket_88 = OrderSend(Symbol(), a_cmd_0, a_lots_4, f0_100(ld_52), gi_952 * gd_876, f0_100(ld_60), f0_100(ld_68), g_comment_956, a_magic_28, 0, color_48);
      if (ticket_88 < 0) {
         gs_984 = f0_143(GetLastError());
         f0_112("Order open error! OrderSend(" + Symbol() + ", " + f0_101(a_cmd_0) + ", " + DoubleToStr(a_lots_4, 2) + ", " + DoubleToStr(ld_52, Digits) + ", " + DoubleToStr(gi_952 * gd_876,
            1) + ", " + DoubleToStr(ld_60, Digits) + ", " + DoubleToStr(ld_68, Digits) + ", \'" + g_comment_956 + "\', " + DoubleToStr(a_magic_28, 0) + ") error - " + gs_984);
         return (0);
      }
      gi_992 = GetTickCount() - li_84;
      f0_60(ticket_88, StringConcatenate("New order (", gi_992, " ms)!"));
      g_ticket_968 = ticket_88;
      if (gi_948) {
         Sleep(1000);
         f0_44();
         if (!OrderModify(ticket_88, f0_100(OrderOpenPrice()), f0_100(ld_60), f0_100(ld_68), 0, Black)) {
            gs_984 = f0_143(GetLastError());
            f0_20(StringConcatenate("OrderModify(", ticket_88, ", ", OrderOpenPrice(), ", ", ld_60, ", ", ld_68, ", 0) error (method: OpenOrder) - " + gs_984));
         }
      }
      if (g_bool_964 && f0_100(OrderOpenPrice()) != f0_100(ld_52)) {
         ld_92 = f0_139(OrderOpenPrice() - ld_52);
         str_concat_100 = StringConcatenate("[", Symbol(), " ", f0_12(Period()), "] Order (", ticket_88, ") open price changed (", ld_92, " pips)! Original: ", f0_100(ld_52),
            ", Opened price: ", f0_100(OrderOpenPrice()), ", Before spread: ", ld_76);
         if (ld_92 >= 1.0 || ld_92 <= -1.0) f0_150(str_concat_100);
         else f0_20(str_concat_100);
      }
      gi_972 = Time[0];
      if (a_cmd_0 == OP_BUY) gi_nsd_976 = gi_972;
      else
         if (a_cmd_0 == OP_SELL) gi_nsd_980 = gi_972;
   }
   return (1);
}

// F235F73FF9E6C9B0402F9856A41D6B1B
int f0_165(int a_ticket_0, double ad_4, double ad_12, double a_order_stoploss_20 = 0.0, double a_order_takeprofit_28 = 0.0) {
   double price_40;
   double order_stoploss_48;
   double order_takeprofit_56;
   bool li_ret_36 = FALSE;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      order_stoploss_48 = OrderStopLoss();
      order_takeprofit_56 = OrderTakeProfit();
      if (OrderType() == OP_BUY) {
         price_40 = MarketInfo(OrderSymbol(), MODE_ASK);
         if (ad_4 > 0.0) order_stoploss_48 = f0_100(price_40 - f0_7(ad_4));
         if (ad_12 > 0.0) order_takeprofit_56 = f0_100(price_40 + f0_7(ad_12));
      } else {
         if (OrderType() == OP_SELL) {
            price_40 = MarketInfo(OrderSymbol(), MODE_BID);
            if (ad_4 > 0.0) order_stoploss_48 = f0_100(price_40 + f0_7(ad_4));
            if (ad_12 > 0.0) order_takeprofit_56 = f0_100(price_40 - f0_7(ad_12));
         }
      }
      if (a_order_stoploss_20 > 0.0) order_stoploss_48 = a_order_stoploss_20;
      if (a_order_takeprofit_28 > 0.0) order_takeprofit_56 = a_order_takeprofit_28;
      if ((order_stoploss_48 > 0.0 && f0_100(order_stoploss_48) != f0_100(OrderStopLoss())) || (order_takeprofit_56 > 0.0 && f0_100(order_takeprofit_56) != f0_100(OrderTakeProfit()))) {
         f0_44();
         if (!OrderModify(OrderTicket(), f0_100(OrderOpenPrice()), f0_100(order_stoploss_48), f0_100(order_takeprofit_56), 0)) {
            gs_984 = f0_143(GetLastError());
            f0_20(StringConcatenate("OrderModify(", OrderTicket(), ", ", OrderOpenPrice(), ", ", order_stoploss_48, ", ", order_takeprofit_56, ", 0) error (method: ModifyTicketOrder) - " +
               gs_984));
            li_ret_36 = FALSE;
         } else {
            li_ret_36 = TRUE;
            f0_60(a_ticket_0, "Modify order!");
         }
      }
   } else f0_20("OrderSelect() error (method: ModifyTicketOrder) - " + f0_143(GetLastError()));
   return (li_ret_36);
}

// B48C18DF8AF1F72C0BA3C0FF3FEED7C1
int f0_118(int a_ticket_0, double ad_4, double ad_12, double ad_20) {
   bool li_ret_28 = FALSE;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      if (f0_100(OrderOpenPrice()) != f0_100(ad_4)) {
         f0_44();
         if (!OrderModify(OrderTicket(), f0_100(ad_4), f0_100(ad_12), f0_100(ad_20), OrderExpiration(), f0_21(OrderType()))) {
            gs_984 = f0_143(GetLastError());
            f0_20(StringConcatenate("OrderModify(", OrderTicket(), ", ", ad_4, ", ", ad_12, ", ", ad_20, ", ", OrderExpiration(), ") error (method: ModifyPendingOrderPrice) - " +
               gs_984));
            li_ret_28 = FALSE;
         } else {
            li_ret_28 = TRUE;
            f0_60(a_ticket_0, "Modify pending order!");
         }
      }
   } else f0_20("OrderSelect() error (method: ModifyPendingOrderPrice) - " + f0_143(GetLastError()));
   return (li_ret_28);
}

// 1F083AF200C3B46024FBE1FC4E9CC80E
int f0_21(int ai_0) {
   if (ai_0 == 0 || ai_0 == 2 || ai_0 == 4) return (16711680);
   if (ai_0 == 1 || ai_0 == 3 || ai_0 == 5) return (255);
   return (0);
}

// D43CF0F27808F53715C65F405A5023D1
int f0_140(int a_ticket_0) {
   color color_4;
   int li_8;
   double ld_12;
   double ld_20;
   int is_closed_28;
   double ld_32;
   string str_concat_40;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET)) {
      color_4 = f0_21(OrderType());
      li_8 = GetTickCount();
      f0_44();
      ld_12 = f0_39(OrderType() == OP_BUY, Bid, Ask);
      ld_20 = MarketInfo(OrderSymbol(), MODE_SPREAD) / gd_876;
      is_closed_28 = OrderClose(OrderTicket(), OrderLots(), f0_100(OrderClosePrice()), gi_952 * gd_876, color_4);
      if (is_closed_28 < 0) {
         f0_150("OrderClose(" + OrderTicket() + ") error (method: CloseOrder) - " + f0_143(GetLastError()));
         return (0);
      }
      gi_992 = GetTickCount() - li_8;
      f0_60(OrderTicket(), StringConcatenate("Order closed (", gi_992, " ms)! Profit: $", DoubleToStr(OrderProfit() + OrderSwap() + OrderCommission(), 2)));
      if (!(g_bool_964)) return (1);
      if (f0_100(OrderClosePrice()) == f0_100(ld_12)) return (1);
      ld_32 = f0_139(OrderClosePrice() - ld_12);
      str_concat_40 = StringConcatenate("[", Symbol(), " ", f0_12(Period()), "] Order (", a_ticket_0, ") close price changed (", ld_32, " pips)! Original: ", f0_100(ld_12),
         ", Closed price: ", f0_100(OrderClosePrice()), ", Before spread: ", ld_20);
      if (ld_32 >= 1.0 || ld_32 <= -1.0) f0_150(str_concat_40);
      else f0_20(str_concat_40);
      return (1);
   }
   return (0);
}

// 29C540D42AE92A3223D6E1A9AB741030
int f0_24(int a_ticket_0, int ai_4) {
   double order_lots_12;
   double lots_20;
   bool is_closed_8 = FALSE;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      order_lots_12 = OrderLots();
      lots_20 = f0_95(order_lots_12 * ai_4 / 100.0);
      if (lots_20 > 0.0 && lots_20 != order_lots_12) {
         f0_44();
         f0_60(OrderTicket(), "Close partial order. Partial LOT: " + DoubleToStr(lots_20, 2));
         is_closed_8 = OrderClose(OrderTicket(), lots_20, f0_100(OrderClosePrice()), gi_952 * gd_876, Yellow);
         if (!is_closed_8) f0_150("OrderClose(" + OrderTicket() + ", " + lots_20 + ") error (method: CloseOrderPartial) - " + f0_143(GetLastError()));
      }
   }
   return (is_closed_8);
}

// B428A88CD9DF965BCCC23643E79706F2
int f0_117(int a_cmd_0, int a_magic_4) {
   int count_8 = 0;
   for (int pos_12 = OrdersTotal() - 1; pos_12 >= 0; pos_12--) {
      if (OrderSelect(pos_12, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderType() == a_cmd_0 || a_cmd_0 == -1 && OrderSymbol() == Symbol() && OrderMagicNumber() == a_magic_4) count_8++;
      } else Print("OrderSelect() error (method: getOrderCount) - ", f0_143(GetLastError()));
   }
   return (count_8);
}

// 3562582EF5099112B14C7258B3FECDA0
double f0_32(int a_cmd_0, int a_magic_4) {
   double ld_ret_8 = 0.0;
   for (int pos_16 = OrdersTotal() - 1; pos_16 >= 0; pos_16--) {
      if (OrderSelect(pos_16, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderType() == a_cmd_0 || a_cmd_0 == -1 && OrderSymbol() == Symbol() && OrderMagicNumber() == a_magic_4) ld_ret_8 += OrderProfit() + OrderSwap() + OrderCommission();
      } else Print("OrderSelect() error (method: getOrderProfit) - ", f0_143(GetLastError()));
   }
   return (ld_ret_8);
}

// 528624FDFA8F71F723DDC864B8B7773C
int f0_57(int a_cmd_0, int a_magic_4) {
   int ticket_8;
   int ticket_12 = 0;
   for (int pos_16 = OrdersTotal() - 1; pos_16 >= 0; pos_16--) {
      OrderSelect(pos_16, SELECT_BY_POS, MODE_TRADES);
      if (OrderType() == a_cmd_0 || a_cmd_0 == -1 && OrderSymbol() == Symbol() && OrderMagicNumber() == a_magic_4) {
         ticket_8 = OrderTicket();
         if (ticket_8 > ticket_12) ticket_12 = ticket_8;
      }
   }
   return (ticket_12);
}

// E39EB44E9236337DBF2220C9902FAD68
string f0_151(string as_0, int ai_8 = -1) {
   if (ai_8 == -1) return (StringConcatenate(gs_996, "G_", as_0));
   return (StringConcatenate(gs_996, ai_8, "_", as_0));
}

// 5D5B78699E57104F2FA03BBDF7B9197B
string f0_62(string as_0, string a_text_8, int ai_16 = -1) {
   string name_20 = f0_151(as_0, ai_16);
   if (ObjectFind(name_20) == -1) {
      ObjectCreate(name_20, OBJ_HLINE, 0, 0, 0);
      ObjectSet(name_20, OBJPROP_COLOR, CLR_NONE);
   }
   ObjectSetText(name_20, a_text_8, 0);
   return (name_20);
}

// FBDC0FE21760429A9A6F11B2349D9766
void f0_172(string as_0, int ai_8, int ai_12 = -1) {
   f0_62(as_0, f0_108(ai_8, 0), ai_12);
}

// F21D692D6A0306D3155FDAA501D856C4
void f0_164(string as_0, int ai_8, int ai_12 = -1) {
   f0_172(as_0, f0_4(ai_8, 1, 0), ai_12);
}

// 02349AD6FAB026BA3C46B06ECCBC51A6
string f0_0(string as_0, double ad_8, int ai_16 = -1, color a_clr_20 = -1, int a_style_24 = 0) {
   string name_28 = f0_62(as_0, ad_8, ai_16);
   ObjectSet(name_28, OBJPROP_PRICE1, ad_8);
   ObjectSet(name_28, OBJPROP_STYLE, a_style_24);
   if (a_clr_20 != CLR_NONE) ObjectSet(name_28, OBJPROP_COLOR, a_clr_20);
   return (name_28);
}

// C55582518CBA2C464F29F5BAE1C68DEF
string f0_129(string as_0, int ai_8 = -1) {
   string ls_nsd_20;
   string name_12 = f0_151(as_0, ai_8);
   return (ObjectDescription(name_12));
}

// 356039C5D703DCB56F4879935BA31135
double f0_31(string as_0, int ai_8 = -1) {
   string name_12 = f0_151(as_0, ai_8);
   if (ObjectFind(name_12) == -1) return (EMPTY_VALUE);
   return (f0_100(ObjectGet(name_12, OBJPROP_PRICE1)));
}

// 5173A4BF4B690EEB6E19049C96B168CE
int f0_56(string as_0, int ai_8 = -1) {
   string ls_12 = f0_129(as_0, ai_8);
   if (ls_12 == "") return (EMPTY_VALUE);
   return (MathRound(StrToDouble(ls_12)));
}

// DCDE74C7DAC0D8DB7A9D163D8715FA29
double f0_145(string as_0, int ai_8 = -1) {
   string ls_12 = f0_129(as_0, ai_8);
   if (ls_12 == "") return (EMPTY_VALUE);
   return (StrToDouble(ls_12));
}

// 4226BC9394DA5D70553D304AE75F7AFB
int f0_45(string as_0, int ai_8 = -1) {
   string ls_12 = f0_129(as_0, ai_8);
   if (ls_12 == "") return (0);
   return (ls_12 == "1");
}

// 0F4BEB3FF65A97C25BFCE93C0F43B321
string f0_9(string as_0, int ai_8 = -1) {
   string ls_12 = ".";
   if (IsTesting()) ls_12 = "t.";
   if (ai_8 == -1) return (StringConcatenate(gs_1004, ls_12, "G_", Symbol(), "_", MagicNumber, "_", as_0));
   return (StringConcatenate(gs_1004, ls_12, ai_8, "_", as_0));
}

// 22DDEC2378F13A723E0661C5486289FB
double f0_22(string as_0, int ai_8 = -1, double ad_12 = EMPTY_VALUE, bool ai_20 = FALSE) {
   string var_name_24 = f0_9(as_0, ai_8);
   if (GlobalVariableCheck(var_name_24)) return (GlobalVariableGet(var_name_24));
   if (ai_20 && ad_12 != EMPTY_VALUE) GlobalVariableSet(var_name_24, ad_12);
   return (ad_12);
}

// 76D720982E767099D1C64D3CFDDE7E8D
void f0_77() {
   bool li_4;
   double ld_8;
   double ld_16;
   for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {
      if (OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES)) {
       if (gi_736 || OrderSymbol() == Symbol() && OrderCloseTime() == 0) {
       //  if (gi_736 || OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderCloseTime() == 0) {
            if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
               if (!(f0_127(OrderTicket()))) break;
               continue;
            }
            if (OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES)) f0_167(OrderTicket());
         }
      }
   }
   if (AutoCloseAllProfitMoney > 0.0 || AutoCloseAllProfitPercent > 0.0 || AutoCloseAllLossMoney > 0.0 || AutoCloseAllLossPercent > 0.0) {
      li_4 = FALSE;
      ld_8 = f0_32(-1, MagicNumber);
      if (AutoCloseAllProfitMoney > 0.0) {
         if (ld_8 >= AutoCloseAllProfitMoney) {
            f0_112(StringConcatenate("Profit reach the \'AutoCloseAllProfitMoney\' value (", ld_8, " >= ", AutoCloseAllProfitMoney, "). Close all orders..."));
            li_4 = TRUE;
         }
      }
      if (!li_4 && AutoCloseAllLossMoney > 0.0) {
         ld_8 = f0_32(-1, MagicNumber);
         if (ld_8 <= 0.0 - AutoCloseAllLossMoney) {
            f0_112(StringConcatenate("Loss reach the \'AutoCloseAllLossMoney\' value (", ld_8, " <= -", AutoCloseAllLossMoney, "). Close all orders..."));
            li_4 = TRUE;
         }
      }
      if (!li_4 && AutoCloseAllProfitPercent > 0.0 && AccountBalance() > 0.0) {
         ld_16 = AccountBalance() * (AutoCloseAllProfitPercent / 100.0);
         if (ld_8 >= ld_16) {
            f0_112(StringConcatenate("Profit reach the \'AutoCloseAllProfitPercent\' value (", AutoCloseAllProfitPercent, "%). Profit: ", ld_8, ", EQLimit: ", ld_16, ". Close all orders..."));
            li_4 = TRUE;
         }
      }
      if (!li_4 && AutoCloseAllLossPercent > 0.0 && AccountBalance() > 0.0) {
         ld_16 = -1.0 * (AccountBalance() * AutoCloseAllLossPercent / 100.0);
         if (ld_16 < 0.0 && ld_8 <= ld_16) {
            f0_112(StringConcatenate("Profit reach the \'AutoCloseAllLossPercent\' value (", AutoCloseAllLossPercent, "%). Profit: ", ld_8, ", EQLimit: ", ld_16, ". Close all orders..."));
            li_4 = TRUE;
         }
      }
      if (li_4) {
         f0_41("Please wait!", "Closing all orders...", 3);
         f0_87();
      }
   }
   f0_73();
   if (DrawPriceLabel) f0_148(MagicNumber);
}

// C2E84E4BE8F91EAB42131A8D7A20024E
bool f0_127(int a_ticket_0) {
   bool li_4;
   int li_8;
   int li_12;
   if (OrderTicket() == a_ticket_0 || OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      f0_167(a_ticket_0);
      if (OrderTicket() == a_ticket_0 || OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES) && OrderCloseTime() == 0) {
         li_4 = f0_45(gs_grid_1076, a_ticket_0);
         li_8 = f0_56(gs_1084, a_ticket_0);
         if (li_8 != EMPTY_VALUE) {
            if (f0_56(gs_1092, li_8) == EMPTY_VALUE && g_bool_776) {
               f0_138(StringConcatenate("Parent order (", li_8, ") not found. Closing..."));
               f0_17(a_ticket_0);
               return (TRUE);
            }
         }
         if (li_4) f0_92(a_ticket_0);
         else {
            if (AutoGridMode) {
               li_12 = f0_56(gs_grid_1076, a_ticket_0);
               if (li_12 == EMPTY_VALUE && li_8 == EMPTY_VALUE) f0_134(a_ticket_0);
            }
         }
      }
   }
   return (TRUE);
}

// AAEEC1DA66744E56049D8EB29EBD4B9E
int f0_114(int ai_0, double ad_4) {
   double ld_12;
   if (DontAllowOrderOpenMaxSpread > 0.0) {
      ld_12 = MarketInfo(Symbol(), MODE_SPREAD) / gd_876;
      if (ld_12 >= DontAllowOrderOpenMaxSpread) {
         f0_112(StringConcatenate("Order open don\'t allowed! Spread is too high: ", ld_12, " (Max: ", DontAllowOrderOpenMaxSpread, ")"));
         f0_41("Order open error!", "Spread is too high! Current: " + f0_108(ld_12, 1) + " (Max: " + f0_108(DontAllowOrderOpenMaxSpread, 1) + ")", 2, 2000);
         return (-1);
      }
   }
   f0_5();
   int ticket_20 = -1;
   if (f0_42(ai_0, ad_4, 0, 0, MagicNumber)) {
      ticket_20 = g_ticket_968;
      f0_160(ticket_20);
      WindowRedraw();
      f0_125(ticket_20);
   } else f0_1();
   return (ticket_20);
}

// 86EFCD35CE6F1F09B11E9598963798FE
int f0_87() {
   for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {
      if (OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol() == Symbol())
            if (OrderMagicNumber() == MagicNumber) f0_17(OrderTicket());
      }
   }
   return (0);
}

// 19DAC327423444E9E3A386AD9DFED170
int f0_17(int ai_0) {
   f0_54(ai_0);
   int li_4 = f0_56(gs_grid_1076, ai_0);
   int li_ret_8 = f0_140(ai_0);
   if (li_ret_8 && li_4 != EMPTY_VALUE) {
      for (int pos_12 = OrdersTotal() - 1; pos_12 >= 0; pos_12--) {
         if (OrderSelect(pos_12, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderSymbol() == Symbol()) {
               if (OrderMagicNumber() == MagicNumber)
                  if (f0_56(gs_1084, OrderTicket()) == ai_0) f0_140(OrderTicket());
            }
         }
      }
   }
   f0_131(ai_0);
   return (li_ret_8);
}

// 712C4A32F28797E584F3D1327EA2AE16
int f0_76(int a_ticket_0 = -1, double ad_4 = 0.0) {
   double datetime_12;
   double ld_20;
   double ld_28;
   double ld_36;
   double ld_44;
   double ld_52;
   int li_ret_60;
   int ticket_68;
   if (a_ticket_0 == -1) a_ticket_0 = f0_57(-1, MagicNumber);
   if (a_ticket_0 != -1) {
      if (ad_4 == 0.0) ad_4 = QuickPartialClose;
      if (ad_4 > 0.0 && ad_4 <= 100.0) {
         f0_138("Partial close for " + a_ticket_0);
         OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES);
         datetime_12 = OrderOpenTime();
         ld_20 = f0_31(gs_1012, a_ticket_0);
         ld_28 = f0_31(gs_1020, a_ticket_0);
         ld_36 = f0_31(gs_pc1_1052, a_ticket_0);
         ld_44 = f0_31(gs_pc2_1060, a_ticket_0);
         ld_52 = f0_31(gs_pc3_1068, a_ticket_0);
         f0_54(a_ticket_0);
         li_ret_60 = f0_24(a_ticket_0, ad_4);
         f0_131(a_ticket_0);
         for (int pos_64 = 0; pos_64 < OrdersTotal(); pos_64++) {
            if (OrderSelect(pos_64, SELECT_BY_POS, MODE_TRADES)) {
               if (OrderOpenTime() == datetime_12) {
                  ticket_68 = OrderTicket();
                  if (ld_20 != EMPTY_VALUE) f0_0(gs_1012, ld_20, ticket_68, StopLossColor);
                  if (ld_28 != EMPTY_VALUE) f0_0(gs_1020, ld_28, ticket_68, TakeProfitColor);
                  if (ld_36 != EMPTY_VALUE) f0_43(ticket_68, 1, PartialClosePos1, ld_36);
                  if (ld_44 != EMPTY_VALUE) f0_43(ticket_68, 2, PartialClosePos2, ld_44);
                  if (ld_52 != EMPTY_VALUE) f0_43(ticket_68, 3, PartialClosePos3, ld_52);
                  if (g_ticket_820 != a_ticket_0) break;
                  g_ticket_820 = ticket_68;
                  break;
               }
            }
         }
         return (li_ret_60);
      }
   }
   return (0);
}

// C628A3FD73C8D961CDB3A222D4565D74
void f0_132(int a_ticket_0 = -1) {
   double ld_4;
   if (a_ticket_0 == -1) a_ticket_0 = f0_57(-1, MagicNumber);
   f0_138("Order break-even for " + a_ticket_0);
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      ld_4 = OrderOpenPrice() + f0_7(f0_39(OrderType() == OP_BUY, BreakEvenPips, -BreakEvenPips));
      if ((OrderType() == OP_BUY && Bid > OrderOpenPrice()) || (OrderType() == OP_SELL && Ask < OrderOpenPrice())) f0_0(gs_1012, ld_4, a_ticket_0);
   }
}

// 60D14E47B2DF497D9D8BFC9A6DF1C130
void f0_65(int a_ticket_0 = -1) {
   double order_lots_4;
   double cmd_12;
   int ticket_20;
   if (a_ticket_0 == -1) a_ticket_0 = f0_57(-1, MagicNumber);
   f0_138("Order reverse for " + a_ticket_0);
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      order_lots_4 = OrderLots();
      cmd_12 = OrderType();
      if (f0_17(a_ticket_0)) {
         ticket_20 = f0_114(1 - cmd_12, order_lots_4);
         if (g_ticket_820 == a_ticket_0) g_ticket_820 = ticket_20;
      }
   }
}

// 5F3B02AD6210F6A480324B754A657904
int f0_64(int a_ticket_0, int ai_4, bool ai_8) {
   double ld_12;
   double ld_20;
   double bid_28;
   double ask_36;
   double ld_44;
   double ld_52;
   int li_ret_60;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      ld_12 = f0_100(f0_145(gs_1012, a_ticket_0));
      ld_20 = 0;
      bid_28 = MarketInfo(OrderSymbol(), MODE_BID);
      ask_36 = MarketInfo(OrderSymbol(), MODE_ASK);
      ld_44 = f0_71(a_ticket_0);
      ld_52 = TrailingStopAt;
      if (ld_52 == 0.0) ld_52 = MathMax(BreakEvenAt + BreakEvenPips, ai_4);
      if (OrderType() == OP_BUY && ai_4 > 0 && ld_44 < bid_28 - f0_7(ld_52)) {
         ld_20 = f0_100(bid_28 - f0_7(ai_4));
         if (ld_12 >= ld_20) return (0);
         f0_86(StringConcatenate("Trailing stop active! Ticket: ", a_ticket_0, ", Bid: ", f0_100(bid_28), ", Trigger: ", ld_52, ", New SL: ", ld_20));
         if (ai_8) li_ret_60 = f0_165(a_ticket_0, 0, 0, ld_20);
         else {
            f0_0(gs_1012, ld_20, a_ticket_0);
            return (li_ret_60);
         }
         return (li_ret_60);
      }
      if (OrderType() == OP_SELL && ai_4 > 0 && ld_44 > ask_36 + f0_7(ld_52)) {
         ld_20 = f0_100(ask_36 + f0_7(ai_4));
         if (ld_12 > ld_20) {
            f0_86(StringConcatenate("Trailing stop active! Ticket: ", a_ticket_0, ", Ask: ", f0_100(ask_36), ", Trigger: ", ld_52, ", New SL: ", ld_20));
            if (ai_8) li_ret_60 = f0_165(a_ticket_0, 0, 0, ld_20);
            else {
               f0_0(gs_1012, ld_20, a_ticket_0);
               return (li_ret_60);
            }
            return (li_ret_60);
         }
      }
   }
   return (0);
}

// CA01614000B01CD69F6C857A26D84621
void f0_134(int ai_0) {
   bool bool_4 = f0_45(gs_grid_1076, ai_0);
   bool_4 = !bool_4;
   f0_164(gs_grid_1076, bool_4, ai_0);
   f0_172(gs_1092, 0, ai_0);
   f0_78(StringConcatenate("Grid mode: ", bool_4, " for ticket: ", ai_0));
}

// 2AC226274B5A56BE10DD89C0E4F6F6B6
int f0_25(int a_ticket_0) {
   int li_12;
   int li_ret_4 = 1;
   for (int pos_8 = OrdersTotal() - 1; pos_8 >= 0; pos_8--) {
      if (OrderSelect(pos_8, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol() == Symbol()) {
           // if (OrderMagicNumber() == MagicNumber && OrderCloseTime() == 0) {
           if ( OrderCloseTime() == 0) {
               li_12 = f0_56(gs_1084, OrderTicket());
               if (li_12 == a_ticket_0) li_ret_4++;
            }
         }
      }
   }
   OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES);
   return (li_ret_4);
}

// CCA9F5804B320357938880F3BA496D3D
int f0_137(int a_ticket_0) {
   int li_16;
   int li_20;
   int li_4 = 0;
   int ticket_8 = a_ticket_0;
   for (int pos_12 = OrdersTotal() - 1; pos_12 >= 0; pos_12--) {
      if (OrderSelect(pos_12, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol() == Symbol()) {
           // if (OrderMagicNumber() == MagicNumber && OrderCloseTime() == 0) {
            if ( OrderCloseTime() == 0) {
               li_16 = f0_56(gs_1084, OrderTicket());
               li_20 = f0_56(gs_1092, OrderTicket());
               if (li_16 == a_ticket_0 && li_20 != EMPTY_VALUE && li_20 > li_4) {
                  ticket_8 = OrderTicket();
                  li_4 = li_20;
               }
            }
         }
      }
   }
   OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES);
   return (ticket_8);
}

// E1D3C83CF0954E411ECB4A5C870BE017
double f0_149(double ad_0 = 0.0, int ai_8 = 0) {
   double ld_12 = 0.0;
   double ld_nsd_20 = 0.0;
   ld_12 = ad_0 * MathPow(GridLotMultiplier, ai_8);
   ld_12 = f0_95(ld_12);
   return (ld_12);
}

// 930D3DF8ACDBA14442C51753EE796F0C
double f0_98(int a_ticket_0) {
   double ld_ret_8;
   int li_20;
   int li_4 = f0_56(gs_grid_1076, a_ticket_0);
   if (li_4 == EMPTY_VALUE) {
      if (a_ticket_0 == OrderTicket() || OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) return (OrderProfit() + OrderSwap() + OrderCommission());
   } else {
      ld_ret_8 = 0;
      for (int pos_16 = OrdersTotal() - 1; pos_16 >= 0; pos_16--) {
         if (OrderSelect(pos_16, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderSymbol() == Symbol()) {
               if (OrderMagicNumber() == MagicNumber) {
                  li_20 = f0_56(gs_1084, OrderTicket());
                  if (li_20 == a_ticket_0 || OrderTicket() == a_ticket_0) ld_ret_8 += OrderProfit() + OrderSwap() + OrderCommission();
               }
            }
         }
      }
      OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES);
      return (ld_ret_8);
   }
   return (0.0);
}

// 6931510EEC1D544CDBB7B21C811B1A6A
double f0_71(int a_ticket_0) {
   double order_open_price_4;
   int li_12;
   double order_open_price_16;
   if (a_ticket_0 == OrderTicket() || OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      order_open_price_4 = OrderOpenPrice();
      li_12 = f0_56(gs_grid_1076, a_ticket_0);
      if (li_12 == EMPTY_VALUE) return (order_open_price_4);
      order_open_price_16 = f0_31(gs_1100, a_ticket_0);
      if (order_open_price_16 == EMPTY_VALUE) return (order_open_price_4);
      order_open_price_4 = order_open_price_16;
      return (order_open_price_4);
   }
   return (0.0);
}

// 54013F4126E159CFBF9EDBF5C54CB30B
double f0_58(int a_ticket_0) {
   double ld_ret_8;
   int li_20;
   int li_4 = f0_56(gs_grid_1076, a_ticket_0);
   if (li_4 == EMPTY_VALUE) {
      if (a_ticket_0 == OrderTicket() || OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) return (OrderLots());
   } else {
      ld_ret_8 = 0;
      for (int pos_16 = OrdersTotal() - 1; pos_16 >= 0; pos_16--) {
         if (OrderSelect(pos_16, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderSymbol() == Symbol()) {
               if (OrderMagicNumber() == MagicNumber) {
                  li_20 = f0_56(gs_1084, OrderTicket());
                  if (li_20 == a_ticket_0 || OrderTicket() == a_ticket_0) ld_ret_8 += OrderLots();
               }
            }
         }
      }
      OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES);
      return (ld_ret_8);
   }
   return (0.0);
}

// A7A7BD63893A41868B6FD78A8AF34542
void f0_110() {
   if (gi_1220 != 0 && gi_1216 != 0 && GetTickCount() - gi_1216 > gi_1220) f0_33();
}

// 3CFCFEF22F80E2BA0879716EC20B2242
void f0_41(string as_0, string as_8, int ai_16, int ai_20 = 0) {
   string name_24;
   string ls_32;
   int li_40;
   int li_44;
   string str_concat_48;
   if (ShowNotifications) {
      li_40 = MathRound((gi_1192 - gi_1228) / 2);
      li_44 = gi_1224;
      str_concat_48 = StringConcatenate("DrW_", gs_1208);
      name_24 = str_concat_48 + "0";
      f0_81(name_24, li_40, li_44, "gggggggggg", 28, "Webdings", C'0x28,0x32,0x3C');
      ObjectSet(name_24, OBJPROP_BACK, BackgroundOpacity);
      ls_32 = str_concat_48 + "1";
      name_24 = str_concat_48 + "2";
      if (ai_16 == 1) {
         f0_81(ls_32, li_40 + 5, li_44 - 5, CharToStr(252), 40, "Wingdings", Black);
         f0_81(name_24, li_40 + 4, li_44 - 6, CharToStr(252), 40, "Wingdings", LimeGreen);
      } else {
         if (ai_16 == 2) {
            f0_81(ls_32, li_40 + 5, li_44 - 5, CharToStr(251), 40, "Wingdings", Black);
            f0_81(name_24, li_40 + 4, li_44 - 6, CharToStr(251), 40, "Wingdings", Red);
         } else {
            if (ai_16 == 3) {
               f0_81(ls_32, li_40 + 16, li_44 - 2, CharToStr(54), 28, "Wingdings", Black);
               f0_81(name_24, li_40 + 15, li_44 - 1, CharToStr(54), 28, "Wingdings", White);
            }
         }
      }
      name_24 = str_concat_48 + "3";
      f0_81(name_24, li_40 + 51, li_44 + 4, as_0, 10, "Verdana", Black);
      name_24 = str_concat_48 + "4";
      f0_81(name_24, li_40 + 50, li_44 + 3, as_0, 10, "Verdana", Gold);
      name_24 = str_concat_48 + "5";
      f0_81(name_24, li_40 + 50, li_44 + 21, as_8, 8, "Verdana", Lavender);
      gi_1220 = ai_20;
      if (ai_20 != 0) gi_1216 = GetTickCount();
      gi_1236 = TRUE;
      WindowRedraw();
   }
}

// EF55EB61069A84B053F95051A3724466
void f0_160(int a_ticket_0) {
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) f0_41("Order opened successfully!", StringConcatenate("Ticket: ", a_ticket_0, "  Price: ", f0_108(OrderOpenPrice(), Digits), "  Time: ", gi_992 + "ms"), 1, 2000);
}

// C60DA1C2D19499586BB98E9E78000D23
void f0_131(int a_ticket_0) {
   if (!OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_HISTORY)) {
      f0_41("Order closed successfully!", "", 1, 1000);
      return;
   }
   f0_41("Order closed successfully!", StringConcatenate("Ticket: ", a_ticket_0, "  Profit: ", f0_136(OrderProfit() + OrderSwap() + OrderCommission(), 2), "  Time: ",
      gi_992 + "ms"), 1, 2000);
}

// 02FEDB4208B169F2AEFE06EC40955FA4
void f0_1() {
   f0_41("Order open error!", gs_984, 2, 2000);
}

// 09F811BB4E16AC1455F42F8FCE933EB7
void f0_5() {
   f0_41("Please wait!", "Opening order...", 3);
}

// 5004AD33EC6D9A3D31C23DBBA6B929AC
void f0_54(int ai_0) {
   f0_41("Please wait!", "Closing order " + f0_108(ai_0) + "...", 3);
}

// 356C0B5B48197BDAC60AC2CA3FDFD40D
void f0_33() {
   string str_concat_0 = StringConcatenate("DrW_", gs_1208);
   f0_38(str_concat_0);
   gi_1216 = 0;
   gi_1236 = FALSE;
   WindowRedraw();
}

// 123E9B4FB777D3655C8723715E95FCBB
void f0_11() {
   int li_0;
   int li_4;
   string str_concat_8;
   string name_16;
   string str_concat_24;
   string ls_32;
   if (ShowControlPanel) {
      li_0 = gi_1268;
      li_4 = gi_1272;
      str_concat_8 = StringConcatenate("DrW_", gs_1260, "Bg_");
      name_16 = str_concat_8 + "0";
      ObjectDelete(name_16);
      f0_81(name_16, li_0, li_4, "g", 120, "Webdings", gi_452);
      ObjectSet(name_16, OBJPROP_BACK, BackgroundOpacity);
      name_16 = str_concat_8 + "1";
      ObjectDelete(name_16);
      f0_81(name_16, li_0 + 5, li_4 + 2, "gggggggg", 14, "Webdings", C'0x8B,0x66,0x10');
      str_concat_24 = StringConcatenate("IceFX ", "TraderAgent", " ", f0_123());
      name_16 = str_concat_8 + "2";
      ObjectDelete(name_16);
      f0_81(name_16, li_0 + 17, li_4 + 7, str_concat_24, 10, "Tahoma", Black);
      name_16 = str_concat_8 + "3";
      ObjectDelete(name_16);
      f0_81(name_16, li_0 + 18, li_4 + 6, str_concat_24, 10, "Tahoma", Gold);
      ls_32 = CharToStr(145);
      name_16 = str_concat_8 + "5";
      ObjectDelete(name_16);
      f0_81(name_16, li_0 - 10, li_4 - 9, ls_32, 26, "Webdings", C'0x32,0x32,0x32');
      name_16 = str_concat_8 + "6";
      ObjectDelete(name_16);
      f0_81(name_16, li_0 - 11, li_4 - 10, ls_32, 26, "Webdings", Gold);
      f0_36();
      f0_18(0, StringConcatenate("Buy ", f0_108(gd_748, 2)));
      f0_18(1, StringConcatenate("Sell ", f0_108(gd_748, 2)));
   }
}

// 625A81B248C77C68CA67798166642489
void f0_68(int ai_0) {
   int li_4 = gi_1268;
   int li_8 = gi_1272;
   string str_concat_12 = StringConcatenate("DrW_", gs_1260, "Btn", ai_0, "_");
   string name_20 = str_concat_12 + "BG";
   ObjectDelete(name_20);
   f0_81(name_20, li_4 + gia_1252[ai_0][1], li_8 + gia_1252[ai_0][2], "gg", 24, "Webdings", gia_1252[ai_0][5]);
   name_20 = str_concat_12 + "Text1";
   ObjectDelete(name_20);
   f0_81(name_20, li_4 + gia_1252[ai_0][1] + gia_1252[ai_0][7], li_8 + gia_1252[ai_0][2] + gi_1248 + 1, gsa_1256[ai_0], g_fontsize_1240, "Tahoma", Black);
   name_20 = str_concat_12 + "Text2";
   f0_81(name_20, li_4 + gia_1252[ai_0][1] + gia_1252[ai_0][7] + 1, li_8 + gia_1252[ai_0][2] + gi_1248, gsa_1256[ai_0], g_fontsize_1240, "Tahoma", g_clr_1244);
   name_20 = str_concat_12 + "Icon";
   ObjectDelete(name_20);
   f0_81(name_20, li_4 + gia_1252[ai_0][1] + 26, li_8 + gia_1252[ai_0][2], CharToStr(gia_1252[ai_0][6]), g_fontsize_1240, "Webdings", g_clr_1244);
}

// 3AA2F22582134EAB3445680B1089F691
void f0_36() {
   int li_0 = 10;
   int li_4 = 85;
   int li_8 = 35;
   int li_12 = 40;
   gia_1252[0][0] = 0;
   gia_1252[0][1] = li_0;
   gia_1252[0][2] = li_8;
   gia_1252[0][3] = 66;
   gia_1252[0][4] = 34;
   gia_1252[0][5] = 6240281;
   gia_1252[0][6] = 53;
   gsa_1256[0] = "Buy 0.00";
   gia_1252[0][7] = 6;
   gia_1252[1][0] = 1;
   gia_1252[1][1] = li_4;
   gia_1252[1][2] = li_8;
   gia_1252[1][3] = 66;
   gia_1252[1][4] = 34;
   gia_1252[1][5] = 1644894;
   gia_1252[1][6] = 54;
   gsa_1256[1] = "Sell 0.00";
   gia_1252[1][7] = 7;
   li_8 += li_12;
   gia_1252[2][0] = 2;
   gia_1252[2][1] = li_0;
   gia_1252[2][2] = li_8;
   gia_1252[2][3] = 66;
   gia_1252[2][4] = 34;
   gia_1252[2][5] = 5922330;
   gia_1252[2][6] = 114;
   gsa_1256[2] = "Partial";
   gia_1252[2][7] = 14;
   gia_1252[3][0] = 3;
   gia_1252[3][1] = li_4;
   gia_1252[3][2] = li_8;
   gia_1252[3][3] = 66;
   gia_1252[3][4] = 34;
   gia_1252[3][5] = 1662515;
   gia_1252[3][6] = 114;
   gsa_1256[3] = "Close all";
   gia_1252[3][7] = 7;
   li_8 += li_12;
   gia_1252[5][0] = 5;
   gia_1252[5][1] = li_0;
   gia_1252[5][2] = li_8;
   gia_1252[5][3] = 66;
   gia_1252[5][4] = 34;
   gia_1252[5][5] = 1662302;
   gia_1252[5][6] = 97;
   gsa_1256[5] = "Breakeven";
   gia_1252[5][7] = 1;
   gia_1252[4][0] = 4;
   gia_1252[4][1] = li_4;
   gia_1252[4][2] = li_8;
   gia_1252[4][3] = 66;
   gia_1252[4][4] = 34;
   gia_1252[4][5] = 5970526;
   gia_1252[4][6] = 113;
   gsa_1256[4] = "Reverse";
   gia_1252[4][7] = 8;
   li_8 += li_12;
   for (int count_16 = 0; count_16 < ArrayRange(gia_1252, 0); count_16++) f0_68(count_16);
}

// 1BEDD10B036445FC9065C868400C94C8
void f0_18(int ai_0, string a_text_4) {
   gsa_1256[ai_0] = a_text_4;
   string str_concat_12 = StringConcatenate("DrW_", gs_1260, "Btn", ai_0, "_", "Text1");
   if (ObjectFind(str_concat_12) >= 0 && ObjectDescription(str_concat_12) != a_text_4) ObjectSetText(str_concat_12, a_text_4, g_fontsize_1240, "Tahoma", Black);
   str_concat_12 = StringConcatenate("DrW_", gs_1260, "Btn", ai_0, "_", "Text2");
   if (ObjectFind(str_concat_12) >= 0 && ObjectDescription(str_concat_12) != a_text_4) ObjectSetText(str_concat_12, a_text_4, g_fontsize_1240, "Tahoma", g_clr_1244);
}

// DC063D5188C6387A77D4A4B8AF2DF3B1
int f0_144() {
   string str_concat_0 = StringConcatenate("DrW_", gs_1260, "Bg_0");
   if (ShowControlPanel && ObjectFind(str_concat_0) == -1) f0_11();
   return (0);
}

// F85E6B1BCD21006936A5FC7650501B5A
int f0_170(int ai_0, int ai_4) {
   if (!ShowControlPanel) return (0);
   for (int count_8 = 0; count_8 < ArrayRange(gia_1252, 0); count_8++) {
      if (f0_85(ai_0, ai_4, count_8)) {
         f0_86("Pressed button: " + count_8);
         if (count_8 == 0) {
            if (gd_748 > 0.0) f0_114(0, gd_748);
            else f0_112("Invalid LOT size: " + f0_108(gd_748, 2));
         } else {
            if (count_8 == 1) {
               if (gd_748 > 0.0) f0_114(1, gd_748);
               else f0_112("Invalid LOT size: " + f0_108(gd_748, 2));
            } else {
               if (count_8 == 2) f0_76();
               else {
                  if (count_8 == 3) f0_87();
                  else {
                     if (count_8 == 5) f0_132();
                     else
                        if (count_8 == 4) f0_65();
                  }
               }
            }
         }
         return (1);
      }
   }
   return (0);
}

// 83C11C0D6BB6C72129E782F6802E19EF
int f0_85(int ai_0, int ai_4, int ai_8) {
   return (gi_1268 + gia_1252[ai_8][1] < ai_0 && gi_1268 + gia_1252[ai_8][1] + gia_1252[ai_8][3] > ai_0 && gi_1272 + gia_1252[ai_8][2] < ai_4 && gi_1272 + gia_1252[ai_8][2] +
      gia_1252[ai_8][4] > ai_4);
}

// B846A4EF99F35CE236E2A91B4E8E97B2
void f0_121() {
   int li_0;
   int li_4;
   string str_concat_8;
   string name_16;
   string ls_24;
   string ls_32;
   if (ShowOrderListPanel) {
      li_0 = gi_1308;
      li_4 = gi_1312;
      str_concat_8 = StringConcatenate("DrW_", gs_1284);
      name_16 = str_concat_8 + "0";
      ObjectDelete(name_16);
      f0_81(name_16, li_0, li_4, "g", 120, "Webdings", gi_452);
      ObjectSet(name_16, OBJPROP_BACK, BackgroundOpacity);
      name_16 = str_concat_8 + "1";
      ObjectDelete(name_16);
      f0_81(name_16, li_0 + 5, li_4 + 2, "gggggggg", 14, "Webdings", C'0x14,0x14,0x14');
      ls_24 = "Order list";
      name_16 = str_concat_8 + "2";
      ObjectDelete(name_16);
      f0_81(name_16, li_0 + 55, li_4 + 7, ls_24, 10, "Tahoma", Black);
      name_16 = str_concat_8 + "3";
      ObjectDelete(name_16);
      f0_81(name_16, li_0 + 54, li_4 + 6, ls_24, 10, "Tahoma", Gold);
      ls_32 = CharToStr(157);
      name_16 = str_concat_8 + "5";
      ObjectDelete(name_16);
      f0_81(name_16, li_0 + 9, li_4 + 6, ls_32, 12, "Webdings", C'0x32,0x32,0x32');
      name_16 = str_concat_8 + "6";
      ObjectDelete(name_16);
      f0_81(name_16, li_0 + 8, li_4 + 5, ls_32, 12, "Webdings", Gold);
      gi_1324 = TRUE;
   }
}

// 19BC271349716E65C7043520C1B84644
void f0_16(int ai_0) {
   int color_24;
   string ls_28;
   string ls_36;
   int li_44;
   int li_48;
   double ld_52;
   int li_4 = gi_1308;
   int li_8 = gi_1312 + gi_1300;
   string str_concat_12 = StringConcatenate("DrW_", gs_1284, "Row", ai_0);
   int ticket_20 = gia_1292[ai_0];
   if (OrderSelect(ticket_20, SELECT_BY_TICKET, MODE_TRADES)) {
      color_24 = PaleTurquoise;
      if (OrderType() == OP_SELL) color_24 = LightPink;
      ls_36 = str_concat_12 + "0_CloseIcon";
      f0_81(ls_36, li_4 + 3, li_8 + ai_0 * gi_1304 - 2, CharToStr(114), 10, "Webdings", OrangeRed);
      ls_28 = f0_97(ticket_20, 4);
      li_44 = f0_56(gs_grid_1076, ticket_20);
      if (li_44 != EMPTY_VALUE) {
         li_48 = f0_25(ticket_20);
         if (li_48 > 1) {
            ls_28 = f0_97(ticket_20, 3) + " *" + f0_108(li_48);
            color_24 = Orange;
         }
      }
      ls_36 = str_concat_12 + "2_Ticket";
      f0_81(ls_36, li_4 + 20, li_8 + ai_0 * gi_1304, ls_28, 8, "Tahoma", color_24);
      ls_28 = f0_108(f0_58(ticket_20), 2);
      ls_36 = str_concat_12 + "3_LOT";
      f0_81(ls_36, li_4 + 68, li_8 + ai_0 * gi_1304, ls_28, 8, "Tahoma", color_24);
      ld_52 = f0_98(ticket_20);
      if (ld_52 > 0.0) color_24 = TakeProfitColor;
      else
         if (ld_52 < 0.0) color_24 = StopLossColor;
      ls_28 = f0_136(ld_52, 2);
      ls_36 = str_concat_12 + "4_Profit";
      f0_81(ls_36, li_4 + 108, li_8 + ai_0 * gi_1304, ls_28, 8, "Tahoma", color_24);
   }
}

// 7E36B3A88BDDE30BC968B675946154B7
void f0_83() {
   int li_4;
   int ticket_8;
   if (f0_117(OP_BUY, MagicNumber) + f0_117(OP_SELL, MagicNumber) > 0 && (!gi_1324) && ShowOrderListPanel) f0_121();
   else
      if (f0_117(OP_BUY, MagicNumber) + f0_117(OP_SELL, MagicNumber) == 0 && gi_1324) f0_37();
   if (ShowOrderListPanel && gi_1324) {
      for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {
         if (OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderType() == OP_BUY || OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
               li_4 = f0_15(OrderTicket());
               if (li_4 != -1) {
                  f0_16(li_4);
                  continue;
               }
               if (gi_1296 < ArraySize(gia_1292) && f0_56(gs_1084, OrderTicket()) == EMPTY_VALUE) {
                  li_4 = gi_1296;
                  gia_1292[li_4] = OrderTicket();
                  f0_16(li_4);
                  gi_1296++;
               }
            }
         }
      }
      for (li_4 = MathMin(gi_1296, ArraySize(gia_1292)) - 1.0; li_4 >= 0; li_4--) {
         ticket_8 = gia_1292[li_4];
         if (ticket_8 != -1) {
            if (!OrderSelect(ticket_8, SELECT_BY_TICKET, MODE_TRADES) || OrderCloseTime() > 0) {
               for (pos_0 = li_4; pos_0 < ArraySize(gia_1292) - 1; pos_0++) gia_1292[pos_0] = gia_1292[pos_0 + 1];
               gi_1296--;
               f0_106(gi_1296);
            }
         }
      }
   }
   g_dttm_1328 = TimeCurrent();
}

// 18D5EFD0244A5B8BFDFCEDC688973A80
int f0_15(int ai_0) {
   for (int index_4 = 0; index_4 < ArraySize(gia_1292); index_4++)
      if (gia_1292[index_4] == ai_0) return (index_4);
   return (-1);
}

// A04052CEA835C4DFD52423BA21668A86
void f0_106(int ai_0) {
   string ls_nsd_4;
   string str_concat_12 = StringConcatenate("DrW_", gs_1284, "Row", ai_0);
   f0_38(str_concat_12);
   gia_1292[ai_0] = -1;
   WindowRedraw();
}

// 3AF94171AFD935A46421C3FDEBEF5D6E
void f0_37(int ai_0 = FALSE) {
   if (!ai_0 && !gi_1324) return;
   string str_concat_4 = StringConcatenate("DrW_", gs_1284);
   f0_38(str_concat_4);
   WindowRedraw();
   gi_1324 = FALSE;
}

// BFB9BD0BE88013789FD0C14B17156E63
int f0_124(int ai_0, int ai_4) {
   int li_12;
   if (!gi_1324) return (0);
   for (int index_8 = 0; index_8 < ArraySize(gia_1292); index_8++) {
      if (f0_107(ai_0, ai_4, index_8)) {
         li_12 = gia_1292[index_8];
         if (f0_162(ai_0, ai_4, gi_1308 + 8, ai_4, gi_1308 + 16, ai_4)) f0_17(li_12);
         else {
            if (f0_162(ai_0, ai_4, gi_1308 + 23, ai_4, gi_1308 + 29, ai_4)) f0_132(li_12);
            else f0_126(li_12);
         }
         return (1);
      }
   }
   return (0);
}

// A192C86D2A9C7F68649E4E842C86CBE0
int f0_107(int ai_0, int ai_4, int ai_8) {
   int li_12 = gi_1312 + gi_1300 + 3;
   return (gi_1308 <= ai_0 && gi_1308 + gi_1316 >= ai_0 && li_12 + ai_8 * gi_1304 <= ai_4 && li_12 + (ai_8 + 1) * gi_1304 > ai_4);
}

// 92A4B9699CF9C843B9D8F9832BB02B79
string f0_97(int ai_0, int ai_4) {
   string ls_ret_8 = f0_108(ai_0, 0);
   if (StringLen(ls_ret_8) > ai_4) ls_ret_8 = ".." + StringSubstr(ls_ret_8, StringLen(ls_ret_8) - ai_4, ai_4);
   return (ls_ret_8);
}

// C123310E38F564BFF896BAD76F1D4B1B
void f0_126(int a_ticket_0 = -1) {
   string str_concat_12;
   string name_20;
   int count_28;
   int li_32;
   int li_36;
   int li_40;
   int li_44;
   int color_48;
   int cmd_52;
   double ld_56;
   double ld_64;
   string str_concat_72;
   int li_80;
   int li_84;
   int color_88;
   double ld_92;
   double ld_100;
   string ls_108;
   double ld_116;
   double ld_124;
   double ld_132;
   string ls_140;
   string str_concat_148;
   double ld_156;
   double ld_164;
   double ld_172;
   string ls_180;
   double ld_188;
   int li_196;
   int li_200;
   if (a_ticket_0 == -1) a_ticket_0 = g_ticket_820;
   else g_ticket_820 = a_ticket_0;
   if (PropertiesPanelPos == 0) {
      gi_1344 = f0_4(OrderListPanelX < 0, gi_1308 - gi_1352 - 10, gi_1308 + gi_1316 + 10);
      gi_1348 = gi_1312;
   } else {
      gi_1344 = f0_4(OrderListPanelX < 0, gi_1192 - gi_1352 - 60, OrderListPanelX);
      gi_1348 = gi_1312 + gi_1320;
   }
   int li_4 = gi_1344;
   int li_8 = gi_1348;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      if (OrderCloseTime() != 0) f0_19();
      else {
         str_concat_12 = StringConcatenate("DrW_", gs_1332);
         name_20 = str_concat_12 + ".BG1";
         f0_81(name_20, li_4, li_8, "gg", 120, "Webdings", gi_452);
         ObjectSet(name_20, OBJPROP_BACK, BackgroundOpacity);
         gi_1356 = 160;
         if (gi_392) {
            name_20 = str_concat_12 + ".BG2";
            f0_81(name_20, li_4, li_8 + 20, "gg", 120, "Webdings", gi_452);
            ObjectSet(name_20, OBJPROP_BACK, BackgroundOpacity);
            gi_1356 = 180;
         }
         name_20 = str_concat_12 + "01";
         f0_81(name_20, li_4 + 8, li_8 + 2, "gggggggggggggggg", 14, "Webdings", C'0x14,0x14,0x14');
         name_20 = str_concat_12 + "03";
         f0_81(name_20, li_4 + 32, li_8 + 6, "Order properties: " + f0_108(a_ticket_0), 10, "Tahoma", Gold);
         name_20 = str_concat_12 + "06";
         f0_81(name_20, li_4 + 10, li_8 + 5, CharToStr(78), 12, "Webdings", Gold);
         name_20 = str_concat_12 + "07";
         f0_81(name_20, li_4 + gi_1352 - 25, li_8 + 5, CharToStr(114), 12, "Webdings", Gold);
         count_28 = 0;
         li_32 = 13;
         li_36 = li_4 + 8;
         li_40 = li_4 + 80;
         li_44 = 12632256;
         color_48 = g_clr_1244;
         cmd_52 = OrderType();
         ld_56 = f0_71(a_ticket_0);
         ld_64 = f0_58(a_ticket_0);
         str_concat_72 = "";
         li_80 = f0_56(gs_grid_1076, a_ticket_0);
         if (li_80 != EMPTY_VALUE) {
            li_84 = f0_25(a_ticket_0);
            if (li_84 > 1) str_concat_72 = StringConcatenate(" (", li_84, " orders)");
         }
         OrderSelect(a_ticket_0, SELECT_BY_TICKET);
         name_20 = str_concat_12 + "10";
         f0_81(name_20, li_36, li_8 + 24 + count_28 * li_32, "Type: ", 8, "Tahoma", li_44);
         f0_81(name_20 + "_value", li_40, li_8 + 24 + count_28 * li_32, StringConcatenate(f0_169(OrderType()), "  ", f0_108(ld_64, 2), " lots ", str_concat_72), 8, "Tahoma",
            color_48);
         count_28++;
         name_20 = str_concat_12 + "12";
         f0_81(name_20, li_36, li_8 + 24 + count_28 * li_32, "Open price: ", 8, "Tahoma", li_44);
         f0_81(name_20 + "_value", li_40, li_8 + 24 + count_28 * li_32, f0_108(ld_56, Digits), 8, "Tahoma", color_48);
         count_28++;
         name_20 = str_concat_12 + "13";
         f0_81(name_20, li_36, li_8 + 24 + count_28 * li_32, "Open time: ", 8, "Tahoma", li_44);
         f0_81(name_20 + "_value", li_40, li_8 + 24 + count_28 * li_32, f0_10(TimeCurrent() - OrderOpenTime()), 8, "Tahoma", color_48);
         count_28++;
         count_28++;
         color_88 = color_48;
         name_20 = str_concat_12 + "14";
         ld_92 = f0_139(f0_39(cmd_52 == OP_BUY, Bid - ld_56, ld_56 - Ask));
         ld_100 = f0_98(a_ticket_0);
         ls_108 = f0_136(ld_100, 2);
         if (ld_100 > 0.0) color_88 = TakeProfitColor;
         else
            if (ld_100 < 0.0) color_88 = StopLossColor;
         f0_81(name_20, li_36, li_8 + 24 + count_28 * li_32 - 6, "Profit: ", 8, "Tahoma", li_44);
         f0_81(name_20 + "_value", li_40, li_8 + 24 + count_28 * li_32 - 6, StringConcatenate(ls_108, " (", f0_108(ld_92, 1), " pips)"), 10, "Tahoma", color_88);
         count_28++;
         name_20 = str_concat_12 + "15";
         ld_116 = f0_31(gs_1020, a_ticket_0);
         if (ld_116 != EMPTY_VALUE && ld_116 != 0.0) {
            ld_124 = f0_139(MathAbs(ld_56 - ld_116));
            ld_132 = f0_153(ld_124, ld_64);
            ls_140 = f0_136(ld_132, 2);
            str_concat_148 = StringConcatenate(ld_124, " pips (", ls_140, ")");
         } else str_concat_148 = "Not set";
         f0_81(name_20, li_36, li_8 + 24 + count_28 * li_32, "TakeProfit: ", 8, "Tahoma", li_44);
         f0_81(name_20 + "_value", li_40, li_8 + 24 + count_28 * li_32, str_concat_148, 8, "Tahoma", color_48);
         count_28++;
         name_20 = str_concat_12 + "16";
         ld_156 = f0_31(gs_1012, a_ticket_0);
         if (ld_156 != EMPTY_VALUE && ld_156 != 0.0) {
            ld_164 = f0_139(f0_39(cmd_52 == OP_BUY, ld_156 - ld_56, ld_56 - ld_156));
            ld_172 = f0_153(ld_164, ld_64);
            ls_180 = f0_136(ld_172, 2);
            str_concat_148 = StringConcatenate(ld_164, " pips (", ls_180, ")");
         } else str_concat_148 = "Not set";
         if (ld_172 > 0.0) color_88 = TakeProfitColor;
         else
            if (ld_172 < 0.0) color_88 = StopLossColor;
         f0_81(name_20, li_36, li_8 + 24 + count_28 * li_32, "StopLoss: ", 8, "Tahoma", li_44);
         f0_81(name_20 + "_value", li_40, li_8 + 24 + count_28 * li_32, str_concat_148, 8, "Tahoma", color_88);
         count_28++;
         count_28++;
         color_88 = color_48;
         name_20 = str_concat_12 + "17";
         str_concat_148 = "--";
         if (ld_164 < 0.0 && ld_124 > 0.0) {
            ld_188 = MathAbs(ld_124 / ld_164);
            if (ld_188 >= 2.0) color_88 = TakeProfitColor;
            else
               if (ld_188 < 1.0) color_88 = StopLossColor;
            if (ld_124 != 0.0 && ld_164 != 0.0) str_concat_148 = f0_108(ld_188, 1);
         }
         f0_81(name_20, li_36, li_8 + 24 + count_28 * li_32, "R/R: ", 8, "Tahoma", li_44);
         f0_81(name_20 + "_value", li_40, li_8 + 24 + count_28 * li_32 - 4, str_concat_148, 16, "Impact", color_88);
         count_28++;
         str_concat_12 = StringConcatenate("DrW_", gs_1332, "Btn");
         li_196 = li_4 + gi_1360;
         li_200 = li_8 + gi_1364;
         f0_79(str_concat_12 + "Break", li_196, li_200, 15, "Breakeven", 1662302, g_clr_1244);
         li_200 += gi_1376;
         f0_79(str_concat_12 + "Partial", li_196, li_200, 10, "Partial close", 5922330, g_clr_1244);
         li_200 += gi_1376;
         f0_79(str_concat_12 + "Reverse", li_196, li_200, 20, "Reverse", 5970526, g_clr_1244);
         li_200 += gi_1376;
         f0_79(str_concat_12 + "Close", li_196, li_200, 28, "Close", 1662515, g_clr_1244);
         li_200 += gi_1376;
         if (gi_432) f0_79(str_concat_12 + "Hedge", li_196, li_200, 28, "Hedge", 91798, g_clr_1244);
         li_200 += gi_1376;
         if (gi_392) {
            if (li_80 == 1) f0_79(str_concat_12 + "Grid", li_196, li_200, 20, "Grid On", 128, g_clr_1244);
            else f0_79(str_concat_12 + "Grid", li_196, li_200, 18, "Grid Off", 60, g_clr_1244);
            li_200 += gi_1376;
         }
         gi_1340 = TRUE;
      }
   }
}

// 7A1A81E6D4F7763DA5275206F8CCEB6D
void f0_79(string as_0, int ai_8, int ai_12, int ai_16, string as_20, int ai_28, int ai_32) {
   int li_36 = 10;
   int li_40 = 2;
   string ls_44 = as_0 + "BG";
   f0_81(ls_44, ai_8, ai_12, "ggggg", 13, "Webdings", ai_28);
   ls_44 = as_0 + "Txt1";
   f0_81(ls_44, ai_8 + ai_16 + 1, ai_12 + li_40 + 1, as_20, li_36, "Tahoma", Black);
   ls_44 = as_0 + "Txt2";
   f0_81(ls_44, ai_8 + ai_16, ai_12 + li_40, as_20, li_36, "Tahoma", ai_32);
}

// EB73A07A134C212369DCC3747A0780D5
int f0_156(int ai_0, int ai_4) {
   if (!gi_1340) return (0);
   if (f0_162(ai_0, ai_4, gi_1344 + gi_1352 - 20, gi_1348 + 8, gi_1344 + gi_1352, gi_1348 + 8 + 16)) {
      f0_19();
      return (1);
   }
   if (f0_162(ai_0, ai_4, gi_1344 + gi_1360, gi_1348 + gi_1364, gi_1344 + gi_1360 + gi_1368, gi_1348 + gi_1364 + gi_1372)) {
      f0_132(g_ticket_820);
      return (1);
   }
   if (f0_162(ai_0, ai_4, gi_1344 + gi_1360, gi_1348 + gi_1364 + gi_1376, gi_1344 + gi_1360 + gi_1368, gi_1348 + gi_1364 + gi_1372 + gi_1376)) {
      f0_76(g_ticket_820);
      return (1);
   }
   if (f0_162(ai_0, ai_4, gi_1344 + gi_1360, gi_1348 + gi_1364 + gi_1376 * 2, gi_1344 + gi_1360 + gi_1368, gi_1348 + gi_1364 + gi_1372 + gi_1376 * 2)) {
      f0_65(g_ticket_820);
      return (1);
   }
   if (f0_162(ai_0, ai_4, gi_1344 + gi_1360, gi_1348 + gi_1364 + 3 * gi_1376, gi_1344 + gi_1360 + gi_1368, gi_1348 + gi_1364 + gi_1372 + 3 * gi_1376)) {
      f0_17(g_ticket_820);
      f0_19();
      WindowRedraw();
      return (1);
   }
   if (f0_162(ai_0, ai_4, gi_1344 + gi_1360, gi_1348 + gi_1364 + gi_1376 * 4, gi_1344 + gi_1360 + gi_1368, gi_1348 + gi_1364 + gi_1372 + gi_1376 * 4)) {
      if (!(gi_432)) return (0);
      f0_46(g_ticket_820);
      f0_19();
      WindowRedraw();
      return (1);
   }
   if (gi_392 && f0_162(ai_0, ai_4, gi_1344 + gi_1360, gi_1348 + gi_1364 + 5 * gi_1376, gi_1344 + gi_1360 + gi_1368, gi_1348 + gi_1364 + gi_1372 + 5 * gi_1376)) {
      f0_134(g_ticket_820);
      f0_126();
      WindowRedraw();
      return (1);
   }
   return (0);
}

// 1CF67D674039C9BB64BDCB42D6706A26
void f0_19() {
   string str_concat_0;
   if (gi_1340) {
      str_concat_0 = StringConcatenate("DrW_", gs_1332);
      f0_38(str_concat_0);
      gi_1340 = FALSE;
   }
}

// ACAE909BAFD5095E6236CD9403AAE758
void f0_115() {
   int li_0;
   int li_4;
   int li_8;
   string str_concat_12;
   string name_20;
   string ls_28;
   string ls_36;
   int li_44;
   int color_48;
   int count_52;
   int color_56;
   double ld_60;
   int li_68;
   int count_72;
   double ld_76;
   double ld_84;
   double ld_92;
   double ld_100;
   string ls_112;
   double ld_120;
   if (ShowAccountPanel) {
      li_0 = gi_1396;
      li_4 = gi_1400;
      li_8 = gi_1396 + 80;
      str_concat_12 = StringConcatenate("DrW_", gs_1380);
      name_20 = str_concat_12 + "0";
      f0_81(name_20, li_0, li_4, "g", 120, "Webdings", gi_452);
      ObjectSet(name_20, OBJPROP_BACK, BackgroundOpacity);
      name_20 = str_concat_12 + "00";
      f0_81(name_20, li_0, li_4 + 16, "g", 120, "Webdings", gi_452);
      ObjectSet(name_20, OBJPROP_BACK, BackgroundOpacity);
      name_20 = str_concat_12 + "1";
      f0_81(name_20, li_0 + 5, li_4 + 2, "gggggggg", 14, "Webdings", C'0x14,0x14,0x14');
      ls_28 = "EA FX- MACH 3";
      name_20 = str_concat_12 + "2";
      f0_81(name_20, li_0 + 45, li_4 + 7, ls_28, 10, "Tahoma", Black);
      name_20 = str_concat_12 + "3";
      f0_81(name_20, li_0 + 44, li_4 + 6, ls_28, 10, "Tahoma", Gold);
      ls_36 = CharToStr(165);
      name_20 = str_concat_12 + "5";
      f0_81(name_20, li_0 + 9, li_4 + 6, ls_36, 10, "Webdings", C'0x32,0x32,0x32');
      name_20 = str_concat_12 + "6";
      f0_81(name_20, li_0 + 8, li_4 + 5, ls_36, 10, "Webdings", Gold);
      li_44 = 12632256;
      color_48 = g_clr_1244;
      count_52 = 0;
      f0_111(count_52, "Balance:", li_44);
      f0_159(count_52, li_8, f0_136(AccountBalance()), color_48);
      count_52++;
      color_56 = color_48;
      if (AccountEquity() < AccountBalance()) color_56 = LightPink;
      else
         if (AccountEquity() > AccountBalance()) color_56 = PaleTurquoise;
      f0_111(count_52, "Equity:", li_44);
      f0_159(count_52, li_8, f0_136(AccountEquity()), color_56);
      count_52++;
      f0_111(count_52, "Free margin:", li_44);
      f0_159(count_52, li_8, f0_108(AccountFreeMargin(), 2), color_48);
      count_52++;
      ld_60 = f0_67(0, 1);
      color_56 = color_48;
      if (ld_60 > 20.0) color_56 = Red;
      f0_111(count_52, "Drawdown:", li_44);
      f0_159(count_52, li_8, f0_108(ld_60, 2) + "%", color_56);
      count_52++;
      f0_111(count_52, "-------------------------------------", li_44);
      count_52++;
      count_72 = 0;
      ld_84 = 0;
      ld_100 = 0;
      for (int pos_108 = OrdersTotal() - 1; pos_108 >= 0; pos_108--) {
         if (OrderSelect(pos_108, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
               li_68++;
               ld_92 += OrderProfit() + OrderSwap() + OrderCommission();
               ld_76 += OrderLots();
               continue;
            }
            if (OrderType() == OP_SELL && OrderSymbol() == Symbol()) {
               count_72++;
               ld_100 += OrderProfit() + OrderSwap() + OrderCommission();
               ld_84 += OrderLots();
            }
         }
      }
      color_56 = color_48;
      if (ld_92 < 0.0) color_56 = Red;
      else
         if (ld_92 > 0.0) color_56 = Lime;
      f0_111(count_52, "Buy:", 15658671);
      f0_159(count_52, gi_1396 + 40, StringConcatenate(li_68, " | ", f0_108(ld_76, 2), " | ", f0_136(ld_92, 2)), color_56);
      count_52++;
      color_56 = color_48;
      if (ld_100 < 0.0) color_56 = Red;
      else
         if (ld_100 > 0.0) color_56 = Lime;
      f0_111(count_52, "Sell:", 12695295);
      f0_159(count_52, gi_1396 + 40, StringConcatenate(count_72, " | ", f0_108(ld_84, 2), " | ", f0_136(ld_100, 2)), color_56);
      count_52++;
      f0_111(count_52, "-------------------------------------", li_44);
      count_52++;
      color_56 = color_48;
      if (ld_92 + ld_100 < 0.0) color_56 = Red;
      else
         if (ld_92 + ld_100 > 0.0) color_56 = Lime;
      f0_111(count_52, "Sum:", 55295);
      f0_159(count_52, gi_1396 + 40, StringConcatenate(li_68 + count_72, " | ", f0_108(ld_76 + ld_84, 2), " | ", f0_136(ld_92 + ld_100, 2)), color_56);
      count_52++;
      f0_111(count_52, "Avg:", 55295);
      ls_112 = "-----------------";
      color_56 = Gray;
      if (li_68 + count_72 > 0) {
         ld_120 = f0_28();
         if (ld_120 != EMPTY_VALUE) {
            ls_112 = f0_108(ld_120, Digits);
            color_56 = color_48;
            if (li_68 + count_72 > 1 && AveragePriceLineColor != CLR_NONE) f0_0(gs_avgprice_1108, ld_120, -1, AveragePriceLineColor, STYLE_DOT);
         }
      } else
         if (AveragePriceLineColor != CLR_NONE) f0_0(gs_avgprice_1108, 0, -1, AveragePriceLineColor, STYLE_DOT);
      f0_159(count_52, gi_1396 + 40, ls_112, color_56);
      count_52++;
      gi_nsd_1412 = TRUE;
   }
}

// 2D16C2E5D3DD33F6C2ECBE53BC848288
double f0_28() {
   double ld_0;
   double ld_8 = 0;
   for (int pos_16 = OrdersTotal() - 1; pos_16 >= 0; pos_16--) {
      if (OrderSelect(pos_16, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
            if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
               ld_0 += OrderOpenPrice() * OrderLots();
               ld_8 += OrderLots();
            }
         }
      }
   }
   if (ld_8 > 0.0) return (f0_100(ld_0 / ld_8));
   return (EMPTY_VALUE);
}

// A7C093DDD4EBAF0E80FC957EBF7C53AB
void f0_111(int ai_0, string as_4, int ai_12) {
   string str_concat_16 = StringConcatenate("DrW_", gs_1380, "C", ai_0);
   f0_81(str_concat_16, gi_1396 + 6, gi_1388 + gi_1400 + ai_0 * gi_1392, as_4, 8, "Tahoma", ai_12);
}

// EEC6F43503E25962F346B950A31DA94D
void f0_159(int ai_0, int ai_4, string as_8, int ai_16) {
   string str_concat_20 = StringConcatenate("DrW_", gs_1380, "V", ai_0);
   f0_81(str_concat_20, ai_4, gi_1388 + gi_1400 + ai_0 * gi_1392, as_8, 8, "Tahoma", ai_16);
}

// 5D2E36B397609AC857C0AF71C6613194
void f0_61() {
   int li_0;
   int li_4;
   string str_concat_8;
   string name_16;
   string ls_24;
   string ls_32;
   int li_nsd_40;
   int li_nsd_44;
   int count_48;
   int str2time_52;
   int str2time_56;
   int datetime_60;
   int li_64;
   if (ShowProfitPanel) {
      li_0 = gi_1432;
      li_4 = gi_1436;
      str_concat_8 = StringConcatenate("DrW_", gs_1416);
      name_16 = str_concat_8 + "0";
      f0_81(name_16, li_0, li_4, "gg", 75, "Webdings", gi_452);
      ObjectSet(name_16, OBJPROP_BACK, BackgroundOpacity);
      name_16 = str_concat_8 + "1";
      f0_81(name_16, li_0 + 5, li_4 + 2, "gggggggggg", 14, "Webdings", C'0x14,0x14,0x14');
      ls_24 = "Profit info";
      name_16 = str_concat_8 + "2";
      f0_81(name_16, li_0 + 75, li_4 + 7, ls_24, 10, "Tahoma", Black);
      name_16 = str_concat_8 + "3";
      f0_81(name_16, li_0 + 74, li_4 + 6, ls_24, 10, "Tahoma", Gold);
      ls_32 = CharToStr(164);
      name_16 = str_concat_8 + "5";
      f0_81(name_16, li_0 + 9, li_4 + 6, ls_32, 10, "Webdings", C'0x32,0x32,0x32');
      name_16 = str_concat_8 + "6";
      f0_81(name_16, li_0 + 8, li_4 + 5, ls_32, 10, "Webdings", Gold);
      li_nsd_40 = 12632256;
      li_nsd_44 = g_clr_1244;
      count_48 = 0;
      datetime_60 = TimeCurrent();
      str2time_56 = StrToTime(TimeToStr(datetime_60, TIME_DATE));
      f0_59(str2time_56, datetime_60, count_48, "Today");
      count_48++;
      str2time_52 = str2time_56;
      li_64 = f0_152(str2time_52 - gi_1456);
      f0_59(li_64, str2time_52, count_48, "Yesterday");
      count_48++;
      str2time_52 = f0_93();
      f0_59(str2time_52, datetime_60, count_48, "Week");
      count_48++;
      str2time_52 = StrToTime(Year() + "." + Month() + ".01");
      f0_59(str2time_52, datetime_60, count_48, "Month");
      count_48++;
      str2time_52 = StrToTime(Year() + ".01.01");
      f0_59(str2time_52, datetime_60, count_48, "Year");
      count_48++;
      gi_nsd_1448 = TRUE;
   }
}

// 55B8E7F64ACEAFC2E33BA1080F79A8B9
void f0_59(int ai_0, int ai_4, int ai_8, string a_time2str_12 = "") {
   double ld_20;
   double ld_28;
   if (a_time2str_12 == "") a_time2str_12 = TimeToStr(ai_0, TIME_DATE);
   double ld_nsd_36 = 0.0;
   int li_52 = 10;
   int li_56 = 80;
   int li_60 = 140;
   f0_82(ai_0, ai_4, ld_20, ld_28);
   double ld_64 = 0;
   if (AccountBalance() > 0.0) ld_64 = 100.0 * (ld_28 / AccountBalance());
   string ls_44 = StringConcatenate(a_time2str_12, ": ");
   f0_171(ai_8, li_52, ls_44, 12632256);
   ls_44 = f0_136(ld_28, 2);
   f0_171(ai_8, li_56, ls_44, f0_14(ld_28));
   ls_44 = f0_108(ld_20, 1) + " pips";
   f0_171(ai_8, li_60, ls_44, f0_14(ld_20));
}

// 18395C9D5496CE3BB9D2FCDDB85B6140
int f0_14(double ad_0) {
   int li_ret_8 = 12632256;
   if (ad_0 > 0.0) li_ret_8 = 65280;
   if (ad_0 < 0.0) li_ret_8 = 255;
   return (li_ret_8);
}

// FAA80C7FAF626ACD4F482B5EEC0C0420
void f0_171(int ai_0, int ai_4, string as_8, int ai_16) {
   string str_concat_20 = StringConcatenate("DrW_", gs_1416, "V", ai_0, ai_4);
   f0_81(str_concat_20, gi_1432 + ai_4, gi_1424 + gi_1436 + ai_0 * gi_1428, as_8, 8, "Tahoma", ai_16);
}

// 7E0062AA8C59AA9E68163945475F7764
int f0_82(int ai_0, int ai_4, double &ad_8, double &ad_16) {
   int hist_total_28 = OrdersHistoryTotal();
   ad_8 = 0;
   ad_16 = 0;
   for (int pos_24 = 0; pos_24 < hist_total_28; pos_24++) {
      if (OrderSelect(pos_24, SELECT_BY_POS, MODE_HISTORY)) {
         if (gi_1452 || OrderSymbol() == Symbol()) {
            if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
               if (ai_4 >= OrderCloseTime() && OrderCloseTime() >= ai_0) {
                  ad_16 += OrderProfit() + OrderCommission() + OrderSwap();
                  if (OrderType() == OP_BUY) ad_8 += f0_139(OrderClosePrice() - OrderOpenPrice());
                  if (OrderType() == OP_SELL) ad_8 += f0_139(OrderOpenPrice() - OrderClosePrice());
               }
            }
         }
      }
   }
   return (1);
}

// E3D77C5FEF5B55479437EF591440DE35
int f0_152(int ai_0) {
   for (int li_ret_4 = ai_0; TimeDayOfWeek(li_ret_4) < 1 || TimeDayOfWeek(li_ret_4) > 5; li_ret_4 -= gi_1456) {
   }
   return (li_ret_4);
}

// 8A729F392CA03BCF676C04744BE4AB2E
int f0_93(int ai_0 = 0) {
   for (int li_ret_4 = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)); TimeDayOfWeek(li_ret_4) != 1; li_ret_4 -= gi_1456) {
   }
   li_ret_4 += 7 * ai_0 * gi_1456;
   return (li_ret_4);
}

// D87000F73B355D66104C50794879C500
void f0_142(bool ai_0) {
   int li_4;
   int li_8;
   string str_concat_12;
   string name_20;
   string ls_28;
   string ls_36;
   int li_44;
   int digits_48;
   double spread_52;
   string ls_60;
   string ls_68;
   string ls_76;
   string ls_84;
   string ls_96;
   int li_104;
   int li_108;
   int li_112;
   int li_116;
   int li_120;
   double ihigh_124;
   double ilow_132;
   double iopen_140;
   double iclose_148;
   double ld_156;
   double ld_164;
   double ld_172;
   double ld_180;
   int li_188;
   if (ShowDashboard) {
      li_4 = gi_1468;
      li_8 = gi_1472;
      str_concat_12 = StringConcatenate("DrW_", gs_1460);
      if (ai_0 || (!gi_1484)) {
         name_20 = str_concat_12 + "0";
         f0_81(name_20, li_4, li_8, "g", 120, "Webdings", gi_452);
         ObjectSet(name_20, OBJPROP_BACK, BackgroundOpacity);
         name_20 = str_concat_12 + "00";
         f0_81(name_20, li_4, li_8 + 28, "g", 120, "Webdings", gi_452);
         ObjectSet(name_20, OBJPROP_BACK, BackgroundOpacity);
         name_20 = str_concat_12 + "1";
         f0_81(name_20, li_4 + 5, li_8 + 2, "gggggggg", 14, "Webdings", C'0x14,0x14,0x14');
         ls_28 = "Dashboard";
         name_20 = str_concat_12 + "2";
         f0_81(name_20, li_4 + 55, li_8 + 7, ls_28, 10, "Tahoma", Black);
         name_20 = str_concat_12 + "3";
         f0_81(name_20, li_4 + 54, li_8 + 6, ls_28, 10, "Tahoma", Gold);
         ls_36 = CharToStr(105);
         name_20 = str_concat_12 + "5";
         f0_81(name_20, li_4 + 9, li_8 + 6, ls_36, 10, "Webdings", C'0x32,0x32,0x32');
         name_20 = str_concat_12 + "6";
         f0_81(name_20, li_4 + 8, li_8 + 5, ls_36, 10, "Webdings", Gold);
      }
      li_44 = li_8 + 25;
      digits_48 = Digits;
      spread_52 = MarketInfo(Symbol(), MODE_SPREAD);
      ls_60 = f0_108(Bid, digits_48);
      ls_68 = f0_108(Ask, digits_48);
      ls_76 = f0_108(spread_52);
      ls_84 = "";
      for (int li_92 = 0; li_92 < StringLen(ls_60); li_92++) {
         if (StringGetChar(ls_60, li_92) != StringGetChar(ls_68, li_92)) break;
         ls_84 = ls_84 + StringSubstr(ls_60, li_92, 1);
      }
      ls_96 = Symbol();
      ls_28 = StringSubstr(ls_96, 0, 6);
      f0_81(str_concat_12 + "07", li_4 + 55, li_44 + 1, ls_28, 10, "Arial Black", Black);
      f0_81(str_concat_12 + "08", li_4 + 54, li_44, ls_28, 10, "Arial Black", DarkGray);
      li_44 += 15;
      li_104 = 5 * (7 - StringLen(ls_84)) + 28;
      ls_28 = ls_84;
      f0_81(str_concat_12 + "14", li_4 + li_104 + 2, li_44 + 2, ls_28, 20, "Verdana", Black);
      f0_81(str_concat_12 + "15", li_4 + li_104, li_44, ls_28, 20, "Verdana", White);
      li_44++;
      li_108 = li_104 + 16.5 * StringLen(ls_84);
      ls_28 = StringSubstr(ls_68, StringLen(ls_84));
      f0_81(str_concat_12 + "16", li_4 + li_108 + 1, li_44 + 1, ls_28, 10, "Verdana", Black);
      f0_81(str_concat_12 + "17", li_4 + li_108, li_44, ls_28, 10, "Verdana", White);
      li_44 += 13;
      ls_28 = StringSubstr(ls_60, StringLen(ls_84));
      f0_81(str_concat_12 + "18", li_4 + li_108 + 1, li_44 + 1, ls_28, 10, "Verdana", Black);
      f0_81(str_concat_12 + "19", li_4 + li_108, li_44, ls_28, 10, "Verdana", White);
      li_44 += 21;
      ls_28 = "Spread";
      f0_81(str_concat_12 + "7", li_4 + 64, li_44 + 1, ls_28, 10, "Tahoma", Black);
      f0_81(str_concat_12 + "8", li_4 + 63, li_44, ls_28, 10, "Tahoma", DarkGray);
      li_44 += 16;
      ls_28 = f0_108(spread_52 / gd_876, 1);
      li_112 = 10026686;
      if (spread_52 / gd_876 >= DashboardSpreadRedValue) li_112 = 255;
      f0_81(str_concat_12 + "10", li_4 + 62, li_44 + 2, ls_28, 22, "Verdana", Black);
      f0_81(str_concat_12 + "11", li_4 + 60, li_44, ls_28, 22, "Verdana", li_112);
      if (ai_0) {
         li_44 += 30;
         li_44 += 14;
         li_116 = 20;
         li_120 = 9;
         f0_81(str_concat_12 + "30", li_4 + 10, li_44, "M1", 7, "Arial", f0_158(1));
         f0_81(str_concat_12 + "31", li_4 + 6, li_44 - li_116, "-", 42, "Arial", f0_72(PERIOD_M1));
         f0_81(str_concat_12 + "32", li_4 + 6, li_44 - li_116 + li_120, "-", 42, "Arial", f0_103(PERIOD_M1));
         f0_81(str_concat_12 + "33", li_4 + 6, li_44 - li_116 + li_120 * 2, "-", 42, "Arial", f0_103(PERIOD_M1));
         f0_81(str_concat_12 + "34", li_4 + 6, li_44 - li_116 + 3 * li_120, "-", 42, "Arial", f0_102(PERIOD_M1));
         f0_81(str_concat_12 + "40", li_4 + 30, li_44, "M5", 7, "Arial", f0_158(5));
         f0_81(str_concat_12 + "41", li_4 + 26, li_44 - li_116, "-", 42, "Arial", f0_72(PERIOD_M5));
         f0_81(str_concat_12 + "42", li_4 + 26, li_44 - li_116 + li_120, "-", 42, "Arial", f0_103(PERIOD_M5));
         f0_81(str_concat_12 + "43", li_4 + 26, li_44 - li_116 + li_120 * 2, "-", 42, "Arial", f0_90(PERIOD_M5));
         f0_81(str_concat_12 + "44", li_4 + 26, li_44 - li_116 + 3 * li_120, "-", 42, "Arial", f0_102(PERIOD_M5));
         f0_81(str_concat_12 + "50", li_4 + 47, li_44, "M15", 7, "Arial", f0_158(15));
         f0_81(str_concat_12 + "51", li_4 + 46, li_44 - li_116, "-", 42, "Arial", f0_72(PERIOD_M15));
         f0_81(str_concat_12 + "52", li_4 + 46, li_44 - li_116 + li_120, "-", 42, "Arial", f0_103(PERIOD_M15));
         f0_81(str_concat_12 + "53", li_4 + 46, li_44 - li_116 + li_120 * 2, "-", 42, "Arial", f0_90(PERIOD_M15));
         f0_81(str_concat_12 + "54", li_4 + 46, li_44 - li_116 + 3 * li_120, "-", 42, "Arial", f0_102(PERIOD_M15));
         f0_81(str_concat_12 + "60", li_4 + 68, li_44, "M30", 7, "Arial", f0_158(30));
         f0_81(str_concat_12 + "61", li_4 + 66, li_44 - li_116, "-", 42, "Arial", f0_72(PERIOD_M30));
         f0_81(str_concat_12 + "62", li_4 + 66, li_44 - li_116 + li_120, "-", 42, "Arial", f0_103(PERIOD_M30));
         f0_81(str_concat_12 + "63", li_4 + 66, li_44 - li_116 + li_120 * 2, "-", 42, "Arial", f0_90(PERIOD_M30));
         f0_81(str_concat_12 + "64", li_4 + 66, li_44 - li_116 + 3 * li_120, "-", 42, "Arial", f0_102(PERIOD_M30));
         f0_81(str_concat_12 + "70", li_4 + 90, li_44, "H1", 7, "Arial", f0_158(60));
         f0_81(str_concat_12 + "71", li_4 + 86, li_44 - li_116, "-", 42, "Arial", f0_72(PERIOD_H1));
         f0_81(str_concat_12 + "72", li_4 + 86, li_44 - li_116 + li_120, "-", 42, "Arial", f0_103(PERIOD_H1));
         f0_81(str_concat_12 + "73", li_4 + 86, li_44 - li_116 + li_120 * 2, "-", 42, "Arial", f0_90(PERIOD_H1));
         f0_81(str_concat_12 + "74", li_4 + 86, li_44 - li_116 + 3 * li_120, "-", 42, "Arial", f0_102(PERIOD_H1));
         f0_81(str_concat_12 + "80", li_4 + 110, li_44, "H4", 7, "Arial", f0_158(240));
         f0_81(str_concat_12 + "81", li_4 + 106, li_44 - li_116, "-", 42, "Arial", f0_72(PERIOD_H4));
         f0_81(str_concat_12 + "82", li_4 + 106, li_44 - li_116 + li_120, "-", 42, "Arial", f0_103(PERIOD_H4));
         f0_81(str_concat_12 + "83", li_4 + 106, li_44 - li_116 + li_120 * 2, "-", 42, "Arial", f0_90(PERIOD_H4));
         f0_81(str_concat_12 + "84", li_4 + 106, li_44 - li_116 + 3 * li_120, "-", 42, "Arial", f0_102(PERIOD_H4));
         f0_81(str_concat_12 + "90", li_4 + 130, li_44, "D1", 7, "Arial", f0_158(1440));
         f0_81(str_concat_12 + "91", li_4 + 126, li_44 - li_116, "-", 42, "Arial", f0_72(PERIOD_D1));
         f0_81(str_concat_12 + "92", li_4 + 126, li_44 - li_116 + li_120, "-", 42, "Arial", f0_103(PERIOD_D1));
         f0_81(str_concat_12 + "93", li_4 + 126, li_44 - li_116 + li_120 * 2, "-", 42, "Arial", f0_90(PERIOD_D1));
         f0_81(str_concat_12 + "94", li_4 + 126, li_44 - li_116 + 3 * li_120, "-", 42, "Arial", f0_102(PERIOD_D1));
         li_120 = 10;
         f0_81(str_concat_12 + "101", li_4 + 145, li_44 + li_120, "MA", 6, "Arial", SkyBlue);
         f0_81(str_concat_12 + "102", li_4 + 145, li_44 + li_120 * 2, "CCI", 6, "Arial", SkyBlue);
         f0_81(str_concat_12 + "103", li_4 + 145, li_44 + 3 * li_120, "RSI", 6, "Arial", SkyBlue);
         f0_81(str_concat_12 + "104", li_4 + 145, li_44 + li_120 * 4, "Sth", 6, "Arial", SkyBlue);
         ihigh_124 = iHigh(Symbol(), PERIOD_D1, 0);
         ilow_132 = iLow(Symbol(), PERIOD_D1, 0);
         iopen_140 = iOpen(Symbol(), PERIOD_D1, 0);
         iclose_148 = iClose(Symbol(), PERIOD_D1, 0);
         ld_156 = f0_139(ihigh_124 - ilow_132);
         ld_164 = ld_156 / 29.0;
         if (ld_164 != 0.0) {
            ld_172 = f0_139(ihigh_124 - iopen_140) / ld_164;
            ld_180 = f0_139(ihigh_124 - iclose_148) / ld_164;
            li_188 = 6908265;
            li_112 = li_188;
            for (li_92 = 0; li_92 < 30; li_92++) {
               if (ld_172 > ld_180) {
                  if (MathFloor(ld_180) <= li_92) li_112 = 25600;
                  if (MathFloor(ld_172) < li_92) li_112 = li_188;
               } else {
                  if (ld_172 < ld_180) {
                     if (MathFloor(ld_172) <= li_92) li_112 = 2237106;
                     if (MathFloor(ld_180) < li_92) li_112 = li_188;
                  }
               }
               f0_81(StringConcatenate(str_concat_12, "DR", li_92), li_4 + 145, li_8 + 10 + 3 * li_92, "-", 20, "Arial", li_112);
            }
            f0_81(StringConcatenate(str_concat_12, "DRCurr"), li_4 + 137, li_8 + 18 + 3.0 * MathFloor(ld_180), "4", 8, "Webdings", Gold);
         }
      }
      gi_1484 = TRUE;
   }
}

// EDEA1FE21A3EDE39BF7E8D6E9831284D
int f0_158(int ai_0) {
   if (Period() == ai_0) return (16777215);
   return (15453831);
}

// 6A398A7CB1A89E7422220FC9AC47FAF8
int f0_72(int a_timeframe_0) {
   if (Dashboard_OnlyCurrentTF && a_timeframe_0 != Period()) return (6908265);
   double ima_4 = iMA(Symbol(), a_timeframe_0, Dashboard_MAPeriod, 0, Dashboard_MAMode, Dashboard_MAPrice, 0);
   double ima_12 = iMA(Symbol(), a_timeframe_0, Dashboard_MAPeriod, 0, Dashboard_MAMode, Dashboard_MAPrice, 1);
   if (ima_4 > ima_12) return (65280);
   return (255);
}

// 9BBE1B727E7454DAF1054B4380C412FB
int f0_103(int a_timeframe_0) {
   if (Dashboard_OnlyCurrentTF && a_timeframe_0 != Period()) return (6908265);
   double icci_4 = iCCI(Symbol(), a_timeframe_0, Dashboard_CCIPeriod, Dashboard_CCIPrice, 0);
   double icci_12 = iCCI(Symbol(), a_timeframe_0, Dashboard_CCIPeriod, Dashboard_CCIPrice, 1);
   if (icci_4 > 0.0) {
      if (icci_4 <= icci_12) return (2237106);
      return (65280);
   }
   if (icci_4 < icci_12) return (255);
   return (32768);
}

// 8924A78C0605254C6973A5E079E5C60C
int f0_90(int a_timeframe_0) {
   if (Dashboard_OnlyCurrentTF && a_timeframe_0 != Period()) return (6908265);
   double irsi_4 = iRSI(Symbol(), a_timeframe_0, Dashboard_RSIPeriod, Dashboard_RSIPrice, 0);
   if (irsi_4 >= 50.0) return (65280);
   return (255);
}

// 9B63D776DCDB7E5F9566C12936C962CB
int f0_102(int a_timeframe_0) {
   if (Dashboard_OnlyCurrentTF && a_timeframe_0 != Period()) return (6908265);
   double istochastic_4 = iStochastic(Symbol(), a_timeframe_0, Dashboard_StochKPeriod, Dashboard_StockDPeriod, Dashboard_StochSlowing, Dashboard_StochMode, Dashboard_StochPrice,
      MODE_MAIN, 0);
   double istochastic_12 = iStochastic(Symbol(), a_timeframe_0, Dashboard_StochKPeriod, Dashboard_StockDPeriod, Dashboard_StochSlowing, Dashboard_StochMode, Dashboard_StochPrice,
      MODE_SIGNAL, 0);
   if (istochastic_4 > istochastic_12) return (65280);
   return (255);
}

// 506D7272A84C5F087624880F1171C82D
void f0_55() {
   int li_4;
   double iclose_8;
   double iopen_16;
   double ihigh_24;
   double ilow_32;
   double iopen_40;
   double ihigh_48;
   double ilow_56;
   double ld_64;
   double ld_72;
   double ld_80;
   int timeframe_0 = 0;
   if (Period() == PERIOD_D1) timeframe_0 = 43200;
   else {
      if (Period() == PERIOD_H4) timeframe_0 = 10080;
      else
         if (Period() < PERIOD_H4) timeframe_0 = 1440;
   }
   if (timeframe_0 > 0) {
      li_4 = 1;
      if (TimeDayOfWeek(iTime(Symbol(), timeframe_0, li_4)) == 0) li_4++;
      iclose_8 = iClose(Symbol(), timeframe_0, li_4);
      iopen_16 = iOpen(Symbol(), timeframe_0, li_4);
      ihigh_24 = iHigh(Symbol(), timeframe_0, li_4);
      ilow_32 = iLow(Symbol(), timeframe_0, li_4);
      iopen_40 = iOpen(Symbol(), timeframe_0, 0);
      ihigh_48 = iHigh(Symbol(), timeframe_0, 0);
      ilow_56 = iLow(Symbol(), timeframe_0, 0);
      ld_64 = ihigh_48 - ilow_56;
      ld_72 = ihigh_24 - ilow_32;
      ld_80 = (ihigh_24 + ilow_32 + iclose_8) / 3.0;
      gd_1496 = ld_80;
      gd_1504 = 2.0 * ld_80 + (ihigh_24 - 2.0 * ilow_32);
      gd_1512 = ld_80 + (ihigh_24 - ilow_32);
      gd_1520 = 2.0 * ld_80 - ilow_32;
      gd_1528 = 2.0 * ld_80 - ihigh_24;
      gd_1536 = ld_80 - (ihigh_24 - ilow_32);
      gd_1544 = 2.0 * ld_80 - (2.0 * ihigh_24 - ilow_32);
   }
}

// 05EC5F8CC81F86D68993F307785CD862
void f0_3() {
   f0_55();
   int li_0 = 2;
   int li_4 = gi_1552;
   string str_concat_8 = StringConcatenate("DrW_", gs_1488);
   f0_157(str_concat_8 + "R3Text", "R3", str_concat_8 + "R3 line", li_0, li_4, gd_1504);
   f0_157(str_concat_8 + "R2Text", "R2", str_concat_8 + "R2 line", li_0, li_4, gd_1512);
   f0_157(str_concat_8 + "R1Text", "R1", str_concat_8 + "R1 line", li_0, li_4, gd_1520);
   li_4 = gi_1556;
   f0_157(str_concat_8 + "PText", "P", str_concat_8 + "P line", li_0, li_4, gd_1496);
   li_4 = gi_1560;
   f0_157(str_concat_8 + "S1Text", "S1", str_concat_8 + "S1 line", li_0, li_4, gd_1528);
   f0_157(str_concat_8 + "S2Text", "S2", str_concat_8 + "S2 line", li_0, li_4, gd_1536);
   f0_157(str_concat_8 + "S3Text", "S3", str_concat_8 + "S3 line", li_0, li_4, gd_1544);
}

// ECEC9869575AF9DCB685E4A3B133CFE8
void f0_157(string a_name_0, string a_text_8, string a_name_16, int ai_24, color a_clr_28, double a_price_32) {
   if (ObjectFind(a_name_0) != 0) {
      ObjectCreate(a_name_0, OBJ_TEXT, 0, Time[0] + 60 * Period() * gi_1572, a_price_32);
      ObjectSetText(a_name_0, a_text_8, 8, "Arial", CLR_NONE);
   } else ObjectMove(a_name_0, 0, Time[0] + 60 * Period() * gi_1572, a_price_32);
   if (ObjectFind(a_name_16) != 0) {
      ObjectCreate(a_name_16, ai_24, 0, Time[1], a_price_32, Time[0], a_price_32);
      ObjectSet(a_name_16, OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(a_name_16, OBJPROP_COLOR, a_clr_28);
      return;
   }
   ObjectMove(a_name_16, 0, Time[1], a_price_32);
   ObjectMove(a_name_16, 1, Time[0], a_price_32);
}

// E86AC8F15FE841E2A07F823AE236DB69
void f0_154() {
   int li_0 = 60 * Period() - (TimeCurrent() - Time[0]);
   string text_4 = "                           < ";
   if (li_0 < 0) text_4 = text_4 + "--:--:--";
   else text_4 = text_4 + TimeToStr(li_0, TIME_SECONDS);
   string str_concat_12 = StringConcatenate("DrW_", gs_1576, "Text");
   string str_concat_20 = StringConcatenate("DrW_", gs_1576, "Bg");
   if (ObjectFind(str_concat_12) != 0) ObjectCreate(str_concat_12, OBJ_TEXT, 0, Time[0], Bid);
   ObjectMove(str_concat_12, 0, Time[0], Bid);
   ObjectSetText(str_concat_12, text_4, 8, "Verdana", NextCandleTimeTextColor);
}

// 4986B4C5BB37CA1A703AB220CAF9CD65
void f0_52() {
   //string str_concat_0 = StringConcatenate("DrW_", "CopyRight");
   //string str_concat_8 = StringConcatenate("TraderAgent", " ", "v2.3.3", " ", f0_123());
   //string ls_16 = "More info: http://www.icefx.eu";
   //string ls_24 = "Build " + "159";
   //string name_32 = str_concat_0 + "0";
   //ObjectDelete(name_32);
   //f0_81(name_32, 4, 1, "±", 80, "IceFX", C'0x5A,0x5A,0x5A');
   //ObjectSet(name_32, OBJPROP_CORNER, 3);
   //name_32 = str_concat_0 + "1";
   //ObjectDelete(name_32);
   //f0_81(name_32, 18, 16, str_concat_8, 10, "Tahoma", Gold);
   //ObjectSet(name_32, OBJPROP_CORNER, 3);
   //name_32 = str_concat_0 + "2";
   //ObjectDelete(name_32);
   //f0_81(name_32, 4, 4, ls_16, 8, "Tahoma", Silver);
   //ObjectSet(name_32, OBJPROP_CORNER, 3);
   //name_32 = str_concat_0 + "3";
   //ObjectDelete(name_32);
   //f0_81(name_32, 4, 30, ls_24, 8, "Tahoma", Gray);
   //ObjectSet(name_32, OBJPROP_CORNER, 3);
}

// 3689FAF537C7277424867A8C8C0E0163
void f0_34() {
   string str_concat_0 = StringConcatenate("DrW_", "CopyRight");
   string name_8 = str_concat_0 + "clock";
   if (ObjectFind(name_8) < 0) {
      ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSet(name_8, OBJPROP_CORNER, 3);
      ObjectSet(name_8, OBJPROP_BACK, FALSE);
      ObjectSet(name_8, OBJPROP_XDISTANCE, 4);
      ObjectSet(name_8, OBJPROP_YDISTANCE, 15);
   }
   ObjectSetText(name_8, CharToStr(g_count_1584 + 183), 10, "Wingdings", Gold);
   g_count_1584++;
   if (g_count_1584 > 11) g_count_1584 = 0;
   if (ObjectFind(str_concat_0 + "0") == -1) f0_52();
}

// 8A9AA0276E92E1E287ED3D315CA553B8
int f0_94() {
   gia_1184[0] = gia_1188[0];
   gia_1184[1] = gia_1188[1];
   gia_1184[2] = gia_1188[2];
   gia_1184[3] = gia_1188[3];
   //IceLock_GetWindowSize(gi_804, gia_1188);
   gi_804=800;

   gi_1192 = TamanhoTelaX;//gia_1188[2] - gia_1188[0];
   gi_1196 = TamanhoTelaY;//gia_1188[3] - gia_1188[1];
   gi_1268 = f0_4(ControlPanelX < 0, gi_1192 + ControlPanelX, ControlPanelX);
   gi_1272 = f0_4(ControlPanelY < 0, gi_1196 + ControlPanelY - gi_1280, ControlPanelY);
   gi_1308 = f0_4(OrderListPanelX < 0, gi_1192 + OrderListPanelX, OrderListPanelX);
   gi_1312 = f0_4(OrderListPanelY < 0, gi_1196 + OrderListPanelY - gi_1320, OrderListPanelY);
   gi_1396 = f0_4(AccountPanelX < 0, gi_1192 + AccountPanelX, AccountPanelX);
   gi_1400 = f0_4(AccountPanelY < 0, gi_1196 + AccountPanelY - gi_1408, AccountPanelY);
   gi_1432 = f0_4(ProfitPanelX < 0, gi_1192 + ProfitPanelX, ProfitPanelX);
   gi_1436 = f0_4(ProfitPanelY < 0, gi_1196 + ProfitPanelY - gi_1444, ProfitPanelY);
   gi_1468 = f0_4(DashboardX < 0, gi_1192 + DashboardX, DashboardX);
   gi_1472 = f0_4(DashboardY < 0, gi_1196 + DashboardY - gi_1480, DashboardY);
   if (gia_1188[0] != gia_1184[0] || gia_1188[1] != gia_1184[1] || gia_1188[2] != gia_1184[2] || gia_1188[3] != gia_1184[3]) {
      f0_6();
      return (1);
   }
   return (0);
}

// 0A0AC84BAFDEEFE131C3CA141E3191DC
void f0_6() {
   f0_11();
   f0_115();
   f0_61();
   f0_142(1);
   f0_52();
   if (ShowOrderListPanel && gi_1324) {
      f0_121();
      f0_83();
   }
}

// C5AA0DDDA68543E36FBE2BD55B806ECA
int f0_130() {
   int lia_0[2];
   string ls_20;
   int li_4 = 1;//IceLock_GetMouseState(gi_804, lia_0);
   int li_8 = lia_0[0];
   int li_12 = lia_0[1];
   if (li_4 == 1) {
      for (int count_16 = 0; count_16 < ArrayRange(gia_1252, 0); count_16++) {
         if (gi_1204 && GetTickCount() - gia_1200[0] > 2000 || gia_1200[1] != li_8 || gia_1200[2] != li_12) {
            if (ShowControlPanel && f0_162(li_8, li_12, gi_1268, gi_1272, gi_1268 + gi_1276, gi_1272 + gi_1280)) f0_170(li_8, li_12);
            else {
               if (ShowOrderListPanel && f0_162(li_8, li_12, gi_1308, gi_1312, gi_1308 + gi_1316, gi_1312 + gi_1320)) f0_124(li_8, li_12);
               else
                  if (gi_1340 && f0_162(li_8, li_12, gi_1344, gi_1348, gi_1344 + gi_1352, gi_1348 + gi_1356)) f0_156(li_8, li_12);
            }
            gia_1200[0] = GetTickCount();
            gia_1200[1] = li_8;
            gia_1200[2] = li_12;
            gi_1204 = FALSE;
            return (count_16);
         }
      }
   } else {
      if (li_4 < 0) {
         if (!gi_1236) {
            ls_20 = "";//IceLock_GetLastResponseText(gi_804);
            f0_41("License problem!", ls_20, 2, 5000);
         }
      } else gi_1204 = TRUE;
   }
   gi_796 = li_4 > 0;
   return (-1);
}

// F1C2A50AB274EA5BB48B52676E8779BD
int f0_162(int ai_0, int ai_4, int ai_8, int ai_12, int ai_16, int ai_20) {
   return (ai_8 <= ai_0 && ai_16 >= ai_0 && ai_12 <= ai_4 && ai_20 >= ai_4);
}

// F5543B7F0A2E0E1532973CAA9215D94B
void f0_167(int ai_0) {
   int li_4 = f0_56(gs_1084, ai_0);
   if (li_4 == EMPTY_VALUE) {
      f0_69(ai_0);
      f0_91(ai_0);
      f0_50(ai_0);
      if (f0_45(gs_grid_1076, ai_0)) f0_109(ai_0);
      if (PartialClosePos1 != 0.0 && PartialClosePercent1 > 0.0 && PartialClosePercent1 <= 100.0) f0_29(ai_0, 1, PartialClosePos1, PartialClosePercent1);
      if (PartialClosePos2 != 0.0 && PartialClosePercent2 > 0.0 && PartialClosePercent2 <= 100.0) f0_29(ai_0, 2, PartialClosePos2, PartialClosePercent2);
      if (PartialClosePos3 != 0.0 && PartialClosePercent3 > 0.0 && PartialClosePercent3 <= 100.0) f0_29(ai_0, 3, PartialClosePos3, PartialClosePercent3);
   }
}

// 8891ADA670F5B3992A8951FA0D442FC0
void f0_88(string as_0, double ad_8, string a_text_16, color a_clr_24) {
   int li_44;
   double ld_28 = 0;
   if (gi_1196 > 0) ld_28 = 7.5 * ((WindowPriceMax() - WindowPriceMin()) / (1.0 * gi_1196));
   string name_36 = as_0 + "_Text";
   if (ObjectFind(name_36) > -1 || ObjectCreate(name_36, OBJ_TEXT, 0, 0, 0)) {
      ObjectSet(name_36, OBJPROP_TIME1, Time[0] + 60 * (ControlLineOffset * Period()));
      ObjectSet(name_36, OBJPROP_PRICE1, ad_8 + ld_28);
      ObjectSetText(name_36, a_text_16, 8, "Arial", a_clr_24);
      name_36 = as_0 + "_BgText";
      if (ObjectFind(name_36) != 0) ObjectCreate(name_36, OBJ_TEXT, 0, 0, 0);
      ObjectSet(name_36, OBJPROP_TIME1, Time[0] + 60 * (ControlLineOffset * Period()));
      ObjectSet(name_36, OBJPROP_PRICE1, ad_8 + ld_28);
      li_44 = StringLen(a_text_16) + 2;
      a_text_16 = "";
      for (int count_48 = 0; count_48 < li_44; count_48++) a_text_16 = a_text_16 + "Û";
      ObjectSetText(name_36, a_text_16, 8, "Terminal", ControlLineLabelColor);
   }
}

// 82D963C450BA8CDDE78C498C77E7F272
int f0_84(int ai_0) {
   return (ai_0 == 0 || ai_0 == 2 || ai_0 == 4);
}

// C1037ECE641795974231751B55767CD8
void f0_125(int a_ticket_0) {
   int cmd_4;
   double order_lots_8;
   double order_open_price_16;
   double ld_24;
   double ld_32;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      cmd_4 = OrderType();
      order_lots_8 = OrderLots();
      order_open_price_16 = OrderOpenPrice();
      ld_24 = 0;
      ld_32 = 0;
      if (StopLoss > 0.0) {
         ld_24 = f0_39(f0_84(cmd_4), order_open_price_16 - f0_7(StopLoss), order_open_price_16 + f0_7(StopLoss));
         f0_0(gs_1012, ld_24, a_ticket_0, StopLossColor);
      }
      if (TakeProfit > 0.0) {
         ld_32 = f0_39(f0_84(cmd_4), order_open_price_16 + f0_7(TakeProfit), order_open_price_16 - f0_7(TakeProfit));
         f0_0(gs_1020, ld_32, a_ticket_0, TakeProfitColor);
      }
      if (!StealthMode && ld_24 > 0.0 || ld_32 > 0.0) f0_165(a_ticket_0, 0, 0, ld_24, ld_32);
      f0_35(a_ticket_0);
   }
}

// 3980953FD047E9F2CEAC750BFDF7FD07
void f0_35(int a_ticket_0) {
   double ld_4;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      ld_4 = f0_71(a_ticket_0);
      f0_40(a_ticket_0, 1, PartialClosePos1);
      f0_40(a_ticket_0, 2, PartialClosePos2);
      f0_40(a_ticket_0, 3, PartialClosePos3);
      if (BreakEvenAt > 0.0) f0_120(a_ticket_0, OrderType(), ld_4);
   }
}

// 685F792C37B8B836793CE6A2B866715A
void f0_69(int a_ticket_0) {
   int cmd_4;
   double ld_8;
   double ld_16;
   double order_stoploss_24;
   string ls_32;
   string ls_40;
   bool li_48;
   double ld_52;
   double ld_60;
   string ls_68;
   int color_76;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      cmd_4 = OrderType();
      ld_8 = f0_58(a_ticket_0);
      ld_16 = f0_71(a_ticket_0);
      order_stoploss_24 = f0_31(gs_1012, a_ticket_0);
      if (order_stoploss_24 == EMPTY_VALUE) {
         if (OrderStopLoss() > 0.0) {
            order_stoploss_24 = OrderStopLoss();
            f0_0(gs_1012, order_stoploss_24, a_ticket_0, StopLossColor);
         } else {
            if (ForceSetSLTPIfMissing) {
               order_stoploss_24 = f0_39(f0_84(cmd_4), ld_16 - f0_7(StopLoss), ld_16 + f0_7(StopLoss));
               f0_0(gs_1012, order_stoploss_24, a_ticket_0, StopLossColor);
            }
         }
         f0_35(a_ticket_0);
      } else {
         if ((cmd_4 == OP_BUY && Bid <= order_stoploss_24) || (cmd_4 == OP_SELL && Ask >= order_stoploss_24)) {
            f0_138(StringConcatenate("Ticket ", a_ticket_0, ": Price reach the StopLoss line! Closing order! SL line: ", order_stoploss_24, ", Price: ", f0_39(cmd_4 == OP_BUY,
               Bid, Ask)));
            f0_17(a_ticket_0);
         } else {
            ls_32 = "[SL] ";
            ls_40 = f0_151(gs_1012, a_ticket_0);
            if (TrailingStop > 0.0) {
               ls_32 = "[TSL=" + f0_108(TrailingStop) + "] ";
               li_48 = f0_64(a_ticket_0, TrailingStop, 0);
               if (li_48) order_stoploss_24 = f0_31(gs_1012, a_ticket_0);
            }
            if (!StealthMode && order_stoploss_24 != f0_100(OrderStopLoss())) f0_165(a_ticket_0, 0, 0, order_stoploss_24);
            if (ShowControlLineLabels) {
               ld_52 = f0_139(f0_39(f0_84(cmd_4), order_stoploss_24 - ld_16, ld_16 - order_stoploss_24));
               ld_60 = f0_153(ld_52, ld_8);
               ls_68 = f0_136(ld_60, 2);
               color_76 = StopLossColor;
               if (ld_60 > 0.0) color_76 = TakeProfitColor;
               f0_88(ls_40, order_stoploss_24, StringConcatenate(ls_32, OrderTicket(), ": ", f0_108(ld_52, 1), " pips (", ls_68, ")"), color_76);
            }
         }
      }
   }
}

// 89769B13ED4F492C312B67394076B751
void f0_91(int a_ticket_0) {
   int cmd_4;
   double ld_8;
   double ld_16;
   double order_takeprofit_24;
   string ls_nsd_32;
   double ld_40;
   double ld_48;
   string ls_56;
   string ls_64;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
      cmd_4 = OrderType();
      ld_8 = f0_58(a_ticket_0);
      ld_16 = f0_71(a_ticket_0);
      order_takeprofit_24 = f0_31(gs_1020, a_ticket_0);
      if (order_takeprofit_24 == EMPTY_VALUE) {
         if (OrderTakeProfit() > 0.0) {
            order_takeprofit_24 = OrderTakeProfit();
            f0_0(gs_1020, order_takeprofit_24, a_ticket_0, TakeProfitColor);
         } else {
            if (ForceSetSLTPIfMissing) {
               order_takeprofit_24 = f0_39(f0_84(cmd_4), ld_16 + f0_7(TakeProfit), ld_16 - f0_7(TakeProfit));
               f0_0(gs_1020, order_takeprofit_24, a_ticket_0, TakeProfitColor);
            }
         }
      } else {
         if ((cmd_4 == OP_BUY && Bid >= order_takeprofit_24) || (cmd_4 == OP_SELL && Ask <= order_takeprofit_24)) {
            f0_138(StringConcatenate("Ticket ", a_ticket_0, ": Price reach the TakeProfit line! Closing order! TP line: ", order_takeprofit_24, ", Price: ", f0_39(cmd_4 == OP_BUY,
               Bid, Ask)));
            f0_17(a_ticket_0);
         } else {
            if (!StealthMode && order_takeprofit_24 != f0_100(OrderTakeProfit())) f0_165(a_ticket_0, 0, 0, 0, order_takeprofit_24);
            if (ShowControlLineLabels) {
               ls_nsd_32 = "[TP] ";
               ld_40 = f0_139(MathAbs(ld_16 - order_takeprofit_24));
               ld_48 = f0_153(ld_40, ld_8);
               ls_56 = f0_136(ld_48, 2);
               ls_64 = f0_151(gs_1020, a_ticket_0);
               f0_88(ls_64, order_takeprofit_24, StringConcatenate("[TP] ", OrderTicket(), ": ", f0_108(ld_40, 1), " pips (", ls_56, ")"), TakeProfitColor);
            }
         }
      }
   }
}

// B83E55AB5F40B64638ACCC1C1CC0F66F
void f0_120(int ai_0, int ai_4, double ad_8) {
   double ld_16 = f0_39(f0_84(ai_4), ad_8 + f0_7(BreakEvenAt), ad_8 - f0_7(BreakEvenAt));
   f0_0(gs_1036, ld_16, ai_0, BreakEvenColor);
}

// 3BE9355AC3F791222AD6D439E4AFF99A
void f0_40(int a_ticket_0, int ai_4, double ad_8) {
   if (!OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES) || OrderSymbol() != Symbol() || ad_8 == 0.0) return;
   int cmd_16 = OrderType();
   double order_lots_20 = OrderLots();
   double order_open_price_28 = OrderOpenPrice();
   double ld_36 = f0_39(f0_84(cmd_16), order_open_price_28 + f0_7(ad_8), order_open_price_28 - f0_7(ad_8));
   f0_43(a_ticket_0, ai_4, ad_8, ld_36);
}

// 3F9D4D0323EF7F5AD257F632CD2A26CA
void f0_43(int a_ticket_0, int ai_4, double ad_8, double ad_16) {
   if (!OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES) || OrderSymbol() != Symbol()) return;
   int cmd_24 = OrderType();
   double stoplevel_28 = MarketInfo(Symbol(), MODE_STOPLEVEL);
   double ld_36 = Ask - Bid;
   if (cmd_24 > OP_SELL) {
      if (ad_8 != 0.0) f0_0(gs_1044 + f0_108(ai_4), ad_16, a_ticket_0, PartialCloseColor);
   } else {
      if (((cmd_24 == OP_BUY && ad_8 > 0.0) || (cmd_24 == OP_SELL && ad_8 < 0.0) && ad_16 > Bid + ld_36 + f0_7(1)) || ((cmd_24 == OP_SELL && ad_8 > 0.0) || (cmd_24 == OP_BUY &&
         ad_8 < 0.0) && ad_16 < Bid - ld_36 - f0_7(1))) f0_0(gs_1044 + f0_108(ai_4), ad_16, a_ticket_0, PartialCloseColor);
   }
}

// 2F1DB2AE07F19F39E12ED9F3C6736290
void f0_29(int a_ticket_0, int ai_4, double ad_8, double ad_16) {
   double ld_52;
   string ls_60;
   string name_68;
   if (!OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES) || OrderSymbol() != Symbol()) return;
   int cmd_24 = OrderType();
   double ld_28 = f0_58(a_ticket_0);
   double ld_36 = f0_71(a_ticket_0);
   double ld_44 = f0_31(gs_1044 + f0_108(ai_4), a_ticket_0);
   if (ld_44 != EMPTY_VALUE) {
      ld_52 = f0_139(MathAbs(ld_36 - ld_44));
      ls_60 = f0_136(f0_153(ld_52, ld_28), 2);
      name_68 = f0_151(gs_1044 + f0_108(ai_4), a_ticket_0);
      if (ShowControlLineLabels) f0_88(name_68, ld_44, StringConcatenate("[PC", ai_4, "] ", OrderTicket(), ": ", f0_108(ld_52, 1), " pips (", ad_16, "%)"), PartialCloseColor);
      if (((cmd_24 == OP_BUY && ad_8 > 0.0) || (cmd_24 == OP_SELL && ad_8 < 0.0) && ld_44 <= Close[0]) || ((cmd_24 == OP_SELL && ad_8 > 0.0) || (cmd_24 == OP_BUY && ad_8 < 0.0) &&
         ld_44 >= Close[0])) {
         f0_76(a_ticket_0, ad_16);
         ObjectDelete(name_68 + "_Text");
         ObjectDelete(name_68 + "_BgText");
         ObjectDelete(name_68);
      }
   }
}

// 453E13E7614D8CCF30123D2AD5C771DC
void f0_50(int a_ticket_0) {
   double ld_32;
   string ls_40;
   string name_48;
   if (!OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES) || OrderSymbol() != Symbol()) return;
   int cmd_4 = OrderType();
   double ld_8 = f0_58(a_ticket_0);
   double ld_16 = f0_71(a_ticket_0);
   double ld_24 = f0_31(gs_1036, a_ticket_0);
   if (ld_24 != EMPTY_VALUE) {
      ld_32 = f0_139(MathAbs(ld_16 - ld_24));
      ls_40 = f0_136(f0_153(ld_32, ld_8), 2);
      name_48 = f0_151(gs_1036, a_ticket_0);
      if (ShowControlLineLabels) f0_88(name_48, ld_24, StringConcatenate("[BE] ", OrderTicket(), ": ", f0_108(ld_32, 1), " pips (", ls_40, ")"), BreakEvenColor);
      if ((cmd_4 == OP_BUY && ld_24 <= Close[0]) || (cmd_4 == OP_SELL && ld_24 >= Close[0])) {
         f0_132(a_ticket_0);
         ObjectDelete(name_48 + "_Text");
         ObjectDelete(name_48 + "_BgText");
         ObjectDelete(name_48);
      }
   }
}

// ADA7C40C36B61F2F558BD473F21B8B5B
void f0_116() {
   string name_8;
   string name_16;
   string ls_24;
   int li_0 = ObjectsTotal();
   for (int li_4 = li_0 - 1; li_4 >= 0; li_4--) {
      name_8 = ObjectName(li_4);
      if (ObjectFind(name_8) == 0) {
         if (UseTrendLines && ObjectType(name_8) == 2) f0_74(name_8);
         if (UseChannels && ObjectType(name_8) == 5) f0_104(name_8);
         if (UsePendingLines && ObjectType(name_8) == 1) f0_26(name_8);
      }
   }
   if (UsePendingLines) {
      li_0 = OrdersTotal();
      for (li_4 = li_0 - 1; li_4 >= 0; li_4--) {
         if (OrderSelect(li_4, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
               if (OrderType() > OP_SELL) {
                  name_16 = f0_151(gs_pending_1116, OrderTicket());
                  ls_24 = name_16 + "_Text";
                  if (ObjectFind(name_16) == -1) {
                     f0_60(OrderTicket(), "Delete pending order because there is no line on chart!");
                     OrderDelete(OrderTicket());
                  }
               }
            }
         }
      }
   }
}

// 6CB6B16E41BC868A64E6E67B270514C9
void f0_74(string a_name_0) {
   string text_48;
   double str2dbl_56;
   double str2dbl_64;
   int str2int_72;
   int str2int_76;
   int li_84;
   double ld_88;
   double ld_96;
   string ls_8 = ObjectDescription(a_name_0);
   double ld_16 = f0_100(ObjectGet(a_name_0, OBJPROP_PRICE1));
   double ld_24 = f0_100(ObjectGet(a_name_0, OBJPROP_PRICE2));
   double ld_32 = f0_100(ObjectGet(a_name_0, OBJPROP_TIME1));
   double ld_40 = f0_100(ObjectGet(a_name_0, OBJPROP_TIME2));
   if (ls_8 != "" && StringFind(ls_8, "!") == 0) {
      text_48 = ls_8;
      f0_89(text_48, "|");
      str2dbl_56 = StrToDouble(f0_89(text_48, "|"));
      str2dbl_64 = StrToDouble(f0_89(text_48, "|"));
      str2int_72 = StrToInteger(f0_89(text_48, "|"));
      str2int_76 = StrToInteger(f0_89(text_48, "|"));
      if (f0_100(str2dbl_56) != ld_16 || f0_100(str2dbl_64) != ld_24 || f0_100(str2int_72) != ld_32 || f0_100(str2int_76) != ld_40) {
         ObjectSetText(a_name_0, text_48);
         ObjectSet(a_name_0, OBJPROP_COLOR, Red);
         ls_8 = ObjectDescription(a_name_0);
         f0_86(StringConcatenate("Reactivate trend line: ", a_name_0, " (", ls_8, ")"));
      }
   }
   int li_80 = -1;
   if (StringFind(ls_8, "!") != 0 && ObjectGet(a_name_0, OBJPROP_RAY) == 1.0 || (Time[0] >= ld_32 && Time[0] <= ld_40)) {
      li_84 = 0;
      if (OpenAfterCandleClose) li_84 = 1;
      ld_88 = ObjectGetValueByShift(a_name_0, li_84);
      if (StringFind(a_name_0, "Trendline", 0) == 0 || (TrueTLSupport && StringFind(a_name_0, "TrueTL", 0) == 0) && ld_88 > Open[li_84]) {
         if (Close[li_84] >= ld_88 && Open[li_84] < ld_88) {
            ld_96 = f0_27(ls_8, gd_748);
            li_80 = 0;
            if (OppositeTrendLineOrder || StringFind(ls_8, "sell", 0) == 0) li_80 = 1;
         }
      } else {
         if (StringFind(a_name_0, "Trendline", 0) == 0 || (TrueTLSupport && StringFind(a_name_0, "TrueTL", 0) == 0) && ld_88 < Open[li_84]) {
            if (Close[li_84] <= ld_88 && Open[li_84] > ld_88) {
               ld_96 = f0_27(ls_8, gd_748);
               li_80 = 1;
               if (OppositeTrendLineOrder || StringFind(ls_8, "buy", 0) == 0) li_80 = 0;
            }
         }
      }
      if (li_80 != -1) {
         f0_138(StringConcatenate("Open order for trend line! Name: ", a_name_0));
         if (f0_114(li_80, ld_96) > 0) {
            f0_172(gs_1124, TimeCurrent());
            if (DeleteTrendLinesAfterOpen) {
               f0_86("Delete trend line: " + a_name_0);
               ObjectDelete(a_name_0);
            } else {
               f0_86("Disable trend line: " + a_name_0);
               ObjectSetText(a_name_0, StringConcatenate("!Old", "|", ObjectGet(a_name_0, OBJPROP_PRICE1), "|", ObjectGet(a_name_0, OBJPROP_PRICE2), "|", ObjectGet(a_name_0, OBJPROP_TIME1),
                  "|", ObjectGet(a_name_0, OBJPROP_TIME2), "|", ls_8));
               ObjectSet(a_name_0, OBJPROP_COLOR, Gray);
            }
            if (TrendLinesOCOMode) f0_122();
         }
      }
   }
}

// 9C4D9879A9CC1EC0B794F0312287CE43
void f0_104(string a_name_0) {
   int li_68;
   double ld_72;
   double ld_80;
   double ld_88;
   string ls_8 = ObjectDescription(a_name_0);
   double ld_16 = f0_100(ObjectGet(a_name_0, OBJPROP_PRICE1));
   double ld_24 = f0_100(ObjectGet(a_name_0, OBJPROP_PRICE2));
   double ld_32 = f0_100(ObjectGet(a_name_0, OBJPROP_PRICE3));
   double ld_40 = f0_100(ObjectGet(a_name_0, OBJPROP_TIME1));
   double ld_48 = f0_100(ObjectGet(a_name_0, OBJPROP_TIME2));
   double ld_56 = f0_100(ObjectGet(a_name_0, OBJPROP_TIME3));
   int li_64 = -1;
   if (StringFind(ls_8, "!") != 0 && ObjectGet(a_name_0, OBJPROP_RAY) == 1.0 || (Time[0] >= ld_40 && Time[0] <= ld_48)) {
      li_68 = 0;
      if (OpenAfterCandleClose) li_68 = 1;
      if (ld_32 > ld_16) {
         ld_72 = ObjectGetValueByShift(a_name_0, li_68);
         ld_80 = ld_72 + (ld_32 - ld_16);
      } else {
         ld_80 = ObjectGetValueByShift(a_name_0, li_68);
         ld_72 = ld_80 - (ld_16 - ld_32);
      }
      if (Close[li_68] >= ld_80 && Open[li_68] < ld_80) {
         ld_88 = gd_748;
         li_64 = 0;
         if (OppositeTrendLineOrder) li_64 = 1;
      } else {
         if (Close[li_68] <= ld_72 && Open[li_68] > ld_72) {
            ld_88 = gd_748;
            li_64 = 1;
            if (OppositeTrendLineOrder) li_64 = 0;
         }
      }
      if (li_64 != -1) {
         f0_138(StringConcatenate("Open order for channel! Name: ", a_name_0));
         if (f0_114(li_64, ld_88) > 0) {
            f0_86("Delete channel: " + a_name_0);
            ObjectDelete(a_name_0);
         }
      }
   }
}

// 2C5A855C6F830E8B269D08DDD9D53A1A
void f0_26(string a_name_0) {
   double ld_28;
   int ticket_36;
   string name_40;
   bool li_48;
   double ld_52;
   double ld_60;
   double ld_68;
   double ld_76;
   double ld_84;
   string ls_8 = f0_13(ObjectDescription(a_name_0));
   double price_16 = f0_100(ObjectGet(a_name_0, OBJPROP_PRICE1));
   int li_24 = -1;
   if (StringFind(a_name_0, "Horizontal Line", 0) == 0) {
      if (StringFind(ls_8, "buy") == 0) {
         if (price_16 > Close[0]) li_24 = 4;
         else li_24 = 2;
      } else {
         if (StringFind(ls_8, "sell") == 0) {
            if (price_16 > Close[0]) li_24 = 3;
            else li_24 = 5;
         }
      }
      if (li_24 != -1) {
         f0_138(StringConcatenate("Open pending (", f0_169(li_24), ") position by line: ", a_name_0));
         ld_28 = f0_27(ls_8, gd_748);
         if (f0_42(li_24, ld_28, 0, 0, MagicNumber, 0, price_16)) {
            ticket_36 = g_ticket_968;
            f0_125(ticket_36);
            name_40 = f0_151(gs_pending_1116, ticket_36);
            if (ObjectFind(name_40) == -1) {
               ObjectCreate(name_40, OBJ_HLINE, 0, 0, price_16);
               ObjectSet(name_40, OBJPROP_COLOR, PendingLineColor);
               ObjectSet(name_40, OBJPROP_STYLE, STYLE_DASHDOT);
            }
            if (ShowControlLineLabels) f0_88(name_40, price_16, StringConcatenate("[", f0_169(li_24), "] ", OrderTicket(), ": ", f0_108(ld_28, 2), " lots"), PendingLineColor);
            ObjectDelete(a_name_0);
         }
      }
   } else {
      if (StringFind(a_name_0, gs_996, 0) == 0 && StringFind(a_name_0, gs_pending_1116, 0) > 0) {
         li_48 = FALSE;
         price_16 = ObjectGet(a_name_0, OBJPROP_PRICE1);
         ticket_36 = f0_70(a_name_0);
         if (OrderSelect(ticket_36, SELECT_BY_TICKET)) {
            if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
               li_48 = TRUE;
               if (PendingOCOMode) {
                  f0_138(StringConcatenate("Delete all pending orders. Cause: PendingOCOMode is true and ticket ", ticket_36, " is opened. "));
                  f0_80();
               }
            } else {
               if (f0_100(OrderOpenPrice()) != f0_100(price_16)) {
                  ld_52 = 0;
                  ld_60 = 0;
                  ld_68 = OrderOpenPrice() - price_16;
                  ld_76 = f0_31(gs_1012, ticket_36);
                  if (ld_76 != EMPTY_VALUE) ld_52 = ld_76 - ld_68;
                  ld_84 = f0_31(gs_1020, ticket_36);
                  if (ld_84 != EMPTY_VALUE) ld_60 = ld_84 - ld_68;
                  if (f0_118(ticket_36, price_16, f0_39(StealthMode, 0, ld_52), f0_39(StealthMode, 0, ld_60))) {
                     if (OrderSelect(ticket_36, SELECT_BY_TICKET)) {
                        if (ld_52 > 0.0) f0_0(gs_1012, ld_52, ticket_36);
                        if (ld_60 > 0.0) f0_0(gs_1020, ld_60, ticket_36);
                        for (int li_92 = 1; li_92 <= 3; li_92++)
                           if (f0_31(gs_1044 + f0_108(li_92), ticket_36) != EMPTY_VALUE) f0_0(gs_1044 + f0_108(li_92), f0_31(gs_1044 + f0_108(li_92), ticket_36) - ld_68, ticket_36, PartialCloseColor);
                        if (f0_31(gs_1036, ticket_36) != EMPTY_VALUE) f0_0(gs_1036, f0_31(gs_1036, ticket_36) - ld_68, ticket_36, BreakEvenColor);
                     }
                  }
               }
               if (ShowControlLineLabels) {
                  name_40 = f0_151(gs_pending_1116, ticket_36);
                  f0_88(name_40, price_16, StringConcatenate("[", f0_169(OrderType()), "] ", OrderTicket(), ": ", f0_108(OrderLots(), 2), " lots"), PendingLineColor);
               }
            }
         } else li_48 = TRUE;
         if (li_48) {
            ObjectDelete(a_name_0);
            name_40 = f0_151(gs_pending_1116, ticket_36);
            ObjectDelete(name_40 + "_BgText");
            ObjectDelete(name_40 + "_Text");
         }
      }
   }
}

// B8657638CFA5247FE57D2D00F2E198B8
void f0_122() {
   string name_8;
   int objs_total_0 = ObjectsTotal();
   for (int li_4 = objs_total_0 - 1; li_4 >= 0; li_4--) {
      name_8 = ObjectName(li_4);
      if (ObjectType(name_8) != 2 || ObjectFind(name_8) != 0) continue;
      ObjectDelete(name_8);
   }
}

// 7B26EB163EEA6BBA01A1869096B0C7F1
void f0_80() {
   int order_total_0 = OrdersTotal();
   for (int pos_4 = order_total_0 - 1; pos_4 >= 0; pos_4--) {
      if (OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
            if (OrderType() > OP_SELL) OrderDelete(OrderTicket());
      }
   }
}

// A2EAB982495DA51539FEDFD4F431755F
void f0_109(int a_ticket_0) {
   if (!OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES) || OrderSymbol() != Symbol()) return;
   int cmd_4 = OrderType();
   double ld_8 = f0_96(a_ticket_0);
   if (f0_25(a_ticket_0) > 1) f0_0(gs_1100, ld_8, a_ticket_0, LightSkyBlue, STYLE_DOT);
}

// 91F4903D720AB7A282618D4DEAA0D2D1
double f0_96(int ai_0) {
   double ld_4;
   int li_24;
   double ld_12 = 0;
   for (int pos_20 = OrdersTotal() - 1; pos_20 >= 0; pos_20--) {
      if (OrderSelect(pos_20, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
            if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
               li_24 = f0_56(gs_1084, OrderTicket());
               if (li_24 == ai_0 || OrderTicket() == ai_0) {
                  ld_4 += OrderOpenPrice() * OrderLots();
                  ld_12 += OrderLots();
               }
            }
         }
      }
   }
   if (ld_12 > 0.0) return (f0_100(ld_4 / ld_12));
   return (EMPTY_VALUE);
}

// 2C6D6D7A6D0F1902FDEAEAB1C37DD7FB
double f0_27(string as_0, double a_str2dbl_8) {
   double str2dbl_16 = a_str2dbl_8;
   string ls_24 = as_0;
   string ls_32 = f0_89(ls_24, "=");
   if (StringLen(ls_24) > 0) str2dbl_16 = StrToDouble(ls_24);
   return (f0_95(str2dbl_16));
}

// 68CECFBE4049D002E8B8CE95B3832A6E
int f0_70(string as_0) {
   int str2int_8 = -1;
   string ls_12 = StringSubstr(as_0, StringLen(gs_996));
   string ls_20 = StringSubstr(ls_12, 0, StringFind(ls_12, "_", 0));
   str2int_8 = StrToInteger(ls_20);
   return (str2int_8);
}

// 7CE58342490F2719632C99A1A5E38D1B
void f0_81(string a_name_0, int a_x_8, int a_y_12, string a_text_16, int a_fontsize_24, string a_fontname_28, color a_clr_36) {
   if (ObjectFind(a_name_0) < 0) ObjectCreate(a_name_0, OBJ_LABEL, 0, 0, 0);
   ObjectSet(a_name_0, OBJPROP_CORNER, g_corner_1180);
   ObjectSet(a_name_0, OBJPROP_BACK, FALSE);
   ObjectSet(a_name_0, OBJPROP_XDISTANCE, a_x_8);
   ObjectSet(a_name_0, OBJPROP_YDISTANCE, a_y_12);
   ObjectSetText(a_name_0, a_text_16, a_fontsize_24, a_fontname_28, a_clr_36);
}

// 6BF191DB9F328C0F42640F1F596A2384
void f0_73() {
   string name_4;
   string ls_12;
   string ls_20;
   int str2int_28;
   for (int li_0 = ObjectsTotal() - 1; li_0 >= 0; li_0--) {
      name_4 = ObjectName(li_0);
      if (ObjectFind(name_4) == 0) {
         if (StringFind(name_4, gs_996, 0) == 0) {
            ls_12 = StringSubstr(name_4, StringLen(gs_996));
            ls_20 = StringSubstr(ls_12, 0, StringFind(ls_12, "_", 0));
            str2int_28 = StrToInteger(ls_20);
            if (str2int_28 > 0 && !OrderSelect(str2int_28, SELECT_BY_TICKET, MODE_TRADES) || OrderCloseTime() != 0) ObjectDelete(name_4);
         }
      }
   }
}

// 1135155E048F3DF4275620DA6DD845E6
string f0_10(int ai_0) {
   string lsa_4[6] = {"year", "month", "day", "h", "m", "s"};
   int lia_8[6] = {31536000, 2678400, 86400, 3600, 60, 1};
   if (ai_0 < 0) return ("-");
   string ls_ret_12 = "";
   int count_20 = 0;
   int li_24 = ai_0;
   int li_28 = 0;
   for (int index_32 = 0; index_32 < 6; index_32++) {
      li_28 = MathFloor(li_24 / lia_8[index_32]);
      if (li_28 > 0) {
         if (count_20 > 0) ls_ret_12 = ls_ret_12 + " ";
         ls_ret_12 = StringConcatenate(ls_ret_12, li_28, lsa_4[index_32]);
         count_20++;
         if (count_20 > 1) break;
         li_24 = MathMod(li_24, lia_8[index_32]);
      }
   }
   return (ls_ret_12);
}

// 61BCD96A2C1F8026527CBF2019D6E9A4
int f0_66() {
   string ls_24;
   bool li_ret_0 = FALSE;
   f0_119("");
   //f0_119("Starting " + StringConcatenate("TraderAgent", " ", "v2.3.3", " Build ", "159", " ", f0_123(), "..."));
  // f0_119("Checking DLL calls............");
   //if (!IsDllsAllowed()) {
    //  f0_119("ERROR", 1);
    //  f0_119("Set Parameter **AllowDLL Imports** ON in menu Tools -> Options -> ExpertAdvisors.");
   //   return (1);
   //}
   //f0_119("OK", 1);
   f0_119("Verificando Expert Habilitado............");
   if (!IsExpertEnabled()) {
      f0_119("ERROR", 1);
      f0_119("Habilite o Expert Advisors.");
      return (1);
   }
   f0_119("OK", 1);
   string ls_4 = "1.0";//IceLock_GetVersion();
   //f0_119("DLL version: " + ls_4);
   //f0_138("Product version: " + "v2.3.3" + " Build " + "159");
   //f0_138("IceLock DLL version: " + ls_4);
   //f0_119("Checking passkey............");
   int str2int_12 = 0;
   string ls_16 = "";
   gi_804 = WindowHandle(Symbol(), Period());
   ls_16 = "1 | Pro mode!";//IceLock_CheckLicense(gi_804, PassKey, TerminalPath(), WindowExpertName(), "30b491b240062cd4e41874504960a075", "v2.3.3", 0);
   str2int_12 = StrToInteger(f0_89(ls_16, " | "));
   if (str2int_12 <= 0) {
      ls_24 = "unknown";//IceLock_GetComputerID();
      f0_119("ERROR", 1);
      f0_119("License error! " + ls_16);
      f0_20("License error! " + ls_16);
      f0_119("Computer ID: " + ls_24);
      f0_20("Computer ID: " + ls_24);
     // Alert("TraderAgent", " ", "v2.3.3", " - License check error (", str2int_12, ")! ", ls_16);
      return (str2int_12);
   }
   if (str2int_12 == 1) f0_119("OK", 1);
   else {
      if (str2int_12 == 2) {
         f0_119("OK", 1);
         f0_119("Trial mode!");
         gi_1596 = TRUE;
      }
   }
   //f0_78("Your computer ID: unknown"/* + IceLock_GetComputerID()*/);
   //f0_78("License check result (" + f0_108(str2int_12) + "): " + ls_16);
   f0_119("Aguarde o primeiro tick............");
   gi_1600 = TRUE;
   li_ret_0 = TRUE;
   return (li_ret_0);
}

// 5DDE2CC43817CF3BC77DE1C0C7978C13
void f0_63() {
   g_count_1592 = 0;
   f0_30();
}

// B70A9113C5772E6DFB45E474B46C9979
void f0_119(string as_0, bool ai_8 = FALSE, int ai_12 = -1) {
   if (ai_12 == -1) {
      if (!ai_8) {
         ai_12 = g_count_1592;
         g_count_1592++;
      } else ai_12 = g_count_1592 - 1;
   }
   if (ai_8) gsa_1588[ai_12] = gsa_1588[ai_12] + as_0;
   else gsa_1588[ai_12] = as_0;
   f0_30();
}

// 2F7095AADF8745BE0F469991AD836EF1
void f0_30() {
   string ls_0 = "";
   for (int index_8 = 0; index_8 < g_count_1592; index_8++) {
      if (index_8 > 0) {
         ls_0 = ls_0 
         + "\n";
      }
      ls_0 = ls_0 + gsa_1588[index_8];
   }
   Comment(ls_0);
}

// 0E40DB3B593F30DA392370025B26753A
void f0_8() {
   Print("Self-destruct initiated!");
   int li_0 = WindowHandle(Symbol(), 0);
  // PostMessageA(li_0, WM_COMMAND, 33050, 0);
}

// 43FCCB9D3B9E6FC994AC54D13FB61D2F
void f0_47() {
   g_bool_844 = (!IsOptimization()) && 1;
   g_bool_852 = !IsTesting();
   gi_848 = TRUE;
   gs_824 = "127.0.0.1";
   g_bool_856 = IsTesting() || f0_22(gs_udplog_1132, -1, 0, 1) == 1.0;
   f0_2();
   f0_147();
}

// E37F0136AA3FFAF149B351F6A4C948E9
int init2() {
   f0_38("DrW_");
   f0_161();
   f0_48();
   f0_47();
   gi_952 = OrderSlippage;
   g_comment_956 = CommentForOrder;
   g_bool_964 = ShowSentinelAlerts;
   f0_86(StringConcatenate("Pip multiplier: ", gd_876, ", Digits: ", Digits));
   gi_768 = GetTickCount() - 1000;
   OrderSelect(OrdersHistoryTotal() - 1, SELECT_BY_POS, MODE_HISTORY);
   gi_932 = OrderTicket();
   if (IsTesting()) gi_732 = TRUE;
   HideTestIndicators(TRUE);
   gi_808 = TRUE;
   int li_0 = f0_66();
   if (li_0 <= 0) {
      f0_119(StringConcatenate("TraderAgent", " stopped!"));
      if (li_0 > -1000) return (1);
   }
   gi_808 = FALSE;
   if (f0_94()) f0_6();
   if (!gi_732) f0_113();
   return (0);
}

// 52D46093050F38C27267BCE42543EF60
int deinit2() {
   f0_38("DrW_");
   if ((!gi_808) && !gi_732) f0_23();
   if (!gi_808) f0_163();
   return (0);
}

// F21A94BE6FBDF8D56C501172DCEDA4CC
void f0_163() {
   ArrayInitialize(gia_1188, 0);
   gi_nsd_744 = 0;
   ArrayInitialize(gia_1200, 0);
   gi_1324 = FALSE;
   gi_1296 = 0;
   g_dttm_1328 = 0;
   f0_19();
   f0_33();
}

// A9AC747ECC57E99EEF4277C89F17F1C7
void f0_113() {
   gi_804 = WindowHandle(Symbol(), Period());
   //IceLock_StartTicker(gi_804, TickTime);
}

// 29984943467A7EC2DB2B1FC0BE6394DE
void f0_23() {
   //IceLock_StopTicker(gi_804);
}

// EA2B2676C28C0DB26D39331A336C6B92
int start2() {
   if (gi_808) {
      f0_8();
      return (0);
   }
   g_bool_776 = g_bid_780 != Bid || g_ask_788 != Ask;
   g_bid_780 = Bid;
   g_ask_788 = Ask;
   if (gi_1600) {
      f0_63();
      gi_1600 = FALSE;
   }
   f0_49();
   return (0);
}

// 451B93CD5361E5070EDA031D26C5855B
void f0_49() {
   double ld_0;
   gi_760++;
   gi_756 = GetTickCount();
   f0_130();
   f0_34();
   if (g_bool_776) f0_142(0);
   if (IsTesting() && BackTestTime > 0)
      if (TimeCurrent() - g_dttm_772 < BackTestTime) return;
   g_dttm_772 = TimeCurrent();
   if (GetTickCount() - gi_768 > gi_816 || IsTesting()) {
      g_bool_812 = GlobalVariableCheck("TADebug") && GlobalVariableGet("TADebug") == 1.0;
      if (GlobalVariableCheck("TASlowTime")) gi_816 = MathMax(GlobalVariableGet("TASlowTime"), 500);
      if (gi_796) f0_94();
      f0_77();
      ld_0 = gd_748;
      gd_748 = f0_53(Symbol(), RiskPercent, LOT, StopLoss);
      if (gd_748 != ld_0) {
         f0_18(0, StringConcatenate("Buy ", f0_108(gd_748, 2)));
         f0_18(1, StringConcatenate("Sell ", f0_108(gd_748, 2)));
      }
      if (g_bool_776) f0_142(1);
      if (UseTrendLines || UsePendingLines || UseChannels) f0_116();
      if ((gi_796 && g_bool_776) || TimeCurrent() - g_dttm_800 > 30) {
         if (ShowPivotPoints) f0_3();
         f0_61();
         f0_115();
         g_dttm_800 = TimeCurrent();
      }
      f0_83();
      if (gi_1340) f0_126();
      f0_110();
      if (ShowNextCandleTime) f0_154();
      if (ShowControlPanel) f0_144();
      gi_768 = GetTickCount();
      gi_764++;
      if (g_bool_812) Comment("Full tick count: ", gi_764, ", Last Full Work time: ", GetTickCount() - gi_756, " ms  - Real tick:", g_bool_776, ", HasFocus: ", gi_796);
   }
   gi_756 = GetTickCount() - gi_756;
}

// BCAE19BFF0BBF16DE57434082605B5CF
string f0_123() {
   if (gi_1596) return ("Trial");
   switch (2) {
   case 1:
      return ("");
   case 2:
      return ("Pro");
   case 3:
      return ("Ultra");
   }
   return ("");
}

// F787E1ED503D2D47A476A44E6CA26384
string f0_169(int ai_0) {
   switch (ai_0) {
   case 0:
      return ("Buy");
   case 1:
      return ("Sell");
   case 2:
      return ("Buylimit");
   case 3:
      return ("Selllimit");
   case 4:
      return ("Buystop");
   case 5:
      return ("Sellstop");
   }
   return ("Unknow");
}

// 435B996F3BB934BC9504AD03D905BC90
int f0_46(int a_ticket_0 = -1) {
   double ld_4;
   int li_12;
   int li_16;
   if (a_ticket_0 == -1) a_ticket_0 = f0_57(-1, MagicNumber);
   if (a_ticket_0 != -1) {
      f0_138("Open hedge position for #" + a_ticket_0);
      if (OrderTicket() != a_ticket_0) OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES);
      ld_4 = f0_58(a_ticket_0);
      li_12 = 1 - OrderType();
      li_16 = f0_114(li_12, ld_4);
      return (li_16);
   }
   return (-1);
}

// 89FF7E2FBE79EDBFF74ECA22412DA098
void f0_92(int a_ticket_0) {
   double order_lots_4;
   double cmd_12;
   double ticket_20;
   double ld_28;
   double order_lots_36;
   double ld_44;
   int li_52;
   double ld_56;
   double ld_64;
   int ticket_72;
   double ld_76;
   double ld_84;
   double ld_92;
   double ld_104;
   double ld_112;
   if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES) && GridStep > 0.0 && GridLotMultiplier > 0.0 && OrderCloseTime() == 0) {
      order_lots_4 = OrderLots();
      cmd_12 = OrderType();
      ticket_20 = f0_137(a_ticket_0);
      if (OrderSelect(ticket_20, SELECT_BY_TICKET, MODE_TRADES)) {
         ld_28 = f0_100(OrderOpenPrice());
         order_lots_36 = OrderLots();
         ld_44 = f0_56(gs_1092, ticket_20);
         li_52 = ld_44 + 1.0;
         if ((cmd_12 == 0.0 && f0_100(Ask) < f0_100(ld_28 - f0_7(GridStep))) || (cmd_12 == 1.0 && f0_100(Bid) > f0_100(ld_28 + f0_7(GridStep))) && li_52 < GridMaxOrderCount ||
            GridMaxOrderCount == 0) {
            ld_56 = f0_149(order_lots_4, li_52);
            if (ld_56 > 0.0) {
               f0_138(StringConcatenate("Open new grid order! Parent ticket: ", a_ticket_0, ", LOT: ", ld_56, ", Level: ", li_52, ", Price: ", Bid, ", Distance: ", MathAbs(Ask - ld_28)));
               ld_64 = f0_71(a_ticket_0);
               if (f0_42(cmd_12, ld_56, 0, 0, MagicNumber)) {
                  ticket_72 = g_ticket_968;
                  f0_172(gs_1084, a_ticket_0, ticket_72);
                  f0_172(gs_1092, li_52, ticket_72);
                  if (GridReCalculateSLTP) {
                     ld_76 = f0_96(a_ticket_0);
                     ld_84 = ld_76 - ld_64;
                     f0_138(StringConcatenate("Recalculate SL/TP/BE values! Old avg. price: ", ld_64, ", new avg. price: ", ld_76, ", Difference: ", ld_84));
                     if (ld_84 != 0.0) {
                        ld_92 = f0_31(gs_1012, a_ticket_0);
                        if (ld_92 > 0.0 && ld_92 != EMPTY_VALUE) f0_0(gs_1012, ld_92 + ld_84, a_ticket_0);
                        ld_92 = f0_31(gs_1020, a_ticket_0);
                        if (ld_92 > 0.0 && ld_92 != EMPTY_VALUE) f0_0(gs_1020, ld_92 + ld_84, a_ticket_0);
                        ld_92 = f0_31(gs_1036, a_ticket_0);
                        if (ld_92 != EMPTY_VALUE) f0_0(gs_1036, ld_92 + ld_84, a_ticket_0, BreakEvenColor);
                        for (int li_100 = 1; li_100 <= 3; li_100++) {
                           ld_92 = f0_31(gs_1044 + f0_108(li_100), a_ticket_0);
                           if (ld_92 != EMPTY_VALUE) f0_0(gs_1044 + f0_108(li_100), ld_92 + ld_84, a_ticket_0, PartialCloseColor);
                        }
                     }
                  }
               }
            } else f0_138(StringConcatenate("Invalid new grid order lot: ", ld_56));
         }
         if (!StealthMode) {
            if (OrderSelect(a_ticket_0, SELECT_BY_TICKET, MODE_TRADES)) {
               ld_104 = f0_100(OrderStopLoss());
               ld_112 = f0_100(OrderTakeProfit());
               for (int pos_120 = OrdersTotal() - 1; pos_120 >= 0; pos_120--) {
                  if (OrderSelect(pos_120, SELECT_BY_POS, MODE_TRADES)) {
                     if (OrderSymbol() == Symbol()) {
                        if (OrderMagicNumber() == MagicNumber) {
                           if (f0_56(gs_1084, OrderTicket()) == a_ticket_0)
                              if (f0_100(OrderStopLoss()) != ld_104 || f0_100(OrderTakeProfit()) != ld_112) f0_165(OrderTicket(), 0, 0, ld_104, ld_112);
                        }
                     }
                  }
               }
            }
         }
      }
   }
}



bool TimeFilter(){

 bool _res = false;
   datetime _time_curent = TimeCurrent();
   datetime _time_start = StrToTime(DoubleToStr(Year(),0)+"."+DoubleToStr(Month(),0)+"."+DoubleToStr(Day(),0)+" "+StartHour);
   datetime _time_stop = StrToTime(DoubleToStr(Year(),0)+"."+DoubleToStr(Month(),0)+"."+DoubleToStr(Day(),0)+" "+EndHour);
   if(((Trade_in_Monday==true) && (TimeDayOfWeek(Time[0]) == 1)) ||
   ((Trade_in_Tuesday==true) && (TimeDayOfWeek(Time[0]) == 2)) ||
   ((Trade_in_Wednesday==true) && (TimeDayOfWeek(Time[0]) == 3)) ||
   ((Trade_in_Thursday==true) && (TimeDayOfWeek(Time[0]) == 4)) ||
   ((Trade_in_Friday==true) && (TimeDayOfWeek(Time[0]) == 5)))
   
   
   if(_time_start > _time_stop){
      if(_time_curent >= _time_start || _time_curent <= _time_stop) _res = true;
   }else   
      if(_time_curent >= _time_start && _time_curent <= _time_stop) _res = true;
      
      return(_res); 
  
 }