Errores, fallos, preguntas - página 2811

 
fxsaber:

¿Puede sugerir un programa de terceros que pueda monitorear los congelamientos de la CPU?

Quiero excluir (o confirmar) esta hipótesis de frenado de la MT5 en funcionamiento real.

¿Cómo debo vigilar exactamente? Por proceso, la mejor manera de ver el historial reciente es ProcessExplorer.

 
Stanislav Korotky:

¿Cómo se controla exactamente? Por proceso, ProcessExplorer muestra mejor el historial reciente.

Veo que alguna función en MQL se ha ejecutado durante decenas o cientos de milisegundos cuando debería estar dentro de uno. Quiero saber si todo estaba congelado en la máquina en ese momento o es un problema de MT5.

 
fxsaber:

Veo que alguna función en MQL se estaba ejecutando durante decenas o cientos de milisegundos cuando debería ejecutarse en uno. Quiero entender si en ese momento todo en la máquina se congeló o es un problema de MT5.

Aparentemente, el programa tiene que saber cómo manejar el temporizador y si el tiempo de corte a corte es mayor, todo el sistema se congela. Los servidores tienen un watchdog de este tipo, puede ser software, pero los servidores suelen reiniciarse en ese caso.

 

Directiva a la:

#property tester_file "abc.csv"

ha dejado de funcionar - el archivo existe pero no se envía a los agentes. No hay errores en los registros. ¿Existe tal problema?

PS. Reiniciado ejecutándolo desde el depurador. El archivo comenzó a recoger. Es maravilloso.

 
fxsaber:

Veo que alguna función en MQL se estaba ejecutando durante decenas o cientos de milisegundos cuando debería ejecutarse en uno. Quiero entender si en ese momento todo en la máquina se congeló o fue un problema con MT5.

Intente aumentar la prioridad de los procesos de MT5 al máximo. Con los resultados (las congelaciones desaparecen o permanecen) podrá juzgar.

Además, asegúrese de que todos los controladores de hardware críticos están actualizados.

 
fxsaber:

¿Puede sugerir un programa de terceros que pueda monitorear los congelamientos de la CPU?

Quiero excluir (o confirmar) esta hipótesis de frenado de la MT5 en funcionamiento real.

Vale la pena probar LatencyMon

 
Error durante la ejecución:
enum E {
        e1 = 0,
        e2 = 1,
        e3 = 0
};
void OnStart()
{
        Print( "\"", EnumToString(e3), "\"" );
}

Resultado: "e1"

Se espera: "e3".

al menos no está claro por qué e1 es mejor que e3
 
A100:
Error durante la ejecución:

Resultado: "e1"

Se espera: "e3".

Al menos no está claro por qué e1 es mejor que e3
Tampoco está claro por qué el e3 es mejor. La situación es discutible en cualquier caso
 
Alexey Navoykov:
Tampoco es mejor el e3. La situación es discutible en cualquier caso

En este caso es mejor, al menos, que se diga explícitamente

EnumToString(e3)

Si hay varias soluciones y todas son equivalentes, o bien todas deben ser representadas por "E::e1:e3" (todos los identificadores), o bien el error que se produce cuando ninguna solución es mejor que otra "E::0" (valor en lugar de identificador)

 
fxsaber:

Busca el tema del SO para el audio. Cuando se construye un sistema de audio para PC, se presta mucha atención a la perfección de los bits. Esto es especialmente cierto para el temporizador del sistema y las prioridades de los procesos. Se crean compilaciones especiales del SO minimalista para dejar un número mínimo de procesos, desactivar el wifi y otros equipos innecesarios, aumentar la prioridad del reproductor, establecer la frecuencia máxima del temporizador, etc., etc.

Comprobador de latencia del CPD