Funkcje wskaźników standardowych:   iMAOnArray()

Funkcja double iMAOnArray() zwraca wartość wskaźnika Moving Average, obliczonego na podstawie danych z własnej tablicy. Więcej informacji można znaleźć w specyfikacji MQL4.


Przykład 1

Skrypt do wyświetlenia wartości wskaźnika iMA() obliczonego za pomocą iMAOnArray() na danych z tablicy. Najpierw trzeba przygotować tablicę wartości, na podstawie której będzie liczona średnia krocząca. W poniższym przykładzie została utworzona dynamiczna tablica array[], za pomocą ArrayResize() ustawiono jej rozmiar równy ilości świec na wykresie Bars , a za pomocą ArraySetAsSeries() zmieniono kierunek indeksacji elementów tablicy. Następnie, w pętli for kopiuje się ceny close dla bieżącego instrumentu finansowego _Symbol i timeframe’u PERIOD_CURRENT . Dalej funkcja iMAOnArray() oblicza wartość średniej kroczącej.

#property strict
void OnStart()
  {
//---
   double array[];                // inicjalizacja dynamicznej tablicy
   ArrayResize(array, Bars);      // ustawienie rozmiaru tablicy równej ilości świec na wykresie
   ArraySetAsSeries(array, true); // odwrócenie indeksacji elementów tablicy

//---
   for(int i=0; i<Bars; i++)
      array[i]=iClose(_Symbol, PERIOD_CURRENT, i); // zapis cen close do tablicy

//---
   int            total    = 0;        /* ilość elementów tablicy do obliczenia
                                          0 - wszystkie elementy tablicy */
   int            maPeriod = 14;       // okres uśrednienia
   int            maShift  = 0;        // przesunięcie wskaźnika
   ENUM_MA_METHOD maMethod = MODE_SMA; // średnia krocząca
   int            indexBar = 2;        // indeks świecy
//---
   double result=iMAOnArray(array, total, maPeriod, maShift, maMethod, indexBar);

//---
   Print("Wartość iMAOnArray = ",result);
  }

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