Errores, fallos, preguntas - página 383

 

Mi Asesor Experto en algún momento comienza a comportarse mal, aparece un mensaje en el registro cuando se retira del gráfico:

Terminación anormal

Lafunción OnDeinit está vacía. ¿Qué significa este mensaje?

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
molotkovsm:

Mi Asesor Experto en algún momento comienza a comportarse mal, aparece un mensaje en el registro cuando se retira del gráfico:

Terminación anormal

Lafunción OnDeinit está vacía. ¿Qué significa este mensaje?

Que está en bucle ... o algo similar...
 
AlexSTAL:
Que está obsesionado... o algo así...
¿Qué otra cosa podría ser? Es que se muestra cada tick de la cotización, con los tiempos de ejecución de las secciones de código con bucles, todo parece estar bien.
 
molotkovsm:
¿Qué otra cosa, cosas similares pueden suceder? Es que cada tick se muestra, con el tiempo de ejecución de las secciones de código con bucles, todo parece estar bien.
Me ha aparecido una terminación anormal cuando he lanzado una tarea que requería grandes cálculos y, sin saberlo, he reiniciado el terminal. Cuando dejé el terminal "solo" para que funcionara durante unos 15-20 minutos, aparecieron los resultados deseados.
 

Compilación 439, 441, SO Win XP 32 bits. Apaga los agentes con el mensaje "Agente demasiado lento...". La última construcción que funcionó bien, en mi opinión, fue la 425.

El agente es demasiado lento...

 
Yedelkin:
Tuve una terminación anormal cuando lancé una tarea que requería grandes cálculos y, sin saberlo, reinicié la terminal. Cuando dejé el terminal "solo" para que funcionara durante unos 15-20 minutos, aparecieron los resultados deseados.

En los bucles grandes, añada IsStopped() como condición de salida.

 
MONTEGRO:

Compilación 439, 441, SO Win XP 32 bits. Apaga los agentes con el mensaje "Agente demasiado lento...". La última construcción que funcionó bien, en mi opinión, fue la 425.

¿Sólo tiene agentes locales?

Esto se rectificará en breve

 
stringo:

¿Sólo tiene agentes locales?

No, también ocurre con los remotos.

estrangulamiento:

Esta situación se resolverá en un futuro próximo

¿No sería estupendo que se lanzara un parámetro configurable por el usuario sobre el tiempo medio que se considera que un agente es retrasado?

 
MONTEGRO:

No, también ocurre con los remotos.

Sería genial, tal vez un parámetro configurable por el usuario sobre el tiempo medio en el que se considera que un agente es lento?

Con local y remoto, esa es la idea. Si sólo se trata de agentes locales, la comprobación de lentitud se desactivará.

No vamos a introducir un parámetro personalizado. Mejoraremos el algoritmo de detección de agentes lentos.

En realidad, si aparece el mensaje "el agente lento ha fallado", significa que el agente lento ha duplicado el trabajo que estaba ejecutando y se lo ha dado a otro agente. Y este otro agente completó la tarea duplicada antes de que lo hiciera el "agente lento" (teniendo en cuenta que las tareas no estaban distribuidas en paralelo, sino con un retraso importante). Así que, efectivamente, el agente "lento" es demasiado lento, y se le apartó del camino durante un tiempo

 
stringo:

En los bucles grandes, añada IsStopped() como condición de salida adicional

¡Exactamente! Esta función se utiliza a menudo en la biblioteca estándar; ahora empiezo a comprender su valor práctico. Gracias.
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5