Funkcja int Bars() zwraca ilość świec, mówiąc inaczej barów, w historii dla odpowiedniego instrumentu finansowego i przedziału czasowego (przykład 1). Drugi sposób wywołania tej funkcji pozwala uzyskać ilość świec dla odpowiedniego instrumentu finansowego i przedziału czasowego w określonym zakresie czasu (przykład 2). Więcej informacji można znaleźć w specyfikacji MQL4.
#property strict void OnStart() { //--- dane do obliczenia ilości świec string symbol_name = "EURUSD"; // instrument finansowy ENUM_TIMEFRAMES timeframe = PERIOD_H1; // przedział czasowy //--- znaleźć ilość świec na całym wykresie int result_1 = Bars(symbol_name, timeframe); //--- wyświetlić wynik Print("1) Na wykresie EURUSD, H1 jest ",result_1," świec."); //--- znaleźć i wyświetlić ilość świec na całym wykresie dla USDJPY i M30 int result_2 = Bars("USDJPY", PERIOD_M30); Print("2) Na wykresie USDJPY, M30 jest ",result_2," świec."); //--- znaleźć i wyświetlić ilość świec na całym wykresie //--- dla bieżącego instrumentu finansowego i bieżącego przedziału czasowego int result_3 = Bars(_Symbol, PERIOD_CURRENT); Print("3) Na bieżącym wykresie jest ",result_3," świec."); }
Rys. 1. Przykłady stosowania funkcji Bars().
Jeśli trzeba znaleźć ilość świec na tym wykresie notowań, gdzie program MQL4 został uruchomiony, to zamiast zapisu Bars(_Symbol , PERIOD_CURRENT) zalecane jest stosowanie predefiniowanej zmiennej Bars .
#property strict void OnStart() { //--- dane do obliczenia ilości świec string symbol_name = "EURUSD"; // instrument finansowy ENUM_TIMEFRAMES timeframe = PERIOD_H1; // przedział czasowy datetime date_start = D'2016.08.12 15:00'; // początek datetime date_end = D'2016.08.12 19:00'; // koniec //--- znaleźć ilość świec int result_1 = Bars(symbol_name, timeframe, date_start, date_end); //--- wyświetlić wynik Print("Na wykresie EURUSD, H1 w dniu 2016.08.12 między 15:00 a 19:00 jest ",result_1," świec."); }
Rys. 2. Przykład stosowania funkcji Bars().