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

SWB with Pauls MACD

pauls macd ea checks re-entry and high tf.mq4

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

! macd+.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!macd_adx.mq4MQL4 / MetaTrader 4 · 1 общих теговxauusd_gold_perfect.mq4MQL4 / MetaTrader 4 · 1 общих теговtm sniper pro.pineTradingView · 1 общих теговsource code of grid with 100 pips stop loss.mq4MQL4 / MetaTrader 4 · 1 общих теговsniper pro.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Этот товар — торговый советник для MetaTrader 4, написанный на языке MQL4. Он предназначен для автоматической торговли на одном символе по сигналам индикатора MACD, с учётом старшего таймфрейма и дополнительных фильтров. Советник обрабатывает событие start (аналог OnTick в MQL4) и выполняет торговые операции через OrderSend. В коде реализованы функции управления ордерами, расчёта сигналов и закрытия позиций.\n\nСоветник поддерживает настраиваемые параметры: размер стартового лота, множитель лота, шаг увеличения, уровни фильтрации MACD, таймфрейм для старшего анализа, а также управление стоп-лоссом и тейк-профитом. Есть режим скрытой торговли (stealth_mode), при котором стоп-лосс и тейк-профит не выставляются на сервере, а также возможность торговли в пятницу и дневной целевой профит.\n\nЛогика входа основана на пересечении линий MACD на текущем и старшем таймфреймах с дополнительными условиями. При наличии убытка или достижении заданного профита в деньгах советник закрывает все ордера по заданному магическому номеру. Также предусмотрено усреднение позиций при движении цены против открытой сделки.\n\nВажно: советник не даёт гарантий прибыли и не является рекомендацией к торговле. Все параметры и поведение описаны на основе исходного кода, без раскрытия точных алгоритмов и формул.

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

НастройкаОписание
tp_in_money Цель в деньгах — Целевая прибыль в валюте депозита, при достижении которой все ордера закрываются.
range Диапазон усреднения — Расстояние в пунктах между ордерами в серии усреднения.
fastEMA Быстрая EMA — Период быстрой экспоненциальной скользящей средней для расчёта MACD.
slowEMA Медленная EMA — Период медленной экспоненциальной скользящей средней для расчёта MACD.
macdSMA Период сигнальной SMA — Период сигнальной линии MACD.
UpperMACd_Filter Верхний фильтр MACD — Верхний порог значения MACD для фильтрации сигналов на продажу.
LowerMACd_Filter Нижний фильтр MACD — Нижний порог значения MACD для фильтрации сигналов на покупку.
Higher_timeframe Старший таймфрейм — Таймфрейм в минутах для анализа MACD на старшем периоде.
start_lot Стартовый лот — Начальный размер лота для первого ордера в серии.
lot_multiplier Множитель лота — Если включено, лот каждого следующего ордера умножается на множитель; иначе используется приращение.
multiplier Коэффициент умножения — Коэффициент умножения лота для последующих ордеров при включённом множителе.
increament Приращение лота — Шаг увеличения лота для каждого последующего ордера в серии усреднения.
use_daily_target Использовать дневную цель — Включает контроль дневной цели по прибыли; при её достижении торговля останавливается.
daily_target Дневная цель — Целевая прибыль за день в валюте депозита, при достижении которой торговля приостанавливается.
EachTickMode Режим каждого тика — Если включено, советник проверяет сигналы на каждом тике; иначе — только при появлении нового бара.
trade_in_fri Торговля в пятницу — Разрешает или запрещает открытие новых сделок в пятницу.
magic Магический номер — Уникальный идентификатор (магический номер) для ордеров, открываемых советником.
level Уровень ордеров — Максимальное количество одновременно открытых ордеров в одной серии.
use_sl_and_tp Использовать SL и TP — Если включено, ордера выставляются с указанными стоп-лоссом и тейк-профитом.
sl Стоп-лосс — Размер стоп-лосса в пунктах от цены открытия ордера.
tp Тейк-профит — Размер тейк-профита в пунктах от цены открытия ордера.
stealth_mode Скрытый режим — Если включено, стоп-лосс и тейк-профит не выставляются на сервере, а управляются виртуально.
Получить полный код

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

#define buy -2
#define sell 2

extern double    tp_in_money=1.0;
extern double    range=40;
extern double    fastEMA=10;
extern double    slowEMA=20;
extern double    macdSMA=7;
extern double    UpperMACd_Filter=0.0010;
extern double    LowerMACd_Filter=-0.0010;
extern double    Higher_timeframe=1440;

extern double    start_lot=0.01;
extern bool      lot_multiplier=False;
extern double    multiplier=2.0;
extern double    increament=0.01;
extern bool      use_daily_target=false;
extern double    daily_target=100;
extern bool      EachTickMode = false;
extern bool      trade_in_fri=true;
extern int       magic=1;
extern int       level=10;

extern bool      use_sl_and_tp=false;
extern double    sl=60;
extern double    tp=30;

extern bool      stealth_mode=true;

double pt;
double minlot;
double stoplevel;
int prec=0;
int a=0;
int ticket=0; 

int BarCount;
int Current;
bool TickCheck = False;

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

int deinit()
  {

   return(0);
  }

