Funkcje wskaźników standardowych:   iEnvelopesOnArray()

Funkcja double iEnvelopesOnArray() zwraca wartość wskaźnika Envelopes, 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 iEnvelopes() obliczonego za pomocą iEnvelopesOnArray() na danych z tablicy. Najpierw trzeba przygotować tablicę wartości, na podstawie której będzie liczony Envelopes. 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 iEnvelopesOnArray() oblicza wartość Envelopes.

#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
   ENUM_MA_METHOD maMethod  = MODE_SMA;   // średnia krocząca
   int            maShift   = 0;          // przesunięcie wskaźnika
   double         deviation = 0.1;        // odchylenie procentowe
   int            lineMode  = MODE_UPPER; // identyfikator linii wskaźnika
   int            indexBar  = 2;          // indeks świecy
//---
   double result=iEnvelopesOnArray(array, total, maPeriod, maMethod, maShift,
                                   deviation, lineMode, indexBar);

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

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