Cache des barres et pipeline d'historique : cache, couverture, broker, live
Chaque chart footprint charge ses barres par un seul contrôleur : lire le cache SQLite local, demander au cache quelles fenêtres manquent, ne récupérer que celles-là chez le broker, puis appliquer les lots live. Le cache est indexé sur un instrument canonique et stocke le grain 1 minute d'où sont dérivées les unités de temps intraday.
Senzoukria · Documentation · Mis à jour en septembre 2026
Où le trouver
- Phases
- idle → cache → ensure → live, rapportées avec un pourcentage de progression qui ne recule jamais au cours d'une exécution
- Grain pivot
- 1 m. Toute unité de temps intraday qui divise proprement est sommée localement depuis les barres 1 minute en cache ; le 1 j et les barres de comptage (100 t, tick/volume/range/delta) sont mis en cache à leur propre grain
- Profondeur d'historique
- Réglages du chart → « Profondeur d'historique » : 24 heures (aujourd'hui), 3 jours, 7 jours. Par défaut 24 heures (aujourd'hui). La fenêtre demandée au broker vaut profondeur × 24 heures en arrière depuis maintenant, indépendamment du fuseau d'affichage ; l'unité journalière conserve un plancher de 360 heures
- Où se gère le cache
- Réglages → « Cache et brokers » renvoie à la page Compte : « Les flux de données, les brokers et le cache local vivent sur la page Compte. » Aucun contrôle du chart ne supprime des barres en cache
Ce qu'il fait
Le contrôleur d'historique déroule la même séquence pour toutes les sources de données. Il pagine d'abord le cache (cache_query_page, 1 000 lignes par page, 64 pages au maximum) sur la fenêtre demandée. Puis il interroge cache_coverage pour connaître les trous à l'intérieur de cette fenêtre et ne confie que ces trous au broker (rithmic_history_ensure, avec le pas de cotation de l'instrument). Enfin il s'abonne aux lots live et les fusionne dans le même store.
Les barres sont stockées par horodatage de bucket avec une provenance : synthetic, ohlcv, cache, hist ou live. Une règle de fusion décide quelle copie l'emporte : une barre réelle remplace toujours une barre synthétique, une barre live remplace le bucket en formation, l'OHLCV n'écrase jamais une barre existante, et sinon c'est la copie au plus gros volume (puis au plus grand nombre de transactions) qui est gardée. C'est ce qui permet à une barre en cache, une barre re-téléchargée et une barre live de cohabiter sans doubler le volume.
Les symboles non-Rithmic sont normalisés vers une clé canonique du type ESZ6.CME (racine, code de mois, dernier chiffre de l'année, place) pour que « ES 12-26 » venu d'un bridge et « ESZ6 » venu de Rithmic partagent les mêmes lignes de cache. Les symboles Rithmic sont stockés tels qu'envoyés, la place étant ajoutée quand elle est connue.
Réglages et limites
| Réglage | Par défaut | Ce qu'il change |
|---|---|---|
| Profondeur d'historique (réglages du chart) | 24 heures (aujourd'hui) | Fenêtre demandée au cache et au broker : 1, 3 ou 7 jours × 24 heures en arrière depuis maintenant. Le fuseau d'affichage gouverne l'axe, pas la quantité de données. Hors ligne, la fenêtre de cache s'ancre sur la barre la plus récente en cache plutôt que sur l'horloge |
| Plafond de barres par unité de temps | 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 j 400 · 100 t 1 500 | Nombre maximal de barres gardées en mémoire ; les plafonds des unités en minutes (sauf le 1 j) sont multipliés par la profondeur en jours |
| Unités de temps personnalisées | 120 à 1 500 barres (25 heures), 2 h et au-delà jusqu'à 4 500 (190 jours) | Plafond calculé depuis la période quand l'unité de temps n'est pas dans la table |
| Pas de cotation | Depuis le catalogue d'instruments | Transmis à l'étape ensure ; sans lui, le backend regroupe sur la grille par défaut et la fenêtre n'est jamais marquée couverte |
| Recharger l'historique | Bouton | ⚙ → Réglages de trading → Recharger l'historique rouvre les fenêtres que le broker a drainées à zéro tick ; il n'efface rien |
Comment s'en servir
- Ouvrez le chart sur l'unité de temps voulue ; l'historique se remplit tout seul et reste sur le disque, si bien que la prochaine ouverture lit le cache avant d'appeler le broker.
- Passez librement de 1 m à 5 m, 15 m et aux autres unités dérivables : elles sont sommées localement depuis le grain 1 minute, sans aller-retour.
- N'élargissez la Profondeur d'historique qu'en cas de besoin : une semaine de footprint à la minute représente beaucoup de ticks et le premier chargement prend du temps.
- Quand un avis signale qu'un autre chargement d'historique tourne ou que le chargement s'est enlisé, pressez Recharger l'historique dans les réglages du chart — rien d'autre dans l'application ne rouvre une fenêtre revenue vide.
Avis et pièges
- « CME Globex est fermé » signifie qu'il n'y a rien de nouveau à télécharger ; les barres en cache restent sur le chart et une séance drainée peut toujours être rejouée.
- Les refus rp_code 13 sont le plus souvent intermittents ; le chart continue sur les données en cache et en direct, et réessaie de lui-même.
- « La grille de prix de cet instrument est inconnue » signifie que le pas de cotation n'est pas au catalogue : l'historique est donc re-téléchargé à chaque chargement tant qu'il n'y est pas ajouté.
- Une fenêtre revenue vide n'est jamais redemandée automatiquement ; Recharger l'historique est la seule chose qui lève cela.
- La phase ensure a un chien de garde d'enlisement de 120 secondes et réessaie après 3 secondes quand le backend est occupé ; le contrôleur n'appelle jamais cache_clear et ne touche pas au localStorage.
- L'aide de la Profondeur d'historique dans les Réglages dit que la fenêtre est comptée depuis minuit dans le fuseau choisi ; le contrôleur d'historique demande plutôt profondeur × 24 heures en arrière depuis maintenant, si bien qu'un chart ouvert tard dans la journée peut porter un peu plus qu'une journée calendaire.
Pages liées
- Téléchargement de l'historique crypto
- Remplir un long historique pour les backtests
- Glossaire : pas de cotation
- Comment lire un chart footprint
Cette page dans d’autres langues
Questions fréquentes
- Pourquoi le chart affiche-t-il des barres alors que la barre de progression avance encore ?
- La phase cache publie les barres dès que les pages sont lues (jusqu'à 25 % de la progression), puis la phase ensure comble les trous que le broker doit encore envoyer.
- Puis-je vider le cache pour réparer un mauvais chargement ?
- Le contrôleur d'historique n'appelle jamais cache_clear et le chart n'offre aucun effacement. Le levier est Recharger l'historique dans les réglages du chart, qui rouvre uniquement les fenêtres revenues à zéro tick et laisse intacts les barres en cache et le flux live.
- Les caches bridge et Rithmic sont-ils partagés ?
- Les lignes sont indexées sur la clé d'instrument canonique : un contrat ES décembre vu depuis un bridge et depuis Rithmic tombe sur la même clé dès lors que le symbole est analysable.