Pine Script : Codez votre premier indicateur ICT
Fatigué de repérer manuellement les setups ICT ? Ce guide fait le lien entre la théorie et la pratique. Apprenez à coder votre premier indicateur de Fair Value Gap (FVG) avec Pine Script v5 sur TradingView pour automatiser votre analyse et trader avec plus de précision.
Amara Okafor
Stratège Fintech

Imaginez filtrer le bruit des graphiques forex, non pas avec une analyse manuelle sans fin, mais avec un outil personnalisé qui met en évidence pour vous les setups ICT à haute probabilité. De nombreux traders intermédiaires comprennent la puissance des concepts ICT comme les Fair Value Gaps ou les Order Blocks, mais peinent avec leur application subjective et le temps considérable nécessaire pour les identifier de manière cohérente. Et si vous pouviez automatiser cette précision, transformant vos connaissances théoriques en un avantage pratique et un gain de temps ? Il ne s'agit pas de remplacer vos décisions de trading, mais de les renforcer avec des données objectives. Dans ce guide, nous allons combler ce fossé, en vous montrant comment exploiter Pine Script v5 de TradingView pour coder votre tout premier indicateur ICT. Vous apprendrez à automatiser l'identification de figures cruciales de l'action des prix, réduisant le temps d'analyse et apportant un nouveau niveau de cohérence à votre stratégie forex. Préparez-vous à transformer vos connaissances ICT en code exploitable.
Débloquez la précision automatisée : Pine Script v5 et les fondations ICT
Avant de nous lancer dans l'écriture de code, plantons le décor. Pourquoi Pine Script ? Et quel concept ICT spécifique visons-nous ? Comprendre le "pourquoi" derrière les outils et les concepts est ce qui sépare un simple copieur de script d'un trader compétent qui construit son propre avantage.
La puissance de Pine Script v5 pour l'automatisation du Forex
Considérez Pine Script comme un langage spécialisé conçu dans un seul but : créer des outils de trading personnalisés sur TradingView. Il est conçu pour être plus accessible que les langages de programmation généraux comme Python. La version 5, notre sujet d'aujourd'hui, a introduit une syntaxe plus propre et des fonctionnalités plus puissantes, rendant plus facile que jamais la concrétisation de vos idées de trading.
Les avantages clés pour un trader ICT incluent :
- Objectivité : Le code suit des règles, point final. Il élimine de votre analyse la conjecture émotionnelle du type "Est-ce vraiment un FVG ?".
- Efficacité : Un indicateur peut scanner chaque chandelier à la recherche d'un setup en quelques millisecondes, une tâche qui vous prendrait des heures de défilement manuel.
- Backtesting : Une fois codé, vous pouvez évaluer visuellement la fréquence d'apparition de vos setups spécifiques dans le passé, ce qui vous donne une meilleure idée de leur fréquence et de leur comportement.
Si vous avez déjà vu du code Pine Script plus ancien, la v5 a rendu les choses beaucoup plus claires. Par exemple, elle a introduit des fonctions dédiées pour le dessin (box.new(), line.new()) et a amélioré la déclaration des variables (var), rendant les scripts plus robustes et lisibles.
Démystifier les concepts clés de l'ICT : Les Fair Value Gaps (FVG)
Nous commencerons par l'un des concepts les plus fondamentaux de l'ICT : le Fair Value Gap (FVG). C'est un candidat parfait pour l'automatisation car il a une définition claire et basée sur des règles.

