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

 
Aleksey Vyazmikin:

Me lo pensaré, gracias. Pero el problema global es otro.... El problema es que no es estable.

Otra posibilidad es que el problema se observe al inicio de la barra de horas. Cuando la barra acaba de abrirse, sólo hay un valor de minuto dentro de ella.start_index sería igual astop_index

 
Sergey Savinkin:

Alternativamente, el problema podría observarse al principio de una barra horaria. Cuando la barra acaba de abrirse, sólo hay un valor de minuto dentro de ella.start_index sería igual astop_index

No, sucede al azar, en diferentes momentos. El problema no debería estar relacionado con el código, funcionó correctamente durante mucho tiempo en diferentes instrumentos y en diferentes modos. Creo que es alguna función incorporada que se rompió después de otra actualización...

 

if(PeriodSeconds(_Period)!=0)limit=(int)(stop_time-start_time)/PeriodSeconds(_Period);

 
Renat Akhtyamov:

if(PeriodSeconds(_Period)!=0)limit=(int)(stop_time-start_time)/PeriodSeconds(_Period);

¿Y cuándo no se espera que aparezca esta condición, en qué caso?

 
Aleksey Vyazmikin:

¿Y cuándo no se espera que aparezca esta condición, en qué caso?

si no

imprimir la hora o escribir la marca de tiempo en global

dejará un rastro, ahí es donde descubrirás el problema
 

¿Alguien ha conseguido que el error de división sea cero? ¿Imprimir?

Acabo de iniciar 1 gráfico, esperé una hora, sin errores, cambié el perfil a uno que funcionaba y empezaron los errores. Por eso me preguntaba si es más profundo que eso.

 
Renat Akhtyamov:

si no

imprimir la hora o escribir las marcas de tiempo en global

dejará un rastro, ahí es donde encontrarás el problema.

La traza ya está ahí, pero para qué sirve: no se reproduce en el perfilado ni en el probador.

 
Aleksey Vyazmikin:

¿Alguien ha conseguido que el error de división sea cero? ¿Imprimir?

Acabo de iniciar 1 gráfico, esperé una hora, ningún error, cambié el perfil a uno de trabajo y empezaron los errores. Por eso me pregunto si el asunto es más profundo.

¿Quizá tenga que volver a guardar la plantilla de un gráfico que funcione?

¿el viento no se congela, el disco duro se desmorona?

 
Renat Akhtyamov:

¿tal vez tenga que volver a guardar la plantilla del gráfico de trabajo?

El win no se congela, ¿el disco duro se está estropeando?

¿Para qué sirve guardar la plantilla? Cuando cambié el perfil había docenas de indicadores diferentes que se procesaban. En este punto el terminal se cuelga, pero luego vuelve a la normalidad.

No tengo un cuelgue aquí, no es un problema con el disco duro SSD. Sugerí un problema con MT5 en términos de procesamiento de indicadores de streaming.

 

Supongamos que tenemos

2018.07.04 22:46:13.566 IndDrafter_Test (Si-9.18,M1)    i=638 start_time - 2018.04.28 23:38 stop_time - 2018.04.28 23:38
2018.07.04 22:46:13.566 IndDrafter_Test (Si-9.18,M1)    start_index=26430 stop_index=26430
2018.07.04 22:46:13.566 IndDrafter_Test (Si-9.18,M1)    TimeFrames=3600

Sabemos questart_time debe ser2018.04.28 23:00

¿Así que resulta que la hora está mal aquí?

datetime start_time=rates[i].time;