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

simple-macd-ea_www_forex-instruments_info.mq4

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

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 2 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 2 общих теговgeniusv101-ecn.mq4MQL4 / MetaTrader 4 · 2 общих теговmarket crusher ea guidlines.txtMQL · 2 общих тегов2 to 1 strategy with signals.pineTradingView · 2 общих теговfresh algo signals & overlays v25_6334471093901859175.pineTradingView · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой торгового советника для платформы MetaTrader 4, написанный на языке MQL4. Советник анализирует ценовые данные, используя логику, основанную на разнице экспоненциальных скользящих средних (аналог MACD) на таймфрейме M1, и принимает решения об открытии сделок.

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

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

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

НастройкаОписание
number of lots to trade (usually, 1 lot is $100k) (unlimited) (Lots) Количество лотов для торговли (обычно 1 лот равен $100k, без ограничений).
the amount of the trailing stop needed to maximize profit (unlimited) (TrailingStop) Величина трейлинг-стопа для максимизации прибыли (без ограничений).
(1-12) [low works for GBPUSD], high works for others. (MACD_level) Параметр уровня MACD (диапазон 1–12; низкие значения подходят для GBPUSD, высокие — для других инструментов).
MAGIC Магический номер ордера, используемый для идентификации сделок, открытых данным советником.
tp_limit Лимит количества шагов для управления трейлинг-стопом перед закрытием позиции.
wait_time_b4_SL Время ожидания (в тиках) перед принудительным закрытием позиции по условию стоп-лосса.
Получить полный код

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

extern double    Lots=1;  // number of lots to trade (usually, 1 lot is $100k) (unlimited)
extern double     TrailingStop=55;   // the amount of the trailing stop needed to maximize profit (unlimited)
extern int MACD_level=500; //(1-12) [low works for GBPUSD], high works for others.
extern int MAGIC=123456;
extern int tp_limit=100;
int limit=1000;
int gap=1;
extern int wait_time_b4_SL=10000;

int      trend=0,last_trend=0, pending_time, ticket, total, pace, tp_cnt;
bool     sell_flag, buy_flag, find_highest=false, find_lowest=false;
double   MACD_Strength=0;

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

int deinit()
  {
   return(0);
  }

int best_deal()
  {
   double MACDSignal1,MACDSignal2;

   MACDSignal2=iMA(NULL,PERIOD_M1,MACD_level,0,MODE_EMA,Close[0],0)-iMA(NULL,PERIOD_M1,MACD_level+1,0,MODE_EMA,Close[0],0);
   MACDSignal1=iMA(NULL,PERIOD_M1,MACD_level,0,MODE_EMA,Close[gap],gap)-iMA(NULL,PERIOD_M1,MACD_level+1,0,MODE_EMA,Close[gap],gap);

   if ((find_highest && Close[0]>OrderOpenPrice()+Point*5) && MACDSignal2<MACDSignal1)
   { find_highest=false; return(1); }
   else if ((find_lowest && Close[0]<OrderOpenPrice()-Point*5) && MACDSignal2>MACDSignal1)
      { find_lowest=false; return(1); }
   return(0);
  }

int MACD_Direction ()
  {
   double MACDSignal1,MACDSignal2,ind_buffer1[100], Signal1, Signal2;

   MACDSignal2=iMA(NULL,PERIOD_M1,100,0,MODE_EMA,Close[0],0)-iMA(NULL,PERIOD_M1,MACD_level,0,MODE_EMA,Close[0],0);
   MACDSignal1=iMA(NULL,PERIOD_M1,100,0,MODE_EMA,Close[gap],gap)-iMA(NULL,PERIOD_M1,MACD_level,0,MODE_EMA,Close[gap],gap);

   MACD_Strength=MACDSignal2-MACDSignal1; if (MACD_Strength<0) MACD_Strength=MACD_Strength*(-1);

   if(MACDSignal1<0) return(-1);
   if(MACDSignal1>0) return(1);
   else return(0);
  }

void ClosePending()
  {
   if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
     {
      if(OrderType()==OP_BUY)
        {
         OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
         pending_time=0;
        }
      else
        {
         OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
         pending_time=0;
        }
     }
  }

void do_order(int type)
  {
   if (type==1)
     {
      ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"PM",MAGIC,0,White); // buy
      if(ticket>0)
        {
         if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
         { Print("BUY order opened : ",OrderOpenPrice()); } // buy order successful
         pace=tp_limit; tp_cnt=0; pending_time=0;  find_highest=true;
        }
      else Print("Error opening SELL order : ",GetLastError());
      buy_flag=false;
     }
   else if (type==2)
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"PM",MAGIC,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
            { Print("SELL order opened : ",OrderOpenPrice()); }
            pace=tp_limit; tp_cnt=0; pending_time=0; find_lowest=true;
           }
         else Print("Error opening SELL order : ",GetLastError());
         sell_flag=false;
        }
    }

int trailing_stop(int type)
  {
   pace++;
   if(TrailingStop>0 && 

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

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

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

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

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

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

Стоимость полного кода
447,40₽ ≈ $5.47