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

Adenan Scalping

adenan scalping mt4 ea source code.mq4
Вы автор или правообладатель?

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

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

О программе

Adenan Scalping — торговый советник для MetaTrader 4, реализующий стратегию скальпинга на основе анализа ценовых свечей. Советник сравнивает значения Close двух последних баров для определения направления сделки и открывает позиции BUY или SELL через торговый API MetaTrader.

Советник поддерживает три режима управления лотом: фиксированный, Мартингейл и обратный Мартингейл. Лот может рассчитываться как фиксированная величина или как процент от баланса счёта. Доступны настройки тейк-профита в пунктах, расстояния между ордерами и максимального количества одновременных сделок.

Встроен механизм стоп-лосса по эквити, позволяющий закрыть все позиции при достижении заданного уровня убытка. Также реализованы временные ограничения торговли — можно задать часы открытия и закрытия позиций, а также отключить торговлю по пятницам. При тестировании на графике отображается таблица с информацией о прибыли и балансе.

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

НастройкаОписание
__1__ Текстовая метка группы параметров множика лота.
LotMultiplikator Множик лота, используемый при расчёте размера позиции в режимах Мартингейл и обратного Мартингейла.
__2__ Текстовая метка группы параметров Мартингейла.
MMType Тип управления лотом: 0 — фиксированный, 1 — Мартингейл с множителем, 2 — обратный Мартингейл на основе прибыли предыдущих сделок.
__3__ Текстовая метка группы параметров начального лота.
_____ Текстовая метка, указывающая режим расчёта лота: true — фиксированный, false — процент от баланса.
LotConst_or_not Переключатель режима лота: true — фиксированный лот (Lot), false — расчёт лота как процента от баланса (RiskPercent).
Lot Фиксированный размер лота, используемый при ручном указании размера позиции.
RiskPercent Процент риска от баланса счёта, используемый для расчёта размера лота при отключённом фиксированном лоте.
__4__ Текстовая метка группы параметров тейк-профита.
TakeProfit Тейк-профит в пунктах, устанавливаемый для открытых позиций.
__5__ Текстовая метка группы параметров расстояния между ордерами.
Step Расстояние между ордерами в пунктах, определяющее минимальный ценовой зазор для открытия новой позиции.
__6__ Текстовая метка группы параметров максимального количества сделок.
MaxTrades Максимальное количество одновременных открытых сделок, управляемых советником.
__7__ Текстовая метка группы параметров стоп-лосса.
UseEquityStop Переключатель стоп-лосса по эквити: true — включён, false — выключен. При включении все позиции закрываются при достижении заданного уровня убытка.
TotalEquityRisk Процент риска эквити, при превышении которого все позиции закрываются (стоп-лосс по эквити).
__8__ Текстовая метка группы параметров магического числа.
Magic Магическое число для идентификации ордеров, открытых данным советником. Должно быть уникальным для каждого графика.
__9__ Текстовая метка группы параметров отображения и вывода информации.
ShowTableOnTesting Переключатель отображения таблицы с информацией о прибыли и балансе на графике при тестировании.
_ Текстовая метка для параметра режима торговли.
S1 Текстовая метка для группы параметров настроек времени торговли.
Open_Hour Час открытия торговой сессии, используемый для фильтрации времени торговли.
Close_Hour Час закрытия торговой сессии, используемый для фильтрации времени торговли.
TradeOnFriday Переключатель торговли по пятницам: true — торговля разрешена, false — торговля по пятницам отключена.
Friday_Hour Час ограничения торговли по пятницам — после этого часа торговля отключается при включённом параметре TradeOnFriday.
Получить полный код

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

/*
   G e n e r a t e d  by ex4-to-mq4 decompiler FREEWARE 4.0.509.5
   Website: h t t p : / / wwW. Me T aq U Ot E S.n Et
   E-mail :  S Up P O R t@m E t aQ UO tes . n eT
*/

