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

ea batupenjuru .mq4

Вы автор или правообладатель?

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

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

О программе

Советник разработан для платформы MetaTrader 4 на языке MQL4. Он предназначен для автоматической торговли на валютном рынке, обрабатывая события тиков и управляя торговыми позициями. При запуске проверяется активация советника и разрешение на торговлю, при отсутствии которых выводятся соответствующие предупреждения.

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

Встроен фильтр по времени, позволяющий ограничить торговлю заданным временем суток. Реализован мониторинг совокупной прибыли и убытков с возможностью закрытия всех позиций при достижении пороговых значений. На графике отображается информация об аккаунте: баланс, эквити, кредитное плечо, название брокера и номер счёта.

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

НастройкаОписание
_EA _EA — Идентификационный текстовый параметр советника
Magic Magic — Магический номер для идентификации ордеров советника
Lots_OP_1 Lots_OP_1 — Объём лота для первого уровня
Lots_OP_2 Lots_OP_2 — Объём лота для второго уровня
Lots_OP_3 Lots_OP_3 — Объём лота для третьего уровня
Lots_OP_4 Lots_OP_4 — Объём лота для четвёртого уровня
Lots_OP_5 Lots_OP_5 — Объём лота для пятого уровня
Lots_OP_6 Lots_OP_6 — Объём лота для шестого уровня
Lots_OP_7 Lots_OP_7 — Объём лота для седьмого уровня
Lots_OP_8 Lots_OP_8 — Объём лота для восьмого уровня
Lots_OP_9 Lots_OP_9 — Объём лота для девятого уровня
Lots_OP_10 Lots_OP_10 — Объём лота для десятого уровня
TakeProfit_1 TakeProfit_1 — Значение тейк-профита в пунктах для первого уровня
TakeProfit_2 TakeProfit_2 — Значение тейк-профита в пунктах для второго уровня
TakeProfit_3 TakeProfit_3 — Значение тейк-профита в пунктах для третьего уровня
TakeProfit_4 TakeProfit_4 — Значение тейк-профита в пунктах для четвёртого уровня
TakeProfit_5 TakeProfit_5 — Значение тейк-профита в пунктах для пятого уровня
TakeProfit_6 TakeProfit_6 — Значение тейк-профита в пунктах для шестого уровня
TakeProfit_7 TakeProfit_7 — Значение тейк-профита в пунктах для седьмого уровня
TakeProfit_8 TakeProfit_8 — Значение тейк-профита в пунктах для восьмого уровня
TakeProfit_9 TakeProfit_9 — Значение тейк-профита в пунктах для девятого уровня
TakeProfit_10 TakeProfit_10 — Значение тейк-профита в пунктах для десятого уровня
Step_2 Step_2 — Шаг в пунктах для второго уровня
Step_3 Step_3 — Шаг в пунктах для третьего уровня
Step_4 Step_4 — Шаг в пунктах для четвёртого уровня
Step_5 Step_5 — Шаг в пунктах для пятого уровня
Step_6 Step_6 — Шаг в пунктах для шестого уровня
Step_7 Step_7 — Шаг в пунктах для седьмого уровня
Step_8 Step_8 — Шаг в пунктах для восьмого уровня
Step_9 Step_9 — Шаг в пунктах для девятого уровня
Step_10 Step_10 — Шаг в пунктах для десятого уровня
Max_Level Max_Level — Максимальное количество уровней открытых позиций
_TIMEFILTER _TIMEFILTER — Текстовая метка группы настроек фильтра по времени
Use_TimeFilter Use_TimeFilter — Включение или отключение фильтра по времени
StartHour StartHour — Час начала торговой сессии для фильтра по времени
EndHour EndHour — Час окончания торговой сессии для фильтра по времени
Получить полный код

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

