Indicadores: isNewBar

isNewBar:

A função permite verificar se uma nova barra apareceu no timeframe especificado.

Para os indicadores e Expert Advisors muitas vezes se faz necessário a informação se uma nova barra apareceu no timeframe especificado. Aqui está um exemplo de como pode ser feito.

Autor: Prival

Corrigido, obrigado.

Rosh:
Поправлено, спасибо

изменения не вступают в силу "немедленно"? пока все осталось без изменений...

As alterações entrarão em vigor quando a nova versão for publicada. Pronto. Obrigado.

Qual é a opinião das pessoas sobre a melhor maneira de usar uma abordagem do tipo IsNewBar() durante o backtesting?


Tomar decisões com base na contagem de ticks é uma delas, mas usar IsNewBar() com base no tempo ou em Bars() simplesmente não é um bom teste de retorno...

Era exatamente o que eu precisava! Obrigado.

Para que essa função funcione com barras históricas, é necessário adicionar mais um parâmetro de entrada — a hora da barra atual no gráfico — e usar essa hora como ponto de partida na função CopyTime():

int copied=CopyTime(_Symbol,timeFrame,time,1,new_Time);

Dessa forma, é possível processar em um ciclo as barras históricas do gráfico e verificar se a nova barra pertence ao período atual ou a outro (por exemplo, um período anterior).