Funkcja double iClose() zwraca cenę zamknięcia (close) świecy o określonym indeksie dla odpowiedniego instrumentu finansowego i przedziału czasowego. Więcej informacji można znaleźć w specyfikacji MQL4.
Skrypt do wyświetlenia ceny close świecy z indeksem 1 dla bieżącego instrumentu finansowego _Symbol i bieżącego przedziału czasowego PERIOD_CURRENT .
#property strict
void OnStart()
{
//---
string symbolName = _Symbol; // bieżący instrument finansowy
ENUM_TIMEFRAMES timeFrame = PERIOD_CURRENT; // bieżący przedział czasowy
int indexBar = 1; // indeks świecy
//--- znaleźć cenę close
double closePrice = iClose(symbolName, timeFrame, indexBar);
//--- wyświetlić wynik
Print("Cena close świecy 1, bieżącego symbolu i timeframe-u = ",closePrice);
}
Rys. 1. Przykład stosowania funkcji iClose().
Jeśli trzeba znaleźć cenę close świecy na tym wykresie notowań, gdzie program MQL4 został uruchomiony, to zalecane jest stosowanie predefiniowanej tablicy Close[] .
Skrypt do wyświetlenia cen close świec dla różnych instrumentów finansowych, przedziałów czasowych i indeksów.
#property strict
void OnStart()
{
//--- znaleźć ceny close
double closeEURUSD_M5_2 = iClose("EURUSD", PERIOD_M5, 2);
double closeUSDCHF_H1_3 = iClose("USDCHF", PERIOD_H1, 3);
double closeCADJPY_D1_10 = iClose("CADJPY", PERIOD_D1, 10);
//--- wyświetlić wynik
Print("Cena close świecy EURUSD, PERIOD_M5, indeks 2 = ",closeEURUSD_M5_2);
Print("Cena close świecy USDCHF, PERIOD_H1, indeks 3 = ",closeUSDCHF_H1_3);
Print("Cena close świecy CADJPY, PERIOD_D1, indeks 10 = ",closeCADJPY_D1_10);
}
Rys. 2. Przykłady stosowania funkcji iClose().