Inicio > Blog > La caché de inputs del Tester de MT5 puede engañarte

Strategy Testerbacktestprocedimiento de validación

La caché de inputs del Tester de MT5 puede engañarte

Publicado: 2026-10-18Lectura: aprox. 2 min
⏱ Este artículo refleja la información a la fecha de su publicación. Las cifras de rendimiento de los EAs (PF, DD, rentabilidad anual) cambian con la operativa real y la revalidación: consulta lo más reciente en las páginas de los EAs. Ver los últimos resultados de los EAs →

Conclusión: asume que en el Tester siguen los valores de la vez anterior

El Strategy Tester de MT5 recuerda, para cada EA, los valores de entrada de la ejecución anterior. Es una función cómoda, pero después de actualizar un EA o justo tras otra prueba, la configuración que creías estar validando y la que realmente se ejecutó pueden no coincidir.

Nuestra solución es sencilla: no fiarse de los valores que muestra la pantalla del Tester. Escribir todos los parámetros en la sección [TesterInputs] del archivo de configuración y comprobar con los valores de entrada que quedan en el informe. En este artículo explicamos el porqué y el procedimiento.

📧 Curso gratuito por email (8 correos) + paquete de 13 indicadores MT5 solo para suscriptores

Nada más suscribirte recibirás un enlace de descarga a un paquete exclusivo con nuestros 13 indicadores MT5: archivos compilados (.ex5), código fuente y una guía de instalación. Después, 8 correos sobre los fundamentos del trading algorítmico, cómo leer correctamente un backtest y cómo elegir bróker (uno al día durante los primeros 5 días y luego a los 7, 14 y 30 días de la suscripción). También te avisaremos antes de cada subida de precio de las versiones vendidas en MQL5 Market (precio de lanzamiento que sube por tramos según las ventas). En este sitio nuestros EA son gratuitos con una cuenta real en un bróker asociado.

* Privacidad estrictamente protegida. Puedes darte de baja en cualquier momento.

Por qué acabas validando otra configuración

El Tester guarda los inputs y los reutiliza

El Tester de MT5 guarda los últimos parámetros usados con cada EA y los carga la próxima vez que seleccionas ese mismo EA. Te ahorra introducir los valores a mano, pero provoca errores en situaciones como estas:

  • Modificaste el EA y cambiaste los valores por defecto, pero en el Tester seguían los valores antiguos
  • Probaste valores extremos en una optimización y lanzaste un backtest normal con esos mismos valores
  • El lote o los filtros que ajustaste para otro par de divisas se arrastraron a la siguiente validación

Todo esto se detectaría con solo mirar bien la pantalla. Pero en un EA con decenas de parámetros, es fácil pasar por alto uno solo que sea distinto.

Lo peor es que el resultado parece "verosímil"

Aunque la configuración sea otra, el Tester no muestra ningún error. Si el resultado fuera absurdo lo notarías enseguida; el problema es cuando salen cifras que parecen razonables.

Como ejemplo, comparemos dos EA tipo Donchian que operan en USDJPY H1 (ambos con valores medidos en backtests reales de MT5):

EAPFOperacionesDD efectivo
DONCHIAN ENGINE1.563110.8%
MEGAMAX DONCHIAN1.5562958.6%

El PF y el número de operaciones son casi idénticos, pero el DD efectivo es muy distinto. Las diferencias de diseño están explicadas en la página de cada EA; lo que queremos señalar aquí es que si solo miras el PF y el número de operaciones, no puedes saber con qué configuración se ejecutó la prueba. Que un solo input esté desviado puede cambiar por completo la evaluación del riesgo.

Nuestro procedimiento de verificación

1. Escribir todos los parámetros en [TesterInputs] del archivo de configuración

MT5 permite iniciar el Tester pasándole un archivo de configuración (ini). En su sección [TesterInputs] escribimos todos los valores de entrada, no solo los que cambiamos.

[Tester]
Expert=MyEA
Symbol=USDJPY
Period=H1
Model=4

