Caché de barras y pipeline de histórico: caché, cobertura, bróker, directo
Todo gráfico footprint carga sus barras por un único controlador: leer la caché SQLite local, preguntar a la caché qué ventanas faltan, pedir al bróker solo esas, y después aplicar los lotes en directo. La caché se indexa por instrumento canónico y guarda el grano de 1 minuto del que se derivan los marcos intradía.
Senzoukria · Documentación · Actualizado en septiembre de 2026
Dónde encontrarlo
- Fases
- idle → caché → ensure → directo, con un porcentaje de progreso que nunca retrocede durante una misma ejecución
- Grano pivote
- 1 m. Todo marco intradía que divide de forma exacta se suma localmente a partir de las barras de 1 minuto en caché; 1 d y las barras de recuento (100t, tick/volumen/rango/delta) se cachean en su propio grano
- Rango de histórico
- Ajustes del gráfico → «Rango de histórico»: 24 horas (hoy), 3 días, 7 días. Por defecto 24 horas (hoy). La ventana que se pide al bróker es rango × 24 horas hacia atrás desde ahora, con independencia de la zona horaria de visualización; el marco diario mantiene un suelo de 360 horas
- Dónde se gestiona la caché
- Ajustes → «Caché y brókeres» remite a la página Cuenta: «Los feeds de datos, los brókeres y la caché local viven en la página Cuenta.» Ningún control del gráfico borra barras en caché
Qué hace
El controlador de histórico ejecuta la misma secuencia para cualquier fuente de datos. Primero pagina la caché (cache_query_page, 1.000 filas por página, 64 páginas como máximo) para la ventana pedida. Después pregunta a cache_coverage por los huecos dentro de esa ventana y entrega solo esos huecos al bróker (rithmic_history_ensure con el tick size del instrumento). Por último se suscribe a los lotes en directo y los fusiona en el mismo almacén.
Las barras se guardan por marca de tiempo de bucket con una procedencia: synthetic, ohlcv, cache, hist o live. Una regla de fusión decide qué copia gana: una barra real siempre sustituye a una sintética, una barra en directo sustituye al bucket en formación, OHLCV nunca sobrescribe una barra existente, y en los demás casos se conserva la copia con más volumen (y después con más operaciones). Eso es lo que permite que una barra en caché, una barra redescargada y una barra en directo convivan sin duplicar el volumen.
Los símbolos que no son de Rithmic se normalizan a una clave canónica como ESZ6.CME (raíz, código de mes, último dígito del año, mercado) para que «ES 12-26» venido de un bridge y «ESZ6» venido de Rithmic compartan las mismas filas de caché. Los símbolos Rithmic se guardan tal como llegan, con el mercado añadido cuando se conoce.
Ajustes y límites
| Ajuste | Por defecto | Qué cambia |
|---|---|---|
| Rango de histórico (ajustes del gráfico) | 24 horas (hoy) | Ventana pedida a la caché y al bróker: 1, 3 o 7 días × 24 horas hacia atrás desde ahora. La zona horaria de visualización manda sobre el eje, no sobre la cantidad de datos. Sin conexión, la ventana de caché se ancla en la barra cacheada más reciente en lugar del reloj |
| Tope de barras por marco | 15 s/30 s 200 · 1 m 1.500 · 3 m 1.200 · 5 m 2.100 · 15 m 3.000 · 1 h 4.500 · 1 d 400 · 100t 1.500 | Máximo de barras conservadas en memoria; los topes de los marcos en minutos (salvo 1 d) se multiplican por el rango en días |
| Marcos personalizados | De 120 a 1.500 barras (25 horas); 2 h y superiores hasta 4.500 (190 días) | Tope calculado a partir del período cuando el marco no está en la tabla |
| Tick size | Del catálogo de instrumentos | Se pasa al paso ensure; sin él, el backend agrupa sobre la rejilla por defecto y la ventana nunca se marca como cubierta |
| Recargar el histórico | Botón | ⚙ → Ajustes de trading → Recargar el histórico reabre las ventanas que el bróker devolvió con cero ticks; no borra nada |
Cómo usarlo
- Abre el gráfico en el marco que necesitas; el histórico se rellena solo y se queda en disco, así que la próxima apertura lee la caché antes de preguntar al bróker.
- Cambia entre 1 m, 5 m, 15 m y los demás marcos derivables con total libertad: se suman localmente desde el grano de 1 minuto, sin ida y vuelta.
- Amplía el rango de histórico solo cuando haga falta: una semana de footprint de 1 minuto son muchos ticks y la primera carga tarda.
- Cuando un aviso dice que ya hay una carga de histórico en curso o que la carga se ha quedado parada, pulsa Recargar el histórico en los ajustes del gráfico: nada más en la aplicación reabre una ventana que volvió vacía.
Avisos y trampas
- «CME Globex está cerrado» significa que no hay nada nuevo que descargar; las barras en caché siguen en el gráfico y una sesión ya drenada se puede reproducir igualmente.
- Los rechazos con rp_code 13 suelen ser intermitentes; el gráfico sigue funcionando con los datos en caché y en directo, y reintenta por su cuenta.
- «Se desconoce la rejilla de precios de este instrumento» significa que el tick size no está en el catálogo, así que el histórico se vuelve a descargar en cada carga hasta que se añada.
- Una ventana que volvió vacía no se vuelve a pedir nunca de forma automática; Recargar el histórico es lo único que levanta eso.
- La fase ensure tiene un vigilante de parada a los 120 segundos y reintenta contra un backend ocupado tras 3 segundos; el controlador nunca llama a cache_clear ni toca localStorage.
- La ayuda del rango de histórico en Ajustes dice que la ventana se cuenta desde medianoche en la zona horaria elegida; el controlador de histórico pide en realidad rango × 24 horas hacia atrás desde ahora, así que un gráfico abierto a última hora del día puede llevar algo más de un día natural.
Páginas relacionadas
- Descarga del histórico cripto
- Rellenar histórico largo para los backtests
- Glosario: tick size
- Cómo leer un gráfico footprint
Esta página en otros idiomas
Preguntas frecuentes
- ¿Por qué el gráfico muestra barras mientras la barra de progreso sigue avanzando?
- La fase de caché publica las barras en cuanto se leen las páginas (hasta el 25 % del progreso), y después la fase ensure rellena los huecos que el bróker todavía tiene que enviar.
- ¿Puedo borrar la caché para arreglar una carga defectuosa?
- El controlador de histórico nunca llama a cache_clear y el gráfico no ofrece ningún borrado. La palanca es Recargar el histórico en los ajustes del gráfico, que reabre solo las ventanas que devolvieron cero ticks y deja en paz las barras en caché y el flujo en directo.
- ¿Comparten caché el bridge y Rithmic?
- Las filas se indexan por la clave canónica del instrumento, así que un contrato ES de diciembre visto desde un bridge y desde Rithmic apunta a la misma clave cuando el símbolo se puede interpretar.