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

logical scalper v.1.892.mq4

Похожие материалы по тегам

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговsma crossover scalper ea for mt4.mq4MQL4 / MetaTrader 4 · 1 общих теговr15 pivot points expert advisor by @fundedmillionairess.mq4MQL4 / MetaTrader 4 · 1 общих теговnewstrader.mq5MQL5 / MetaTrader 5 · 1 общих теговmm3.0_flip_codepro_v3.1_with_cooldown@lifeindreamsworld.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

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

В основе работы лежит комбинация нескольких технических инструментов: скользящие средние (iMA), полосы Энвелопс (iEnvelopes), осциллятор OsMA (iOsMA) и пользовательский индикатор дивергенции. Советник оценивает одновременные сигналы этих индикаторов перед открытием позиции.

Торговые операции выполняются через стандартные функции торгового API MQL4 (OrderSend, OrderModify). Поддерживается управление позициями с использованием фиксированного стоп-лосса, тейк-профита и трейлинг-стопа. Также реализована функция оптимизации объёма позиции на основе свободных средств на счёте.

Советник содержит предустановки параметров для различных валютных пар и включает проверку допустимого торгового времени. Логика работы управляется рядом внутренних переключателей, позволяющих включать или отключать отдельные модули анализа.

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

НастройкаОписание
TakeProfit Тейк-профит — Уровень тейк-профита в пунктах
StopLoss Стоп-лосс — Уровень стоп-лосса в пунктах
TrailingStop Трейлинг-стоп — Расстояние трейлинг-стопа в пунктах
Lots Объём лота — Фиксированный объём торговой позиции при отключённом управлении риском
MM Управление риском — Переключатель автоматического расчёта объёма лота на основе свободных средств
MaximumRisk Максимальный риск — Максимальная доля свободных средств на счёте, используемая для расчёта объёма
DecreaseFactor Фактор уменьшения — Коэффициент уменьшения объёма лота при наличии убыточных сделок в истории
MAPeriod Период MA — Период расчёта скользящей средней
MABars Смещение MA — Количество баров для сравнения значений скользящей средней
Percent Процент Энвелопс — Ширина полос Энвелопс в виде процентного значения
EnvPer Период Энвелопс — Период расчёта полос Энвелопс
OscPer1 Период OsMA (быстрый) — Быстрый период осциллятора OsMA
OscPer2 Период OsMA (медленный) — Медленный период осциллятора OsMA
OscSigPer Период сигнала OsMA — Период сигнальной линии осциллятора OsMA
FT_Per Период дивергенции 1 — Первый период для расчёта индикатора дивергенции
SL_Per Период дивергенции 2 — Второй период для расчёта индикатора дивергенции
TradeRatio Коэффициент торговли — Пороговое значение дивергенции для входа в сделку
TradeOffRatio Коэффициент отката — Верхний порог дивергенции для допустимого входа в сделку
Comm Комментарий — Текстовый комментарий, присваиваемый торговым ордерам
Получить полный код

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

extern int TakeProfit = 44;
extern int StopLoss = 80;
extern int TrailingStop = 40;
bool gi_88 = FALSE;
bool gi_92 = FALSE;
extern double Lots = 1.0;
extern bool MM = TRUE;
extern double MaximumRisk = 10.0;
extern double DecreaseFactor = 2.0;
bool gi_124 = TRUE;
bool gi_128 = TRUE;
bool gi_132 = TRUE;
bool gi_136 = TRUE;
bool gi_140 = TRUE;
bool gi_144 = TRUE;
extern int MAPeriod = 3;
extern int MABars = 14;
extern double Percent = 0.0026;
extern int EnvPer = 6;
extern int OscPer1 = 23;
extern int OscPer2 = 17;
extern double OscSigPer = 15.0;
int gi_184 = 0;
int gi_188 = 24;
int gi_192 = 0;
int gi_196 = 0;
int gi_200 = 0;
int gi_204 = 0;
int gi_208 = 0;
int gi_212 = 0;
extern int FT_Per = 25;
extern int SL_Per = 36;
int gi_224 = 1;
int gi_228 = 1;
extern double TradeRatio = 0.00042;
extern double TradeOffRatio = 0.05;
extern string Comm = "Logical Scalper";
int g_magic_256;
int gi_unused_260;

double setpoint() {
   double ld_ret_0;
   if (Digits == 3) ld_ret_0 = 0.01;
   else
      if (Digits == 5) ld_ret_0 = 0.0001;
   return (ld_ret_0);
}

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

int CalculateCurrentOrders(string as_unused_0) {
   int l_count_8 = 0;
   int l_count_12 = 0;
   for (int l_pos_16 = 0; l_pos_16 < OrdersTotal(); l_pos_16++) {
      if (OrderSelect(l_pos_16, SELECT_BY_POS, MODE_TRADES) == FALSE) break;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_256) {
         if (OrderType() == OP_BUY) l_count_8++;
         if (OrderType() == OP_SELL) l_count_12++;
      }
   }
   if (l_count_8 > 0) return (l_count_8);
   return (-l_count_12);
}