extern string _EA = "________EA BP6097183_______";
extern int Magic = 19572411;
extern double Lots_OP_1 = 0.01;
extern double Lots_OP_2 = 0.03;
extern double Lots_OP_3 = 0.09;
extern double Lots_OP_4 = 0.27;
extern double Lots_OP_5 = 0.81;
extern double Lots_OP_6 = 2.43;
extern double Lots_OP_7 = 7.29;
extern double Lots_OP_8 = 21.87;
extern double Lots_OP_9 = 65.61;
extern double Lots_OP_10 = 196.83;
extern int TakeProfit_1 = 10;
extern int TakeProfit_2 = 30;
extern int TakeProfit_3 = 30;
extern int TakeProfit_4 = 30;
extern int TakeProfit_5 = 30;
extern int TakeProfit_6 = 30;
extern int TakeProfit_7 = 30;
extern int TakeProfit_8 = 30;
extern int TakeProfit_9 = 30;
extern int TakeProfit_10 = 30;
extern int Step_2 = 25;
extern int Step_3 = 30;
extern int Step_4 = 35;
extern int Step_5 = 40;
extern int Step_6 = 45;
extern int Step_7 = 50;
extern int Step_8 = 55;
extern int Step_9 = 60;
extern int Step_10 = 70;
extern int Max_Level = 10;
string gs_unused_248 = "________TP SL MONEY_______";
double gd_256 = 0.0;
double gd_264 = 0.0;
extern string _TIMEFILTER = "_______ TIME FILTER BROKER TIME _______";
extern bool Use_TimeFilter = FALSE;
extern int StartHour = 0;
extern int EndHour = 24;
int gi_292;
int gi_296;
int gi_300;
string gs_unused_304;
int gi_312 = 0;
double gd_316;
double gd_324;
double g_minlot_332;
int gi_356;
int gi_360;
int g_slippage_364 = 10;
int gi_368;
int gi_372;
double g_order_lots_376;
double g_order_open_price_384;
double g_order_lots_392;
double g_order_open_price_400;
double g_order_open_price_408;
double g_order_lots_416;
int g_cmd_424;
int g_count_428;
int g_count_432;
int g_order_total_436;
int g_count_440;
int g_count_444;
bool g_is_closed_448;
bool g_is_deleted_452;
int g_datetime_456;
double gd_476;
int gi_unused_484 = 0;
int g_count_488;
double g_order_takeprofit_492;
double g_order_takeprofit_500;
int gi_508;

int init() {
      // код доступен только после оплаты
   }

int deinit() {
   return (0);
}

int start() {
      // код доступен только после оплаты
   }

void f0_11(int a_cmd_0, double ad_4) {
   for (g_order_total_436 = OrdersTotal(); g_order_total_436 >= 0; g_order_total_436--) {
      if(!OrderSelect(g_order_total_436, SELECT_BY_POS, MODE_TRADES)) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == a_cmd_0)
         if (NormalizeDouble(OrderTakeProfit(), Digits) != NormalizeDouble(ad_4, Digits)) 
         bool Ord_modi=OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(ad_4, Digits), 0, CLR_NONE);
   }
}

void f0_3(int a_cmd_0, double ad_4) {
   for (g_order_total_436 = OrdersTotal(); g_order_total_436 >= 0; g_order_total_436--) {
      if(!OrderSelect(g_order_total_436, SELECT_BY_POS, MODE_TRADES)) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == a_cmd_0)
         if (NormalizeDouble(OrderStopLoss(), Digits) != NormalizeDouble(ad_4, Digits)) 
         bool Ord_modi=OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(ad_4, Digits), OrderTakeProfit(), 0, CLR_NONE);
   }
}

double f0_1() {
   double ld_ret_0 = 0;
   for (g_order_total_436 = 0; g_order_total_436 < OrdersTotal(); g_order_total_436++) {
      if(!OrderSelect(g_order_total_436, SELECT_BY_POS, MODE_TRADES)) continue;
      if ((OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY) || OrderType() == OP_SELL) ld_ret_0 = ld_ret_0 + OrderProfit() + OrderSwap() + OrderCommission();
   }
   return (ld_ret_0);
}

