Funkcja double iStochastic() zwraca wartość wskaźnika Stochastic Oscillator. Więcej informacji można znaleźć w specyfikacji MQL4.
Skrypt do wyświetlenia wartości wskaźnika iStochastic() dla bieżącego instrumentu finansowego _Symbol , bieżącego przedziału czasowego PERIOD_CURRENT , okresu linii %K = 5, okresu linii %D = 3, spowolnienia = 3, metoda liczenia średniej kroczącej SMA MODE_SMA , pole ceny = 0 (może być 0 - Low/High lub 1 - Close/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 Kperiod = 5; // okres linii %K
int Dperiod = 3; // okres linii %D
int slowing = 3; // spowolnienie
ENUM_MA_METHOD method = MODE_SMA; // średnia krocząca
int priceField = 0; // cena, 0 - Low/High, 1 - Close/Close
int lineMode = MODE_MAIN; // identyfikator linii wskaźnika
int indexBar = 0; // indeks świecy
//--- znaleźć wartość wskaźnika iStochastic
double result = iStochastic(symbolName, timeFrame,
Kperiod, Dperiod, slowing,
method, priceField, lineMode, indexBar);
//--- wyświetlić wynik
Print("iStochastic() = ",result);
}
Rys. 1. Przykład stosowania funkcji iStochastic().
Skrypt do wyświetlenia wartości wskaźnika iStochastic() dla USDJPY, przedziału czasowego H1, okresu %K = 34, okresu %D = 13, spowolnienia = 5, typ średniej kroczącej EMA (MODE_EMA), pole ceny = 0, głównej (MODE_MAIN) oraz sygnałowej (MODE_SIGNAL) linii i świecy z indeksem 1.
#property strict
void OnStart()
{
//--- znaleźć wartości wskaźnika iStochastic
//--- główna linia
double main = iStochastic("USDJPY", PERIOD_H1, 34, 13, 5,
MODE_EMA, 0, MODE_MAIN, 1);
//--- sygnałowa linia
double signal = iStochastic("USDJPY", PERIOD_H1, 34, 13, 5,
MODE_EMA, 0, MODE_SIGNAL, 1);
//--- wyświetlić wyniki
Print("Dane dla USDJPY, H1, %K 35, %D 13, spowolnienie 5, ",
"EMA, 0 tj. Low/High i świeca 1:");
Print("Główna linia (MODE_MAIN): iStochastic() = ",main);
Print("Sygnałowa linia (MODE_SIGNAL): iStochastic() = ",signal);
}
Rys. 2. Przykład stosowania funkcji iStochastic().