Introduction
Sans les bons outils de trading, vous ne pouvez pas effectuer d’analyse technique efficace. Une stratégie de trading solide vous aidera à éviter les erreurs courantes, à améliorer votre gestion des risques et à accroître votre capacité à identifier et à tirer parti des opportunités.
Pour beaucoup, TradingView est la plateforme de cartographie incontournable. Offrant une plateforme d'outils d'analyse technique, la puissante application Web HTML5 est utilisée par des millions de personnes pour suivre les mouvements du Forex, des crypto-monnaies et des marchés boursiers traditionnels.
TradingView possède de nombreuses fonctionnalités puissantes : il nous permet de suivre les actifs sur de nombreuses plateformes de trading et de publier des idées de trading sur son réseau social. Dans cet article, nous nous concentrerons sur sa personnalisation. Nous utiliserons Pine Script, le propre langage de programmation de TradingView, qui nous accorde un contrôle granulaire sur la présentation de nos graphiques.
Commençons!
Qu’est-ce que Pine Script ?
Pine Script est un langage de script qui peut être utilisé pour modifier vos graphiques TradingView. La plateforme vous offre déjà de nombreuses fonctionnalités pour ce faire, mais Pine Script vous permet d'aller plus loin. Que vous souhaitiez changer les couleurs de vos chandeliers ou backtester une nouvelle stratégie, Pine Editor vous permettra de personnaliser vos graphiques en temps réel comme bon vous semble.
Le code lui-même est parfaitement documenté, alors assurez-vous de consulter le manuel d'utilisation pour plus d'informations. Notre objectif dans ce didacticiel est de discuter de certaines bases et de présenter des indicateurs qui peuvent s'avérer utiles pour le trading de cryptomonnaies.
Mise en place
C'est incroyablement simple de démarrer avec Pine Script. Tout code que nous écrivons est exécuté sur les serveurs de TradingView, nous pouvons donc accéder à l'éditeur et développer nos scripts à partir d'un navigateur – sans aucun téléchargement ni configuration supplémentaire requis.
Dans ce didacticiel, nous allons tracer la paire de devises Bitcoin/Binance USD (BTCBUSD). Si vous n’en avez pas déjà un, créez un compte gratuit (un abonnement pro est également disponible, mais ce n’est pas nécessaire pour ce guide).
Suivez ce lien et vous verrez un graphique ressemblant à celui-ci :

Le vôtre sera probablement plus à jour.
Ici, nous voulons obtenir le graphique complet – cliquez sur le bouton pour y accéder. Cela nous donne une vue beaucoup plus détaillée, des outils de dessin et des options pour tracer des lignes de tendance, entre autres.

