Question: ¿Por qué mis EA en MT4 no funcionan? ¿Cuáles podrían ser las razones?
Table of Contents
- La plataforma no permite el comercio automatizado
- Has iniciado sesión con la contraseña de solo lectura del inversor
- No hay ticks en el gráfico (el EA nunca «se activa»)
- Nombre de símbolo incorrecto o sufijo de símbolo faltante
- El spread, el deslizamiento o los filtros de protección están bloqueando las entradas
- Las paradas o el volumen no son válidos para el símbolo (error clásico 130/131)
- El estado del mercado o de la cuenta impide operar
- Las reglas FIFO (cuentas reguladas en EE. UU.) entran en conflicto con la lógica de su EA
- El EA no está compilado/instalado correctamente
- El EA depende de DLL, pero las importaciones DLL están bloqueadas o el DLL es del tipo incorrecto
- La lista de símbolos no incluye lo que necesita el EA
- El EA se adjunta, pero las dependencias internas fallan (los indicadores personalizados no se cargan)
- Estás en el marco temporal incorrecto del gráfico o el EA está filtrado por tiempo/sesión
- No hay datos históricos para que los indicadores calculen
- El EA está esperando el siguiente tick después de que lo hayas adjuntado
- Las reglas de negociación de símbolos han cambiado (actualizaciones de compilación o de bróker) y el EA no se ha recompilado para ellas
- Está probando o ejecutando datos/gráficos que no coinciden con el diseño del EA
- La cuenta o el instrumento se encuentran en un estado que bloquea las operaciones comerciales
- Los permisos de E/S de archivos o carpetas impiden que el EA lea/escriba
- Has migrado el EA a un VPS pero no has migrado sus indicadores/configuración
- Diagnósticos prácticos que realmente ayudan
- Referencia rápida: códigos de error MT4 de alto impacto y su significado
- Una lista de verificación precisa y mínima para poner en marcha un EA
La plataforma no permite el trading automatizado
Ni siquiera un EA perfectamente codificado operará si los interruptores de seguridad de MT4 están desactivados.
Qué hacer
Ha iniciado sesión con la contraseña de inversor (solo lectura)
Una contraseña de inversor es solo de lectura. Si ha iniciado sesión con ella, cualquier solicitud de operación de su EA quedará bloqueada.
Qué hacer
Cierre la sesión y vuelva a iniciar sesión con la contraseña maestra (de trading). En MT4, puede establecer o cambiar la contraseña de inversor en Herramientas → Opciones → Servidor → Cambiar → «Cambiar contraseña de inversor (solo lectura)», pero solo una contraseña maestra puede realizar ese cambio.
No hay ticks en el gráfico (el EA nunca se «activa»)
Los EA se ejecutan en respuesta a nuevos ticks (OnTick). Si no hay nuevos precios, no hay actividad del EA. Esto ocurre si el símbolo no recibe cotizaciones, el gráfico está desconectado o el símbolo no es visible en Market Watch.
Qué hacer
- 1) Asegúrese de que el símbolo sea visible y reciba cotizaciones: abra Market Watch → haga clic con el botón derecho → Mostrar todo (o añada el grupo de símbolos exacto que utiliza su bróker).
- 2) Utilice un gráfico en tiempo real, no un gráfico sin conexión/renko/generado sin conexión para la ejecución de la operación.
- 3) Mantenga abierto el gráfico del instrumento con el que desea operar con el EA adjunto.
Nombre de símbolo incorrecto o sufijo de símbolo faltante
Los brókers suelen añadir sufijos (por ejemplo, EURUSD.m, XAUUSD.a). Si un EA hace referencia a un nombre simple, pero el bróker utiliza un sufijo, las funciones de orden pueden fallar o su EA ni siquiera escaneará el instrumento.
Qué hacer
Utilice el símbolo exacto del bróker en el gráfico y en cualquier entrada del EA que nombre un símbolo. Si el EA es multisímbolo desde las entradas, actualice las entradas para que coincidan con los símbolos del bróker. (Los brókeres documentan los conjuntos de símbolos; también los revelan todos a través de Market Watch).
El spread, el deslizamiento o los filtros de protección están bloqueando las entradas
Muchos EA rechazan intencionadamente operar cuando el spread está por encima de una entrada MaxSpread, cuando el deslizamiento excede la tolerancia o cuando las distancias de entrada/SL están fuera de los límites configurados.
Qué hacer
Abra las entradas del EA y establezca valores realistas de Max Spread y Max Slippage para las condiciones de su cuenta; amplíelos solo tanto como lo permita su estrategia. Si el EA incluye «Operar solo en nueva barra» o filtros de tiempo, alinéelos con la hora del servidor de su bróker.
Las paradas o el volumen no son válidos para el símbolo (error clásico 130/131)
- Error 130: stops no válidos (su SL/TP está dentro de la distancia StopLevel / FreezeLevel del bróker).
- Error 131: volumen de operación no válido (el lote está por debajo de MinLot, por encima de MaxLot o no se ajusta a LotStep).
Qué hacer
Establezca SL/TP más allá del StopLevel del símbolo y utilice un tamaño de lote que se ajuste a las reglas MinLot/LotStep para ese símbolo. (Estos valores se muestran a través de las propiedades del símbolo; muchos EA lo gestionan internamente, pero las entradas siguen siendo importantes.)
El estado del mercado o de la cuenta impide operar
Su EA puede bloquearse por condiciones ajenas al código:
- Mercado cerrado (fines de semana/festivos) u operaciones desactivadas en el símbolo/cuenta → el servidor rechaza las operaciones.
- Dinero insuficiente → margen insuficiente.
- Operaciones desactivadas por el bróker o por el estado del instrumento.
Verá estos errores como errores estándar de MT4 (por ejemplo, 132 mercado cerrado, 134 dinero insuficiente, 133 operaciones desactivadas) en Terminal → Expertos/Diario.
Qué hacer
Realice operaciones en vivo solo durante el horario de negociación y con símbolos habilitados; ajuste el tamaño de las posiciones para cumplir con el margen. Si el diario muestra 133 (operación desactivada), póngase en contacto con el bróker para obtener información sobre el símbolo específico o el modo de cuenta.
Las reglas FIFO (cuentas reguladas en EE. UU.) entran en conflicto con la lógica de su EA
Según la norma FIFO de la NFA, si mantiene varias posiciones largas (o cortas) en el mismo par, debe cerrar primero la más antigua. Los EA que cubren, cierran parcialmente fuera de orden o manejan múltiples tickets en el mismo símbolo pueden ser rechazados en las cuentas estadounidenses.
Qué hacer
Refactorice el EA o configúrelo para que cumpla con la normativa, por ejemplo, evite la cobertura del mismo par y cierre en orden de más antiguo a más reciente. Algunos operadores ajustan la estrategia (diferentes tamaños de lote, diferentes símbolos) para sortear las restricciones FIFO.
El EA no está compilado/instalado correctamente
MT4 ejecuta archivos .ex4 (compilados). Si solo ha copiado .mq4 y no ha compilado, o ha colocado los archivos en carpetas incorrectas, el EA no aparecerá o no se cargará.
Qué hacer
Coloque los archivos en Archivo → Abrir carpeta de datos → Subcarpetas MQL4. Abra el .mq4 en MetaEditor y compile para producir .ex4 en la carpeta MQL4\Experts correcta. A continuación, reinicie MT4 o actualice el Navegador.
El EA depende de DLL, pero las importaciones DLL están bloqueadas o el DLL es del tipo incorrecto
Si un EA utiliza bibliotecas externas, MT4 requiere:
- 1) Permitir importaciones de DLL habilitado en la pestaña Común del EA, y
- 2) DLL de 32 bits (MT4 es una aplicación de 32 bits; las DLL de 64 bits no se cargarán).
Qué hacer
Habilite las importaciones de DLL solo para código de confianza y proporcione compilaciones de 32 bits de cualquier biblioteca necesaria. Coloque las DLL en MQL4\Libraries (o según las instrucciones del proveedor) y reinicie MT4.
La lista de símbolos no incluye lo que necesita el EA
Si el EA llama a indicadores o funciones para un símbolo que no se ha añadido a Market Watch, las llamadas pueden fallar (por ejemplo, el indicador personalizado se carga para un símbolo no visible y devuelve errores de «no se puede cargar»).
Qué hacer
En Market Watch, haga clic con el botón derecho del ratón → Mostrar todo o añada los símbolos y grupos específicos a los que hace referencia su EA para que el terminal reciba cotizaciones para ellos.
El EA se adjunta, pero las dependencias internas fallan (los indicadores personalizados no se cargan)
Muchos EA utilizan indicadores personalizados a través de iCustom. Si esos indicadores tienen un nombre incorrecto, se encuentran en una carpeta equivocada o les faltan parámetros, el EA no puede cargarlos (mensajes típicos de «no se puede cargar el indicador personalizado» y series de códigos de error como 4802 en plataformas relacionadas).
Qué hacer
Coloque los indicadores necesarios en MQL4\Indicators con los nombres de archivo exactos que espera el EA; mantenga el orden de los parámetros coherente con las llamadas iCustom del EA. Si el EA espera indicadores en subcarpetas específicas, haga coincidir esa estructura.
Está en el marco temporal incorrecto del gráfico o el EA está filtrado por tiempo/sesión
Los EA suelen limitar las entradas a un marco temporal o una ventana de sesión de trading. Si se ejecutan en un marco temporal diferente o fuera de la sesión programada, no se realizarán operaciones según lo previsto.
Qué hacer
Utilice el marco temporal para el que se ha creado el EA y alinee los filtros de sesión/tiempo (entradas) con la hora del servidor de su bróker. (Esta es una propiedad de la estrategia, que suele aparecer en los parámetros del EA.)
No hay datos históricos para que los indicadores puedan realizar cálculos
Si su EA utiliza medias móviles, ATR o cualquier indicador que requiera barras, un historial escaso significa que no hay señales válidas.
Qué hacer
Cargue suficiente historial para el gráfico/marco temporal (desplácese hacia atrás o descargue el historial) y, a continuación, mantenga el gráfico abierto para que el historial permanezca almacenado en la caché.
El EA está esperando el siguiente tick después de que lo haya adjuntado
Por diseño, la ruta de ejecución principal (OnTick) se ejecuta cuando llega una nueva cotización. Inmediatamente después de adjuntar un EA, puede parecer inactivo hasta que llegue la siguiente actualización de precios.
Qué hacer
Deje el gráfico abierto; la primera acción se produce en el siguiente tick. Si necesita realizar tareas periódicas en ausencia de ticks (por ejemplo, en mercados tranquilos), implemente/habilite una ruta OnTimer si el EA lo admite.
Las reglas de negociación de símbolos cambiaron (actualizaciones de compilación o del bróker) y el EA no se recompiló para ellos
Las grandes actualizaciones de MT4 y los cambios por parte del bróker (por ejemplo, nuevos parámetros de ejecución, cambios en StopLevel, renombramientos de símbolos) pueden romper los binarios compilados o las suposiciones incorporadas en su EA.
Qué hacer
Vuelva a compilar desde el código fuente en el MetaEditor actual y vuelva a adjuntarlo. Si el EA es un .ex4 de terceros sin código fuente, obtenga una compilación actualizada del proveedor que se adapte a la compilación actual del terminal y al conjunto de símbolos de su bróker.
Abra una cuenta con XM
Está probando o ejecutando datos/gráficos que no coinciden con el diseño del EA
Las pruebas retrospectivas que muestran cero operaciones o gráficos en tiempo real que nunca se activan a menudo se reducen a entradas que no coinciden, clases de instrumentos incorrectas o configuraciones de prueba poco realistas (por ejemplo, un spread fijado en un valor imposible).
Qué hacer
Introduzca en el EA el instrumento y el marco temporal para los que está diseñado y establezca parámetros de prueba realistas, incluido el spread. A continuación, realice una prueba de control rápida en el probador de estrategias para asegurarse de que la lógica se ejecuta en las condiciones esperadas.
La cuenta o el instrumento se encuentra en un estado que bloquea las operaciones comerciales
Algunas situaciones bloquean las funciones de negociación aunque el EA esté en funcionamiento:
- Modo de solo cierre en un símbolo.
- Ventanas de horas de negociación (índices, metales, energías) fuera de sus horarios de sesión.
- Acciones corporativas o ventanas de mantenimiento.
Qué hacer
Opera dentro de las horas negociables para la clase de activos y los símbolos específicos; si los mensajes del diario informan de que la negociación está desactivada o algo similar, resuelve el estado del instrumento con tu bróker.
Abra una cuenta con XM
Los permisos de E/S de archivos o carpetas impiden que el EA lea/escriba
Si un EA escribe en el disco (registros, CSV, modelos) pero utiliza rutas incorrectas, Windows/UAC lo bloqueará silenciosamente.
Qué hacer
Utilice las rutas de la carpeta de datos de MT4: Archivo → Abrir carpeta de datos y, a continuación, MQL4\Archivos para leer/escribir. Mantenga los archivos externos dentro de estas carpetas autorizadas para que el terminal pueda acceder a ellos. Reinicie el terminal después de colocar los archivos.
Ha migrado el EA a un VPS, pero no ha migrado sus indicadores/configuración
Al alojarse en un VPS, la instancia del terminal debe contener todos los archivos necesarios (EA, indicadores, bibliotecas) y el gráfico/plantilla activos. Si falta alguna dependencia en la instancia VPS, el EA se cargará sin operar.
Qué hacer
Instale la pila completa (EA + indicadores/bibliotecas dependientes), adjúntelos a los gráficos en el terminal VPS y asegúrese de que el trading automatizado esté habilitado en esa instancia. Si utiliza indicadores personalizados a través de iCustom, mantenga la misma estructura de carpetas y nombres de archivos.
Diagnósticos prácticos que realmente ayudan
- 1) Lea los registros: Terminal → Expertos y Terminal → Diario muestran el motivo concreto del rechazo (por ejemplo, 130/131/133/134). Esos códigos indican directamente la solución.
- 2) Verifique las reglas de los símbolos: StopLevel/FreezeLevel, MinLot/MaxLot/LotStep son los límites estrictos que su EA debe respetar.
- 3) Compruebe que las cotizaciones fluyen: muestre el símbolo en Market Watch; los precios deben aparecer en la línea de estado del gráfico.
- 4) Vuelva a compilar después de las actualizaciones: mantenga su .ex4 actualizado con la versión del terminal y el conjunto de símbolos de su bróker.
- 5) Confirme los permisos: AutoTrading (barra de herramientas), nivel de plataforma Permitir trading automatizado, nivel EA Permitir trading en vivo y permisos DLL (cuando sea necesario).
Referencia rápida: códigos de error MT4 de alto impacto y su significado
- 130 – Stops no válidos: Aleje el SL/TP del precio más allá del StopLevel del símbolo y fuera de cualquier FreezeLevel.
- 131 – Volumen de operación no válido: Ajuste el lote para que se ajuste a MinLot / MaxLot / LotStep para el símbolo.
- 132 – Mercado cerrado: Opere solo durante el horario de negociación del instrumento.
- 133 – Operación desactivada: El símbolo o la cuenta no permiten operar; resuelva el problema con el bróker o cambie de símbolo.
- 134 – No hay suficiente dinero: Aumente el margen libre o reduzca el tamaño del lote.
Una lista de verificación precisa y mínima para poner en marcha un EA
- 1) AutoTrading ON (verde) → Herramientas → Opciones → Asesores expertos → Permitir el trading automatizado → EA Común → Permitir el trading en vivo (+ DLL si es necesario).
- 2) Inicio de sesión con contraseña maestra (no de inversor).
- 3) Observación del mercado: muestre los símbolos exactos del bróker con el que opera; adjunte el EA al gráfico/marco temporal correcto.
- 4) Entradas: establezca un MaxSpread/Slippage realista; confirme que las entradas de símbolo/hora/sesión reflejan las condiciones de su bróker.
- 5) Stops/Volumen: respete StopLevel/FreezeLevel y LotStep/MinLot.
- 6) Registros: Lea las pestañas Expertos y Diario; corrija el código exacto informado (130/131/132/133/134).
- 7) Dependencias: mantenga los indicadores necesarios en MQL4\Indicators, las bibliotecas en MQL4\Libraries y compile el EA en .ex4.
- 8) Modo regulatorio: si su cuenta está bajo FIFO, adapte el flujo de trabajo de órdenes de su EA en consecuencia.
Siga la lista en orden. Cada paso elimina un bloqueador conocido. Una vez que estos estén en su lugar, un EA correctamente diseñado se ejecutará y enviará órdenes en condiciones normales de mercado.
- Close