Strategia MACD per EURUSD su MetaTrader 5: Semplice ed Efficace

Mike 2017.01.26 18:07 31 0 0
Allegato

Autore dell'idea — Gabrielautore del codice MQL5 — barabashkakvn.

In questo articolo parleremo di una strategia di trading basata sull'indicatore iMACD (MACD), perfetta per operare sul cross EURUSD.

Condizioni per aprire una posizione

Di seguito trovi le condizioni da controllare per decidere se aprire una posizione:

void OpenBuyOrSell()
  {
   double mac1,mac2,mac3,mac4,mac5,mac6,mac7,mac8;
   mac1 = iMACDGet(MAIN_LINE,0);
   mac2 = iMACDGet(MAIN_LINE,1);
   mac3 = iMACDGet(MAIN_LINE,2);
   mac4 = iMACDGet(MAIN_LINE,3);
   mac5 = iMACDGet(SIGNAL_LINE,0);
   mac6 = iMACDGet(SIGNAL_LINE,1);
   mac7 = iMACDGet(SIGNAL_LINE,2);
   mac8 = iMACDGet(SIGNAL_LINE,3);

//--- controlla la possibilità di aprire una posizione long (BUY)
   if(mac8>mac7 && mac7>mac6 && mac6<mac5 && mac4>mac3 && mac3<mac2 && mac2<mac1 && mac2<-0.00020 && mac4<0 && mac1>0.00020)
     {
      if(!RefreshRates())
         return;
      double volume=LotsOptimized();
      if(volume==0)
         return;
      m_trade.Buy(volume,Symbol(),m_symbol.Bid(),0,0,"Expert MACD");
      return;
     }
//--- controlla la possibilità di aprire una posizione short (SELL)
   if(mac8<mac7 && mac7<mac6 && mac6>mac5 && mac4<mac3 && mac3>mac2 && mac2>mac1 && mac2>0.00020 && mac4>0 && mac1<-0.00035)
     {
      if(!RefreshRates())
         return;
      double volume=LotsOptimized();
      if(volume==0)
         return;
      m_trade.Sell(volume,Symbol(),m_symbol.Ask(),0,0,"Expert MACD");
      return;
     }
  }

Di seguito puoi vedere un esempio di apertura di una posizione di acquisto sul grafico:

Expert MACD EURUSD 1 Hour buy

 


Elenco
Commento 0