smart_machine_3.4.0.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «smart_machine_3.4.0.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Smart Machine 3.4.0 — торговый советник для MetaTrader 4, работающий в режиме реального времени на каждом тике. Советник поддерживает сеточную стратегию усреднения с настраиваемыми параметрами лота, стоп-лосса, тейк-профита и шага между позициями. Включает три режима управления денежными средствами: фиксированный лот, расчёт с множителем и корректировка на основе истории закрытых сделок. Советник отображает на графике информационную панель с логотипом, текущим временем торговли и дневной статистикой прибыли, а также реализует защиту от просадки с автоматическим закрытием всех позиций при достижении заданного лимита убытка.
Настройки программы
| Настройка | Описание |
|---|---|
| Strategy | Стратегия усреднения — Включает или отключает режим усреднения позиций (1 — OFF, 2 — ON). |
| MoneyManagementType | Тип управления лотом — Выбирает метод расчёта размера лота: фиксированный, с множителем или на основе истории сделок. |
| Multiplikator | Множитель лота — Множитель, используемый при расчёте размера лота в режиме с множителем. |
| InitialLot | Начальный лот — Описание объёма первой позиции (отображается как подсказка в интерфейсе). |
| TypeSelection | Тип выбора лота — Описание режима выбора лота: постоянный или расчётный от баланса. |
| Constant_or_Balance | Постоянный лот или от баланса — Переключатель между фиксированным размером лота и автоматическим расчётом от баланса счёта. |
| ConstantLot | Постоянный размер лота — Фиксированный размер лота при включённом режиме постоянного лота. |
| Percentage_Of_Autolot_Volume | Процент от баланса для автолота — Процент от текущего баланса, используемый для автоматического расчёта размера лота. |
| TakeProfit | Тейк-профит — Уровень фиксации прибыли в пунктах для каждой позиции. |
| Step | Шаг сетки — Расстояние между позициями в пунктах для сеточной стратегии усреднения. |
| MaxOrders | Максимум ордеров — Максимально допустимое количество одновременно открытых позиций. |
| Riskmanagment | Управление рисками — Описание механизма закрытия всех позиций при достижении заданного уровня убытка. |
| Use_Restrictions | Использовать ограничения — Включает или отключает автоматическое закрытие позиций при превышении допустимой просадки. |
| LimitSize | Лимит просадки — Процент от equity, при превышении которого происходит принудительное закрытие всех позиций. |
| 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 ((AccountFreeMarginCheck(_Symbol, 0, Gd_0035) <= 0)) {
Gd_0033 Показано первые 50% кода (символов: 36538)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.