Backtesting y verificación intermediate 12 min de lectura

Optimización de parámetros en MT5: 116 combinaciones, 252 ejecuciones y 0 ajustes adoptados

Optimización de parámetros en MT5: buscamos ajustes en ocho plantillas de estrategia propias y no adoptamos ninguno. Lo útil es cómo falló cada una: el mayor ganador dentro de muestra fue el que más se hundió, uno pasó una sola comprobación fuera de muestra y aun así se derrumbó, y dos nunca superaron 1,0 ni en el periodo al que se ajustaron.

Publicado · Revisado

La optimización de parámetros en MetaTrader 5 es una búsqueda: declaras un rango para cada entrada, el Strategy Tester ejecuta todas las combinaciones y te entrega una tabla ordenada por la métrica que hayas elegido tú. Lo difícil no es ejecutarla. Lo difícil es que la tabla siempre tiene una primera fila, y la primera fila casi siempre está equivocada.

Lo que te llevas de este artículo es un procedimiento que produce una decisión en lugar de un número: una búsqueda que puedas defender, una lectura de la rejilla de pasadas que sobreviva al contacto con un segundo periodo, y una regla de parada.

Condiciones de la prueba
ID del experimentoEXP-PARAM-SEARCH-OUTCOMES-001
Experimento padreEXP-BUILDER-TEMPLATE-BASELINE-001
Fuenteea-templates-manifest.jsbt.explored
Población8 recorded searches of the 53 measured templates
Símbolo / marco temporalUSDJPYm, M5 and H1
ModeloM1 OHLC (Model=1), Exness MT5, measured 2026-06-18
Parámetros variadosstop loss and take profit only
Última verificación2026-08-25

Preparación: la rejilla, la partición y los datos

Tres ajustes deciden si merece la pena siquiera lanzar la búsqueda. Si los pones mal, la rejilla de pasadas es un generador de números aleatorios carísimo.

CampoDóndeQué ponerPor qué
OptimisationPestaña SettingsSlow complete algorithm para una rejilla pequeñaEl modo genético muestrea el espacio; con 12–32 combinaciones puedes permitirte verlo entero
Start / Step / StopPestaña Inputs, por cada entradaDos parámetros, pasos gruesosCada entrada que marcas multiplica la rejilla. Las nuestras movieron dos
ForwardPestaña Settings1/2, 1/3 o 1/4Parte el intervalo para que el probador puntúe la mitad final por separado: esta es la comprobación para la que haces la búsqueda
Optimisation criterionPestaña SettingsDecídelo antes de mirar la rejillaEs la métrica por la que el probador ordena las pasadas, así que decide qué fila es la primera
ModellingPestaña SettingsUn modo grueso para barrer, y después vuelve a ejecutar al superviviente sobre ticks realesLos modos de barrido sirven para ordenar candidatas, nunca para una cifra publicada
PeriodPestaña SettingsLo bastante largo para contener más de un régimenUna búsqueda dentro de una sola tendencia encuentra el ajuste que la cabalgó

El criterio merece una decisión y no un valor por defecto. Ordenar por beneficio neto premia a la pasada que más riesgo asumió, y ordenar por una medida basada en el drawdown premia a la que menos operó — el factor de recuperación existe porque esas dos respuestas no coinciden. Nuestras búsquedas no se juzgaron por la ordenación del probador en absoluto: cada superviviente se puntuó por factor de beneficio sobre tres ventanas distintas, y la ordenación dentro de cualquiera de ellas no decidió nunca nada.

La calidad de los datos va primero: una búsqueda sobre ticks malos optimiza los huecos. La versión corta es que una calidad del modelado por debajo del 90% deja inservibles las rejillas de pasadas intradía, y que una ejecución construida a partir de datos de ticks interpolados no puede resolver un stop que cae dentro de una vela.

  1. Ejecuta primero un solo backtest, con los valores por defecto, y guarda el informe. Sin una referencia, la rejilla de pasadas no tiene nada que batir — cómo hacer un backtest cubre esa pasada de principio a fin.
  2. En la pestaña Settings pon Optimisation en una pasada completa para una rejilla pequeña, y pon Forward en 1/3 para que el probador reserve el último tercio del intervalo.
  3. En la pestaña Inputs marca solo los parámetros que estás probando de verdad, y dale a cada uno un Start, un Step y un Stop. Dos entradas con pasos gruesos ganan a cuatro con pasos finos.
  4. Pulsa Start y déjalo terminar. Lee la pestaña Optimisation Results como una tabla, y el Optimisation Graph como una forma: un pico aislado es un aviso, una meseta es un hallazgo.
  5. Coge a los supervivientes — no al ganador — y vuelve a ejecutar cada uno como un backtest único sobre un periodo anterior a la ventana de optimización. Este es el paso que produjo todos los veredictos negativos de nuestro conjunto, y es el que la gente se salta.

