Cuando un Expert Advisor no opera, diagnostica el problema por niveles: instalación, permisos, condiciones de la estrategia y, por último, respuesta exacta del bróker. Cambiar parámetros al azar puede ocultar la causa real y generar nuevos riesgos.
Primeras comprobaciones cuando un EA de MT4 no funciona
- Confirma que el EA aparece en Navegador → Expert Advisors y que está añadido al gráfico previsto.
- Confirma que tanto AutoTrading global como el permiso Permitir trading en real del EA están activados.
- Comprueba la cuenta, el sufijo del símbolo, el marco temporal, el Magic Number, el horario del mercado y los parámetros.
- Abre Terminal → Experts y Journal; anota el mensaje completo y el código numérico.
- Modifica una sola posible causa cada vez y vuelve a revisar el registro.
Error → significado → causa → solución
| Error | Qué significa y por qué ocurre | Cómo solucionarlo |
|---|---|---|
| El EA no aparece en el Navegador | El archivo está en el terminal o la carpeta equivocados | Abre la carpeta de datos desde esa instancia de MT4, mueve el archivo .ex4 a MQL4/Experts y actualiza el Navegador. |
| AutoTrading desactivado | El permiso global o específico del EA está desactivado | Activa el botón de la barra de herramientas y Permitir trading en real en las propiedades del EA. |
| Cuenta o licencia no válida | El acceso, el tipo de cuenta o la licencia vinculada no coinciden | Comprueba el servidor del bróker y las condiciones de la licencia; contacta con el proveedor y no intentes eludir la protección. |
| La DLL no está permitida | El EA ha llamado a una biblioteca externa sin permiso | Actívala únicamente si es una DLL necesaria y fiable; el hosting virtual de MetaTrader no puede ejecutar DLL. |
| Operación deshabilitada · 133 | El servidor rechaza la negociación para la cuenta o el símbolo. | Consulta con el bróker los permisos del símbolo y las restricciones de la cuenta. Diagnostica por separado los permisos del terminal. |
| Mercado cerrado · 132 | El instrumento está fuera de su horario de negociación | Espera a la sesión del bróker y comprueba festivos y horario del símbolo. |
| Margen insuficiente · 134 | El margen libre no permite abrir la posición solicitada | Reduce el riesgo o el volumen y comprueba apalancamiento, margen y exposición existente. |
| Stops no válidos · 130 | El SL, TP o precio de una orden pendiente incumple las reglas de precio o distancia aplicables. | Comprueba el Bid/Ask actual, la dirección, la precisión del precio y Stops Level. Recalcula el tamaño si cambia la distancia del stop. |
| Volumen no válido · 131 | El lote está por debajo del mínimo, supera el máximo o no respeta el incremento | Utiliza el mínimo, máximo e incremento de lote del bróker y normaliza el volumen solicitado. |
| Contexto de trading ocupado · 146 | Todavía se está procesando otra operación | Procesa las solicitudes de forma secuencial, espera brevemente y vuelve a intentarlo con un límite definido, no mediante un bucle continuo. |
| Sin cotización · 136 / recotización · 138 | No existe una cotización ejecutable o el precio ha cambiado | Comprueba conexión y spread, actualiza el precio y aplica una lógica razonable de deslizamiento. |
| Problema de conexión · 6 | El terminal ha perdido la conexión con el bróker | Comprueba servidor, conexión a internet, acceso, firewall y estado del VPS; evita órdenes repetidas hasta recuperar la conexión. |
El EA se carga correctamente, pero no abre operaciones
No tiene por qué ser un error. Muchos EA esperan una nueva vela, una sesión concreta, un spread máximo o la coincidencia de varios indicadores. Confirma el símbolo y el marco temporal documentados y busca mensajes sobre el filtro de spread, la ventana de trading, el máximo de órdenes o el filtro de noticias. No flexibilices todos los filtros solo para forzar una entrada.
«No se encontró una señal válida» describe el comportamiento de la estrategia. El error 133 o un permiso desactivado representan un bloqueo de ejecución. La solución es diferente.
Cuenta no válida y licencia no válida
Los EA comerciales pueden vincular una clave a un número de cuenta, bróker, plataforma o número máximo de activaciones. Comprueba que la cuenta introducida sea la registrada con el proveedor y que el servidor de licencias esté accesible. Nunca descargues archivos modificados ni desactives controles de seguridad; solicita al proveedor un restablecimiento o una activación legítimos.
La DLL no está permitida
Algunos EA utilizan bibliotecas externas para licencias o funciones adicionales. Habilita la importación de DLL únicamente si el archivo procede de una fuente fiable y el manual oficial la exige. El hosting virtual integrado de MetaTrader no admite DLL, por lo que un EA de este tipo debe trasladarse a un VPS convencional compatible y aprobado por el proveedor.
Errores de stops, volumen, margen y ejecución
Error 130 — Stops no válidos
El Stop Loss, el Take Profit o el precio de una orden pendiente pueden estar demasiado cerca del mercado, en el lado incorrecto o normalizados de forma incorrecta. Consulta la especificación del símbolo y calcula según sus dígitos; no resuelvas el problema eliminando la protección.
Error 131 — Volumen de trading no válido
Normaliza los lotes según el mínimo, el máximo y el incremento del bróker. Un lote calculado de 0,013 no es válido si el incremento es 0,01, salvo que se redondee correctamente; redondear al alza puede superar el riesgo previsto.
Errores 136 y 138 — Sin cotización y recotizaciones
Suelen indicar precios no disponibles o modificados. Comprueba la conexión y el spread, actualiza la cotización y utiliza una lógica de reintentos limitada. Los envíos inmediatos y repetidos pueden agravar el problema.
Error 146 — Contexto de trading ocupado
MT4 procesa las operaciones de forma secuencial. Dos gráficos o rutinas pueden entrar en conflicto. El EA debe esperar a que termine la operación anterior, volver a comprobar el mercado y detener los reintentos al alcanzar un límite controlado.
Problemas de sincronización del VPS e instancias duplicadas
Después de migrar al hosting virtual de MetaTrader, los cambios de configuración no se vuelven a migrar automáticamente. Sincroniza de nuevo después de modificar gráficos o parámetros. En un VPS con Windows, confirma que el terminal esté abierto, conectado y configurado para iniciarse tras un reinicio. En ambos casos, evita operar simultáneamente la misma combinación de cuenta, EA y Magic Number desde terminales locales y remotos.
Qué enviar al soporte técnico
Elimina contraseñas, claves de licencia e información personal antes de compartir capturas o registros.
Distingue las restricciones del servidor de los permisos del terminal
El error 4109 significa que el programa no tiene permiso para operar: comprueba Allow live trading en el EA y AutoTrading global. El error 4112 indica que el servidor ha deshabilitado la negociación automatizada. El error 133 corresponde a una restricción de negociación del servidor. Son comprobaciones distintas; el botón local no elimina una restricción del bróker.
El error 65 es una respuesta de cuenta no válida del servidor de negociación. En cambio, el mensaje «invalid license» de un proveedor puede proceder de su propia vinculación de cuenta, suscripción o servicio de activación. Registra el mensaje exacto y su origen antes de decidir a quién consultar.
Gestiona los resultados inciertos y las reglas dinámicas de stops
Tras un timeout de negociación 128, el resultado de la solicitud puede ser desconocido. Contrasta las órdenes abiertas, las pendientes y el historial reciente antes de reintentarlo. Busca el ticket cuando esté disponible y después compara símbolo, Magic Number, dirección, volumen y hora. Repetir de inmediato puede crear otra orden si la primera solicitud tuvo éxito.
Un Stops Level de 0 puede indicar que no existe un mínimo fijo o que se aplica una regla dinámica del servidor; no garantiza que cualquier stop sea aceptado. Freeze Level restringe modificaciones, cancelaciones o cierres cerca del mercado. Compruébalo por separado. No alejes un stop solo para eliminar el error 130 sin revisar el nuevo riesgo monetario.
Los códigos de error de MQL4 y las propiedades del símbolo definen estas diferencias.
Referencia oficial de errores
Las descripciones de los códigos numéricos se basan en la referencia oficial de códigos de error de MQL4. La implementación del bróker y los mensajes específicos del EA pueden añadir otras condiciones.