Académique Documents
Professionnel Documents
Culture Documents
2
Chère/Cher Goat Curieux du trading avec l’aide de ChatGPT,
Je suis ravi de vous délivrer cet ebook qui va vous aider à créer un algorithme de trading
automatique pour TradingView avec l’aide de l’intelligence artificielle ChatGPT !
Le trading automatique est un domaine passionnant et dangereux car il permet de réaliser des
transactions sur les marchés financiers de manière entièrement automatisée. Cela peut être
très utile pour les traders expérimentés (dangereux pour les novices) qui n'ont pas le temps de
suivre les marchés en temps réel, ou qui souhaitent diversifier leur portefeuille de manière
efficace.
Dans cet ebook nous allons aborder tous les aspects en surface pour que vous puissiez avoir
une bonne digestion du contenu. Ensemble, nous allons apprendre à utiliser Pinescript, un
langage de programmation développé par TradingView, pour créer un algorithme de trading
automatique. Nous verrons comment analyser les données de prix et les indicateurs
techniques pour mettre en place une stratégie de trading, et comment mettre en place
différentes stratégies de trading.
Mais ce n'est pas tout ! Nous allons également utiliser l'intelligence artificielle ChatGPT pour
nous aider à comprendre et à rédiger nos scripts de trading. ChatGPT est un outil très puissant
qui peut nous aider à obtenir de l'aide et des conseils sur l'utilisation de Pinescript et sur les
différentes étapes de la création d'un algorithme de trading automatique.
Je suis convaincu que cet ebook vous sera très utile et que vous serez en mesure de mettre en
place votre propre algorithme de trading automatique à la fin de celui-ci. Ne laissez pas vos
doutes ou vos peurs vous empêcher de réaliser vos rêves. Travaillez dur et croyez en vous. Vous
pouvez y arriver. N'hésitez pas à poser des questions et à partager vos progrès avec la
communauté sur le serveur Discord. Bonne chance et bon trading à tous ! Je vous souhaite tout
le succès dans vos futures carrières en trading démo ou live.
Sincèrement,
CryptoForexGoat
1. Je ne suis pas un conseiller financier ou un courtier agréé. Je ne vous dis pas quand ou quoi
acheter ou vendre. J'ai développé des logiciels (scripts ou programmes) qui vous permettent
d'exécuter des opérations manuelles ou automatisées en utilisant TradingView. Et vous en
réaliserez vous aussi en faisant partie du serveur privé de la communauté sur Discord.
2. Les logiciels (scripts ou programmes) vous permettent de définir les critères que vous
souhaitez pour entrer et sortir des positions.
3. Ne tradez pas avec de l'argent que vous ne pouvez pas vous permettre de perdre. Je ne
garantis pas des profits constants ou que tout le monde puisse gagner de l'argent sans aucun
effort. Et je ne vends pas le saint Graal.
5. La gestion de l'argent joue un rôle important dans les résultats de votre trading.
Par exemple, la taille du lot, la taille du compte, l'effet de levier du courtier et les règles d'appel
de marge du courtier ont tous un effet sur les résultats.
6. Les règles d'appel de marge du courtier (broker ou exchange) ont toutes un effet sur les
résultats. De même, vos paramètres Take Profit et Stop Loss pour les transactions de paires
individuelles et pour l'équité globale du compte ont un impact majeur sur les résultats.
Si vous êtes novice en matière de trading et que vous ne comprenez pas ces éléments, je vous
recommande de chercher du matériel pédagogique pour approfondir vos connaissances.
Clause de non-responsabilité : les conseils en trading donnés dans cet ebook ne sont pas
garantis et doivent être pris en considération avec prudence. Les marchés financiers sont
incertains et les investissements comportent des risques. Les conseils donnés sur dans cet
ebook ne sont pas destinés à être utilisés comme unique source d'information pour prendre des
décisions d'investissement et ne doivent pas être considérés comme des recommandations ou
des garanties de performance future. Vous acceptez que nous ne soyons pas responsables des
pertes financières que vous pourriez subir en suivant ces conseils. Utilisez ces informations à
vos propres risques.
5
6
Préambule : Comment bien débuter
dans le trading forex et crypto ?
7
8
Plan de l’ebook de trading
automatique pour débutants
9
Plan de l’ebook de trading
automatique pour débutants
○ Utilisation des réseaux de neurones pour prédire les prix de l'actif sous-jacent.
○ Utilisation des algorithmes génétiques pour optimiser les paramètres d'un script
PineScript.
○ Comment intégrer des données externes, telles que les news et les tweets, dans
un script PineScript.
○ Exemples de scripts PineScript de base, tels que l'achat lorsque le RSI entre en
survente et la vente lorsque le RSI entre en surachat
○ Exemples de scripts PineScript plus avancés, tels que l'utilisation de différents
indicateurs techniques et de données de marché pour prendre des décisions de
trading
10
Plan de l’ebook de trading
automatique pour débutants
7. Introduction à ChatGPT
○ Exemples de scripts générés par chatGPT, tels que l'achat lorsque le RSI entre en
survente et la vente lorsque le RSI entre en surachat.
○ Comment personnaliser les scripts générés par chatGPT en utilisant des
indicateurs techniques et des données de marché supplémentaires ?
11
Plan de l’ebook de trading
automatique pour débutants
○ TradingView
○ ChatGPT
○ PineScript documentation v4
○ PineScript documentation v5
○ PineScript par TradingView
○ Tutoriels de TradingView
○ Discord
○ TikTok
○ Instagram
○ Chaine Youtube
○ https://www.tradingview.com/pine-script-reference/v5/
12
13
14
Introduction au trading automatique
Quelles sont les étapes à suivre ?
Il existe plusieurs étapes à suivre pour créer un algorithme de trading rentable que vous pouvez
ajouter à TradingView et utiliser pour générer des alertes automatiques liées à votre exchange
crypto
2. Choisissez un langage de programmation : une fois que vous avez défini votre stratégie,
vous devez choisir un langage de programmation pour écrire votre algorithme.
TradingView prend en charge plusieurs langages de programmation, notamment Pine
Script, Python et JavaScript.
3. Obtenez les données de trading nécessaires : pour que votre algorithme puisse
fonctionner correctement, vous avez besoin d'accéder à des données de trading en
temps réel. Vous pouvez utiliser une API de votre exchange crypto pour obtenir ces
données ou utiliser une source de données tiers.
4. Écrivez votre algorithme : une fois que vous avez tout ce dont vous avez besoin, vous
pouvez commencer à écrire votre algorithme en suivant les règles de votre langage de
programmation et en utilisant les données de trading que vous avez obtenues.
Assurez-vous de tester votre algorithme en utilisant des données historiques pour vous
assurer qu'il fonctionne comme prévu.
5. Importer votre algorithme dans TradingView : une fois que votre algorithme est prêt,
vous pouvez l'importer dans TradingView et le configurer pour générer des alertes
automatiques en fonction de votre stratégie. Vous pouvez également utiliser
TradingView pour visualiser les résultats de votre algorithme et effectuer des
ajustements en conséquence.
Il est important de noter que créer un algorithme de trading rentable peut être un processus
complexe et nécessiter des connaissances approfondies en programmation et en analyse
technique.
15
Introduction au trading automatique
avec Pinescript, c’est quoi ?
Le trading automatique est une forme de trading qui utilise des logiciels ou des algorithmes
pour effectuer des transactions sur les marchés financiers de manière entièrement
automatisée. Le but du trading automatique est de prendre des décisions de trading en utilisant
des critères prédéfinis et de les exécuter de manière automatique, sans intervention humaine.
Le trading automatique peut être utilisé dans diverses situations, comme par exemple pour
réaliser des transactions en temps réel lorsque les traders n'ont pas le temps de surveiller les
marchés eux-mêmes, ou pour diversifier leur portefeuille de manière efficace en utilisant
plusieurs stratégies de trading différentes. Le trading automatique peut également être utilisé
pour minimiser l'impact de l'émotion humaine sur les décisions de trading, en se basant sur
des critères précis et objectifs pour déterminer quand entrer et sortir d'une position.
Pinescript est un langage de programmation développé par TradingView qui permet de créer
des scripts de trading automatique pour le trading sur le Forex, les actions, les futures, les
crypto-monnaies, etc. Avec Pinescript, les traders peuvent créer des scripts de trading qui
analysent les données de prix et les indicateurs techniques pour mettre en place des stratégies
de trading automatiques. Ils peuvent également utiliser Pinescript pour créer des alertes de
trading qui déclenchent des ordres d'achat ou de vente lorsque certaines conditions sont
remplies.
Par exemple, un trader peut utiliser Pinescript pour créer un script qui achète lorsque l'indicateur
technique RSI (Relative Strength Index) atteint un certain niveau de survente et qui vend lorsque
l'indicateur atteint un certain niveau de surachat. Le trader peut également définir des niveaux
de stop loss et de take profit pour chaque position, afin de gérer le risque et les bénéfices de
manière automatique.
Pinescript est un outil très puissant pour les traders qui souhaitent utiliser le trading
automatique, mais il est important de noter que le trading automatique comporte également
des risques, de bien comprendre les marchés et de mettre en place des stratégies de trading
solides avant de se lancer dans cette activité.
16
Introduction au trading automatique
Avantages et inconvénients
Le trading automatique est devenu de plus en plus populaire ces dernières années en raison de
ses nombreux avantages pour les traders. Il est important de peser les avantages et les
inconvénients du trading automatique avant de se lancer dans cette activité.
Avantages :
● Permet de réaliser des transactions en temps réel lorsque les traders n'ont pas le temps
de surveiller les marchés eux-mêmes.
● Permet de diversifier le portefeuille de manière efficace en utilisant plusieurs stratégies
de trading différentes.
● Minimise l'impact de l'émotion humaine sur les décisions de trading en se basant sur des
critères précis et objectifs.
● Peut être utilisé pour gérer le risque et les bénéfices de manière automatique.
● …
Inconvénients :
17
Introduction au trading automatique
TradingView, kesako ?
TradingView
Est une plateforme en ligne de graphiques financiers et de trading automatique qui permet aux
traders de suivre les marchés financiers en temps réel et de mettre en place des stratégies de
trading automatisées. La plateforme est particulièrement populaire auprès des traders de Forex,
d'actions, de futures et de crypto-monnaies.
Propose une grande variété de fonctionnalités pour aider les traders à analyser les marchés et à
mettre en place des stratégies de trading automatisées. La plateforme offre des outils de
dessin avancés pour tracer des lignes de tendance, des niveaux de support et de résistance,
des canaux, etc. Elle propose également une large gamme d'indicateurs techniques pour aider
les traders à analyser les données de prix et à déterminer les tendances et les points d'entrée et
de sortie sur les marchés.
Utilise le langage de programmation Pinescript pour permettre aux traders de créer des scripts
de trading automatique. Les traders peuvent utiliser Pinescript pour analyser les données de
prix et les indicateurs techniques et mettre en place des stratégies de trading automatisées en
fonction de ces analyses. Ils peuvent également utiliser Pinescript pour créer des alertes de
trading qui déclenchent des ordres d'achat ou de vente lorsque certaines conditions sont
remplies.
Offre également une large gamme de fonctionnalités sociales pour permettre aux traders de
partager leurs analyses et leurs stratégies avec d'autres utilisateurs de la plateforme. Les
traders peuvent suivre les analyses et les trades d'autres utilisateurs, discuter de leurs
stratégies de trading, et même copier les trades d'autres utilisateurs sur leur propre compte.
En résumé, TradingView est une plateforme de trading automatique très complète qui offre une
grande variété de fonctionnalités pour aider les traders à analyser les marchés et à mettre en
place des stratégies de trading automatisées. Elle est particulièrement populaire auprès des
traders de Forex, d'actions, de futures et de crypto-monnaies et est largement utilisée par les
traders professionnels et les débutants.
18
Introduction au trading automatique
Utiliser ChatGPT
Vous êtes intéressé par le trading automatique et souhaitez apprendre à utiliser Pinescript pour
créer vos propres algorithmes de trading ? ChatGPT peut vous aider !
ChatGPT est un outil d'intelligence artificielle qui peut vous fournir des conseils et des
informations précises sur l'utilisation de Pinescript et sur la création d'algorithmes de trading
automatique. ChatGPT est basé sur le modèle GPT-3 d'OpenAI et est capable de comprendre le
langage naturel et de fournir des réponses et des conseils pertinents aux questions posées par
les utilisateurs.
Pour utiliser ChatGPT, il vous suffit de poser des questions sur l'utilisation de Pinescript et sur
les différentes étapes de la création d'un algorithme de trading automatique. Par exemple, vous
pouvez poser des questions sur la manière de définir des règles de trading précises avec
Pinescript, sur la façon de créer des alertes de trading qui déclenchent des ordres d'achat ou de
vente, ou encore sur la manière de connecter votre algorithme de trading automatique à un
exchange ou à un broker. ChatGPT vous fournira alors des réponses et des conseils pertinents
pour vous aider à comprendre le fonctionnement de Pinescript et à rédiger vos propres scripts
de trading.
En utilisant ChatGPT, vous pourrez bénéficier d'un accès rapide et facile à des conseils et des
informations précises sur l'utilisation de Pinescript et sur la création d'algorithmes de trading
automatique. Cela peut être particulièrement utile pour les traders qui sont débutants en
programmation ou qui ont besoin de conseils spécifiques sur l'utilisation de Pinescript.
Il est important de noter que ChatGPT n'est pas une solution magique qui va vous permettre de
devenir un trader professionnel du jour au lendemain. Pour réussir dans le trading automatique,
il est essentiel de comprendre les marchés et de mettre en place des stratégies de trading
solides et viables. ChatGPT peut vous aider à comprendre l'utilisation de Pinescript et à rédiger
vos propres scripts de trading, mais c'est à vous de mettre en place des stratégies de trading
efficaces et de gérer le risque de manière responsable.
En résumé, ChatGPT est un outil très utile qui peut vous aider à comprendre l'utilisation de
Pinescript et à rédiger vos propres scripts de trading automatique. N'hésitez pas à utiliser
ChatGPT pour vous aider dans votre apprentissage du trading automatique, mais n'oubliez pas
que le trading automatique comporte des risques et qu'il est important de comprendre les
marchés et de mettre en place des stratégies de trading solides avant de se lancer dans cette
activité.
19
20
Chapitre 1 : Les bases de PineScript
Mise en place de l’environnement
Pour développer des scripts de trading automatique avec PineScript, il est important de mettre
en place un environnement de développement adéquat. Cela consiste principalement à utiliser
un éditeur de code et une plateforme de trading en ligne compatible avec PineScript.
Pour commencer, vous aurez besoin d'un compte sur TradingView, une plateforme de trading en
ligne qui permet aux utilisateurs de développer et d'exécuter des scripts PineScript. Une fois
que vous avez créé un compte TradingView, vous pouvez accéder à l'éditeur de code PineScript
en cliquant sur l'onglet "Editeur Pine" dans le menu principal.
L'éditeur de code PineScript est l'endroit où vous allez écrire et développer vos scripts. Il offre
une interface de développement intégrée (IDE) complète, avec des fonctionnalités telles que la
coloration syntaxique, l'auto-complétion, et le débogage. Vous pouvez utiliser ces
fonctionnalités pour écrire et tester votre code de manière efficace et sans erreurs.
Il est également important de choisir un éditeur de code externe si vous préférez travailler sur
un ordinateur de bureau plutôt que sur le site Web de TradingView. Il existe de nombreux
éditeurs de code populaires qui prennent en charge PineScript, tels que Sublime Text et, Visual
Studio Code. Ces éditeurs offrent souvent des fonctionnalités supplémentaires telles que la
gestion de versions et la gestion de projets, ce qui peut être utile pour le développement de
scripts de trading automatique de grande envergure.
En résumé, pour développer des scripts de trading automatique avec PineScript, il est important
de mettre en place un environnement de développement adéquat en utilisant une plateforme de
trading en ligne compatible et un éditeur de code approprié. Cela vous permettra d'écrire et de
développer vos scripts de manière efficace et sans erreurs.
21
Chapitre 1 : Les bases de PineScript
Mise en place de l’environnement
Vous pouvez également utiliser l'éditeur de script PineScript pour accéder à la documentation
en ligne de PineScript et aux exemples de code fournis par TradingView.
Pour ouvrir et enregistrer un script PineScript dans TradingView, suivez ces étapes :
3. Cliquez sur le bouton "Nouveau script" pour ouvrir l'éditeur de script PineScript
4. Si un script est déjà présent, cliquez sur le bouton “Ouvrir” puis dans l’espace “Créer un
nouveau”, cliquez sur “Stratégie”
6. Cliquez sur le bouton "Sauvegarder" pour enregistrer votre script. Si votre code contient
des erreurs, elles seront affichées dans la fenêtre "Console". Vous pouvez cliquer sur
chaque erreur pour accéder à la ligne de code en cause et la corriger
7. Lorsque votre script est prêt à être testé, c’est à dire que la sauvegarde fonctionne
indique “ Effectué”, cliquez sur le bouton "Ajouter au graphique" pour l'appliquer à votre
graphique TradingView. Vous pouvez alors visualiser les résultats de votre script et
ajuster les paramètres si nécessaire
En utilisant l'éditeur de script PineScript de TradingView, vous pouvez facilement créer et tester
des scripts de trading automatique sans avoir à quitter la plateforme. Cet outil est
particulièrement utile pour les débutants en PineScript, qui peuvent bénéficier de sa simplicité
d’utilisation.
22
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Pour structurer et commenter un script PineScript, il est important de suivre les bonnes
pratiques de programmation. Cela inclut l'utilisation de commentaires pour expliquer le
fonctionnement du code et de sauts de ligne pour rendre le code plus lisible.
La syntaxe de Pinescript est très similaire à celle de la plupart des langages de programmation,
avec des mots-clés tels que if, for, while, des opérateurs de comparaison et de calcul tels que >,
<, + et *, et des parenthèses pour encadrer les instructions.
Le code Pinescript est organisé en fonctions, qui sont des blocs de code qui effectuent une
tâche spécifique. Chaque fonction commence par la déclaration de son nom et de ses
paramètres, suivie d'un corps de code qui contient les instructions à exécuter.
Voici un exemple de fonction Pinescript simple qui calcule la moyenne de deux nombres
donnés:
Il est important de respecter la syntaxe de Pinescript et de mettre les instructions dans le bon
ordre, afin que le code soit correctement exécuté par TradingView. Des erreurs de syntaxe
peuvent entraîner des messages d'erreur ou des comportements inattendus lors de l'exécution
du script.
En plus de la syntaxe de base, Pinescript possède également des conventions de style pour
rendre le code plus lisible et facile à comprendre. Il est recommandé de respecter ces
conventions, comme l'utilisation de noms de variables explicites et de commentaires pour
23
documenter le code.
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
PineScript est un langage de programmation utilisé pour développer des indicateurs techniques
et des stratégies de trading sur la plateforme de visualisation de données de marché
TradingView. Comme tout langage de programmation, PineScript dispose de différents types de
données qui peuvent être utilisés pour stocker des informations dans des variables ou des
constantes. Les types de données de base en PineScript sont :
● La chaîne (string) : une suite de caractères, par exemple "Bonjour" ou "Indicateur RSI".
● Le booléen (bool) : une valeur qui peut être soit vraie (true) soit fausse (false).
Il est important de choisir le type de données approprié pour chaque variable ou constante en
fonction de l'information qu'elle doit stocker. Par exemple, si vous devez stocker une valeur qui
représente un pourcentage, vous utiliserez un type de données réel. Si vous devez stocker une
valeur qui représente un état (par exemple, une condition qui est soit vraie soit fausse), vous
utiliserez un type de données booléen.
24
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Pour utiliser les opérateurs de base en PineScript, vous devez d'abord comprendre leur fonction
et leur syntaxe.
Les opérateurs arithmétiques les plus courants en PineScript sont l'addition (+), la soustraction
(-), la multiplication (*) et la division (/). Vous pouvez également utiliser des opérateurs de
modulo (%) pour obtenir le reste d'une division entière.
Les opérateurs de décalage de bits en PineScript vous permettent de déplacer les bits d'un
nombre dans une direction spécifique. Les opérateurs de décalage de bits les plus courants
sont le décalage vers la gauche (<<) et le décalage vers la droite (>>).
En utilisant ces opérateurs de base en combinaison avec les types de données et les structures
de contrôle, vous pouvez créer des scripts PineScript de base pour l'analyse technique et le
trading automatique.
25
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
En pinescript, les variables sont utilisées pour stocker des valeurs de différents types (entiers,
flottants, chaînes de caractères, etc.). Elles doivent être déclarées avant d'être utilisées en
utilisant le mot-clé var. La déclaration d'une variable se fait en utilisant la syntaxe suivante :
Par exemple :
Il est également possible de déclarer plusieurs variables en une seule ligne en les séparant par
une virgule :
Il est important de noter que la déclaration d'une variable avec le mot-clé var est optionnelle en
pinescript. Si vous ne déclarez pas la variable avec var, elle sera automatiquement déclarée et
initialisée à la valeur qui lui est affectée. Par exemple :
Il est recommandé de toujours utiliser le mot-clé var lors de la déclaration d'une variable pour
éviter tout conflit avec d'autres variables ou fonctions du même nom et pour rendre le code plus
lisible.
26
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Cela peut entraîner des erreurs de compilation ou des résultats inattendus si la variable est
utilisée dans un contexte où son type est attendu. Pour éviter ce genre de problème, il est
recommandé de toujours vérifier le type des variables et de les convertir en cas de besoin avant
de les utiliser. Voici quelques exemples de conversion de type en pinescript :
Il est également possible de déclarer et d'initialiser une variable en même temps en utilisant la
syntaxe suivante :
Cette ligne de code déclare une variable appelée "ma_variable" et lui assigne la valeur 0. Vous
pouvez également déclarer une variable sans lui affecter de valeur initiale, comme ceci :
Dans ce cas, la variable sera initialisée avec la valeur par défaut correspondant à son type (0
pour les entiers, 0.0 pour les réels, "" pour les chaînes, etc.).
Il est également possible d'utiliser des constantes pour stocker des valeurs fixes dans un script
PineScript. Pour déclarer une constante, il suffit d'utiliser le mot-clé "const" au lieu de "var" et de
lui affecter une valeur initiale. Par exemple :
Cette ligne de code déclare une constante appelée "PI" et lui assigne la valeur 3.14159. Une fois
déclarée, une constante ne peut plus être modifiée, c'est-à-dire que vous ne pouvez pas lui
affecter de nouvelle valeur.
Enfin, il existe différents types de variables en PineScript : les variables globales, qui sont
accessibles depuis n'importe quelle partie du script ; les variables locales, qui sont accessibles
uniquement dans la fonction ou le bloc de code où elles ont été déclarées ; et les variables
statiques, qui conservent leur valeur entre les appels successifs à une fonction. Pour déclarer
ces différents types de variables, il suffit d'utiliser les mots-clés "global", "local" et "static"
respectivement. 28
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Pour déclarer une variable en PineScript, vous devez d'abord spécifier son type de données, puis
son nom, comme ceci :
Pour affecter une valeur à une variable, vous pouvez utiliser l'opérateur d'affectation "=", comme
ceci :
Il est important de noter que les noms de variables en PineScript sont sensibles à la casse,
c'est-à-dire que "maVariable" et "mavariable" sont considérées comme deux variables
différentes. Il est donc recommandé de respecter les conventions de nommage en utilisant des
noms de variables clairs et explicites, en utilisant des lettres minuscules et des tirets bas pour
séparer les mots.
Les constantes en PineScript sont similaires aux variables, mais elles ont une valeur qui ne peut
être modifiée une fois affectée. Pour déclarer une constante, vous devez utiliser le mot-clé
"const" avant le type de données et le nom de la constante, comme ceci :
Il est recommandé d'utiliser des constantes lorsque vous avez besoin de stocker des valeurs
fixes dans votre script, par exemple pour les paramètres de votre stratégie de trading ou pour
les limites de votre indicateur technique. Cela vous permet de maintenir une meilleure lisibilité
et une meilleure maintenance de votre code, en évitant les erreurs de modification involontaire
de ces valeurs. 29
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Dans cet exemple, nous déclarons une constante ma_periode de type entier et lui attribuons la
valeur 50. Nous pouvons ensuite utiliser cette constante dans notre script pour calculer une
moyenne mobile sur 50 périodes.
Il est important de noter que les constantes sont très utiles pour stocker des valeurs qui ne
changeront pas au cours de l'exécution d'un script, comme des paramètres de configuration ou
des constantes mathématiques. Cela permet de rendre votre code plus lisible et plus facile à
maintenir en évitant de devoir changer manuellement ces valeurs à chaque modification de
votre script.
30
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Les variables en PineScript sont des outils très utiles pour stocker et manipuler des données au
sein d'un script. Il existe trois types de variables en PineScript : les variables globales, les
variables locales et les variables statiques.
Les variables globales sont des variables qui sont accessibles depuis n'importe quel endroit
dans un script. Elles sont déclarées en utilisant le mot-clé "var" et leur valeur peut être modifiée
n'importe où dans le script.
Les variables locales sont des variables qui sont uniquement accessibles à l'intérieur d'une
fonction ou d'une boucle. Elles sont déclarées en utilisant le mot-clé "local" et ne peuvent être
modifiées que dans le bloc de code auquel elles sont associées.
Les variables statiques sont des variables qui ont une durée de vie plus longue que les variables
locales. Elles sont déclarées en utilisant le mot-clé "static" et leur valeur est conservée entre les
appels de la fonction ou de la boucle dans laquelle elles sont définies.
En utilisant ces différents types de variables, vous pouvez stocker et manipuler efficacement les
données nécessaires à votre script PineScript.
31
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
En PineScript, vous pouvez déclarer une variable en utilisant le mot-clé "var" suivi de son nom et
de son type de données. Par exemple:
Pour affecter une nouvelle valeur à une variable, vous pouvez utiliser le signe "=". Par exemple:
Les variables statiques sont similaires aux variables locales, mais leur valeur est conservée
entre les appels successifs à la fonction ou au bloc de code où elles sont déclarées. 32
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
33
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
si x est supérieur à y,
ET différent de z,
Si cette condition est remplie, le code entre les accolades sera exécuté.
34
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Les opérateurs en PineScript sont des symboles ou des mots qui permettent de réaliser des
opérations sur des valeurs ou des variables. Il existe plusieurs types d'opérateurs en PineScript,
notamment :
a = 3 + 4 // a égal 7
b = 7 - 2 // b égal 5
c = 5 * 6 // c égal 30
d = 8 / 2 // d égal 4
En PineScript, il est possible d'utiliser ces opérateurs dans des expressions, qui sont des
combinaisons de valeurs, de variables et d'opérateurs qui permettent de calculer une valeur ou
de vérifier une condition, exemple : a + b * c, d > e or f < g, h == i and j != k, "Bonjour " + nom
35
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Les priorités des opérateurs en PineScript déterminent l'ordre dans lequel les opérations sont
effectuées dans une expression. Par exemple, l'opérateur de multiplication a une priorité plus
élevée que l'opérateur d'addition, de sorte que l'expression "2 + 3 * 4" sera évaluée comme "2 +
(3 * 4)" plutôt que "(2 + 3) * 4".
Il est important de comprendre les priorités des opérateurs lorsque vous écrivez des scripts
PineScript, car elles peuvent affecter le résultat final de votre expression. Par exemple, si vous
souhaitez ajouter deux nombres et diviser le résultat par trois, vous devez utiliser des
parenthèses pour indiquer que la division doit être effectuée avant l'addition. Si vous oubliez les
parenthèses, le résultat sera incorrect.
Voici un aperçu des priorités des opérateurs en PineScript, du plus élevé au plus faible :
Il est également important de noter que les parenthèses peuvent être utilisées pour changer
l'ordre des opérations, même si elles ne sont pas strictement nécessaires. Par exemple,
l'expression "2 + (3 * 4)" sera évaluée de la même manière que "(2 + 3) * 4", car les parenthèses
ont la priorité la plus élevée.
En résumé, il est important de comprendre les priorités des opérateurs en PineScript afin de
garantir que vos expressions soient évaluées correctement.
36
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Les structures de contrôle "if" et "else" sont des éléments essentiels de tout langage de
programmation, y compris PineScript. Elles permettent d'exécuter des instructions en fonction
de conditions précises, ce qui est particulièrement utile pour créer des scripts de trading
automatisé qui réagissent de manière adaptée aux différentes situations du marché.
Pour utiliser ces structures de contrôle en PineScript, il suffit de suivre la syntaxe suivante :
if (condition) {
// Instructions à exécuter si la condition est vraie
} else {
// Instructions à exécuter si la condition est fausse }
La condition peut être n'importe quelle expression booléenne, c'est-à-dire qui retourne soit "true"
soit "false". Par exemple, pour vérifier si le prix de l'actif sous-jacent est supérieur à sa moyenne
mobile à 50 périodes, on peut écrire :
Il est également possible d'utiliser des structures de contrôle "if" imbriquées, c'est-à-dire des
structures "if" à l'intérieur d'autres structures "if". Cela permet de tester plusieurs conditions de
manière successive et d'exécuter des instructions en fonction de la combinaison de ces
conditions. Par exemple :
37
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Pour utiliser la structure de contrôle "if" et "else" en PineScript, vous devez d'abord spécifier une
condition à vérifier. Cette condition peut être n'importe quelle expression booléenne, c'est-à-dire
une expression qui évalue à vrai ou à faux. Par exemple, vous pouvez vérifier si un prix est
supérieur à un certain seuil en utilisant l'opérateur de comparaison ">" :
Si la condition est évaluée à vrai, les instructions suivantes dans la structure "if" seront
exécutées. Si la condition est évaluée à faux, vous pouvez utiliser la structure "else" pour
spécifier des instructions à exécuter à la place :
Il est également possible d'utiliser plusieurs structures "if" et "else" ensemble pour vérifier
plusieurs conditions de manière imbriquée :
Il est important de noter que les instructions exécutées dans une structure "if" ou "else" doivent
être placées entre accolades "{ }", même si elles ne comprennent qu'une seule instruction. Cela
permet de délimiter clairement la portée des instructions exécutées en fonction de la condition
vérifiée.
En résumé, la structure de contrôle "if" et "else" en PineScript vous permet d'exécuter des
instructions de manière conditionnelle, en fonction de l'évaluation de conditions booléennes.
Cela vous offre une grande flexibilité pour personnaliser le comportement de votre script en
fonction de différents facteurs de marché ou de votre stratégie de trading. 38
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
La boucle "for" est une structure de contrôle très utile en PineScript qui permet d'exécuter un
ensemble d'instructions plusieurs fois de manière automatisée. Elle est particulièrement utile
lorsque vous avez besoin de parcourir des tableaux ou de réaliser des opérations répétitives sur
des données.
Pour utiliser une boucle "for" en PineScript, vous devez déclarer un compteur qui sera utilisé
pour contrôler le nombre de répétitions de la boucle. Vous devez également définir une
condition de sortie qui indique quand la boucle doit s'arrêter. Enfin, vous devez inclure une
instruction qui incrémente ou décrémente le compteur à chaque itération de la boucle.
Dans cet exemple, la boucle "for" va s'exécuter 11 fois, car le compteur "i" est initialisé à 0 et est
incrémenté de 1 à chaque itération jusqu'à atteindre la valeur 10. Les instructions qui se
trouvent à l'intérieur de la boucle seront exécutées à chaque itération.
Il est également possible d'utiliser la boucle "for" avec des tableaux en PineScript. Par exemple :
Dans cet exemple, la boucle "for" va parcourir le tableau "values" et exécuter les instructions à
l'intérieur de la boucle avec chaque valeur du tableau. Ici, nous utilisons la fonction "plot" pour
afficher chaque valeur du tableau sur le graphique.
39
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
La boucle "while" est une structure de contrôle qui permet d'exécuter une ou plusieurs
instructions tant qu'une condition est vraie. Cette structure est utile lorsque vous souhaitez
répéter un processus jusqu'à ce qu'une condition donnée soit remplie.
Pour utiliser la boucle "while", vous devez d'abord spécifier une condition qui sera vérifiée à
chaque itération de la boucle. Si la condition est vraie, les instructions contenues dans la boucle
seront exécutées, puis la condition sera à nouveau vérifiée. Si la condition est fausse, la boucle
s'arrêtera et le programme continuera à s'exécuter à la ligne suivante.
Voici un exemple de code qui utilise la boucle "while" pour afficher les nombres de 1 à 10 :
Dans cet exemple, la variable "i" est initialisée à 1. La boucle "while" vérifie alors si "i" est
inférieur ou égal à 10. Si c'est le cas, la fonction "plot" est appelée avec "i" en argument, puis "i"
est incrémentée de 1. Ce processus est répété jusqu'à ce que "i" soit supérieur à 10, auquel cas
la boucle s'arrête et le programme continue à s'exécuter à la ligne suivante.
Il est important de bien définir la condition de sortie de la boucle "while", afin d'éviter les boucles
infinies. Si la condition n'est jamais remplie, la boucle continuera à s'exécuter indéfiniment, ce
qui peut entraîner des problèmes de performance et même bloquer le programme.
En résumé, la boucle "while" est un outil utile pour répéter un processus jusqu'à ce qu'une
condition donnée soit remplie. N'oubliez pas de bien définir la condition de sortie de la boucle
pour éviter les boucles infinies.
40
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Pour utiliser une fonction en PineScript, vous devez l'appeler en utilisant son nom et ses
paramètres. Voici quelques exemples de fonctions couramment utilisées en PineScript :
"strategy.entry" : Cette fonction permet d'exécuter une entrée de trade sur la plateforme
de trading en utilisant les paramètres spécifiés (symbole, type de trade, quantité, etc.).
"strategy.exit" : Cette fonction permet d'exécuter une sortie de trade sur la plateforme de
trading en utilisant les paramètres spécifiés (symbole, type de trade, quantité, etc.).
"security" : Cette fonction permet de récupérer les données de prix et de volume d'un actif
sur la plateforme de trading en utilisant les paramètres spécifiés (symbole, période, etc.).
"plot" : Cette fonction permet de tracer des données sur le graphique de prix en utilisant
les paramètres spécifiés (couleur, largeur, etc.).
Il existe de nombreuses autres fonctions en PineScript qui vous permettent de manipuler les
données de marché et d'exécuter des actions sur les plateformes de trading. Vous pouvez
consulter la documentation de PineScript pour en savoir plus sur les fonctions disponibles et
comment les utiliser dans v
41
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Les fonctions en PineScript sont des blocs de code qui sont exécutés lorsqu'ils sont appelés
par un autre script ou par une instruction dans le script actuel. Elles permettent de regrouper
des instructions qui sont souvent utilisées ensemble et de les exécuter de manière plus
efficace. Pour définir une fonction en PineScript, vous devez utiliser le mot-clé "function" suivi du
nom de la fonction et de ses arguments entre parenthèses. Par exemple :
Les arguments sont des variables qui sont passées à la fonction lorsqu'elle est appelée. Elles
peuvent être utilisées dans les instructions de la fonction de la même manière que n'importe
quelle autre variable.
Pour appeler une fonction, vous devez utiliser son nom suivi de ses arguments entre
parenthèses. Par exemple :
maFonction(arg1, arg2);
Les fonctions peuvent également retourner une valeur en utilisant l'instruction "return". Par
exemple :
La valeur de retour de la fonction peut être utilisée dans le script qui l'appelle, comme dans cet
exemple :
En utilisant les fonctions, vous pouvez écrire des scripts plus clairs et plus efficaces en
regroupant des instructions qui sont souvent utilisées ensemble et en les exécutant de manière
plus rapide. N'hésitez pas à explorer la documentation de PineScript pour en savoir plus sur les
fonctions et sur d'autres aspects de ce langage de programmation. 42
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Les fonctions sont un élément clé de PineScript, car elles permettent de regrouper du code de
manière organisée et réutilisable. En utilisant des fonctions, vous pouvez éviter de dupliquer du
code inutilement et rendre votre script plus facile à maintenir et à mettre à jour. Voici comment
définir une fonction en PineScript :
Il est également possible de définir des fonctions avec plusieurs arguments, des arguments
optionnels et des valeurs par défaut. Par exemple :
Il est également possible de définir des fonctions avec des arguments optionnels et des valeurs
par défaut, comme ceci :
43
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Les fonctions sont un élément clé de tout langage de programmation, y compris PineScript.
Elles permettent de regrouper un ensemble d'instructions en un seul bloc de code qui peut être
appelé à plusieurs reprises, ce qui facilite la lecture et la maintenance du code. Il existe
plusieurs types de fonctions en PineScript, notamment :
1. Les fonctions built-in sont celles qui sont intégrées dans PineScript et qui peuvent être
utilisées immédiatement. Elles sont utiles pour effectuer des calculs de base, manipuler
des chaînes de caractères ou encore accéder aux données de prix. Exemples :
● sma(source, length) : calculer la moyenne mobile simple
● rsi(source, length) : calculer l'indicateur de force relative
● strftime(format, timestamp) : convertir un timestamp en chaîne de caractères
2. Les fonctions utilisateur : Ces fonctions sont définies par l'utilisateur et peuvent être
utilisées pour effectuer des tâches spécifiques selon les besoins de l'utilisateur. Elles
sont déclarées en utilisant le mot-clé "function" suivi du nom de la fonction et de ses
paramètres (s'il y en a). Par exemple :
3. Les fonctions de données : Ces fonctions sont utilisées pour accéder aux données de
prix et d'indicateurs dans le script. Elles sont déclarées en utilisant le mot-clé "study"
suivi du nom de la fonction et de ses paramètres (s'il y en a). Par exemple :
Il est important de noter que les fonctions de données sont spécifiques au graphique sur lequel
elles sont utilisées. 44
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Pour passer des arguments à une fonction en PineScript, il suffit de les spécifier entre
parenthèses lors de l'appel de la fonction. Par exemple, si nous avons une fonction
"calculer_prix_moyen" qui prend en argument un tableau de prix et qui retourne le prix moyen de
ce tableau, nous pourrions l'appeler de la façon suivante :
Pour renvoyer une valeir depuis une fonction, nous utilisons le mot-clé "return" suivi de la valeur
à renvoyer. Par exemple, dans notre fonction "calculer_prix_moyen", nous pourrions renvoyer le
prix moyen de la façon suivante :
Il est important de noter que une fonction ne peut renvoyer qu'une seule valeur. Si nous
souhaitons renvoyer plusieurs valeurs, nous devrons utiliser un tableau ou un objet pour les
stocker.
Il est également important de bien définir les types de données attendus en argument et
renvoyés par la fonction, afin d'éviter les erreurs de type. Par exemple, si notre fonction
"calculer_prix_moyen" attend un tableau de prix en argument, nous devrons veiller à ne pas lui
passer un tableau de chaînes de caractères ou de booléens, ce qui entraînerait une erreur. De
même, si notre fonction renvoie un nombre réel, nous devrons veiller à ne pas l'utiliser comme si
elle renvoyait un entier ou une chaîne de caractères.
45
Chapitre 1 : Les bases de PineScript
Syntaxe et structure de base
Utilisation de ChatGPT pour obtenir de l'aide et des conseils sur l'utilisation de Pinescript.
Pour utiliser ChatGPT et obtenir de l'aide et des conseils sur l'utilisation de Pinescript, il suffit de
poser une question ou de saisir une requête sur le sujet dans la zone de texte de ChatGPT.
Par exemple, vous pouvez demander comment utiliser une fonction spécifique de Pinescript,
comment résoudre une erreur de syntaxe dans votre script, ou comment implémenter une
stratégie de trading particulière en utilisant Pinescript.
ChatGPT utilisera son modèle de langage pour comprendre votre question et vous fournir une
réponse précise et détaillée.
En utilisant ChatGPT, vous pouvez obtenir rapidement des réponses précises à vos questions
sur Pinescript et améliorer vos connaissances et votre compréhension de cet outil de trading
automatique.
Cela vous permettra de créer et de tester des scripts de manière plus efficace et de développer
des stratégies de trading plus performantes.
N'hésitez pas à utiliser ChatGPT comme un outil d'apprentissage et de référence pour vous
aider à maîtriser Pinescript et à réussir dans le monde du trading automatique.
46
47
48
Chapitre 2 : Analyses avec PineScript
Les principaux indicateurs
La moyenne mobile (moving average) est un indicateur qui permet de suivre la tendance à long
terme d'un actif en lissant les fluctuations à court terme. Il existe plusieurs types de moyennes
mobiles, dont la moyenne mobile simple (simple moving average, SMA) et la moyenne mobile
exponentielle (exponential moving average, EMA).
L'indice de force relative (relative strength index, RSI) mesure la force relative d'un actif en
comparant les gains et les pertes sur une période donnée. Il est couramment utilisé pour
détecter les surachats et les surventes, et pour identifier les points d'entrée et de sortie
potentiels.
L'oscillateur stochastique (stochastic oscillator) mesure la relation entre le prix de l'actif et son
intervalle de trading sur une période donnée. Il est couramment utilisé pour détecter les
surachats et les surventes, et pour identifier les points d'entrée et de sortie potentiels.
Ce code calcule une moyenne mobile simple sur la série de prix de clôture, en utilisant une
période de 50 périodes par défaut. Il utilise la fonction sma() de PineScript pour calculer la
moyenne mobile et la fonction plot() pour la tracer sur le graphique.
Ensuite, il utilise les instructions if pour définir les règles d'achat et de vente: si le prix de clôture
est supérieur à la moyenne mobile, la stratégie passe en position longue (achat) ; si le prix de
clôture est inférieur à la moyenne mobile, la stratégie passe en position courte (vente).
50
Chapitre 2 : Analyses avec PineScript
Les principaux indicateurs
Voici un exemple de code PineScript qui utilise l'indicateur de force relative (RSI) pour créer une
stratégie de trading basée sur l'achat lorsque l'RSI passe sous 30 et la vente lorsqu'il passe
au-dessus de 70:
Ce code utilise la fonction rsi() de PineScript pour calculer l'RSI sur la série de prix de clôture, en
utilisant une période de 14 périodes par défaut. Il définit également les seuils de survente et de
surachat à 30 et 70, respectivement. Ensuite, il utilise les instructions if pour définir les règles
d'achat et de vente: si l'RSI passe sous 30, la stratégie passe en position longue (achat) ; si l'RSI
passe au-dessus de 70, la stratégie passe en position courte (vente).
Il est important de noter que ce code ne constitue qu'un exemple simplifié et qu'il est
recommandé de mettre en place des filtres supplémentaires et des règles de gestion du risque
pour créer une stratégie de trading solide et robuste.
51
Chapitre 2 : Analyses avec PineScript
Les principaux indicateurs
Pour calculer la ligne de signal du MACD, on calcule une moyenne mobile simple (SMA) de la
ligne MACD sur une période de temps donnée (par exemple, 9 périodes). Enfin, on calcule
l'histogramme MACD en soustrayant la ligne de signal de la ligne MACD.
Dans ce code PineScript, on utilise les fonctions ema() et sma() de PineScript pour calculer
respectivement la ligne MACD et la ligne de signal du MACD. On utilise également la fonction
plot() pour tracer les lignes sur le graphique et la fonction barcolor() pour colorier l'histogramme
MACD en vert ou en rouge en fonction de sa valeur. Enfin, on utilise les instructions if pour
définir les règles d'achat et de vente: si la ligne MACD est supérieure à la ligne de signal, la
stratégie passe en position longue (achat) ; si la ligne MACD est inférieure à la ligne de signal, la
stratégie passe en position courte (vente). 52
Chapitre 2 : Analyses avec PineScript
Les principaux indicateurs
Le stochastique mesure la vitesse de changement de prix d'un actif en comparant les prix de
clôture aux plus hauts et aux plus bas sur une période de temps donnée. On calcule d'abord le
stochastique K en utilisant la fonction stoch() de PineScript. On peut ensuite lisser le
stochastique K en calculant sa moyenne mobile simple (SMA) sur une période de temps donnée
(par exemple, 3 périodes). On calcule enfin le stochastique D en calculant la SMA du
stochastique K sur une autre période de temps (par exemple, 3 périodes).
2. Formulez votre question en utilisant des termes clés tels que "PineScript", "indicateur",
"prix", etc.
3. ChatGPT vous répondra avec une réponse précise et détaillée qui répondra à votre
question.
4. Si vous avez besoin de plus d'aide ou si vous avez d'autres questions, vous pouvez
continuer à discuter avec ChatGPT pour obtenir des conseils et des recommandations
sur l'utilisation de Pinescript.
Par exemple, si vous voulez savoir comment utiliser une moyenne mobile dans un script
PineScript, vous pouvez poser la question suivante à ChatGPT : "Comment puis-je utiliser une
moyenne mobile dans un script PineScript ?" ChatGPT vous répondra avec une explication
détaillée sur la façon d'utiliser une moyenne mobile dans Pinescript, ainsi que des exemples de
code qui montrent comment cela fonctionne en pratique.
En utilisant ChatGPT de cette manière, vous pouvez facilement obtenir de l'aide et des conseils
sur l'utilisation des indicateurs et des données de prix dans Pinescript, ce qui vous permettra de
créer des stratégies de trading efficaces et performantes.
En incluant ces points dans votre chapitre, vous offrirez à vos lecteurs une vue d'ensemble
complète et détaillée de l'utilisation de ChatGPT pour obtenir de l'aide et des conseils sur
l'utilisation des indicateurs et des données de prix dans Pinescript. Vous leur donnerez
également toutes les informations et les outils nécessaires pour utiliser ChatGPT de manière
efficace et obtenir les meilleurs résultats possible dans leur trading automatique. 54
Chapitre 2 : Analyses avec PineScript
Utiliser ChatGPT avec efficience
1. Comment formuler une question claire et précise à ChatGPT pour obtenir une réponse
précise et détaillée ?
Il est important de formuler une question claire et précise. Essayez d'être aussi
spécifique que possible en utilisant des termes précis et en décrivant précisément ce que
vous cherchez à savoir ou à faire. Par exemple, au lieu de poser une question générale
comme "Comment utiliser les indicateurs techniques dans Pinescript ?", posez une
question plus spécifique comme "Comment utiliser le RSI dans Pinescript pour détecter
les surachats et les surventes ?"
2. Comment naviguer dans les différents menus et options de ChatGPT pour accéder aux
réponses et aux informations les plus pertinentes.
Pour naviguer dans ces menus et options de manière efficace, il est important de prendre
le temps de lire attentivement les instructions et de suivre les liens proposés pour
accéder aux informations les plus pertinentes.
4. Comment utiliser ChatGPT pour tester et valider vos scripts PineScript avant de les
utiliser sur un compte de trading réel.
Pour profiter au maximum de cette fonctionnalité, il est important de formuler des
requêtes précises et de jouer avec les différents paramètres.
5. Comment utiliser ChatGPT pour obtenir de l'aide et des conseils sur les différentes
versions de PineScript et sur les fonctionnalités et les capacités de cet outil.
Pour profiter au maximum de cette fonctionnalité, il est important de prendre le temps de
lire attentivement les instructions et de suivre les liens proposés pour accéder aux
informations les plus pertinentes. Vous pouvez également formuler des requêtes
précises pour obtenir des réponses précises et détaillées sur les sujets qui vous
intéressent.
55
56
Chapitre 3 : Création d’un script PineScript
Step by step
Le démarrage du script Pine est très simple, il n'y a rien à télécharger ou à installer.
Si vous avez déjà un compte avec TradingView, il vous suffit de vous rendre sur votre graphique.
Si vous n'avez pas de compte, allez sur www.tradingview.com. De là, vous verrez une boîte de
connexion dans le coin supérieur droit.
Le fait d'avoir un compte vous permet d'enregistrer vos scripts dans le nuage TradingView et
vous donne la possibilité d'ajouter des indicateurs personnalisés à vos graphiques.
Une fois inscrit, lancez la plateforme graphique en cliquant sur le graphique dans le menu ou en
naviguant sur www.tradingview.com/chart.
Dans le script Pine, vous allez créer soit un indicateur, soit une stratégie. Nous discuterons
longuement des différences dans cet article.
57
Chapitre 3 : Création d’un script PineScript
Step by step
L'éditeur Pine est l'endroit où nous allons créer notre code. Pour le lancer, cliquez sur Pine Editor
tout en bas de votre écran. Un écran ressemblant à l'image ci-dessous devrait apparaître.
Dans le script Pine, vous allez créer soit un indicateur, soit une stratégie. Nous discuterons
longuement des différences dans cet article. Si vous suivez, l'écran que vous regardez
maintenant est le script de départ par défaut pour créer un indicateur. Nous allons le parcourir
ligne par ligne.
// This source code is subject to the terms of the Mozilla Public License 2.0 at
https://mozilla.org/MPL/2.0/
La première ligne est simplement un commentaire. Les commentaires dans le script Pine
commencent par deux barres obliques.
// © cryptoforexgoat
La deuxième ligne est également un commentaire, il est auto-populé avec votre nom
d'utilisateur TradingView.
//@version=5
À la quatrième ligne, vous pourriez penser que nous avons encore un autre commentaire.
Cependant, cette ligne est un peu différente. C'est ce que l'on appelle une directive du
compilateur. Elle permet au compilateur de savoir quelle version du script Pine nous voulons
utiliser.
Vous pouvez renoncer aux deux premières lignes de commentaire si vous le souhaitez, mais la
directive du compilateur est obligatoire dans tous les scripts.
58
Chapitre 3 : Création d’un script PineScript
Step by step
indicator("Mon script")
La ligne 5 est une déclaration. C'est ici que vous spécifiez si vous créez un indicateur.
L'alternative est de créer une stratégie, mais nous allons commencer par l'indicateur.
La deuxième partie de la ligne 5, entre guillemets, est le nom que nous allons attribuer à cet
indicateur particulier. Le nom par défaut est My Script.
plot(close)
La ligne 6 contient la commande plot. Comme vous l'avez peut-être deviné, elle indique à
TradingView de tracer une variable spécifique.
Dans ce cas, c'est la variable close qui sera tracée. Il s'agit d'une variable intégrée qui contient le
prix de clôture de la dernière barre.
59
Chapitre 3 : Création d’un script PineScript
Step by step
Une fois enregistré, votre graphique devrait avoir une nouvelle fenêtre qui contient un graphique
des prix de clôture de votre graphique principal.
Cette fenêtre s'appelle la fenêtre de données. Dans l'image ci-dessus, c'est le graphique linéaire
qui est dessiné en bleu.
Notez que la fenêtre de données affiche "Mon script" dans le coin supérieur gauche. Cela tire
tout ce qui est entré dans la ligne 5 de notre code où nous avons déclaré un nom pour
l'indicateur.
Et voilà, notre premier indicateur et nous n'avons même pas eu besoin d'écrire de code !
60
Chapitre 3 : Création d’un script PineScript
Step by step
Dans notre premier exemple, nous avons tracé le prix de clôture. Le script Pine le fera
automatiquement pour n'importe quel graphique ouvert.
Mais que faire si vous voulez obtenir des données pour un autre actif ? Prenons un exemple où
nous récupérons le prix d'Apple même si nous n'avons pas son graphique ouvert.
Chaque script commence par quelques lignes où nous définissons la directive du compilateur.
Nous indiquons également s'il s'agit d'un indicateur ou d'une stratégie que nous créons, et nous
lui attribuons un nom.
//@version=5
indicateur("Prix de la Tesla")
Dans ce cas, nous créons un indicateur. Le nom de cet indicateur est "Prix de Tesla".
Ensuite, nous devons indiquer à Pine Script que nous sommes intéressés par un actif autre que
celui qui est actuellement affiché sur le graphique.
request.security()
Une caractéristique intéressante de Pine Script est que l'aide est toujours facilement disponible
si vous travaillez avec une syntaxe que vous n'avez jamais utilisée auparavant.
61
Chapitre 3 : Création d’un script PineScript
Step by step
Pour des informations plus détaillées, vous pouvez lancer une fenêtre d'aide. Pour ce faire,
appuyez sur CTRL tout en cliquant sur la fonction sur un PC. Ou, sur un Mac, appuyez sur CMD
tout en cliquant sur la fonction.
Nous avons utilisé une syntaxe similaire à celle de l'exemple dans l'extrait de code ci-dessus. La
première valeur de la fonction security est le symbole du ticker, à savoir AAPL.
Ensuite, nous avons défini l'intervalle de temps sur quotidien. Et enfin, nous avons indiqué au
script Pine que nous sommes intéressés par le prix de clôture.
62
Chapitre 3 : Création d’un script PineScript
Step by step
Les études créées dans le script Pine doivent avoir au moins une sortie, sinon, le script générera
une erreur de compilation.
Traçons notre variable pour qu'elle satisfasse à la règle du script Pine concernant la présence
d'une sortie.
plot(prix_tesla)
Nous avons maintenant le prix de clôture quotidien de Tesla tracé dans la fenêtre de données
tandis que la fenêtre principale affiche un graphique en chandelier du Bitcoin.
63
Chapitre 3 : Création d’un script PineScript
Step by step avec la SMA de Tesla
Maintenant que nous pouvons accéder au cours de l'action Tesla, voyons un exemple de
récupération d'une moyenne mobile simple.
Le même processus peut être utilisé pour appliquer n'importe quel indicateur.
Nous allons commencer par nos déclarations de base et utiliser la fonction de sécurité que
nous avons créée dans notre dernier exemple.
//@version=5
indicator("Obtenir la SMA 20 de Tesla")
Si vous ne cherchez pas à obtenir la 20 SMA spécifiquement pour AAPL, vous pouvez sauter la
définition de la sécurité et utiliser simplement la variable intégrée close.
Celle-ci récupérera le prix de clôture de n'importe quel titre affiché dans la fenêtre principale du
graphique.
Il existe une fonction d'aide pour l'indicateur SMA intégrée au script Pine. Pour y accéder, nous
utilisons simplement la fonction ta.sma().
ta.sma(tesla_price, 20)
Le premier paramètre que nous devons passer est la valeur du prix. Dans ce cas, nous utilisons
le prix de clôture d'Apple que nous avons stocké dans notre variable tesla_price.
Le deuxième paramètre est la longueur de la SMA. Nous recherchons une SMA de 20 périodes.
Enfin, nous allons affecter les données de la SMA à une variable distincte, puis les tracer.
plot(apple_sma)
La moyenne mobile simple pour Apple est maintenant tracée dans notre fenêtre de données.
64
Chapitre 3 : Création d’un script PineScript
Step by step avec la SMA de Tesla
Les moyennes mobiles sont généralement tracées sur le graphique principal. Nous pouvons y
parvenir avec une légère modification de notre code.
En ajoutant overlay=True dans la déclaration de l'indicateur, nous pouvons afficher nos données
directement dans la fenêtre principale du graphique plutôt que dans la fenêtre de données.
65
Chapitre 3 : Création d’un script PineScript
Step by step avec la SMA de Tesla
Nous avons passé en revue les indicateurs. Jetons un coup d'œil aux stratégies dans Pine
Script.
Dans l'exemple suivant, nous allons créer une stratégie de croisement de moyennes mobiles
avec quelques paramètres supplémentaires. Nous allons ensuite backtester la stratégie dans
TradingView.
//@version=5
strategy("Ma stratégie", overlay=true)
Pour créer une stratégie, nous remplaçons la déclaration de l'indicateur par une déclaration de
stratégie.
La première chose que nous voulons faire est de créer deux moyennes mobiles et d'assigner les
données aux variables.
Nous allons également créer un indicateur RSI qui sera utilisé pour confirmer nos entrées et
sorties.
Cette stratégie sera exécutée sur le graphique principal, nous n'avons donc pas besoin d'utiliser
la fonction security() ici.
Nous avons deux conditions, la première est lorsque la SMA courte, la 10-période, croise
au-dessus de la SMA longue 30-période.
66
Chapitre 3 : Création d’un script PineScript
Step by step avec la SMA de Tesla
La deuxième condition est l'inverse car nous avons utilisé la fonction crossunder par opposition
à crossover.
Ces deux conditions sont enregistrées dans des variables. Ainsi, lorsque le crossover ou le
crossunder se produit, ces variables sont mises à jour à True, qui est une valeur booléenne.
Nous pouvons utiliser une instruction if pour vérifier si la condition est passée à True, puis
exécuter une transaction si c'est le cas.
if (longCondition)
strategy.entry("long", strategy.long, when = rsi > 50)
La fonction intégrée strategy.entry est utilisée pour entrer des transactions. Voici les paramètres
qui sont transmis à la fonction.
"long" - il s'agit d'un identifiant de transaction. Nous ne l'utiliserons pas dans cet exemple. Mais
si vous prévoyez de fermer ou d'annuler une transaction, vous pouvez le faire avec cet
identifiant.
strategy.long - il s'agit d'une variable intégrée qui indique au script Pine que nous voulons être
long.
when = rsi > 50 - il s'agit d'un paramètre supplémentaire qui indique au script Pine d'exécuter la
transaction uniquement si le RSI est supérieur à 50.
if (shortCondition)
strategy.entry("short", strategy.short, when = rsi < 50)
Puisque nous exécutons une stratégie, nous n'avons pas besoin de tracer quoi que ce soit ou de
spécifier une sortie.
Mais nous le ferons quand même. Il serait bien de voir les SMA sur le graphique afin de pouvoir
confirmer que les transactions ont eu lieu au moment où elles auraient dû avoir lieu.
67
Chapitre 3 : Création d’un script PineScript
Step by step avec la SMA de Tesla
Vous pouvez facilement passer d'un cadre temporel (timeframe) à un autre en utilisant les
options de cadre temporel dans le menu en haut de l'écran. La stratégie se met
automatiquement à jour en fonction du nouveau cadre temporel choisi.
68
Chapitre 3 : Création d’un script PineScript
avec ChatGPT
2. Formulez votre question en utilisant des termes clés tels que "PineScript", "indicateur",
"prix", etc.
3. ChatGPT vous répondra avec une réponse précise et détaillée qui répondra à votre
question.
4. Si vous avez besoin de plus d'aide ou si vous avez d'autres questions, vous pouvez
continuer à discuter avec ChatGPT pour obtenir des conseils et des recommandations
sur l'utilisation de Pinescript.
Par exemple, si vous voulez savoir comment utiliser une moyenne mobile dans un script
PineScript, vous pouvez poser la question suivante à ChatGPT : "Comment puis-je utiliser une
moyenne mobile dans un script PineScript ?" ChatGPT vous répondra avec une explication
détaillée sur la façon d'utiliser une moyenne mobile dans Pinescript, ainsi que des exemples de
code qui montrent comment cela fonctionne en pratique.
En utilisant ChatGPT de cette manière, vous pouvez facilement obtenir de l'aide et des conseils
sur l'utilisation des indicateurs et des données de prix dans Pinescript, ce qui vous permettra de
créer des stratégies de trading efficaces et performantes.
En incluant ces points dans votre chapitre, vous offrirez à vos lecteurs une vue d'ensemble
complète et détaillée de l'utilisation de ChatGPT pour obtenir de l'aide et des conseils sur
l'utilisation des indicateurs et des données de prix dans Pinescript. Vous leur donnerez
également toutes les informations et les outils nécessaires pour utiliser ChatGPT de manière
efficace et obtenir les meilleurs résultats possible dans leur trading automatique. 69
Chapitre 3 : Création d’un script PineScript
avec ChatGPT
1. Comment formuler une question claire et précise à ChatGPT pour obtenir une réponse
précise et détaillée ?
Il est important de formuler une question claire et précise. Essayez d'être aussi
spécifique que possible en utilisant des termes précis et en décrivant précisément ce que
vous cherchez à savoir ou à faire. Par exemple, au lieu de poser une question générale
comme "Comment utiliser les indicateurs techniques dans Pinescript ?", posez une
question plus spécifique comme "Comment utiliser le RSI dans Pinescript pour détecter
les surachats et les surventes ?"
2. Comment naviguer dans les différents menus et options de ChatGPT pour accéder aux
réponses et aux informations les plus pertinentes.
Pour naviguer dans ces menus et options de manière efficace, il est important de prendre
le temps de lire attentivement les instructions et de suivre les liens proposés pour
accéder aux informations les plus pertinentes.
4. Comment utiliser ChatGPT pour tester et valider vos scripts PineScript avant de les
utiliser sur un compte de trading réel.
Pour profiter au maximum de cette fonctionnalité, il est important de formuler des
requêtes précises et de jouer avec les différents paramètres.
5. Comment utiliser ChatGPT pour obtenir de l'aide et des conseils sur les différentes
versions de PineScript et sur les fonctionnalités et les capacités de cet outil.
Pour profiter au maximum de cette fonctionnalité, il est important de prendre le temps de
lire attentivement les instructions et de suivre les liens proposés pour accéder aux
informations les plus pertinentes. Vous pouvez également formuler des requêtes
précises pour obtenir des réponses précises et détaillées sur les sujets qui vous
intéressent.
70
71
72
Chapitre 4 : Test et validation PineScript
Gérer les erreurs et les exceptions
La console située en bas de votre script indique les erreurs de compilation lors de la
sauvegarde. Parfois cette information suffit, comme sur l’image suivante :
Vous pouvez toujours demander à ChatGPT “quelle serait la solution de cette erreur copier-coller
l’erreur ?“ et voir où ça vous mène.
Parfois, cela demande davantage de recherches sur des sites tels que Google, Stackoverflow,
Reddit, Youtube…, pour réussir à corriger la ou les erreurs
● Google
● Stackoverflow
● Kodify
● Reddit
● Pine Script v4 documentation
● Pine Script v5 documentation
● Pinecoders
73
Chapitre 4 : Test et validation PineScript
Le backtesting
Le backtesting permet de tester une stratégie de trading sur des données historiques afin de
déterminer comment elle aurait performé dans le passé. Cela peut être utile pour évaluer la
viabilité d'une stratégie avant de l'utiliser pour trader en temps réel. Trading View est une
plateforme en ligne qui permet aux traders de développer et de tester des stratégies de trading
grâce à des outils de backtesting. Les utilisateurs peuvent créer des graphiques et des
indicateurs personnalisés, et utiliser l'historique des données de marché pour tester comment
une stratégie aurait performé dans le passé.
Voici les étapes à suivre pour réaliser le backtesting d'une stratégie dans Trading View :
3. Ajoutez les indicateurs et les outils de trading que vous souhaitez utiliser dans votre
stratégie, ou sélectionnez votre propre script.
4. Définissez les règles de votre stratégie, comme le moment où entrer et sortir d'une
position.
5. Cliquez sur l'onglet "Testeur de stratégie" dans le menu situé en haut de la page.
7. Sélectionnez les paramètres de backtesting, tels que la période de temps à tester et les
frais de transaction à inclure.
9. Trading View affichera les résultats du backtesting, y compris les bénéfices ou les pertes
réalisées selon votre stratégie.
Il est important de noter que le backtesting ne garantit pas les résultats futurs et ne peut pas
tenir compte de tous les facteurs qui peuvent affecter les trades en temps réel. C'est pourquoi
il est recommandé de toujours utiliser des stratégies de gestion du risque et de ne pas investir
plus que ce que vous êtes prêt à perdre.
74
Chapitre 4 : Test et validation PineScript
Backtesting pour risques maxi
Backtestons le script réalisé en fin de chapitre précédent avec 100% du capital par trade (ceci
n’est pas un conseil en investissement). Observons les résultats dans l’onglet “testeur de
stratégie” sur une longue période de août 2017 à fin 2022. Voici en daily (D).
75
Chapitre 4 : Test et validation PineScript
Backtesting pour risques maxi
En 4h,
76
Chapitre 4 : Test et validation PineScript
Backtesting pour risques maxi
En 2h,
77
Chapitre 4 : Test et validation PineScript
Backtesting pour risques maxi
Les backtesting précédents ne tenaient pas compte des frais de commission et de slippage.
Ajoutons ces frais (commission = 0.03% et slippage = 5 ticks).
Le nombre de trades réalisés sur la période en time frame Daily est faible, les frais ont donc un
impact faible sur la performance générale du script (6.85 fois plus performant que le marché).
78
Chapitre 4 : Test et validation PineScript
Backtesting pour risques maxi
En 4h,
Cette fois, on réalise 7 fois plus de trades qu’en Daily. On est donc plus exposé aux différents
frais, le script est désormais 2.15 fois plus performant que le marché (2.7 sans les frais).
79
Chapitre 4 : Test et validation PineScript
Backtesting pour risques maxi
En 2h,
Cette fois, on réalise 15 fois plus de trades qu’en Daily. On est donc encore plus exposé aux
différents frais, le script est désormais 4.3 fois plus performant que le marché (6.25 sans les
frais)
80
Chapitre 4 : Test et validation PineScript
Backtesting pour risques 25%
On passe d’une taille d’ordre de 100% d’équité à une de 25% d’équité (capital disponible).
81
Chapitre 4 : Test et validation PineScript
Backtesting pour risques 25%
En Daily,
Le ratio Profit net / Drawdown Max est de 19.3 et la rentabilité en Pourcentage 44.19% 82
Chapitre 4 : Test et validation PineScript
Backtesting pour risques 25%
En 2h,
On fait une performance 14.4 fois supérieure au marché (acheter et conserver les BTC depuis la
date du lancement du backtest) en réalisant un profit net de 77.77% contre 5.29% pour le
marché avec un DD maxi de 19.19% . Cependant le marché à surperformer le script de janvier
2021 à juin 2022 (“bullrun + ATH + bear market")
Pourrait-on en déduire que ce script semble plus intéressant pour les périodes de consolidation
ou la volatilité sont plus faibles ? 83
Chapitre 4 : Test et validation PineScript
Backtesting pour risques 10%
En 2h,
On fait une performance 5.2 fois supérieure au marché (acheter et conserver les BTC depuis la
date du lancement du backtest) en réalisant un profit net de 77.77% contre 5.29% pour le
marché avec un DD maxi de 19.19% . Cependant le marché à surperformer le script de janvier
2021 à juin 2022 (“bullrun + ATH + bear market")
Pourrait-on en déduire que ce script semble plus intéressant pour les périodes de consolidation
ou la volatilité sont plus faibles ? 84
Chapitre 4 : Test et validation PineScript
Backtesting pour risques 10%
En 2h,
Zone 1
Zone 2
Et en décochant l’option “Acheter et conserver les titres” on obtient une ordonnée mise à l’
échelle pour le profit net. Le script semble donner des résultats positifs sur les 4 premières
années, jusqu’à fin octobre 2021 (zone 1). Puis être en difficulté sur la période du bear market de
fin 2021 à fin 2022 - début 2023 (zone 2).
Peut-on imaginer la zone 2 continuer en conservant sa hauteur pour une période de quelques
mois puis une zone 1 reprendre peu après ? 85
Chapitre 4 : Test et validation PineScript
Outils de backtesting
2. Formulez votre question en utilisant des termes clés tels que "PineScript", "indicateur",
"prix", etc.
3. ChatGPT vous répondra avec une réponse précise et détaillée qui répondra à votre
question.
4. Si vous avez besoin de plus d'aide ou si vous avez d'autres questions, vous pouvez
continuer à discuter avec ChatGPT pour obtenir des conseils et des recommandations
sur l'utilisation de Pinescript.
Par exemple, si vous voulez savoir comment utiliser une moyenne mobile dans un script
PineScript, vous pouvez poser la question suivante à ChatGPT : "Comment puis-je utiliser une
moyenne mobile dans un script PineScript ?" ChatGPT vous répondra avec une explication
détaillée sur la façon d'utiliser une moyenne mobile dans Pinescript, ainsi que des exemples de
code qui montrent comment cela fonctionne en pratique.
En utilisant ChatGPT de cette manière, vous pouvez facilement obtenir de l'aide et des conseils
sur l'utilisation des indicateurs et des données de prix dans Pinescript, ce qui vous permettra de
créer des stratégies de trading efficaces et performantes.
En incluant ces points dans votre chapitre, vous offrirez à vos lecteurs une vue d'ensemble
complète et détaillée de l'utilisation de ChatGPT pour obtenir de l'aide et des conseils sur
l'utilisation des indicateurs et des données de prix dans Pinescript. Vous leur donnerez
également toutes les informations et les outils nécessaires pour utiliser ChatGPT de manière
efficace et obtenir les meilleurs résultats possible dans leur trading automatique. 86
Chapitre 4 : Test et validation PineScript
Outils de backtesting
1. Comment formuler une question claire et précise à ChatGPT pour obtenir une réponse
précise et détaillée ?
Il est important de formuler une question claire et précise. Essayez d'être aussi
spécifique que possible en utilisant des termes précis et en décrivant précisément ce que
vous cherchez à savoir ou à faire. Par exemple, au lieu de poser une question générale
comme "Comment utiliser les indicateurs techniques dans Pinescript ?", posez une
question plus spécifique comme "Comment utiliser le RSI dans Pinescript pour détecter
les surachats et les surventes ?"
2. Comment naviguer dans les différents menus et options de ChatGPT pour accéder aux
réponses et aux informations les plus pertinentes.
Pour naviguer dans ces menus et options de manière efficace, il est important de prendre
le temps de lire attentivement les instructions et de suivre les liens proposés pour
accéder aux informations les plus pertinentes.
4. Comment utiliser ChatGPT pour tester et valider vos scripts PineScript avant de les
utiliser sur un compte de trading réel.
Pour profiter au maximum de cette fonctionnalité, il est important de formuler des
requêtes précises et de jouer avec les différents paramètres.
5. Comment utiliser ChatGPT pour obtenir de l'aide et des conseils sur les différentes
versions de PineScript et sur les fonctionnalités et les capacités de cet outil.
Pour profiter au maximum de cette fonctionnalité, il est important de prendre le temps de
lire attentivement les instructions et de suivre les liens proposés pour accéder aux
informations les plus pertinentes. Vous pouvez également formuler des requêtes
précises pour obtenir des réponses précises et détaillées sur les sujets qui vous
intéressent.
87
88
Chapitre 5 : Techniques avancées
Les réseaux de neurones
Les réseaux de neurones sont des algorithmes de machine learning qui sont utilisés pour
modéliser les relations complexes entre différentes variables. En trading automatique, les
réseaux de neurones peuvent être utilisés pour prédire les prix de l'actif sous-jacent en
analysant les données de prix historiques et en identifiant des modèles de comportement
récurrents.
Voici les étapes générales pour utiliser des réseaux de neurones pour prédire les prix de l'actif
sous-jacent dans le trading automatique :
● Collectez et préparez les données de prix historiques de l'actif sous-jacent que vous
souhaitez utiliser pour entraîner votre réseau de neurones.
● Construisez et entraînez votre réseau de neurones en utilisant ces données de prix
historiques.
● Utilisez votre réseau de neurones entraîné pour prédire les prix futurs de l'actif
sous-jacent en entrée des données courantes de prix et en obtenant les prédictions de
prix en sortie.
● Utilisez ces prédictions de prix pour prendre des décisions de trading automatique en
utilisant un script PineScript.
Il est important de noter que les réseaux de neurones sont des algorithmes de machine learning
qui nécessitent un grand nombre de données pour fonctionner correctement. Pour obtenir de
bons résultats avec les réseaux de neurones dans le trading automatique, il est recommandé
d'utiliser des données de prix de qualité et une grande quantité de données pour entraîner votre
réseau de neurones.
En résumé, les réseaux de neurones sont des algorithmes de machine learning qui peuvent être
utilisés pour prédire les prix de l'actif sous-jacent dans le trading automatique. Pour utiliser les
réseaux de neurones dans le trading automatique, vous devez collecter et préparer les données
de prix historiques de l'actif sous-jacent, construire et entraîner votre réseau de neurones avec
ces données, utiliser votre réseau de neurones entraîné pour prédire les prix futurs de l'actif
sous-jacent, et utiliser ces prédictions de prix pour prendre des décisions de trading
automatique en utilisant un script PineScript. Il est recommandé d'utiliser des données de prix
de qualité et une grande quantité de données pour obtenir de bons résultats avec les réseaux de
neurones dans le trading automatique.
89
Chapitre 5 : Techniques avancées
Apprendre un peu plus
Pour les débutants qui souhaitent apprendre à créer des réseaux de neurones, il est
recommandé de commencer par des tutoriels et des cours en ligne pour comprendre les bases
du machine learning et des réseaux de neurones. Il existe de nombreuses ressources en ligne,
telles que des cours en ligne gratuits, des livres et des articles de blog, qui vous aideront à
comprendre les concepts clés et les techniques utilisées dans les réseaux de neurones.
Voici quelques liens vers des sites d'actualité et de formation en machine learning et en réseaux
de neurones qui pourraient être utiles pour les débutants :
● Coursera : https://www.coursera.org/courses?query=machine%20learning
● edX : https://www.edx.org/learn/machine-learning
● Dataconomy : https://dataconomy.com/category/machine-learning/
90
Chapitre 5 : Techniques avancées
Les algorithmes génétiques
Les algorithmes génétiques sont une technique de recherche opérationnelle qui peut être
utilisée pour optimiser les paramètres d'un script PineScript dans le trading automatique. Ils
sont basés sur le concept de sélection naturelle et d'évolution, et sont conçus pour trouver des
solutions optimales à des problèmes complexes en utilisant une approche itérative.
Pour utiliser des algorithmes génétiques pour optimiser les paramètres d'un script PineScript,
vous devez d'abord définir les paramètres que vous souhaitez optimiser et leurs domaines de
valeurs possibles. Vous devez également définir une fonction de performance ou un indicateur
de performance, qui mesure la qualité de la solution trouvée par l'algorithme génétique.
Ensuite, vous devez initialiser une population de scripts PineScript avec des valeurs aléatoires
pour les paramètres à optimiser. Vous devez exécuter ces scripts sur des données de prix
historiques pour évaluer leur performance en utilisant la fonction de performance définie.
L'algorithme génétique itère alors sur la population de scripts en utilisant des opérations de
croisement et de mutation pour générer de nouvelles versions de scripts avec des valeurs de
paramètres modifiées. Ces nouvelles versions de scripts sont évaluées de la même manière et
les meilleures solutions sont conservées pour la prochaine itération.
Ce processus est répété jusqu'à ce qu'une solution optimale soit trouvée ou jusqu'à ce qu'un
nombre maximum d'itérations soit atteint. Une fois que l'algorithme génétique a trouvé une
solution optimale, vous pouvez utiliser le script PineScript ainsi créé pour exécuter des trades
automatisés sur votre plateforme de trading.
En utilisant des algorithmes génétiques pour optimiser les paramètres d'un script PineScript,
vous pouvez améliorer significativement la performance de votre stratégie de trading
automatisée en adaptant les paramètres du script aux caractéristiques de l'actif sous-jacent et
aux conditions du marché.
91
Chapitre 5 : Techniques avancées
Intégrer des données externes
Il est souvent utile d'intégrer des données externes, telles que les news et les tweets, dans un
script PineScript pour améliorer la performance de votre stratégie de trading automatisée. Ces
données peuvent fournir des indicateurs fondamentaux et techniques supplémentaires qui
peuvent influencer les prix de l'actif sous-jacent et aider à prendre de meilleures décisions de
trading.
Pour intégrer des données externes dans un script PineScript, vous devez d'abord trouver une
source de données qui fournit les informations que vous souhaitez utiliser. Il existe de
nombreuses sources de données externes disponibles en ligne, telles que des bases de
données de news, de tweets et de données financières.
Une fois que vous avez trouvé une source de données externes, vous devez télécharger ou
accéder aux données de manière programmatique. Cela peut être fait en utilisant des
bibliothèques de scraping de données, comme Beautiful Soup ou Selenium, ou en utilisant des
API (Application Programming Interface) pour accéder aux données de manière structurée.
Une fois que vous avez accédé aux données externes, vous devez les préparer pour l'intégration
dans votre script PineScript. Cela implique généralement de nettoyer et de transformer les
données pour qu'elles soient au format souhaité et de les stocker de manière appropriée.
Enfin, vous devez intégrer les données externes dans votre script PineScript en les utilisant
comme des variables ou des indicateurs supplémentaires dans votre stratégie de trading. Vous
pouvez utiliser ces données pour déclencher des trades, pour filtrer les trades ou pour moduler
les paramètres de votre stratégie de trading.
En intégrant des données externes dans votre script PineScript, vous pouvez améliorer
significativement la performance de votre stratégie de trading automatisée en utilisant des
informations supplémentaires qui peuvent influencer les prix de l'actif sous-jacent.
92
93
94
Chapitre 6 : Exemples de PineScript
Exemple de script de base
un exemple de script PineScript de base qui utilise l'indicateur RSI (Relative Strength Index) pour
déclencher des trades d'achat lorsque le RSI entre en survente et de vente lorsque le RSI entre
en surachat :
Le RSI est un indicateur technique qui mesure la force relative d'un actif sur une période
donnée. Il est calculé en divisant la somme des mouvements haussiers par la somme des
mouvements baissiers sur la période considérée, et en utilisant un ratio de 100 pour normaliser
les résultats. Le RSI est considéré comme en survente lorsqu'il est inférieur à 30 et en surachat
lorsqu'il est supérieur à 70. Ces seuils peuvent être modifiés en fonction des caractéristiques de
l'actif sous-jacent et des conditions du marché.
Voici un exemple de script PineScript qui utilise l'indicateur RSI pour déclencher des trade
95
Chapitre 6 : Exemples de PineScript
Exemple de script avancé
Voici un exemple de script PineScript qui utilise plusieurs indicateurs techniques et données de
marché pour prendre des décisions de trading :
Il utilise également les fonctions de gestion du Enfin, le script utilise les fonctions de suivi
risque de PineScript, des performances de PineScript,
strategy.riskManagement.setRiskPerTrade, strategy.record et strategy.plot, pour
strategy.riskManagement.setStopLoss enregistrer et visualiser le bénéfice et la
et strategy.riskManagement.setTakeProfit, perte (P&L) de la stratégie sur le graphique.
pour contrôler la taille des trades et les stop loss
et take profit.
96
Chapitre 6 : Exemples de PineScript
Ressources supplémentaires
Il est important de pratiquer et tester les scripts PineScript avant de les utiliser sur un compte
de trading réel. Il existe plusieurs façons de le faire :
Il est également important de rester vigilant et de ne pas se fier uniquement aux résultats
obtenus lors de la pratique et du test des scripts PineScript. Le trading réel peut être affecté par
de nombreux facteurs qui ne sont pas pris en compte dans les données historiques ou de paper
trading. Pour en apprendre davantage sur le trading automatique et PineScript, voici quelques
ressources supplémentaires :
● La documentation de PineScript
● Les tutoriels et exemples de TradingView
● Les communautés de trading automatique en ligne : il existe de nombreuses
communautés de traders et de développeurs qui partagent leurs connaissances et leurs
expériences sur le trading automatique et PineScript.
● Utiliser ChatGPT pour générer des idées de stratégies de trading : demandez à ChatGPT
de vous suggérer des idées de stratégies de trading en utilisant différents indicateurs
techniques et données de marché.
● Utiliser ChatGPT pour optimiser les paramètres d'un script PineScript : demandez à
ChatGPT de vous aider à trouver les meilleurs paramètres pour un script PineScript en
utilisant l'algorithme génétique.
● Utiliser ChatGPT pour automatiser la création de scripts PineScript : demandez à
ChatGPT de créer un script PineScript en utilisant les indicateurs et les conditions de
trading que vous lui spécifiez.
97
98
Chapitre 7 : Intro ChatGPT
ChatGPT kezako ?
Pour utiliser chatGPT, vous devez d'abord lui fournir un prompt, c'est-à-dire un texte ou une
phrase qui définit le sujet ou le contexte de la conversation. Vous pouvez alors lui poser des
questions ou lui demander de générer du texte sur ce sujet. chatGPT utilisera alors ses
connaissances et ses capacités de compréhension du langage pour générer une réponse
cohérente et pertinente. ChatGPT est entraîné sur un grand corpus de données textuelles, ce qui
lui permet de comprendre le sens des mots et des phrases et de les utiliser de manière
appropriée dans ses réponses. Il peut également s'adapter à différents styles de langage et à
différents contextes de conversation.
En résumé, chatGPT est un outil de génération de texte basé sur l'IA qui vous permet de poser
des questions et de demander des informations sur différents sujets en utilisant un langage
naturel. Il utilise ses connaissances et sa compréhension du langage pour générer des
réponses cohérentes et pertinentes.
Vous pouvez même lui poser des questions sur sa capacité à traiter tel ou tel sujet. Ce qui
pourra vous permettre de lui poser des questions plus précises à l’avenir
Ici, il est peut-être judicieux de lui demander d’utiliser une version de pinescript spécifique et
inférieure à la v5 car elle est trop récente et que les anciennes sont synonymes de plus de
données pour l’IA.
100
Chapitre 7 : Intro ChatGPT
De ChatGPT à TradingView
Il est possible de copier-coller le script PineScript généré par chatGPT dans l'éditeur de script de
TradingView et de continuer l'édition et la mise en place du script. Cela peut être
particulièrement utile si vous souhaitez utiliser chatGPT comme point de départ pour votre
propre script PineScript ou si vous voulez personnaliser un script généré en y ajoutant des
indicateurs techniques ou des données de marché supplémentaires.
TIPS : Il est également possible de réaliser l’opération inverse et de copier coller du code depuis
TradingView pour demander à ChatGPT :
● de le corriger,
● d’expliquer son fonctionnement,
● s’inspirer de scripts partagés sur Tradingview en public pour répondre aux nouvelles
questions *
* Avertissement : uniquement les scripts et auteurs qui précisent une licence qui le
permet. Faîtes attention aux droits et types de licences de ces scripts. C’est votre
responsabilité.
Il est important de noter que le script généré par chatGPT peut comporter des erreurs ou des
incohérences qui peuvent affecter son fonctionnement dans TradingView. Si vous rencontrez
des erreurs lors de l'exécution du script dans TradingView, vous pouvez utiliser la console
d'erreurs de TradingView pour obtenir des informations sur l'erreur rencontrée et la cause
potentielle.
Vous pouvez également utiliser chatGPT pour obtenir de l'aide et des pistes de solution en lui
posant des questions sur l'erreur rencontrée et en lui demandant de vous proposer un nouveau
script corrigé. chatGPT peut utiliser ses connaissances en matière de syntaxe et de
fonctionnalités de PineScript pour vous aider à résoudre les problèmes rencontrés dans votre
script.
En résumé, il est possible de copier-coller le script PineScript généré par chatGPT dans l'éditeur
de script de TradingView et de continuer l'édition et la mise en place du script. Si vous
rencontrez des erreurs, vous pouvez utiliser la console d'erreurs de TradingView ou demander
de l'aide à chatGPT pour obtenir des pistes de solution et un nouveau script corrigé.
101
102
Chapitre 8 : ChatGPT & PineScript
Exemple de scripts générés par ChatGPT
103
Chapitre 8 : ChatGPT & PineScript
Exemple de scripts générés par ChatGPT
104
Chapitre 8 : ChatGPT & PineScript
Exemple de scripts générés par ChatGPT
105
Chapitre 8 : ChatGPT & PineScript
Exemple de scripts générés par ChatGPT
106
107
108
Chapitre 9 : Les risques présents
dans le trading automatique !
Le trading automatique peut être une méthode efficace pour négocier sur les marchés
financiers, mais il comporte également des risques qui doivent être pris en compte. Pour
minimiser ces risques et maximiser les chances de succès, il est essentiel de mettre en place
une stratégie de gestion du risque solide et de suivre de près les performances de votre
algorithme de trading.
L'un des principaux risques liés au trading automatique est la dépendance excessive à
l'algorithme. Bien que ces outils soient conçus pour prendre des décisions de trading de
manière objective et rapide, ils ne peuvent pas remplacer la connaissance approfondie du
marché et la capacité à évaluer les risques de chaque trade. Il est important de ne pas se fier
uniquement à l'algorithme et de toujours être en mesure de comprendre les raisons qui
sous-tendent chaque décision de trading.
Il est également important de mettre en place des limites de perte et de profit pour chaque
trade, afin de minimiser les pertes potentielles en cas de mouvement de marché imprévu. Il
existe plusieurs façons de définir ces limites, telles que l'utilisation de ratios de gestion du
risque, comme le "risk-reward ratio", qui détermine la relation entre le montant de risque
potentiel et le bénéfice potentiel sur chaque trade.
Comment déterminer la taille des positions et niveaux de stop loss et take profit ?
Déterminer la taille des positions et les niveaux de stop loss et take profit est une partie
importante de la gestion du risque dans le trading automatique. Ces paramètres ont un impact
direct sur les bénéfices et les pertes potentiels de chaque trade et doivent être choisis avec
soin.
La taille de la position détermine le montant d'argent investi dans chaque trade. Il est important
de trouver un équilibre entre la maximisation des bénéfices potentiels et la minimisation des
risques. Une position trop grande peut entraîner des pertes importantes en cas de mouvement
de marché imprévu, tandis qu'une position trop petite peut limiter les bénéfices potentiels.
Il existe plusieurs approches pour déterminer la taille de la position. L'une des approches les
plus courantes consiste à utiliser un ratio de gestion du risque tel que le "risk-reward ratio", qui
détermine la relation entre le montant de risque potentiel et le bénéfice potentiel sur chaque
trade. Par exemple, si vous définissez un risk-to-reward ratio de 1:3, cela signifie que vous êtes
prêt à prendre un risque de 1 unité pour chaque 3 unités de bénéfice potentiel.
Les niveaux de stop loss et take profit sont des ordres qui limitent respectivement les pertes et
les bénéfices potentiels d'un trade. Le stop loss est un ordre qui permet de fermer
automatiquement une position à un prix déterminé afin de limiter les pertes. Le take profit est
un ordre qui permet de fermer automatiquement une position à un prix déterminé afin de
réaliser des bénéfices.
Il est important de noter que les niveaux de stop loss et take profit ne sont pas infaillibles et que
le marché peut parfois "briser" ces niveaux. C'est pourquoi il est recommandé de surveiller de
près vos positions et de rester flexible en ajustant les niveaux si nécessaire. 110
Chapitre 9 : Les risques présents
dans le trading automatique !
La gestion des fonds et des bénéfices est un aspect important de tout algorithme de trading
automatique. En effet, la façon dont vous gérez votre capital et vos bénéfices peut avoir un
impact significatif sur la performance à long terme de votre algorithme.
Il existe plusieurs approches pour gérer les fonds dans le cadre d'un algorithme de trading
automatique. L'une des approches les plus courantes consiste à utiliser une stratégie de
"capital géré", dans laquelle un pourcentage fixe du capital total est investi dans chaque trade.
Cette approche permet de maintenir un niveau de risque constant et de maximiser les
bénéfices potentiels sur le long terme.
Une autre approche courante est la stratégie de "risque géré", dans laquelle le montant de
risque sur chaque trade est fixé à un pourcentage déterminé du capital total. Cette approche
permet de maximiser les bénéfices potentiels, mais peut également augmenter le risque de
perte si le marché se déplace contre vous.
Il est également important de déterminer comment les bénéfices seront gérés. Certaines
personnes choisissent de réinvestir tous les bénéfices dans le trading, tandis que d'autres
préfèrent retirer une partie des bénéfices et les utiliser pour d'autres investissements ou pour
couvrir les coûts de l'algorithme de trading. Il est important de trouver une approche qui
convient à votre profil de risque personnel et à vos objectifs financiers à long terme.
En résumé, la gestion des fonds et des bénéfices est un aspect crucial de tout algorithme de
trading automatique. En utilisant une stratégie de gestion des fonds appropriée, en mettant en
place des limites de retrait et en surveillant de près les performances de votre algorithme, vous
pouvez maximiser les bénéfices et minimiser les risques dans le trading automatique.
111
112
Chapitre 10 : Conclusion
et prochaines étapes
Le trading automatique est une méthode qui permet d'automatiser les décisions de trading en
utilisant des algorithmes et des scripts informatiques. PineScript est un langage de
programmation utilisé pour écrire ces scripts de trading automatique sur la plateforme de
TradingView.
Pour utiliser PineScript, il est important de comprendre les bases de la syntaxe et de la structure
du langage, ainsi que les concepts de base tels que les variables, les constantes, les opérateurs
et les expressions. Il est également important de connaître les structures de contrôle et les
fonctions de base de PineScript.
L'analyse technique est une méthode couramment utilisée pour prendre des décisions de
trading automatique. Elle implique l'utilisation d'indicateurs techniques, tels que la moyenne
mobile, le RSI, le MACD et le Stochastic, ainsi que les données de prix (ouverture, haut, bas, etc.)
pour prédire les mouvements futurs des prix. PineScript peut être utilisé pour intégrer ces
indicateurs et données de prix dans des scripts de trading automatique.
Pour créer un script de trading fonctionnel avec PineScript, il est important de suivre une
approche étape par étape et de tester et valider le script avant de le mettre en production. Les
alertes de TradingView peuvent être utilisées pour déclencher des ordres d'achat ou de vente
lorsque certaines conditions sont remplies.
Il est également important de gérer les erreurs et les exceptions dans les scripts PineScript et
d'utiliser des outils de backtesting pour évaluer la performance passée du script. ChatGPT peut
être utilisé pour simuler des trades et vérifier la performance du script.
En outre, il existe des techniques avancées de trading automatique, telles que l'utilisation de
réseaux de neurones et d'algorithmes génétiques, qui peuvent être utilisées pour améliorer les
performances des scripts PineScript. Il est également possible d'intégrer des données externes,
telles que les news et les tweets, dans un script PineScript.
ChatGPT est un modèle de langage de OpenAI qui peut être utilisé pour générer des scripts
PineScript et obtenir de l'aide et des conseils sur l'utilisation de PineScript. ChatGPT peut être
utilisé pour générer des scripts de base, tels que l'achat lorsque le RSI entre en survente et la
vente lorsque le RSI entre en surachat, ou pour générer des scripts plus avancés en utilisant des
indicateurs techniques et des données de marché supplémentaires.
113
Chapitre 10 : Conclusion
et prochaines étapes
Les webhooks et les API sont des outils couramment utilisés pour automatiser les processus
de trading. Si vous avez écrit un script PineScript et que vous souhaitez automatiser son
exécution pour passer des ordres d'achat ou de vente sur un exchange, voici comment ces deux
technologies peuvent vous y aider.
Tout d'abord, qu'est-ce qu'un webhook ? Un webhook est une notification automatique envoyée
par une application à un autre service lorsqu'un événement spécifique se produit. Par exemple,
si vous avez créé un script PineScript qui achète un actif lorsque son prix atteint un certain
niveau, vous pouvez utiliser un webhook pour déclencher l'exécution de votre script lorsque ce
niveau de prix est atteint.
Pour utiliser un webhook, vous devez d'abord configurer un "webhook URL" sur votre exchange,
qui est l'adresse à laquelle vous souhaitez recevoir les notifications. Vous pouvez ensuite
configurer votre script PineScript pour envoyer une notification au webhook URL lorsque les
conditions prédéfinies sont remplies. Lorsque le webhook reçoit la notification, il déclenche
l'exécution de votre script et envoie l'ordre d'achat ou de vente au exchange.
Une API (Application Programming Interface) est un moyen pour une application de
communiquer avec un autre service ou une base de données. Si vous utilisez un exchange qui
dispose d'une API, vous pouvez utiliser cette API pour connecter votre script PineScript à
l'exchange et passer des ordres d'achat ou de vente automatiquement.
Pour utiliser une API, vous devez d'abord obtenir une "clé d'API" auprès de votre exchange. Cette
clé vous permet de vous authentifier et de vous connecter à l'API de l'exchange.
114
Chapitre 10 : Conclusion
et prochaines étapes
Vous pouvez ensuite utiliser l'API pour envoyer des requêtes à l'exchange, telles que la création
d'un ordre d'achat ou de vente. Il existe plusieurs avantages à utiliser des API ou des webhooks
pour automatiser votre script PineScript.
Tout d'abord, cela vous permet de passer des ordres de manière autonome, sans avoir à
surveiller manuellement les marchés. Cela peut vous permettre de gagner du temps et de vous
concentrer sur d'autres aspects de votre trading.
En outre, l'utilisation d'API ou de webhooks vous permet de suivre l'exécution de vos trades en
temps réel et de recevoir des notifications lorsque des événements spécifiques se produisent,
comme l'exécution d'un ordre ou le changement de prix d'un actif. Cela peut vous aider à rester
informé et à prendre des décisions de trading éclairées.
Enfin, l'utilisation d'API ou de webhooks peut vous aider à automatiser complètement votre
stratégie de trading et à passer des ordres de manière transparente et efficace. Cela peut être
particulièrement utile si vous tradez sur plusieurs exchanges ou si vous avez des stratégies de
trading complexes qui nécessitent un suivi attentif.
Pour mettre en place des API ou des webhooks pour utiliser votre script PineScript, vous devez
d'abord vous assurer que votre exchange offre ces fonctionnalités. Vous devrez également
suivre les instructions de votre exchange pour obtenir une clé d'API ou configurer un webhook
URL. Une fois que ces étapes sont terminées, vous pouvez intégrer l'API ou le webhook dans
votre script PineScript en utilisant les fonctions et les bibliothèques fournies par votre
exchange.
Il est recommandé de tester votre script PineScript en utilisant des "ordres de simulation" avant
de passer des ordres réels via l'API ou le webhook. Cela vous permet de vous assurer que votre
script fonctionne correctement et de vérifier que les ordres sont exécutés comme prévu.
Il est également important de gérer les erreurs et les exceptions qui peuvent survenir lors de
l'utilisation d'API ou de webhooks. Par exemple, si votre clé d'API est incorrecte ou si le webhook
URL est mal configuré, vos ordres ne seront pas exécutés et votre script pourrait s'arrêter de
fonctionner. Il est recommandé de mettre en place des vérifications et des traitements d'erreur
dans votre script PineScript pour gérer ces cas de figure.
En résumé, les API et les webhooks sont des outils puissants qui vous permettent d'automatiser
votre script PineScript et de passer des ordres d'achat ou de vente automatiquement sur un
exchange. 115
Chapitre 10 : Conclusion
et prochaines étapes
4. Utilisez des données de marché réelles pour tester et valider vos scripts avant de les
mettre en production.
5. Gardez à jour vos connaissances en lisant des articles et en suivant les développements
dans le domaine du trading algorithmique.
6. Utilisez des ressources en ligne, comme les forums et les groupes de discussion, pour
obtenir de l'aide et des conseils de la part de traders expérimentés.
7. Apprenez à utiliser les API et les webhooks pour automatiser l'exécution de vos scripts et
passer des ordres d'achat ou de vente automatiquement.
8. Créez des tests de bordure pour vérifier la robustesse de vos scripts et gérer les erreurs
et exceptions qui peuvent survenir.
10. Intégrez des données externes, comme les news et les tweets, dans vos scripts pour
améliorer la qualité de vos décisions de trading.
11. Utilisez des outils de gestion du risque, tels que les stop loss et les take profit, pour
protéger votre capital et minimiser les pertes.
116
Chapitre 10 : Conclusion
et prochaines étapes
12. Gérez votre capital de manière responsable en établissant un plan de gestion de l'argent
et en suivant votre performance de manière régulière.
13. Apprenez à travailler en équipe et à collaborer avec d'autres traders pour échanger des
idées et des conseils.
14. Participez à des compétitions de trading en ligne pour tester vos compétences et
comparer votre performance avec celle d'autres traders.
15. N'ayez pas peur d'essayer de nouvelles choses et d'expérimenter avec différentes
approches du trading. Plus vous avez d'expérience, meilleur trader vous deviendrez.
16. Utilisez des outils d'analyse de l'industrie pour comprendre les tendances du marché et
mieux cibler vos trades.
17. Apprenez à utiliser des outils de gestion de portefeuille pour optimiser votre allocation de
capital et diversifier votre portefeuille.
18. Mettez en place des alertes de prix et de volume pour vous tenir informé des
mouvements de marché en temps réel.
19. Utilisez des outils de gestion du temps pour planifier votre journée de trading et
maximiser votre efficacité.
20. Apprenez à gérer votre stress et à rester calme en situation de marché volatile.
22. Apprenez à utiliser des outils de visualisation de données pour mieux comprendre les
mouvements de marché et prendre des décisions de trading éclairées.
C’est à vous (:
117
118
Chère/Cher Goat Curieux(se),
Je vous remercie de votre engagement et de votre intérêt pour notre ebook sur la création d'un
algorithme de trading automatique avec l'aide de ChatGPT. J'espère que vous avez appris de
nombreuses choses utiles sur le trading automatique et sur l'utilisation de Pinescript et de
ChatGPT.
Je vous encourage à continuer à vous perfectionner et à apprendre toujours plus sur le trading
et l'intelligence artificielle. N'oubliez pas de continuer à poser des questions et à partager vos
progrès avec la communauté sur le serveur Discord.
Je vous souhaite tout le succès dans vos futures carrières en trading démo ou live. N'oubliez
pas de toujours rester humble et de vous tenir informé des dernières tendances et
développements dans le domaine.
N'hésitez pas à me contacter si vous avez des questions ou des commentaires sur mon e-book.
Sincèrement,
CryptoForexGoat
PS : C’est actuellement la version 1.0 de cet ebook. Il est amené à évoluer régulièrement en
fonction de vos retours et de ce que je souhaite complémenter.
Je vous invite donc à rejoindre la communauté sur Discord et à me faire part de vos remarques,
critiques et idées d’amélioration (lien ci-dessous).