Un FVG est une figure de trois chandeliers qui représente une inefficacité ou un déséquilibre sur le marché. Le prix a évolué si rapidement dans une direction qu'il a laissé un "gap" dans la livraison du marché.
- FVG haussier (ou BISI - Buyside Imbalance Sellsise Inefficiency) : Le plus bas du troisième chandelier est au-dessus du plus haut du premier chandelier. Le gap est l'espace entre le plus haut du premier chandelier et le plus bas du troisième.
- FVG baissier (ou SIBI - Sellside Imbalance Buyside Inefficiency) : Le plus haut du troisième chandelier est en dessous du plus bas du premier chandelier. Le gap est l'espace entre le plus bas du premier chandelier et le plus haut du troisième.
Ces zones agissent souvent comme des aimants pour le prix, qui a tendance à les revisiter pour "rééquilibrer" l'action des prix inefficace. Pour une analyse plus approfondie des différents types de gaps de marché, consultez notre guide sur la maîtrise des 3 types de gaps ICT. Pour l'instant, cette figure simple et puissante est tout ce dont nous avons besoin pour commencer à coder.
Votre espace de codage : Configurer TradingView pour l'automatisation ICT
Prêt à mettre les mains dans le cambouis ? Ouvrons l'atelier. TradingView rend cela incroyablement facile. Vous n'avez besoin d'installer aucun logiciel ; tout se passe directement dans votre navigateur.
Naviguer dans l'interface de l'Éditeur Pine
En bas de votre graphique TradingView, vous verrez un onglet intitulé "Éditeur Pine". Cliquez dessus. C'est votre centre de commande. Il peut paraître un peu intimidant, mais il est simple.
- Ouvrez l'Éditeur : Cliquez sur l'onglet "Éditeur Pine".
- Créez un nouveau script : Cliquez sur "Ouvrir" et sélectionnez "Nouvel indicateur vierge".
TradingView remplira l'éditeur avec un code de démarrage de base. Décortiquons-le.
Syntaxe et structure essentielles de Pine Script v5
Chaque indicateur Pine Script v5 a quelques composants de base. Voici le modèle par défaut que vous verrez :
//@version=5
indicator("My script")
plot(close)//@version=5: C'est obligatoire. Cela indique à TradingView d'utiliser la dernière version du langage.indicator("My script"): Cette fonction déclare votre script comme un indicateur. Vous pouvez changer le nom entre guillemets pour quelque chose comme "Mon Détecteur FVG ICT". Ajouteroverlay=trueentre les parenthèses (indicator("Mon FVG", overlay=true)) fera apparaître vos dessins sur le graphique principal au lieu d'un panneau séparé en dessous.plot(close): C'est une fonction simple qui trace une ligne du prix de clôture de chaque barre. Nous allons la supprimer et la remplacer par notre propre logique et nos propres dessins personnalisés.
Pour construire notre détecteur de FVG, nous aurons besoin de deux concepts supplémentaires :

- Variables : Pour stocker des données. Par exemple,
is_bullish_fvg = low[2] > high. Ici,[2]fait référence aux données d'il y a deux chandeliers.high(ouhigh[0]) fait référence au chandelier actuel en cours de formation. - Logique conditionnelle : Pour prendre des décisions. Nous utiliserons une instruction
if:if is_bullish_fvg... alors faire quelque chose, comme dessiner une boîte sur le graphique.
C'est tout pour la configuration. Maintenant, écrivons la logique.
De la théorie au code : Créer votre premier indicateur ICT FVG
C'est ici que la magie opère. Nous allons traduire la définition du FVG de l'anglais courant en Pine Script. Notre objectif est de créer un indicateur qui identifie et dessine automatiquement une boîte autour de chaque FVG.
Identifier les figures FVG avec la logique Pine Script
Partons d'une page blanche dans votre Éditeur Pine. Supprimez le code par défaut et construisons cela étape par étape.
D'abord, la configuration de base :
//@version=5
indicator("FXNX ICT FVG Detector", overlay=true)Ensuite, nous définissons les conditions pour les FVG haussiers et baissiers. Rappelez-vous la règle des 3 chandeliers. En Pine Script, high[1] fait référence au plus haut du chandelier précédent, low[1] au plus bas du chandelier précédent, et ainsi de suite.
// --- LOGIQUE --- //
// Un FVG haussier existe si le plus bas de la barre actuelle est au-dessus du plus haut d'il y a deux barres.
bullish_fvg = high[2] < low
// Un FVG baissier existe si le plus haut de la barre actuelle est en dessous du plus bas d'il y a deux barres.
bearish_fvg = low[2] > highConseil de pro : La logique vérifie
high[2]et lelowactuel (oulow[0]). Cela signifie que le FVG n'est confirmé qu'une fois que le troisième chandelier de la figure se clôture. Le gap lui-même se trouve sur le chandelier du milieu, qui est le chandelier[1].
Visualiser les zones ICT sur votre graphique
Maintenant que nous avons nos variables bullish_fvg et bearish_fvg, qui seront soit true soit false pour chaque chandelier, nous pouvons dire au script de dessiner quelque chose lorsqu'elles sont true.
Nous utiliserons une instruction if et la fonction box.new(). Cette fonction dessine un rectangle sur le graphique.
// --- DESSIN --- //
// Si un FVG haussier est détecté, dessiner une boîte verte.
if bullish_fvg
box.new(
left = bar_index[1],
top = high[2],
right = bar_index,
bottom = low,
bgcolor = color.new(color.green, 80),
border_color = color.new(color.green, 80)
)
// Si un FVG baissier est détecté, dessiner une boîte rouge.
if bearish_fvg
box.new(
left = bar_index[1],
top = high,
right = bar_index,
bottom = low[2],
bgcolor = color.new(color.red, 80),
border_color = color.new(color.red, 80)
)Décortiquons box.new() :
left&right: Les coordonnées x (temps).bar_index[1]est le début du chandelier du milieu, etbar_indexest la fin.

