Navigation:Home > Content >

WorkGrid_09_12.mq4

Time: 2011-05-19 | Download file:WorkGrid_09_12.mq4

#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

string gs_76 = "_09_12";
extern int AccNumber_ = 60223243;
extern string symbol_Pair_ = "GBPUSD";
extern int Leverage_ = 500;
extern double MinLot_ = 0.1;
extern int WorkGridMode_ = 1;
extern int MagicNumber_ = 55;
extern int Trend_ = 0;
extern int kPipsMax_ = 100;
extern int StepGridMin_ = 10;
extern int StepGridMax_ = 100;
extern double WorkPriceBuyMax_ = 500.0;
extern double WorkPriceBuyMin_ = 0.2;
extern double WorkPriceSellMax_ = 500.0;
extern double WorkPriceSellMin_ = 0.2;
extern double WorkBalance_ = 10000.0;
extern double StartBalance_ = 10000.0;
extern datetime DatePayN_ = D'01.10.2012 02:00';
extern datetime DatePayK_ = D'01.10.2014 02:00';
extern double ClosePriceMax_ = 0.0;
extern double ClosePriceMin_ = 0.0;
extern int ClosePriceMode_ = 0;
extern double CloseEquityMax_ = 1000000.0;
extern double CloseEquityMin_ = 1.0;
extern double QuotePriceExt_ = 1.66;
extern int CloseAntiTrend_ = 0;
extern int LockMode_ = 0;
extern double LockOpenPriceBuy_ = 0.9;
extern double LockOpenPriceSell_ = 0.85;
extern double LockPriceStopOutBuy_ = 0.98;
extern double LockPriceStopOutSell_ = 0.82;
extern string InvestPassword_ = " ";
extern int ViewComment_ = 0;
string gsa_284[29];
string g_str_concat_300;
string gs_308;
string g_symbol_316;
string g_symbol_324;
string g_symbol_332;
string gs_340;
string gs_348;
string gs_356;
string g_str_concat_364;
string gs_372;
string g_str_concat_380;
string gs_388;
string g_str_concat_396;
string g_str_concat_404;
string g_str_concat_412;
string g_str_concat_420;
string g_str_concat_428;
string g_str_concat_436;
string gs_dummy_444;
string gs_dummy_452;
int gi_460;
int gi_464;
int gi_468;
int gi_472;
int gi_476;
int gi_480;
int g_acc_number_484;
int gi_488;
int gi_492;
int gi_496;
int gi_500;
int gi_504;
int gi_508;
int g_error_512;
int gi_516;
double gd_520;
double gd_528;
double gd_536;
double gd_544;
double gd_552;
double gd_560;
double gd_568;
double gd_576;
double gd_584;
double gd_592;
double gd_600;
double gd_608;
double gd_616;
double g_price_624;
double g_price_632;
double gd_640;
double gd_648;
int g_datetime_656;
int g_datetime_660;
int gi_664;
double gd_668;
double gd_676;
int gi_684;
int gi_688;
int gi_692;
int gi_696;
int gi_700;
int gi_704;
int gi_708;
double gd_712;
double gd_720;
double gd_728;
double gd_736;
double gd_744;
double g_minlot_752;
double gd_760;
double gd_768;
double gd_776;
double gd_784;
double gd_792;
double gd_800;
double gd_808;
double gd_816;
double gd_824;
double gd_832;
double gd_840;
double gd_848;
double gd_856;
double gd_864;
double gd_872;
double gd_880;
double gd_888;
double gd_904;
string g_str_concat_912;
string g_name_920;
string g_name_928;
string g_name_936;
string g_name_944;
string g_name_952;
string g_name_960;
string g_name_968;
string g_name_976;
string g_name_984;
string g_name_992;
string gs_1000;
string gs_1008;
string gs_1016;
double gd_1024;
double gd_1032;
string gs_1040;
int gi_1048;
int gi_1052;
int gi_1056;
bool gi_1064;
bool gi_1068;
bool gi_1072;
bool gi_1076;
int gi_1080;
int gi_1084;
int gi_1088;
int gi_1092;
int g_count_1096;
int gi_1100;
int gi_1104;
int gi_1108;
int g_index_1112;
int gi_1116;
int gi_1120;
int g_count_1124;
double gd_1128;
double gd_1136;
double gd_1144;
double gd_1152;
double gd_1160;
double gd_1168;
double gd_1176;
double gd_1184;
double gd_1192;
double gd_1200;
double gd_1208;
double gd_1216;
double gd_1224;
double gd_1232;
double gd_1240;
double gd_1248;
double gd_1256;
double gd_1264;
double gd_1280;
double gd_1288;
double gd_1296;
double gd_1312;
double gd_1320;
double gd_1328;
double gd_1336;
double gd_1344;
double gd_1352;
double gd_1360;
double gd_1368;
double gd_1376;
double gd_1384;
double gd_1392;
int gi_1404;
int gi_1408;
int g_count_1412;
int g_count_1416;
int gi_1420;
int g_datetime_1424;
int gi_1432;
int gi_1436;
int gi_1444;
int gi_1448;
int gi_unused_1452;
int gi_1460;
int gi_1464;
string gs_1468;
string g_comment_1476;
int g_datetime_1484;
datetime gt_1488;
datetime gt_1492;
int g_datetime_1496;
int g_datetime_1500;
int gi_1504;
int gi_1508;
int g_ticket_1512;
int gi_1516;
int gi_1520;
int g_cmd_1524;
int gi_1528;
int gi_1532;
int g_magic_1536;
bool gi_1540;
int gi_1544;
int gi_1548;
int g_str_len_1552;
int g_str_len_1556;
int gi_1560;
int gi_1564;
double g_order_open_price_1568;
double gd_1576;
double g_order_takeprofit_1584;
double g_order_stoploss_1592;
double gd_1600;
double gd_1608;
double g_order_lots_1624;
double g_order_profit_1632;
double gd_1656;
double gd_1680;
double gd_1704;
double gd_1728;
double gd_1736;
double gd_1744;
double gd_1752;
double gd_1768;
double gd_1776;
double gd_1784;
double gd_1792;
double gd_1800;
double gd_1808;
double gd_1816;
double gd_1824;
double gd_1832;
double gd_1840;
double gd_1848;
double gd_1856;
double gd_1992;
double gd_2000;
double gd_2008;
double gd_2016;
double gd_2024;
double gd_2032;
double gd_2040;
double gd_2048;
double gd_2056;
double gd_2064;
double gd_2072;
double gd_2080;
double gd_2088;
double gd_2096;
double gd_2104;
double gd_2112;
double gd_2120;
double gd_2128;
double gd_2136;
double gd_2144;
double gd_2152;
double gd_2160;
int g_hist_total_2168;
int g_hist_total_2172;
int gi_2176;
int gi_2180;
int gi_2184;
int gi_2188;
int gi_2192;
int gi_2196;
int gi_2200;
int gi_2204;
int gi_2208;
int gi_2212;
int gi_2216;
int gi_2220;
int gi_2224;
int gi_2228;
int gi_2232;
double gd_2236;
double gd_2244;
double gd_2252;
double gd_2260;
double gd_2268;
double gd_2276;
double gd_2284;
double gd_2292;
double gd_2300;
double gd_2308;
double gd_2316;
double gd_2324;
double gd_2332;
double gd_2340;
double gd_2348;
double gd_2356;
double gd_2364;
double gd_2372;
double gd_2380;
int gi_2388;
int gia_2392[2001];
int gia_2396[30000];
int g_index_2400;
double gda_2404[2001];
double gda_2408[2001];
double gda_2412[2001];
double gda_2416[2001];
double gda_2420[2001];
double gd_2424;
double gd_2432;
double gd_2440;
double gd_2448;
double gd_2456;
double gd_2464;
int g_ticket_2472;
double g_price_2476;
double gd_2484;
double gd_2492;
string g_dbl2str_2516;
string g_str_concat_2524;
string g_dbl2str_2532;
string g_dbl2str_2540;
int g_str_len_2548;
int g_str_len_2552;
int g_str_len_2556;
int g_str_len_2560;
int g_file_2564;
int g_file_2568;
int gi_2572;
int gi_unused_2576;
int g_pos_2580;
bool gi_2584;
int gi_2588;
int gi_2592;
int gi_2596;
int gi_2600;
int gi_2604;
int gi_unused_2608;
int gi_2612;
int gi_2620;
int gi_2624;
int gi_2628;
int gi_2632;
int gi_2636;
int gi_2640;
int g_count_2644;
int g_file_2648;
int gi_2652;
int gi_2656;
int gi_2660;
int gi_2664;
int gi_2668;
int gi_2672;
int gi_2676;
int gi_2684;
int gi_2692;
string gs_2696;
int g_file_2708;
int gi_2712;
bool gi_2716;
int g_count_2720;
int gi_2724;
int g_datetime_2728;
int g_datetime_2732;
int gi_2736;
int gi_2740;
int g_file_2744;
int gi_2748;
int gi_2752;
int gi_2756;
string gs_2760;
int g_order_total_2772;
int g_pos_2776;
int g_cmd_2780;
int g_count_2784;
int g_count_2788;
int g_count_2792;
int g_count_2796;
double gd_2800;
double gd_2808;
double g_order_lots_2816;
double gd_2832;
double gd_2864;
double gd_2872;
double gd_2880;
double gd_2888;
double gd_2896;
double gd_2904;
double gd_2912;
double gd_2920;
double gd_2928;
double gd_2936;
double gd_2944;
double gd_2952;
double gd_2960;
double gd_2968;
double gd_2976;
double gd_2984;
double gd_2992;
double gd_3024;
double gd_3032;
double gd_3040;
double gd_3048;
double gd_3072;
double gd_3080;
double gd_3096;
double gd_3120;
double gd_3128;
double gd_3136;
double gd_3144;
double gd_3152;
double gd_3160;
double gd_3168;
double gd_3176;
double gd_3184;
double gd_3192;
double gd_3200;
double gd_3208;
double gd_3216;
double gd_3224;
double gd_3232;
double gd_3240;
double gd_3248;
double gd_3256;
double gd_3264;
double gd_3272;
double gd_3280;
double gd_3288;
double gd_3296;
double gd_3304;
double gd_3312;
double gd_3320;
double gd_3328;
double gd_3336;
double gd_3344;
double gd_3352;
double gd_3360;
double gd_3368;
double gd_3376;
double gd_3384;
double gd_3392;
int gi_3400;
int g_order_total_3404;
int g_pos_3408;
double g_price_3412;

