Introduction
Sans outils de trading fiables, il est impossible de réaliser une analyse technique de haute qualité. Une stratégie de trading solide vous aidera à éviter les erreurs courantes, à gérer les risques plus efficacement et à trouver et exécuter davantage d'opportunités de trading.
Pour la plupart des traders, TradingView est une plateforme populaire pour l'analyse graphique. Application Web HTML5 riche en fonctionnalités qui offre une variété d'outils d'analyse technique, elle est utilisée par des millions d'utilisateurs pour suivre les mouvements du forex, des crypto-monnaies et des marchés boursiers traditionnels.
TradingView offre une gamme de fonctionnalités puissantes, vous permettant de suivre les actifs sur plusieurs plateformes de trading et de partager des idées de trading sur le réseau social de TradingView. Dans cet article, nous examinerons les options de personnalisation de TradingView. Nous utiliserons Pine Script, un langage de programmation TradingView qui fournit un contrôle granulaire sur la disposition des graphiques.
Commençons!
Qu’est-ce que Pine Script ?
Pine Script est un langage de script qui vous permet de personnaliser les graphiques sur TradingView. La plate-forme vous offre déjà de nombreuses fonctionnalités pour cela, mais Pine Script vous permet d'étendre les capacités. Que vous souhaitiez changer les couleurs des bougies ou tester une nouvelle stratégie, vous pouvez personnaliser vos graphiques en temps réel comme vous le souhaitez avec l'éditeur Pine.
Une documentation détaillée est disponible sur le site, vous pouvez donc toujours vous référer au manuel d'utilisation pour des instructions détaillées. Dans cet article, nous aimerions couvrir les bases de Pine Script et montrer comment créer des indicateurs qui peuvent être utiles lors du trading de crypto-monnaie.
Installation
Démarrer avec Pine Script est très simple. Tout le code que nous écrivons s'exécute sur les serveurs TradingView, et nous avons accès à un éditeur de code et pouvons écrire des scripts directement dans le navigateur - pas besoin de télécharger des applications tierces ni de configurer quoi que ce soit.
Dans ce didacticiel, nous tracerons la paire de devises Bitcoin/Binance USD (BTCBUSD). Si vous n'êtes pas déjà inscrit sur TradingView, créez un compte gratuit (un abonnement professionnel est également disponible, mais n'est pas nécessaire pour cet article).
Suivez ce lien et vous verrez un graphique comme celui-ci :

Votre emploi du temps doit être plus à jour.
Nous avons besoin d'un horaire détaillé - pour y accéder, cliquez sur le bouton indiqué. Nous verrons des graphiques, des outils de dessin et des outils de courbe de tendance plus détaillés.

Calendrier détaillé. Dans le panneau au-dessus des onglets sélectionnés, vous pouvez définir les délais souhaités.
Nous n'aborderons pas maintenant l'utilisation des différents outils disponibles, mais si vous êtes sérieux en matière d'analyse technique, alors nous vous recommandons fortement de vous familiariser avec eux. En bas à gauche (mis en évidence dans l'image), il y a plusieurs onglets - cliquez sur Pine Editor.
Éditeur de pin

Cet éditeur est l'endroit où la vraie magie opère. Pour voir le résultat, vous devez rédiger des instructions dans l'éditeur, puis cliquer sur le bouton « Ajouter au graphique ». Attention : si vous appliquez plusieurs indicateurs personnalisés en même temps, le graphique peut devenir compliqué, nous les supprimerons donc entre les exemples (bouton droit de la souris sur le graphique > Supprimer les indicateurs).
Comme vous pouvez le voir, nous avons déjà quelques lignes de code. Cliquons sur le bouton "Ajouter au graphique" et voyons ce qui se passe.