top&bottom: Les coordonnées y (prix). Pour un FVG haussier, la boîte s'étend du plus haut du premier chandelier (high[2]) au plus bas du troisième (low).bgcolor&border_color: Nous définissons la couleur et la transparence (80 est assez transparent).
Voici le script complet, prêt à être copié-collé :
//@version=5
indicator("FXNX ICT FVG Detector", overlay=true)
// --- LOGIQUE --- //
// Un FVG haussier est une figure de 3 barres où il y a un gap entre le plus haut de la 1ère bougie et le plus bas de la 3ème.
bullish_fvg = high[2] < low
// Un FVG baissier est une figure de 3 barres où il y a un gap entre le plus bas de la 1ère bougie et le plus haut de la 3ème.
bearish_fvg = low[2] > high
// --- DESSIN --- //
// Si un FVG haussier est détecté à la clôture de la 3ème barre, dessiner une boîte verte.
if bullish_fvg
box.new(
left = bar_index[1], // Commence la boîte à la bougie du FVG
top = high[2], // Haut du gap
right = bar_index, // Termine la boîte à la bougie actuelle
bottom = low, // Bas du gap
bgcolor = color.new(color.green, 80), // Définit la couleur de fond et la transparence
border_color = color.new(color.green, 80) // Définit la couleur de la bordure
)
// Si un FVG baissier est détecté à la clôture de la 3ème barre, dessiner une boîte rouge.
if bearish_fvg
box.new(
left = bar_index[1], // Commence la boîte à la bougie du FVG
top = high, // Haut du gap
right = bar_index, // Termine la boîte à la bougie actuelle
bottom = low[2], // Bas du gap
bgcolor = color.new(color.red, 80), // Définit la couleur de fond et la transparence
border_color = color.new(color.red, 80) // Définit la couleur de la bordure
)Collez ceci dans votre Éditeur Pine et cliquez sur "Ajouter au graphique". Félicitations, vous venez de coder votre premier indicateur ICT !
Informations exploitables : Appliquer votre indicateur ICT sur les graphiques Forex
Avoir un outil est une chose, savoir l'utiliser en est une autre. Votre graphique est maintenant rempli de boîtes vertes et rouges, mais que signifient-elles réellement pour votre trading ?
Ajouter et configurer votre indicateur personnalisé
Une fois que vous cliquez sur "Ajouter au graphique" dans l'Éditeur Pine, votre détecteur de FVG apparaîtra sur la paire de forex que vous avez sélectionnée, comme EUR/USD. Vous pouvez basculer sa visibilité ou accéder à ses paramètres en cliquant sur le nom de l'indicateur en haut à gauche de votre graphique. Pour ce script simple, il n'y a pas encore de paramètres à configurer, mais c'est là qu'ils se trouveraient si vous ajoutiez des entrées utilisateur.
Interpréter les signaux pour des opportunités de trade
Votre nouvel indicateur est une carte des inefficacités du marché, pas un feu de signalisation pour les entrées. Il met en évidence des zones d'intérêt où vous devriez porter une attention particulière.
- Les FVG comme support/résistance : Les FVG haussiers (verts) agissent souvent comme support. Lorsque le prix retrace dans une boîte verte, il peut rencontrer une pression acheteuse. Inversement, les FVG baissiers (rouges) peuvent agir comme résistance.
- Les FVG comme cibles : Si vous êtes dans un trade vendeur et que le prix baisse, un FVG haussier proche pourrait être un endroit logique pour prendre des bénéfices, car le prix pourrait y stagner ou s'inverser.
- Le contexte est roi : Un FVG haussier apparaissant dans une tendance baissière claire est beaucoup moins fiable qu'un FVG qui se forme après un changement majeur de la structure du marché. Combinez toujours les signaux de l'indicateur avec votre analyse plus large. Le prix est-il haussier ou baissier sur les unités de temps supérieures ? Votre indicateur fournit l'objectivité, mais vous fournissez le contexte. Comprendre l'interaction entre des concepts comme les FVG et d'autres structures est essentiel ; un outil comme un arbre de décision order block vs breaker peut aider à construire cette conscience contextuelle.
Avertissement : Ne prenez jamais un trade basé uniquement sur le signal d'un indicateur. Ce détecteur de FVG est un outil puissant de confluence, aidant à confirmer des idées de trade qui sont déjà soutenues par votre analyse globale du marché.
Au-delà des bases : Affiner votre indicateur ICT et bonnes pratiques
Votre premier indicateur est une étape énorme, mais ce n'est que le début. Comme tout outil, il peut être amélioré et affiné. Il est également important d'être conscient des pièges courants, tant dans le codage que dans l'application.
Erreurs courantes de codage et d'implémentation ICT

