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

robot 2050_ long.mq4

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

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

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

О программе

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

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

НастройкаОписание
Lots Лот — Начальный размер лота для новых сделок
MaxTrades Максимум сделок — Максимальное количество одновременных сделок на символе
UseHourTrade Часовая торговля — Включает или отключает ограничение торговли по часам
StartHour Час начала — Час начала торгового окна по серверному времени
EndHour Час окончания — Час окончания торгового окна по серверному времени
Получить полный код

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

/*
   Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
   Website: 
   E-mail : p******m*@gmail.com
*/

#property show_inputs

int gi_76 = 1;
bool gi_80 = FALSE;
bool gi_84 = TRUE;
double gd_88 = 1.08;
double g_slippage_96 = 5.0;
extern double Lots = 0.01;
int gd_112 = 2;
double g_pips_120 = 10.0;
double g_pips_128 = 0.0;
double gd_136 = 10.0;
double gd_144 = 10.0;
double g_pips_152 = 10.0;
extern int MaxTrades = 100;
bool gi_164 = FALSE;
double gd_168 = 20.0;
bool gi_176 = TRUE;
bool gi_180 = FALSE;
double gd_184 = 0.0;
bool gi_192 = FALSE;
extern bool UseHourTrade = FALSE;
extern int StartHour = 0;
extern int EndHour = 8;
int g_magic_208 = 12324;
double g_price_212;
double gd_220;
double gd_unused_228;
double gd_unused_236;
double g_price_244;
double g_bid_252;
double g_ask_260;
double gd_268;
double gd_276;
double gd_284;
bool gi_292;
string gs_296 = "Robot 2050";
int g_time_304 = 0;
int gi_308;
int gi_312 = 0;
double gd_316;
int g_pos_324 = 0;
int gi_328;
double gd_332 = 0.0;
bool gi_340 = FALSE;
bool gi_344 = FALSE;
bool gi_348 = FALSE;
int gi_352;
bool gi_356 = FALSE;
int g_datetime_360 = 0;
int g_datetime_364 = 0;
double gd_368;
double gd_376;

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

int deinit() {
   return (0);
}

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

double ND(double ad_0) {
   return (NormalizeDouble(ad_0, Digits));
}

int fOrderCloseMarket(bool ai_0 = TRUE, bool ai_4 = TRUE) {
   int li_ret_8 = 0;
   for (int l_pos_12 = OrdersTotal() - 1; l_pos_12 >= 0; l_pos_12--) {
      if (OrderSelect(l_pos_12, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_208) {
            if (OrderType() == OP_BUY && ai_0) {
               RefreshRates();
               if (!IsTradeContextBusy()) {
                  if (!OrderClose(OrderTicket(), OrderLots(), ND(Bid), 5, CLR_NONE)) {
                     Print("Error close BUY " + OrderTicket());
                     li_ret_8 = -1;
                  }
               } else {
                  if (g_datetime_360 != iTime(NULL, 0, 0)) {
                     g_datetime_360 = iTime(NULL, 0, 0);
                     Print("Need close BUY " + OrderTicket() + ". Trade Context Busy");
                  }
                  return (-2);
               }
            }
            if (OrderType() == OP_SELL && ai_4) {
               RefreshRates();
               if (!IsTradeContextBusy()) {
                  if (!OrderClose(OrderTicket(), OrderLots(), ND(Ask), 5, CLR_NONE)) {
                     Print("Error close SELL " + OrderTicket());
                     li_ret_8 = -1;
                  }
               } else {
                  if (g_datetime_364 != iTime(NULL, 0, 0)) {
                     g_datetime_364 = iTime(NULL, 0, 0);
                     Print("Need close SEL

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

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

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

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

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

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

Стоимость полного кода
1 467,20₽ ≈ $17.93