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

the z@lifeindreamsworld.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, работающий на основе сигналов индикатора MACD. Советник обрабатывает каждый тик или каждый бар в зависимости от настройки, открывает позиции buy и sell с наращиванием объёма по уровням. Поддерживается управление стоп-лоссом и тейк-профитом, хеджирование позиций, а также режим скрытого размещения ордеров. Советник проверяет достижение дневного целевого профита и контролирует торговлю в пятницу. Имеется встроенная проверка даты истечения срока действия.

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

НастройкаОписание
use_daily_target Использовать дневной целевой профит — Включает или отключает проверку достижения дневного целевого профита перед открытием новых сделок.
daily_target Дневной целевой профит — Устанавливает целевое значение профита в день, при достижении которого советник прекращает открытие новых позиций.
EachTickMode Режим обработки каждого тика — Определяет, будет ли советник пересчитывать сигналы на каждом тике (true) или только на новом баре (false).
trade_in_fri Торговля в пятницу — Разрешает или запрещает открытие новых позиций в пятницу.
magic Магический номер — Уникальный идентификатор ордеров советника для фильтрации управления позициями.
start_lot Начальный лот — Размер лота для первого ордера при открытии новой позиции.
range Дистанция между уровнями — Расстояние в пунктах между последовательными ордерами при наращивании позиции.
level Количество уровней — Максимальное число ордеров в одной цепочке наращивания позиции.
lot_multiplier Умножение лота — Переключает способ расчёта размера лота: умножение на множитель или добавление инкремента.
multiplier Множитель лота — Коэффициент умножения размера лота при каждом следующем уровне, если включён режим умножения.
increament Инкремент лота — Величина прибавки к размеру лота при каждом уровне, если режим умножения отключён.
use_sl_and_tp Использовать стоп-лосс и тейк-профит — Включает установку стоп-лосса и тейк-профита при размещении ордеров.
sl Стоп-лосс — Размер стоп-лосса в пунктах для новых ордеров.
tp Тейк-профит — Размер тейк-профита в пунктах для новых ордеров.
tp_in_money Тейк-профит в деньгах — Порог прибыли в денежных единицах, при достижении которого советник закрывает все позиции.
stealth_mode Режим скрытого размещения — Изменяет способ размещения ордеров: при включении первый ордер открывается сразу с уровнем SL/TP, а последующие добавляются по сетке.
separator_01 Разделитель дополнительных настроек — Текстовый разделитель в панели настроек для визуальной группировки параметров.
hedge Хеджирование — Включает или отключает открытие встречных позиций при достижении заданного уровня.
hedge_start Начало хеджирования — Уровень количества открытых позиций, с которого начинается открытие хедж-ордеров.
h_lot_factor Коэффициент лота хеджа — Множитель для расчёта размера лота хедж-ордера относительно текущего лота.
h_tp_factor Коэффициент тейк-профита хеджа — Множитель для расчёта тейк-профита хедж-ордера от базовой дистанции.
lot_multiplier_2 Второй множитель лота — Второй коэффициент умножения лота, применяемый после достижения определённого уровня.
lot_multi_2_level Уровень второго множителя — Номер уровня, начиная с которого применяется второй множитель лота вместо первого.
Получить полный код

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

#define buy -2
#define sell 2

extern bool      use_daily_target=false;
extern double    daily_target=100;
extern bool      EachTickMode = True;
extern bool      trade_in_fri=true;
extern int       magic=1;
extern double    start_lot=0.1;
extern double    range=25;
extern int       level=10;
extern bool      lot_multiplier=true;
extern double    multiplier=2.0;
extern double    increament=0.1;
extern bool      use_sl_and_tp=false;
extern double    sl=60;
extern double    tp=30;
extern double    tp_in_money=5.0;
extern bool      stealth_mode=true;

extern string  separator_01="----- Additional -----";
extern bool      hedge=false;
extern int       hedge_start=4;
extern double    h_lot_factor=0.5;
extern double    h_tp_factor=1.0;
extern double    lot_multiplier_2=1.5;
extern int       lot_multi_2_level=3;

string Gs_76 = "2025.08.31";

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

