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

mymacd4ver2.mq4

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

2 to 1 strategy with signals.pineTradingView · 2 общих теговmulti_lot_scalper_a.mq4MQL4 / MetaTrader 4 · 2 общих теговfresh algo signals & overlays v25_6334471093901859175.pineTradingView · 2 общих теговfresh algo v24 tradingview indicator_5918156155804195406.pineTradingView · 2 общих теговlinear regression channel.mq4MQL4 / MetaTrader 4 · 2 общих теговtrading criteria.mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

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

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

НастройкаОписание
TakeProfit Тейк-профит — Уровень фиксации прибыли в пунктах, устанавливаемый при открытии позиции.
Lots Объём сделки — Размер лота, используемый при открытии новых позиций.
TrailingStop Трейлинг-стоп — Расстояние в пунктах для трейлинг-стопа, применяемого к открытым позициям.
MACDOpenLevel Уровень MACD для входа — Пороговое значение MACD, используемое при формировании условий открытия позиции.
MACDCloseLevel Уровень MACD для закрытия — Пороговое значение MACD, предназначенное для условий закрытия позиции.
MATrendPeriod Период скользящей средней — Период расчёта экспоненциальной скользящей средней, используемой для определения направления тренда.
OpenTimeStart Начало окна открытия — Время начала допустимого интервала для открытия новых позиций в формате ЧЧММ.
OpenTimeEnd Конец окна открытия — Время окончания допустимого интервала для открытия новых позиций в формате ЧЧММ.
CloseTime Время закрытия — Параметр времени, связанный с логикой закрытия позиций.
mytime Текущее время — Внутренний параметр, хранящий текущее время в формате ЧЧММ, используемый для проверки временных условий.
Получить полный код

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

extern double TakeProfit = 50;
extern double Lots = 1.0;
extern double TrailingStop = 30;
extern double MACDOpenLevel=3;
extern double MACDCloseLevel=2;
extern double MATrendPeriod=26;
extern double OpenTimeStart=1530;
extern double OpenTimeEnd=1730;
extern double CloseTime=2300;
extern int    mytime = -1;

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

bool CheckMargin()
{
    if(AccountFreeMargin()<(1000*Lots))
   {
      Print("We have no money. Free Margin = ", AccountFreeMargin());
      return(0);  
   }
   else return(1);  
}

bool CheckBars()
{
   if(Bars<100)
   {
      Print("bars less than 100");
      return(0);  
   }
   else return(1);
}

bool CheckProfit()
{
   if(TakeProfit<10)
   {
      Print("TakeProfit less than 10");
      return(0);
   }
   else return(1);
}

int PrintTime()
{
   Print("Time:",mytime);
}

bool CheckTime()
{
   if(mytime < OpenTimeStart || mytime > OpenTimeEnd)
   {
      return(0);
   }
   else return(1);
}

bool BuyConditionsMet()
{
   double MacdCurrent, MacdPrevious, SignalCurrent;
   double SignalPrevious, MaCurrent, MaPrevious;
   MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
   MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
   SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
   MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
   MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);
   if(
      MacdCurrent<0 && 
      MacdCurrent>SignalCurrent &&
      MacdPrevious<SignalPrevious &&
      MathAbs(MacdCurrent)>(MACDOpenLevel*Point) &&
      MaCurrent>MaPrevious //&&

      )
      {return (1);}
      else
      {return (0);}
}

bool SellConditionsMet()
{
   double MacdCurrent, MacdPrevious, SignalCurrent;
   double SignalPrevious, MaCurrent, MaPrevious;
   MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
   MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
   SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
   MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
   MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);
   if(
      MacdCurrent>0 &&
      MacdCurrent<SignalCurrent &&
      MacdPrevious>SignalPrevious && 
      MacdCurrent>(MACDOpenLevel*Point) &&
      MaCurrent>MaPrevious //&&

      )
      {return(1);}
      else
      {return(0);}
}

bool CheckOpenOrders()
{
   if (OrdersTotal()> 1)
   {
      return(0);
   }
   else return(1);
}

int OpenBuyOrder()
{ 
   int ticket = 0;
   ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
   Print("BuyTime: ",mytime);
   if(ticket>0)
   {
      if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
      { 
         Print("BUY order opened

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

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

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

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

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

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

Стоимость полного кода
434,90₽ ≈ $5.32