Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1754
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
A situação é a seguinte: a variável X armazena o índice da barra no histórico, sabemos que quando uma nova barra aparece, há um deslocamento, e portanto X já aponta para uma barra diferente. Como consertá-lo? A idéia: a cada nova barra, aumentamos o contador (contagem++) e o adicionamos ao X. Assim, X sempre apontará para a mesma barra, independentemente da compensação. Mas há um problema - quando a EA é inicializada, a primeira barra atual não deve ser levada em conta. Acho que ela pode ser facilmente resolvida se a contagem for inicialmente apenas igual a -1. Ou seja, na barra atual após a contagem de incremento será "0", e na próxima barra nova (quando o primeiro turno por 1 barra tiver acontecido após a inicialização) será "1". O que você acha? Talvez eu esteja pensando no lugar errado?
Se for um indicador, é suficiente
a todas as matrizes e tampões do indicador utilizado.
Então a barra zero se tornará taxas_total-1
A situação é a seguinte: a variável X armazena o índice da barra no histórico, sabemos que quando uma nova barra aparece, há um deslocamento, e portanto X já aponta para uma barra diferente. Como consertá-lo? A idéia: a cada nova barra, aumentamos o contador (contagem++) e o adicionamos ao X. Assim, X sempre apontará para a mesma barra, independentemente da compensação. Mas há um problema - quando a EA é inicializada, a primeira barra atual não deve ser levada em conta. Acho que ela pode ser facilmente resolvida se a contagem for inicialmente apenas igual a -1. Ou seja, na barra atual após a contagem de incremento será "0", e na próxima barra nova (quando o primeiro turno por 1 barra tiver acontecido após a inicialização) será "1". O que você acha? Talvez eu esteja pensando no lugar errado?
Por que se dar a tanto trabalho?
É mais fácil para mim)
Mas o processador é mais pesado...
Mas o processador é mais pesado...
A situação é a seguinte: a variável X armazena o índice da barra no histórico, e sabemos que quando uma nova barra aparece, ela é deslocada e, portanto, X já aponta para outra barra. Como consertá-lo? A idéia: a cada nova barra, aumentamos o contador (contagem++) e o adicionamos ao X. Assim, X sempre apontará para a mesma barra, independentemente da compensação. Mas há um problema - quando a EA é inicializada, a primeira barra atual não deve ser levada em conta. Acho que ela pode ser facilmente resolvida se a contagem for inicialmente apenas igual a -1. Ou seja, na barra atual após a contagem de incremento será "0", e na próxima barra nova (quando o primeiro turno por 1 barra tiver acontecido após a inicialização) será "1". O que você acha? Talvez eu esteja pensando no lugar errado?
Aí não. Não há nada em X ao carregar EA/indicador se estiver dentro do terminal, a menos que seja uma variável intu ou externa ou global fora do terminal, então algo tem que ser escrito lá primeiro. E então simplesmente lemos as mudanças do número total de barras (conta para o aparecimento de uma nova barra).
data/hora BarTime;
Saudações. Você pode me dar uma dica? Como em mt5 na inicialização ou no tick para definir os testes?
Até agora, encontrei apenas OnTester(), que é chamado pouco antes da chamada de OnDeinit().
@Valeriy Yastremskiy O índice é colocado em X ainda no OnInit(). Meu código é parecido com este:
A condição com FlagNewBar me parece redundante.