FMIC/Experts/Detectando o início duma nova barra ou vela (Português)/NovaBarra.mq5

40 lines
1.5 KiB
MQL5
Raw Permalink Normal View History

2025-05-30 14:55:26 +02:00
#property copyright "Direito Autoral \x00A9 2022, Fernando M. I. Carreiro, Todos os direitos reservados"
#property link "https://www.mql5.com/en/users/FMIC"
#property version "1.001"
#property strict
// Manipulador padrão de evento de tick
void OnTick()
{
// Verifiquar a existencia duma nova barra (compatível com MQL4 e MQL5).
static datetime dtBarraCorrente = WRONG_VALUE;
datetime dtBarraPrecedente = dtBarraCorrente;
dtBarraCorrente = iTime( _Symbol, _Period, 0 );
bool bEventoBarraNova = ( dtBarraCorrente != dtBarraPrecedente );
// Reajir ao evento duma barra nova e lidar com a situação.
if( bEventoBarraNova )
{
// Detectar se este é o primeiro tick recebido e lidar com a situação.
/* Por exemplo, quando é aplicado pela primeira vez ao gráfico e
a barra está algures a meio do seu progresso e
não é realmente o início de uma nova barra. */
if( dtBarraPrecedente == WRONG_VALUE )
{
// Fazer algo no primeiro tick ou no meio duma barra ...
}
else
{
// Fazer algo quando uma barra normal surgir ...
};
// Fazer algo independente da condição anterior ...
}
else
{
// Fazer outra coisa ...
};
// Fazer outras coisas ...
};