📖 Backtesting en Forex: cómo probar estrategias y por qué es clave el análisis Walk-Forward
El backtesting es la ejecución de reglas de trading sobre datos históricos para entender cómo se habría comportado una estrategia en el pasado sin arriesgar capital. En el contexto del trading algorítmico, el backtesting es una etapa obligatoria antes del demo y del lanzamiento en real.
El objetivo de este material es mostrar cómo organizar profesionalmente un backtest en forex en MT4, MT5 y cTrader: elegir los modos de modelado, lograr precisión a nivel de tick, realizar un análisis Walk‑Forward, interpretar las métricas, modelar la ejecución y comprobar la robustez mediante Monte Carlo.
Backtesting: simulación de operaciones sobre datos pasados con cálculo de métricas de rentabilidad y riesgo.
Trading algorítmico: negociación basada en reglas formalizadas y programadas en código.
Datos de ticks: secuencia de cambios mínimos de precio (tick‑by‑tick) con marca temporal precisa.
Análisis Walk‑Forward (WFA): ciclo “optimización en una ventana → verificación en la siguiente ventana (OOS) → desplazamiento de la ventana” para evaluar la estabilidad.
Monte Carlo: serie de escenarios aleatorios (reordenación de operaciones, variaciones de costes) para estimar la dispersión de resultados y los riesgos de cola.
🧭 Qué es el backtesting y por qué es clave
Backtesting es la simulación de las operaciones de una estrategia sobre el mercado pasado con cálculo de indicadores clave. Es un filtro de calidad previo al demo/real y una manera de verificar la lógica del código.
- Comprobación de hipótesis: descarte rápido de ideas débiles y foco en las sólidas.
- Diagnóstico del código: la validación visual de entradas y salidas ayuda a detectar errores lógicos.
- Métricas: Max Drawdown, PF, Ratio de Sharpe, expectativa por operación, estabilidad por años.
- Disciplina: las reglas confirmadas por el histórico son psicológicamente más fáciles de seguir.
Max Drawdown: máxima caída desde el pico de equity en porcentaje.
PF (Profit Factor): relación entre el beneficio total y la pérdida total.
Ratio de Sharpe: rentabilidad normalizada por el riesgo (volatilidad de la rentabilidad).
Expectancy (esperanza por operación): ganancia media por operación = WinRate × AvgWin − (1 − WinRate) × AvgLoss.
Importante: los resultados pasados no garantizan los futuros. El backtest se complementa con forward test (verificación en datos nuevos/demo) y control de ejecución.
⚙️ Enfoques de backtesting en MT4, MT5 y cTrader
Las plataformas difieren en precisión de modelado, capacidad multisímbolo, velocidad de optimización y comodidad de desarrollo.
Multisímbolo: prueba/operativa simultánea con varios instrumentos dentro de un mismo asesor y una sola ejecución.
MT4: clásico con limitaciones
- Tester: modo visual, pero sin backtest multisímbolo (1 símbolo por ejecución).
- Modelado: “solo aperturas”, “puntos de control”, “todos los ticks”. Sin ticks externos, la calidad suele ser ≤90%.
- Velocidad: ejecuciones secuenciales, sin optimización distribuida.
✅ Ventajas
- Entorno de desarrollo sencillo y abundancia de EAs listos.
- Baja barrera de entrada para experimentar rápido.
❌ Desventajas
- No hay prueba multisímbolo en una sola ejecución.
- La precisión a nivel de tick exige importación externa y preparación manual del histórico.
MT5: estándar profesional
- Multisímbolo: un EA puede probar varios símbolos en un único proceso.
- Ticks: soporte de ticks reales y spread del bróker; modos “Cada tick”, “1‑Minute OHLC”, “Aperturas”.
- Optimización: multiproceso, algoritmo genético, agentes remotos y nube.
- Optimización forward: particionado integrado del histórico en parte de entrenamiento y OOS.
OHLC de 1 minuto: modelado por los cuatro precios de la vela de un minuto (Open/High/Low/Close); más rápido pero más tosco con stops estrechos.
Algoritmo genético: optimización heurística — “evolución” de conjuntos de parámetros con selección de las mejores combinaciones.
OOS (Out‑of‑Sample): parte “fuera de muestra” del histórico donde se validan parámetros ya seleccionados tras la optimización.
✅ Ventajas
- Alta precisión de modelado “de fábrica” a nivel de tick.
- Optimizaciones rápidas, incluyendo forward y algoritmo genético.
❌ Desventajas
- Requisitos más estrictos de limpieza de código y del modelo de eventos.
cTrader: flexibilidad de C# y Market Replay
- Lenguaje: C# (Automate/cAlgo), tipado estricto y ecosistema .NET.
- Datos: “Tick data from server”, spread fijo o aleatorio.
- Experiencia: Market Replay — reproducción manual del mercado para aprendizaje y validación visual.
- Rendimiento: ejecución secuencial; optimización en paralelo en versiones recientes.
✅ Ventajas
- Sólido stack de C# y Market Replay cómodo.
- Personalización flexible de ejecución y spread.
❌ Desventajas
- Los sistemas multisímbolo requieren una arquitectura de señales a medida.
🧪 Modos de modelado y cuándo usarlos
La elección del modo depende de la sensibilidad a los movimientos intrabarra (ticks) y de SL/TP (stop‑loss/take‑profit) estrechos.
Tick: modelado de cada cambio de precio y del spread (precisión máxima para scalping/HFT).
OHLC: modelado por los cuatro precios de la vela; más rápido, pero más tosco con stops estrechos.
HFT: lógica de alta frecuencia con latencia de ejecución crítica.
«Cada tick» (tick‑by‑tick)
Simulación lo más realista posible de cada cambio de precio y del spread. Imprescindible para scalping y lógica HFT.
- Ventajas: entradas/salidas precisas, evaluación adecuada de stops y deslizamiento.
- Desventajas: alta carga computacional y dependencia de la calidad de los ticks.
Clave: si los disparadores se activan dentro de la vela, prueba “en ticks”; de lo contrario, los resultados se inflarán.
OHLC/1 minuto
Modelado por Open/High/Low/Close de velas de un minuto. Útil para medio plazo y para filtrar ideas de forma rápida y gruesa.
- Ventajas: muy rápido.
- Desventajas: distorsiona con stops estrechos y patrones intradía.
Modo visual / Market Replay
Vista paso a paso de las operaciones en el gráfico (MT4/MT5) o reproducción del mercado (cTrader): práctico para depurar y aprender.
- Ventajas: se aprecia con claridad la lógica de entradas, trailing y filtros.
- Desventajas: más lento que las ejecuciones por lotes; riesgo de “mirar con el resultado puesto”.
📊 Calidad del modelado y fuentes de datos
La fiabilidad está limitada por la calidad de los datos de entrada. “Basura dentro — basura fuera”. Primero el histórico y después las optimizaciones.
- Ticks: para MT5/cTrader — ticks del bróker; para MT4 — importar ticks externos y convertirlos para el tester.
- Zona horaria y sesiones: zona horaria unificada y control de “huecos” y velas duplicadas.
- Costes: modela spread real/aleatorio, comisión y deslizamiento.
- Verificación: “ejecución en seco” sin operaciones para validar la secuencia temporal.
Abre el Probador de estrategias → elige el asesor (EA) → modo “Cada tick” → fuente de ticks “bursátiles/del bróker” → define comisión/spread → activa la “Visualización” → Ejecutar. Para la optimización forward, activa el tramo OOS en los ajustes de optimización.
🧼 Pipeline de datos para un backtest honesto
Los datos lo son todo. Antes de optimizar, asegúrate de que el histórico esté completo, alineado en zona horaria y limpio de “huecos” y duplicados.
- Importa ticks/minutajes desde una fuente fiable o del bróker.
- Normaliza la zona horaria y el calendario de sesiones.
- Limpia anomalías: duplicados, velas nulas y “picos” extremos.
- Modela spread/comisión y define reglas de redondeo de precio/volumen.
- Realiza una “prueba en seco” sin operaciones para comprobar la monotonía temporal.
Compatibilidad: MT5 y cTrader — prioridad a datos de tick; MT4 — vía importación de ticks. Con fuentes mixtas, usa una zona horaria única y fija las reglas de horario de verano.
Consejo: lleva un “pasaporte” del dataset: fuente, profundidad, zona horaria, fecha de exportación y hash de archivos — facilita la reproducibilidad.
⚡ Modelado de ejecución: órdenes, spread, latencias
La ejecución ideal infla los resultados. Incluye supuestos realistas: tipo de orden, filtro de spread, deslizamiento y retardos aleatorios.
Spread: diferencia entre Bid y Ask que se amplía con noticias o baja liquidez.
Deslizamiento: ejecución a un precio peor del esperado por impulso de mercado o por latencia.
Latencia: suma de demoras de red, terminal y servidor; crítica en HFT/noticias.
| Componente | Modelo | Recomendación |
|---|---|---|
| Tipo de orden | Market/Limit/Stop | Scalping — limit con filtro de spread; tendencial — market es aceptable. |
| Spread | Fijo o aleatorio | Un spread aleatorio dentro del rango histórico es más realista. |
| Deslizamiento | Simétrico o sesgado | Para órdenes market, contempla un sesgo negativo. |
| Latencia | Aleatoria de 10–300 ms | Relevante en noticias y picos de volatilidad. |
Consejo: aplica un “descuento por ejecución” del 5–15% a la ganancia y +20–30% al Max Drawdown respecto al backtest al planificar el real.
⏩ Análisis Walk‑Forward (WFA)
Walk‑Forward es un ciclo por etapas: “optimización en una ventana → verificación en la siguiente ventana (OOS) → desplazamiento de la ventana” para evaluar la estabilidad.
WFA: alternancia de tramos in‑sample (entrenamiento) y out‑of‑sample (verificación) con reentrenos programados.
OOS: parte no utilizada en el ajuste donde se prueban los parámetros ya elegidos.
Rolling vs Anchored: ventana deslizante frente a acumulativa (menor riesgo de sobreajuste).
- Divide el histórico: p. ej., 12–18 meses de optimización y 3–6 meses de verificación.
- Optimiza parámetros en la primera ventana y fija el mejor conjunto.
- Prueba ese conjunto en la siguiente ventana (OOS).
- Desplaza las ventanas y repite el ciclo hasta el final del histórico.
- Agrega resultados OOS, evalúa estabilidad y rango de caídas.
Esquemas prácticos de WFA
Rolling window — adaptación rápida; Anchored — menos sobreajuste, pero con mayor inercia.
Clave: limita el número de parámetros y usa las mismas reglas para todas las ventanas; de lo contrario, la comparación no es válida.
🎲 Verificación Monte Carlo de la estrategia
Monte Carlo es una serie de escenarios aleatorios (barajado de operaciones, variaciones de spread/deslizamiento) que muestra la dispersión de resultados y las colas de riesgo.
Escenarios de reordenación
Simula 200–1000 historias alternativas para estimar el rango de rentabilidad y caídas.
- Reshuffle: permutación aleatoria de la secuencia de operaciones con los mismos PnL (ganancia/pérdida).
- Noise: ±25–50% al deslizamiento y al spread.
- Gap test: ticks extremos poco frecuentes que imitan “derrumbes” por noticias.
Clave: céntrate en los percentiles 5–10, no solo en la mediana: el margen de seguridad importa más que el pico.
💻 Ejemplo: cruce de medias móviles (MA Cross)
Lógica didáctica en MQL5 y C# para cTrader. En operativa real añade filtros de volatilidad ATR, gestión del riesgo y control de ejecución.
1) En MT5 crea un EA e inserta el código de abajo. 2) En el probador elige “Cada tick” y define comisión/spread. 3) Compruébalo en otro símbolo o marco temporal (TF) y compara PF/DD (factor de beneficio/máx. drawdown).
MQL5 (MT5)
#property strict
input int FastMAPeriod = 20;
input int SlowMAPeriod = 50;
#include
CTrade trade;
int hFast, hSlow;
int OnInit(){
hFast = iMA(_Symbol, PERIOD_CURRENT, FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE);
hSlow = iMA(_Symbol, PERIOD_CURRENT, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE);
return(INIT_SUCCEEDED);
}
void OnTick(){
double fast[], slow[];
if(CopyBuffer(hFast,0,0,2,fast)<2 || CopyBuffer(hSlow,0,0,2,slow)<2) return;
bool crossUp = (fast[1] <= slow[1]) && (fast[0] > slow[0]);
bool crossDown = (fast[1] >= slow[1]) && (fast[0] < slow[0]);
if(crossUp) { trade.PositionClose(_Symbol); trade.Buy(0.1); }
if(crossDown) { trade.PositionClose(_Symbol); trade.Sell(0.1); }
}
C# (cTrader Automate)
using cAlgo.API; using cAlgo.API.Indicators;
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class MACrossBot : Robot {
[Parameter("Fast", DefaultValue = 20)] public int Fast { get; set; }
[Parameter("Slow", DefaultValue = 50)] public int Slow { get; set; }
private MovingAverage maF, maS;
protected override void OnStart(){
var series = MarketData.GetSeries(TimeFrame);
maF = Indicators.MovingAverage(series.Close, Fast, MovingAverageType.Simple);
maS = Indicators.MovingAverage(series.Close, Slow, MovingAverageType.Simple);
}
protected override void OnBar(){
bool crossUp = maF.Result.Last(1) <= maS.Result.Last(1) && maF.Result.LastValue > maS.Result.LastValue;
bool crossDown = maF.Result.Last(1) >= maS.Result.Last(1) && maF.Result.LastValue < maS.Result.LastValue;
if(crossUp) { ClosePositions(TradeType.Sell); ExecuteMarketOrder(TradeType.Buy, SymbolName, 10000); }
if(crossDown) { ClosePositions(TradeType.Buy); ExecuteMarketOrder(TradeType.Sell, SymbolName, 10000); }
}
}
Importante: el ejemplo está simplificado: no hay filtro de tendencia, cálculo del tamaño por ATR, consideración de comisiones/deslizamientos ni una gestión monetaria adecuada. Añade estos elementos antes de sacar conclusiones.
🧪 Mini‑casos: cómo se comportan distintas ideas
Los ejemplos ilustrativos forman intuición: dónde gana la idea y dónde sufre por costes o regímenes de mercado. Los valores son demostrativos — reemplázalos por los tuyos.
Breakout London (EURUSD M15)
Ruptura del rango asiático en las primeras 2 horas de Londres, SL/TP fijos, filtro de spread.
- Puntos fuertes: entorno tendencial, alta expectativa por operación.
- Debilidades: sensibilidad a noticias y deslizamiento.
Mean Reversion (USDJPY M5)
Rebote hacia la media cuando hay expansión respecto a VWAP y/o BB, salida parcial.
- Puntos fuertes: rango, muchas operaciones, equity estable (curva de valor de la cuenta).
- Debilidades: “muerte por mil cortes” cuando aumentan los costes.
MA Cross (H1)
Cruce SMA 20/50 con filtro ATR y trailing‑stop de ATR×2.
- Puntos fuertes: transferibilidad de parámetros a pares cercanos.
- Debilidades: falsos rompimientos y rangos prolongados reducen el PF.
| Estrategia | Escenario | PF | Max DD | Sharpe | Operaciones |
|---|---|---|---|---|---|
| Breakout London | Ticks + spread aleatorio | 1.6 | 18% | 1.1 | 480 |
| Mean Reversion | Ticks + comisión×1.2 | 1.4 | 12% | 1.3 | 1200 |
| MA Cross | OHLC → Ticks (validación) | 1.3 | 20% | 1.0 | 260 |
🌗 Regímenes de mercado y comportamiento de la estrategia
Divide el histórico en tendencia, rango y ventanas de noticias. Evalúa métricas por separado y ajusta reglas de activación/pausa.
Régimen tendencial
Filtros: ADX>25, rupturas de canales, pendiente positiva de la MA.
- Recomendaciones: ampliar TP y reducir sensibilidad a retrocesos.
- Riesgos: rompimientos falsos en tendencias agotadas.
Régimen de rango
Baja volatilidad (ATR en la parte baja del rango), ADX<15, movimientos reversivos frecuentes.
- Recomendaciones: acortar TP, usar mean‑reversion y filtro de spread.
- Riesgos: los costes pueden “comerse” la ventaja estadística.
Ventanas de noticias
ATR alto, ampliación del spread, gaps.
- Recomendaciones: pausa, filtro de spread y entradas diferidas post‑noticia.
- Riesgos: deslizamiento y stops frecuentes.
Clave: la combinación de calendario económico y límites de ATR/spread suele elevar el Sharpe.
📋 MT4 vs MT5 vs cTrader — comparación para forex
Diferencias clave que afectan a la precisión, velocidad y comodidad al trabajar con sistemas multisímbolo.
| Criterio | MT4 | MT5 | cTrader |
|---|---|---|---|
| Precisión del modelado | Hasta 99% con ticks externos; de lo contrario ≤90% | Ticks del bróker; alta precisión | Tick data from server; configuración flexible del spread |
| Velocidad/optimización | Ejecuciones secuenciales | Multiproceso, agentes en la nube, genética | Ejecución secuencial; optimización en paralelo |
| Multisímbolo | No (1 símbolo/test) | Sí (un EA — varios símbolos) | Vía API/arquitectura de señales |
| Pruebas visuales | Modo visual | Visualización + analítica ampliada | Market Replay |
| Informes/métricas | Conjunto básico | Informes y gráficos avanzados | Estadística y equity detallada |
🔍 Interpretación de resultados: métricas clave
La evaluación debe ser integral: combina rentabilidad con riesgo y estabilidad, y comprueba el número de operaciones y la distribución de ganancias en el tiempo.
Máxima caída (Max Drawdown)
Mayor disminución del balance/equity desde el pico en porcentaje. Cuanto menor, mejor; compárala con la rentabilidad anual (por ejemplo, mediante CAR/MDD).
Profit Factor (PF)
Relación entre el beneficio total y la pérdida total. Valores > 1 — potencialmente rentable, > 1.5 — bueno, > 2 — excelente, siempre con estabilidad por periodos.
Ratio de Sharpe
Rentabilidad normalizada por el riesgo (volatilidad de la rentabilidad). Cuanto más alto, más estable; referencia — > 1, en sistemas “suaves” — cerca de 1.5–2.
Expectancy (esperanza por operación)
Ganancia media por operación: Expectancy = WinRate × AvgWin − LossRate × AvgLoss. Debe ser positiva y estar respaldada por un número suficiente de operaciones.
Equity: curva de valor de la cuenta incluyendo posiciones abiertas (a diferencia del balance).
PF: PF = Beneficio bruto / Pérdida bruta; conviene verlo junto con el número de operaciones y el Max DD.
Sharpe: (Rentabilidad media − Rf) / Desv. típica(Rentabilidad); donde Rf es la tasa libre de riesgo.
Expectancy: = WinRate × AvgWin − (1 − WinRate) × AvgLoss; contrástalo en una muestra ≥ 200–300 operaciones (para intradía — más).
CAR/MDD: relación entre la rentabilidad anual compuesta (Compound Annual Return) y la máxima caída.
Consejo: comprueba la estabilidad de las métricas por años/trimestres y aplica “descuento por ejecución” (spread/comisión/deslizamiento); de lo contrario, PF y Sharpe saldrán inflados.
🗺️ Mapa de robustez de parámetros
Varía dos parámetros clave en rejilla y registra las métricas. No buscamos un “islote” de máximo, sino una meseta de estabilidad.
Diseño del experimento
- Rejilla: 15×15 puntos sobre dos parámetros (p. ej., periodos de MA rápida/lenta).
- Métricas: PF, Max DD, Sharpe, CAR/MDD y número de operaciones.
- Criterios: PF ≥ 1.3, DD ≤ 25%, ≥ 200 operaciones.
Decisión de ajuste
Elige parámetros del centro de la “meseta”, no del borde; así aumentas la probabilidad de conservar eficacia cuando cambie el régimen de mercado.
⚠️ Trampas típicas y cómo evitarlas
Sobreoptimización (overfitting)
- Demasiados parámetros o rangos estrechos ajustan la estrategia al ruido.
- Solución: límite de parámetros, Walk‑Forward, verificación OOS y Monte Carlo.
Ignorar la ejecución
- Sin considerar spread/comisión/latencias, PF y Sharpe casi siempre están inflados.
- Solución: spread, deslizamiento y retardos aleatorios, más “descuento” sobre resultados.
Datos “sucios” y zonas horarias
- Huecos, duplicados y zona horaria incorrecta rompen la lógica intradía.
- Solución: pipeline de datos, zona horaria única y prioridad a ticks.
🧰 DevOps para backtesting: reproducibilidad y registro de experimentos
Una estrategia vale cuando su resultado se puede reproducir. Se necesitan versiones de datos, ajustes fijos e informe estandarizado.
- Versionado de datos: fecha de exportación, fuente, profundidad y hash de archivos.
- Config del experimento: símbolos, marcos temporales, fechas, costes, spread/latencias y semilla (valor inicial del generador de números aleatorios).
- Plantilla de informe: resumen de métricas, gráficos de equity/caídas, distribución de PnL (ganancia/pérdida) y sensibilidad.
- Artefactos: logs de operaciones, parámetros serializados y pasaporte de versión del EA/cBot (bot de cTrader).
Consejo: guarda el “layout de ejecución” — un config JSON/YAML — para repetir el backtest con un clic.
🧮 Métodos de optimización: grid, genética, bayes
Optimizar es buscar parámetros con el mejor equilibrio entre rentabilidad y riesgo. Ten en cuenta el tiempo de cómputo y la estabilidad del resultado.
| Método | Idea | Cuándo es mejor | Riesgos |
|---|---|---|---|
| Grid Search | Barrido completo en rejilla de parámetros | Pocos parámetros y límites estrechos | Lento; riesgo de “ajuste a la rejilla” |
| Optimización genética | Selección evolutiva de combinaciones (mutaciones/cruces) | Número medio o grande de parámetros | Requiere controlar criterios y aplicar parada temprana |
| Bayes (TPE) | Modelo “parámetros → métrica” con TPE | Ejecuciones costosas, superficies complejas | Implementación más compleja y riesgo de óptimos locales |
Consejo: combina: rejilla gruesa → genética → validación en WFA/Monte Carlo. Selecciona no el PF máximo, sino una meseta estable.
🛡️ Gestión del riesgo y tamaño de la posición
La gestión del riesgo influye en la curva de capital más que el punto de entrada. El tamaño de la posición debe depender de la volatilidad y del capital.
Fijo‑fraccional y riesgo por volatilidad
Arriesga una fracción fija del capital por operación y normaliza el stop mediante ATR.
- Práctica: riesgo del 0.5–2% por operación con cálculo del lote a partir del SL (stop‑loss).
- Normalización por ATR: mismo riesgo monetario con volatilidades distintas.
Clave: modela el riesgo con precisión en el backtest; de lo contrario, las caídas reales te sorprenderán.
Limitadores de riesgo
Límites diarios/semanales de pérdidas, pausas tras rachas de stops y parada de la operativa por anchura de spread o picos de ATR.
- Pausa tras N operaciones perdedoras consecutivas.
- Detener la operativa con spread extremo o ATR anómalo.
🧩 Cartera de estrategias: diversificación y correlación
Varias estrategias independientes y con baja correlación suavizan la equity y reducen la caída.
- Tipos: tendencial, mean‑reversion, ruptura; distintos marcos temporales y símbolos.
- Selección: baja correlación del PnL diario (ganancia/pérdida) y regímenes de mercado complementarios.
- Control: límites a riesgos simultáneos y a clústeres de instrumentos.
Consejo: construye una matriz de correlaciones entre estrategias y prueba la cartera como conjunto, no solo por separado.
🧨 Escenarios «qué pasaría si»: prueba de estrés de costes y condiciones
Comprueba cómo sobrevive la estrategia a un empeoramiento de ejecución, aumento de volatilidad y desconexiones en noticias.
| Escenario | Cambio | Efecto esperado |
|---|---|---|
| Comisión ↑ | ×1.5 | Caída del PF en estrategias frecuentes — filtra operaciones |
| Spread ↑ | +30% | Peores entradas/salidas, stops más amplios, caída del Sharpe |
| Latencia ↑ | +150 ms | Peor ejecución en impulsos — aumenta los buffers |
| Noticias — off | −1 hora alrededor de publicaciones | Menos operaciones, pero suaviza colas de pérdidas |
❓ Preguntas y respuestas (FAQ)
¿Cómo conseguir “99%” de calidad de modelado?
¿En qué se diferencia el backtest del forward test?
¿Qué periodo de histórico usar para una estrategia de forex?
¿Para qué sirven el modo visual y el Market Replay?
¿Qué elegir: MT4, MT5 o cTrader para backtesting?
¿Cómo considerar comisiones y swaps en el backtest?
¿Cómo saber si una estrategia es robusta?
✅ Lista de verificación de lanzamiento en demo/real
- Dataset con “pasaporte”: fuente, profundidad, zona horaria, fecha de exportación y hash.
- Config del test: símbolos, marcos temporales, fechas, costes, latencias y semilla.
- Ejecución final “en ticks” con spread y deslizamiento aleatorios.
- Optimización con límite de parámetros y verificación en WFA.
- Monte Carlo: ≥ 200 escenarios, control de colas de la distribución.
- Mapa de robustez: elección de parámetros en meseta.
- Validación visual de entradas/salidas en tramos de control.
- Tamaño de la posición: riesgo/operación y normalización por ATR.
- Limitadores: límite diario/semanal de pérdidas y pausas.
- Detener la operativa con spread/ATR extremos.
- Monitorización en demo ≥ 2–4 semanas con logs de operaciones.
- Comparación demo vs backtest: desviaciones dentro de lo previsto.
- Plan “qué pasaría si” para empeoramiento de la ejecución.
- Cartera: comprobación de correlación con estrategias existentes.
- Plan de lanzamiento en real con crecimiento del riesgo por etapas.
✅ Conclusión
Un backtest fiable se sostiene en tres pilares: datos de tick de calidad y zona horaria correcta; ejecución realista (spread, comisión, deslizamiento y latencias); y verificación de robustez (Walk‑Forward, Monte Carlo y mapa de parámetros).
La elección de plataforma depende del objetivo: MT5 — equilibrio entre precisión y velocidad; cTrader — flexibilidad de C# y Market Replay; MT4 — opción minimalista cuando ya cuentas con ecosistema y manejo de datos de tick.
Clave: primero — datos limpios y ticks; después — ejecución y riesgo; luego — optimización limitada y Walk‑Forward. Así aumenta la probabilidad de que el real se parezca al informe.