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

MASYUK V3

ea masyuk v3..mq4
Вы автор или правообладатель?

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

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

О программе

MASYUK V3 — это торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник автоматически открывает и управляет сделками на основе технических индикаторов и параметров, заданных пользователем.

В работе используются два стандартных индикатора — Parabolic SAR и скользящая средняя, — для определения направления позиции. Советник поддерживает как покупку, так и продажу, а также модификацию существующих ордеров.

Реализована система управления размером лота с возможностью увеличения в зависимости от текущей ситуации на счёте. Также предусмотрены ограничения по дням недели и времени для контроля торговой активности.

Советник отображает ключевые параметры счёта (эквити, свободный маржин, просадку, прибыль) прямо на графике через функцию комментариев.

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

НастройкаОписание
MagicNo Магический номер — Магический номер для идентификации ордеров, открытых данным советником.
Lots Размер лота — Начальный объём лота для открытия позиции.
Pips Пункты — Расстояние в пунктах, при превышении которого стоимость позиции от цены открытия запускает дополнительное открытие ордера.
TakeProfit Тейк-профит — Уровень тейк-профита в пунктах, задаваемый при открытии позиции.
Multiplier Множитель лота — Множитель, используемый при расчёте размера лота при увеличении позиции.
MaxTrades Максимальное количество сделок — Максимальное количество одновременно открытых позиций, управляемых советником.
Pengurusan_Hari Управление днями — Текстовый параметр-заголовок, описывающий настройку управления торговыми днями.
Jumlah_Hari_Trade Количество дней торговли — Количество дней торговли в неделю (от 0 до 7), определяющее, на какие дни недели разрешена торговля.
Pengurusan_Masa Управление временем — Текстовый параметр-заголовок, описывающий настройку управления временем торговли.
Waktu_Tamat Время завершения — Час завершения торговли в последний торговый день (по серверному времени).
slippage Проскальзывание — Допустимое проскальзывание цены при выполнении ордеров.
Step Шаг SAR — Шаг (значение ускорения) для индикатора Parabolic SAR.
Max Максимум SAR — Верхний предел для параметра внутреннего индикатора Parabolic SAR.
Получить полный код

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

extern int MagicNo = 130883;
extern double Lots = 0.01;
extern int Pips = 30;
extern double TakeProfit = 45.0;
extern double Multiplier = 1.799;
extern int MaxTrades = 10;
extern string Pengurusan_Hari = "Hari Off EA - Jumlah hari berforex";
extern int Jumlah_Hari_Trade = 5;
extern string Pengurusan_Masa = "Waktu Off EA hari terakhir - Ikut jam server";
extern int Waktu_Tamat = 23;
extern int slippage = 3;
double g_lots_140;
int g_period_148 = 7;
int gi_152 = 0;
int g_ma_method_156 = MODE_LWMA;
int g_applied_price_160 = PRICE_WEIGHTED;
int gi_unused_164 = 100;
extern double Step = 0.02;
extern double Max = 0.2;
int gi_184;

int deinit() {
   return (0);
}

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

void OpenBuy() {
   int l_ticket_0;
   if (!GlobalVariableCheck("InTrade")) {
      GlobalVariableSet("InTrade", TimeCurrent());
      l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_140, Ask, slippage, 0, Ask + TakeProfit * Point, "Buy?", MagicNo, 0, Blue);
      GlobalVariableDel("InTrade");
   }
}

void OpenSell() {
   int l_ticket_0;
   if (!GlobalVariableCheck("InTrade")) {
      GlobalVariableSet("InTrade", TimeCurrent());
      l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_140, Bid, slippage, 0, Bid - TakeProfit * Point, "Sell?", MagicNo, 0, Red);
      GlobalVariableDel("InTrade");
   }
}

void ManageBuy() {
   int l_datetime_0 = 0;
   double l_ord_open_price_4 = 0;
   double l_ord_lots_12 = 0;
   double l_ord_takeprofit_20 = 0;
   int l_cmd_28 = -1;
   int l_ticket_32 = 0;
   int l_pos_36 = 0;
   for (l_pos_36 = 0; l_pos_36 < OrdersTotal(); l_pos_36++) {
      OrderSelect(l_pos_36, SELECT_BY_POS, MODE_TRADES);
      if (OrderMagicNumber() != MagicNo || OrderType() != OP_BUY) continue;
      if (OrderOpenTime() > l_datetime_0) {
         l_datetime_0 = OrderOpenTime();
         l_ord_open_price_4 = OrderOpenPrice();
         l_cmd_28 = OrderType();
         l_ticket_32 = OrderTicket();
         l_ord_takeprofit_20 = OrderTakeProfit();
      }
      if (OrderLots() > l_ord_lots_12) l_ord_lots_12 = OrderLots();
   }
   double l_isar_40 = iSAR(NULL, 0, Step, Max, 0);
   double l_ima_48 = iMA(NULL, 0, g_period_148, gi_152, g_ma_method_156, g_applied_price_160, 0);
   int li_56 = MathRound(MathLog(l_ord_lots_12 / Lots) / MathLog(Multiplier)) + 1.0;
   if (li_56 < 0) li_56 = 0;
   g_lots_140 = NormalizeDouble(Lots * MathPow(Multiplier, li_56), gi_184);
   if ((li_56 == 0 && l_isar_40 < l_ima_48 && DayOfWeek() < Jumlah_Hari_Trade) || (li_56 == 0 && l_isar_40 < l_ima_48 && DayOfWeek() == Jumlah_Hari_Trade && Hour() <= Waktu_Tamat)) OpenBuy();
   if (l_ord_open_price_4 - Ask > Pips * Point && li_56 < MaxTrades) {
      OpenBuy();
      return;
   }
   for (l_pos_36 = 0; l_pos_36 < OrdersTotal(); l_pos_36++) {
      OrderSelect(l_pos_36, SELECT_BY_POS, MODE_TRADES);
      if (Or

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

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

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

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

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

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

Стоимость полного кода
456,60₽ ≈ $5.58