int start()
  {
      // код доступен только после оплаты
   }
   if(use_daily_target && dailyprofit()>=daily_target)
   {
     Comment("\ndaily target achieved.");
     return(0);
   }
   if(!trade_in_fri && DayOfWeek()==5 && total()==0)
   {
     Comment("\nstop trading in Friday.");
     return(0);
   }
   if(total()==0 && a==0)
   {
     if(signal()==buy)
     {
        if(stealth_mode)
        {
          if(use_sl_and_tp) ticket=OrderSend(Symbol(),0,start_lot,Ask,3,Ask-sl*pt,Ask+tp*pt,"",magic,0,Blue);
          else              ticket=OrderSend(Symbol(),0,start_lot,Ask,3,        0,        0,"",magic,0,Blue);
        }
        else
        {
          if(use_sl_and_tp) 
          {
             if(OrderSend(Symbol(),0,start_lot,Ask,3,Ask-sl*pt,Ask+tp*pt,"",magic,0,Blue)>0)
             {
                for(int i=1; i<level; i++)
                {
                    if(lot_multiplier) ticket=OrderSend(Symbol(),2,NormalizeDouble(start_lot*MathPow(multiplier,i),prec),Ask,3,(Ask-(range*i)*pt)-sl*pt,(Ask-(range*i)*pt)+tp*pt,"",magic,0,Blue);
                    else               ticket=OrderSend(Symbol(),2,NormalizeDouble(start_lot+increament*i,prec)         ,Ask,3,(Ask-(range*i)*pt)-sl*pt,(Ask-(range*i)*pt)+tp*pt,"",magic,0,Blue);
                }
             }
          }
          else
          {
             if(OrderSend(Symbol(),0,start_lot,Ask,3,0,0,"",magic,0,Blue)>0)
             {
                for(i=1; i<level; i++)
                {
                    if(lot_multiplier && signal()==buy) ticket=OrderSend(Symbol(),2,NormalizeDouble(start_lot*MathPow(multiplier,i),prec),Ask,3,0,0,"",magic,0,Blue);
                    else  if (signal()==buy)            ticket=OrderSend(Symbol(),2,NormalizeDouble(start_lot+increament*i,prec)         ,Ask,3,0,0,"",magic,0,Blue);
                }
             }
          }
        }
     }
     if(signal()==sell)
     {
        if(stealth_mode)
        {
          if(use_sl_and_tp) ticket=OrderSend(Symbol(),1,start_lot,Bid,3,Bid+sl*pt,Bid-tp*pt,"",magic,0,Red);
          else              ticket=OrderSend(Symbol(),1,start_lot,Bid,3,        0,        0,"",magic,0,Red);
        }
        else
        {
          if(use_sl_and_tp) 
          {
             if(OrderSend(Symbol(),1,start_lot,Bid,3,Bid+sl*pt,Bid-tp*pt,"",magic,0,Red)>0)
             {
                for(i=1; i<level; i++)
                {
                    if(lot_multiplier) ticket=OrderSend(Symbol(),3,NormalizeDouble(start_lot*MathPow(multiplier,i),prec),Bid,3,(Bid+(range*i)*pt)+sl*pt,(Bid+(range*i)*pt)-tp*pt,"",magic,0,Red);
                    else               ticket=OrderSend(Symbol(),3,NormalizeDouble(start_lot+increament*i,prec)         ,Bid,3,(Bid+(range*i)*pt)+sl*pt,(Bid+(range*i)*pt)-tp*pt,"",magic,0,Red);
                }
             }
          }
          else
          {
             if(OrderSend(Symbol(),1,start_lot,Bid,3,0,0,"",magic,0,Red)>0)
             {
                for(i=1; i<level; i++)
                {
                    if(lot_multiplier) ticket=OrderSend(Symbol(),3,NormalizeDouble(start_lot*MathPow(multiplier,i),prec),Bid ,3,0,0,"",magic,0,Red);
                    else               ticket=OrderSend(Symbol(),3,NormalizeDouble(start_lot+increament*i,prec)         ,Bid ,3,0,0,"",magic,0,Red);
                }
             }
          }
        }
     } 
   }

    if(stealth_mode && total()>0 && total()<level)

     {
     int type; double op, lastlot; 
     for(i=0; i<OrdersTotal(); i++)
     {
         OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
         if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic) continue;
         type=OrderType();
         op=OrderOpenPrice();
         lastlot=OrderLots();
     }

     if(signal2()==buy)

     if(type==0 && Ask<=op-range*pt) 

     if(type==0) 

     {
        if(use_sl_and_tp)
        {
           if(lot_multiplier) ticket=OrderSend(Symbol(),0,NormalizeDouble(lastlot*multiplier,prec),Ask,3,Ask-sl*pt,Ask+tp*pt,"",magic,0,Blue);
           else               ticket=OrderSend(Symbol(),0,NormalizeDouble(lastlot+increament,prec),Ask,3,Ask-sl*pt,Ask+tp*pt,"",magic,0,Blue);
        }
        else
        {
           if(lot_multiplier) ticket=OrderSend(Symbol(),0,NormalizeDouble(lastlot*multiplier,prec),Ask,3,0,0,"",magic,0,Blue);
           else               ticket=OrderSend(Symbol(),0,NormalizeDouble(lastlot+increament,prec),Ask,3,0,0,"",magic,0,Blue);
        }
     }

     if(signal2()==sell)

     if(type==1 && Bid>=op+range*pt)

     if(type==1)
     {
        if(use_sl_and_tp)
        {
           if(lot_multiplier) ticket=OrderSend(Symbol(),1,NormalizeDouble(lastlot*multiplier,prec),Bid,3,Bid+sl*pt,Bid-tp*pt,"",magic,0,Red);
           else               ticket=OrderSend(Symbol(),1,NormalizeDouble(lastlot+increament,prec),Bid,3,Bid+sl*pt,Bid-tp*pt,

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

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

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

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

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

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

Стоимость полного кода
952,70₽ ≈ $11.64