Backtesting

Cómo detectar huecos de datos en un backtest de cTrader

Aprende a localizar velas ausentes, separar cierres normales y validar la cobertura real antes de aceptar un backtest de cTrader.

Un backtest de cTrader no queda validado porque llegue hasta la pantalla de resultados. Para saber si el histórico está completo, tienes que contrastar la separación entre timestamps, los límites que realmente cargó la plataforma y cualquier pausa ocurrida cuando el mercado debía estar abierto.

Ese control evita un problema discreto: una vela ausente puede borrar una entrada, cambiar el recorrido hasta un stop loss o dejar a un indicador sin suficiente historial. El informe seguirá teniendo decimales. Eso no convierte el dato incompleto en evidencia.

El intervalo solicitado no es la cobertura recibida

Empieza por identificar el material del backtest. La guía oficial para hacer backtesting de un cBot contempla datos tick del servidor, velas M1 del servidor, M1 desde un CSV local y velas H1 del servidor. Cambiar entre esas fuentes cambia la resolución y también el origen del histórico.

Anota símbolo, broker, fuente, timeframe y fechas solicitadas. Después guarda el primer y el último timestamp que sí llegaron. La referencia de Bars en la API de cTrader ofrece Count, OpenTimes y GetServerFirstBarOpenTime(), así que puedes documentar la cobertura efectiva desde el propio cBot o desde una utilidad de auditoría.

Dos pruebas con las mismas fechas visibles no tienen por qué usar el mismo histórico. Ese es uno de los motivos por los que un backtest de cTrader cambia entre brokers.

Primero encuentra las pausas; luego clasifícalas

Recorre OpenTimes y compara cada apertura con la siguiente. Cuando la distancia supere el timeframe declarado, registra el inicio, el final y cuántos slots faltan. Esa lista es el principio de la revisión, no su veredicto.

Un fin de semana, un festivo o una pausa de mantenimiento pueden explicar una discontinuidad legítima. La comprobación importante consiste en enfrentar cada alerta al calendario de sesiones del símbolo y al histórico concreto del broker.

Conviene dejar tres estados posibles:

EstadoLectura correctaDecisión
Cierre previstoNo había sesión operableConserva el tramo y documenta la regla
Ausencia dentro de sesiónFalta al menos una observación esperadaRepara la fuente o descarta la ejecución
Pausa sin explicaciónNi el calendario ni la fuente la justificanMarca el resultado como no verificado

Rellenar una vela OHLC con el cierre anterior no repara nada. Estarías fabricando un recorrido sin máximo, mínimo ni volumen observados. Busca una fuente defendible, acorta la ventana o no uses ese resultado.

La auditoría también empieza antes de la primera operación

La fecha inicial puede ser correcta y el calentamiento, insuficiente. Un cálculo móvil, una estimación de volatilidad o un filtro de timeframe superior necesita observaciones anteriores para llegar a su primera decisión válida.

Define cuándo está listo cada indicador y bloquea la operativa hasta que todas las series necesarias cumplan esa condición. Haz la misma revisión sobre símbolos auxiliares y otros timeframes. Que el gráfico principal esté completo no demuestra nada sobre los datos secundarios.

La referencia de Bars documenta LoadMoreHistory() y devuelve el número de velas añadidas al comienzo de la colección. Esa función ayuda cuando falta profundidad. Tras cargarla, vuelve a revisar los timestamps: más histórico no significa histórico continuo.

Una ausencia pequeña puede mover una regla grande

La duración visual del hueco no determina su importancia. Lo decisivo es qué estaba haciendo el sistema alrededor de ese intervalo.

Comprueba si había una posición abierta, una orden pendiente, una decisión programada o una ventana de indicador atravesando la pausa. Cuando consigas reparar la fuente, repite la prueba y contrasta señales, fills, número de operaciones, curva de equity y momento del drawdown. El beneficio final por sí solo puede ocultar un orden de eventos distinto.

Una sola vela cerca de un breakout o un stop loss puede decidir qué ocurrió primero. En cambio, una pausa más larga con el sistema fuera del mercado quizá no cambie nada. La sensibilidad pertenece a la estrategia, no al tamaño aparente del espacio en blanco.

La misma lógica aparece al estudiar backtesting al cierre de vela frente a intrabar: el recorrido disponible debe sostener la afirmación sobre la ejecución.

Deja un manifiesto que otra persona pueda revisar

No necesitas una infraestructura enorme. Necesitas un registro compacto que acompañe al resultado y permita repetir la revisión.

Ese manifiesto debería guardar:

  • broker, símbolo y modo de datos históricos;
  • límites solicitados y cobertura efectiva;
  • recuento de velas y timeframe;
  • calendario de sesiones y convención de zona horaria;
  • intervalos detectados y clasificación de cada uno;
  • condición de calentamiento de todas las series;
  • reparación, exclusión o limitación todavía abierta;
  • checksum o versión de cualquier CSV local.

El documento no corrige los datos. Impide que sus defectos queden escondidos. realbacktesting es un estudio de software de trading para cTrader centrado en resultados reproducibles; su criterio de prueba solo es comprobable si también puedes identificar el histórico de partida.

Lo que la continuidad no demuestra

Un histórico sin timestamps ausentes todavía puede contener precios erróneos, volumen incorrecto, un desplazamiento horario o cotizaciones específicas del broker que no representen tu ejecución en real.

Por eso esta revisión es una capa, no un sello absoluto. Combínala con comparación entre brokers, costes y pruebas de ejecución. Sirve para rechazar evidencia incompleta; no convierte el pasado en una muestra garantizada del mercado futuro.

Preguntas frecuentes

¿Un backtest terminado garantiza que no faltan velas?

No. Solo confirma que el motor generó un informe con el histórico recibido. Revisa los límites efectivos y compara timestamps consecutivos para verificar la cobertura.

¿Los saltos del fin de semana cuentan como datos ausentes?

No necesariamente. Pueden corresponder a un cierre normal. Contrástalos con las sesiones del símbolo antes de clasificarlos.

¿Puedo copiar el último cierre para tapar el hueco?

No. Esa práctica inventa una vela OHLC y puede alterar la volatilidad o el momento de una señal. Repara el histórico, limita la prueba o declara que no está verificada.

¿Hay que revisar cada timeframe y símbolo auxiliar?

Sí. Toda serie que intervenga en una decisión necesita su propio control de cobertura y calentamiento, aunque el gráfico principal esté completo.

La idea que debe sobrevivir

Si no puedes explicar los huecos del histórico, tampoco puedes explicar del todo las operaciones que salieron de él.

Publicado Sep 18, 2026 · realbacktesting · Contenido educativo y comentario de mercado — no es asesoramiento financiero. El trading conlleva riesgo; los resultados pasados no garantizan resultados futuros.