← К каталогу
Исходный код · ID 2490

EA Smart Machine

smart_machine_3.4.0@lifeindreamsworld.mq4
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

EA Smart Machine — советник для MetaTrader 4, реализующий управление торговыми позициями с возможностью усреднения. В коде подтверждена обработка тиков (OnTick) и работа с торговыми операциями через OrderSend, OrderClose и OrderModify.

Советник поддерживает два режима управления лотами: фиксированный размер или расчёт на основе баланса счёта. Настроены параметры тейк-профита, шага, максимального количества ордеров и магического номера для идентификации позиций.

Встроена система управления рисками: при достижении заданного уровня убытков позиции закрываются. Также реализованы ограничения по времени торговли и отображение информации о прибыли за день/неделю и балансе прямо на графике.

Версия кода — 3.4.0, платформа — MetaTrader 4, язык — MQL4.

Настройки программы

НастройкаОписание
Strategy Стратегия — Текстовый параметр, управляющий режимом усреднения: 1 — выключен, 2 — включён.
MoneyManagementType Тип управления деньгами — Тип управления денежными средствами: 0 — фиксированный лот, 1 — экспоненциальное увеличение, 2 — корректировка на основе истории убыточных сделок.
Multiplikator Множитель лота — Множитель, используемый при расчёте размера лота в зависимости от типа управления денежными средствами.
InitialLot Начальный лот — Текстовый параметр, описывающий объём первой позиции.
TypeSelection Тип выбора — Текстовый параметр, определяющий тип расчёта лота: постоянный или на основе баланса.
Constant_or_Balance Постоянный лот или баланс — Переключатель между фиксированным размером лота и автоматическим расчётом на основе баланса счёта.
ConstantLot Фиксированный лот — Фиксированный размер лота, используемый при включённом режиме постоянного объёма.
Percentage_Of_Autolot_Volume Процент автолота — Процент от баланса счёта, используемый для автоматического расчёта размера лота.
TakeProfit Тейк-профит — Тейк-профит в пунктах для закрытия позиций.
Step Шаг — Шаг в пунктах, при достижении которого происходит открытие дополнительных позиций.
MaxOrders Максимальное количество ордеров — Максимальное количество одновременных ордеров, управляемых советником.
Riskmanagment Управление рисками — Текстовый параметр, описывающий функцию управления рисками — закрытие всех позиций при достижении заданного уровня.
Use_Restrictions Использовать ограничения — Переключатель ограничений: при включении позиции закрываются при достижении лимита убытка.
LimitSize Лимит убытка — Максимальный размер убытка в процентах от эквити, при превышении которого все позиции закрываются.
Magic Магический номер — Магический номер для идентификации ордеров, управляемых данным советником.
Logo Логотип — Текстовый параметр, задающий текст для отображения логотипа на графике.
ShowLogo Показать логотип — Переключатель отображения логотипа и информационных меток на графике.
parameters Параметры — Текстовый параметр с подсказкой о значениях true/false.
Получить полный код

Поиск по коду файла

#property version "";
#property strict

extern string Strategy = " Averaging 1 - OFF. 2 - ON.";
extern int MoneyManagementType = 1;
extern double Multiplikator = 1.6;
extern string InitialLot = "Volume of the first position";
extern string TypeSelection = "true - Constant, false - From the balance";
extern bool Constant_or_Balance = true;
extern double ConstantLot = 0.01;
extern double Percentage_Of_Autolot_Volume = 30;
extern double TakeProfit = 30;
extern double Step = 70;
extern int MaxOrders = 18;
extern string Riskmanagment = "Closing all positions when the specified level is reached";
extern bool Use_Restrictions;
extern double LimitSize = 20;
extern int Magic = 3579;
extern string Logo = "Demonstration of the logo";
extern bool ShowLogo = true;
extern string parameters = "(true-ON,false-OFF)";

