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.
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().
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().