Funkcje wskaźników standardowych:   iMACD()

Funkcja double iMACD() zwraca wartość wskaźnika Moving Averages Convergence/Divergence. Więcej informacji można znaleźć w specyfikacji MQL4.


Przykład 1

Skrypt do wyświetlenia wartości wskaźnika iMACD() dla bieżącego instrumentu finansowego _Symbol , bieżącego przedziału czasowego PERIOD_CURRENT , okresu szybkiej wykładniczej średniej kroczącej (EMA) = 12, okresu wolnej EMA = 26, okresu linii sygnału = 9, na podstawie cen zamknięcia świec PRICE_CLOSE , głównej linii wskaźnika MODE_MAIN i bieżącej świecy (indeks 0).

#property strict
void OnStart()
  {
//---
   string             symbolName    = _Symbol;        // bieżący instrument finansowy
   ENUM_TIMEFRAMES    timeFrame     = PERIOD_CURRENT; // bieżący przedział czasowy
   int                fastEmaPeriod = 12;             // okres szybkiej EMA
   int                slowEmaPeriod = 26;             // okres wolnej EMA
   int                signalPeriod  = 9;              // okres linii sygnału
   ENUM_APPLIED_PRICE appliedPrice  = PRICE_CLOSE;    // cena
   int                lineMode      = MODE_MAIN;      // identyfikator linii wskaźnika
   int                indexBar      = 0;              // indeks świecy

//--- znaleźć wartość wskaźnika iMACD
   double result = iMACD(symbolName, timeFrame,
                         fastEmaPeriod, slowEmaPeriod, signalPeriod,
                         appliedPrice, lineMode, indexBar);

//--- wyświetlić wynik
   Print("iMACD() = ",result);
  }

Rys. 1. Przykład stosowania funkcji iMACD().


Przykład 2

Skrypt do wyświetlenia wartości wskaźnika iMACD() dla USDJPY, przedziału czasowego H1, okresu szybkiej EMA = 15, okresu wolnej EMA = 35, okresu linii sygnału = 7, ceny open, głównej (MODE_MAIN) oraz sygnałowej (MODE_SIGNAL) linii i świecy z indeksem 1.

#property strict
void OnStart()
  {
//--- znaleźć wartości wskaźnika iMACD
//--- główna linia
   double main   = iMACD("USDJPY", PERIOD_H1, 15, 35, 7,
                         PRICE_OPEN, MODE_MAIN, 1);

//--- sygnałowa linia
   double signal = iMACD("USDJPY", PERIOD_H1, 15, 35, 7,
                         PRICE_OPEN, MODE_SIGNAL, 1);

//--- wyświetlić wyniki
   Print("Dane dla USDJPY, H1, ",
         "szybkie EMA 15, wolne EMA 35, sygnał 7, ",
         "PRICE_OPEN i świeca 1:");
   Print("Główna linia (MODE_MAIN): iMACD() = ",main);
   Print("Sygnałowa linia (MODE_SIGNAL): iMACD() = ",signal);
  }

Rys. 2. Przykład stosowania funkcji iMACD().