Dostęp do danych historycznych:   iOpen()

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.


Przykład 1

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[] .


Przykład 2

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().