Предоставените по-долу функции определят дали има отворен нов бар на съответния таймфрейм на който са активирани, т.е. ако функциите работят на таймфрейм М5, то ще връщат положителен отговор за всеки отворен нов петминутен бар.
Функция 1
bool NewBar()
{
static datetime lastbar;
datetime curbar = Time[0];
if(lastbar!=curbar)
{
lastbar=curbar;
return (true);
}
else
{
return(false);
}
}
Функция 2
static int BARS;
bool IsNewBar()
{
if(BARS!=Bars(_Symbol,_Period))
{
BARS=Bars(_Symbol,_Period);
return(true);
}
return(false);
}
Функция 3
bool IsNewBar() {
if (stopper == Time[1])
{
stopper = Time[0];
return true;
}
else
{
return false;
}
}
Горните функции вършат една и съща работа и е въпрос на предпочитание коя да ползвате