double G_maxlot_76 = 0.0;
string Gs_84 = "Adenanku scalping";
double Gd_92 = 2.0;
string Gs_100 = "Scalping System 1";
int Gi_unused_108 = 1;
extern string __1__ = "Lot Multiplier";
extern double LotMultiplikator = 1.667;
extern string __2__ = " Turn on/off Martingale,  1=on. or 2=off.";
extern int MMType = 1;
bool Gi_140 = TRUE;
double Gd_144;
double G_slippage_152 = 5.0;
extern string __3__ = "Initial lot:";
extern string _____ = "true = Fixed Lot, false = Account Balance";
extern bool LotConst_or_not = FALSE;
extern double Lot = 0.01;
extern double RiskPercent = 30.0;
double Gd_196;
extern string __4__ = "Take Profit in Pips";
extern double TakeProfit = 3.0;
double Gd_220;
double G_pips_228 = 0.0;
double Gd_236 = 10.0;
double Gd_244 = 10.0;
extern string __5__ = "Distance between orders";
extern double Step = 5.0;
double Gd_268;
extern string __6__ = "Max Number of trades";
extern int MaxTrades = 15;
extern string __7__ = "Stop Loss";
extern bool UseEquityStop = FALSE;
extern double TotalEquityRisk = 10.0;
bool Gi_308 = FALSE;
bool Gi_312 = FALSE;
bool Gi_316 = FALSE;
double Gd_320 = 48.0;
bool Gi_328 = FALSE;
int Gi_332 = 2;
int Gi_336 = 16;
extern string __8__ = "Magic Number Must Be Different for Each Chart";
extern int Magic = 1111111;
int Gi_352;
extern string __9__ = "logo and output";
extern bool ShowTableOnTesting = TRUE;
extern string _ = "(true-On.,false-off)";
extern string S1 = " Start End Hour ";
extern int Open_Hour = 22;
extern int Close_Hour = 23;
extern bool TradeOnFriday = FALSE;
extern int Friday_Hour = 15;
double G_price_400;
double Gd_408;
double Gd_unused_416;
double Gd_unused_424;
double G_price_432;
double G_bid_440;
double G_ask_448;
double Gd_456;
double Gd_464;
double Gd_472;
bool Gi_480;
datetime G_time_484 = 0;
int Gi_488;
int Gi_492 = 0;
double Gd_496;
int G_pos_504 = 0;
int Gi_508;
double Gd_512 = 0.0;
bool Gi_520 = FALSE;
bool Gi_524 = FALSE;
bool Gi_528 = FALSE;
int Gi_532;
bool Gi_536 = FALSE;
int G_datetime_540 = 0;
int G_datetime_544 = 0;
double Gd_548;
double Gd_556;
int G_fontsize_564 = 10;
color G_color_568 = White;
color G_color_572 = Gold;
color G_color_576 = White;
int Gi_unused_580 = 5197615;

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

int deinit() {
   return (0);
}

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

double f0_6(double Ad_0) {
   return (NormalizeDouble(Ad_0, Digits));
}

int f0_11(bool Ai_0 = TRUE, bool Ai_4 = TRUE) {
   int Li_ret_8 = 0;
   for (int pos_12 = OrdersTotal() - 1; pos_12 >= 0; pos_12--) {
      if (OrderSelect(pos_12, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == Gi_352) {
            if (OrderType() == OP_BUY && Ai_0) {
               RefreshRates();
               if (!IsTradeContextBusy()) {
                  if (!OrderClose(OrderTicket(), OrderLots(), f0_6(Bid), 5, CLR_NONE)) {
                     Print("Error close BUY " + OrderTicket());
                     Li_ret_8 = -1;
                  }
               } else {
                  if (G_datetime_540 == iTime(NULL, 0, 0)) return (-2);
                  G_datetime_540 = 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(), f0_6(Ask), 5, CLR_NONE)))) continue;
                  Print("Error close SELL " + OrderTicket());
                  Li_ret_8 = -1;
                  continue;
               }
               if (G_datetime_544 == iTime(NULL, 0, 0)) return (-2);
               G_datetime_544 = iTime(NULL, 0, 0);
               Print("Need close SELL " + OrderTicket() + ". Trade Context Busy");
               return (-2);
            }
         }
      }
   }
   return (Li_ret_8);
}

double f0_3(int A_cmd_0) {
   double Ld_ret_4;
   int datetime_12;
   switch (MMType) {
   case 0:
      Ld_ret_4 = Gd_196;
      break;
   case 1:
      Ld_ret_4 = NormalizeDouble(Gd_196 * MathPow(Gd_144, Gi_492), Gd_92);
      break;
   case 2:
      datetime_12 = 0;
      Ld_ret_4 = Gd_196;
      for (int pos_20 = OrdersHistoryTotal() - 1; pos_20 >= 0; pos_20--) {
         if (!OrderSelect(pos_20, SELECT_BY_POS, MODE_HISTORY)) return (-3);
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == Gi_352) {
            if (datetime_12 < OrderCloseTime()) {
               datetime_12 = OrderCloseTime();
               if (OrderProfit() < 0.0) {
                  Ld_ret_4 = NormalizeDouble(OrderLots() * Gd_144, Gd_92);
                  continue;
               }
               Ld_ret_4 = Gd_196;
            }
         }
      }
   }
   if (AccountFreeMarginCheck(Symbol(), A_cmd_0, Ld_ret_4) <= 0.0) return (-1);
   if (GetLastError() == 134/* NOT_ENOUGH_MONEY */) return (-2);
   return (Ld_ret_4);

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

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

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

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

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

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

Стоимость полного кода
1 909,60₽ ≈ $23.34