Introduction

Sans les bons outils de trading, vous ne pourrez 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 graphique de référence. Offrant une plateforme d'outils d'analyse technique, cette puissante application Web HTML5 est utilisée par des millions de personnes pour surveiller les mouvements du Forex, des crypto-monnaies et des marchés boursiers traditionnels.

TradingView possède de nombreuses fonctionnalités puissantes : il vous permet de surveiller les actifs sur de nombreuses plateformes de trading, ainsi que de poster des idées de trading au sein de votre réseau social. Dans cet article, nous nous concentrerons sur sa capacité de personnalisation. Nous utiliserons Pine Script, le langage de programmation propre à TradingView, qui nous garantit un contrôle granulaire sur nos formats graphiques.

Commençons!


Qu’est-ce que PineScript ?

Pine Script est un langage de script que vous pouvez utiliser pour modifier vos graphiques TradingView. La plateforme met déjà à votre disposition de nombreuses fonctionnalités pour ce faire, mais Pine Script vous permet d'aller plus loin. Qu'il s'agisse de changer les couleurs de vos bougies ou de 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 certains principes de base et de présenter des indicateurs qui peuvent être utiles pour le trading de cryptomonnaies.


Paramètre

Démarrer avec Pine Script est incroyablement simple. Tout code que nous écrivons s'exécutera sur les serveurs de TradingView, afin que nous puissions 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 tutoriel, nous allons « tracer » la paire de devises Bitcoin/Binance USD (BTCBUSD). Si ce n'est pas déjà fait, franchissez le pas et créez un compte gratuit (un abonnement pro est également disponible, mais pas nécessaire pour ce guide).

Suivez ce lien et vous trouverez un graphique similaire au suivant :


Gráfico BTCBUSD en tradingview

Le vôtre sera probablement plus à jour.


Une fois ici, nous voudrons avoir le graphique complet – cliquez sur le bouton pour y accéder. Cela nous donnera une vue beaucoup plus détaillée, des outils de dessin et des options pour tracer des lignes de tendance, entre autres.


Gráfico completo en tradingview para BTCBUSD

Graphique complet. Vous pouvez ajuster l'intervalle de temps en cliquant sur les vues qui apparaissent au-dessus des onglets en surbrillance.


Nous n'entrerons pas dans les détails de l'utilisation des différents outils disponibles, mais si vous êtes très sérieux en matière d'analyse technique, nous vous recommandons fortement de vous familiariser avec eux. En bas à gauche (indiqué dans l'image), vous verrez une série d'onglets différents – cliquez sur Pine Editor.


L'éditeur de pins


captura de pantalla del pine editor


Cet éditeur est l'endroit où la magie opère. Nous lui dirons ce que nous voulons faire, puis nous cliquerons sur Ajouter au graphique pour voir comment nos annotations apparaissent ci-dessus. Gardez à l'esprit que les choses peuvent devenir compliquées si nous incluons plusieurs annotations à la fois, nous les supprimerons donc entre les différents exemples - faites un clic droit sur le graphique > Supprimer les indicateurs.

Vous pouvez voir que nous y avons déjà quelques lignes de code. Continuons en cliquant sur Ajouter au graphique pour voir ce qui se passe.


Añadiendo primer script al gráfico tradingview


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 le supprimer. Maintenant, analysons le code en détail.

étude("Mon script")

Cette première ligne définit simplement notre annotation. Il nécessite uniquement le nom que vous souhaitez donner à l'indicateur ("Mon Script", dans ce cas), bien qu'il existe également une série de paramètres facultatifs que nous pouvons ajouter. L'un d'eux est la superposition, qui indique à TradingView de placer l'indicateur sur le graphique existant (plutôt que sur un nouveau segment). Comme vous pouvez le voir dans notre premier exemple, par défaut il apparaît comme faux. 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 marquer le prix de clôture du Bitcoin. plot nous fournit simplement un graphique linéaire, bien que nous puissions également 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(ouvert, couleur=color.purple)

