Funkcja double iADX() zwraca wartość wskaźnika Average Directional Movement Index. Więcej informacji można znaleźć w specyfikacji MQL4.
Skrypt do wyświetlenia wartości wskaźnika iADX() dla bieżącego instrumentu finansowego _Symbol , bieżącego przedziału czasowego PERIOD_CURRENT , uśrednionego okresu = 14, 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 period = 14; // okres uśrednienia
ENUM_APPLIED_PRICE appliedPrice = PRICE_CLOSE; // cena
int lineMode = MODE_MAIN; // identyfikator linii wskaźnika
int indexBar = 0; // indeks świecy
//--- znaleźć wartość wskaźnika iADX
double result = iADX(symbolName, timeFrame, period,
appliedPrice, lineMode, indexBar);
//--- wyświetlić wynik
Print("Wartość iADX dla bieżącego symbolu i timeframe, ",
"okresu uśrednienia 14, ceny close, głównej linii ",
"i bieżącej świecy = ",result);
}
Rys. 1. Przykład stosowania funkcji iADX().
Skrypt do wyświetlenia wartości wskaźnika iADX() dla USDJPY, przedziału czasowego H1, uśrednionego okresu = 21, ceny open, linii +DI (MODE_PLUSDI) oraz linii -DI (MODE_MINUSDI) i świecy z indeksem 1.
#property strict
void OnStart()
{
//--- znaleźć wartości wskaźnika iADX
double plusDI = iADX("USDJPY", PERIOD_H1, 21, PRICE_OPEN, MODE_PLUSDI, 1);
double minusDI = iADX("USDJPY", PERIOD_H1, 21, PRICE_OPEN, MODE_MINUSDI,1);
//--- wyświetlić wyniki
Print("iADX(\"USDJPY\", PERIOD_H1, 21, PRICE_OPEN, MODE_PLUSDI, 1) = ",plusDI);
Print("iADX(\"USDJPY\", PERIOD_H1, 21, PRICE_OPEN, MODE_MINUSDI, 1) = ",minusDI);
}
Rys. 2. Przykład stosowania funkcji iADX().