Inicio > Blog > El día que Python y MT5 real divergieron entre un 92-98%

validación realbacktest en Pythonwalk-forwardsesión de Nueva Yorkmetodología de validación

El día que Python y MT5 real divergieron entre un 92-98%

Publicado: 2026-05-29Lectura: aprox. 4 min
This article reflects information as of its publish date. EA performance figures (PF, DD, annual return) change with live trading and re-validation — check the latest on the EA pages. See the latest EA results

El día que Python y MT5 real divergieron entre un 92-98%

Somos el equipo detrás de FXEA365.

Este artículo expone por completo el proceso mediante el cual, el 2026-05-29, comparamos la estrategia NY Session Breakout entre Python Walk-Forward y un backtest real de MT5 a 14 años, confirmando una divergencia de PF del 92-98%.

Este es un dato clave que vuelve a demostrar, a nivel sectorial, que "por muy espectaculares que sean las cifras en un backtest de Python, eso no garantiza que la estrategia funcione en MT5 real".

Especificación de la estrategia — Ruptura del rango asiático hacia la sesión de Nueva York

ElementoConfiguración
TimeframeH1
Rango asiático0-4h UTC (formación del rango en horario asiático)
Horario de trading15-20h UTC (durante la sesión de Nueva York)
EntradaRuptura del High/Low del horario asiático
SalidaSL = ATR × 0.5 / TP1 = ATR × 0.5 (cierre del 50%) / TP2 = ATR × 7.0
LoteRiesgo 2% (interés compuesto parcial CASCADE)

En teoría, es una estrategia con ventaja (edge):

  • La sesión de Nueva York (UTC 15-20h) coincide con la actividad de los inversores institucionales y una concentración de liquidez
  • El rango asiático es un valor de referencia natural, y su ruptura al alza o a la baja constituye una señal direccional fuerte
  • El cierre en dos etapas (TP1=ATR×0.5/TP2=ATR×7) protege contra rupturas falsas y a la vez captura la tendencia

Resultado del Walk-Forward en Python — Cifras espectaculares

Entre el 2026-05-27 y el 28 ejecutamos un WF de 9 pares (Train 60% / Test 40%) mediante scripts/gen_h1_ny_walkforward.py:

Partrain PFtest PFtest DDtest WRConsistenciaTasa de supervivencia OOS
EURUSD7.429.035.47%79.6%0.82500/500
GBPUSD11.7813.0031.85%84.2%0.91500/500
XAUUSD7.7611.9613.18%80.9%0.65(validación previa)
EURJPY9.417.937.46%79.2%0.84500/500
GBPJPY9.748.2412.30%79.3%0.85500/500
USDJPY6.1211.6236.24%80.7%0.53(validación previa)
CADJPY7.595.7632.81%75.9%0.76499/500
AUDJPY8.496.3227.33%74.4%0.74351/500
NZDJPY9.226.5115.05%70.6%0.71500/500

Los 9 pares cumplieron con PF≥5 × winrate≥70% × tasa de supervivencia OOS 500/500.

Según las prácticas habituales del sector, este sería un resultado para publicar en el sitio anunciando "¡descubrimos una ventaja universal de ensueño!" o "¡ampliamos el lineup a todos los pares!".

Sin embargo — Backtest real de MT5 a 14 años (USDJPY_NY_BREAKOUT_EA.mq5 v2.0)

Siguiendo la regla del CLAUDE.md sobre "validación real obligatoria", revalidamos con un backtest real de MT5 a 14 años los 4 pares que habían mostrado los mejores resultados en el WF de Python:

ParPython WF (test)Backtest real MT5 14 añosDivergenciaResultado de la cuenta
USDJPYPF 11.62 / DD 36%PF 0.77 / DD 99.72%−93%-$9,966 (pérdida casi total)
EURUSDPF 9.03 / DD 5.47%PF 0.73 / DD 99.84%−92%-$9,984 (pérdida casi total)
GBPUSDPF 13.00 / DD 31.85%PF 0.21 / DD 101.12%−98%-$10,112 (cuenta quemada)
EURJPYPF 7.93 / DD 7.46%PF 0.49 / DD 100.01%−94%-$10,001 (cuenta quemada)

Los 4 pares fracasaron sin excepción, con una divergencia de PF del 92-98% respecto al WF de Python.

Por qué se produce una divergencia tan grande — 5 hipótesis

1. No se consideran spread ni slippage

El backtest en Python se calcula sobre una base close-to-close. En real, cada ejecución se deteriora por spread (0.5-2 pips) + slippage. La pérdida acumulada de 1-3 pips por operación se va sumando.

2. Calidad de los datos

