Funkcja bool IsNewBar() sprawdza pojawienie nowej świecy. Jeśli na wykresie notowań pojawi się nowa świeca funkcja zwróci true, inaczej false. Ma następujące argumenty:
f_symbol - nazwa instrumentu finansowego. W przypadku _Symbol funkcja będzie analizować ten wykres notowań, gdzie program MQL4 zostanie uruchomiony.
f_timeFrame - przedział czasowy. W przypadku PERIOD_CURRENT funkcja będzie analizować ten wykres notowań, gdzie program MQL4 zostanie uruchomiony.
f_current - warunek uwzględnienia bieżącej świecy. Wartość domyślna = false, tj. w momencie pierwszego uruchomienia funkcji bieżąca świeca nie jest traktowana jako nowa.
bool IsNewBar(string f_symbol, // instrument finansowy ENUM_TIMEFRAMES f_timeFrame, // przedział czasowy bool f_current=false) // bieżąca świeca { //--- static datetime f_lastBar=0; datetime f_bar=iTime(f_symbol,f_timeFrame,0); //--- if(f_current==false && f_lastBar==0) { f_lastBar=f_bar; return false; } //--- if(f_lastBar!=f_bar) { f_lastBar=f_bar; return true; } else return false; }
1) Sprawdzić pojawienie nowej świecy na tym wykresie notowań, gdzie program MQL4 został uruchomiony:
IsNewBar(_Symbol, PERIOD_CURRENT);
2) Sprawdzić pojawienie nowej świecy dla EURUSD, przedziału czasowego H1 i przy pierwszym uruchomieniu programu MQL4 bieżącą świecę potraktować jako nową:
IsNewBar("EURUSD", PERIOD_H1, true);