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

ea9.mq4

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

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

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

О программе

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

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

НастройкаОписание
_EA Название EA — Текстовая метка для идентификации советника в списке параметров.
Magic Магический номер — Уникальный номер для идентификации ордеров советника на счёте.
Lots Объём лота — Начальный размер лота для открытия позиций.
TakeProfit_OP1 Тейк-профит начальных ордеров — Размер тейк-профита в пунктах для первоначальных позиций.
TakeProfit_Marti Тейк-профит мартингейла — Дополнительный размер тейк-профита для последующих уровней сетки.
StopLoss Стоп-лосс — Размер стоп-лосса в пунктах для позиций.
Step Шаг сетки — Шаг добавления уровней в пунктах.
Max_Level Максимальный уровень — Максимальное количество уровней сетки.
Stop_Buy Запрет покупки — Если включён, советник не открывает новые позиции на покупку.
Stop_Sell Запрет продажи — Если включён, советник не открывает новые позиции на продажу.
_TIMEFILTER Фильтр времени — Текстовая метка для группы настроек фильтра времени.
Use_TimeFilter Использовать фильтр времени — Включает или отключает ограничение торговли по времени.
StartHour Начальный час — Час начала разрешённого окна торговли.
EndHour Конечный час — Час окончания разрешённого окна торговли.
Получить полный код

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

extern string _EA = "______Super COMBO_______";
extern int Magic = 201200727;
extern double Lots = 0.01;
extern int TakeProfit_OP1 = 10;
extern int TakeProfit_Marti = 10;
extern int StopLoss = 0;
extern int Step = 20;
extern int Max_Level = 12;
extern bool Stop_Buy = FALSE;
extern bool Stop_Sell = FALSE;
extern string _TIMEFILTER = "_______ TIME FILTER BROKER TIME _______";
extern bool Use_TimeFilter = FALSE;
extern int StartHour = 0;
extern int EndHour = 24;
int Gi_156;
int Gi_160;
int Gi_164;
string Gs_unused_168;
double Gd_176 = 2.0;
int Gi_184 = 0;
double G_lots_188;
double G_lots_196;
double G_minlot_204;
int Gi_212;
int Gi_216;
int G_slippage_220 = 10;
int Gi_224;
int Gi_228;
double G_order_lots_232;
double G_order_open_price_240;
double G_order_lots_248;
double G_order_open_price_256;
double G_order_open_price_264;
double G_order_lots_272;
int G_cmd_280;
int G_count_284;
int G_count_288;
int G_order_total_292;
int G_count_296;
int G_count_300;
bool G_is_closed_304;
bool G_is_deleted_308;
int G_datetime_312;
double Gd_unused_316;
double Gd_324;
double Gd_332;
double G_order_takeprofit_340;
double G_order_stoploss_348;
int G_count_356 = 0;
int G_count_360 = 0;
double G_order_takeprofit_364;
double G_order_takeprofit_372;
double G_order_stoploss_380;
double G_order_stoploss_388;
double Gd_396;
double Gd_404;
string Gs_412;
int G_pos_420;
double G_order_lots_424;
double Gd_432;

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

int deinit() {
   return (0);
}

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

void f0_3(int A_cmd_0) {
   for (G_order_total_292 = OrdersTotal(); G_order_total_292 >= 0; G_order_total_292--) {
      OrderSelect(G_order_total_292, SELECT_BY_POS, MODE_TRADES);
      if (OrderType() == A_cmd_0 && OrderSymbol() == Symbol() && OrderMagicNumber() == Magic || OrderComment() == Gs_412) {
         G_order_lots_272 = OrderLots();
         G_pos_420 = G_order_total_292;
         return;
      }
   }
}

void f0_7(int A_cmd_0) {
   for (G_order_total_292 = G_pos_420 - 1; G_order_total_292 >= 0; G_order_total_292--) {
      OrderSelect(G_order_total_292, SELECT_BY_POS, MODE_TRADES);
      if (OrderType() == A_cmd_0 && OrderSymbol() == Symbol() && OrderMagicNumber() == Magic || OrderComment() == Gs_412) {
         G_order_lots_424 = OrderLots();
         return;
      }
   }
}

double f0_8(int Ai_0, int Ai_4) {
   double Ld_8;
   f0_3(Ai_4);
   f0_7(Ai_4);
   int Li_16 = Ai_0;
   if (Li_16 == 1) Ld_8 = 2.0 * Lots;
   else Ld_8 = G_order_lots_424 + G_order_lots_272;
   Ld_8 = NormalizeDouble(Ld_8, Gi_212);
   return (Ld_8);
}

double f0_11(int A_cmd_0) {
   double Ld_4 = 0;
   double Ld_12 = 0;
   double Ld_ret_20 = 0;
   for (G_order_total_292 = 0; G_order_total_292 < OrdersTotal(); G_order_total_292++) {
      OrderSelect(G_order_total_292, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == A_cmd_0) {
         Ld_4 += OrderLots();
         Ld_12 += OrderLots() * OrderOpenPrice();
      }
   }
   if (Ld_4 != 0.0) Ld_ret_20 = Ld_12 / Ld_4;
   else Ld_ret_20 = 0;
   return (Ld_ret_20);
}

void f0_1(int A_cmd_0, double Ad_4) {
   for (G_order_total_292 = OrdersTotal(); G_order_total_292 >= 0; G_order_total_292--) {
      OrderSelect(G_order_total_292, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == A_cmd_0)
         if (NormalizeDouble(OrderTakeProfit(), Digits) != NormalizeDouble(Ad_4, Digits)) OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(Ad_4, Digits), 0, CLR_NONE);
   }
}

void f0_10(int A_cmd_0, double Ad_4) {
   for (G_order_total_292 = OrdersTotal(); G_order_total_292 >= 0; G_order_total_292--) {
      OrderSelect(G_order_total_292, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == A_cmd_0)
         if (NormalizeDouble(OrderStopLoss(), Digits) != NormalizeDouble(Ad_4, Digits)) OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Ad_4, Digits), OrderTakeProfit(), 0, CLR_NONE);
   }
}

void f0_5(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;
      Li_24 = 105;
      break;
   case 5:
      Li_20 = 40;
      Li_24 = 120;
      break;
   case 6:
      Li_20 = 40;
      Li_24 = 135;
      break;
   case 7:
      Li_20 = 40;
      Li_24 = 150;
      break;
   case 8:
      Li_20 = 40;
      Li_24 = 165;
      break;
   case 9:
      Li_20 = 40;
      Li_24 = 180;
      break;
   case 10:
      Li_20 = 40;
      Li_24 = 195;
      break;
   case 11:
      Li_20 = 40;
      Li_24 = 210;
      break;
   case 12:
      Li_20 = 40;
      Li_24 = 225;
      break;
   case 13:
      Li_20 = 40;
      Li_24 = 240;
      break;
   case 14:
      Li_20 = 40;
      Li_24 = 25

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

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

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

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

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

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

Стоимость полного кода
1 325,50₽ ≈ $16.20