double LotsOptimized() {
   double ld_ret_0 = Lots;
   int l_hist_total_8 = OrdersHistoryTotal();
   int l_count_12 = 0;
   ld_ret_0 = NormalizeDouble(0.00001 * (AccountFreeMargin() * MaximumRisk), 1);
   if (DecreaseFactor > 0.0) {
      for (int l_pos_16 = l_hist_total_8 - 1; l_pos_16 >= 0; l_pos_16--) {
         if (OrderSelect(l_pos_16, SELECT_BY_POS, MODE_HISTORY) == FALSE) {
            Print("Error in history!");
            break;
         }
         if (OrderSymbol() != Symbol() || OrderType() > OP_SELL) continue;
         if (OrderProfit() > 0.0) break;
         if (OrderProfit() < 0.0) l_count_12++;
      }
      if (l_count_12 > 1) ld_ret_0 = NormalizeDouble(ld_ret_0 - ld_ret_0 * l_count_12 / DecreaseFactor, 1);
   }
   if (ld_ret_0 < 0.1) ld_ret_0 = 0.1;
   if (MM == FALSE) ld_ret_0 = Lots;
   if (gi_92 == TRUE) ld_ret_0 /= 10.0;
   return (ld_ret_0);
}

void CheckForOpen() {
   int l_ticket_0;
   int l_hour_4;
   int li_8;
   if (gi_88 == TRUE) {
      if (Symbol() == "USDJPY" || Symbol() == "USDJPYm") {
         MAPeriod = 2;
         MABars = 18;
         Percent = 0.0032;
         TakeProfit = 42;
         StopLoss = 84;
         TrailingStop = 0;
         OscPer1 = 5;
         OscPer2 = 22;
         OscSigPer = 2;
         EnvPer = 2;
         FT_Per = 25;
         SL_Per = 15;
         TradeRatio = 0.0029;
         TradeOffRatio = 0.024;
      }
      if (Symbol() == "EURJPY" || Symbol() == "EURJPYm") {
         MAPeriod = 18;
         MABars = 10;
         Percent = 0.018;
         TakeProfit = 42;
         StopLoss = 84;
         TrailingStop = 0;
         OscPer1 = 5;
         OscPer2 = 30;
         OscSigPer = 5;
         EnvPer = 6;
         FT_Per = 30;
         SL_Per = 16;
         TradeRatio = 0.0052;
         TradeOffRatio = 0.027;
      }
      if (Symbol() == "GBPJPY" || Symbol() == "GBPJPYm") {
         MAPeriod = 8;
         MABars = 12;
         Percent = 0.0072;
         TakeProfit = 42;
         StopLoss = 84;
         TrailingStop = 0;
         OscPer1 = 5;
         OscPer2 = 36;
         OscSigPer = 10;
         EnvPer = 2;
         FT_Per = 17;
         SL_Per = 28;
         TradeRatio = 0.0034;
         TradeOffRatio = 0.063;
      }
      if (Symbol() == "CHFJPY" || Symbol() == "CHFJPYm") {
         MAPeriod = 30;
         MABars = 4;
         Percent = 0.012;
         TakeProfit = 42;
         StopLoss = 84;
         TrailingStop = 0;
         OscPer1 = 7;
         OscPer2 = 45;
         OscSigPer = 8;
         EnvPer = 20;
         FT_Per = 52;
         SL_Per = 29;
         TradeRatio = 0.0016;
         TradeOffRatio = 0.034;
      }
      if (Symbol() == "EURUSD" || Symbol() == "EURUSDm") {
         MAPeriod = 11;
         MABars = 50;
         Percent = 0.001;
         TakeProfit = 42;
         StopLoss = 84;
         TrailingStop = 0;
         OscPer1 = 8;
         OscPer2 = 40;
         OscSigPer = 10;
         EnvPer = 20;
         FT_Per = 4;
         SL_Per = 15;
         TradeRatio = 0.0003;
         TradeOffRatio = 0.006;
      }
      if (Symbol() == "GBPUSD" || Symbol() == "GBPUSDm") {
         MAPeriod = 3;
         MABars = 14;
         Percent = 0.0023;
         TakeProfit = 42;
         StopLoss = 84;
         TrailingStop = 0;
         OscPer1 = 23;
         OscPer2 = 17;
         OscSigPer = 15;
         EnvPer = 6;
         FT_Per = 25;
         SL_Per = 37;
         TradeRatio = 0.00042;
         TradeOffRatio = 0.05;
      }
      if (Symbol() == "USDCHF" || Symbol() == "USDCHFm") {
         MAPeriod = 5;
         MABars = 9;
         Percent = 0.0056;
         TakeProfit = 42;
         StopLoss = 84;
         TrailingStop = 0;
         OscPer1 = 5;
         OscPer2 = 12;
         OscSigPer = 11;
         EnvPer = 10;
         FT_Per = 5;
         SL_Per = 20;
         TradeRatio = 0.00022;
         TradeOffRatio = 0.0015;
      }
      if (Symbol() == "GBPCHF" || Symbol() == "GBPCHFm") {
         MAPeriod = 10;
         MABars = 20;
         Percent = 0.034;
         TakeProfit = 42;
         StopLoss = 84;
         TrailingStop = 0;
         OscPer1 = 9;
         OscPer2 = 30;
         OscSigPer = 4;
         EnvPer = 7;
         FT_Per = 25;
         SL_Per = 50;
         TradeRatio = 0.001;
         TradeOffRatio = 0.03;
      }
      if (Symbol() == "AUDUSD" || Symbol() == "AUDUSDm") {
         MAPeriod = 12;
         MABars = 2;
         Percent = 0.008;
         TakeProfit = 24;
         StopLoss = 46;

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

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

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

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

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

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

Стоимость полного кода
838,50₽ ≈ $10.25