double Ind_000;
double Id_00B8;
int Gi_0000;
bool returned_b;
double Gd_0000;
double Id_0038;
string Gs_0000;
int Gi_0001;
string Gs_0001;
int Gi_0002;
string Gs_0002;
int Gi_0003;
string Gs_0003;
int Gi_0004;
string Gs_0004;
int Gi_0005;
string Gs_0005;
int Gi_0006;
string Gs_0006;
int Gi_0007;
string Gs_0007;
int Gi_0008;
string Gs_0008;
int returned_i;
double Gd_0001;
double Gd_0008;
int Gi_0009;
int Gi_000A;
int Gi_000B;
double Gd_000C;
int Gi_000D;
int Gi_000E;
int Gi_000F;
double Gd_0010;
int Gi_0011;
int Gi_0012;
int Gi_0013;
double Gd_0014;
int Gi_0015;
int Gi_0016;
int Gi_0017;
double Gd_0018;
int Gi_0019;
double Gd_001A;
int Gi_001B;
int Gi_001C;
double Gd_001D;
int Gi_001E;
int Gi_001F;
int Gi_0020;
double Gd_0021;
int Gi_0022;
double Gd_0023;
int Gi_0024;
int Gi_0025;
double Gd_0026;
int Gi_0027;
int Gi_0028;
int Gi_0029;
double Gd_002A;
int Gi_002B;
double Gd_002C;
int Gi_002D;
int Gi_002E;
double Gd_002F;
int Gi_0030;
int Gi_0031;
int Gi_0032;
double Gd_0033;
int Gi_0034;
double Gd_0035;
int Gi_0036;
int Gi_0037;
double Gd_0038;
int Gi_0039;
int Gi_003A;
int Gi_003B;
int Gi_003C;
int Gi_003D;
long Gl_003E;
long returned_l;
bool Gb_003E;
double Id_0028;
double Id_0040;
double Id_0060;
int Ii_0084;
int Gi_003E;
bool Ib_0078;
int Ii_0080;
int Ii_007C;
bool Ib_0069;
double Id_0090;
double Id_0058;
double Id_0050;
bool Ib_006A;
long Gl_003F;
int Ii_00C8;
int Gi_003F;
double Id_0030;
double Gd_0040;
double Gd_0041;
int Gi_0042;
double Gd_0043;
double Gd_0044;
int Gi_0045;
long Gl_0046;
int Ii_00C4;
long Gl_0045;
int Gi_0046;
int Gi_0047;
bool Gb_0047;
double Gd_0047;
double Gd_0048;
int Gi_0049;
double Id_00F8;
bool Gb_0049;
double Id_0100;
double Gd_004A;
double Gd_004B;
int Gi_004C;
double Gd_004D;
double Gd_004E;
int Gi_004F;
bool Ib_00E8;
string Is_0000;
bool Ib_00C0;
bool Ib_00E1;
bool Ib_00E2;
double Id_00A8;
double Id_00B0;
double Gd_004F;
bool Gb_004F;
bool Ib_00E0;
bool Ib_0068;
double Id_0010;
double Gd_0050;
double Id_00D0;
bool Ib_0024;
int Ii_00CC;
bool Gb_0053;
int Gi_0053;
int Ii_00E4;
double Id_0098;
double Id_00A0;
bool Gb_0057;
bool Gb_005A;
int Gi_005A;
long Gl_005D;
double Id_0070;
double Gd_005E;
double Ind_004;
int Gi_005E;
double Ind_002;
double Id_0088;
double Id_0048;
double Id_00D8;
int Gi_005F;
int Gi_0058;
long Gl_0058;
long Gl_0059;
bool Gb_0059;
int Gi_0059;
double Gd_005A;
int Gi_0057;
double Gd_0058;
bool Gb_005D;
int Gi_005D;
int Gi_005B;
long Gl_005B;
long Gl_005C;
bool Gb_005C;
int Gi_005C;
double Gd_005D;
double Gd_005B;
int Gi_0051;
long Gl_0051;
long Gl_0052;
bool Gb_0052;
int Gi_0052;
double Gd_0053;
int Gi_0050;
double Gd_0051;
double Gd_0054;
int Gi_0055;
long Gl_0055;
long Gl_0056;
bool Gb_0056;
int Gi_0056;
double Gd_0057;
int Gi_0054;
double Gd_0055;
string Is_0018;
int Ii_00EC;
int Ii_00F0;
int Ii_0108;
int Ii_010C;
int Ii_0110;
int Ii_0114;
int Ii_0118;
int Ii_011C;
int Ii_0120;
int Ii_0124;
int Ii_0128;
short returned_st;
bool Gb_0003;
bool Gb_0000;
double Gd_0002;
double Gd_0004;
long Gl_0005;
long Gl_0006;
long Gl_0003;
long Gl_0004;
double Gd_0003;
double Gd_0006;
double Gd_0007;
double Gd_0009;
double Gd_000A;
double Gd_000D;
double Gd_000F;
double Gd_0012;
double Gd_0013;
int Gi_0014;
double Gd_0015;
double Gd_0016;
double Gd_0019;
int Gi_001A;
double Gd_001B;
double Gd_001C;
int Gi_001D;
double Gd_001E;
double Gd_001F;
double Gd_0022;
int Gi_0023;
int Gi_0033;
long Gl_0034;
int Gi_0035;
bool Gb_0037;
long Gl_0038;
bool Gb_003A;
double Gd_003A;
double Gd_0036;
long Gl_0029;
int Gi_002A;
bool Gb_002C;
int Gi_002C;
long Gl_002D;
int Gi_002F;
bool Gb_002F;
long Gl_0030;
bool Gb_0033;
double Gd_0032;
double Gd_002B;
long Gl_0025;
int Gi_0026;
bool Gb_0028;
double Gd_0027;
bool Gb_0001;
long Gl_0009;
long Gl_000A;
long Gl_000B;
double Gd_000B;
long Gl_000C;
string Is_0160[10];
double returned_double;
bool order_check;
int init()
{
      // код доступен только после оплаты
   }

