Uma divisão por erro zero apareceu em um indicador - página 11

 
Alexey Kozitsyn:

Abaixe isto. Se você quiser uma hora exata, você pode fazer uma coisa simples: aparar os minutos.

O algoritmo é o seguinte:

1. Você coloca o tempo na estrutura;

2. zero na ata;

3. Converta a estrutura de volta ao tempo;

O horário é das 23:38 às 23:00. Bem, se o erro for repetido.

Preciso de tempo exato até o minuto, dei um exemplo acima que na hora TF o bar abriu às 14:00, mas na verdade o primeiro bar no minuto TF apareceu às 14:05.

Conheço seu método sugerido, obrigado por sua vontade de ajudar!

Não vi o erro até o momento hoje. Deve ter sido um bug no MT5.

 
Aleksey Vyazmikin:

Preciso de tempo exato até o minuto, dei um exemplo acima que na hora TF a abertura do bar foi às 14:00, mas na verdade o primeiro bar no minuto TF apareceu às 14:05.

Conheço seu método sugerido, obrigado por sua vontade de ajudar!

Não vi o erro até o momento hoje. Deve ter sido um bug que se infiltrou no MT5.

Não há problema. Depois de receber a hora - solicite a hora minuto às 14:00 horas. Continue observando o que ele retorna. Se ele retornar ao mesmo tempo, tudo é normal. Se não há esse tempo em minutos... então há duas opções (você tem que verificar): ou o bar retorna às 13:59, ou às 14:05.

O que os desenvolvedores têm feito é bom.

 
Alexey Kozitsyn:

Não há problema. Depois de obter o horário - solicite o minuto às 14h. Depois veja o que é devolvido. Se ele retornar ao mesmo tempo, tudo é normal. Se não houver esse tempo em minutos... então há duas opções (você tem que verificar): ou o bar retorna às 13:59, ou às 14:05.

O que os desenvolvedores corrigiram é bom.

Sim, isso mesmo, esse é exatamente o tipo de verificação implementada no código.

Eu o faria geralmente através do iBarShift, mas naquela época não havia um padrão comum e funções diferentes retornavam valores diferentes, enquanto agora ele pode até funcionar mais rápido.