- Ignorer le contexte : La plus grande erreur est de traiter chaque FVG comme un setup à haute probabilité. Un FVG créé par une annonce économique à fort impact est différent de celui formé dans un marché calme et en range. Votre code ne peut pas voir les nouvelles ; vous, vous le devez.
- Biais d'anticipation (Look-Ahead Bias) : Une erreur de codage courante consiste à utiliser des données du futur. Notre script utilise correctement les données historiques (
[1],[2]) pour prendre des décisions, s'assurant qu'il ne "triche" pas. Vérifiez toujours vos références de données. - Sur-optimisation : Il est tentant d'ajouter des dizaines de filtres pour essayer de créer un signal "parfait". Cela conduit souvent à un indicateur inutile qui est adapté aux données passées et échoue sur les marchés en direct. Commencez simple et n'ajoutez de la complexité que lorsque vous avez une raison claire. Rappelez-vous, l'application cohérente d'une bonne stratégie est ce qui mène à une croissance composée à long terme, pas un indicateur magique.
Faire évoluer votre indicateur : Prochaines étapes de personnalisation
Considérez votre script comme une fondation. Voici quelques idées pour l'étendre :
- Ajouter des entrées utilisateur : Permettez-vous de changer les couleurs ou d'activer/désactiver les FVG haussiers/baissiers depuis le menu des paramètres en utilisant
input.color()etinput.bool(). - Créer des alertes : Utilisez la fonction
alertcondition()pour recevoir une notification chaque fois qu'un nouveau FVG est formé, afin de ne pas avoir à fixer les graphiques toute la journée. - Filtrer par taille : Ajoutez une condition pour n'afficher que les FVG d'une certaine taille en pips, filtrant ainsi les micro-gaps insignifiants.
- Intégrer d'autres concepts : Pourriez-vous modifier la logique pour détecter les Order Blocks ? Ou pour n'afficher que les FVG qui se produisent après une prise de liquidité ?
Pour un guide complet sur les capacités de Pine Script, le Manuel de l'utilisateur de Pine Script v5 officiel de TradingView est une ressource inestimable. Le voyage dans l'automatisation de votre analyse est un processus continu d'apprentissage, de test et d'affinement.
Vous venez de faire un bond significatif dans votre parcours de trading, passant de l'analyse manuelle à l'automatisation de l'identification de puissants concepts ICT en utilisant Pine Script v5. Nous avons couvert l'essentiel, de la compréhension des capacités de Pine Script et des concepts fondamentaux de l'ICT comme les Fair Value Gaps, à la configuration de votre environnement de développement et au codage de votre premier indicateur personnalisé. La capacité de tracer objectivement ces zones critiques sur vos graphiques réduit la subjectivité, économise un temps précieux et permet une analyse plus cohérente. N'oubliez pas que l'automatisation est un outil pour améliorer votre prise de décision, pas pour la remplacer. La prochaine étape est d'expérimenter : modifiez les paramètres, ajoutez des alertes, ou même intégrez d'autres concepts ICT pour construire un assistant de trading véritablement personnalisé. Pour plus de ressources et de stratégies avancées pour affiner votre avantage en trading automatisé, explorez les outils complets et le contenu éducatif disponibles sur FXNX. Comment l'automatisation de votre analyse ICT transformera-t-elle votre approche du trading ?
Commencez à coder votre premier indicateur ICT dès aujourd'hui ! Expérimentez avec les concepts Pine Script v5 fournis sur TradingView et partagez vos résultats dans les commentaires ci-dessous. Pour des tutoriels Pine Script plus avancés et des stratégies ICT, explorez le blog FXNX.
Foire aux questions
Qu'est-ce qu'un Fair Value Gap (FVG) en ICT ?
Un Fair Value Gap, ou FVG, est une figure de trois chandeliers indiquant un déséquilibre du marché. Il se produit lorsque le prix évolue rapidement, laissant un écart entre la mèche du premier chandelier et la mèche du troisième, une zone que le prix pourrait revisiter plus tard pour se rééquilibrer.
Pine Script est-il difficile à apprendre pour les traders ?
Pine Script est conçu pour être plus accessible que les langages de programmation généraux. Si vous pouvez comprendre la logique de trading (par ex., "si la moyenne mobile croise à la hausse, alors..."), vous pouvez apprendre les bases de Pine Script. Il dispose d'une communauté de soutien et d'une documentation complète pour aider les traders à démarrer.
Puis-je utiliser cet indicateur Pine Script ICT sur MT4/MT5 ?
Non, Pine Script est exclusif à la plateforme TradingView. MetaTrader 4 et 5 utilisent un langage de programmation différent appelé MQL4/MQL5. La logique peut être traduite, mais le code lui-même n'est pas directement compatible.
Comment puis-je ajouter des alertes à mon indicateur FVG ?
Vous pouvez utiliser la fonction alert() ou alertcondition() en Pine Script. Par exemple, après votre bloc if bullish_fvg, vous pourriez ajouter une ligne alert("FVG haussier détecté sur " + syminfo.tickerid, freq = alert.freq_once_per_bar_close) pour créer une alerte personnalisable.
Prêt à trader ?
Rejoignez des milliers de traders sur NX One. Spreads 0.0, 500+ instruments.
À propos de l'auteur

