Funkcja double iOpen() zwraca cenę otwarcia (open) ś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 open ś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ę open
double openPrice = iOpen(symbolName, timeFrame, indexBar);
//--- wyświetlić wynik
Print("Cena open świecy 1, bieżącego symbolu i timeframe-u = ",openPrice);
}
Rys. 1. Przykład stosowania funkcji iOpen().
Jeśli trzeba znaleźć cenę open świecy na tym wykresie notowań, gdzie program MQL4 został uruchomiony, to zalecane jest stosowanie predefiniowanej tablicy Open[] .
Skrypt do wyświetlenia cen open świec dla różnych instrumentów finansowych, przedziałów czasowych i indeksów.
#property strict
void OnStart()
{
//--- znaleźć ceny open
double openEURUSD_M5_2 = iOpen("EURUSD", PERIOD_M5, 2);
double openUSDCHF_H1_3 = iOpen("USDCHF", PERIOD_H1, 3);
double openCADJPY_D1_10 = iOpen("CADJPY", PERIOD_D1, 10);
//--- wyświetlić wynik
Print("Cena open świecy EURUSD, PERIOD_M5, indeks 2 = ",openEURUSD_M5_2);
Print("Cena open świecy USDCHF, PERIOD_H1, indeks 3 = ",openUSDCHF_H1_3);
Print("Cena open świecy CADJPY, PERIOD_D1, indeks 10 = ",openCADJPY_D1_10);
}
Rys. 2. Przykłady stosowania funkcji iOpen().