Apareció un error de división por cero en un indicador - página 11

 
Alexey Kozitsyn:

Agáchate. Si quieres que la hora sea exacta, puedes hacer una cosa muy sencilla: recortar los minutos.

El algoritmo es el siguiente:

1. Pones el tiempo en la estructura;

2. Poner a cero las actas;

3. Convierte la estructura en la hora;

Se obtiene la hora de las 23:38 a las 23:00. Bueno, si el error se repite.

Necesito que el tiempo sea exacto al minuto, di un ejemplo arriba que en el TF de la hora la barra se abrió a las 14:00, pero de hecho la primera barra en el TF del minuto apareció a las 14:05.

Conozco su método sugerido, ¡gracias por su disposición a ayudar!

Hoy no he visto el error hasta ahora. Debe haber sido un error en MT5.

 
Aleksey Vyazmikin:

Necesito la hora exacta al minuto, di un ejemplo arriba que en el TF de la hora la apertura de la barra fue a las 14:00, pero de hecho la primera barra en el TF del minuto apareció a las 14:05.

Conozco su método sugerido, ¡gracias por su disposición a ayudar!

Hoy no he visto el error hasta ahora. Debe haber sido un error que se coló en la MT5.

No hay problema. Después de obtener la hora - solicite la hora de los minutos a las 14:00. Sigue observando lo que devuelve. Si vuelve a la misma hora, todo es normal. Si no hay tal tiempo en los minutos... entonces hay dos opciones (hay que comprobarlo): o la barra vuelve a las 13:59, o a las 14:05.

Lo que han hecho los desarrolladores es bueno.

 
Alexey Kozitsyn:

No hay problema. Después de obtener la hora - solicite la hora del minuto a las 2pm. A continuación, vea lo que se devuelve. Si vuelve a la misma hora, todo es normal. Si no hay tal tiempo en minutos... entonces hay dos opciones (hay que comprobarlo): o la barra vuelve a las 13:59, o a las 14:05.

Lo que los desarrolladores han corregido es bueno.

Sí, así es, ese es exactamente el tipo de comprobación implementado en el código.

En general, lo haría a través de iBarShift, pero en ese momento no había un estándar común y diferentes funciones devolvían valores diferentes, mientras que ahora puede incluso funcionar más rápido.