Leer los resultados: tres periodos, no uno

Aquí tienes nuestro registro entero, ordenado por el mejor factor de beneficio dentro de muestra que alcanzó cada búsqueda. IS es el periodo al que se ajustaron los parámetros, OOS la muestra reservada, y «previa» una ventana anterior que la búsqueda no vio nunca.

PlantillaRejilla exploradaMejor ISOOSPreviaVeredicto
ichimoku12 combinaciones × 3 ventanas1,370,890,80no_robust_edge
ma_crossover20 + 12 combinaciones, dos marcos temporales1,230,89–0,940,78no_robust_edge
cci_level12 combinaciones × 3 ventanas1,071,050,92no_robust_edge
adx_trend12 combinaciones × 3 ventanas1,040,910,80no_robust_edge
breakout12 combinaciones × 3 ventanas1,040,79–0,890,64–0,84no_robust_edge
macd_signal12 combinaciones × 3 ventanas1,14–1,150,74–0,77no_robust_edge
rsi_reversal12 combinaciones × 3 ventanas0,91no_robust_edge
bb_bounce12 combinaciones × 3 ventanas0,91no_robust_edge

Lee hacia abajo la primera columna numérica, y después a lo ancho. El mayor resultado dentro de muestra del conjunto produjo el mayor derrumbe: el 1,37 de ichimoku cayó a 0,89 y después a 0,80. Ese orden no es una casualidad: el ajuste que mejor encaja con una ventana es, por construcción, el que más ruido de esa ventana ha absorbido.

Ahora mira el ajuste que de verdad estuvo más cerca. No está en la tabla de arriba, porque nunca fue la primera fila de nada: sobre esa misma rejilla de ichimoku, SL50/TP150 sacó 1,18 dentro de muestra, 0,99 fuera de muestra y 1,00 en la ventana previa. Tres periodos, los tres más o menos planos. Quedó registrado como la candidata más cercana y aun así no se adoptó, porque quedarse en el punto de equilibrio a lo largo de tres ventanas no es una ventaja: es la ausencia de una, medida con cuidado.

Frente a eso, las referencias que estas búsquedas intentaban batir se sitúan entre 0,92 y 1,03. Ninguna búsqueda llegó a mover un valor por defecto de los que publicamos.

Trampas que hay que evitar

El modo de fallo que hay debajo de las cinco es el mismo. El sobreajuste no es un error que cometas al final de una búsqueda: es el desenlace por defecto de hacer una, y la disciplina de los tres periodos existe para hacerlo visible antes de que actúes en consecuencia.

Mejora e itera: qué cambiar y cuándo parar

Cambia una cosa, vuelve a ejecutar y compara contra la referencia que guardaste. El orden que menos tiempo desperdicia:

  1. Amplía el periodo antes que la rejilla. Más regímenes gana a más combinaciones. Una búsqueda que cubre una sola tendencia encontrará el ajuste que la cabalgó, sea cual sea la resolución.
  2. Después engrosa los pasos, no los afines. Si un resultado solo existe con SL47, no existe.
  3. Y entonces, y solo entonces, añade un parámetro. Las nuestras nunca llegaron tan lejos, porque dos parámetros ya suspendían el listón de los tres periodos.

Para cuando se cumpla una de estas condiciones, y anota cuál:

  • Un superviviente supera los tres periodos. Publícalo, y deja constancia de toda la rejilla que buscaste, no solo de la pasada que te quedaste.
  • El mejor resultado dentro de muestra está por debajo de 1,0. Tienes una respuesta de verdad: dos de nuestras ocho búsquedas terminaron aquí, y terminar aquí después de 36 evaluaciones sale barato.
  • Los supervivientes pasan una ventana y fallan otra una y otra vez. La regla depende del régimen. Buscar más produce más ajustes dependientes del régimen.
  • Has empezado a explicar por qué la ventana previa «no cuenta». Ese es el momento en el que la búsqueda dejó de ser una prueba.