double f0_6(int ai_0) {
   double ld_4 = Lots_OP_10;
   switch (ai_0) {
   case 0:
      ld_4 = Lots_OP_1;
      break;
   case 1:
      ld_4 = Lots_OP_2;
      break;
   case 2:
      ld_4 = Lots_OP_3;
      break;
   case 3:
      ld_4 = Lots_OP_4;
      break;
   case 4:
      ld_4 = Lots_OP_5;
      break;
   case 5:
      ld_4 = Lots_OP_6;
      break;
   case 6:
      ld_4 = Lots_OP_7;
      break;
   case 7:
      ld_4 = Lots_OP_8;
      break;
   case 8:
      ld_4 = Lots_OP_9;
      break;
   case 9:
      ld_4 = Lots_OP_10;
   }
   gd_316 = NormalizeDouble(MarketInfo(Symbol(), MODE_MINLOT), gi_356);
   gd_324 = NormalizeDouble(MarketInfo(Symbol(), MODE_MAXLOT), gi_356);
   if (ld_4 < gd_316) ld_4 = gd_316;
   if (ld_4 > gd_324) ld_4 = gd_324;
   ld_4 = NormalizeDouble(ld_4, gi_356);
   return (ld_4);
}

double f0_5(int ai_0) {
   double ld_ret_4 = TakeProfit_10;
   switch (ai_0) {
   case 0:
      ld_ret_4 = TakeProfit_1;
      break;
   case 1:
      ld_ret_4 = TakeProfit_2;
      break;
   case 2:
      ld_ret_4 = TakeProfit_3;
      break;
   case 3:
      ld_ret_4 = TakeProfit_4;
      break;
   case 4:
      ld_ret_4 = TakeProfit_5;
      break;
   case 5:
      ld_ret_4 = TakeProfit_6;
      break;
   case 6:
      ld_ret_4 = TakeProfit_7;
      break;
   case 7:
      ld_ret_4 = TakeProfit_8;
      break;
   case 8:
      ld_ret_4 = TakeProfit_9;
      break;
   case 9:
      ld_ret_4 = TakeProfit_10;
   }
   if (ld_ret_4 * gi_360 < gi_372 && ld_ret_4 != 0.0) ld_ret_4 = gi_372 / gi_360;
   return (ld_ret_4);
}

double f0_4(int ai_0) {
   double ld_ret_4 = Step_10;
   switch (ai_0) {
   case 1:
      ld_ret_4 = Step_2;
      break;
   case 2:
      ld_ret_4 = Step_3;
      break;
   case 3:
      ld_ret_4 = Step_4;
      break;
   case 4:
      ld_ret_4 = Step_5;
      break;
   case 5:
      ld_ret_4 = Step_6;
      break;
   case 6:
      ld_ret_4 = Step_7;
      break;
   case 7:
      ld_ret_4 = Step_8;
      break;
   case 8:
      ld_ret_4 = Step_9;
      break;
   case 9:
      ld_ret_4 = Step_10;
   }
   if (ld_ret_4 * gi_360 < gi_372 && ld_ret_4 != 0.0) ld_ret_4 = gi_372 / gi_360;
   return (ld_ret_4);
}

void f0_8(int ai_0, string as_4, string as_12) {
   int li_20;
   int li_24;
   if ((!IsTradeAllowed()) || !IsExpertEnabled()) {
      ObjectDelete("baris0");
      return;
   }
   switch (ai_0) {
   case 1:
      li_20 = 40;
      li_24 = 60;
      break;
   case 2:
      li_20 = 40;
      li_24 = 75;
      break;
   case 3:
      li_20 = 40;
      li_24 = 90;
      break;
   case 4:
      li_20 = 40;

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

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

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

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

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

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

Стоимость полного кода
1 498,90₽ ≈ $18.32