Un expert advisor que pierde dinero se ve. Un expert advisor que se para en silencio, no: el gráfico sigue mostrando el icono, el VPS sigue respondiendo al ping, y la cuenta simplemente no hace nada durante tres días mientras pasa de largo la configuración para la que fue diseñado. O peor: deja de gestionar posiciones que siguen abiertas. Esta lista recoge las ocho formas en que un EA de MT5 deja de operar sin avisarte, cómo distinguirlas en un par de minutos y cómo recibir un aviso la próxima vez.

Primero: ¿está parado o simplemente no encuentra operaciones?

Antes de tocar nada, separa «no hay señal» de «no se está ejecutando». Abre las pestañas Expertos y Diario de la Caja de herramientas y mira la hora de la última línea escrita por el EA. Un EA vivo suele registrar algo en cada vela nueva o, como mínimo, al inicializarse. Si la última entrada es de hace dos días y el mercado ha estado abierto, el EA no se está ejecutando. Si registra cada vela pero no abre nada, la lógica corre y sencillamente no se cumplen las condiciones (o lo bloquea un filtro de spread, de sesión o de noticias).

Las ocho causas habituales

Por qué un expert advisor de MT5 deja de operar
#CausaCómo confirmarlo
1El botón Algo Trading está desactivado (global o para ese EA)El botón de la barra está en rojo; el icono del gráfico muestra una señal de stop en lugar del birrete. MT5 lo desactiva solo tras algunos cambios de cuenta o de perfil.
2El terminal perdió la conexión o cerró la sesiónAbajo a la derecha aparece «Sin conexión» o «Cuenta inválida». Frecuente tras migraciones de servidor del bróker y cambios de contraseña (las prop firms cambian credenciales entre fases).
3El VPS se reinició y el terminal no arrancóLos reinicios de Windows Update son la causa clásica. Revisa el tiempo de actividad del sistema; comprueba que MT5 está en la carpeta de inicio y que el usuario de Windows inicia sesión automáticamente.
4El EA fue eliminado del gráficoEl Diario muestra «expert removed»: por un error crítico, un cambio de plantilla o un cambio de símbolo en el gráfico.
5Trading deshabilitado para el símbolo o la cuentaLas órdenes fallan con «trade disabled» o «market closed». Ocurre con cambios de sufijo (EURUSD → EURUSD.r), contratos vencidos o una cuenta prop incumplida que pasa a solo lectura.
6Margen insuficiente / lote por debajo del mínimoLa pestaña Expertos muestra «not enough money» o «invalid volume». Tras un drawdown, el lotaje por riesgo puede caer bajo el lote mínimo del bróker y todas las órdenes se rechazan.
7Filtro interno atascadoUn filtro de noticias cuyo calendario no se descargó, un filtro de spread con un spread permanentemente más ancho, una guarda de pérdida diaria que nunca se reinició. El EA registra «bloqueado» en cada vela.
8Falló la licencia o una dependencia externaLos EAs comerciales que validan licencia o llaman a un servicio web se paran si la URL no está en la lista permitida de WebRequest o el servicio está caído.

Orden de diagnóstico en dos minutos

  1. Estado de conexión en la esquina inferior derecha. Sin conexión, todo lo demás queda explicado.
  2. Botón Algo Trading y el icono de la esquina superior derecha del gráfico.
  3. Última hora registrada en la pestaña Expertos para ese EA.
  4. Último texto de error en Expertos y Diario (busca «failed», «disabled», «invalid», «removed»).
  5. Tiempo de actividad del VPS. Si son pocas horas, ya tienes la causa.

Apunta lo que encuentres. La misma causa suele volver, y la segunda vez querrás reconocerla en diez segundos.

Por qué no te enteraste antes