Amara Okafor
Stratège FintechAmara Okafor is a Fintech Strategist at FXNX, bringing a unique perspective from her background in both London's financial district and Lagos's booming fintech scene. She holds an MBA from the London School of Economics and has spent 6 years working at the intersection of traditional finance and digital innovation. Amara specializes in emerging market currencies and African forex markets, writing with insight that bridges global finance with frontier market opportunities.
Traduit par
Yannick Mbeki est Traducteur Junior en Finance chez FXNX. Originaire de Douala au Cameroun, Yannick poursuit actuellement ses études en Finance à l'Université Paris-Dauphine. En tant que stagiaire chez FXNX, il apporte une perspective franco-africaine à la traduction de contenus financiers, veillant à ce que l'éducation forex atteigne les audiences francophones en Europe et en Afrique avec un langage financier précis et culturellement adapté.
Articles Connexes
Continuer la lecture

Order Block vs Breaker : Votre Arbre de Décision
Confus par les Order Blocks, Breakers et zones de Supply/Demand ? Ce guide vous donne un 'Arbre de Décision' simple pour identifier avec confiance la bonne configuration institutionnelle, menant à de meilleures entrées et une meilleure gestion du risque.

Maîtriser les Gaps ICT : 3 types expliqués
Le trading de gaps traditionnel ne fonctionne pas sur le forex. Découvrez comment les Gaps ICT Breakaway, Runaway et Exhaustion — de puissants Fair Value Gaps — vous aident à lire l'intention institutionnelle et à trader les tendances avec plus de confiance.

BOS vs CHoCH : Maîtrisez les changements de structure du Forex
Distinguez un véritable changement de structure de marché (CHoCH) d'une simple continuation de tendance (BOS). Ce guide révèle les secrets des Smart Money Concepts pour vous aider à trader avec précision.

Les Meilleurs Indicateurs SMC pour TradingView (Gratuits & Payants)
Débordé par la détection manuelle des figures SMC ? Ce guide va à l'essentiel et révèle les meilleurs indicateurs SMC gratuits et premium sur TradingView pour automatiser votre analyse et améliorer votre régularité.

Indicateur ADX : Maîtrisez la force de la tendance sur le Forex
Arrêtez de trader des tendances qui s'essoufflent. L'indicateur ADX mesure la véritable force d'une tendance, vous aidant à confirmer des configurations à haute probabilité et à éviter les signaux faibles. Ce guide décortique l'ADX, le +DI et le -DI pour des entrées et sorties plus intelligentes.

Graphiques Renko : Éliminez le Bruit du Marché, Voyez des Tendances Claires
Submergé par les mouvements erratiques et les faux signaux ? Les graphiques Renko filtrent le bruit du marché en se concentrant sur le mouvement des prix, pas sur le temps. Ce guide vous montre comment les utiliser pour voir des tendances plus claires, trouver de meilleures entrées et trader avec plus de confiance.