Une fois que vous avez ajouté cela, vous devriez pouvoir voir un deuxième graphique (qui sera comme celui d'origine décalé vers la droite). Tout ce que nous avons fait, c'est capturer le cours d'ouverture, et puisque l'ouverture du jour en cours est la clôture de la veille, il est logique que ceux-ci présentent une forme identique.

Très bien! Nous allons nous débarrasser des annotations actuelles - rappelez-vous, pour ce faire, nous devons faire un clic droit et sélectionner 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 fournissent plus d'informations qu'un simple diagramme comme celui que nous venons de réaliser. Commençons par les ajouter ci-dessous.

//@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 sur la période en question, et vertes lorsque la clôture dépasse l'ouverture. Nous allons donc 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 examinera chaque bougie et vérifiera si l'ouverture est supérieure ou égale à la clôture. Si tel est le cas, cela signifie que les prix ont baissé au cours de la période, la bougie sera donc colorée en rouge. Sinon, il le colorera en vert. Modifiez la fonction plotcandle() pour approuver 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. Maintenant, nous devrions avoir quelque chose qui ressemble à un graphique en chandeliers ordinaire.


Gráfico de velas en tradingview

Précieux!


Tracer les moyennes mobiles (MA)

Nous disposons déjà de certains éléments de base. Examinons maintenant 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 (comme dans le day trading, par exemple).


La moyenne mobile simple (SMA)

Nous pourrions également tracer la SMA afin de pouvoir comparer les deux moyennes plus tard. Ajoutez cette ligne à votre script :

plot(sma(fermer, 10))

Cela tracera la moyenne des dix jours précédents. Ajustez le nombre entre parenthèses pour voir comment la courbe change lorsque l'on considère différentes longueurs.


Media móvil basada en los 10 días anteriores

Le SMA, basé sur les dix jours précédents.


La moyenne mobile exponentielle (EMA)

L’EMA sera un peu plus difficile à comprendre, mais il n’y a pas lieu de s’inquiéter. Décomposons d'abord la formule :

EMA = (Clôture - EMA du jour précédent) * Multiplicateur - EMA du jour précédent

Alors, 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 « pondère » la période la plus récente et est calculé avec la formule suivante :

Multiplicateur = 2 / (longueur EMA + 1)

Comme pour les moyennes mobiles simples, nous devons préciser la durée de l’EMA. Syntaxiquement, la fonction de tracé de l'EMA est similaire à celle du SMA. Tracez-le à côté du SMA pour pouvoir comparer les deux :

//@version=4
étude("Mon script", overlay=true)
plot(sma(fermer, 10))
tracé(ema(fermer,10))


EMA y SMA en un gráfico de tradingview

Vous pouvez voir qu’il existe une légère différence entre les deux types de MA.


➠ Vous envisagez de vous lancer dans le monde des cryptomonnaies ? Achetez du Bitcoin sur Binance !


Scripts intégrés

Jusqu'à présent, nous avons écrit notre code manuellement afin que vous le connaissiez. Ensuite, nous introduirons un élément qui peut nous faire gagner du temps, surtout si nous allons écrire des scripts plus complexes et que nous ne voulons pas le faire à partir de zéro.

En haut à droite de votre éditeur, cliquez sur Nouveau. Vous tomberez sur un menu déroulant avec toutes sortes d’indicateurs techniques différents. Cliquez sur Moving Average Exponential pour voir le code source d'un indicateur EMA.



Media móvil exponencial en un script pine

Allez-y et ajoutez ceci au graphique.


Celui-ci est différent du nôtre – vous reconnaîtrez les fonctions input(). Ils sont excellents d’un point de vue convivialité, puisque vous pouvez cliquer sur cette case…


Modificando un gráfico en la interfaz de tradingview


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


cambiar las entradas en EMA


Nous ajouterons quelques fonctions input() dans notre prochain script pour le démontrer.


Signaler l’indicateur Relative Strength Index (RSI)

Le Relative Strength Index (RSI) est un autre indicateur essentiel de l’analyse technique. Il est connu sous le nom d’indicateur de « momentum », ce qui signifie qu’il mesure la vitesse à laquelle les actifs sont achetés et vendus. Présenté sur une échelle de 0 à 100, un score RSI tente d'informer les investisseurs 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 suracheté avec un score supérieur ou égal à 70.

Si vous vous dirigez vers Nouveau > Stratégie RSI, vous pouvez le vérifier par vous-même. Le RSI est généralement mesuré par périodes de 14 (c'est-à-dire 14 heures ou 14 jours), mais vous pouvez modifier ces paramètres en fonction de votre propre stratégie.

Ajoutez ceci au graphique. Vous devriez voir des flèches affichées maintenant (définies par la fonction stratégie.entry() dans le code). RsiLE indique une opportunité potentielle de prolonger l'actif car il pourrait être survendu. RsiSE met en évidence les points possibles auxquels vendre à découvert 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 que les prix vont augmenter ou diminuer.


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.

Ci-dessous, nous donnerons un exemple de script simple. Créons 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 $. Nous pouvons donc voir à quel point cette stratégie aurait été historiquement rentable.

//@version=4
stratégie("ALaLuna", overlay=true)
entrer = entrée (11000)
sortie = entrée (11300)
prix = fermer

si (prix <= entrer)
    stratégie.entry("CompraLaCaída", stratégie.long, comment="CompraLaCaída")
si (prix >= sortie)
    stratégie.close_all(comment="VendeLasNoticias")

Ici, nous avons défini l'entrée et la sortie comme variables ; ce sont deux entrées, ce qui signifie que nous pouvons les modifier sur le graphique plus tard. Nous définissons également la variable de prix, qui prend en compte la clôture de chaque période. Nous avons donc une certaine logique sous la forme d’instructions if. Si la partie entre crochets est vraie, le bloc en retrait ci-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 au résultat souhaité, le deuxième bloc sera activé, fermant toutes les positions ouvertes.

Nous annoterons le graphique avec des flèches indiquant où nous entrons/sortirons, nous spécifions donc comment étiqueter ces points avec le paramètre de commentaire (dans cet exemple, "BuyTheDip" et "SellTheNews"). Copiez le code et ajoutez-le au graphique.


indicador activo en el gráfico tradingview

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 de voir un aperçu de vos bénéfices potentiels, une liste de transactions et chacune de vos performances individuelles.


Trading view strategy tester

Positions dans lesquelles nous sommes entrés et sortis.


Assembler les morceaux

Il est temps d'écrire notre propre scénario en utilisant certains des concepts que nous avons vus jusqu'à présent. Nous combinerons EMA et RSI et utiliserons leurs valeurs pour colorer les bougies, ce qui renverra des informations que nous pourrons facilement visualiser.

Cela ne doit pas être interprété comme 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 également le graphique Bitcoin/BUSD, afin que nous ayons un canevas propre sur lequel 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 d’avant. Nous devons fournir le multiplicateur avec la longueur de l'EMA. Convertissons-le en une entrée qui nécessite un entier (donc pas de décimales). Nous fixerons également un minimum qui peut être (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)


Excellent. À propos du RSI. Nous lui donnerons 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)

À ce stade, nous allons mettre en place la logique qui colore les bougies 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.

Parce que? Eh bien, vous pouvez décider que ces indicateurs peuvent être utilisés ensemble pour vous indiquer quand acheter du Bitcoin à court ou à long terme. Par exemple, vous pourriez penser que le fait de remplir ces deux conditions signifie que c'est le bon moment pour prendre une position longue. Ou à l’inverse, vous pouvez l’utiliser pour vous informer quand ne pas devenir short, 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.rouge

Si nous traduisons cela en langage simple, nous disons simplement que si la valeur EMA dépasse le cours 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.


Script de Tradingview en acción

Un graphique BTC/BUSD avec l'indicateur EMA/RSI.


En conclusion

Dans cet article, nous examinons quelques exemples de base de ce que vous pouvez faire avec l'éditeur Pine de TradingView. À ce stade, vous devez vous assurer 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 de générer des indicateurs plus complexes, soit en sélectionnant les scripts intégrés de New, soit en les écrivant vous-même.

En manque d'inspiration ? Les articles suivants peuvent vous donner quelques idées pour votre prochain projet :

  • Bref guide de l'indicateur parabolique SAR

  • Guide pour maîtriser les retracements de Fibonacci

  • Introduction aux indicateurs avancés et retardés (indicateurs avancés/retardés)

  • Indicateur MACD expliqué