Python usa datos agregados de M5 a H1 procedentes de Dukascopy. El backtest real de MT5 utiliza datos tick del bróker (movimientos de precio mucho más precisos). Aunque se trate de la "misma vela H1", el movimiento interno de precios es distinto.

3. Divergencia en el modelo de ejecución

Python asume una ejecución ideal (siempre se ejecuta al precio deseado). En MT5 real, las restricciones de volumen/spread provocan que el precio de ejecución real difiera del deseado. Esto es especialmente notorio en horarios de alta volatilidad (como justo tras la apertura de Nueva York).

4. Fragilidad real del TP en dos etapas con ATR

Un diseño teóricamente elegante, pero el TP2=ATR×7 no se alcanza en la práctica real.

  • Backtest en Python: calcula el SL/TP "óptimo" sobre datos históricos, con conocimiento retrospectivo del resultado
  • Real: el SL=ATR×0.5 se activa con frecuencia, y la tendencia no se sostiene hasta el TP2=ATR×7, encadenando stops

5. Efecto adverso del interés compuesto parcial CASCADE en real

El diseño que ajusta el lote dinámicamente según el balance acelera el daño en fases de pérdidas:

  • Balance $10K → Riesgo 2% → Lote 0.2
  • Tras rachas de pérdidas, balance $8K → Riesgo 2% → Lote 0.16 (reducción mínima)
  • Tras más rachas de pérdidas, balance $5K → Riesgo 2% → Lote 0.10 (no logra contener la pérdida)

La "magia del interés compuesto" teórica termina jugando en contra en real.

Lecciones a nivel sectorial

1. El BT/Walk-Forward de Python no sirve como referencia para MT5 real

  • Incluso "PF≥5 × winrate≥70% × tasa de supervivencia OOS 500/500" carece de sentido en real
  • El veredicto de "robusto" o "robustez OOS" en el WF evalúa la robustez dentro de los propios datos de Python, no funciona como sustituto de la validación real

2. Incluso una "hipótesis con lógica económica sólida" requiere validación real obligatoria

  • Premisas como "los inversores institucionales están activos en horario de Nueva York" o "la ruptura del rango asiático es una señal direccional" son teóricamente correctas
  • Sin embargo, el fracaso total en 14 años de MT5 real demuestra una gran divergencia entre la teoría y la práctica real

3. Refuerzo del fundamento de la regla "validación real obligatoria" del CLAUDE.md

  • Con 25 EA + 4 de NY Session = un total de 29 validaciones, queda totalmente confirmado que el BT de Python no es fiable
  • Este es el dato que respalda, a nivel sectorial, el eje de marca de FXEA365 ("no cifras espectaculares, sino comprobación en real")

Decisión de FXEA365

Dado que los 9 pares de la estrategia NY Session fracasaron por completo en la validación real de MT5, no se publicarán en el sitio.

Se mantiene el lineup publicado actual: únicamente los 4 pilares principales EURJPY ASIA / GBPJPY ASIA / BLAZE GOLD / AUDCAD PEACE-CLONE.

Un retorno anual combinado de +35.5% (Riesgo 5%) no es ni mucho menos espectacular, pero son cifras reales y confirmadas mediante 14 años de backtest real.

Recomendación para el sector — Para quienes usan BT en Python

No pretendemos desacreditar el uso de BT en Python. No obstante, recomendamos el siguiente uso diferenciado:

Uso correcto del BT en PythonRecomendación
Validación inicial de la idea de estrategia (¿tiene potencial esta dirección?)✅ Recomendado
Cribado del rango de parámetros (qué zona merece una validación más precisa)✅ Recomendado
Comprobación de robustez WF (chequeo de sobreajuste mediante separación Train/Test)✅ Recomendado
Fundamento de las cifras publicadas en el sitioProhibido (diverge de lo real)
Usar la "tasa de supervivencia OOS" como argumento de ventaProhibido (no sustituye a la validación real)
Decisión de publicación de un EAProhibido (requiere validación real en MT5)

Las cifras del BT en Python son, en el mejor de los casos, un "indicador de cribado inicial". La publicación definitiva requiere validación real en MT5.

Enlaces relacionados


FXEA365 — No publicamos cifras oficiales espectaculares, sino únicamente estrategias que funcionan de verdad, comprobadas mediante backtest real de MT5 a 14 años, de forma gratuita.

📧 Avisos antes de subidas de precio + curso gratuito de 5 días por email

Todos los EAs están a precio de lanzamiento y suben por escalones según las ventas. Reciba aviso antes de cada subida, más un email diario sobre trading algorítmico, cómo leer backtests y elegir bróker.

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

Comentarios y preguntas