Un deuxième est apparu sous le graphique original. Le nouveau graphique présente les mêmes données. Pour supprimer le deuxième graphique, survolez Mon script et cliquez sur la croix. Regardons maintenant le code.
étude("Mon script")La première ligne précise le nom du graphique. Cela nécessite uniquement le nom de l'indicateur (dans ce cas "Mon Script"), mais vous pouvez également définir des paramètres supplémentaires. L'un d'eux est la superposition. Cela signifie placer l'indicateur sur un graphique existant (plutôt que dans un nouveau segment). Comme nous pouvons le voir dans le premier exemple, il est défini sur false par défaut. Nous ne testerons pas cela maintenant, mais définir overlay=true ajoutera l'indicateur au graphique existant.
terrain(fermer)Cette ligne est une instruction pour tracer le prix de clôture du Bitcoin ; plot spécifie un graphique linéaire, mais nous pouvons ajouter des bougies et des barres.
Considérons maintenant l'exemple suivant :
//@version=4 étude("Mon Script", overlay=true) plot(open, color=color.purple)En ajoutant cette ligne à l'éditeur, vous devriez voir un deuxième graphique (qui ressemble à l'original, mais décalé vers la droite). Nous avons tracé le cours d'ouverture, et puisque l'ouverture du jour en cours est la clôture de la veille, il est logique que les graphiques aient la même forme.
Super! Supprimons les graphiques que nous avons créés (rappelez-vous que pour ce faire, vous devez faire un clic droit sur le graphique et sélectionner « Supprimer les indicateurs »). Pour effacer le graphique actuel, survolez le graphique Bitcoin/BUSD et cliquez sur le bouton Masquer.
De nombreux traders utilisent des graphiques en chandeliers car ils fournissent plus d'informations que les graphiques classiques (comme celui que nous venons de créer). Ajoutons maintenant des bougies au graphique.
//@version=4 Study("Mon Script", overlay=true) plotcandle(ouvrir, haut, bas, fermer)C'est mieux, mais à cause du manque de couleurs, le graphique est inexpressif. Idéalement, nous devons dessiner des bougies rouges si le cours d'ouverture sur la période est supérieur au cours de clôture, et vertes si le cours de clôture est supérieur au cours d'ouverture. Ajoutons une ligne au-dessus de la fonction plotcandle() :
//@version=4 study("Mon Script", overlay=true) colours = open >= close ? color.red : color.green plotcandle (ouvrir, haut, bas, fermer)Dans cette ligne, nous parcourons toutes les bougies et vérifions : le prix d'ouverture est-il supérieur ou égal au prix de clôture ? Si tel est le cas, alors le prix a baissé au cours de la période et la bougie sera rouge. Sinon – vert. Pour ajouter un jeu de couleurs, modifiez la fonction plotcandle() comme indiqué ci-dessous :
//@version=4 étude("Mon Script", overlay=true) couleurs = ouvrir >= fermer ? color.red : color.green plotcandle (ouvrir, haut, bas, fermer, couleur = couleurs)Si vous ne l'avez pas déjà fait, supprimez le graphique précédent et ajoutez-en un nouveau. Nous devrions maintenant avoir un graphique en chandeliers régulier.

Merveilleux!
Construire des moyennes mobiles (MA)
Nous avons couvert quelques bases. Passons à la création de notre premier indicateur personnalisé, la moyenne mobile exponentielle, ou EMA. Il s’agit d’un indicateur précieux car il filtre le bruit du marché et lisse les mouvements de prix.
L'EMA diffère de la moyenne mobile simple (SMA) en ce sens qu'elle accorde plus de poids aux données récentes. L'EMA réagit plus activement aux mouvements inattendus du marché et est souvent utilisée dans des stratégies à court terme (par exemple, le trading intrajournalier).
Moyenne mobile simple (SMA)
Nous pouvons tracer le SMA puis le comparer avec l'EMA. Ajoutez la ligne suivante au script :
plot(sma(fermer, 10))Cette ligne affichera la moyenne des 10 jours précédents. Vous pouvez définir différentes valeurs de période entre parenthèses et voir comment la courbe évolue.

SMA pour les 10 jours précédents
Moyenne mobile exponentielle (EMA)
EMA est un peu plus difficile à comprendre, mais ne vous inquiétez pas. Regardons d'abord la formule :
EMA = (cours de clôture - EMA de la veille) * multiplicateur - EMA de la veilleQue dit cette formule ? Pour chaque jour, nous calculons une nouvelle moyenne mobile basée sur la précédente. Le multiplicateur est le « poids » de la période précédente, qui est calculé selon la formule suivante :
multiplicateur = 2 / (période EMA + 1)Comme dans le cas d'une moyenne mobile simple, vous devez préciser la période de construction de l'EMA. La syntaxe de la fonction EMA est similaire à celle de la fonction SMA. Pour plus de clarté, traçons un graphique EMA à côté du SMA :
//@version=4 étude("Mon script", overlay=true) plot(sma(close, 10)) plot(ema(close,10))
Différence entre SMA et EMA
➟ Vous vous demandez par où commencer à travailler avec les crypto-monnaies ? Achetez du Bitcoin sur Binance !
Scripts intégrés
Jusqu'à présent, nous écrivions le code manuellement pour le comprendre plus en détail. Mais explorons un outil qui nous fera gagner du temps, surtout si nous écrivons des scripts plus complexes et que nous ne voulons pas le faire à partir de zéro.
Dans le coin supérieur droit de l'éditeur, cliquez sur le bouton « Nouveau ». Un menu déroulant apparaîtra avec divers indicateurs techniques. Pour voir le code source de l'indicateur EMA, cliquez sur l'élément « Moyenne mobile exponentielle ».