El registro honesto de una búsqueda es el rango que cubriste y el veredicto, juntos. Cada una de nuestras ocho está guardada así, y por eso este artículo se pudo escribir a partir de ellas — un ganador guardado a solas no habría demostrado nada.

Próximos pasos: prueba en avance y después decide

La optimización es el segundo paso de cuatro. La secuencia es backtest → optimización → walk-forward → demo, y cada uno elimina una forma distinta de estar equivocado.

  • Practica el bucle sobre algo que controles tú: construye una estrategia en el Builder y busca tú mismo su stop y su objetivo, porque una rejilla que declaraste tú es mucho más fácil de leer con honestidad que una que heredaste.
  • La versión formal de la comprobación de tres periodos es el análisis walk-forward, que va desplazando la partición hacia delante en lugar de dejarla fija en un solo sitio.
  • Devuelva lo que devuelva la búsqueda, el informe en el que te lo devuelve sigue habiendo que leerlo: cómo leer un informe de backtest de MT5 explica sobre qué población es en realidad una afirmación cada cifra de cabecera.
  • Para ver qué aspecto tiene un registro terminado cuando las cifras sí sobrevivieron, cada uno de los EA publicados lleva su lista completa de operaciones cerradas y el manifiesto de su ejecución.
  • Cómo probamos, puntuamos y registramos todo esto está explicado en nuestra metodología de pruebas.

Preguntas frecuentes

¿Cuántos parámetros conviene optimizar a la vez?
Menos de los que el probador te va a dejar. Todas las búsquedas de nuestro registro movieron exactamente dos — el stop loss y el take profit — a lo largo de 12 a 32 combinaciones, y ninguna de las ocho produjo un ajuste que estuviéramos dispuestos a publicar. Añadir un tercer y un cuarto parámetro no arregla eso: multiplica la rejilla y hace mucho más fácil encontrar una combinación que encaje con el ruido de tu ventana de prueba. Si dos parámetros no consiguen un resultado que sobreviva a tres periodos, el problema es la regla, no la resolución de la búsqueda.
¿Qué factor de beneficio hay que buscar en una pasada de optimización?
Mira tres cifras, no una. En nuestro conjunto el mejor factor de beneficio dentro de muestra llegó a 1,37 en la plantilla ichimoku, y ese mismo ajuste sacó 0,89 fuera de muestra y 0,80 en la ventana anterior. El ajuste que más cerca estuvo de ser utilizable era mucho menos vistoso dentro de muestra: 1,18, y aguantó 0,99 y 1,00 en los otros dos periodos. Aun así no se adoptó, porque quedarse en el punto de equilibrio en dos de cada tres ventanas no es una ventaja. Una cifra alta dentro de muestra es el dato menos informativo de la pantalla.
¿Basta una sola prueba fuera de muestra para validar un ajuste optimizado?
No, y tenemos un caso que enseña por qué. La plantilla macd_signal produjo un ajuste que llegó a 1,14 y 1,15 fuera de muestra — un aprobado limpio sobre una única muestra reservada — y después sacó 0,74 y 0,77 en la ventana anterior al periodo de prueba. Un segundo diseño, cci_level, fue más lejos: 1,07 dentro de muestra, 1,05 fuera de muestra y 0,92 en la ventana previa. Dos periodos tampoco bastaron. Los dos se habrían publicado bajo la regla habitual de una sola muestra reservada.
¿Qué significa que la optimización no encuentre ningún ajuste rentable?
Significa que tienes tu respuesta pronto y barata, que es el buen desenlace. Dos de nuestras ocho búsquedas — rsi_reversal y bb_bounce — no llegaron a producir un factor de beneficio por encima de 1,0 ni siquiera en el periodo al que se ajustaron; su mejor resultado dentro de muestra fue 0,91. A una regla que no se puede hacer funcionar sobre los datos con los que se afinó no la va a rescatar una rejilla más amplia ni una ejecución más larga. Anota el rango que buscaste y el veredicto, y pasa a la siguiente idea.

Términos relacionados

Referencias del glosario