Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 622

 
Como aumentar o número de barras no testador em MT4 antes de inicializar o indicador? O indicador deve calcular sobre o histórico - é necessário verificar se está correcto no testador.
 
Outra questão, como posso verificar a integridade da história durante a inicialização em MT4? Suspeito que a história está a ser trocada no momento da inicialização, o que afecta o pré-cálculo...
 
-Aleks-:
Outra questão, como posso verificar a integridade da história durante a inicialização em MT4? Tenho a suspeita de que no momento da inicialização a história está a ser trocada, o que afecta o pré-cálculo...
Verificar o número de tarifas de barras_total. Se as taxas_total > pré_calculadas+1 - então mais de 1 barra foi trocada e, portanto, a história está a ser trocada.
 
Alexey Kozitsyn:
Verificar o número de tarifas de barras_total. Se as taxas_total > pré_calculadas+1 - significa que mais de 1 barra foi trocada e, portanto, a história foi trocada.
E verificar a frequência uma vez por segundo, e depois de uma longa pausa continuar a inicialização, certo?
 
-Aleks-:
E a frequência de verificação faz-se uma vez por segundo, e depois de uma longa pausa continua a inicialização, certo?

Em geral, como me foi recentemente dito em SD, é melhor fazer sem temporizador nos indicadores.

Basta adicionar a condição: if( prev_calculated <= 0 || rate_total > prev_calculated+1 ) como condição de primeiro início e recálculo completo do indicador. Se o fizer em OnCalculate(), não haverá problemas.

 
E de que 'longa pausa' está a falar?
 
Alexey Kozitsyn:

Em geral, como me foi recentemente dito em SD, em indicadores é melhor fazer sem temporizador.

Basta adicionar a condição: if( prev_calculated <= 0 || rate_total > prev_calculated+1 ) como condição de primeiro início e recálculo completo do indicador. Se o fizer em OnCalculate(), não haverá problema.

Quero ter um cálculo correcto da classe do tipo de indicador no meu Expert Advisor.

Se permitirmos 10 000 barras por gráfico, e as tivermos, então as barras não devolverão mais de 10000, mesmo que haja uma nova barra. Então como sei se há um novo bar quando a história é carregada?

 
E aparentemente a verificação não deve ser feita na inicialização, uma vez que a EA é rubricada quando o terminal é carregado antes da ligação a DC....
 
-Aleks-:

Bem, preciso que a classe do tipo de indicador seja calculada correctamente na minha EA.

Portanto, estou confuso, se são permitidas 10000 barras por gráfico e são, então as barras não devolverão mais de 10000, mesmo que apareçam novas barras. Então como saber se existe um novo bar quando se carrega o histórico?

Porque não? Sim, vai. E as barras() e taxas_total aumentarão. Verifique o número em OnCalculate().

O número de barras colocadas no terminal não afecta o número de barras no testador (um pouco menos de 100000).

 
Alexey Kozitsyn:

Porque não? Vai. Tanto as Barras() como as taxas_total aumentarão. Verifique o número em OnCalculate().

O número de barras colocadas no terminal não afectou o número de barras no testador (pouco menos de 100000).

Não não, não preciso dele no testador, mas quando eu executar o terminal num gráfico real - lá ele só funcionará se o histórico tiver menos do que o número máximo de barras, ou estou errado?
Razão: