Analisar Candles Posteriores

 

Eu estou tentando implementar uma função que conta candles após uma condição X, exemplo: Após dois candles verdes, comece a contar. E o problema é, quando você usa algo do tipo:

if(candle[2].close > candle[2].open && candle[1].close > candle[1].open)

Após uma nova barra ser aberta, pode ser que o candle [1] não seja mais verde e a partir daí a condição não faz mais sentido, porque é algo dinâmico. Então como eu posso marcar um "evento" e apartir desse "evento" acontecer, eu iniciar uma outra ação. Como iniciar uma contagem, do tipo, a cada fechamento apartir desse "evento" eu somo 1 a minha váriavel que irá contar esses candles.

Mas resumindo, a questão é como eu consigo ao inves de sempre olhar pra trás fazer o EA olhar pra frente, ou seja, analisar os candles posteriores a uma determinada condição.

 
HENRIQUE ARAUJO DOS SANTOS:


Quando ocorrer o evento que você tá monitorando, guarde o horário da barra seguinte (nova barra) em variável:

datetime HorarioEvento = iTime(NULL, PERIOD_CURRENT, 0);

Daí, sempre que quiser saber o tempo desde o evento (quantidade de barras), você pode fazer:

int QtBarras = int((iTime(NULL, PERIOD_CURRENT, 0) - HorarioEvento) / PeriodSeconds(PERIOD_CURRENT));
 
Vinicius de Oliveira:

Quando ocorrer o evento que você tá monitorando, guarde o horário da barra seguinte (nova barra) em variável:

Daí, sempre que quiser saber o tempo desde o evento (quantidade de barras), você pode fazer:

Boa @Vinicius de Oliveira! Dessa forma é possivel tanto marcar o evento, quanto obter dados do evento. Obrigado pela resposta.

Razão: