Introduction
Sans les bons outils de trading, il n'est pas possible de réaliser une analyse technique efficace. Une stratégie de trading solide vous aidera à éviter les erreurs courantes, à améliorer votre gestion des risques et à améliorer votre capacité à identifier et à tirer parti des opportunités.
Pour beaucoup, TradingView est la meilleure plateforme de cartographie. La puissante application Web HTML5 offre de nombreux outils d'analyse technique et est utilisée par des millions d'utilisateurs pour suivre les mouvements des marchés boursiers, du Forex et des crypto-monnaies.
TradingView possède de nombreuses fonctionnalités puissantes : il nous permet de suivre les actifs sur plusieurs plateformes de trading et de partager des idées de trading sur les réseaux sociaux. Dans cet article, nous parlerons de vos options de personnalisation. Nous utiliserons PineScript, le propre langage de programmation de TradingView, qui nous permet de contrôler la présentation de nos graphiques.
Commençons!
Qu’est-ce que Pine Script ?
Pine Script est un langage de script utilisé pour personnaliser les graphiques TradingView. La plateforme propose déjà de nombreuses fonctionnalités pour cela, mais Pine Script propose quelques options supplémentaires. Que vous souhaitiez changer les couleurs des chandeliers ou tester une nouvelle stratégie, Pine Editor vous permet de personnaliser vos graphiques en temps réel comme vous le souhaitez.
Le code dispose d'une documentation très solide, 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 utiles pour le trading de crypto-monnaies.
Paramètre
C'est très simple de commencer à utiliser Pine Script. Tout le code s'exécute sur les serveurs de TradingView, nous pouvons donc accéder à l'éditeur et développer nos scripts à partir d'un navigateur – aucun téléchargement ni configuration supplémentaire n'est requis.
Dans ce tutoriel, nous utiliserons la paire de devises Bitcoin/Binance USD (BTCBUSD). Si vous n'avez pas encore de compte, créez-en un gratuitement (il existe également une option d'abonnement Pro, mais ce n'est pas nécessaire pour ce tutoriel).
Accédez à ce lien et vous verrez un graphique comme celui-ci :

Le vôtre sera probablement plus à jour.
Ici, nous utiliserons le mode graphique complet : cliquez sur le bouton pour y accéder. Dans ce mode, nous disposons d'une vue plus détaillée, d'outils de dessin et d'options pour tracer des lignes de tendance, entre autres fonctions.

Le graphique complet. Vous pouvez ajuster la période en cliquant sur les options au-dessus des onglets mis en évidence dans l'image.
Nous n'aborderons pas la manière d'utiliser les différents outils disponibles, mais si vous utilisez l'analyse technique, nous vous recommandons de vous familiariser avec eux. Dans le coin inférieur gauche (illustré dans l'image), vous verrez quelques onglets différents : cliquez sur Pine Editor.
Éditeur de pin

Cet éditeur est l'endroit où la magie opère. Entrons les instructions. Cliquez sur Ajouter au graphique pour afficher les annotations ci-dessus. Notez que les choses peuvent devenir compliquées si nous incluons plusieurs annotations à la fois, nous les supprimerons donc pour les exemples suivants (clic droit sur le graphique > Supprimer les indicateurs).
Comme nous pouvons le constater, nous disposons déjà de quelques lignes de code. Cliquons sur Ajouter au graphique et voyons ce qui se passe.

Un deuxième graphique sera ajouté sous l'original. Le nouveau graphique affiche désormais les mêmes données. Passez la souris sur Mon script et cliquez sur la croix pour le supprimer. Maintenant, approfondissons le code.
étude("Mon script")Cette première ligne sert simplement à configurer nos annotations. Il suffit de définir un nom pour l'indicateur ("Mon Script" dans ce cas), mais nous pouvons également ajouter quelques paramètres facultatifs. L'un d'eux est la superposition, qui demande à TradingView d'insérer l'indicateur dans le graphique existant (au lieu d'utiliser un nouveau segment). Comme nous pouvons le voir dans le premier exemple, la valeur par défaut est false. Le paramètre overlay = true ajoute l'indicateur au graphique existant, mais nous ne l'utiliserons pas maintenant.
terrain(fermer)Cette ligne est une instruction permettant de tracer le cours de clôture du Bitcoin. Le paramètre plot nous donne simplement un graphique linéaire, mais il est également possible d'afficher des bougies et des barres, comme nous le verrons bientôt.
Maintenant, essayons ce qui suit :
//@version=4 étude("Mon Script", overlay=true) plot(open, color=color.purple)Après avoir ajouté ce paramètre, nous verrons un deuxième graphique (qui ressemble à l’original, mais décalé vers la droite). Tout ce que nous avons fait, c'est tracer le prix d'ouverture. Puisque l'ouverture du jour en cours correspond à la clôture de la veille, il est logique qu'ils aient un format identique.
D'ACCORD! Débarrassons-nous des notes actuelles (rappelez-vous, nous faisons cela en cliquant avec le bouton droit et en sélectionnant Supprimer les indicateurs). Passez la souris sur Bitcoin/BUSD et cliquez sur 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 créer. Nous les ajouterons ensuite.
//@version=4 Study("Mon Script", overlay=true) plotcandle(ouvrir, haut, bas, fermer)C'est un bon début, c'est une bonne idée d'ajouter quelques couleurs. Généralement, nous utilisons des bougies rouges lorsque le cours d'ouverture est supérieur au cours de clôture pour la période donnée, et des bougies vertes si le cours de clôture est supérieur au cours d'ouverture. Ajoutons une ligne sous la fonction plotcandle() :
//@version=4 study("Mon Script", overlay=true) colours = open >= close ? color.red : color.green plotcandle (ouvrir, haut, bas, fermer)Cette fonction analyse chaque bougie et vérifie si la valeur d'ouverture est supérieure ou égale à la valeur de clôture. Si c’est le cas, cela signifie que les prix ont baissé sur la période, donc la bougie deviendra rouge. Sinon, ce sera vert. Modifiez la fonction plotcandle() pour définir ce jeu de couleurs sur :
//@version=4 study("Mon Script", overlay=true) colours = open >= close ? color.red : color.green 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 de similaire à un graphique en chandeliers classique.

Super!
Traçage des moyennes mobiles (MM)
Nous passons en revue certaines des bases. Traçons 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 met davantage l'accent sur les données les plus récentes. Il a tendance à être plus réactif aux mouvements brusques et est souvent utilisé pour des stratégies à court terme (comme le day trading, par exemple).
Moyenne mobile simple (SMA)
Traçons également la moyenne mobile simple (SMA), afin de pouvoir comparer les deux plus tard. Ajoutez cette ligne à votre script :
plot(sma(fermer, 10))Cette valeur représente la moyenne des dix derniers jours. Ajustez le nombre entre parenthèses pour voir comment la courbe change en considérant différentes périodes.

MMS, basé sur les dix derniers jours.
Moyenne mobile exponentielle (EMA)
L'EMA est un peu plus compliquée, mais ne vous inquiétez pas. Regardons d'abord la formule :
EMA = (Clôture - EMA du jour précédent) * Multiplié - EMA du jour précédentQu'est-ce que cela signifie? Pour chaque jour, nous calculons une nouvelle moyenne mobile basée sur la moyenne de la veille. Le multiplicateur considère le « poids » de la période la plus récente et le calcule selon la formule :
Multiplicateur = 2 / (Période EMA + 1)Comme pour les moyennes mobiles simples, nous devons préciser la durée de l’EMA. Syntaxiquement, la fonction permettant de tracer l'EMA est similaire à celle du MMS. Placez-le à côté du MMS pour pouvoir comparer les deux :
//@version=4 étude("Mon Script", overlay=true) plot(sma(close, 10)) plot(ema(close,10))
On peut remarquer une légère différence entre les deux types de moyennes mobiles.
➠ Vous envisagez d'investir dans les crypto-monnaies ? Achetez du Bitcoin sur Binance !
Scripts intégrés
Jusqu'à présent, nous avons écrit notre code manuellement afin que vous puissiez vous faire une idée. Mais utilisons quelque chose qui peut nous faire gagner du temps, surtout 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 verrez un menu déroulant avec tous les types d'indicateurs techniques. Cliquez sur Moyenne mobile exponentielle pour afficher le code source d'un indicateur EMA.

Ajoutez ceci au graphique.
Celui-ci est différent du nôtre – nous voyons ici les fonctions input(). Ils sont bons en termes de convivialité, car on peut cliquer sur cette case…