int init() {
   int file_0;
   int file_48;
   int li_52;
   int li_56;
   int li_60;
   string ls_64;
   int str_len_72;
   string ls_76;
   int str_len_84;
   string ls_88;
   int str_len_96;
   int str_len_100;
   string ls_104;
   int str_len_112;
   string ls_116;
   int str_len_124;
   int file_132;
   int file_136;
   Comment("__________  WorkGrid  STARTED ______________");
   Sleep(1000);
   g_error_512 = 0;
   gsa_284[1] = "USDJPY";
   gsa_284[2] = "USDCHF";
   gsa_284[3] = "USDCAD";
   gsa_284[4] = "GBPUSD";
   gsa_284[5] = "GBPJPY";
   gsa_284[6] = "GBPCHF";
   gsa_284[7] = "GBPCAD";
   gsa_284[8] = "GBPAUD";
   gsa_284[9] = "GBPNZD";
   gsa_284[10] = "EURUSD";
   gsa_284[11] = "EURGBP";
   gsa_284[12] = "EURJPY";
   gsa_284[13] = "EURCHF";
   gsa_284[14] = "EURCAD";
   gsa_284[15] = "EURAUD";
   gsa_284[16] = "EURNZD";
   gsa_284[17] = "CHFJPY";
   gsa_284[18] = "CADJPY";
   gsa_284[19] = "CADCHF";
   gsa_284[20] = "AUDUSD";
   gsa_284[21] = "AUDJPY";
   gsa_284[22] = "AUDCHF";
   gsa_284[23] = "AUDCAD";
   gsa_284[24] = "AUDNZD";
   gsa_284[25] = "NZDUSD";
   gsa_284[26] = "NZDJPY";
   gsa_284[27] = "NZDCHF";
   gsa_284[28] = "NZDCAD";
   gi_1064 = FALSE;
   gi_1068 = FALSE;
   gi_1072 = FALSE;
   gi_1076 = FALSE;
   gi_2176 = -1;
   g_hist_total_2172 = -1;
   gi_1540 = TRUE;
   gi_2188 = 300;
   gi_2192 = 1000;
   gi_2196 = gi_2192 / 20;
   gi_1460 = -2147483633;
   gi_2180 = 1;
   gt_1488 = D'01.01.2010 01:00';
   gt_1492 = D'30.12.2019 01:00';
   gi_1516 = 50000000;
   gi_1520 = 2140000000;
   gi_1528 = 0;
   gi_1532 = 6;
   gd_1600 = 0.2;
   gd_1608 = 500.0;
   gd_1768 = -10000000.0;
   gd_1776 = 10000000.0;
   gd_1784 = -100000.0;
   gd_1792 = 100000.0;
   gi_2184 = 30000;
   gd_1352 = 100.0;
   gd_1360 = 1000.0;
   gd_1368 = 10000.0;
   gi_1560 = 128;
   gi_1564 = 376;
   gi_unused_1452 = g_datetime_1424;
   g_count_1412 = 0;
   g_count_1416 = 0;
   gi_1420 = -1;
   gs_348 = "=== Run the Chicken !!! === Run the Chicken !!! === Run the Chicken !!! ===";
   gs_1000 = "                                                                                                                                                                                                                                                               ";
   g_datetime_1424 = TimeCurrent();
   if (g_datetime_1424 < gt_1488) g_datetime_1424 = TimeLocal();
   while (true) {
      g_acc_number_484 = AccountNumber();
      if (g_acc_number_484 == AccNumber_ && g_acc_number_484 > 100000 && g_acc_number_484 < 100000000) break;
      Comment("                 init: Error AccNumber", AccNumber_);
      Sleep(3000);
   }
   if (IsDemo()) {
      gi_700 = 1;
      gi_684 = 4;
   } else {
      gi_700 = 0;
      g_name_984 = "WorkGrid\\License.lic";
      file_0 = FileOpen(g_name_984, FILE_BIN|FILE_READ);
      if (file_0 < 1) gi_684 = 0;
      else {
         gi_488 = f0_13(file_0, "AccNumberLic", 100000, 100000000, "Check_ini");
         FileClose(file_0);
         if (g_acc_number_484 != gi_488) {
            while (true) {
               Comment("                 init: Error AccNumberLic", gi_488);
               Sleep(3000);
            }
         }
         gi_684 = 4;
      }
   }
   string str_concat_8 = StringConcatenate(TerminalPath(), "\\");
   string ls_16 = StringSubstr(str_concat_8, 0, 1);
   gs_372 = AccountServer();
   string ls_24 = "WorkGrid\\";
   g_str_concat_912 = StringConcatenate(ls_24, "Chicken_.ini");
   g_name_968 = StringTrimRight(StringConcatenate(ls_24, "Request_.dqb", gs_1000));
   g_name_976 = StringTrimRight(StringConcatenate(ls_24, "Response.drb", gs_1000));
   g_name_928 = StringTrimRight(StringConcatenate(ls_24, "Extern.deb", gs_1000));
   string str_concat_32 = StringConcatenate(str_concat_8, "experts\\files\\", ls_24);
   int str_len_40 = StringLen(str_concat_32);
   int count_44 = 0;
   while (true) {
      count_44++;
      file_48 = FileOpen(g_str_concat_912, FILE_BIN|FILE_WRITE);
      if (file_48 == -1) {
         Comment(" init: error Open Chicken.ini.  errNumb = ", GetLastError());
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_48, g_datetime_1424, LONG_VALUE) < 0) {
         Comment(" init: error Write TimeCurr.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_48, str_len_40, LONG_VALUE) < 0) {
         Comment(" init: error Write LenWorkGridPathFull.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteString(file_48, str_concat_32, str_len_40) < 0) {
         Comment(" init: error Write WorkGridPathFull.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_48, gi_700, LONG_VALUE) < 0) {
         Comment(" init: error Write Demo.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      li_52 = AccountStopoutLevel();
      if (FileWriteInteger(file_48, li_52, LONG_VALUE) < 0) {
         Comment(" init: error Write AccStopOutLevel.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      li_56 = AccountStopoutMode();
      if (FileWriteInteger(file_48, li_56, LONG_VALUE) < 0) {
         Comment(" init: error Write AccStopOutMode.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      li_60 = AccountFreeMarginMode();
      if (FileWriteInteger(file_48, li_60, LONG_VALUE) < 0) {
         Comment(" init: error Write AccFreeMarginMode.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      ls_64 = AccountCompany();
      if (ls_64 != "InstaForex Companies Group") {
         Comment(" init: error AccCompany.");
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      str_len_72 = StringLen(ls_64);
      if (FileWriteInteger(file_48, str_len_72, LONG_VALUE) < 0) {
         Comment(" init: error Write Len_AccCompany.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteString(file_48, ls_64, str_len_72) < 0) {
         Comment(" init: error Write AccCompany.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      ls_76 = AccountCurrency();
      str_len_84 = StringLen(ls_76);
      Sleep(gi_2196);
      if (FileWriteInteger(file_48, str_len_84, LONG_VALUE) < 0) {
         Comment(" init: error Write Len_AccCurrency.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteString(file_48, ls_76, str_len_84) < 0) {
         Comment(" init: error Write AccCurrency.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      ls_88 = AccountName();
      str_len_96 = StringLen(ls_88);
      Sleep(gi_2196);
      if (FileWriteInteger(file_48, str_len_96, LONG_VALUE) < 0) {
         Comment(" init: error Write Len_AccName.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteString(file_48, ls_88, str_len_96) < 0) {
         Comment(" init: error Write AccName.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      str_len_100 = StringLen(gs_372);
      if (FileWriteInteger(file_48, str_len_100, LONG_VALUE) < 0) {
         Comment(" init: error Write Len_AccServer.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteString(file_48, gs_372, str_len_100) < 0) {
         Comment(" init: error Write AccServer.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      ls_104 = TerminalCompany();
      str_len_112 = StringLen(ls_104);
      if (FileWriteInteger(file_48, str_len_112, LONG_VALUE) < 0) {
         Comment(" init: error Write Len_TermCompany.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteString(file_48, ls_104, str_len_112) < 0) {
         Comment(" init: error Write TermCompany.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      ls_116 = TerminalName();
      str_len_124 = StringLen(ls_116);
      if (FileWriteInteger(file_48, str_len_124, LONG_VALUE) < 0) {
         Comment(" init: error Write Len_TermName.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteString(file_48, ls_116, str_len_124) < 0) {
         Comment(" init: error Write TermName.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_48, g_datetime_1424, LONG_VALUE) < 0) {
         Comment(" init: error Write TimeCurr.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      FileClose(file_48);
      if (GetLastError() == 0/* NO_ERROR */) break;
      Comment(" init: error FileClose FileIni.  errNumb = ", GetLastError());
      Sleep(3000);
   }
   g_symbol_316 = symbol_Pair_;
   bool li_128 = FALSE;
   for (gi_460 = 1; gi_460 <= 28; gi_460++) {
      if (g_symbol_316 == gsa_284[gi_460]) {
         li_128 = TRUE;
         break;
      }
   }
   while (true) {
      if (li_128 == TRUE) break;
      Comment("                 init: Error symbol_Pair_ = ", symbol_Pair_);
      Sleep(3000);
   }
   gs_308 = f0_18(g_acc_number_484);
   g_name_920 = StringTrimRight(StringConcatenate(ls_24, gs_308, ".dab", gs_1000));
   g_name_944 = StringTrimRight(StringConcatenate(ls_24, gs_308, ".dcb", gs_1000));
   g_name_952 = StringTrimRight(StringConcatenate(ls_24, gs_308, ".dsb", gs_1000));
   g_name_960 = StringTrimRight(StringConcatenate(ls_24, gs_308, ".dob", gs_1000));
   g_name_936 = StringTrimRight(StringConcatenate(ls_24, gs_308, ".dpb", gs_1000));
   g_name_992 = StringTrimRight(StringConcatenate(ls_24, gs_308, ".txt", gs_1000));
   gi_1404 = Leverage_;
   if (gi_1404 < 500) {
      while (true) {
         Comment("                 init: error Leverage");
         Sleep(3000);
      }
   }
   gd_544 = QuotePriceExt_;
   if (gd_544 < gd_1600 || gd_544 > gd_1608) {
      while (true) {
         Comment("                 init: error QuotePriceExt");
         Sleep(3000);
      }
   }
   gd_744 = MinLot_;
   gd_1344 = gd_744;
   g_minlot_752 = MarketInfo(g_symbol_316, MODE_MINLOT);
   if (gd_744 != 0.01 && gd_744 != 0.1) {
      while (true) {
         Comment("                 init: error MinLot");
         Sleep(3000);
      }
   }
   if (gi_684 >= 4) {
      gi_688 = WorkGridMode_;
      if (gi_688 != 0 && gi_688 != 1) {
         while (true) {
            Comment("                 init: error WorkGridMode");
            Sleep(3000);
         }
      }
      gi_492 = Trend_;
      if (gi_492 < -1 || gi_492 > 1) {
         while (true) {
            Comment("                 init: error Trend");
            Sleep(3000);
         }
      }
      gi_496 = kPipsMax_;
      if (gi_496 < 50 || gi_496 > 10000) {
         while (true) {
            Comment("                 init: error kPipsMax");
            Sleep(3000);
         }
      }
      gi_500 = StepGridMin_;
      if (gi_500 < 1 || gi_500 > 100) {
         while (true) {
            Comment("                 init: error StepGridMin");
            Sleep(3000);
         }
      }
      gi_504 = StepGridMax_;
      if (gi_504 < gi_500 || gi_504 > 100) {
         while (true) {
            Comment("                 init: error StepGrid");
            Sleep(3000);
         }
      }
      gd_520 = WorkBalance_;
      if (gd_520 < 1000.0 || gd_520 > 10000000.0) {
         while (true) {
            Comment("                 init: error WorkBalance");
            Sleep(3000);
         }
      }
      gd_648 = CloseEquityMax_;
      gd_640 = CloseEquityMin_;
      if (gd_648 <= gd_640 || gd_648 > 1000000.0) {
         while (true) {
            Comment("                 init: error CloseEquityMax CloseEquityMin");
            Sleep(3000);
         }
      }
      if (gd_640 < 1.0 || gd_640 >= gd_648) {
         while (true) {
            Comment("                 init: error CloseEquityMax CloseEquityMin");
            Sleep(3000);
         }
      }
      gd_568 = WorkPriceBuyMax_;
      gd_576 = WorkPriceBuyMin_;
      if (gd_568 <= gd_576 || gd_568 > gd_1608) {
         while (true) {
            Comment("                 init: error WorkPriceBuyMax WorkPriceBuyMin");
            Sleep(3000);
         }
      }
      if (gd_576 < gd_1600 || gd_576 >= gd_568) {
         while (true) {
            Comment("                 init: error WorkPriceBuyMax WorkPriceBuyMin");
            Sleep(3000);
         }
      }
      gd_584 = WorkPriceSellMax_;
      gd_592 = WorkPriceSellMin_;
      if (gd_584 <= gd_592 || gd_584 > gd_1608) {
         while (true) {
            Comment("                 init: error WorkPriceSellMax WorkPriceSellMin");
            Sleep(3000);
         }
      }
      if (gd_592 < gd_1600 || gd_592 >= gd_584) {
         while (true) {
            Comment("                 init: error WorkPriceSellMax WorkPriceSellMin");
            Sleep(3000);
         }
      }
      g_price_632 = ClosePriceMax_;
      g_price_624 = ClosePriceMin_;
      if ((g_price_632 > 0.0 && g_price_632 <= g_price_624) || g_price_632 > gd_1608) {
         while (true) {
            Comment("                 init: error ClosePriceMax ClosePriceMin");
            Sleep(3000);
         }
      }
      if (g_price_624 > 0.0 && g_price_624 < gd_1600) {
         while (true) {
            Comment("                 init: error ClosePriceMax ClosePriceMin");
            Sleep(3000);
         }
      }
      gi_708 = ClosePriceMode_;
      if (gi_708 < 0 || gi_708 > 3) {
         while (true) {
            Comment("                 init: error ClosePriceMode");
            Sleep(3000);
         }
      }
      gi_508 = CloseAntiTrend_;
      if (gi_508 != 0 && gi_508 != 1366613) {
         while (true) {
            Comment("                 init: error CloseAntiTrend");
            Sleep(3000);
         }
      }
      gi_500 = StepGridMin_;
      if (MagicNumber_ < 0) {
         while (true) {
            Comment("                 init: error MagicNumber_ < 0");
            Sleep(3000);
         }
      }
      gi_696 = LockMode_;
      if (gi_696 < -3) {
         while (true) {
            Comment("                 init: error LockMode = ", gi_696, " < -3");
            Sleep(3000);
         }
      }
      if (gi_696 > 4) {
         while (true) {
            Comment("                 init: error LockMode = ", gi_696, " >  4");
            Sleep(3000);
         }
      }
      if (gi_696 > 0 && gi_492 == 1) {
         while (true) {
            Comment("             init: error LockMode = ", gi_696, " for Trend =  1");
            Sleep(3000);
         }
      }
      if (gi_696 < 0 && gi_492 == -1) {
         while (true) {
            Comment("             init: error LockMode = ", gi_696, " for Trend = -1");
            Sleep(3000);
         }
      }
      gd_712 = LockOpenPriceBuy_;
      if (gd_712 < gd_1600 || gd_712 > gd_1608) {
         while (true) {
            Comment("                 init: error LockOpenPriceBuy");
            Sleep(3000);
         }
      }
      gd_720 = LockOpenPriceSell_;
      if (gd_720 < gd_1600 || gd_720 > gd_1608) {
         while (true) {
            Comment("                 init: error LockOpenPriceSell");
            Sleep(3000);
         }
      }
      gd_728 = LockPriceStopOutBuy_;
      if (gd_728 < gd_1600 || gd_728 > gd_1608) {
         while (true) {
            Comment("                 init: error LockPriceStopOutBuy");
            Sleep(3000);
         }
      }
      gd_736 = LockPriceStopOutSell_;
      if (gd_736 < gd_1600 || gd_736 > gd_1608) {
         while (true) {
            Comment("                 init: error LockPriceStopOutSell");
            Sleep(3000);
         }
      }
   }
   gd_536 = StartBalance_;
   if (gd_536 < 1000.0 || gd_536 > 10000000.0) {
      while (true) {
         Comment("                 init: error StartBalance");
         Sleep(3000);
      }
   }
   g_datetime_656 = DatePayN_;
   if (g_datetime_656 < D'01.01.2010 01:00' && g_datetime_656 > D'01.01.2020 00:59') {
      while (true) {
         Comment("                 init: error DatePayN");
         Sleep(3000);
      }
   }
   g_datetime_660 = DatePayK_;
   if (g_datetime_660 <= g_datetime_656 && g_datetime_660 > D'01.01.2020 00:59') {
      while (true) {
         Comment("                 init: error DatePayK");
         Sleep(3000);
      }
   }
   gi_516 = ViewComment_;
   if (gi_516 < 0 || gi_516 > 1) {
      while (true) {
         Comment("                 init: error ViewComment");
         Sleep(3000);
      }
   }
   gi_664 = 0;
   while (true) {
      g_datetime_1424 = TimeCurrent();
      if (g_datetime_1424 < gt_1488) g_datetime_1424 = TimeLocal();
      file_132 = FileOpen(g_name_928, FILE_BIN|FILE_WRITE);
      if (file_132 == -1) {
         Comment(" init: error Open FileExtern.  errNumb = ", GetLastError());
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, g_datetime_1424, LONG_VALUE) < 0) {
         Comment(" init: error Write TimeCurr to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, AccNumber_, LONG_VALUE) < 0) {
         Comment(" init: error Write AccNumber_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteString(file_132, symbol_Pair_, 6) < 0) {
         Comment(" init: error Write symbol_Pair_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, gi_684, LONG_VALUE) < 0) {
         Comment(" init: error Write Mode_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, gi_664, LONG_VALUE) < 0) {
         Comment(" init: error Write License_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, Leverage_, LONG_VALUE) < 0) {
         Comment(" init: error Write Leverage_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, LockMode_, LONG_VALUE) < 0) {
         Comment(" init: error Write LockMode_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, LockOpenPriceBuy_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write LockOpenPriceBuy_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, LockOpenPriceSell_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write LockOpenPriceSell_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, LockPriceStopOutBuy_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write LockPriceStopOutBuy_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, LockPriceStopOutSell_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write LockPriceStopOutSell_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, WorkGridMode_, LONG_VALUE) < 0) {
         Comment(" init: error Write WorkGridMode_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, Trend_, LONG_VALUE) < 0) {
         Comment(" init: error Write Trend_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, kPipsMax_, LONG_VALUE) < 0) {
         Comment(" init: error Write kPipsMax_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, StepGridMin_, LONG_VALUE) < 0) {
         Comment(" init: error Write StepGridMin_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, StepGridMax_, LONG_VALUE) < 0) {
         Comment(" init: error Write StepGridMax_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, WorkBalance_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write WorkBalance_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, StartBalance_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write StartBalance_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, WorkPriceBuyMax_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write WorkPriceBuyMax_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, WorkPriceBuyMin_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write WorkPriceBuyMin_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, WorkPriceSellMax_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write WorkPriceSellMax_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, WorkPriceSellMin_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write WorkPriceSellMin_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, QuotePriceExt_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write QuotePriceExt_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, MinLot_, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write MinLot_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteDouble(file_132, g_minlot_752, DOUBLE_VALUE) < 0) {
         Comment(" init: error Write MinLotReal to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, CloseAntiTrend_, LONG_VALUE) < 0) {
         Comment(" init: error Write CloseAntiTrend_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, DatePayN_, LONG_VALUE) < 0) {
         Comment(" init: error Write DatePayN_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, DatePayK_, LONG_VALUE) < 0) {
         Comment(" init: error Write DatePayN_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteString(file_132, InvestPassword_, 16) < 0) {
         Comment(" init: error Write InvestPassword_ to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (FileWriteInteger(file_132, g_datetime_1424, LONG_VALUE) < 0) {
         Comment(" init: error Write TimeCurr to FileExtern.  errNumb = ", GetLastError());
         FileClose(file_48);
         Sleep(3000);
         continue;
      }
      FileClose(file_132);
      g_error_512 = GetLastError();
      if (g_error_512 == 0/* NO_ERROR */) break;
      Comment(" init: error FileClose FileExtern.  errNumb = ", g_error_512);
      Sleep(3000);
   }
   while (true) {
      gi_704 = f0_14(1);
      if (gi_704 == -7) continue;
      break;
   }
   while (true) {
      file_136 = FileOpen(g_name_920, FILE_BIN|FILE_READ);
      if (file_136 == -1) {
         g_error_512 = GetLastError();
         if (g_error_512 == 4103/* CANNOT_OPEN_FILE */) {
            Comment("                init: FileAccount does not exist. Run the Chicken !!! ");
            Sleep(3000);
            continue;
         }
         Comment("                init: fatal error Open FileAccount.  errNumb = ", g_error_512);
         Sleep(3000);
         continue;
      }
      FileSeek(file_136, 0, SEEK_SET);
      gi_1432 = FileReadInteger(file_136, LONG_VALUE);
      if (GetLastError() != 0/* NO_ERROR */) {
         Comment("                init: Error: Read TimeAccountActivation from FileAccount.");
         FileClose(file_136);
         Sleep(3000);
         continue;
      }
      gi_472 = FileReadInteger(file_136, LONG_VALUE);
      if (GetLastError() != 0/* NO_ERROR */) {
         Comment("                init: error Read kPair_Point");
         FileClose(file_136);
         Sleep(3000);
         continue;
      }
      gd_1280 = FileReadDouble(file_136, DOUBLE_VALUE);
      gd_1288 = 1.0 / gd_1280;
      if (GetLastError() != 0/* NO_ERROR */) {
         Comment("                init: error Read PointT");
         FileClose(file_136);
         Sleep(3000);
         continue;
      }
      gi_1080 = FileReadInteger(file_136, LONG_VALUE);
      if (GetLastError() != 0/* NO_ERROR */) {
         Comment("                init: error Read kOrderMax");
         FileClose(file_136);
         Sleep(3000);
         continue;
      }
      gi_692 = FileReadInteger(file_136, LONG_VALUE);
      if (GetLastError() != 0/* NO_ERROR */) {
         Comment("                init: error Read SymbolMode");
         FileClose(file_136);
         Sleep(3000);
         continue;
      }
      if (gi_692 == 3 || gi_692 == 4) {
         gi_464 = FileReadInteger(file_136, LONG_VALUE);
         if (GetLastError() != 0/* NO_ERROR */) {
            Comment("                init: error Read number_symbol_Base");
            FileClose(file_136);
            Sleep(3000);
            continue;
         }
         gi_476 = FileReadInteger(file_136, LONG_VALUE);
         if (GetLastError() != 0/* NO_ERROR */) {
            Comment("                init: error Read kPair_Point");
            FileClose(file_136);
            Sleep(3000);
            continue;
         }
         gd_1312 = FileReadDouble(file_136, DOUBLE_VALUE);
         gd_1320 = 1.0 / gd_1312;
         if (GetLastError() != 0/* NO_ERROR */) {
            Comment("                init: error Read PointB");
            FileClose(file_136);
            Sleep(3000);
            continue;
         }
         g_symbol_324 = gsa_284[gi_464];
         gi_468 = FileReadInteger(file_136, LONG_VALUE);
         if (GetLastError() != 0/* NO_ERROR */) {
            Comment("                init: error Read number_symbol_Quote");
            FileClose(file_136);
            Sleep(3000);
            continue;
         }
         gi_480 = FileReadInteger(file_136, LONG_VALUE);
         if (GetLastError() != 0/* NO_ERROR */) {
            Comment("                init: error Read kBase_Point");
            FileClose(file_136);
            Sleep(3000);
            continue;
         }
         gd_1328 = FileReadDouble(file_136, DOUBLE_VALUE);
         gd_1336 = 1.0 / gd_1328;
         if (GetLastError() != 0/* NO_ERROR */) {
            Comment("                init: error Read PointB");
            FileClose(file_136);
            Sleep(3000);
            continue;
         }
         g_symbol_332 = gsa_284[gi_468];
      }
      gi_1436 = FileReadInteger(file_136, LONG_VALUE);
      if (GetLastError() != 0/* NO_ERROR */) {
         Comment("                init: error Read TimeAccountActivationFinish");
         FileClose(file_136);
         Sleep(3000);
         continue;
      }
      if (gi_1432 != gi_1436) {
         Comment("                init: error Read TimeAccountActivation");
         FileClose(file_136);
         Sleep(3000);
         continue;
      }
      FileClose(file_136);
      if (GetLastError() == 0/* NO_ERROR */) break;
      Comment("                init: error Close FileAccount");
      Sleep(3000);
   }
   Comment("                init: FileAccount loaded");
   Sleep(3000);
   if (gi_692 == 3 || gi_692 == 4) {
      gd_1264 = NormalizeDouble(MarketInfo(g_symbol_332, MODE_ASK), gi_480);
      if (gi_692 == 3) {
         gd_552 = MarketInfo(g_symbol_332, MODE_ASK) + 100.0 * gd_1328;
         if (gd_544 < gd_552) {
            while (true) {
               Comment("                 CheckExtern error: the QuotePriceExt  ", gd_544, "   value must be not less than ", gd_552);
               Sleep(3000);
            }
         }
      }
      if (gi_692 == 4) {
         gd_560 = MarketInfo(g_symbol_332, MODE_BID) - 100.0 * gd_1328;
         if (gd_544 > gd_560) {
            while (true) {
               Comment("                 CheckExtern error: the QuotePriceExt_ value must be no more than ", gd_560);
               Sleep(3000);
            }
         }
      }
   }
   gd_568 = NormalizeDouble(gd_568, gi_472);
   gd_576 = NormalizeDouble(gd_576, gi_472);
   gd_584 = NormalizeDouble(gd_584, gi_472);
   gd_592 = NormalizeDouble(gd_592, gi_472);
   g_price_632 = NormalizeDouble(g_price_632, gi_472);
   g_price_624 = NormalizeDouble(g_price_624, gi_472);
   f0_11();
   while (true) {
      gi_704 = f0_14(0);
      if (gi_704 == -7) continue;
      break;
   }
   Comment("                _______ Ready _______");
   return (0);
}

string f0_1() {
   int error_0 = GetLastError();
   string ls_4 = " ";
   if (error_0 == 1/* NO_RESULT */) ls_4 = " (NO_RESULT) ";
   if (error_0 == 2/* COMMON_ERROR */) ls_4 = " (COMMON ERROR) ";
   if (error_0 == 4/* SERVER_BUSY */) ls_4 = " (SERVER_BUSY) ";
   if (error_0 == 6/* NO_CONNECTION */) ls_4 = " (NO_CONNECTION) ";
   if (error_0 == 8/* TOO_FREQUENT_REQUESTS */) ls_4 = " (TOO_FREQUENT_REQUESTS) ";
   if (error_0 == 129/* INVALID_PRICE */) ls_4 = " (INVALID_PRICE) ";
   if (error_0 == 130/* INVALID_STOPS */) ls_4 = " (INVALID_STOPS) ";
   if (error_0 == 131/* INVALID_TRADE_VOLUME */) ls_4 = " (INVALID_TRADE_VOLUME) ";
   if (error_0 == 134/* NOT_ENOUGH_MONEY */) ls_4 = " (NOT_ENOUGH_MONEY) ";
   if (error_0 == 135/* PRICE_CHANGED */) ls_4 = " (PRICE_CHANGED) ";
   if (error_0 == 137/* BROKER_BUSY */) ls_4 = " (BROKER_BUSY) ";
   if (error_0 == 138/* REQUOTE */) ls_4 = " (REQUOTE) ";
   if (error_0 == 141/* TOO_MANY_REQUESTS */) ls_4 = " (TOO_MANY_REQUESTS) ";
   if (error_0 == 148/* TRADE_TOO_MANY_ORDERS */) ls_4 = " (TRADE_TOO_MANY_ORDERS) ";
   return (StringConcatenate(" error = ", error_0, ls_4));
}

void f0_5(string a_symbol_0, int a_cmd_8, double a_lots_12, double ad_20, double ad_28, double a_price_36, int a_magic_44) {
   if (a_cmd_8 != OP_BUY && a_cmd_8 != OP_SELL) return;
   if (a_lots_12 < gd_1344 || a_lots_12 > gd_1352) return;
   if (ad_28 > 0.00005 && ad_28 < gd_1600 || ad_28 > gd_1608) return;
   if (a_price_36 > 0.00005 && a_price_36 < gd_1600 || a_price_36 > gd_1608) return;
   if (a_cmd_8 == OP_BUY && gi_492 < 0 || a_cmd_8 == OP_SELL && gi_492 > 0) return;
   if (a_cmd_8 == OP_BUY && ad_28 > gd_568) {
      g_str_concat_300 = StringConcatenate("The order did not open: TakeProfit ", ad_28, " > WorkPriceBuyMax ", gd_568);
      Sleep(3000);
      return;
   }
   if (a_cmd_8 == OP_BUY && ad_28 < gd_576) {
      g_str_concat_300 = StringConcatenate("The order did not open: TakeProfit ", ad_28, " < WorkPriceBuyMin ", gd_576);
      Sleep(3000);
      return;
   }
   if (a_cmd_8 == OP_SELL && ad_28 > gd_584) {
      g_str_concat_300 = StringConcatenate("The order did not open: TakeProfit ", ad_28, " > WorkPriceSellMax ", gd_584);
      Sleep(3000);
      return;
   }
   if (a_cmd_8 == OP_SELL && ad_28 < gd_592) {
      g_str_concat_300 = StringConcatenate("The order did not open: TakeProfit ", ad_28, " < WorkPriceSellMin ", gd_592);
      Sleep(3000);
      return;
   }
   a_lots_12 = NormalizeDouble(a_lots_12, 2);
   ad_20 = NormalizeDouble(ad_20, gi_472);
   RefreshRates();
   if (a_cmd_8 == OP_BUY) {
      g_price_2476 = NormalizeDouble(MarketInfo(a_symbol_0, MODE_ASK), gi_472);
      if (g_price_2476 > ad_20 + 0.00005) {
         if (gi_516 == 0) g_str_concat_300 = StringConcatenate(" OpenOrder: Buy OpenPrice is obsolete.", "  OpenPriceMarket = ", g_price_2476, "  OpenPrice = ", ad_20);
         Sleep(1000);
         return;
      }
      if (gi_692 == 3 || gi_692 == 4) gd_2484 = NormalizeDouble(MarketInfo(g_symbol_324, MODE_ASK), gi_476);
      else gd_2484 = 0.0;
      f0_10(ad_28, gd_2484, gd_544);
   }
   if (a_cmd_8 == OP_SELL) {
      g_price_2476 = NormalizeDouble(MarketInfo(a_symbol_0, MODE_BID), gi_472);
      if (g_price_2476 < ad_20 - 0.00005) {
         if (gi_516 == 0) g_str_concat_300 = StringConcatenate(" OpenOrder: Sell  OpenPrice is obsolete.", "  OpenPriceMarket = ", g_price_2476, "  OpenPrice = ", ad_20);
         Sleep(1000);
         return;
      }
      if (gi_692 == 3 || gi_692 == 4) gd_2492 = NormalizeDouble(MarketInfo(g_symbol_324, MODE_BID), gi_476);
      else gd_2492 = 0.0;
      f0_10(ad_28, gd_2492, gd_544);
   }
   g_ticket_2472 = OrderSend(a_symbol_0, a_cmd_8, a_lots_12, g_price_2476, 0, a_price_36, 0.0, g_comment_1476, a_magic_44, 0, CLR_NONE);
   if (g_ticket_2472 < 0) {
      Comment("                          nTick = ", gi_1048, "  OpenOrder:", f0_1(), "  VT = ", a_lots_12, "  OpenPriceMarket = ", g_price_2476, "  TakeProfit = ", ad_28,
         "  MagicNumber = ", a_magic_44, "  Comment = ", g_comment_1476);
      g_count_1412++;
      if (gi_1048 == gi_1420 + 1) {
         g_count_1416++;
         gi_1420 = gi_1048;
      }
   } else {
      if (gi_516 == 0) {
         Comment("                        OpenOrder: #", g_ticket_2472, "  VT = ", a_lots_12, "  OpenPriceMarket = ", g_price_2476, "  TakeProfit = 0.", "  StopLoss = 0.",
            "  MagicNumber = ", a_magic_44, "  Comment = ", g_comment_1476, "   OK!");
      }
      gi_1408++;
      Sleep(1000);
   }
}

int f0_13(int a_file_0, string as_4, int ai_12, int ai_16, string as_20) {
   int li_ret_28 = -111111;
   li_ret_28 = FileReadInteger(a_file_0, LONG_VALUE);
   int error_32 = GetLastError();
   if (error_32 != 0/* NO_ERROR */) {
      while (true) {
         Comment("                 ", as_20, " read error = ", error_32, "    ", as_4, " = ", li_ret_28);
         FileClose(a_file_0);
         Sleep(5000);
      }
   }
   if (li_ret_28 < ai_12) {
      while (true) {
         Comment("                 ", as_20, " error: ", as_4, " = ", li_ret_28, " < ", ai_12);
         FileClose(a_file_0);
         Sleep(5000);
      }
   }
   if (li_ret_28 > ai_16) {
      while (true) {
         Comment("                 ", as_20, " error: ", as_4, " = ", li_ret_28, " > ", ai_16);
         FileClose(a_file_0);
         Sleep(5000);
      }
   }
   return (li_ret_28);
}

double f0_9(double a_file_0, string as_8, double ad_16, double ad_24, string as_32) {
   double ld_ret_40 = -1111111.0;
   ld_ret_40 = FileReadDouble(a_file_0, DOUBLE_VALUE);
   int error_48 = GetLastError();
   if (error_48 != 0/* NO_ERROR */) {
      while (true) {
         Comment("                 ", as_32, " read error = ", error_48, "    ", as_8, " = ", ld_ret_40);
         FileClose(a_file_0);
         Sleep(5000);
      }
   }
   if (ld_ret_40 != 0.0 && ld_ret_40 < ad_16) {
      while (true) {
         Comment("                 ", as_32, " error: ", as_8, " = ", ld_ret_40, " < ", ad_16);
         FileClose(a_file_0);
         Sleep(5000);
      }
   }
   if (ld_ret_40 != 0.0 && ld_ret_40 > ad_24) {
      while (true) {
         Comment("                 ", as_32, " error: ", as_8, " = ", ld_ret_40, " > ", ad_24);
         FileClose(a_file_0);
         Sleep(5000);
      }
   }
   return (ld_ret_40);
}

string f0_17(string as_0, int ai_8) {
   string ls_unused_20;
   int str_len_28 = StringLen(as_0);
   if (str_len_28 > ai_8) {
      while (true) {
         Comment("  FormString: error Len_val = ", str_len_28, " > ", ai_8, "   str_val = ", as_0);
         Sleep(5000);
      }
   }
   string ls_ret_12 = as_0;
   for (int li_32 = ai_8 - str_len_28; li_32 > 0; li_32--) ls_ret_12 = StringConcatenate("_", ls_ret_12);
   return (ls_ret_12);
}

string f0_18(int ai_0) {
   if (ai_0 < 0 || ai_0 >= 100000000) {
      gs_340 = " Error: int_to_string8";
      g_error_512 = -301;
      return;
   }
   string str_concat_4 = StringConcatenate("00000000", ai_0);
   int str_len_12 = StringLen(str_concat_4);
   return (StringSubstr(str_concat_4, str_len_12 - 8, 8));
}

void f0_8() {
   int li_unused_12;
   string ls_0 = StringTrimLeft(gs_1008);
   g_error_512 = GetLastError();
   if (g_error_512 != 0/* NO_ERROR */) {
      while (true) {
         Comment("                string_to_string4: error str = StringTrimLeft  (str); \'", ls_0, "\'  errNumb = ", g_error_512);
         Sleep(5000);
      }
   }
   ls_0 = StringTrimRight(ls_0);
   g_error_512 = GetLastError();
   if (g_error_512 != 0/* NO_ERROR */) {
      while (true) {
         Comment("                string_to_string4: error str = StringTrimRight  (str); \'", ls_0, "\'  errNumb = ", g_error_512);
         Sleep(5000);
      }
   }
   int str_len_8 = StringLen(ls_0);
   g_error_512 = GetLastError();
   if (g_error_512 != 0/* NO_ERROR */) {
      while (true) {
         Comment("                string_to_string4: error Len_str = StringLen  (str); \'", ls_0, "\'  Len_str = ", str_len_8, "  errNumb = ", g_error_512);
         Sleep(5000);
      }
   }
   gs_1016 = ls_0;
   if (str_len_8 == 0 || str_len_8 > 255) {
      li_unused_12 = 4;
      gs_1016 = "____";
   }
   int li_16 = str_len_8 - str_len_8 / 4 * 4;
   if (li_16 == 1) gs_1016 = StringConcatenate(ls_0, "___");
   if (li_16 == 2) gs_1016 = StringConcatenate(ls_0, "__");
   if (li_16 == 3) gs_1016 = StringConcatenate(ls_0, "_");
}

void f0_10(double ad_0, double ad_8, double ad_16) {
   g_dbl2str_2516 = DoubleToStr(ad_0, gi_472);
   g_str_len_2548 = StringLen(g_dbl2str_2516);
   if (g_str_len_2548 == 5) g_dbl2str_2516 = StringConcatenate("0", g_dbl2str_2516);
   if (StringLen(g_dbl2str_2516) != 6) {
      while (true) {
         Comment("                Set_OrderComment: error TakeProfitComment");
         Sleep(5000);
      }
   }
   if (gi_692 == 1 || gi_692 == 2) {
      g_dbl2str_2532 = "______";
      g_dbl2str_2540 = "______";
   }
   if (gi_692 == 3 || gi_692 == 4) {
      g_dbl2str_2532 = DoubleToStr(ad_8, gi_476);
      g_str_len_2556 = StringLen(g_dbl2str_2532);
      if (g_str_len_2556 == 5) g_dbl2str_2532 = StringConcatenate("0", g_dbl2str_2532);
      g_dbl2str_2540 = DoubleToStr(ad_16, gi_480);
      g_str_len_2560 = StringLen(g_dbl2str_2540);
      if (g_str_len_2560 == 5) g_dbl2str_2540 = StringConcatenate("0", g_dbl2str_2540);
   }
   if (StringLen(g_dbl2str_2532) != 6) {
      while (true) {
         Comment("                Set_OrderComment: error OpenPriceBase");
         Sleep(5000);
      }
   }
   if (StringLen(g_dbl2str_2540) != 6) {
      while (true) {
         Comment("                Set_OrderComment: error OpenPriceQuote");
         Sleep(5000);
      }
   }
   g_str_concat_2524 = StringConcatenate("0", gi_496);
   g_str_len_2552 = StringLen(g_str_concat_2524);
   if (g_str_len_2552 == 4) g_str_concat_2524 = StringConcatenate("0", g_str_concat_2524);
   if (StringLen(g_str_concat_2524) != 5) {
      while (true) {
         Comment("                Set_OrderComment: error str_kPipsMax =", g_str_concat_2524);
         Sleep(5000);
      }
   }
   g_comment_1476 = StringConcatenate("WG", g_dbl2str_2516, g_dbl2str_2532, g_dbl2str_2540, g_str_concat_2524);
   g_str_len_1556 = StringLen(g_comment_1476);
   if (g_str_len_1556 != 25) {
      while (true) {
         Comment("                Set_OrderComment: error OrderComment");
         Sleep(5000);
      }
   }
}

void f0_19() {
   int file_0;
   while (true) {
      file_0 = FileOpen(g_name_960, FILE_BIN|FILE_WRITE);
      if (file_0 < 1) {
         Comment("                SendOpennedOrders: Error Open FileOpennedOrders.  errNumb = ", GetLastError());
         Sleep(3000);
         continue;
      }
      g_datetime_1424 = TimeCurrent();
      if (g_datetime_1424 < gt_1488) g_datetime_1424 = TimeLocal();
      if (g_datetime_1424 < gt_1488 || g_datetime_1424 > gt_1492) {
         Comment("                SendOpennedOrders: TimeCurr out of range: ", g_datetime_1424);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteInteger(file_0, g_datetime_1424, LONG_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write TimeCurr = ", g_datetime_1424, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gi_1052 < 3 || gi_1052 > 24) {
         Comment("                SendOpennedOrders: spread out of range: ", gi_1052);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteInteger(file_0, gi_1052, LONG_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write spread = ", gi_1052, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gi_1056 < 3 || gi_1056 > 24) {
         Comment("                SendOpennedOrders: stopLevel out of range: ", gi_1056);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteInteger(file_0, gi_1056, LONG_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write stopLevel = ", gi_1056, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gd_1232 < gd_1600 || gd_1232 > gd_1608) {
         Comment("                SendOpennedOrders: Ask_Pair out of range: ", gd_1232);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteDouble(file_0, gd_1232, DOUBLE_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write Ask_Pair = ", gd_1232, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gd_1240 < gd_1600 || gd_1240 > gd_1608) {
         Comment("                SendOpennedOrders: Bid_Pair out of range: ", gd_1240);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteDouble(file_0, gd_1240, DOUBLE_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write Bid_Pair = ", gd_1240, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gi_1084 < 0 || gi_1084 > gi_1080) {
         Comment("                SendOpennedOrders: kWork out of range: ", gi_1084);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteInteger(file_0, gi_1084, LONG_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write kWork = ", gi_1084, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gi_692 == 3 || gi_692 == 4) {
         if (gd_1248 < gd_1600 || gd_1248 > gd_1608) {
            Comment("                SendOpennedOrders: Ask_Base out of range: ", gd_1248);
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         if (FileWriteDouble(file_0, gd_1248, DOUBLE_VALUE) < 0) {
            Comment("                SendOpennedOrders: Error Write Ask_Base = ", gd_1248, "  errNumb = ", GetLastError());
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         Sleep(gi_2196);
         if (gd_1256 < gd_1600 || gd_1256 > gd_1608) {
            Comment("                SendOpennedOrders: Bid_Base out of range: ", gd_1256);
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         if (FileWriteDouble(file_0, gd_1256, DOUBLE_VALUE) < 0) {
            Comment("                SendOpennedOrders: Error Write Bid_Base = ", gd_1256, "  errNumb = ", GetLastError());
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         Sleep(gi_2196);
         if (gi_1084 > 0) {
            if (gd_608 < gd_1600 || gd_608 > gd_1608) {
               Comment("                SendOpennedOrders: OpenPriceBase_Min out of range: ", gd_608);
               FileClose(file_0);
               Sleep(3000);
               continue;
            }
            if (FileWriteDouble(file_0, gd_608, DOUBLE_VALUE) < 0) {
               Comment("                SendOpennedOrders: Error Write OpenPriceBase_Min = ", gd_608, "  errNumb = ", GetLastError());
               FileClose(file_0);
               Sleep(3000);
               continue;
            }
            Sleep(gi_2196);
            if (gd_616 < gd_1600 || gd_616 > gd_1608) {
               Comment("                SendOpennedOrders: OpenPriceBase_Max out of range: ", gd_616);
               FileClose(file_0);
               Sleep(3000);
               continue;
            }
            if (FileWriteDouble(file_0, gd_616, DOUBLE_VALUE) < 0) {
               Comment("                SendOpennedOrders: Error Write OpenPriceBase_Max = ", gd_616, "  errNumb = ", GetLastError());
               FileClose(file_0);
               Sleep(3000);
               continue;
            }
            Sleep(gi_2196);
         }
      }
      if (gd_904 < 0.0) gd_1704 += gd_904;
      if (gd_1704 < -10000.0 || gd_1704 > 10000000.0) {
         Comment("                SendOpennedOrders: BalanceFull out of range: ", gd_1704);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteDouble(file_0, gd_1704, DOUBLE_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write BalanceFull = ", gd_1704, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gd_1728 < -10000.0 || gd_1728 > 10000000.0) {
         Comment("                SendOpennedOrders: EquityFull out of range: ", gd_1728);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteDouble(file_0, gd_1728, DOUBLE_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write EquityFull = ", gd_1728, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gd_1736 < 0.0 || gd_1736 > 10000000.0) {
         Comment("                SendOpennedOrders: ZFull out of range: ", gd_1736);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteDouble(file_0, gd_1736, DOUBLE_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write ZFull = ", gd_1736, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gd_1744 > 10000000.0) {
         Comment("                SendOpennedOrders: FreeFull out of range: ", gd_1744);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteDouble(file_0, gd_1744, DOUBLE_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write FreeFull = ", gd_1744, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gi_1088 < 0 || gi_1088 > gi_1080) {
         Comment("                SendOpennedOrders: kWorkBuy out of range: ", gi_1088);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteInteger(file_0, gi_1088, LONG_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write kWorkBuy = ", gi_1088, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gi_1088 > 0) {
         if (gd_2040 < gd_1600 || gd_2040 > gd_1608) {
            Comment("                SendOpennedOrders: TakeProfit_Min_Buy out of range: ", gd_2040);
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         if (FileWriteDouble(file_0, gd_2040, DOUBLE_VALUE) < 0) {
            Comment("                SendOpennedOrders: Error Write TakeProfit_Min_Buy = ", gd_2040, "  errNumb = ", GetLastError());
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         Sleep(gi_2196);
         if (gd_2048 < gd_1600 || gd_2048 > gd_1608) {
            Comment("                SendOpennedOrders: TakeProfit_Max_Buy out of range: ", gd_2048);
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         if (FileWriteDouble(file_0, gd_2048, DOUBLE_VALUE) < 0) {
            Comment("                SendOpennedOrders: Error Write TakeProfit_Max_Buy = ", gd_2048, "  errNumb = ", GetLastError());
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         Sleep(gi_2196);
         if (gd_2088 < gd_1344 || gd_2088 > 100000.0) {
            Comment("                SendOpennedOrders: WorkVolBuySum out of range: ", gd_2088);
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         if (FileWriteDouble(file_0, gd_2088, DOUBLE_VALUE) < 0) {
            Comment("                SendOpennedOrders: Error Write WorkVolBuySum = ", gd_2088, "  errNumb = ", GetLastError());
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         Sleep(gi_2196);
         if (gd_2104 < gd_1600 || gd_2104 > gd_1608) {
            Comment("                SendOpennedOrders: WorkOpenPriceBuy out of range: ", gd_2104);
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         if (FileWriteDouble(file_0, gd_2104, DOUBLE_VALUE) < 0) {
            Comment("                SendOpennedOrders: Error Write WorkOpenPriceBuy = ", gd_2104, "  errNumb = ", GetLastError());
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         Sleep(gi_2196);
      }
      if (gi_1092 < 0 || gi_1092 > gi_1080) {
         Comment("                SendOpennedOrders: kWorkSell out of range: ", gi_1092);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteInteger(file_0, gi_1092, LONG_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write kWorkSell = ", gi_1092, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gi_1092 > 0) {
         if (gd_2056 < gd_1600 || gd_2056 > gd_1608) {
            Comment("                SendOpennedOrders: TakeProfit_Min_Sell out of range: ", gd_2056);
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         if (FileWriteDouble(file_0, gd_2056, DOUBLE_VALUE) < 0) {
            Comment("                SendOpennedOrders: Error Write TakeProfit_Min_Sell = ", gd_2056, "  errNumb = ", GetLastError());
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         Sleep(gi_2196);
         if (gd_2064 < gd_1600 || gd_2064 > gd_1608) {
            Comment("                SendOpennedOrders: TakeProfit_Max_Sell out of range: ", gd_2064);
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         if (FileWriteDouble(file_0, gd_2064, DOUBLE_VALUE) < 0) {
            Comment("                SendOpennedOrders: Error Write TakeProfit_Max_Sell = ", gd_2064, "  errNumb = ", GetLastError());
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         Sleep(gi_2196);
         if (gd_2096 < gd_1344 || gd_2096 > 100000.0) {
            Comment("                SendOpennedOrders: WorkVolSellSum out of range: ", gd_2096);
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         if (FileWriteDouble(file_0, gd_2096, DOUBLE_VALUE) < 0) {
            Comment("                SendOpennedOrders: Error Write WorkVolSellSum = ", gd_2096, "  errNumb = ", GetLastError());
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         Sleep(gi_2196);
         if (gd_2112 < gd_1600 || gd_2112 > gd_1608) {
            Comment("                SendOpennedOrders: WorkOpenPriceSell out of range: ", gd_2112);
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         if (FileWriteDouble(file_0, gd_2112, DOUBLE_VALUE) < 0) {
            Comment("                SendOpennedOrders: Error Write WorkOpenPriceSell = ", gd_2112, "  errNumb = ", GetLastError());
            FileClose(file_0);
            Sleep(3000);
            continue;
         }
         Sleep(gi_2196);
      }
      if (gi_1100 < 0 || gi_1100 > gi_1080) {
         Comment("                SendOpennedOrders: kHand out of range: ", gi_1100);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteInteger(file_0, gi_1100, LONG_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write kHand = ", gi_1100, "  errNumb = ", GetLastError());
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      Sleep(gi_2196);
      if (gi_1104 < 0 || gi_1104 > gi_1080) {
         Comment("                SendOpennedOrders: kHandBuy out of range: ", gi_1104);
         FileClose(file_0);
         Sleep(3000);
         continue;
      }
      if (FileWriteInteger(file_0, gi_1104, LONG_VALUE) < 0) {
         Comment("                SendOpennedOrders: Error Write kHandBuy = ", gi_1104, "  errNumb = ", GetLastError());
         FileClose(file_0);
          

Recommend