double s_lot,s_lot2,hf,h_tp,lm_1,lm_2,lm_2_level,O_equity;
bool Close_All; // Part of Close_All Inhibit ...
int O_rst=0;
string opt="NULL";

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);
   }
   int str2time_0 = StrToTime(Gs_76);
   if (TimeCurrent() >= str2time_0) {
      Alert("The Z EA version has expired!");
      return (0);
   }

   int T_cnt=0,b_cnt=0,s_cnt=0,h_cnt,O_cnt=0,OOT,FOOT; // Close_All Inhibit ...
   bool s_hedge=false,b_hedge=false; string FOT="0";
   for(int cnt=0; cnt<=OrdersTotal(); cnt++)
   {
      OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()<2)
      {
         T_cnt+=1; OOT=OrderOpenTime();
         if(OrderType()==0){ b_cnt+=1; } if(OrderType()==1){ s_cnt+=1; }
         if(T_cnt==1 || OOT<FOOT){ FOOT=OOT; FOT="B"; if(OrderType()==1){ FOT="S"; } }
      }
   }

   if(FOT=="B")
   {
      O_cnt=b_cnt; h_cnt=s_cnt; opt="BUY";  if(hedge==true && b_cnt>=hedge_start-1){ s_hedge=true; }
   }
   if(FOT=="S")
   {
      O_cnt=s_cnt; h_cnt=b_cnt; opt="SELL"; if(hedge==true && s_cnt>=hedge_start-1){ b_hedge=true; }
   }

   multiplier=lm_1; if(lm_2>0 && O_cnt>=lm_2_level-1){ multiplier=lm_2; }

   if(T_cnt==0){ Close_All=false; }

   if(O_cnt==0 && a==0 && h_cnt==0) // substituted total() with O_cnt ...
   {
     if(signal()==buy && Close_All==false) // added close_all and hedge
     {
        if(stealth_mode)
        {
          if(use_sl_and_tp){ s_lot=start_lot; ticket=OrderSend(Symbol(),0,s_lot,Ask,3,Ask-sl*pt,Ask+tp*pt,"",magic,0,Blue); }
          else             { s_lot=start_lot; ticket=OrderSend(Symbol(),0,s_lot,Ask,3,        0,        0,"",magic,0,Blue); }
        }
        else
        {
          if(use_sl_and_tp) 
          {
             s_lot=start_lot;
             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){ s_lot=NormalizeDouble(start_lot*MathPow(multiplier,i),prec); ticket=OrderSend(Symbol(),2,s_lot,Ask-(range*i)*pt,3,(Ask-(range*i)*pt)-sl*pt,(Ask-(range*i)*pt)+tp*pt,"",magic,0,Blue); }
                    else              { s_lot=NormalizeDouble(start_lot+increament*i,prec);          ticket=OrderSend(Symbol(),2,s_lot,Ask-(range*i)*pt,3,(Ask-(range*i)*pt)-sl*pt,(Ask-(range*i)*pt)+tp*pt,"",magic,0,Blue); }
                }
             }
          }
          else
          {
             s_lot=start_lot;
             if(OrderSend(Symbol(),0,start_lot,Ask,3,0,0,"",magic,0,Blue)>0)
             {
                for(i=1; i<level; i++)
                {
                    if(lot_multiplier){ s_lot=NormalizeDouble(start_lot*MathPow(multiplier,i),prec); ticket=OrderSend(Symbol(),2,s_lot,Ask-(range*i)*pt,3,0,0,"",magic,0,Blue); }
                    else              { s_lot=NormalizeDouble(start_lot+increament*i,prec);          ticket=OrderSend(Symbol(),2,s_lot,Ask-(range*i)*pt,3,0,0,"",magic,0,Blue); }
                }
             }
          }
        }
        if(s_hedge==true){ ticket=OrderSend(Symbol(),1,s_lot*hf,Bid,3,0,Bid-h_tp,"h",magic,0,Red); }
     }

     if(signal()==sell && Close_All==false) // added close_all and hedge
     {
        if(stealth_mode)
        {
          if(use_sl_and_tp){ s_lot=start_lot; ticket=OrderSend(Symbol(),1,s_lot,Bid,3,Bid+sl*pt,Bid-tp*pt,"",magic,0,Red); }
          else             { s_lot=start_lot; ticket=OrderSend(Symbol(),1,s_lot,Bid,3,        0,        0,"",magic,0,Red); }
        }
        else
        {
          if(use_sl_and_tp) 
          {
             s_lot=start_lot;
             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){ s_lot=NormalizeDouble(start_lot*MathPow(multiplier,i),prec); ticket=OrderSend(Symbol(),3,s_lot,Bid+(range*i)*pt,3,(Bid+(range*i)*pt)+sl*pt,(Bid+(range*i)*pt)-tp*pt,"",magic,0,Red); }
                    else              { s_lot=NormalizeDouble(start_lot+increament*i,prec);          ticket=OrderSend(Symbol(),3,s_lot,Bid+(range*i)*pt,3,(Bid+(range*i)*pt)+sl*pt,(Bid+(range*i)*pt)-tp*pt,"",magic,0,Red); }
                }
             }
          }
          else
          {
             s_lot=start_lot;
             if(OrderSend(Symbol(),1,start_lot,Bid,3,0,0,"",magic,0,Red)>0)
             {
                for(i=1; i<level; i++)
                {
                    if(lot_multiplier){ s_lot=NormalizeDouble(start_lot*MathPow(multiplier,i),prec); ticket=OrderSend(Symbol(),3,s_lot,Bid+(range*i)*pt,3,0,0,"",magic,0,Red); }
         

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

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

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

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

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

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

Стоимость полного кода
1 010,30₽ ≈ $12.35