Los ocho fallos tienen algo en común: producen silencio, no un error que te llegue. Las notificaciones push de MT5 las envía el terminal, así que un terminal caído, desconectado o sin Algo Trading no puede decirte que tiene un problema. Las alertas por email programadas dentro del EA tienen el mismo límite: un EA parado no envía nada, y nada se parece demasiado a «todo tranquilo».

El único patrón fiable es el que se usa con servidores desde hace décadas: un heartbeat o latido. El EA reporta a algo fuera del terminal a intervalos fijos. Cuando los reportes cesan, el sistema externo da la alarma. El silencio se convierte en la señal.

Cómo montar un heartbeat que sirva de verdad

  • Envía desde OnTimer, no solo desde OnTick. Los ticks se detienen en fin de semana y en horas sin liquidez; un temporizador sigue corriendo, y así distingues «mercado cerrado» de «EA muerto».
  • Reporta el estado, no solo «vivo». Incluye si el trading está permitido (TerminalInfoInteger(TERMINAL_TRADE_ALLOWED), MQLInfoInteger(MQL_TRADE_ALLOWED), AccountInfoInteger(ACCOUNT_TRADE_ALLOWED)), el estado de conexión, la última decisión y el motivo del último bloqueo. Un EA que corre pero lleva seis horas bloqueado por su propio filtro de spread también es un problema.
  • Define la frescura de forma explícita. Con un heartbeat de un minuto, considera obsoleto más de cinco minutos sin reporte en horario de mercado.
  • Alerta en la transición. Un mensaje cuando un EA pasa a obsoleto y otro cuando se recupera. Las alarmas repetidas acaban silenciadas, y una alarma silenciada equivale a ninguna.
  • Mantén el receptor independiente. No debe vivir en el mismo VPS que el terminal.

Esto es lo que hace el contrato de telemetría de Quantisentry: cada experto envía un payload pequeño y validado; la plataforma controla una ventana de frescura de cinco minutos por EA y por cuenta; y el panel muestra qué expertos están frescos, obsoletos, armados o bloqueados, y por qué. Es de solo lectura por diseño: puede decirte que un EA se ha parado, y no puede tocar la operación.

Lista de prevención

  • Configura las horas activas de Windows Update y desactiva los reinicios automáticos en el VPS de trading.
  • Pon MT5 en la carpeta de inicio de Windows y activa el inicio de sesión automático de ese usuario.
  • Guarda un perfil con todos los gráficos y EAs cargados y márcalo como predeterminado.
  • Tras cualquier migración del bróker o cambio de fase en la prop firm, revisa nombres de símbolo y credenciales en cada terminal.
  • Añade las URLs que necesitan tus EAs en Herramientas → Opciones → Asesores Expertos → Permitir WebRequest.
  • Haz que cada filtro interno registre por qué bloqueó, con el valor medido.
  • Ejecuta un heartbeat hacia un monitor externo y pruébalo cerrando el terminal a propósito.

Preguntas frecuentes

¿Por qué mi expert advisor ha dejado de operar sin dar error?

Las causas más comunes son que Algo Trading esté desactivado, una conexión perdida o una contraseña cambiada, un reinicio del VPS tras Windows Update, que el EA se haya eliminado del gráfico o un filtro interno que se queda bloqueado. Todas producen silencio en lugar de un mensaje de error.

¿Cómo recibo un aviso cuando mi EA se para?

Con un heartbeat: el EA reporta a un servicio externo con un temporizador y ese servicio avisa cuando dejan de llegar reportes. Las notificaciones push de MT5 no sirven porque un terminal parado no puede enviarlas.

¿El heartbeat debe ir en OnTick o en OnTimer?

En OnTimer. Los ticks se detienen con el mercado cerrado o sin liquidez, así que un heartbeat basado en ticks no distingue un mercado cerrado de un EA muerto.

¿Cuánto tiempo sin reporte significa que el EA está caído?

Con un heartbeat de un minuto, más de cinco minutos sin datos en horario de mercado es un umbral de obsolescencia razonable.