Funkcja double iMA() zwraca wartość wskaźnika Moving Average. Więcej informacji można znaleźć w specyfikacji MQL4.
Skrypt do wyświetlenia wartości wskaźnika iMA() dla bieżącego instrumentu finansowego _Symbol , bieżącego przedziału czasowego PERIOD_CURRENT , okresu średniej kroczącej = 14, przesunięcia wskaźnika względem ceny o 0, metoda liczenia średniej kroczącej SMA MODE_SMA , na podstawie cen zamknięcia świec PRICE_CLOSE 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 maPeriod = 14; // okres uśrednienia
int maShift = 0; // przesunięcie wskaźnika
ENUM_MA_METHOD maMethod = MODE_SMA; // średnia krocząca
ENUM_APPLIED_PRICE appliedPrice = PRICE_CLOSE; // cena
int indexBar = 0; // indeks świecy
//--- znaleźć wartość wskaźnika iMA
double result = iMA(symbolName, timeFrame,
maPeriod, maShift, maMethod,
appliedPrice, indexBar);
//--- wyświetlić wynik
Print("Wartość iMA dla bieżącego symbolu i timeframe, ",
"okresu uśrednienia 14, przesunięcia 0, SMA, "
"ceny close i bieżącej świecy = ",result);
}
Rys. 1. Przykład stosowania funkcji iMA().
Skrypt do wyświetlenia wartości wskaźnika iMA() dla USDJPY, przedziału czasowego H1, okresu średniej kroczącej = 21, przesunięcia wskaźnika = 0, typ średniej kroczącej EMA (MODE_EMA), ceny typowej (PRICE_TYPICAL) i świecy z indeksem 1.
#property strict
void OnStart()
{
//--- znaleźć wartość wskaźnika iMA
double result = iMA("USDJPY", PERIOD_H1, 21, 0,
MODE_EMA, PRICE_TYPICAL, 1);
//--- wyświetlić wynik
Print("iMA(\"USDJPY\", PERIOD_H1, 21, 0, ",
"MODE_EMA, PRICE_TYPICAL, 1) = ",result);
}
Rys. 2. Przykład stosowania funkcji iMA().