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

$@doji ultimate@$ fv.mq4

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

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

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

О программе

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

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

Программа использует два магических номера для разделения покупок и продаж, что позволяет управлять позициями в обе стороны независимо. Размер лота может быть фиксированным или рассчитываться автоматически на основе текущего баланса.

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

НастройкаОписание
Kode_Aktivasi Код активации — Целочисленный параметр для идентификации сессии или режима работы советника.
Use_Target_Equity Использовать целевую прибыль — Включает автоматическое закрытие всех позиций при достижении указанного уровня equity.
Target_Equity Целевая прибыль — Значение equity, при достижении которого все открытые позиции закрываются, если функция активна.
Pakai_Ketahanan Использовать режим лота — Включает автоматический расчёт размера лота на основе баланса счёта и параметра устойчивости.
Ketahanan Устойчивость — Делитель баланса для автоматического расчёта размера лота при активном режиме.
Close_Profit_All Закрыть при прибыли все — Процент прибыли, при достижении которого закрываются все позиции.
Close_Profit_Buy Закрыть при прибыли покупка — Процент прибыли для закрытия позиций в сторону покупки при превышении количества открытых сделок.
Close_Profit_Sell Закрыть при прибыли продажа — Процент прибыли для закрытия позиций в сторону продажи при превышении количества открытых сделок.
MagicNumber1 Магический номер 1 — Идентификатор для ордеров на покупку, используемый при фильтрации и управлении позициями.
MagicNumber2 Магический номер 2 — Идентификатор для ордеров на продажу, используемый при фильтрации и управлении позициями.
lot Лот — Фиксированный размер торгового объёма для открытия позиций.
sl Стоп-лосс — Расстояние в пунктах от цены входа для установки стоп-лосса на открываемых позициях.
tp Тейк-профит — Расстояние в пунктах от цены входа для установки тейк-профита на открываемых позициях.
SLM Стоп-лосс по money — Включает принудительное закрытие позиций при достижении заданного уровня убытка от баланса.
SLINMONEY Лимит убытка — Максимальный допустимый убыток в денежном выражении, при превышении которого срабатывает принудительное закрытие.
use_batasan_hari Использовать ограничение по дням — Включает фильтрацию торгов по дням недели, позволяя торговать только в выбранные дни.
senin Понедельник — Разрешает торговлю в понедельник при активном фильтре по дням недели.
selasa Вторник — Разрешает торговлю во вторник при активном фильтре по дням недели.
rabu Среда — Разрешает торговлю в среду при активном фильтре по дням недели.
kamis Четверг — Разрешает торговлю в четверг при активном фильтре по дням недели.
jumat Пятница — Разрешает торговлю в пятницу при активном фильтре по дням недели.
timeColor Цвет времени — Цвет текстового объекта, отображающего оставшееся время до следующего тика на графике.
Получить полный код

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

extern int Kode_Aktivasi = 0;
int Gi_unused_88 = 50;
int Gi_unused_92 = 50;
int Gi_unused_96 = 10;
int Gi_unused_100 = 25;
int Gi_unused_104 = 0;
int Gi_unused_108 = 0;
extern bool Use_Target_Equity = FALSE;
extern double Target_Equity = 0.0;
extern bool Pakai_Ketahanan = FALSE;
extern int Ketahanan = 1000;
bool Gi_132 = FALSE;
double Gd_136 = 500.0;
string Gs_unused_144 = " 1-> non Agresif || 2-> Agresif || 3-> Super Agresif || 4-> Ultra Agresif ";
int Gi_152 = 3;
extern double Close_Profit_All = 7.5;
extern double Close_Profit_Buy = 15.0;
extern double Close_Profit_Sell = 15.0;
extern int MagicNumber1 = 18;
extern int MagicNumber2 = 81;
int Gi_unused_188 = 0;
int G_bars_192 = 0;
extern double lot = 0.75;
extern int sl = 7777;
extern int tp = 7777;
extern bool SLM = FALSE;
bool Gi_216 = FALSE;
int Gi_220 = 1000;
extern int SLINMONEY = 2000;
bool Gi_228 = FALSE;
string Gs_unused_232 = " ==========================================";
bool Gi_240 = TRUE;
bool Gi_244 = TRUE;
int Gi_248 = 5;
int Gi_252 = 20;
bool Gi_256 = FALSE;
int Gi_260 = 10;
int Gi_264 = 12;
bool Gi_268 = FALSE;
int Gi_272 = 14;
int Gi_276 = 16;
extern bool use_batasan_hari = FALSE;
extern bool senin = TRUE;
extern bool selasa = TRUE;
extern bool rabu = TRUE;
extern bool kamis = TRUE;
extern bool jumat = TRUE;
double Gd_304 = 0.0;
double Gd_312;
double Gd_320;
double Gd_unused_336;
int Gi_344 = 15624315;
int Gi_348 = 65535;
int Gi_352 = 16776960;
extern color timeColor = Yellow;
double Gda_unused_360[];

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

