Rellenar histórico largo para los backtests: drenaje footprint o barras del servidor
El panel de backtest automático lee la cobertura de la caché para el contrato, la granularidad y el período elegidos, y después ofrece dos descargas para las sesiones que faltan: el drenaje footprint (cada operación con su lado agresor, reconstruida en bid × ask) o las barras del servidor, más rápidas pero sin niveles. La cobertura se cuenta en sesiones de trading, a cinco por cada siete días.
Senzoukria · Documentación · Actualizado en septiembre de 2026
Dónde encontrarlo
- Dónde
- Replay → Backtest automático → tarjeta de cobertura bajo Período y Granularidad
- Períodos
- 1 semana, 1 mes (por defecto), 3 meses, 6 meses, 1 año, 2 años, 5 años; granularidad 1 minuto, 5 minutos, 15 minutos (por defecto), 1 hora
- Dos botones
- «Descargar el historial footprint ({dur})» (principal) y «Descargar el histórico que falta ({dur})» (secundario, barras del servidor)
- Texto de cobertura
- «{n} sesiones en caché de las {n} pedidas — faltan {n}. El backtest puede lanzarse ya sobre lo que existe, pero el resultado solo cubrirá esa ventana.»
Qué hace
Cambiar el contrato, la granularidad o el período relee la caché (cache_coverage) sin ninguna llamada al bróker. Los días pedidos se convierten en sesiones a razón de 5/7, los nanosegundos cubiertos se convierten en sesiones cubiertas, y la diferencia es lo que falta. Cuando no hay nada en caché, la tarjeta dice «Nada en caché para {symbol} en {tf}. Abre este contrato en el gráfico con esa granularidad: el histórico se rellena solo y después queda disponible.»
El drenaje footprint llama a rithmic_history_ensure sobre ventanas de 28 días, la más antigua la última, con el tick size del contrato. Su estimación es de 107 segundos por sesión que falta, y se muestra en el botón. Cada ventana informa de las barras recibidas, los tramos saltados por denegación y los tramos fallidos; un backend ocupado hace saltar la ventana sin contarla como fallida. Esta vía lleva el bid × ask por precio y es la que necesita una estrategia que lea los desequilibrios nivel a nivel.
La vía de las barras del servidor llama a rithmic_fetch_history_batch con bloques planificados de 9.000 barras cada uno (23 horas por sesión, 5/7 sesiones por día), enviados de 8 ventanas por lote y con 2 lotes en vuelo. Es más rápida, pero las barras solo llevan OHLC, volumen y delta: «Las barras del servidor traen OHLC, volumen y delta, pero no los niveles del footprint.»
Ajustes y estimaciones
| Ajuste | Por defecto | Qué cambia |
|---|---|---|
| Período | 1 mes (30 días) | Días pedidos: 7, 30, 90, 180, 365, 730 o 1.825 |
| Granularidad | 15 minutos | Marco temporal de las barras en caché que lee el backtest: 1 m, 5 m, 15 m, 1 h |
| Ventana del drenaje footprint | 28 días | Tamaño de cada petición rithmic_history_ensure |
| Estimación del footprint | 107 s por sesión que falta | Duración mostrada en el botón principal |
| Bloque de barras del servidor | 9.000 barras | Tamaño de cada ventana de histórico; estimación de 150 s por bloque |
| Marca de truncamiento | < 90 % de los días pedidos | coveredSpan marca el resultado como truncado cuando las barras abarcan menos del 90 % del período |
Cómo usarlo
- Elige el contrato, la granularidad y el período, y lee la línea de cobertura antes de lanzar: un backtest puede correr sobre lo que existe, pero su resultado solo cubre esa ventana.
- Prefiere el drenaje footprint cuando la estrategia lee desequilibrios o volumen por nivel; acepta las horas que anuncia.
- Usa Cancelar para detener cualquiera de las dos descargas; lo que ya llegó se conserva, y volver a lanzarla rellena el resto.
- Vigila la línea de estado: «Drenando tick a tick — ventana {done} de {total}, {bars} barras hasta ahora» o «Descargando — bloque {done} de {total}, {bars} barras hasta ahora».
Veredictos y trampas
- denied: el bróker respondió rp_code 13 («permission denied»). Las barras históricas son un permiso del bróker, no un ajuste de la aplicación; los ticks históricos pueden seguir funcionando, y es lo que usa el replay manual.
- silent: login aceptado, nada enviado en ninguna ventana. O el archivo no llega tan atrás, o la planta de histórico está caída; reintenta con el mercado abierto.
- empty: el bróker respondió pero no sirvió ninguna barra para esta ventana; puede que su archivo no llegue tan atrás para este contrato.
- Drenaje por ticks con códigos: «El bróker no devolvió ningún tick y respondió: {codes}. Puede que la reproducción de ticks históricos no esté habilitada en esta cuenta.»
- Los datos históricos los sirve y los factura tu bróker o tu proveedor de datos según tu cuenta; la aplicación no puede ampliar un permiso.
Páginas relacionadas
- Caché de barras y pipeline de histórico
- Pantalla de preparación del Replay
- Guía de backtesting de futuros
- Glosario: tick replay
Esta página en otros idiomas
Preguntas frecuentes
- ¿Por qué se ofrecen dos descargas y cuál debo elegir?
- No llevan los mismos datos. El drenaje footprint reconstruye el bid × ask por precio a partir de cada operación y es imprescindible para las estrategias por nivel; las barras del servidor son más rápidas pero no tienen niveles. Por eso el drenaje footprint es la acción principal.
- ¿Por qué la estimación habla de horas?
- Son 107 segundos por sesión que falta, y es a propósito: anunciar un tiempo demasiado corto hacía que la gente cortara descargas que estaban a punto de terminar.
- La descarga ha terminado pero la cobertura no ha cambiado, ¿por qué?
- La cobertura se relee después de cada ejecución. Si no se ha movido, lee el mensaje debajo de los botones: bloques parciales, un código de denegación o un archivo vacío lo explican.