Lookahead bias (biais d'anticipation)
Le lookahead bias (biais d'anticipation) survient lorsqu'un calcul utilise une information qui n'était pas encore disponible à ce moment-là. La source habituelle est une valeur d'un timeframe supérieur demandée avant la clôture de cette barre. Il produit des signaux et des backtests impossibles à reproduire en temps réel. En Pine Script, request.security avec lookahead_on laisse fuiter le futur ; lookahead_off ne renvoie que la dernière barre clôturée du timeframe supérieur.

Ce que cela signifie
Le lookahead bias est le péché originel du backtesteur : laisser le passé voir le futur. Sur les graphiques, il apparaît surtout via les requêtes sur un timeframe supérieur. Si un graphique 15 minutes demande la clôture journalière et reçoit la clôture du jour alors que la séance est encore en cours, chaque barre de 15 minutes « sait » où la journée va finir. Les signaux construits sur cette base paraissent prophétiques dans l'historique et échouent en temps réel.
En Pine Script, l'interrupteur est explicite : `request.security(..., lookahead=barmerge.lookahead_on)` laisse fuiter le futur ; `lookahead_off` ne renvoie que la dernière barre clôturée du timeframe supérieur. Parmi les autres sources : utiliser le plus haut ou le plus bas de la barre comme prix d'entrée (impossible de connaître le plus haut avant la clôture de la barre) et tracer les pivots sur la barre du pivot plutôt qu'au moment de leur confirmation.
Le lookahead est le mécanisme à l'origine d'une grande partie du repainting, ainsi que des backtests aux rendements absurdes. Tout résultat de stratégie devrait être vérifié sur ce point avant de croire les chiffres.
Comment l'identifier sur un graphique
- Dans le code, cherchez `lookahead_on` ainsi que les exécutions au `high`/`low` de la barre de signal.
- Dans les backtests, méfiez-vous des taux de réussite ou des ratios de Sharpe bien au-delà de tout ce que le marché délivre.
- En bar replay, vérifiez si les valeurs du timeframe supérieur affichées sur le graphique changent à la clôture de ce timeframe.
Exemple concret
Une stratégie achète la clôture 5 minutes chaque fois que la bougie 4 heures est verte — mais lit le 4 heures avec lookahead activé. Dans l'historique, elle achète au début de chaque bougie 4 heures verte ; en temps réel, elle ne peut pas savoir que la bougie est verte avant sa clôture. Le backtest ne vaut rien.
Voyez-le sur le graphique, approfondissez-le
Questions fréquentes
Le lookahead est-il la même chose que le repainting ?
Le lookahead est l'une des causes du repainting ; le repainting en est l'effet visible. On peut aussi repeindre sans lookahead, en utilisant la barre non clôturée.
Le lookahead est-il parfois légitime ?
Uniquement pour aligner des données historiques à l'affichage lorsque le décalage est corrigé explicitement ; jamais pour des signaux ou des entrées.
Comment les scripts Quantum Algo l'évitent-ils ?
Chaque requête sur un timeframe supérieur utilise lookahead off et lit la barre précédente clôturée.
Comment vérifier un backtest sur ce point ?
Rejouez-le barre par barre ; si les signaux historiques ne pouvaient pas être connus au moment voulu, le test comporte du lookahead.
Termes associés
Voir le lookahead bias sur votre graphique TradingView
Zeno lit la structure Smart Money sur plusieurs timeframes et affiche l'entrée, le stop et les objectifs — avec un historique public de chaque trade publié. Les indicateurs gratuits tracent les concepts que cette page définit.