int deinit() {
   return (0);
}

int start() {
      // код доступен только после оплаты
   }
   double order_open_price_8;
   double order_open_price_16;
   double order_lots_24;
   double order_lots_32;
   int Li_60;
   int Li_64;
   int Li_40 = Time[0] + 60 * Period() - TimeCurrent();
   double Ld_0 = Li_40 / 60.0;
   int Li_44 = Li_40 % 60;
   Li_40 = (Li_40 - Li_40 % 60) / 60;
   ObjectDelete("time");
   if (ObjectFind("time") != 0) {
      ObjectCreate("time", OBJ_TEXT, 0, Time[0], Close[0] + 0.0005);
      ObjectSetText("time", "                       " + Li_40 + ":" + Li_44, 10, "Rockwell", timeColor);
   } else ObjectMove("time", 0, Time[0], Close[0] + 0.0005);
   f0_8();
   f0_9();

   if (Use_Target_Equity && AccountEquity() >= Target_Equity) {
      f0_13();
      Comment("\n TARGET EQUITY TERCAPAI GAN, SILAHKAN WD ATAU SET ULANG TARGET ANDA !!!.");
      Alert("TARGET TERCAPAI SEMUA ORDER AKAN DI TUTUP, SILAHKAN WITHDRAWAL ATAU SET ULANG TARGET ANDA");
      return (0);
   }
   if (SLM == TRUE && Gi_216 == FALSE)
      if (AccountEquity() - AccountBalance() <= SLINMONEY - SLINMONEY * 2) f0_4();
   if (SLM == TRUE && Gi_216 == TRUE)
      if (AccountEquity() - AccountBalance() <= SLINMONEY - SLINMONEY * 2 && OrdersTotal() >= Gi_220) f0_4();
   if (AccountEquity() - AccountBalance() < Gd_304) Gd_304 = AccountEquity() - AccountBalance();
   if (Pakai_Ketahanan) lot = AccountBalance() / Ketahanan;
   for (int pos_68 = 0; pos_68 < OrdersTotal(); pos_68++) {
      if (OrderSelect(pos_68, SELECT_BY_POS, MODE_TRADES) == FALSE) break;
      if (OrderSymbol() == Symbol()) {
         if (OrderType() == OP_BUY && OrderMagicNumber() == MagicNumber1) Li_60++;
         if (OrderType() == OP_SELL && OrderMagicNumber() == MagicNumber2) Li_64++;
      }
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber1) {
         if (OrderType() == OP_BUY) {
            order_open_price_8 = OrderOpenPrice();
            order_lots_24 = OrderLots();
         }
      }
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber2) {
         if (OrderType() == OP_SELL) {
            order_open_price_16 = OrderOpenPrice();
            order_lots_32 = OrderLots();
         }
      }
   }
   int pos_72 = 0;
   double Ld_76 = 0;
   for (int pos_84 = OrdersTotal() - 1; pos_84 >= 0; pos_84--) {
      if (OrderSelect(pos_84, SELECT_BY_POS, MODE_TRADES))
         if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber1) Ld_76 += OrderProfit() + OrderCommission();
   }
   double Ld_88 = 0;
   for (pos_72 = OrdersTotal() - 1; pos_72 >= 0; pos_72--) {
      if (OrderSelect(pos_72, SELECT_BY_POS, MODE_TRADES))
         if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber2) Ld_88 += OrderProfit() + OrderCommission();
   }
   Gd_320 = Ld_76;
   Gd_312 = Ld_88;
   if (AccountEquity() - AccountBalance() >= Close_Profit_All && Li_60 >= 1 && Li_64 >= 1) {
      f0_5();
      f0_5();
   }
   if (Ld_76 >= Close_Profit_Buy && Li_60 > 1) {
      f0_10();
      f0_10();
   }
   if (Ld_88 >= Close_Profit_Sell && Li_64 > 1) {
      f0_11();
      f0_11();
      return (0);
   }
   if (Gi_132 == TRUE) {
      if (Close[1] < Open[1] || Close[1] == Open[1] || Close[1] > Open[1] && Li_60 < Gd_136) Gd_unused_336 = OrderSend(Symbol(), OP_BUY, lot, Ask, 3, Ask - sl * Point, Ask + tp * Point, "Bakoel_Gendoel_Scalp", MagicNumber1, 0, Blue);
      if (!Close[1] > Open[1] || Close[1] == Open[1] || Close[1] < Open[1] && Li_64 < Gd_136) return (0);
      Gd_unused_336 = OrderSend(Symbol(), OP_SELL, lot, Bid, 3, Bid + sl * Point, Bid - tp * Point, "Bakoel_Gendoel_Scalp", MagicNumber2, 0, Red);
      return (0);
   }
   if (Gi_152 == 1) {
      if (f0_12()) {
         if (Close[1] < Open[1] && pos_72 < Gd_136) {
            if (Bars != G_bars_192) {
               G_bars_192 = Bars;
               Gd_unused_336 = OrderSend(Symbol(), OP_BUY, lot, Ask, 3, Ask - sl * Point, Ask + tp * Point, "Bakoel_Gendoel_1", MagicNumber1, 0, Blue);
               if (Gi_228) Gd_unused_336 = OrderSend(Symbol(), OP_SELL, lot, Bid, 3, Bid + sl * Point, Bid - tp * Point, "Bakoel_Gendoel_1", MagicNumber2, 0, Red);
            }
         }
         if (Close[1] > Open[1] && Li_64 < Gd_136) {
            if (Bars != G_bars_192) {
               G_bars_192 = Bars;
               if (Gi_228) Gd_unused_336 = OrderSend(Symbol(), OP_BUY, lot, Ask, 3, Ask - sl * Point, Ask + tp * Point, "Bakoel_Gendoel_1", MagicNumber1, 0, Blue);
               Gd_unused_336 = OrderSend(Symbol(), OP_SELL, lot, Bid, 3, Bid + sl * Point, Bid - tp * Point, "Bakoel_Gendoel_1", MagicNumber2, 0, Red);
            }
         }
      }
   }
   if (Gi_152 == 2) {
      if (f0_12()) {
         if (Close[1] < Open[1] || Close[1] == Open[1] && pos_72 < Gd_136) {
            if (Bars != G_bars_192) {
               G_bars_192 = Bars;
               Gd_unused_336 = OrderSend(Symbol(), OP_BUY, lot, Ask, 3, Ask - sl * Point, Ask + tp * Point, "Bakoel_Gendoel_2", MagicNumber1, 0, Blue);
               if (Gi_228) Gd_unused_336 = OrderSend(Symbol(), OP_SELL, lot, Bid, 3, Bid + sl * Point, Bid - tp * Point, "Bakoel_Gendoel_2", MagicNumber2, 0, Red);
            }
         }
         if (Close[1] > Open[1] || Close[1] == Open[1] && Li_64 < Gd_136) {
            if (Bars != G_bars_192) {
               G_bars_192 = Bars;
               if (Gi_228) Gd_unused_336 = OrderSend(Symbol(), OP_BUY, lot, Ask, 3, Ask - sl * Point, Ask + tp * Point, "Bakoel_Gendoel_2", MagicNumber1, 0, Blue);
               Gd_unused_336 = OrderSend(Symbol(), OP_SELL, lot, Bid, 3, Bid + sl * Point, Bid - tp * Point, "Bakoel_Gendoel_2", MagicNumber2, 0, Red);
            }
         }
      }
   }
   if (Gi_152 == 3) {
      if (f0_12()) {
         if (Close[1] == Open[1] && Li_60 == 0 && Li_64 == 0) {
            if (Bars != G_bars_192) {
               G_bars_192 = Bars;
               Gd_unused_336 = OrderSend(Symbol(), OP_BUY, lot, Ask, 3, Ask - sl * Point, Ask + tp * Point, "@Doji Ultimate@", MagicNumber1, 0, Blue);
               Gd_unused_336 = OrderSend(Symbol(), OP_SELL, lot, Bid, 3, Bid + sl * Point, Bid - tp * Point, "@Doji Ultimate@", MagicNumber2, 0, Red);
            }
         }
         if (Close[1] == Open[1] && Li_60 < Gd_136 && Li_64 < Gd_136) {
            if (Bars != G_bars_192) {
               G_bars_192 = Bars;
               Gd_unused_336 = OrderSend(Symbol(), OP_BUY, lot, Ask, 3, Ask - sl * Point, Ask + tp * Point, "@Doji Ultimate@", MagicNumber1, 0, Blue);
               Gd_unused_336 = OrderSend(Symbol(), OP_SELL, lot, Bid, 3, Bid + sl * Point, Bid - tp * Point, "@Doji Ultimate@", MagicNumber2, 0, Red);
            }
         }
      }
   }
   if (Gi_152 == 4) {
      if (f0_12()) {
         if (Close[1] < Open[1] || Close[1] == Open[1] || Close[1] > Open[1] && Li_60 < Gd_136) {
            Gd_unused_336 = OrderSend(Symbol(), OP_BUY, lot, Ask, 3, Ask - sl * Point, Ask + tp * Point, "Bakoel_Gendoel_Scalp", MagicNumber1, 0, Blue);
            if (Gi_228) Gd_unused_336 = OrderSend(Symbol(), OP_SELL, lot, Bid, 3, Bid + sl * Point, Bid - tp * Point, "Bakoel_Gendoel_Scalp", MagicNumber2, 0, Red);
         }
         if (Close[1] > Open[1] || Close[1] == Open[1] || Close[1] < Open[1] && Li_64 < Gd_136) {
            if (Gi_228) Gd_unused_336 = OrderSend(Symbol(), OP_BUY, lot, Ask, 3, Ask - sl * Point, Ask + tp * Point, "Bak

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

Что вы получите после оплаты

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

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

Стоимость полного кода
1 369₽