Le tableau complet. Vous pouvez ajuster le délai en cliquant sur les vues au-dessus des onglets en surbrillance.
Nous n’aborderons pas la manière d’utiliser les différents outils disponibles, mais si vous êtes sérieux en matière d’analyse technique, nous vous conseillons vivement de vous familiariser avec eux. En bas à gauche (décrit dans l'image), vous verrez quelques onglets différents – cliquez sur Pine Editor.
L'éditeur de pins

Cet éditeur est l'endroit où la magie opère. Nous lui dirons ce que nous voulons faire, puis cliquerons sur Ajouter au graphique pour voir nos annotations apparaître ci-dessus. Notez que les choses peuvent devenir compliquées si nous incluons plusieurs annotations à la fois, nous les supprimerons donc entre les exemples (clic droit dans le graphique > Supprimer les indicateurs).
Vous pouvez voir que nous y avons déjà quelques lignes de code. Cliquons sur Ajouter au graphique pour voir ce qui se passe.

Un deuxième graphique est ajouté sous l'original. Le nouveau graphique représente les mêmes données. Passez la souris sur Mon script et cliquez sur la croix pour la supprimer. Maintenant, examinons le code.
étude("Mon script")Cette première ligne configure simplement notre annotation. Il nécessite uniquement le nom que vous souhaitez appeler l'indicateur ("Mon Script", dans ce cas), mais nous pouvons également ajouter quelques paramètres facultatifs. L'une d'entre elles est la superposition, qui indique à TradingView de placer l'indicateur sur le graphique existant (plutôt que dans un nouveau segment). Comme vous pouvez le voir dans notre premier exemple, la valeur par défaut est false. Bien que nous ne le voyons pas en action maintenant, overlay=true ajoute l'indicateur au graphique existant.
terrain(fermer)Cette ligne est l’instruction pour tracer le prix de clôture du Bitcoin. plot nous donne simplement un graphique linéaire, mais nous pouvons également afficher des chandeliers et des barres, comme nous le verrons bientôt.
Maintenant, essayons ce qui suit :
//@version=4
étude("Mon script", overlay=true)
plot(ouvert, couleur=color.purple)Une fois que vous avez ajouté ceci, vous devriez voir un deuxième graphique (qui ressemble à l'original décalé vers la droite). Tout ce que nous avons fait, c'est tracer le prix d'ouverture, et puisque l'ouverture du jour en cours est la clôture de la veille, il est logique que ceux-ci aient une forme identique.
D'accord! Débarrassons-nous des annotations actuelles (rappelez-vous, nous faisons cela en cliquant avec le bouton droit et en appuyant sur Supprimer les indicateurs). Passez la souris sur Bitcoin/BUSD et cliquez sur le bouton Masquer pour effacer également le graphique actuel.
De nombreux traders préfèrent les graphiques en chandeliers car ils nous donnent plus d'informations qu'un simple graphique comme celui que nous venons de faire. Ajoutons-les ensuite.
//@version=4
étude("Mon script", overlay=true)
plotcandle(ouvrir, haut, bas, fermer)C’est un bon début, mais le manque de couleurs le rend un peu fade. Idéalement, nous devrions avoir des bougies rouges lorsque l'ouverture est supérieure à la clôture pour la période donnée, et des bougies vertes si la clôture dépasse l'ouverture. Nous allons ajouter une ligne au-dessus de la fonction plotcandle() :
//@version=4
étude("Mon script", overlay=true)
couleurs = ouvrir >= fermer ? couleur.rouge : couleur.vert
plotcandle(ouvrir, haut, bas, fermer)Celui-ci examine chaque chandelier et vérifie si l'ouverture est supérieure ou égale à la clôture. Si tel est le cas, cela signifie que les prix ont baissé sur la période, cela colorera donc le chandelier en rouge. Sinon, il le colorera en vert. Modifiez la fonction plotcandle() pour transmettre ce jeu de couleurs :
//@version=4
étude("Mon script", overlay=true)
couleurs = ouvrir >= fermer ? couleur.rouge : couleur.vert
plotcandle (ouvrir, haut, bas, fermer, couleur = couleurs)Supprimez les indicateurs actuels si vous ne l’avez pas déjà fait et ajoutez celui-ci au graphique. Nous devrions maintenant avoir quelque chose qui ressemble à un graphique en chandeliers classique.

Beau!
Tracer des moyennes mobiles (MA)
Nous avons quelques bases. Passons à notre premier indicateur personnalisé : la moyenne mobile exponentielle, ou EMA. Il s’agit d’un outil précieux car il nous permet de filtrer tout bruit de marché et de lisser l’évolution des prix.
L’EMA diffère légèrement de la moyenne mobile simple (SMA), en ce sens qu’elle accorde plus de poids aux données les plus récentes. Il a tendance à être plus réactif aux mouvements brusques et est souvent utilisé pour des jeux à court terme (en day trading, par exemple).
La moyenne mobile simple (SMA)
Autant tracer le SMA, juste pour pouvoir comparer les deux après. Ajoutez cette ligne à votre script :
plot(sma(fermer, 10))Cela représente la moyenne des dix jours précédents. Ajustez le nombre entre parenthèses pour voir comment la courbe change en prenant en compte différentes longueurs.

Le SMA, basé sur les dix jours précédents.
La moyenne mobile exponentielle (EMA)
L’EMA sera un peu plus difficile à comprendre, mais ne vous inquiétez pas. Décomposons d’abord la formule :
EMA = (Clôture - EMA du jour précédent) * Multiplicateur - EMA du jour précédentAlors, qu’est-ce que cela nous dit ? Eh bien, pour chaque jour, nous calculons une nouvelle moyenne mobile basée sur celle de la veille. Le multiplicateur est ce qui « pèse » la période la plus récente et est calculé avec la formule suivante :
Multiplicateur = 2 / (Longueur de l'EMA + 1)Comme pour les moyennes mobiles simples, nous devons préciser la durée de l’EMA. Syntaxiquement, la fonction pour tracer EMA est similaire à celle de SMA. Tracez-le à côté du SMA afin de pouvoir comparer les deux :
//@version=4
étude("Mon script", overlay=true)
plot(sma(fermer, 10))
tracé(ema(fermer,10))
Vous pouvez constater une légère différence entre les deux types de MA.
➠ Vous cherchez à vous lancer dans la crypto-monnaie ? Achetez du Bitcoin sur Binance !
Scripts intégrés
Jusqu’à présent, nous avons écrit notre code manuellement afin que vous puissiez en avoir une idée. Mais introduisons quelque chose qui peut nous faire gagner du temps, en particulier si nous écrivons des scripts plus complexes et que nous ne voulons pas les faire à partir de zéro.
En haut à droite de votre éditeur, cliquez sur Nouveau. Vous obtiendrez un menu déroulant avec toutes sortes d’indicateurs techniques différents. Cliquez sur Moyenne mobile exponentielle pour voir le code source d'un indicateur EMA.

Allez-y et ajoutez ceci au graphique.
Celui-ci est différent du nôtre – vous remarquerez les fonctions input(). C’est sympa du point de vue de la convivialité puisque vous pouvez cliquer sur cette case…

...et modifiez facilement certaines valeurs dans une fenêtre contextuelle en cliquant sur la molette Paramètres.

Nous ajouterons quelques fonctions input() dans notre prochain script pour le démontrer.
Tracer l'indicateur de l'indice de force relative (RSI)
Le Relative Strength Index (RSI) est un autre indicateur essentiel de l’analyse technique. C’est ce qu’on appelle un indicateur de momentum, ce qui signifie qu’il mesure le rythme auquel les actifs sont achetés et vendus. Présenté sur une échelle de 0 à 100, un score RSI tente d'informer les investisseurs sur la question de savoir si les actifs sont surachetés ou survendus. Généralement, un actif peut être considéré comme survendu s’il a un score inférieur ou égal à 30, et il peut être suracheté avec un score supérieur ou égal à 70.
Si vous vous dirigez vers Nouveau > Stratégie RSI, vous pouvez le constater par vous-même. Le RSI est généralement mesuré sur des périodes de 14 (c'est-à-dire 14 heures ou 14 jours), mais vous êtes libre d'ajuster ce paramètre en fonction de votre propre stratégie.
Ajoutez ceci au graphique. Vous devriez voir quelques flèches affichées maintenant (définies par la fonction stratégie.entry() dans le code). RsiLE indique une opportunité potentielle d'acheter l'actif car il peut être survendu. RsiSE met en évidence les points possibles auxquels vendre à découvert l’actif lorsqu’il est suracheté. Notez que, comme pour tous les indicateurs, vous ne devez pas nécessairement vous y fier comme preuve infaillible que les prix vont diminuer/augmenter.
Backtesting
Il existe un moyen pour nous de tester nos indicateurs personnalisés. Bien que les performances passées ne garantissent pas les résultats futurs, le backtest de nos scripts peut nous donner une idée de leur efficacité à capter les signaux.
Nous donnerons ci-dessous un exemple de script simple. Nous allons créer une stratégie simple qui entre dans une position longue lorsque le prix du BTC tombe en dessous de 11 000 $ et sort de la position lorsque le prix dépasse 11 300 $. On voit alors à quel point cette stratégie aurait été historiquement rentable.
//@version=4
stratégie("ToDaMoon", overlay=true)
entrer = entrée (11000)
sortie = entrée (11300)
prix = fermer
si (prix <= entrer)
stratégie.entry("BuyTheDip", stratégie.long, comment="BuyTheDip")
si (prix >= sortie)
stratégie.close_all(comment="SellTheNews")Ici, nous avons défini l'entrée et la sortie en tant que variables – les deux sont des entrées, ce qui signifie que nous pouvons les modifier ultérieurement sur le graphique. Nous avons également mis en place la variable prix, qui prend la clôture de chaque période. Ensuite, nous avons une certaine logique sous la forme d’instructions if. Si la partie entre parenthèses est vraie, alors le bloc en retrait en dessous sera exécuté. Sinon, il sera ignoré.
Ainsi, si le prix est inférieur ou égal à l’entrée souhaitée, la première expression est évaluée comme vraie et nous ouvrirons une position longue. Une fois que le prix est égal ou supérieur à la sortie souhaitée, le deuxième bloc sera déclenché, fermant toutes les positions ouvertes.
Nous allons annoter le graphique avec des flèches qui montrent où nous sommes entrés/sortis, nous avons donc spécifié comment étiqueter ces points avec le paramètre de commentaire (dans cet exemple, « BuyTheDip » et « SellTheNews »). Copiez le code et ajoutez-le au graphique.

Vous pouvez maintenant voir les indicateurs sur le graphique. Vous devrez peut-être effectuer un zoom arrière.
TradingView applique automatiquement vos règles aux données plus anciennes. Vous remarquerez également qu'il passe de l'éditeur Pine à l'onglet Strategy Tester. Cela vous permet d'avoir un aperçu de vos bénéfices potentiels, une liste des transactions et chacune de leurs performances individuelles.

Positions dans lesquelles nous sommes entrés et sortis.
L'attacher ensemble
Il est temps d’écrire notre propre script en utilisant certains des concepts que nous avons vus jusqu’à présent. Nous allons combiner EMA et RSI et utiliser leurs valeurs pour colorer les chandeliers, produisant ainsi des informations que nous pouvons facilement visualiser.
Cela ne doit pas être interprété comme un conseil financier : il n'existe pas de manière objectivement correcte d'utiliser cet indicateur. Comme tous les autres, il doit être utilisé avec d’autres outils pour développer votre propre stratégie.
Travaillons maintenant sur notre nouveau script. Supprimez tous vos indicateurs du graphique et masquez également le graphique Bitcoin/BUSD, afin que nous ayons une toile de fond propre sur laquelle travailler.
Commençons par définir notre étude. N'hésitez pas à le nommer comme vous le souhaitez, assurez-vous simplement de définir overlay=true.
étude(titre="Script de la Binance Academy", overlay=true)Rappelez-vous notre formule EMA de plus tôt. Nous devons fournir le multiplicateur avec la longueur de l'EMA. Faisons-en une entrée qui nécessite un entier (donc, pas de décimales). Nous définirons également un minimum (minval) et une valeur par défaut (defval).
étude(titre="Script de la Binance Academy", 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 de notre graphique :
étude(titre="Script de la Binance Academy", overlay=true)
emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0)
emaVal = ema(fermer, emaLength)Super. Sur le RSI. Nous allons lui donner une longueur de la même manière :
étude(titre="Script de la Binance Academy", overlay=true)
emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0)
emaVal = ema(fermer, emaLength)
rsiLength = input(title="RSI Longueur", type=input.integer, defval=25, minval=0)Et maintenant, nous pouvons le calculer :
étude(titre="Script de la Binance Academy", overlay=true)
emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0)
emaVal = ema(fermer, emaLength)
rsiLength = input(title="RSI Longueur", type=input.integer, defval=25, minval=0)
rsiVal = rsi(fermer, rsiLongueur)A ce stade, rassemblons la logique qui colore les chandeliers en fonction des valeurs EMA et RSI. Prenons une situation où (a) le prix de clôture de la bougie dépasse l'EMA et (b) où le RSI est supérieur à 50.
Pourquoi? Eh bien, vous pourriez décider que ces indicateurs peuvent être utilisés conjointement pour vous indiquer quand acheter ou vendre du Bitcoin. Par exemple, vous pourriez penser que le fait de satisfaire à ces deux conditions signifie que c’est le bon moment pour prendre une position longue. Ou inversement, vous pouvez l'utiliser pour vous informer quand ne pas vendre à découvert, même si d'autres indicateurs disent le contraire.
Notre prochaine ligne ressemblera donc à ceci :
étude(titre="Script de la Binance Academy", overlay=true)
emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0)
emaVal = ema(fermer, emaLength)
rsiLength = input(title="RSI Longueur", type=input.integer, defval=25, minval=0)
rsiVal = rsi(fermer, rsiLongueur)
couleurs = fermer > emaVal et rsiVal > 50 ? couleur.vert : couleur.rougeSi nous traduisons cela en anglais simple, nous disons simplement que si la valeur EMA dépasse le prix de clôture et que le score RSI dépasse 50, nous colorerons la bougie en vert. Sinon, nous le colorerons en rouge.
Ensuite, tracez l'EMA :
étude(titre="Script de la Binance Academy", overlay=true)
emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0)
emaVal = ema(fermer, emaLength)
rsiLength = input(title="RSI Longueur", type=input.integer, defval=25, minval=0)
rsiVal = rsi(fermer, rsiLongueur)
couleurs = fermer > emaVal et rsiVal > 50 ? couleur.vert : couleur.rouge
tracé(emaVal, "EMA")Enfin, tracez les bougies en veillant à inclure le paramètre de couleur :
étude(titre="Script de la Binance Academy", overlay=true)
emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0)
emaVal = ema(fermer, emaLength)
rsiLength = input(title="RSI Longueur", type=input.integer, defval=25, minval=0)
rsiVal = rsi(fermer, rsiLongueur)
couleurs = fermer > emaVal et rsiVal > 50 ? couleur.vert : couleur.rouge
tracé(emaVal, "EMA")
plotcandle (ouvrir, haut, bas, fermer, couleur = couleurs)Et c'est le scénario ! Ajoutez-le au graphique pour le voir en action.

Un graphique BTC/BUSD avec l'indicateur EMA/RSI.
Pensées finales
Dans cet article, nous avons passé en revue quelques exemples de base de ce que vous pouvez faire avec Pine Editor de TradingView. À présent, vous devriez être en mesure de faire des annotations simples sur les graphiques de prix pour obtenir des informations supplémentaires à partir de vos propres indicateurs.
Nous ne nous sommes intéressés ici qu’à quelques indicateurs, mais il est facile d’en créer des plus complexes – soit en sélectionnant les scripts intégrés dans Nouveau, soit en les écrivant vous-même.
En manque d'inspiration ? Les articles suivants pourraient vous donner quelques idées pour votre prochain projet :
Un bref guide de l'indicateur parabolique SAR
Un guide pour maîtriser le retracement de Fibonacci
Explication des indicateurs avancés et retardés
Indicateur MACD expliqué

