Funkcja double iFractals() zwraca wartość wskaźnika Fractals. Więcej informacji można znaleźć w specyfikacji MQL4.
Skrypt do wyświetlenia wartości wskaźnika iFractals() dla bieżącego instrumentu finansowego _Symbol , bieżącego przedziału czasowego PERIOD_CURRENT , górnych (MODE_UPPER) oraz dolnych (MODE_LOWER) fraktali , dla 5 świec od indeksu 0 do 4.
#property strict
void OnStart()
{
//---
string symbolName = _Symbol; // bieżący instrument finansowy
ENUM_TIMEFRAMES timeFrame = PERIOD_CURRENT; // bieżący przedział czasowy
int upperMode = MODE_UPPER; // identyfikator linii wskaźnika
int lowerMode = MODE_LOWER; // identyfikator linii wskaźnika
//---
Print("Wartość iFractals dla bieżącego symbolu i timeframe:");
for(int i = 0; i < 10; i++)
{
//--- znaleźć wartości wskaźnika iFractals
double upper = iFractals(symbolName, timeFrame, upperMode, i);
double lower = iFractals(symbolName, timeFrame, lowerMode, i);
//--- wyświetlić wyniki
Print("świeca [",i,"]: Upper = ",upper,", Lower = ",lower);
}
}
Rys. 1. Przykład stosowania funkcji iFractals().
Skrypt do wyświetlenia wartości wskaźnika iFractals() dla USDJPY, przedziału czasowego H1, dla 30 świec (od 0 do 29) i tylko tych wartości, które nie są równe 0, tj. istniejące fraktali.
#property strict
void OnStart()
{
//---
Print("iFractals(\"USDJPY\", PERIOD_H1):");
//--- pętla for do znalezienia fraktali
for(int i = 0; i < 30; i++)
{
//--- znaleźć górne fraktali i wyświetlić ich wartości
double upper = iFractals("USDJPY", PERIOD_H1, MODE_UPPER, i);
if(upper != 0.0)
Print("Górny fraktal: świeca [",i,"] = ",upper);
//--- znaleźć dolne fraktali i wyświetlić ich wartości
double lower = iFractals("USDJPY", PERIOD_H1, MODE_LOWER, i);
if(lower != 0.0)
Print("Dolny fraktal: świeca [",i,"] = ",lower);
}
}
Rys. 2. Przykład stosowania funkcji iFractals().