[TesterInputs]
InpLots=0.10||0.10||0.01||1.00||N
InpPeriod=20||10||5||50||N

El formato es "valor||inicio||paso||fin||¿optimizar? (Y/N)". Para un backtest normal, el último campo es N.

No damos por supuesto con qué valor se ejecutará un parámetro que no esté escrito aquí, porque puede variar según el entorno. La idea de que "seguro que se queda con el valor por defecto" es precisamente el error del que trata este artículo.

2. Cotejar los parámetros de entrada del informe

El informe del Tester conserva los valores de entrada realmente utilizados. Al terminar la validación, comparamos los del ini con los del informe. Es más fiable convertirlos a texto y sacar las diferencias con una herramienta de comparación que compararlos a simple vista.

3. Tratar un EA actualizado como "otro EA"

Si modificas un EA y cambian sus valores por defecto, guárdalo con otro nombre, añadiendo la versión al nombre del archivo. Así se corta desde el principio la vía por la que se cargan automáticamente valores guardados antiguos.

Lista de comprobación

  • Escribí todos los parámetros de entrada en [TesterInputs]
  • Tras una optimización, el último campo de todos los parámetros ha vuelto a N
  • Los valores de entrada del informe coinciden con el ini
  • Cambié el nombre del archivo tras modificar el EA
  • El símbolo, el marco temporal y el modelo de simulación también están definidos explícitamente en [Tester]

Limitaciones y advertencias

Ni siquiera este método evita todos los errores.

  • Las constantes internas del EA que no se exponen como inputs no se pueden gestionar desde el ini. Hay que comprobar por otros medios que el código fuente sea el mismo.
  • Aunque los inputs sean correctos, si cambian los datos históricos o las condiciones de spread, el resultado cambia. Cotejar los inputs es solo un elemento más para mantener la reproducibilidad.
  • Nosotros mismos no podemos afirmar que todas las validaciones que hicimos antes de aplicar este procedimiento fueran correctas. Hemos repetido las que hemos detectado, pero no podemos asegurar que no se nos haya escapado ninguna.

Puedes consultar cómo configurar los EA que distribuimos en Cómo configurar el EA, y más conocimientos sobre validación en Conocimientos.

Resumen

  • El Tester de MT5 recuerda los inputs anteriores y los hereda sin que te des cuenta
  • Aunque la configuración esté desviada no hay error, y salen cifras verosímiles, por lo que cuesta detectarlo
  • La solución: escribir todos los parámetros en [TesterInputs] y cotejarlos con los valores de entrada del informe
  • Si modificas un EA, guárdalo con otro nombre para que no se carguen valores guardados antiguos
  • Aun así, no se evitan las diferencias en constantes internas ni en las condiciones de los datos, así que la gestión de los inputs es solo una parte de la validación

📧 Curso gratuito por email (8 correos) + paquete de 13 indicadores MT5 solo para suscriptores

Nada más suscribirte recibirás un enlace de descarga a un paquete exclusivo con nuestros 13 indicadores MT5: archivos compilados (.ex5), código fuente y una guía de instalación. Después, 8 correos sobre los fundamentos del trading algorítmico, cómo leer correctamente un backtest y cómo elegir bróker (uno al día durante los primeros 5 días y luego a los 7, 14 y 30 días de la suscripción). También te avisaremos antes de cada subida de precio de las versiones vendidas en MQL5 Market (precio de lanzamiento que sube por tramos según las ventas). En este sitio nuestros EA son gratuitos con una cuenta real en un bróker asociado.

* Privacidad estrictamente protegida. Puedes darte de baja en cualquier momento.

¿Tienes alguna pregunta sobre EAs o Forex?

Puedes publicarla en el foro de trading de Nattzy (registro gratuito). También son bienvenidas preguntas que vayan más allá de este artículo: configuración de EAs, elección de bróker y más.

Preguntar en Nattzy ↗

Comentarios y preguntas