...et modifiez facilement certaines valeurs dans une nouvelle fenêtre en cliquant sur 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)
L'indice de force relative (RSI) est un autre indicateur d'analyse technique essentiel. Il est connu sous le nom d’indicateur de momentum, c’est-à-dire qu’il mesure le taux d’achat et de vente d’actifs. Le score RSI est présenté sur une échelle de 0 à 100 et tente d'informer les investisseurs si les actifs sont surachetés ou survendus. Généralement, un actif est considéré comme survendu s’il a un score inférieur ou égal à 30 et suracheté avec un score supérieur ou égal à 70.
Vous pouvez accéder à Nouveau > Stratégie RSI et voir par vous-même. Généralement, le RSI est mesuré sur des périodes de 14 heures ou 14 jours, mais vous pouvez ajuster ce paramètre en fonction de votre propre stratégie.
Ajoutez ceci au graphique. Maintenant, vous verrez quelques flèches (définies par la fonction stratégie.entry() dans le code). RsiLE indique une opportunité potentielle de position longue pour l'actif, qui peut être survendu. RsiSE met en évidence les points possibles pour des positions courtes sur l'actif, lorsqu'il est suracheté. Veuillez noter que, comme pour tous les indicateurs, vous ne devez pas nécessairement vous y fier comme preuve infaillible d’une baisse ou d’une hausse des prix.
Backtesting
Il existe un moyen de tester des indicateurs personnalisés. Si l’historique d’un actif ne garantit pas les résultats futurs, le backtest de nos scripts peut nous donner une idée de son efficacité à capter les signaux.
Ensuite, nous utiliserons un exemple de script simple. Créons une stratégie qui entre dans une position longue lorsque le prix du BTC descend 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) 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 définissons l'entrée et la sortie comme des variables – les deux sont des entrées, ce qui signifie que vous pouvez les modifier ultérieurement dans le graphique. Nous configurons également la variable de prix, prix, qui prend en compte la clôture de chaque période. Ensuite, nous avons l’utilisation de la logique sous la forme de fonctions if. Si la partie entre crochets est vraie, le bloc en dessous sera exécuté. Sinon, le blocage sera ignoré.
Par conséquent, si le prix est inférieur ou égal à l’entrée souhaitée, la première expression sera évaluée comme vraie et nous ouvrirons une position longue. Dès 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 utiliserons le graphique avec des flèches qui montrent où nous entrons/sortons ; Par conséquent, nous précisons comment étiqueter ces points avec le paramètre de commentaire, comment (dans cet exemple, « BuyTheDip » et « SellTheNews »). Copiez le code et ajoutez-le au graphique.

Nous pouvons maintenant voir les indicateurs sur le graphique. Vous devrez peut-être effectuer un zoom arrière.
TradingView applique automatiquement ses 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 gains possibles, une liste des transactions et chacune de leurs performances individuelles.

Positions d'entrée et de sortie.
Associer les informations
Il est temps d'écrire notre propre scénario en utilisant certains des concepts que nous avons vus jusqu'à présent. Combinons EMA et RSI et utilisons leurs valeurs pour colorer les graphiques en chandeliers, générant ainsi des informations que nous pouvons facilement visualiser.
Cela ne doit pas être interprété comme une incitation à l’investissement ou un conseil financier – il n’existe aucune 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 le graphique Bitcoin/BUSD afin que nous puissions travailler dans un canevas propre.
Commençons par définir notre étude. N'hésitez pas à le nommer comme vous le souhaitez, mais n'oubliez pas de définir le paramètre overlay=true.
étude(titre="Script de la Binance Academy", overlay=true)Rappelez-vous notre formule EMA d’avant. Il faut fournir le multiplicateur avec la période de l'EMA. Utilisons une entrée qui nécessite un entier (donc pas de décimales). Nous définirons également une valeur minimale (minval) et une 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 de notre graphique :
étude(titre="Binance Academy Script", overlay=true) emaLength = input(title="EMA Longueur", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)Excellent. Maintenant le RSI. Nous définirons une 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)Et puis, 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, nous élaborerons la logique qui colore les graphiques en chandeliers en fonction des valeurs EMA et RSI. Considérons une situation dans laquelle (a) le cours de clôture de la bougie dépasse l'EMA et (b) le RSI est supérieur à 50.
Pourquoi? Eh bien, vous pouvez décider d'utiliser ces indicateurs ensemble pour obtenir des signaux longs ou courts pour le trading de Bitcoin. Par exemple, vous pourriez penser que le fait de satisfaire aux deux conditions signifie que c'est le bon moment pour prendre une position longue. Ou, d'un autre côté, vous pouvez l'utiliser pour vous informer du moment où la position ne doit pas être courte, même si d'autres indicateurs signalent le contraire.
Notre prochaine ligne ressemblera donc à 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.rougeEn langage simple, le code indique simplement que si la valeur EMA dépasse le cours de clôture et que le score RSI est supérieur à 50, la couleur de la bougie sera verte. Sinon, ce sera rouge.
Ensuite, traçons 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, tracez les bougies en veillant à inclure le paramètre de couleur, color :
é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)Et c'est le scénario ! Ajoutez-le au graphique pour le voir fonctionner.

Graphique BTC/BUSD avec l'indicateur EMA/RSI.
Considérations finales
Dans cet article, nous examinons quelques exemples de base de ce que vous pouvez faire avec Pine Editor de TradingView. Désormais, vous devriez pouvoir personnaliser les graphiques de prix pour obtenir des informations supplémentaires à l'aide de vos propres indicateurs.
Nous n'avons abordé ici que quelques indicateurs, mais l'idée est la même pour les plus complexes : vous pouvez sélectionner des scripts intégrés à New ou les écrire vous-même.
Pas inspiré ? Les articles suivants peuvent vous donner quelques idées pour votre prochain projet :
Un bref guide sur l'indicateur Parabolique SAR
Guide de retracement de Fibonacci
Indicateurs avancés et retardés
Comment fonctionne l'indicateur MACD
