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

MACD Sample

macd sample russian.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

MACD Sample — торговый советник для MetaTrader 4, использующий индикатор MACD и скользящую средную (EMA) для определения точек входа на рынок. Советник анализирует пересечения линий MACD с сигнальной линией в сочетании с направлением тренда по скользящей средней для принятия решения об открытии позиции.

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

Закрытие позиций происходит при развороте сигнала MACD или при срабатывании трейлинг-стопа. Перед открытием новой позиции советник проверяет наличие не менее 100 баров на графике и корректность параметра TakeProfit. Все торговые операции выполняются на текущем символе графика.

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

НастройкаОписание
TakeProfit Уровень фиксации прибыли в пунктах для открытой позиции.
Lots Размер лота для открытия торговой позиции.
TrailingStop Расстояние трейлинг-стопа в пунктах от текущей цены для защиты позиции от убытков.
MACDOpenLevel Уровень MACD в пунктах, при достижении которого допускается открытие новой позиции.
MACDCloseLevel Уровень MACD в пунктах, при достижении которого позиция закрывается при развороте сигнала.
MATrendPeriod Период экспоненциальной скользящей средней для определения направления тренда.
Получить полный код

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

extern double TakeProfit = 50;
extern double Lots = 0.1;
extern double TrailingStop = 30;
extern double MACDOpenLevel=3;
extern double MACDCloseLevel=2;
extern double MATrendPeriod=26;
double Points;

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

int deinit()
  {
   return(0);
  }

int start()
  {
      // код доступен только после оплаты
   }
   double MacdCurrent=0, MacdPrevious=0, SignalCurrent=0;
   double SignalPrevious=0, MaCurrent=0, MaPrevious=0;
   int cnt=0, total;

   if(Bars<100)
     {
      Print("bars less than 100");
      return(0);  // ?? ??????? ????? 100 ?????
     }
   if(TakeProfit<10)
     {
      Print("TakeProfit less than 10");
      return(0);  // ????????? TakeProfit
     }

   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,MODE_EMA,0,PRICE_CLOSE,0);
   MaPrevious=iMA(NULL,0,MATrendPeriod,MODE_EMA,0,PRICE_CLOSE,1);

   if(OrdersTotal()<1) 
     {

      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money");
         return(0);  // ????? ??? - ???????
        }

      if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&
         MathAbs(MacdCurrent)>(MACDOpenLevel*Points) && MaCurrent>MaPrevious)
        {
         OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Points,"macd sample",16384,0,Red); // ?????????
         if(GetLastError()==0)Print("Order opened : ",OrderOpenPrice());
         return(0); // ???????, ??? ??? ??? ????? ????? ?????????? ???????? ????????

        }

      if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
         MacdCurrent>(MACDOpenLevel*Points) && MaCurrent<MaPrevious)
        {
         OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Points,"macd sample",16384,0,Red); // ?????????
         if(GetLastError()==0)Print("Order opened : ",OrderOpenPrice());
         return(0); // ???????
        };

      return(0);
     };

   t

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

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

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

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

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

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

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