void OnTick()
{
      // код доступен только после оплаты
   }
   string tmp_str0000;
   string tmp_str0001;
   string tmp_str0002;
   string tmp_str0003;
   string tmp_str0004;
   string tmp_str0005;
   string tmp_str0006;
   double Ld_FFF8;
   double Ld_FFF0;
   double Ld_FFE8;
   double Ld_FFE0;
   double Ld_FFD8;
   double Ld_FFD0;
   double Ld_FFC8;
   double Ld_FFC0;
   double Ld_FFB8;
   double Ld_FFB0;
   string Ls_FFA0;
   string Ls_FF90;
   double Ld_FF88;
   int Li_FF84;
   int Li_FF80;
   double Ld_FF78;
   int Li_FF74;

   Ld_FFF8 = 0;
   Ld_FFF0 = 0;
   Ld_FFE8 = 0;
   Ld_FFE0 = 0;
   Ld_FFD8 = 0;
   Ld_FFD0 = 0;
   Ld_FFC8 = 0;
   Ld_FFC0 = 0;
   Ld_FFB8 = 0;
   Ld_FFB0 = 0;
   Ld_FF88 = 0;
   Li_FF84 = 0;
   Li_FF80 = 0;
   Ld_FF78 = 0;
   Li_FF74 = 0;
   Gi_0000 = 0;
   Gd_0001 = 0;
   Gi_0002 = 0;
   Gi_0003 = 0;
   Gi_0004 = 0;
   Gi_0005 = 0;
   Gi_0006 = 0;
   Gi_0007 = 0;
   Gd_0008 = 0;
   Gi_0009 = 0;
   Gi_000A = 0;
   Gi_000B = 0;
   Gd_000C = 0;
   Gi_000D = 0;
   Gi_000E = 0;
   Gi_000F = 0;
   Gd_0010 = 0;
   Gi_0011 = 0;
   Gi_0012 = 0;
   Gi_0013 = 0;
   Gd_0014 = 0;
   Gi_0015 = 0;
   Gi_0016 = 0;
   Gi_0017 = 0;
   Gd_0018 = 0;
   Gi_0019 = 0;
   Gd_001A = 0;
   Gi_001B = 0;
   Gi_001C = 0;
   Gd_001D = 0;
   Gi_001E = 0;
   Gi_001F = 0;
   Gi_0020 = 0;
   Gd_0021 = 0;
   Gi_0022 = 0;
   Gd_0023 = 0;
   Gi_0024 = 0;
   Gi_0025 = 0;
   Gd_0026 = 0;
   Gi_0027 = 0;
   Gi_0028 = 0;
   Gi_0029 = 0;
   Gd_002A = 0;
   Gi_002B = 0;
   Gd_002C = 0;
   Gi_002D = 0;
   Gi_002E = 0;
   Gd_002F = 0;
   Gi_0030 = 0;
   Gi_0031 = 0;
   Gi_0032 = 0;
   Gd_0033 = 0;
   Gi_0034 = 0;
   Gd_0035 = 0;
   Gi_0036 = 0;
   Gi_0037 = 0;
   Gd_0038 = 0;
   Gi_0039 = 0;
   Gi_003A = 0;
   Gi_003B = 0;
   Gi_003C = 0;
   Gi_003D = 0;

   Ld_FFF8 = 0;
   Ld_FFF0 = 0;
   Ld_FFE8 = 0;
   Ld_FFE0 = 0;
   Ld_FFD8 = MarketInfo(_Symbol, MODE_POINT);
   Ld_FFD0 = MarketInfo(_Symbol, MODE_BID);
   Ld_FFC8 = MarketInfo(_Symbol, MODE_ASK);
   Ld_FFC0 = MarketInfo(_Symbol, MODE_MAXLOT);
   Ld_FFB8 = MarketInfo(_Symbol, MODE_MINLOT);
   Ld_FFB0 = MarketInfo(_Symbol, MODE_LOTSTEP);
   if ((IsOptimization() == false && IsTesting() == false && !IsVisualMode())
   || (ShowLogo && IsTesting() && IsOptimization() == false)) {

   f0_13();
   f0_10();
   }
   if (Constant_or_Balance) { 
   Id_0038 = ConstantLot;
   } 
   else { 
   Id_0038 = (((AccountBalance() * Percentage_Of_Autolot_Volume) / 100) / 10000);
   } 
   if ((Id_0038 < Ld_FFB8)) { 
   tmp_str0000 = (string)Id_0038;
   tmp_str0000 = "Calculated size " + tmp_str0000;
   tmp_str0000 = tmp_str0000 + " is less than allowed minimum ";
   tmp_str0001 = (string)Ld_FFB8;
   tmp_str0000 = tmp_str0000 + tmp_str0001;
   Print(tmp_str0000);
   } 
   if ((Id_0038 > Ld_FFC0)) { 
   Gb_003E = (Ld_FFC0 > 0);
   if (Gb_003E) { 
   tmp_str0001 = (string)Id_0038;
   tmp_str0001 = "Calculated size " + tmp_str0001;
   tmp_str0001 = tmp_str0001 + " exceeds allowed maximum ";
   tmp_str0002 = (string)Ld_FFC0;
   tmp_str0001 = tmp_str0001 + tmp_str0002;
   Print(tmp_str0001);
   }} 
   Id_0028 = Multiplikator;
   Id_0040 = TakeProfit;
   Id_0060 = Step;
   Ii_0084 = Magic;
   Ls_FFA0 = "false";
   Ls_FF90 = "false";
   Gi_003E = Ib_0078;
   Gb_003E = (Hour() >= Ii_0080);
   if (Gb_003E) { 
   Gb_003E = (Hour() <= Ii_007C);
   } 
   if (Ib_0078 == 0
   || (Ib_0078 && Ii_0080 > Ii_007C && Hour() >= Ii_007C && Hour() <= Ii_0080)
   || (Ii_007C > Ii_0080 && !Gb_003E)) {

   Ls_FFA0 = "true";
   }
   Gb_003E = (Hour() >= Ii_007C);
   if (Gb_003E) { 
   Gb_003E = (Hour() <= Ii_0080);
   } 
   if ((Ib_0078 && Ii_0080 > Ii_007C && Gb_003E == false)
   || (Ii_007C > Ii_0080 && Hour() >= Ii_0080 && Hour() <= Ii_007C)) {

   Ls_FF90 = "true";
   }
   if (Ib_0069) { 
   f0_18((int)Id_0050, (int)Id_0058, Id_0090);
   } 
   if (Ib_006A) { 
   Gl_003E = TimeCurrent();
   Gl_003F = Ii_00C8;
   if (Gl_003E >= Gl_003F) { 
   Gi_003F = OrdersTotal() - 1;
   Gi_0000 = Gi_003F;
   if (Gi_003F >= 0) { 
   do { 
   order_check = OrderSelect(Gi_0000, 0, 0);
   if (OrderSymbol() == _Symbol) { 
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084) { 
   if (OrderType() == OP_BUY) { 
   order_check = OrderClose(OrderTicket(), OrderLots(), Bid, (int)Id_0030, 16711680);
   } 
   if (OrderType() == OP_SELL) { 
   order_check = OrderClose(OrderTicket(), OrderLots(), Ask, (int)Id_0030, 255);
   }} 
   Sleep(1000);
   } 
   Gi_0000 = Gi_0000 - 1;
   } while (Gi_0000 >= 0); 
   } 
   Print("Closed All due to TimeOut");
   }} 
   Gl_0046 = Ii_00C4;
   if (Gl_0046 == Time[0]) { 
   return ;
   } 
   Ii_00C4 = (int)Time[0];
   Gd_0001 = 0;
   Gi_0047 = OrdersTotal() - 1;
   Gi_0002 = Gi_0047;
   if (Gi_0047 >= 0) { 
   do { 
   order_check = OrderSelect(Gi_0002, 0, 0);
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084) { 
   if (OrderType() == OP_BUY || OrderType() == OP_SELL) { 

   Gd_0001 = (Gd_0001 + OrderProfit());
   }} 
   Gi_0002 = Gi_0002 - 1;
   } while (Gi_0002 >= 0); 
   } 
   Ld_FF88 = Gd_0001;
   if (Use_Restrictions && (Gd_0001 < 0)) { 
   Gd_0047 = fabs(Gd_0001);
   Gd_0048 = (LimitSize / 100);
   Gi_0003 = 0;
   Gi_0049 = OrdersTotal() - 1;
   Gi_0004 = Gi_0049;
   if (Gi_0049 >= 0) { 
   do { 
   order_check = OrderSelect(Gi_0004, 0, 0);
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084) { 
   if (OrderType() == OP_SELL || OrderType() == OP_BUY) { 

   Gi_0003 = Gi_0003 + 1;
   }} 
   Gi_0004 = Gi_0004 - 1;
   } while (Gi_0004 >= 0); 
   } 
   if (Gi_0003 == 0) { 
   Id_00F8 = AccountEquity();
   } 
   if ((Id_00F8 < Id_0100)) { 
   Id_00F8 = Id_0100;
   } 
   else { 
   Id_00F8 = AccountEquity();
   } 
   Id_0100 = AccountEquity();
   if ((Gd_0047 > (Gd_0048 * Id_00F8))) { 
   Gi_0049 = OrdersTotal() - 1;
   Gi_0005 = Gi_0049;
   if (Gi_0049 >= 0) { 
   do { 
   order_check = OrderSelect(Gi_0005, 0, 0);
   if (OrderSymbol() == _Symbol) { 
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084) { 
   if (OrderType() == OP_BUY) { 
   order_check = OrderClose(OrderTicket(), OrderLots(), Bid, (int)Id_0030, 16711680);
   } 
   if (OrderType() == OP_SELL) { 
   order_check = OrderClose(OrderTicket(), OrderLots(), Ask, (int)Id_0030, 255);
   }} 
   Sleep(1000);
   } 
   Gi_0005 = Gi_0005 - 1;
   } while (Gi_0005 >= 0); 
   } 
   Print("Closed All due to Stop Out");
   Ib_00E8 = false;
   }} 
   tmp_str0002 = Is_0000;
   lookup_history_orders(Ld_FFB0, Id_0030, tmp_str0002, Ii_0084);
   Gi_0006 = 0;
   Gi_004F = OrdersTotal() - 1;
   Gi_0007 = Gi_004F;
   if (Gi_004F >= 0) { 
   do { 
   order_check = OrderSelect(Gi_0007, 0, 0);
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084) { 
   if (OrderType() == OP_SELL || OrderType() == OP_BUY) { 

   Gi_0006 = Gi_0006 + 1;
   }} 
   Gi_0007 = Gi_0007 - 1;
   } while (Gi_0007 >= 0); 
   } 
   Li_FF84 = Gi_0006;
   if (Gi_0006 == 0) { 
   Ib_00C0 = false;
   } 
   Li_FF80 = OrdersTotal() - 1;
   if (Li_FF80 >= 0) { 
   do { 
   order_check = OrderSelect(Li_FF80, 0, 0);
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084) { 
   if (OrderType() == OP_BUY) { 
   Ib_00E1 = true;
   Ib_00E2 = false;
   Ld_FFF8 = OrderLots();
   break; 
   } 
   if (OrderType() == OP_SELL) { 
   Ib_00E1 = false;
   Ib_00E2 = true;
   Ld_FFF0 = OrderLots();
   break; 
   }} 
   Li_FF80 = Li_FF80 - 1;
   } while (Li_FF80 >= 0); 
   } 
   if (Li_FF84 > 0 && Li_FF84 <= MaxOrders) { 
   RefreshRates();
   Gd_0008 = 0;
   Gi_0009 = 0;
   Gi_000A = 0;
   Gi_004F = OrdersTotal() - 1;
   Gi_000B = Gi_004F;
   if (Gi_004F >= 0) { 
   do { 
   order_check = OrderSelect(Gi_000B, 0, 0);
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderType() == OP_BUY) { 
   Gi_0009 = OrderTicket();
   if (Gi_0009 > Gi_000A) { 
   Gd_0008 = OrderOpenPrice();
   Gi_000A = Gi_0009;
   }} 
   Gi_000B = Gi_000B - 1;
   } while (Gi_000B >= 0); 
   } 
   Id_00A8 = Gd_0008;
   Gd_000C = 0;
   Gi_000D = 0;
   Gi_000E = 0;
   Gi_004F = OrdersTotal() - 1;
   Gi_000F = Gi_004F;
   if (Gi_004F >= 0) { 
   do { 
   order_check = OrderSelect(Gi_000F, 0, 0);
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderType() == OP_SELL) { 
   Gi_000D = OrderTicket();
   if (Gi_000D > Gi_000E) { 
   Gd_000C = OrderOpenPrice();
   Gi_000E = Gi_000D;
   }} 
   Gi_000F = Gi_000F - 1;
   } while (Gi_000F >= 0); 
   } 
   Id_00B0 = Gd_000C;
   if (Ib_00E1) { 
   Gd_004F = (Id_00A8 - Ask);
   if ((Gd_004F >= (Id_0060 * _Point))) { 
   Ib_00E0 = true;
   }} 
   if (Ib_00E2) { 
   Gd_004F = (Bid - Id_00B0);
   if ((Gd_004F >= (Id_0060 * _Point))) { 
   Ib_00E0 = true;
   }}} 
   if (Li_FF84 < 1) { 
   Ib_00E2 = false;
   Ib_00E1 = false;
   Ib_00E0 = true;
   } 
   if (Ib_00E0) { 
   Gd_0010 = 0;
   Gi_0011 = 0;
   Gi_0012 = 0;
   Gi_004F = OrdersTotal() - 1;
   Gi_0013 = Gi_004F;
   if (Gi_004F >= 0) { 
   do { 
   order_check = OrderSelect(Gi_0013, 0, 0);
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderType() == OP_BUY) { 
   Gi_0011 = OrderTicket();
   if (Gi_0011 > Gi_0012) { 
   Gd_0010 = OrderOpenPrice();
   Gi_0012 = Gi_0011;
   }} 
   Gi_0013 = Gi_0013 - 1;
   } while (Gi_0013 >= 0); 
   } 
   Id_00A8 = Gd_0010;
   Gd_0014 = 0;
   Gi_0015 = 0;
   Gi_0016 = 0;
   Gi_004F = OrdersTotal() - 1;
   Gi_0017 = Gi_004F;
   if (Gi_004F >= 0) { 
   do { 
   order_check = OrderSelect(Gi_0017, 0, 0);
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderType() == OP_SELL) { 
   Gi_0015 = OrderTicket();
   if (Gi_0015 > Gi_0016) { 
   Gd_0014 = OrderOpenPrice();
   Gi_0016 = Gi_0015;
   }} 
   Gi_0017 = Gi_0017 - 1;
   } while (Gi_0017 >= 0); 
   } 
   Id_00B0 = Gd_0014;
   if (Ib_00E2 != false) {
   if (Ib_0068 || Ls_FF90 == "true") { 

   f0_1(false, true);
   Id_00D0 = NormalizeDouble((Id_0028 * Ld_FFF0), (int)Id_0010);
   } 
   else { 
   Gd_001A = 0;
   Gi_001B = 0;
   returned_i = MoneyManagementType;
   if (returned_i == 0) {

   Gd_001A = Id_0038;
   }
   if (returned_i == 1) {

   returned_double = MathPow(Id_0028, Ii_00CC);
   Gd_001A = NormalizeDouble((Id_0038 * returned_double), (int)Id_0010);
   }
   if (returned_i == 2) {

   Gi_001B = 0;
   Gd_001A = Id_0038;
   Gi_0051 = HistoryTotal() - 1;
   Gi_001C = Gi_0051;
   if (Gi_0051 >= 0) {
   do { 
   if (!OrderSelect(Gi_001C, 0, 1)) {
   Gd_0018 = -3;
   break;//
   }
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084) { 
   Gl_0051 = OrderCloseTime();
   Gl_0052 = Gi_001B;
   if (Gl_0052 < Gl_0051) { 
   Gi_001B = (int)OrderCloseTime();
   if ((OrderProfit() < 0)) { 
   Gd_001A = NormalizeDouble((OrderLots() * Id_0028), (int)Id_0010);
   } 
   else { 
   Gd_001A = Id_0038;
   }}} 
   Gi_001C = Gi_001C - 1;
   } while (Gi_001C >= 0); 
   }}
   if ((AccountFreeMarginCheck(_Symbol, 1, Gd_001A) <= 0)) { 
   Gd_0018 = -1;
   } 
   else { 
   Gi_0053 = GetLastError();
   if (Gi_0053 == 134) { 
   Gd_0018 = -2;
   } 
   else { 
   Gd_0018 = Gd_001A;
   }} 
   Id_00D0 = Gd_0018;
   } 
   if (Ib_0024 && Ls_FFA0 == "true") {
   Ii_00CC = Li_FF84;
   if ((Id_00D0 > 0)) {
   RefreshRates();
   tmp_str0003 = Is_0000;
   Ii_00E4 = perform_order_op(1, Id_00D0, Bid, (int)Id_0030, Ask, 0, 0, tmp_str0003, Ii_0084, 0, 11823615);
   if (Ii_00E4 < 0) { 
   Print("Error: ", GetLastError());
   return ;
   } 
   Gd_001D = 0;
   Gi_001E = 0;
   Gi_001F = 0;
   Gi_0053 = OrdersTotal() - 1;
   Gi_0020 = Gi_0053;
   if (Gi_0053 >= 0) { 
   do { 
   order_check = OrderSelect(Gi_0020, 0, 0);
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderType() == OP_SELL) { 
   Gi_001E = OrderTicket();
   if (Gi_001E > Gi_001F) { 
   Gd_001D = OrderOpenPrice();
   Gi_001F = Gi_001E;
   }} 
   Gi_0020 = Gi_0020 - 1;
   } while (Gi_0020 >= 0); 
   } 
   Id_00B0 = Gd_001D;
   Ib_00E0 = false;
   Ib_00E8 = true;
   Sleep(1500);
   }}}
   else{
   if (Ib_00E1) { 
   if (Ib_0068 || Ls_FF90 == "true") { 

   f0_1(true, false);
   Id_00D0 = NormalizeDouble((Id_0028 * Ld_FFF8), (int)Id_0010);
   } 
   else { 
   Gd_0023 = 0;
   Gi_0024 = 0;
   returned_i = MoneyManagementType;
   if (returned_i == 0) {

   Gd_0023 = Id_0038;
   }
   if (returned_i == 1) {

   returned_double = MathPow(Id_0028, Ii_00CC);
   Gd_0023 = NormalizeDouble((Id_0038 * returned_double), (int)Id_0010);
   }
   if (returned_i == 2) {

   Gi_0024 = 0;
   Gd_0023 = Id_0038;
   Gi_0055 = HistoryTotal() - 1;
   Gi_0025 = Gi_0055;
   if (Gi_0055 >= 0) {
   do { 
   if (!OrderSelect(Gi_0025, 0, 1)) {
   Gd_0021 = -3;
   break;
   }
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084) { 
   Gl_0055 = OrderCloseTime();
   Gl_0056 = Gi_0024;
   if (Gl_0056 < Gl_0055) { 
   Gi_0024 = (int)OrderCloseTime();
   if ((OrderProfit() < 0)) { 
   Gd_0023 = NormalizeDouble((OrderLots() * Id_0028), (int)Id_0010);
   } 
   else { 
   Gd_0023 = Id_0038;
   }}} 
   Gi_0025 = Gi_0025 - 1;
   } while (Gi_0025 >= 0); 
   }}
   if ((AccountFreeMarginCheck(_Symbol, 0, Gd_0023) <= 0)) { 
   Gd_0021 = -1;
   } 
   else { 
   Gi_0057 = GetLastError();
   if (Gi_0057 == 134) { 
   Gd_0021 = -2;
   } 
   else { 
   Gd_0021 = Gd_0023;
   }} 
   Id_00D0 = Gd_0021;
   } 
   if (Ib_0024 && Ls_FFA0 == "true") { 
   Ii_00CC = Li_FF84;
   if ((Id_00D0 > 0)) { 
   tmp_str0004 = Is_0000;
   Ii_00E4 = perform_order_op(0, Id_00D0, Ask, (int)Id_0030, Bid, 0, 0, tmp_str0004, Ii_0084, 0, 65280);
   if (Ii_00E4 < 0) { 
   Print("Error: ", GetLastError());
   return ;
   } 
   Gd_0026 = 0;
   Gi_0027 = 0;
   Gi_0028 = 0;
   Gi_0057 = OrdersTotal() - 1;
   Gi_0029 = Gi_0057;
   if (Gi_0057 >= 0) { 
   do { 
   order_check = OrderSelect(Gi_0029, 0, 0);
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderType() == OP_BUY) { 
   Gi_0027 = OrderTicket();
   if (Gi_0027 > Gi_0028) { 
   Gd_0026 = OrderOpenPrice();
   Gi_0028 = Gi_0027;
   }} 
   Gi_0029 = Gi_0029 - 1;
   } while (Gi_0029 >= 0); 
   } 
   Id_00A8 = Gd_0026;
   Ib_00E0 = false;
   Ib_00E8 = true;
   Sleep(1500);
   }}}}} 
   if (Ib_00E0 && Li_FF84 < 1) { 
   Ld_FFE8 = iClose(_Symbol, 0, 2);
   returned_double = iClose(_Symbol, 0, 1);
   Ld_FFE0 = returned_double;
   Id_0098 = Bid;
   Id_00A0 = Ask;
   if (Ib_00E2 == false && Ib_00E1 == false && Ls_FFA0 == "true") { 
   Ii_00CC = Li_FF84;
   if ((Ld_FFE8 > returned_double)) {
   Gd_002C = 0;
   Gi_002D = 0;
   returned_i = MoneyManagementType;
   if (returned_i == 0) {

   Gd_002C = Id_0038;
   }
   if (returned_i == 1) {

   returned_double = MathPow(Id_0028, Ii_00CC);
   Gd_002C = NormalizeDouble((Id_0038 * returned_double), (int)Id_0010);
   }
   if (returned_i == 2) {

   Gi_002D = 0;
   Gd_002C = Id_0038;
   Gi_0058 = HistoryTotal() - 1;
   Gi_002E = Gi_0058;
   if (Gi_0058 >= 0) {
   do { 
   if (!OrderSelect(Gi_002E, 0, 1)) {
   Gd_002A = -3;
   break;
   }
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084) { 
   Gl_0058 = OrderCloseTime();
   Gl_0059 = Gi_002D;
   if (Gl_0059 < Gl_0058) { 
   Gi_002D = (int)OrderCloseTime();
   if ((OrderProfit() < 0)) { 
   Gd_002C = NormalizeDouble((OrderLots() * Id_0028), (int)Id_0010);
   } 
   else { 
   Gd_002C = Id_0038;
   }}} 
   Gi_002E = Gi_002E - 1;
   } while (Gi_002E >= 0); 
   }}
   if ((AccountFreeMarginCheck(_Symbol, 1, Gd_002C) <= 0)) { 
   Gd_002A = -1;
   } 
   else { 
   Gi_005A = GetLastError();
   if (Gi_005A == 134) { 
   Gd_002A = -2;
   } 
   else { 
   Gd_002A = Gd_002C;
   }} 
   Id_00D0 = Gd_002A;
   if ((Gd_002A > 0)) {
   tmp_str0005 = Is_0000;
   Ii_00E4 = perform_order_op(1, Gd_002A, Id_0098, (int)Id_0030, Id_0098, 0, 0, tmp_str0005, Ii_0084, 0, 11823615);
   if (Ii_00E4 < 0) { 
   Print(Id_00D0, "Error: ", GetLastError());
   return ;
   } 
   Gd_002F = 0;
   Gi_0030 = 0;
   Gi_0031 = 0;
   Gi_005A = OrdersTotal() - 1;
   Gi_0032 = Gi_005A;
   if (Gi_005A >= 0) { 
   do { 
   order_check = OrderSelect(Gi_0032, 0, 0);
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084 && OrderType() == OP_BUY) { 
   Gi_0030 = OrderTicket();
   if (Gi_0030 > Gi_0031) { 
   Gd_002F = OrderOpenPrice();
   Gi_0031 = Gi_0030;
   }} 
   Gi_0032 = Gi_0032 - 1;
   } while (Gi_0032 >= 0); 
   } 
   Id_00A8 = Gd_002F;
   Ib_00E8 = true;
   Sleep(1500);
   }}
   else{
   Gd_0035 = 0;
   Gi_0036 = 0;
   returned_i = MoneyManagementType;
   if (returned_i == 0) {

   Gd_0035 = Id_0038;
   }
   if (returned_i == 1) {

   returned_double = MathPow(Id_0028, Ii_00CC);
   Gd_0035 = NormalizeDouble((Id_0038 * returned_double), (int)Id_0010);
   }
   if (returned_i == 2) {

   Gi_0036 = 0;
   Gd_0035 = Id_0038;
   Gi_005B = HistoryTotal() - 1;
   Gi_0037 = Gi_005B;
   if (Gi_005B >= 0) {
   do { 
   if (!OrderSelect(Gi_0037, 0, 1)) {
   Gd_0033 = -3;
   break;
   }
   if (OrderSymbol() == _Symbol && OrderMagicNumber() == Ii_0084) { 
   Gl_005B = OrderCloseTime();
   Gl_005C = Gi_0036;
   if (Gl_005C < Gl_005B) { 
   Gi_0036 = (int)OrderCloseTime();
   if ((OrderProfit() < 0)) { 
   Gd_0035 = NormalizeDouble((OrderLots() * Id_0028), (int)Id_0010);
   } 
   else { 
   Gd_0035 = Id_0038;
   }}} 
   Gi_0037 = Gi_0037 - 1;
   } while (Gi_0037 >= 0); 
   }}
   if ((Acc

Показано первые 50% кода (символов: 36538)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
3 653,80₽ ≈ $44.66