Ajouter du code au graphique
Le code du modèle sera différent de ce que nous avons écrit – faites attention aux fonctions input(). Ils sont pratiques car vous pouvez cliquer dans le coin supérieur gauche du graphique...

...et dans la fenêtre contextuelle, il est facile de modifier certaines valeurs en appuyant sur la molette des paramètres.

Pour démontrer cela, nous ajouterons deux fonctions input() au script suivant.
Construction de l'indicateur Relative Strength Index (RSI)
L'indice de force relative (RSI) est un autre indicateur clé de l'analyse technique. C’est ce qu’on appelle un indicateur de momentum. Cela signifie qu'il affiche le taux auquel les actifs sont achetés et vendus. L'indice RSI, situé sur une échelle de 0 à 100, indique aux traders si un actif est suracheté ou survendu. Généralement, un actif est considéré comme survendu si le RSI est inférieur ou égal à 30, et suracheté si le RSI est supérieur ou égal à 70.
Vous pouvez le vérifier vous-même – allez dans le menu Nouveau > Stratégie RSI. Le RSI est généralement mesuré sur des périodes de 14 unités (c'est-à-dire 14 heures ou 14 jours), mais vous pouvez personnaliser ce paramètre en fonction de votre propre stratégie.
Ajoutez-le au graphique. Vous devriez voir des flèches (définies dans le code par la fonction stratégie.entry()). RsiLE indique le potentiel d'une position longue sur un actif tel qu'il peut être revendu. RsiSE indique également la possibilité de vendre à découvert un actif car il peut être suracheté. Attention : comme pour tous les indicateurs, vous ne devez pas vous y fier pour garantir que les prix vont baisser/augmenter.
Stratégies de test
Nous pouvons tester nos propres indicateurs. Bien que les performances sur les données historiques ne garantissent pas les résultats futurs, tester les scripts sur les données historiques peut vous donner une idée de leur efficacité dans le suivi des signaux.
Prenons un script simple comme exemple. Créons une stratégie simple dans laquelle nous entrerons dans une position longue lorsque le prix du BTC tombe en dessous de 11 000 $ et clôturerons la position lorsque le prix dépasse 11 300 $. Nous pouvons voir à quel point cette stratégie est rentable lorsqu’elle est appliquée à l’historique du marché.
//@version=4 stratégie("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) price = close if (price <= enter) strategy.entry("BuyTheDip", stratégie.long , comment="BuyTheDip") if (prix >= sortie) stratégie.close_all(comment="SellTheNews")Ici, nous avons défini les niveaux d'entrée et de sortie en tant que variables - les deux sont des entrées, ce qui signifie que nous pouvons ensuite les modifier sur le graphique. Nous avons également créé une variable de prix qui prend la valeur de clôture de chaque période. La logique est présentée sous la forme d’instructions if. Si la partie entre parenthèses est vraie, alors le bloc avec une indentation en dessous sera exécuté. Sinon, il sera ignoré.
Ainsi, si le prix est inférieur ou égal à la valeur d’entrée souhaitée, la première expression est évaluée comme vraie et nous prenons une position longue. Lorsque le prix est égal ou supérieur à la valeur de sortie souhaitée, le deuxième bloc sera déclenché, fermant toutes les positions ouvertes.
De plus, sur le graphique, nous avons indiqué avec des flèches les lieux d'entrée et de sortie des positions. Nous avons marqué ces points avec un paramètre de commentaire (dans cet exemple "BuyTheDip" et "SellTheNews"). Copiez le code et ajoutez-le au graphique.

Indicateurs sur le graphique. Vous pouvez effectuer un zoom arrière
TradingView applique automatiquement vos règles aux données plus anciennes. Veuillez noter que vous êtes passé de Pine Editor à l'onglet Strategy Tester. Ici, vous pouvez analyser le profit potentiel, consulter la liste des transactions et les performances de chaque transaction.

Postes ouverts et fermés
Résumons-le
Nous pouvons désormais écrire notre propre script à l'aide d'outils familiers. Nous combinerons l'EMA et le RSI sur le même graphique, puis utiliserons leurs valeurs pour colorer les bougies afin de créer des informations facilement visualisables.
Les résultats du graphique ne constituent pas un conseil financier – il n’existe aucune manière objectivement correcte de l’utiliser. Comme d’autres indicateurs, il doit être utilisé conjointement avec d’autres outils pour développer votre propre stratégie.
Écrivons notre nouveau script. Pour disposer d'un espace libre avec lequel travailler, supprimez les indicateurs précédents du graphique et masquez le graphique Bitcoin/BUSD.
Commençons par définir notre étude. Nommez-le comme vous le souhaitez, en vous assurant simplement que overlay=true.
étude(titre="Script de la Binance Academy", overlay=true)Rappelons la formule EMA que nous avons décrite ci-dessus. Nous devons déterminer le multiplicateur pour la période EMA. Faisons-en une variable (entrée) qui est un entier (c'est-à-dire sans décimales). Nous définirons également le minimum (minval) et la valeur par défaut (defval).
étude(titre="Binance Academy Script", overlay=true) emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0)En utilisant cette nouvelle variable, nous pouvons calculer la valeur EMA pour chaque bougie :
étude(titre="Binance Academy Script", overlay=true) emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)Bien. Passons maintenant au RSI. Fixons sa période de la même manière :
étude(titre="Binance Academy Script", overlay=true) emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Longueur RSI", type=input.integer, defval=25, minval=0)Maintenant on peut le calculer :
étude(titre="Binance Academy Script", overlay=true) emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="RSI Longueur", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength)À ce stade, définissons la logique qui colore les bougies en fonction des valeurs EMA et RSI. Considérons la situation où le prix de clôture de la bougie dépasse l'EMA (a) et lorsque le RSI est supérieur à 50 (b).
Pourquoi exactement ces conditions ? Ces indicateurs peuvent être utilisés ensemble pour vous indiquer quand prendre une position longue ou courte sur Bitcoin. Par exemple, si les deux conditions sont remplies, cela peut signifier que c’est le bon moment pour ouvrir une position longue. Ou, à l’inverse, vous pouvez utiliser cet indicateur pour comprendre quand ne pas être short, même si d’autres indicateurs disent le contraire.
La ligne suivante de notre script ressemblera à ceci :
étude(titre="Binance Academy Script", overlay=true) emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="RSI Longueur", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) couleurs = close > emaVal et rsiVal > 50 ? couleur.vert : couleur.rougeSi nous traduisons le code dans un langage normal, il s'avère que si la valeur EMA dépasse le cours de clôture et que la valeur RSI dépasse 50, nous colorons la bougie en vert. Sinon la couleur sera rouge.
On ajoute l'EMA :
étude(titre="Binance Academy Script", overlay=true) emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="RSI Longueur", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) couleurs = close > emaVal et rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA")Enfin, dessinons les bougies en ajoutant un paramètre de couleur :
étude(titre="Binance Academy Script", overlay=true) emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="RSI Longueur", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) couleurs = close > emaVal et rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA") plotcandle(ouvrir, haut, bas, fermer, couleur=couleurs)Voici l'intégralité de notre scénario ! Pour le voir en action, ajoutez-le à votre graphique.

Graphique BTC/BUSD avec indicateur EMA/RSI.
Résumé
Dans cet article, nous avons examiné quelques exemples simples d'utilisation de Pine Editor de TradingView. À présent, si vous avez terminé nos exemples, vous pouvez déjà créer des légendes simples pour les graphiques de prix et obtenir des informations supplémentaires à partir de vos propres indicateurs.
Dans cet article, nous n'avons abordé que quelques indicateurs, mais vous pouvez analyser vous-même les plus complexes, soit en sélectionnant les scripts intégrés dans la liste Nouveau, soit en les écrivant vous-même.
En quête d'inspiration ? Vous pouvez trouver des idées pour votre prochain projet à partir des articles ci-dessous :
Un guide rapide sur l'utilisation d'un système SAR parabolique
Un guide d'utilisation des lignes de Fibonacci
Indicateurs avancés et retardés
Qu'est-ce que l'indicateur MACD

