Funkcje wskaźników standardowych:   iBands()

Funkcja double iBands() zwraca wartość wskaźnika Bollinger Bands ®. Należy podkreślić, że w MetaTrader 4 ten wskaźnik domyślnie jest obliczany na podstawie prostej średniej kroczącej (SMA). Więcej informacji można znaleźć w specyfikacji MQL4.


Przykład 1

Skrypt do wyświetlenia wartości wskaźnika iBands() dla bieżącego instrumentu finansowego _Symbol , bieżącego przedziału czasowego PERIOD_CURRENT , okresu średniej kroczącej = 20, odchylenia standardowego = 2, przesunięcia wskaźnika względem ceny o 0, na podstawie cen zamknięcia świec PRICE_CLOSE dla obliczenia prostej średniej kroczącej, 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                period       = 20;             // okres średniej kroczącej
   double             deviation    = 2.0;            // krotność odchylenia standardowego
   int                bandsShift   = 0;              // przesunięcie wskaźnika
   ENUM_APPLIED_PRICE appliedPrice = PRICE_CLOSE;    // cena
   int                lineMode     = MODE_MAIN;      // identyfikator linii wskaźnika
   int                indexBar     = 0;              // indeks świecy

//--- znaleźć wartość wskaźnika iBands
   double result = iBands(symbolName, timeFrame, period, deviation,
                          bandsShift, appliedPrice, lineMode, indexBar);

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

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


Przykład 2

Skrypt do wyświetlenia wartości wskaźnika iBands() dla USDJPY, przedziału czasowego H1, okresu SMA = 35, odchylenia = 1.7, przesunięcia wskaźnika = 0, ceny open dla SMA, górnej (MODE_UPPER) oraz dolnej (MODE_LOWER) wstęgi i świecy z indeksem 1.

#property strict
void OnStart()
  {
//--- znaleźć wartości wskaźnika iBands
//--- górna wstęga
   double upper = iBands("USDJPY", PERIOD_H1, 35, 1.7, 0,
                         PRICE_OPEN, MODE_UPPER, 1);

//--- dolna wstęga
   double lower = iBands("USDJPY", PERIOD_H1, 35, 1.7, 0,
                         PRICE_OPEN, MODE_LOWER, 1);

//--- wyświetlić wyniki
   Print("Dane dla USDJPY, H1, ",
         "średnia krocząca 35, odchylenie 1.7, przesunięcie 0 ",
         "PRICE_OPEN i świeca 1:");
   Print("Górna wstęga (MODE_UPPER): iBands() = ",upper);
   Print("Dolna wstęga (MODE_LOWER): iBands() = ",lower);
  }

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