Errores, fallos, preguntas - página 2399

 

El terminal se cuelga al cambiar de cuenta.

Construcción: 2007, SO: Win7 x64


 
Vitaly Muzichenko:

El terminal se cuelga al cambiar de cuenta.

Construcción: 2007, SO: Win7 x64

Esperaba que los personajes personalizados en estas situaciones, ya que tengo todo en ellos.

Probablemente no los tengas. Entonces el problema es otro.

 
fxsaber:

Si intenta eliminar un script en bucle, puede hacer que el terminal se congele durante un tiempo.

Pero si se ejecuta un Asesor Experto en bucle en el Probador, se congela inmediatamente cuando se pulsa el botón de Stop.


¿Por qué hay un comportamiento diferente en estos casos?

¿Cuánto cuesta el bucle? ¿Hay una comprobación IsStopped() en el bucle?

Si el terminal se cuelga, significa que el hilo de la interfaz está bloqueado. El script tiene 3 segundos para detenerse y si no hay una comprobación de IsStopped(), continuará ejecutándose hasta que se detenga explícitamente. Y en este caso el hilo de la interfaz puede quedar bloqueado.

Un probador se detendrá mucho más rápido porque no puede realizar funciones críticas (por ejemplo, operar). Además, el probador es un proceso independiente que no afecta al terminal del cliente

 
Slava:

¿Cómo es el bucle? ¿Hay una comprobación IsStopped() en el bucle?

Me refería específicamente a un guión sin esta comprobación.

Si el terminal se cuelga, significa que el hilo de la interfaz está bloqueado. El script tiene 3 segundos para detenerse y si no hay una comprobación IsStopped(), continuará ejecutándose hasta que se detenga por completo. Y en este caso el hilo de la interfaz puede bloquearse.

El probador tiene una parada mucho más rápida, ya que no puede realizar funciones críticas (por ejemplo, el comercio). Además, el probador es un proceso completamente independiente que no afecta al terminal del cliente

Así que me di cuenta de que la parada dura en Tester y Terminal se realiza de manera diferente.

 
fxsaber:

He pecado de personajes personalizados en situaciones como esta, ya que tengo todo en ellos.

Probablemente no los tengas. Entonces el problema es diferente.

No existen las personalizadas.

Si cambias de cuenta en el mismo servidor, se cuelga durante un corto tiempo y el registro muestra "terminal anormal"

Si se cambia entre diferentes servidores (DCs), entonces se cuelga durante mucho tiempo.

Si durante un tiempo muy largo trabaja en un servidor sin cambiar, por ejemplo 3-5 días, y luego cambiar, entonces el terminal se cuelga apretado.

 
Vitaly Muzichenko:


entonces se cuelga por un corto tiempo y el registro muestra "terminal anormal"


Por favor, proporcione la entrada de registro completa

 
Slava:

Por favor, dame la entrada de registro completa

Ya veo, el problema debe estar en mi lado y el cuelgue es de mi asesor.

EJ      2       08:58:24.000    EA_Trade (EURCAD,H1)    Abnormal termination

¿Verdad?

 
Vitaly Muzichenko:

Ya veo, el problema debe estar en mi lado y el cuelgue es de mi asesor.

¿Verdad?

Parece un EA en bucle sin comprobación de IsStopped()
 
Slava:
Parece un EA en bucle sin comprobación de IsStopped()

Sí, lo es, pero no en bucle, sino cronometrado.

Añadiré IsStopped().

Gracias.

 
Vitaly Muzichenko:

Sí, lo es, pero no en bucle, sino cronometrado.

Añadiré IsStopped().

Gracias.

Si OnTimer no está en bucle, no debería haber ninguna terminación anormal.

¿Puede dar su experto para comprobar el comportamiento del terminal del cliente?