Programmation avancée du script en pin TradingView | Sergey Buzz | Skillshare

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Programmation avancée du script en pin TradingView

teacher avatar Sergey Buzz, Programmer, Trader, Author and Coach

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Introduction du cours

      2:01

    • 2.

      Introduction à l'éditeur de script en pin

      13:04

    • 3.

      Créer votre premier script en pin

      17:08

    • 4.

      Introduction aux indicateurs et aux stratégies

      8:30

    • 5.

      Modèle d'exécution de script Pine

      13:36

    • 6.

      Les bases de la série chronologique Pine Script

      11:11

    • 7.

      Structure de base de l'écriture en pin

      10:00

    • 8.

      Identificateurs et opérateurs dans le script Pine

      23:04

    • 9.

      Déclarations variables en écriture pin

      11:40

    • 10.

      Structures consuivies en écriture pin

      23:06

    • 11.

      Boucles dans le script en pin

      19:00

    • 12.

      Introduction au système de caractères de l'écriture en pin

      7:17

    • 13.

      Décoder les qualifications pour les scripts en pin

      7:48

    • 14.

      Comprendre les types d'écriture en pin

      7:16

    • 15.

      Explorer la signification de la valeur « na » dans le script en pin

      6:16

    • 16.

      Maîtriser les tuples en écriture pin

      9:49

    • 17.

      Fonctions définies par l'utilisateur dans Pine Script

      7:25

    • 18.

      Créer un indicateur ADX DMI moyenne mobile dans le script Pine

      18:09

    • 19.

      Créer une stratégie de MA crossover ouverte/fermée dans Pine Script

      47:04

    • 20.

      Aperçu du testeur de stratégie de script Pine

      16:30

    • 21.

      Comment tester la stratégie de trading en backtest et en forward

      26:11

    • 22.

      Comment optimiser la stratégie de trading

      18:10

    • 23.

      Créer une stratégie ADXVMA dans Pine Script

      35:13

    • 24.

      Créer une stratégie pyramidale multi-MA dans Pine Script

      39:18

    • 25.

      Créer la stratégie ultime MACD dans le script Pine

      52:07

    • 26.

      Aperçu des alertes en indicateurs et stratégies dans le script Pine

      23:02

    • 27.

      Comment paramétrer et utiliser les alertes avec la fonction alerte

      11:09

    • 28.

      Comment paramétrer et utiliser les alertes avec la fonction alertstate()

      12:22

    • 29.

      Comment paramétrer et utiliser les alertes dans les stratégies d'événement de remplissage des commandes

      6:41

    • 30.

      Résumé des principales leçons à retenir de ce cours

      8:03

    • 31.

      Ressources pour l'apprentissage et le développement dans TradingView

      2:40

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

43

apprenants

--

projet

À propos de ce cours

Débloquez la puissance de TradingView Pine Script avec le cours « Master TradingView Pine Script Advanced Programming ». Dans cette expérience d'apprentissage complète, vous explorerez les tenants et les aboutissants de TradingView Pine Script avec 31 leçons attrayantes s'étalant sur 8,5 heures.

En commençant par les bases de la section Essentiels du script en pin de TradingView, vous apprendrez à créer votre premier script et vous familiariserez avec les indicateurs et les stratégies. Plongez dans le modèle d'exécution de script Pine et les bases de la série temporelle, en découvrant les éléments de base de Pine Script, notamment les structures de base, les identifiants, les opérateurs et les déclarations de variables. Au fur et à mesure que vous progressez, maîtrisez les conceptes des structures contenues, des boucles et du système de type Pine, ce qui rend le codage plus accessible et agréable.

Faites progresser vos compétences avec des leçons sur la création d'indicateurs avancés tels que l'indicateur ADX DMI en moyenne mobile. Découvrez l'art de l'artisanat, du backtesting, des tests prospectifs et de l'optimisation des stratégies de trading, en vous plongeant dans les leçons qui vous guideront dans la création de diverses stratégies, notamment le crossover ouvert / fermé, ADXVMA, la pyramide multiple et MACD Ultimate.

Découvrez la puissance des alertes dans TradingView Pine Script, et apprenez à les paramétrer pour les indicateurs, les stratégies et les événements de remplissage des ordres.

Ce cours vous donne les outils et les conseils dont vous avez besoin pour créer vos propres indicateurs, stratégies et alertes personnalisés avancés, qui peuvent améliorer et automatiser votre trading. Que vous soyez débutant ou expérimenté, ce cours est votre passerelle vers le succès des scripts. Ne faites pas que l'échange – écrivez votre triomphe !

Dans ce cours, vous apprendrez :

  • Comment créer votre premier script Pine
  • Modèle d'exécution de script Pine
  • Les bases de la série chronologique Pine Script
  • Structure de base de l'écriture en pin
  • Identifie et les opérateurs dans le script Pine
  • Déclarations variables en écriture pin
  • Structures consuivies en écriture pin
  • Boucles dans le script en pin
  • Système de saisie en écriture pin
  • Tous les types de script en pin
  • Qualifications pour les scripts en pin
  • Comment maîtriser les tuples dans Pine Script
  • Fonctions définies par l'utilisateur dans Pine Script
  • Comment créer un indicateur ADX DMI avancé en moyenne mobile dans Pine Script
  • Comment créer une stratégie de MA crossover d'ouverture/fermeture dans Pine Script
  • Comment utiliser le test de stratégie de script Pine
  • Comment tester la stratégie de trading en backtest et en forward
  • Comment optimiser la stratégie de trading
  • Comment créer une stratégie ADXVMA avancée dans Pine Script
  • Comment créer une stratégie pyramidale multi-MA avancée dans Pine Script
  • Comment créer une stratégie MACD avancée dans Pine Script
  • Comment paramétrer et utiliser les alertes avec la fonction alert()
  • Comment paramétrer et utiliser les alertes avec la fonction alertstate()
  • Comment paramétrer et utiliser les alertes dans les stratégies d'événement de remplissage des commandes

À qui s'adresse ce cours :

  • Les développeurs de script Pine de niveau débutant souhaitent apprendre le script Pine
  • Traders de tous niveaux, intéressés par la création de stratégies de trading et d'alertes personnalisées
  • Traders de tous niveaux, intéressés par le trading automatisé
  • Investisseurs intéressés par les stratégies personnalisées et les solutions automatisées
  • Analystes financiers intéressés par la programmation de scripts Pine
  • Les développeurs de logiciels intéressés à gagner du terrain dans la niche grandissante
  • Tous ceux qui souhaitent apprendre le développement de logiciels pour gagner de l'argent en ligne

Ce cours comprend :

  • Vidéo à la demande de 8,5 heures
  • 20 ressources téléchargeables
  • Instructions pour utiliser les ressources téléchargeables

Conditions requises :

  • Avoir un compte TradingView gratuit
  • Aucune expérience en programmation n'est nécessaire. Vous apprendrez tout ce que vous devez savoir

Avertissement important :

Ce cours, intitulé « Programmation avancée sur le script de Master TradingView Pine », est destiné à des fins éducatives uniquement. Le contenu vise à enseigner les techniques de programmation et les concepts liés à la création d'indicateurs et de stratégies personnalisés en utilisant le langage Pine Script de TradingView.

Veuillez noter que :

  1. Ce cours n'a pas pour objet d'offrir des conseils d'investissement, de fiscalité ou de planification financière.

  2. Les indicateurs, les stratégies et les exemples présentés dans ce cours sont destinés à des fins de démonstration et d'apprentissage uniquement. Elles ne doivent pas être prises en compte comme des recommandations financières ou des garanties de performance future du marché.

  3. La négociation sur les marchés financiers comporte un niveau de risque élevé et peut ne pas être adaptée à tous les investisseurs. Vous pouvez perdre une partie ou la totalité de votre capital investi.

  4. L'instructeur et Skillshare ne sont pas des advisors en investissement enregistrés et ne fournissent pas de recommandations d'investissement personnalisées.

  5. Avant de prendre des décisions d'investissement, vous devez vous adresser à un expert financier qualifié qui pourra maîtriser votre situation financière et vos objectifs individuels.

  6. Les performances passées de n'importe quelle stratégie de trading ou indicateur ne garantissent pas les résultats futurs.

  7. Il vous incombe de comprendre et de respecter toutes les lois et réglementations applicables dans votre juridiction en matière de trading et d'investissement.

En suivant ce cours, vous acceptez l'utilisation de cookies pour vous assurer que vous avez lu et compris cet avertissement. Vous acceptez d'être seul responsable de vos propres décisions d'investissement et de leurs résultats.

N'oubliez pas de toujours pratiquer le trading responsable et d'investir uniquement ce que vous pouvez vous permettre de perdre.

 

Rencontrez votre enseignant·e

Teacher Profile Image

Sergey Buzz

Programmer, Trader, Author and Coach

Enseignant·e

Hello! I'm Sergey Buzz, a Software Developer with an M.S. in Computer Science who discovered my passion for financial markets and trading. My goal is to help students and traders understand markets more clearly, avoid common mistakes, and gain confidence in applying professional strategies.

I combine my technical background with practical trading experience to create educational resources that bridge the gap between complex market concepts and real-world application. Whether you're just starting out or looking to refine your approach, I focus on making trading education accessible and actionable.

? Educational Trading Videos: YouTube.com/@SergeyBuzz - Weekly tu... Voir le profil complet

Level: Beginner

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Cours avancé de programmation sur le script de pin Master TradingView: Bonjour, bienvenue, je suis Serge Ba, un développeur de logiciels avec une maîtrise en informatique et des années d' expérience dans le trading sur les marchés financiers. J'ai réussi à combiner mes compétences en programmation avec ma passion pour le trading pour créer des outils puissants utilisant le script Pin des vues de trading. Dans ce cours, Master trading view Pin script advanced programming, vous apprendrez à exploiter la puissance de Pin Script pour créer des indicateurs et des stratégies de trading personnalisés. Nous aborderons tout, des notions de base aux concepts avancés, dans 31 leçons captivantes. Ce cours est parfait pour les débutants en Pine Script. Les traders qui cherchent à créer des stratégies personnalisées et même les programmeurs expérimentés qui souhaitent développer leurs compétences Vous n'avez pas besoin d'expérience préalable en programmation, mais une connaissance des concepts de trading sera utile Vous aurez besoin du compte Trading View gratuit pour suivre. À la fin de ce cours, vous serez en mesure de comprendre le modèle d' exécution et les séries temporelles uniques de Pine Créez des indicateurs avancés tels que la moyenne mobile ADX DMI, développez, testez et optimisez des stratégies de trading Configurez des alertes pour vos indicateurs et stratégies personnalisés. Votre projet de classe améliorera l'indicateur personnalisé à l'aide de Pin Script. Vous appliquerez les concepts appris tout au long du cours pour être en mesure de développer et de personnaliser des indicateurs et des stratégies adaptés à vos besoins de trading. N'oubliez pas que pendant que nous travaillerons sur les concepts de trading, ce cours met l'accent sur les compétences en programmation et ne fournit pas de conseils financiers. Je suis ravi de vous faire découvrir le monde de la programmation de scripts P. Commençons votre voyage vers la création de puissants outils de trading. Rendez-vous dans la première leçon. 2. Leçon 2 - Introduction à l'éditeur de script en pin: Bonjour, bienvenue dans cette leçon, Introduction à l'éditeur de script Pin. Cette leçon comprend la section suivante. Tout d'abord, je vais vous présenter l'éditeur de script Pin. Ensuite, je montrerai comment ouvrir l'éditeur de script Pin. Je vais aborder certains avantages de l'utilisation de l'éditeur Pancript, et j'aborderai également certaines des fonctionnalités importantes de l'éditeur, telles que la mise en évidence de la syntaxe, les rappels de syntaxe, Pinscript, les références rapides pour y accéder, comment utiliser une fonctionnalité complète, et d'autres fonctionnalités telles que versionnement de l' éditeur de Dans cette leçon, nous allons étudier l'outil essentiel pour tout développeur de script Trading View, l'éditeur de script Pine. Lorsque vous commencez à maîtriser l'écriture de scripts et le trading algorithmique, il est très important de comprendre la puissance de cet outil L'éditeur de scripts Pin est votre espace de travail dédié à la création de scripts de trading. Bien que vous puissiez utiliser n'importe quel autre éditeur de texte, puis coller le texte créé dans l'éditeur Pinscript L'éditeur Pinscript dédié est un outil qui offre plusieurs avantages qui peuvent considérablement augmenter votre productivité et rationaliser votre processus de développement Pour accéder à l'éditeur Pscript, rendez-vous sur trading.com Et créez un compte gratuit si vous n'en avez pas. Une fois connecté, cliquez sur l'option de menu Products Super Charts. Ensuite, lorsque vous arrivez à l'écran Super Charts, cliquez sur le bouton de l'éditeur Pine en bas de cet écran. Comme vous le voyez, la fenêtre de l' éditeur de script Pine s'est ouverte. Cette fenêtre, vous pouvez l' agrandir ou la réduire si nécessaire en faisant glisser la ligne supérieure de cet éditeur Vous pouvez également utiliser ce bouton pour optimiser ce panneau de script Pine de vue commerciale ou le masquer complètement. Vous pouvez ensuite utiliser à nouveau ce bouton pour le réafficher. Je vais maintenant aborder certaines des principales fonctionnalités de l'éditeur de script Pin. En haut de l'éditeur, vous pouvez voir le titre Script. C'est le nom de notre script. Lorsque vous enregistrez le script Pin et que vous lui donnez un nom, celui-ci apparaît ici. Le bouton suivant est le bouton de recherche. Lorsque vous cliquez ici, vous pouvez rechercher le texte dans l'éditeur de script Pion. De plus, lorsque vous cliquez sur ce bouton, Togle replace, vous pouvez rechercher et remplacer du texte dans votre script Le bouton suivant est le bouton d'ouverture. Dans ce bouton, cette option de menu comporte plusieurs sous-menus, tels qu'un nouvel indicateur, nouvelle stratégie, une nouvelle bibliothèque, dans lesquels vous pouvez créer de nouveaux scripts, nouveaux indicateurs, de nouvelles stratégies et de nouvelles bibliothèques. Nous pouvons également utiliser ce bouton, par exemple, pour vérifier les scripts intégrés si vous en avez besoin. Bouton Enregistrer pour enregistrer le script actuellement édité. Ajouter au graphique. Une fois que vous avez finalisé votre script et que vous souhaitez le tester et l' appliquer sur le graphique Vous cliquez sur ce bouton. Le script est appliqué au graphique de trading en haut de cet écran. Si vous souhaitez publier votre script pour qu'il soit accessible au public, vous pouvez appuyer sur ce bouton et sur le dernier bouton ici, trois points. Vous pouvez utiliser ce bouton pour accéder, par exemple, au manuel d'utilisation du script Pin. Vous cliquez dessus et vous pouvez ici parcourir ou rechercher dans le manuel d'utilisation de la version 5 de Pin Script. Un manuel de référence est également disponible. Lorsque vous cliquez dessus, vous pouvez essayer de trouver n'importe quelle fonction ou opérateur de la version du script Pin. Par exemple, si nous cliquons sur R S, il essaiera de trouver dans la base de données des opérateurs et fonctions de script Pin, le texte correspondant, il a trouvé une fonction, vous cliquez dessus, et il s'ouvrira et vous fournira des informations relatives à cette fonction ou à cet opérateur. Maintenant, l'éditeur Pinscript présente plusieurs avantages. Voyons en quoi l'éditeur Pin Script se démarque. Tout d'abord, comment créer le script, comment ce script a été initialement créé. Il s'agit d'un script de stratégie par défaut. Pour créer un script par défaut afin de commencer à développer n'importe quel type de script, vous cliquez sur Ouvrir le script, puis vous pouvez créer un nouvel indicateur, par exemple, et celui-ci insère l'indicateur par défaut dans l'éditeur de script Pi. Après cela, vous pouvez le modifier et vous pouvez ajouter votre code dans cette fenêtre et modifier ce code si nécessaire. Créons, par exemple, une nouvelle stratégie, puis explorons certaines fonctionnalités de l'éditeur de script Pin dans cet exemple de script de stratégie. Le premier avantage de l'éditeur de script Pine est la mise en évidence de la syntaxe. Comme vous le voyez, ce script est multicolore comporte un texte multicolore qui améliore la lisibilité du code Il met en évidence intelligemment votre code, votre script à épingle, syntaxe, ce qui rend les erreurs plus visibles et le codage plus efficace Par exemple, si vous commencez à taper quelque chose et que vous créez une erreur et que vous essayez de l'enregistrer. Le soulignement rouge indique que cette partie du script contient une erreur Ensuite, vous devez corriger l' erreur avant de sauvegarder le script. Ensuite, des rappels de syntaxe. Le survol de la fonction de bibliothèque intégrée affiche des rappels de syntaxe utiles, réduisant ainsi le risque d' erreurs dans votre code Passons le curseur sur n'importe quelle fonction. Par exemple, sur la stratégie. Vous pouvez voir apparaître la fenêtre contenant les informations de référence rapides concernant actuellement la fonction que nous avons abordée Passons à une autre fonction, le croisement. Nous pouvons voir apparaître une fenêtre contenant des informations connexes avec contenant des informations connexes avec la référence rapide de cette fonction où vous pouvez obtenir les informations nécessaires Cela ressemble à une infobulle pour la fonction ou l'opérateur correspondant Une fois que vous passez la souris sur un opérateur ou une fonction spécifique dans votre code de script Pine. Ensuite, référence rapide, accédez facilement au manuel de référence du script Pine en cliquant simplement sur Ctrl puis sur les mots clés du script Pi Assurez-vous d'avoir toujours la documentation à portée de main. Par exemple, essayons de trouver des informations relatives à fonction de saisie de points de stratégie et d' ouvrir la référence rapide associée à cette fonction. Cliquez sur le bouton de commande de votre clavier et cliquez avec le bouton gauche de la souris sur cette fonction. Nous voyons la fenêtre de référence rapide s'ouvrir avec les informations relatives à la fonction de saisie de points stratégiques. Compléter automatiquement. L' éditeur comporte une fonction complète externe déclenchée par le contrôle plus l'espace, qui accélère le codage en suggérant la fin au fur et à mesure que vous tapez. Par exemple, vous commencez à taper un point, et cela vous suggère déjà de terminer automatiquement cette fonction que vous tapez. Vous pouvez sélectionner n'importe laquelle de ces versions proposées de la partie suivante du code, vous pouvez sélectionner n'importe laquelle d'entre elles ou vous pouvez également continuer à taper. Ainsi, par exemple, si vous avez sélectionné Alma, vous pouvez simplement cliquer et continuer à taper. Il complète tout ce que vous tapez. Flux de travail efficace et autres aventures de l'éditeur de script Pi. L'éditeur enregistre les compilations et exécute un script rapidement, minimisant ainsi les délais et écrit le cycle d'exécution de la compilation Supposons, par exemple, que nous ayons terminé nos modifications. Nous voulons le sauver. Nous pouvons enregistrer notre script. Il nous demande le nom. Nous pouvons changer le nom. Stratégie personnalisée, puis nous cliquons sur Sécuriser , notre script enregistré, notre stratégie enregistrée, le nom des stratégies ici. Ensuite, nous pouvons continuer à taper et, si nécessaire , cliquer sur le coffre-fort et lorsque nous cliquons sur sécurisé, les scripts se compilent. Au bas de l'éditeur d'épingles, nous pouvons voir un autre moyen, une autre petite fenêtre, c' est-à-dire une fenêtre de console. Cette fenêtre nous fournit des informations sur l'état du code O et sur certaines erreurs éventuelles. Une fois que nous l'avons enregistré, il nous indique que le code est enregistré. Si vous rencontrez des problèmes de compilation, les erreurs seront affichées dans cette fenêtre de console La fenêtre de console peut être agrandie en faisant glisser cette ligne vers le haut ou vers le bas De plus, l'éditeur Pine possède les fonctionnalités clés mais il n'est pas aussi riche en fonctionnalités que certains autres éditeurs de premier plan, mais il offre des fonctions vitales telles que la recherche et le remplacement dont j'ai fait la démonstration et le contrôle des versions pour la gestion des scripts Jetons un coup d'œil au versionnement. Le versionnement est affiché dans ce contrôle de zone de liste déroulante, lequel vous pouvez voir toutes les versions précédemment enregistrées Supposons, par exemple, que nous modifiions cette valeur pour la marge courte à 80, et que nous l'enregistrions. Vous voyez que la troisième version est créée. La version 3 a une valeur de 80 pour ce paramètre, mais sélectionnons la version précédente de ce script. La version précédente avait une valeur de 100 pour ce paramètre. Comme vous pouvez le constater, vous pouvez sélectionner n'importe quelle version précédemment enregistrée si vous en avez besoin. 12. À la fin de cette leçon, je tiens à dire que dans le monde du trading algorithmique, chaque seconde compte L'éditeur de script Pine est votre fidèle compagnon, garantissant non seulement la précision de vos scripts , mais également leur développement efficace. C'est la fin de cette leçon, et je vous verrai dans la prochaine. 3. Leçon 3 - Créer votre premier script en pin: C'est parti, bienvenue dans cette leçon sur création de votre premier script Pine. Cette leçon comprend la section suivante. Je vais expliquer ce qu'est l'indicateur MacD. Parce que dans cette leçon, nous allons créer un indicateur basé sur l'indicateur Mac D. Ensuite, nous allons développer indicateur Mac D dans l'éditeur de script Pine, et en particulier, nous allons configurer les paramètres de l'indicateur. Après cela, nous allons utiliser la fonction t MD. Pour le calcul des indicateurs MacD. Ensuite, nous allons tracer l' indicateur MacD sur le graphique Je vais également montrer comment détecter et corriger les erreurs de script Pine. Commençons. Dans cette leçon, nous allons développer notre première écriture en pin. Nous allons créer une stratégie simple basée sur l'indicateur Mag De. Le Mag De est l'indicateur de divergence de convergence de la moyenne mobile , qui est un indicateur de momentum populaire et largement utilisé dans l'analyse technique. Il est utilisé pour identifier les inversions de tendance potentielles et la force du momentum Pour commencer à développer notre indicateur, accédons à l'éditeur Pine en cliquant sur Éditeur Pin. Ensuite, cliquez sur l' option Ouvrir le menu, puis sur la nouvelle option de menu indicateur. Supprimons les lignes dont nous n'avons pas besoin, et nommons notre indicateur. Trouvons un nom McD personnalisé. Notre indicateur va avoir trois paramètres car le Mac De lui-même possède trois paramètres. Longueur rapide, longueur lente et longueur du signal. Configurons ces paramètres. Chaque paramètre d'entrée est censé être affecté à une certaine variable. Dans ce cas, la longueur rapide est une variable et nous attribuons une valeur à cette variable, le retour du paramètre d'entrée. Pour définir le paramètre d'entrée, nous utilisons la fonction d'entrée. premier paramètre de la fonction d'entrée est la valeur par défaut de cette fonction d'entrée. La valeur par défaut pour Fast Length pour Mac D est 12. Vient ensuite le titre du paramètre. C'est une longueur rapide. Longueur rapide. Nous avons maintenant deux autres paramètres. Le deuxième paramètre est la longueur lente. Changeons le nom du paramètre et la valeur par défaut par défaut pour la longueur lente est 26. Le dernier paramètre est la longueur du signal. Longueur du signal Mettons à jour le nom de ce paramètre, et la valeur par défaut pour la longueur du signal de Mac D est neuf. Maintenant, nous en avons mis en place trois. Paramètres d'entrée Ensuite, commençons à calculer le MacD. Pour calculer la MacD, nous utilisons la fonction TA McD. TA McD fonctions TA McD et Macd utilisent quatre paramètres Tout d'abord, nous indiquons la source. Nous utilisons le prix de clôture pour chaque barre afin de calculer le McDE. Nous tapons « fermer ». Ensuite, paramètre de longueur rapide pour le paramètre de longueur rapide du Mcddicator Longueur rapide, le deuxième paramètre est la longueur lente et le troisième paramètre. Ensuite, le quatrième paramètre, nous avons utilisé notre troisième paramètre pour cet indicateur, qui est la longueur du signal. Maintenant, cette fonction ct McDe renvoie un tuple. Le tuple est la séquence de paramètres utilisée en tant que groupe. Par conséquent, pour préparer le tout, nous utilisons les crochets. Nous utilisons des crochets et le premier paramètre cette application pour la fonction McDe qui renvoie ces valeurs est la ligne McD Appelons-le McD line. Le deuxième paramètre est une ligne de signal et le troisième paramètre est l'histogramme Appelons cela une ligne d'histogramme. ligne d'histogramme et le M. G. Maintenant, ce que nous avons fait ici, c'est que cette fonction renvoie un tuple Le tuple est essentiellement la séquence d'une séquence de valeurs. T point McDE renvoie une séquence de valeurs d'une séquence de trois valeurs Il s'agit essentiellement d'une collection de valeurs, pas d'un seul paramètre, mais de nombreux paramètres. Dans ce cas, trois. Chacun de ces paramètres a été attribué à un paramètre de notre indicateur. Nous avons configuré la ligne McDE, la ligne de signal et l'histogramme Nous pouvons modifier le nom des paramètres. Mais ce qui est important, c'est que nous avons trois paramètres qui nous seront assignés dès le retour de la fonction TA point McDE Maintenant, nous avons calculé les valeurs MacD. Maintenant, planifions-le. L'indicateur MacD est un indicateur qui s'acyle autour de zéro Par conséquent, je veux tracer la ligne horizontale à zéro pour voir quand les valeurs sont positives et négatives. Maintenant, pour tracer la ligne, nous utilisons la fonction ligne H. Et d'abord, le tar premier dans cette fonction est le prix ou la valeur réels, puis le titre, appelons-le zéro ligne zéro. Après cela, la couleur de cette ligne horizontale est colorée. Je veux créer la couleur et utiliser la transparence. Pour cela, j'utilise la fonction Color New. La couleur elle-même, je veux qu'elle soit grise, et je veux 50 % de transparence. La raison pour laquelle je souhaite utiliser la transparence est que je veux que la ligne grise soit transparente à 50 %, peu visible. Ensuite, dessinons les quatre droites que nous avons reçues lors du calcul de la fonction D McD Commençons maintenant par la ligne de l'histogramme. Commencez à le tracer Le premier paramètre du graphique est la série réelle de valeurs que nous traçons. Le deuxième paramètre est le titre. Dans notre cas, il s'agit d'un histogramme. Le paramètre suivant est la couleur. Pour l'histogramme, il ne s'agit pas d'une ligne. C'est une colonne. Il s'agit d'une séquence de colonnes. Par conséquent, je veux que ces colonnes soient vertes lorsqu' elles sont positives et rouges lorsqu'elles sont négatives. De ce fait, la couleur sera conditionnelle. Et la condition sera basée sur ses valeurs linéaires. Quand sa ligne sera positive, alors j'utiliserai ceci, cet apertor, qui utilise un point d' interrogation apator J'expliquerai plus tard comment cela fonctionne Tapons-le d'abord. Chaque fois que l'histogramme est positif, je veux que la couleur soit verte Sinon, couleur, je veux que la couleur soit rouge. C'est ainsi que cela fonctionne. Toute cette expression, toute cette expression , sera verte, sera de couleur verte, chaque fois que la valeur de sa ligne est supérieure à zéro ou zéro, sinon elle sera rouge. Il s'agit d'un opérateur conditionnel spécifique, c'est ainsi que cela fonctionne. Le dernier paramètre est le style. style n'est pas le paramètre réel ni le prochain paramètre de cette séquence. Par conséquent, nous devons spécifier sa valeur. Comme vous le voyez dans cette infobulle, la longueur dépend de la largeur de ligne, mais nous ne voulons pas la spécifier Nous voulons le style parce que ce n'est pas le suivant, nous devons spécifier le nom du paramètre en fait Style égal, et je veux utiliser le tracé des colonnes. Pour ce faire, nous utilisons des colonnes de style graphique. C'est ça. Nous traçons l'histogramme. Ensuite, je voudrais tracer le McDe McDine. Nous sommes en train de le préparer. Nous sommes en train de définir le titre cette intrigue et la couleur pour Magdne, je veux que ce soit le bleu Couleur : bleu. Le dernier graphique de cet indicateur, nous allons tracer la ligne de signal. Tracer une ligne de signal, et appelons-la correctement. Ligne de signal et couleur de la ligne de signal. Par exemple, utilisons la couleur orange. C'est ce que nous avons comploté. Nous pouvons maintenant enregistrer notre indicateur. C'est demander un nom. Confirmons ce nom. Le nom de l' indicateur se trouve ici. Comme vous pouvez le voir dans la fenêtre de la console. Une fois que nous avons sauvegardé, il compile. S'il n'y a pas d'erreur, elle sera enregistrée. S'il y avait une erreur ici, une flèche rouge apparaîtrait dans cette console. Par exemple, nous avons fait une erreur ici et nous avons essayé de sauvegarder l'indicateur. Comme vous le voyez, nous pourrions l'enregistrer, mais nous avons cependant une erreur dans notre script. Il existe des informations concernant cette erreur. L'erreur se produit sur la ligne 14 la première colonne de cette ligne, f colonne 1. Allons-y et réparons-le. Et ensuite, sauvegardons-le à nouveau. Voici comment vous voyez l' erreur et comment vous voyez où elle s'est réellement produite dans votre code, l'emplacement de cette erreur. Une fois que nous avons enregistré notre indicateur et qu'il n'y a aucune erreur, nous pouvons ajouter notre indicateur au graphique. Masquons l'éditeur de script Pine. Nous pouvons voir qu'il s'agit de notre indicateur personnalisé Mag D. Les colonnes ici sont vertes lorsque la valeur de l' histogramme est positive et rouges chaque fois que le voile de l'histogramme est négatif Ensuite, il indique essentiellement autour de la valeur zéro. Maintenant, comme vous le voyez, l'indicateur comporte deux lignes. ligne bleue est le Mc Dee, ligne orange est la ligne de signal. Maintenant, lorsque nous cliquons sur le bouton de vitesse de cet indicateur, nous pouvons voir qu'il contient trois paramètres que nous avons définis dans le script en pin. Nous pouvons modifier ce paramètre si nécessaire. Cliquez, et ces paramètres seront appliqués à l'indicateur, et il va changer un peu. Cela va changer les visuels. Cela va changer sa façon de réagir au prix. Prenons, par exemple, trois, et nous allons par exemple. Vous voyez, cela change façon dont l'indicateur réagit au prix auquel il est appliqué. Une autre chose est que cet indicateur a été tracé dans le volet situé sous le graphique principal Il existe un paramètre dans la fonction d'indicateur qui est responsable de savoir si vous souhaitez ou non superposer notre indicateur sur le graphique Le nom du paramètre est superposé. Par défaut, c'est faux. Nous ne l'avons donc pas précisé. Mais si ce paramètre est défini sur true, par exemple pour d'autres indicateurs, l'indicateur par sera tracé en superposition sur le graphique Mais pour Mac D, nous ne voulons pas être superposés sur le graphique. Nous voulons être tracés en bas du graphique dans le volet séparé car il s'agit d'un oscillateur Il s'agit d'une valeur proche de zéro. Pour résumer cette leçon, nous avons créé notre premier script Pine simple, l'indicateur Mac Dee. J'ai montré comment coder le script, comment détecter et corriger les erreurs de script, et comment ajouter un script au graphique. C'est la fin de la leçon, et je vous verrai dans la prochaine. 4. Leçon 4 - Introduction aux indicateurs et aux stratégies: Appelez-en un, bienvenue à cette leçon. Introduction aux indicateurs et aux stratégies. Dans cette leçon, nous allons passer en revue principaux concepts d'indicateurs et de stratégies dans le script Pine. Nous expliquerons également les bases du modèle d'exécution du script Pine et les bases des séries chronologiques. Commençons. Dans cette leçon, nous allons explorer les concepts clés et les conseils pratiques pour améliorer votre maîtrise des scripts Pine Passons en revue les indicateurs par rapport aux stratégies dans Pine Script. Les stratégies Pan Script et les indicateurs Pine Script ont des objectifs distincts. Stratégies principalement utilisées pour les tests rétrospectifs sur les données historiques et les tests prospectifs sur les marchés en direct. Ils incluent des appels de stratégie pour exécuter des ordres commerciaux via l'émulateur de courtier Pan Scripts Les résultats des backtests sont affichés dans les testeurs de stratégie. Jetons un coup d'œil au test de stratégie. Ce testeur de stratégie est en fait le bouton suivant le bouton du script Pine. Ici, j'applique la stratégie Mac D au graphique. Ici, à l'arrière, les grands résultats des tests sont affichés dans le testeur de stratégie. Vous pouvez me consulter en cliquant sur l'onglet Révision intraveineuse. Vous pouvez voir les graphiques relatifs à la courbe d'équité, et vous pouvez y ajouter d'autres courbes. Un résumé des performances est également disponible pour votre session de test B ainsi que la liste des traits et des propriétés de la stratégie. Maintenant, les indicateurs à leur tour. Concentrez-vous sur les calculs sans fonctionnalités de rétro-test. Les indicateurs fonctionnent plus rapidement, utilisent moins de ressources et sont incapables d'exécuter les caractéristiques. Les indicateurs sont idéaux pour être superposés sur le graphique. Comme vous voyez la principale différence entre ces deux scripts sur le côté gauche, nous pouvons voir un exemple d' indicateur sur le côté droit, sur l'écran, nous pouvons voir un exemple de stratégie. Les indicateurs utilisent la fonction d' indicateur pour définir le script d'indicateur. Stratégie Utilisez la fonction de stratégie pour définir le script de stratégie. comprendre les nuances entre est essentiel de comprendre les nuances entre ces indicateurs et ces stratégies, car chacun joue un rôle spécifique dans le processus de développement de votre script. Passons maintenant en revue le modèle d'exécution du script Pine. Les scripts Pine fonctionnent différemment des programmes traditionnels. Lors de l'exécution du script Pine, un script fonctionne dans une boucle invisible, exécutant 1/barre de gauche à droite sur le graphique Les barres historiques et les barres en temps réel jouent des rôles distincts, et le modèle d'exécution dicte le comportement des scripts dans différentes conditions de marché Les stratégies, contrairement aux indicateurs, en exécutent généralement une sur des barres en temps réel. Avec des configurations pour chaque mise à jour du volume des prix si nécessaire. La façon dont les barres historiques et les barres en temps réel fonctionnent ensemble influence le fonctionnement dynamique du script Pine. Passons rapidement en revue la stratégie, par exemple. Lorsque vous chargez votre script Pine, agisse d'un indicateur ou d'une stratégie, qu'il s' agisse d'un indicateur ou d'une stratégie, il s'exécute immédiatement pour chaque barre du graphique Ensuite, en ce qui concerne la stratégie, elle s'exécute généralement à la fin de n'importe quelle barre en temps réel Une fois la stratégie chargée. Généralement sur l'indicateur, il s'exécute à chaque modification de la barre en temps réel Si, pour une barre en temps réel, des modifications liées au volume ou à de nouvelles transactions arrivent, indicateur s'exécute sur ces modifications Cela signifie que le script Pine de l' indicateur s'exécute sur une barre en temps réel, généralement à chaque modification de la barre en temps réel, telle que les nouveaux traits ou les changements de volume sur la barre Examinons maintenant les séries temporelles et essayons de comprendre comment fonctionnent les séries chronologiques dans l'écriture en pin. L'épine dorsale du script Pine est le time seras, une structure de données contenant des valeurs pour chaque barre exécutée. L'extension discontinue des sérums temporels à chaque exécution de barre permet de référencer les valeurs passées par le biais de l'opérateur de référencement historique, qui est l'opérateur de barre carrée tel que vous le voyez à l' écran Bien que cela puisse sembler une course, les séries chronologiques diffèrent considérablement. L'attention et une meilleure compréhension pour un développement de script efficace Associez ce mécanisme d'indexation à des fonctions intégrées, conçues pour une gestion efficace des séries chronologiques, la maîtrise des séries temporelles et le modèle d'exécution temporelle , pour obtenir des résultats remarquables avec un minimum Passons en revue cet exemple d'utilisation de time ser. Ces deux lignes renvoient le même retour et la même valeur, mais cela est réalisé en utilisant un opérateur de référencement historique appliqué aux différentes parties du code Ce que nous faisons ici, c'est vérifier si cours de clôture actuel est supérieur au cours de clôture le plus élevé des 10 dernières barres, mais nous ne vérifions pas le cours le plus élevé actuel, nous vérifions le cours le plus élevé précédent. Cela signifie que nous avons appliqué l'histoire, l' histoire, l'histoire, la référence temporelle à cette série chronologique la plus élevée. Mais nous accédons à la barre précédente de cette série chronologique la plus élevée. C'est ce que nous voulons faire. Sur la deuxième ligne, nous accédons au temps le plus sérieux actuel. Cependant, nous utilisons la barre de fermeture précédente que ce temps le plus élevé utilise parfois sérieusement. Nous obtenons le même résultat de différentes manières. L'idée principale à retenir ici, c' avec l'historique avec l' historique référençant piator, nous pouvons accéder aux valeurs précédentes de la série chronologique C'est l'essentiel pour comprendre le fonctionnement des séries chronologiques. En conclusion, dans cette leçon, nous avons passé en revue les principales différences entre les indicateurs et les stratégies. J'ai expliqué les bases du mode d'exécution du script Pine et des séries chronologiques. C'est la fin de cette leçon et je vous verrai dans la prochaine. 5. Leçon 5 - Modèle d'exécution de script en pin: Colon, bienvenue dans cette leçon sur le modèle d'exécution de scripts Pine. Dans cette leçon, nous allons aborder plusieurs sujets. Je vais expliquer les principes fondamentaux du modèle d'exécution de Pine Script. Je vais expliquer la différence entre les historiques et les barres en temps réel et comment le script Pine est exécuté sur ces deux types de barres. Ensuite, je vais expliquer les événements qui déclenchent l'exécution du script. Ensuite, j'aborderai quelques considérations supplémentaires relatives à l'exécution du script, et je dévoilerai également le phénomène de repeindre Commençons. Passons en revue en détail le modèle d'exécution du script Pine. Imaginons ça. Le code du script Pine inactif après compilation prend vie lorsque l' exécution des scripts Pine l'exécute, ce qui est déclenché par les événements Potal Examinons maintenant calculs des barres historiques et la façon dont le script est exécuté sur les barres historiques. Lorsque des scripts sont chargés sur le graphique, sont appliqués aux barres historiques. Tout d'abord, en utilisant les valeurs O HCV sur chaque barre. OH LCV est l'abréviation de open, high low close volume Ce sont toutes les données d'un bar. En parcourant le temps dans le graphique, nous pouvons faire défiler les barres, charger les données historiques jusqu' au début des ensembles de données du graphique, ou vous atteignez la limite des barres des comptes Un script commence à s'exécuter sur le zéro de la première barre historique, initialisant les variables pour les lignes suivantes Comme il s'exécute séquentiellement en boucle sur le cours de clôture de chaque barre historique Le script calcule en fonction des valeurs OH LCV sur chaque barre et trace ses sorties Les performances se poursuivent barre par barre jusqu'à atteindre la dernière version de l'ensemble de données. Passons maintenant aux barres en temps réel. Ils fonctionnent différemment. Dans cette émission dynamique, scripts sont constamment recalculés en réponse à chaque coche dans la barre de temps réel Avant chaque mise à jour, les variables sont annulées, ce qui garantit que les scripts redémarrent à zéro Cette danse en marche arrière réinitialise les intrigue, les deux éléments de l' intrigue barres en temps réel présentent les itérations de script déclenchées par des mises à jour, permettant des modifications variables et créant un script réactif À ce stade, les scripts sont exécutés dans les bars ouverts et à chaque mise à jour, capturant ainsi l' évolution constante du marché. Avant chaque mise à jour, la restauration rétablit l'état des barres des variables Un état propre garantit des calculs précis. La dernière exécution du script à la fermeture des barres solidifie les variables, mettant fin aux performances en temps réel Maintenant, regardons ce graphique. Il est important de savoir sur quel type de graphique vous essayez d'analyser l'exécution des barres, l'exécution des scripts. S'agit-il d'un graphique en temps réel ? S'agit-il d'un graphique actif ou inactif ? Graphique actif, ce qui signifie que le graphique est en ligne. Cela signifie l'arrivée et la mise à jour du graphique. Ce graphique, que vous voyez à l' écran, est un diagramme de théorèmes, et ce graphique est toujours actif 24 heures Eh bien, cela signifie que la barre la plus à droite ce graphique est toujours mise à jour. Toutes les autres barres de gauche sont des barres historiques, et la barre de droite de ce graphique est une barre en temps réel. Parce qu'il est constamment mis à jour. Nouvelles transactions à venir et nouvelles mises à jour des volumes à venir, mettant à jour ce graphique, à cette barre spécifique, la barre en temps réel. La barre de droite est un graphique actif, toujours une barre en temps réel. Tous les autres bars sur la gauche sont des bars historiques. Passons maintenant aux événements qui déclenchent l'exécution du script. Disons que nous avons un script ici. Nous avons un script et voyons comment il est mis à jour. Parlons maintenant des déclencheurs. Différents événements déclenchent des scripts sur l'ensemble du set de barres. Le script est donc en cours d'exécution. Lors des événements suivants, un nouveau symbole ou une nouvelle période est chargé dans le graphique. Par exemple, je change le symbole. De l'Ethereum au Bitcoin. Ensuite, le script que nous avons appliqué à ce graphique, dans ce cas, le script de stratégie simple Mac De, lorsque nous déclenchons l'exécution du script en modifiant le symbole, par exemple pour ce graphique. Ce script est lancé pour être exécuté à partir de la toute première barre de ce graphique, et sur chaque barre de ce graphique, jusqu'à la barre de droite de ce graphique, qui est la barre en temps réel. Sur la barre en temps réel, elle sera exécutée à chaque modification de cette barre. Cette barre est modifiée à chaque clic ou à chaque changement de volume sur cette barre. le second cas, chaque fois qu' un script est exécuté, c'est chaque fois que vous modifiez, par exemple, la période sur le graphique. Après cela, d'autres déclencheurs, un script est enregistré ou ajouté au graphique. Par exemple, lorsque nous accédons au script, que nous apportons des modifications, que nous l'enregistrons , le script est de nouveau exécuté. Ou chaque fois qu'un nouveau script est ajouté au graphique, les scripts sont à nouveau exécutés. Après cela, si la valeur est modifiée, la valeur de certains paramètres est modifiée. Du script. Nous obtenons les propriétés de la stratégie et nous modifions certaines propriétés, puis le script est à nouveau exécuté. Ou lorsqu'un événement d'actualisation du navigateur est détecté, cela se produit lorsque vous actualisez votre navigateur. Lorsque les transactions sont actives, les scripts s'exécutent sur barres en temps réel en raison d' événements ou de mises à jour, en réaction aux changements dynamiques du marché Les graphiques intacts pendant les marchés actifs laissent une trace de barres en temps réel écoulées, confirmées, mais pas encore performantes selon les scripts historiques Pour en savoir plus sur l'exécution des scripts Pine, nous pouvons explorer la fonction importante, fonction d'état des barres, et cette fonction, votre guide sur les types d'exécution de scripts. Ces variables font la distinction entre les barres en temps réel et les barres historiques écoulées temps réel et les barres historiques Voyons maintenant quelques variantes possibles de cette fonction. Cette fonction est à l'état de barre et après cela, elle a une fonction différente ? Par exemple, l'état de la barre est le premier ? Vous pouvez vérifier cette fonction intégrée. Si vous avez besoin de détecter si la barre actuelle est la toute première barre du graphique ? Vous pouvez utiliser cette fonction pour détecter dans votre script si une certaine barre est exécutée par votre script. Est-ce la première barre du graphique ? L'état des barres est le dernier pour détecter la dernière barre du graphique. L'état de la barre est l'historique pour détecter la barre historique. L'état des bars est en temps réel. Évidemment, pour détecter la barre en temps réel. L'état de la barre est nouveau détecter la toute première coche sur la barre en temps réel, ou il est toujours vrai sur chaque barre historique. L'état de la barre est confirmé lorsque la dernière case est cochée sur la barre en temps réel. Et c'est toujours vrai dans les bars historiques. Et son dernier historique confirmé, cela signifie que le bar historique est confirmé après l'heure réelle de fermeture du bar. Maintenant, révélons le phénomène de repeindre. C'est quelque chose que nous devons prendre en compte lorsque nous créons le script Pine. Ce phénomène se manifeste lorsque les calculs des scripts sur des barres historiques peuvent différer de ceux effectués après une transition en temps réel Une légère différence entre les valeurs OH LCV pendant les transitions contribue à modifier le comportement des scripts Et tu dois en tenir compte. Pensez à repeindre lorsque vous développez votre script Pine. En conclusion, dans cette leçon, nous avons étudié les principes fondamentaux du modèle d'exécution de scripts Pine. Différences entre l'exécution des scripts sur des barres réelles et historiques, les événements qui déclenchent l'exécution du script et le phénomène de repeinture Propulsé par ces connaissances. Nous pouvons développer des scripts Pine, ce qui contribuera certainement à notre maîtrise du développement des scripts Pine C'est la fin de la leçon, et je vous verrai dans la prochaine. 6. Leçon 6 - Les bases de la série chronologique sur le script en pin: Bonjour, bienvenue dans cette leçon, essentiels de la série chronologique de Pine Script. Dans cette leçon, je vais aborder les sujets suivants. Tout d'abord, je vais aborder l'importance des séries chronologiques dans Pine Script. Ensuite, je vais parler time ser et du modèle d'exécution des scripts Pine. Ensuite, je vais démontrer quelques applications pratiques, et nous allons utiliser une variable de prix ouvert pour cela. Ensuite, je vais aborder la distinction entre les séries chronologiques et les ras. Je vais démontrer un calcul efficace des totaux cumulés Ensuite, nous allons tirer parti des appels de fonctions et des séries chronologiques dans le script Pine. Ensuite, je vais expliquer la syntaxe et le modèle d'exécution pour les calculs complexes. En fin de compte, je vais parler de la différence entre une série chronologique et un qualificatif sérieux. Commençons. Pine Script, un puissant langage de script conçu pour les indicateurs et les stratégies trading sur la plateforme de trading view, tire une grande partie de sa force de sa gestion efficace des données chronologiques. Dans le contexte du script Pine, les séries temporelles constituent la structure de base permettant de stocker les valeurs successives d'une variable au fil temps, chaque valeur étant liée à un point précis dans le temps Comprendre les séries chronologiques est essentiel pour exploiter tout le potentiel du script Pine Le concept de série temporelle est étroitement lié au modèle d'exécution et au système de types de Pine Scripts séries temporelles représentent efficacement des valeurs qui changent au fil du temps, ce qui les rend parfaitement adaptées à l'utilisation de graphiques composés de barres, chacune représentant un point temporel distinct illustrer et démontrer simplement les séries chronologiques, il suffit de regarder le graphique et de remarquer que ce graphique nous montre une valeur chronologique, nous pouvons parler de valeurs sérieuses d'un Par exemple, pour chaque barre que nous voyons sur cet écran, chaque barre est caractérisée par les valeurs ouverte, haute, basse et fermée Toutes les valeurs ouvertes, basses et élevées sont des variables sérieuses, et elles utilisent le concept de séries chronologiques. Pour chaque barre, nous pouvons voir les valeurs de cette ouverture se fermer en bas et en haut. Nous pouvons voir ces valeurs sur le graphique. Nous pouvons voir que pour chaque barre spécifique qui représente une certaine heure spécifique, nous avons certaines valeurs de valeur de ces variables sérieuses. Pour mieux illustrer les choses, examinons cet exemple de tracé du prix d' ouverture et de la barre de cours ouverte précédente sur ce graphique Si nous exécutons ce script sur ce graphique à 12 mois, la série chronologique ouverte contient le prix d'ouverture de 12 barres consécutives sur 12 mois. référence à la valeur passée d'une série chronologique s' effectue en utilisant l' historique ouvert par un pertor de référencement, comme dans cet exemple ici Et l'un entre crochets, où le prix ouvert et l'autre entre crochets indiquent le prix d'ouverture de la barre précédente Jetons maintenant un coup d'œil à l'exemple d'une barre. Sur la ligne, la ligne bleue est l'indicateur qui trace le prix d'ouverture. La ligne verte, comme vous le voyez dans notre code, trace la valeur de l'ouverture de la barre précédente. Considérons, par exemple, cette barre. La ligne bleue représente le cours d'ouverture actuel. Vous voyez que la ligne bleue sur cette barre à ce moment précis est égale au prix d'ouverture de cette barre et que la ligne verte est égale au cours ouvert précédent. Ligne bleu-vert La ligne verte est égale au prix d'ouverture de la barre précédente. C'est ce à quoi nous nous attendons. Il en va de même pour chaque barre. Bien que les séries temporelles puissent ressembler à des tableaux, elles sont fondamentalement différentes. Le script Pi utilise une structure matricielle, mais le concept de série chronologique est différent Le script I permet de calculer efficacement totaux cumulés sans boucles explicites Par exemple, t.com et close, tels que nous les utilisons dans cet exemple, sont exécutés sur chaque barre, accumulant les valeurs de clôture au fur et à mesure de leur progression dans le graphique Et nous traçons ce t.com d'une clôture, nous traçons cet indicateur en orange, et il calcule le résumé cumulé de chaque cours de clôture pour toutes les barres fonctions font appel à des barres successives, reprennent des traces dans le temps, accessibles à l'aide de l'opérateur de référencement historique Par exemple, vérifier si la clôture de la barre actuelle dépasse le plus haut des 10 dernières barres, à l' exception de la barre actuelle, peut être exprimé comme nous l'avons codé sur cette ligne. Nous vérifions ici si la barre de fermeture est supérieure à la valeur la plus élevée d'une clôture pour les dix dernières barres et acceptons le courant à l' exception de la barre actuelle. C'est pourquoi nous en utilisons un dans le avec un historique faisant référence à apator Nous aurions pu utiliser ici un autre chiffre, comme deux, par exemple. Dans ce cas, nous aurions exclu les deux dernières barres. Cela fonctionne selon cette clause maximale de 10 barres. Elle renvoie le type sérieux de variable. F à partir de cette variable de série, nous reprenons les 2 barres. La valeur de cette série n' pas la valeur actuelle du cérus, ni la valeur précédente du cérus, mais les 2 barres reprennent les valeurs de cette La compréhension de la syntaxe et du modèle d'exécution du script Pine permet de définir des calculs complexes avec un minimum de code. La logique de boucle évidente dans les appels de fonctions comme le tracé des répétitions ouvertes sur chaque barre, le tracé de la valeur ouverte pour chaque barre du graphique, comme nous l' avons fait dans Il est important de faire la différence entre les séries chronologiques et le qualificatif sérieux. séries chronologiques expliquent comment les valeurs des variables consécutives sont stockées tandis que le qualificatif sérieux désigne les variables dont les valeurs peuvent changer de barre en barre Par exemple, le point point de la période est une variable dotée d'un simple qualificatif et d'un type de chaîne. indication de sa valeur reste constante tout au long de l' exécution du script et de chaque barre. Cela signifie que la valeur renvoyée cette fonction est une valeur de chaîne et qu'elle sera égale à et que la valeur sera toujours la même pour chaque barre sur laquelle ce script est exécuté. En conclusion, une compréhension globale des séries chronologiques associée à syntaxe et au modèle d'exécution de Pine Scripts permet aux traders et aux développeurs de scripts d'effectuer des calculs complexes avec un code concis et efficace C'est la fin de la leçon et je vous verrai dans la prochaine. 7. Leçon 7 - Structure de base de l'écriture en pin: Hall 1, bienvenue dans cette leçon, structure de base du script Pine. Cette leçon comprend les sections suivantes. Tout d'abord, je vais expliquer la structure de base du script Pine, puis nous aborderons la version, comment définir la version d'un script Pine. Ensuite, j'expliquerai les instructions de déclaration, la partie principale du code du script Pine. Ensuite, j'expliquerai comment utiliser et spécifier les commentaires, comment faire du line rapping Et puis couvrira les annotations du compilateur. Ensuite, je présenterai quelques exemples de code avec tous ces éléments de code. Commençons. Le script Pine est un langage de programmation conçu pour créer des indicateurs, des stratégies et des bibliothèques personnalisés sur la plateforme de trading view. Pour exploiter sa puissance, il est essentiel de comprendre la structure fondamentale, le versionnement, les instructions de déclaration, l'implémentation du code, les commentaires, les lignes, l'encapsulation et les annotations du compilateur Passons en revue la structure de script de base du script Pine. À la base, chaque script Pine adhère à un format structurel Version, instruction de déclaration et instructions, puis le code du script Pine principal. Version, revoyons-la. Le script commence par la déclaration de version, qui indique la version du script Pine utilisée. Par exemple, Deux, vous placez deux barres obliques lorsque la version est égale à cinq, ce qui signifie que ce code de script Pine est défini sur la version Les versions peuvent aller de 1 à 5 la dernière version cinq étant fortement recommandée par la plateforme Trade in View placer cette notation en haut du script améliore la lisibilité du code Passons ensuite en revue la déclaration. Qu'est-ce que c'est ? Tous les scripts Pine doivent inclure une déclaration de déclaration. Définition du type de script et des propriétés clés. Les types incluent une stratégie ou une bibliothèque d'indicateurs, chacune ayant des exigences et des fonctionnalités spécifiques. Pour définir le type de script, vous devez spécifier soit un indicateur, soit une stratégie, soit une bibliothèque. Passons ensuite en revue la section principale du code du script Pine. Le cœur du script réside dans son code. Différents types d'instructions façonnent l'algorithme des scripts, tels que les déclarations de variables, les affectations, les appels de fonctions et les structures de flux de contrôle. Par exemple, dans cette ligne, nous avons défini sur la variable A le résultat du résumé, ouvert, élevé, bas et fermé. Les déclarations peuvent être organisées de différentes manières, certaines étant exprimées sur une seule ligne ou réparties sur plusieurs lignes. Passons maintenant en revue l' élément de commentaires du script Pine. Les commentaires fournissent des informations. Et des explications dans le code. Ils commencent par une double barre oblique et peuvent être placés n'importe où sur une ligne ou suivre le code Dans cet exemple de code, nous pouvons voir que cette ligne de commentaire est placée à partir du début de la ligne. Nous avons mis deux barres obliques et nous avons mis notre commentaire ici. Dans l'exemple suivant, dans cette ligne, le commentaire suit le morceau de code. Ces deux cas sont valides. Un raccourci pratique dans l'éditeur Pine est la Ctrl et barre oblique pour commenter ou décommenter des lignes Passons maintenant en revue le découpage des lignes. Pour améliorer la lisibilité du code, les longues lignes peuvent être divisées ou encapsulées Les lignes doivent être correctement indentées garantir la clarté de l'organisation des scripts Dans cet exemple, nous avons encapsulé une longue ligne dans lignes encapsulées pour améliorer la lisibilité du code Enfin, revoyez les points du compilateur de code. annotations du compilateur sont des commentaires qui fournissent des instructions spéciales pour le script Il s'agit notamment de spécifier la version du script pan, définir des descriptions personnalisées, créer des régions pliables et d'autres notations Dans ces exemples, nous voyons la version du compilateur que nous connaissons bien comme description de la compilation, et le compilateur, par exemple, la région, le début de la région et la fin de la région. Passons maintenant en revue certains de ces éléments du code dans la pratique. Dans cet exemple, nous pouvons voir que nous avons un indicateur simple qui calcule la moyenne des lois supérieures ouvertes et clôturées et trace cet indicateur sur le graphique Ce script commence par le réglage de la version du script, version égale deux version cinq. Ensuite, nous définissons le type du script. Dans ce cas, il s'agit d'un indicateur, mais il peut s'agir d' une stratégie ou d'une bibliothèque. Ensuite, nous spécifiez le début de la région, la notation du compilateur. À la fin du code du script Pi, nous définissons la fin de la région, la notation du compilateur. Comme nous avons spécifié le début et la fin de la région, nous pouvons réduire toute cette section en appuyant sur cette flèche vers le bas. Cela améliore la lisibilité du code si nous devons réduire certaines régions et les regrouper dans une seule portée Ensuite, nous voyons un exemple du commentaire qui commence au début de la ligne Supposons que nous voulions un exemple de commentaire supplémentaire un exemple de commentaire Nous pouvons maintenant marquer cette ligne comme commentaire. Nous pouvons appuyer sur la touche Ctrl maintenir la touche Ctrl enfoncée et appuyer sur la barre oblique du clavier C'est une touche courte pour commenter la ligne. Lorsque nous appuyons sur ces boutons, encore une fois, barre oblique, la ligne n'est Ensuite, nous avons une ligne de code encapsulée qui est divisée en quatre lignes, et il est important de se rappeler que chaque ligne encapsulée ne doit pas commencer par le nombre exact de clics depuis le début de la ligne Par exemple, si nous le définissons comme ça, nous voyons une erreur ici. Parce que vous ne devez pas placer la ligne tracée juste à côté de ces lignes verticales qui marquent l'emplacement exact de l'onglet L'onglet a une signification particulière dans le script Pie. Cela signifie le co, la fonction, le champ d'application interne. Par conséquent, pour définir correctement la ligne tracée, vous devez spécifier un certain nombre d'onglets, puis appuyer sur un espace Maintenant, il n'y a aucune erreur. Il n'y a aucune erreur là-bas. En résumé, en comprenant les éléments fondamentaux de la syntaxe du script Pi. Vous pouvez créer en toute confiance des indicateurs, des stratégies et des bibliothèques personnalisés sur la plateforme Trading View, améliorant ainsi votre analyse technique et vos stratégies de trading C'est la fin de la leçon, et je vous verrai dans la prochaine. 8. Leçon 8 - Identificateurs et opérateurs en écriture pin: Colon, bienvenue dans cette leçon, sur les identifiants et les opérateurs dans le script Pine Dans cette leçon, nous allons aborder les sections suivantes. Je vais d'abord expliquer ce que sont les identifiants, puis nous allons étudier tous les types d' opérateurs dans le script Pine, tels que les opérateurs de comparaison arithmétique, logique, ternaire, de référencement historique, référencement historique réaffectation examinerons également la priorité des opérateurs. Commençons. Commençons par étudier les identifiants dans Pine Script. Dans le monde du trading, Pine Script utilise des noms spéciaux appelés identifiants pour les variables et les fonctions que nous créons dans Pine Script Maintenant, les identifiants ont certaines règles. Ils commencent par une grande lettre A de A à z, une petite lettre de A à z ou un trait de soulignement En d'autres termes, il est alphanumérique, mais il ne peut commencer qu'à partir d'une lettre. Deuxième règle. Après le premier caractère, vous pouvez utiliser des traits de soulignement ou des chiffres. Troisième règle, les identifiants se soucient de la capitalisation. Ils savent faire la différence entre les grandes et les petites lettres. Passons en revue les exemples d'identifiants. Tous ces identifiants MR et sous-score my R, etc. sont des identifiants valides, sauf le dernier, et cela n'est pas autorisé car il part d'un chiffre Tous les identifiants commencent par une lettre. Lettre majuscule ou minuscule. Et il ne peut contenir que des chiffres, des lettres ou des traits de soulignement. Ensuite, nous avons des exemples tirés d'un code réel. Nous avons un exemple d'identifiants. Nous avons un trait de soulignement vert égal à cette couleur et nous avons un trait de soulignement maximal logb égal à ce nombre, nous attribuons ce nombre à cette variable, nous affectons ce nombre à cette variable. Ici, nous avons un entier variable de longueur rapide et nous attribuons la valeur sept à Toutes ces variables sont des identifiants valides car elles suivent les règles que nous venons de spécifier Il existe maintenant un guide, sous forme d'ensemble de règles, pour que votre code soit beau même s'il ne change pas. Nous les appelons constantes. Il suggère d'utiliser l'étui Big Snake. Par exemple. Dans cet exemple, nous utilisons la constante. Ce que constant signifie, c'est que cette variable aura toujours cette valeur dans le script Pine parce que nous lui attribuons cette valeur et qu'elle n'aura que cette valeur pendant tout le script . C'est une constante. Il est suggéré d'avoir une règle concernant cas d'un serpent, l' identifiant et le nom. Vous utilisez uniquement des majuscules et lorsque vous combinez deux mots en un, vous les reliez par un trait de soulignement C'est ce qu'on appelle le cas du serpent, cette règle est suggérée pour les constantes. Maintenant, pareil pour cette constante, nous utilisons la même règle appelée snake case pour cet identifiant. Dans un autre cas, il s'agit la variable car nous avons spécifié un entier, longueur rapide, et dans ce cas, nous utilisons une autre règle. C'est ce qu'on appelle Camel Case. Camel Case, cela signifie que vous combinez plusieurs mots en un seul gros mot, et que vous les connectez en réglant la première lettre de chaque mot sur rapide, en commençant par la petite Suivant la longueur logique du mot, nous avons commencé par un L majuscule La même règle s'applique à la fonction. Nous utilisons la convention de dénomination Camel Case pour cette fonction. C'est juste une règle suggérée, zéro, puis un autre mot un et un, nous partons du majuscule. Pour construire cet identifiant de base, nous utilisons deux mots zéro et un. Ensuite, après d'autres mots, nous allons commencer par la majuscule. C'est à peu près. N'oubliez pas que ces règles contribuent à rendre votre code facile à lire et agréable à regarder. Cela améliore essentiellement la lisibilité du code. Choisissez de bons noms lorsque vous le faites pour vos identifiants et respectez ces règles Désormais, dans Trading View, les opérateurs de script Pine sont des outils nous utilisons pour créer des expressions et effectuer des opérations qui donnent des résultats. Il existe différents types d'opérateurs, chacun ayant un objectif spécifique. Les opérateurs peuvent être classés globalement en deux catégories. Ceux utilisés pour créer des expressions et ceux utilisés pour attribuer des valeurs et des variables Passons en revue les opérateurs arithmétiques. Les opérateurs arithmétiques sont utilisés pour les calculs mathématiques Dans le script Pine, il existe cinq opérateurs arithmétiques. Opérateur d'addition, de chaîne et de caténation, nous utilisons le symbole plus, la soustraction, nous utilisons le symbole moins, la multiplication, nous utilisons le symbole étoile, la division, nous utilisons le symbole avant C'est le reste après le pourcentage de division. Nous utilisons le symbole pourcentage pour cet opérateur arithmétique. Ces opérateurs peuvent travailler à la fois avec des nombres et des chaînes, offrant ainsi une flexibilité dans les calculs et les concaténations Passons en revue l'exemple de code réel. Dans cet exemple, nous attribuons la valeur cinq à la variable huit, nous affectons la valeur trois à la variable B B. Ensuite, nous calculons résumé des variables A et B, et nous affectons le résultat du résumé au résultat d'une autre variable Voici un exemple de la façon dont nous utilisons l'une des opérations arithmétiques, dans ce cas, l'opération d' addition Passons maintenant en revue les opérateurs de comparaison. Les opérateurs de comparaison nous aident à comparer les valeurs et à prendre des décisions en fonction des résultats. Pin Script possède six opérateurs de comparaison. Premièrement, moins de deuxième, inférieur ou égal à, troisième, pas égal quatrième égal cinquième, supérieur à et six supérieur ou égal à deux. Passons maintenant en revue l'exemple d'opérateur de comparaison, comment il peut être utilisé. Dans cet exemple, nous attribuons à la variable close above open le résultat de la valeur logique per de l'opérateur de comparaison. Supérieur à la valeur comprise entre la variable close et la variable open. Si close est supérieur à open, la valeur true sera attribuée à cette variable close above open. Sinon, la valeur des fichiers sera assignée à la fermeture au-dessus de la variable ouverte. Voici un exemple d'utilisation de l'aérateur de comparaison. Passons ensuite en revue les opérateurs logiques. Les opérateurs logiques aident à créer des conditions logiques. Il existe trois opérateurs logiques dans le script Pine. Premièrement, la négation, la deuxième conjonction logique et la troisième disjonction logique Passons en revue un exemple de son utilisation. Dans cet exemple, nous avons une variable de condition 1 et nous lui attribuons résultat de la fermeture et de l'ouverture de l'opérateur de comparaison d'opérateurs. Si la fermeture est supérieure à l'ouverture, la valeur vraie sera attribuée à la première condition. Deuxième condition, un autre opérateur de comparaison plus grand que celui utilisé. À la variable condition 2, nous attribuons le résultat s'il est supérieur, supérieur à faible. Ensuite, dans la ligne suivante du résultat variable, nous attribuons la valeur de l'opération logique Si les conditions 1 et 2, I condition 1 et condition 2 sont vraies, alors la valeur vraie sera affectée au résultat variable. Sinon, si cet opérateur logique est faux, la valeur des fichiers sera affectée à la variable result. La négation est un opérateur lorsque vous annulez la valeur logique de l' Ou il est évident que lorsque vous utilisez un opérateur logique ou que le résultat sera soit un argument gauche, soit un argument droit, autour de cet opérateur, si de ces arguments est vrai, alors le résultat sera vrai. Passons ensuite en revue l'opérateur ternaire. L'opérateur ternaire est représenté par deux symboles. Le point d'interrogation et la colonne permettent d'écrire des expressions conditionnelles de manière concise. Il renvoie l'une des deux valeurs en fonction de la condition spécifiée, de son fonctionnement. Vous spécifiez la condition, puis vous définissez le symbole du point d'interrogation, puis vous spécifiez la valeur lorsque la condition est vraie, puis vous mettez une colonne, puis v une condition est fausse. Passons en revue un exemple. Dans cet exemple, nous avons une condition de couleur variable à laquelle nous avons assigné la valeur variable de cette expression. Si elle est fermée, supérieure à ouverte, alors cette expression entière sera égale à un point de couleur vert, et ce point de couleur vert sera attribué à la variable de condition de couleur. Si la valeur de fermeture n'est pas supérieure à celle d'ouverture, point de couleur rouge sera attribué à la variable de condition de couleur. C'est ainsi que fonctionne le parateur ternaire. Passons maintenant en revue l'opérateur de référencement historique. L'opérateur de référencement historique représenté par des crochets. Cela nous permet de nous référer à la valeur passée des séries chronologiques. Il est crucial pour analyser les données historiques et prendre des décisions sur la base des informations passées. Voyons comment fonctionne l'opérateur de référencement historique. Dans cet exemple, nous avons la variable post close, et nous avons attribué la valeur close et un entre crochets à la clause variable post. Nous utilisons un opérateur de référencement historique et nous avons spécifié la valeur de un à l'intérieur de ce séparateur Cela signifie que nous prenons la valeur de barre précédente de clôture et que nous l'affectons à la condition de clôture passée. Nous pourrions utiliser un autre chiffre entre crochets. Imaginons que nous utilisions le chiffre de cinq. Dans ce cas, nous attribuons une valeur de clôture de 5 barres à la variable de clôture passée. C'est ainsi que fonctionne le parateur historique et de référencement. Passons ensuite en revue le fonctionnement de la priorité des opérateurs. Il s'agit essentiellement d'une règle fonctionnement de la priorité lorsque vous avez différents opérateurs dans une expression Les opérateurs ont un niveau de priorité différent, ce détermine l'ordre des calculs Comprendre la priorité des opérateurs permet d'écrire des expressions qui produisent le résultat attendu Il s'agit maintenant de la priorité de l'opérateur. Les opérateurs ayant la priorité la plus élevée sont exécutés en premier. Par exemple, si vous avez dans une expression un historique de pertor référençant un parator, et en gros un opérateur arithmétique Tout d'abord, nous allons exécuter opérateur de référencement historique car il a une priorité plus élevée Ensuite, nous allons exécuter l'opérateur arithmétique plus car il a une priorité inférieure Passons maintenant en revue cela dans un exemple. Dans cet exemple, nous définissons résultat variable et nous lui attribuons la valeur deux plus trois multipliée par quatre Comment cette valeur est-elle calculée ? Cette valeur est calculée à l'aide des règles d'opérateur de priorité décrites dans ce tableau Le premier opérateur de multiplication sera exécuté. Pourquoi ? Parce que l'opérateur de multiplication a un précédent de sept, mais que l' opérateur d'addition arithmétique a un précédent multiplication sera d'abord exécutée, trois multiplié par quatre fera 12. Ensuite, 12 sera ajouté à 214, et ce n'est qu'alors que le numéro 14 sera attribué au résultat variable. C'est ainsi que fonctionne la priorité des opérateurs. Passons maintenant en revue l'opérateur d'affectation, qui utilise le symbole égal. L'opérateur d'affectation affecte une valeur à une variable lorsqu'elle est initialisée ou déclarée pour la première fois Cela signifie le début d' une nouvelle variable et sa valeur initiale Voici un exemple de la façon dont vous utilisez l'opérateur d' affectation Lorsque vous déclarez et initialisez la variable. Dans cet exemple, d'une longueur égale à f, cette variable est déclarée et initialisée avec la valeur de Ensuite, le facteur variable est déclaré entier et initialisé avec une valeur de deux Ensuite, la longueur ajustée variable est initialisée et déclarée en la longueur de cette expression multipliée par un facteur Le résultat de cette expression est affecté à la variable de longueur ajustée. C'est ainsi que fonctionne l'opérateur d'assignation. Passons ensuite en revue l'opérateur de réaffectation. L' opérateur de réaffectation est utilisé pour réaffecter une valeur à une variable existante Il permet aux variables d'être mutables et de modifier leurs valeurs au fil du temps. Voyons maintenant comment fonctionne l'opérateur de somme. abord, nous initialisons la valeur avec un type de valeur flottante et le nom de la variable est moyenne mobile, et nous l'affectons à la valeur NA, ce qui signifie non disponible Il s'agit d'une valeur de script Pine spéciale, ce qui signifie qu'elle n'est pas disponible. En gros, aucune valeur pour l'instant. Ensuite, nous réaffectons une nouvelle valeur à la même moyenne mobile variable, résultat de la fonction SMA à point Comme nous attribuons une nouvelle valeur à la même variable, que nous avons déclarée ci-dessus, nous utilisons un opérateur de réaffectation. C'est ainsi que l' opérateur de réaffectation est utilisé. Entraînons-nous maintenant à créer une expression plus complexe combinant différents types d'opérateurs. Dans ce guide, nous avons tous les exemples de code que nous avons examinés et abordés dans cette leçon Supposons maintenant que nous ayons pour tâche de vérifier si la clôture actuelle est supérieure à la barre précédente 5 % et prix élevé actuel est supérieur au plus bas actuel précédent, plus bas précédent. Définissons un pont variable et calculons le pourcentage d'un cours de clôture actuel. Clause moins clause précédente. Nous utilisons l'opérateur de référencement historique et divisons par la clôture précédente Dans toute cette expression, nous devons multiplier par 100 pour calculer le pourcentage de variation d' un cours de clôture actuel par rapport au cours de clôture de la barre précédent. Et nous voulons vérifier que le sommet actuel est supérieur au sommet précédent. Ou la loi actuelle est plus importante que la loi précédente. Nous voulons vérifier si le pourcentage que nous avons calculé précédemment est supérieur à 5 %. Nous voulons savoir si variation de prix actuelle par rapport à la barre précédente est supérieure à 5 %, sommet actuel est supérieur au sommet précédent, ou si la loi actuelle est supérieure à la loi précédente. Il s'agit d'un exemple d'utilisation de différents types d'appareils dans une expression Nous utilisons un référencement historique, un pator, nous avons utilisé la logique et nous avons utilisé Pour résumer cette leçon, je tiens à dire que la compréhension de ces opérateurs et leurs fonctionnalités est cruciale pour un développement efficace du script Trading View Pine Ils constituent les éléments de base permettant de créer des scripts sophistiqués et dynamiques pour analyser les marchés financiers. C'est la fin de la leçon et je vous verrai dans la prochaine. 9. Leçon 9 - Déclarations variables en écriture pin: Bonjour, bienvenue dans cette leçon, Déclarations de variables dans Pine Script. Cette leçon comprend les sections suivantes. Section de déclaration de variables où je vais expliquer quelles sont ces déclarations de variables, comment déclarer des variables dans le script Pine. Après cela, initialisation avec une valeur NA, NA signifiant valeur non disponible Ensuite, je vais expliquer comment fonctionne la réaffectation de variables dans le script Pine En fin de compte, je vais expliquer quels sont les modes de déclaration dans le script Pine. Commençons. Dans le script Pine, les variables jouent un rôle crucial dans le stockage et la gestion des valeurs. Avant d'utiliser une variable, celle-ci doit être déclarée dans le code. Cette leçon explore la syntaxe des déclarations de variables, différents types de variables et l'importance des modes de déclaration. La syntaxe de la déclaration de variable est la suivante. Mode de déclaration, type, identifiant, expression ou structure de signe égal, ou il peut s'agir de déclarations de tuple, structure d' appel de fonction de signe égal, où le mode de déclaration est facultatif et peut être variable P ou rien Le type est facultatif et représente le type de données variable, tel que in ou flot par exemple L'identifiant est un nom de variable. L'expression peut être une expression variable littérale ou un appel de fonction La structure peut être une structure I quatre ou une structure de commutateur. La déclaration de tuple est une liste séparée de noms de variables et fermée entre crochets Passons maintenant en revue un exemple de déclarations de variables. La déclaration de variable peut être déclarée avec un type implicite ou un type explicite. Lorsque vous déclarez avec une déclaration de type explicite, vous spécifiez le type. Lorsque vous ne spécifiez pas le type, variable obtient le type à partir de la valeur qui lui est attribuée. Jetons également un coup d'œil à la déclaration de variable Tale. La fonction T point MD renvoie une variable de type tuple. Par conséquent, nous utilisons une variable tuple, qui est une séquence de noms de variables, et cette variable tuple reçoit une valeur assignée par la fonction T M D. De plus, dans l'exemple suivant, nous avons attribué à la variable return of if operator, en fonction de la condition de l'opérateur if, variable de couleur du tracé obtiendra valeur de point vert ou de point de couleur rouge. Notez que l'opérateur de signe égal est utilisé dans les déclarations de variables, les distingue de la réaffectation ce qui les distingue de la réaffectation utilisant l'opérateur de réaffectation, qui est Nous l'examinerons plus tard en détail. Voyons ensuite comment initialiser une variable avec une valeur NA NA est une valeur spéciale dans le script Pine, ce qui signifie qu'elle n'est pas disponible, ou vous pouvez la considérer comme une valeur nulle pour le moment. Nous attribuons une valeur NA à la variable comme suit. Nous spécifiez le type de variable name equal et NA. Ou nous pouvons ignorer la spécification du type de variable. Nous pourrions simplement spécifier le nom de la variable equal et float et NA inclut cette expression qui renvoie le type de float, mais la valeur est NA Dans la première ligne, il existe une méthode non valide pour initialiser variable car nous n'avons pas spécifié le type de variable et nous avons essayé d'attribuer la valeur NA Par conséquent, ce type de vague d'attribution de valeur NA n'est pas valide car nous n'avons pas précisé le type de variable Dans l'exemple suivant, nous voyons l'exemple de déclaration de tuple Lorsque nous attribuons la valeur renvoyée par la fonction T point BB au Taple, pourquoi ? Parce que nous savons que si nous consultons le TAB, quel type de valeur il renvoie, il renvoie. Par conséquent, nous déclarons la valeur d'un tuple, qui se compose de trois valeurs de trois variables dans ce cas, et pour cette variable Taple, nous attribuons la valeur renvoyée par cette fonction B. Les appels de fonction ou les structures peuvent renvoyer plusieurs valeurs, comme la fonction TA point. Lorsque nous utilisons des déclarations de tuple pour stocker ces valeurs, comme dans cet exemple Passons ensuite en revue la réaffectation des variables. La réaffectation des variables s'effectue aide de l'opérateur de réaffectation L'opérateur de réaffectation se compose d'une colonne et d'un sinus égal. Elle est exécutée après la déclaration de la variable et l'attribution d'une valeur initiale. réaffectation est essentielle pour mettre à jour les valeurs des variables lors de l'exécution du script Voici comment cela fonctionne. Nous utilisons l'opérateur de réaffectation uniquement lorsque nous avons déjà déclaré la variable et que nous avons déjà réaffecté la valeur à Ensuite, au cas où nous aurions besoin de réaffecter une nouvelle valeur à cette variable Nous utilisons un opérateur de réaffectation. Passons ensuite en revue les modes de déclaration dans le script Pine. comprendre les modes de déclaration et d'utiliser mots clés R et AP Il est essentiel de comprendre les modes de déclaration et d'utiliser les mots clés R et AP pour gérer le comportement des variables à travers les barres. Passons en revue les informations figurant sur chaque barre. Type de déclaration R. Lorsque R est utilisé, la variable est initialisée une fois sur la première barre de la portée globale du ou pour la première fois dans le bloc local. Il conserve sa valeur sur les barres successives jusqu'à sa réaffectation Voici comment cela fonctionne. Lorsque vous êtes dans un script, vous avez une déclaration de variable ar. Sur la toute première barre du graphique, la valeur lui est attribuée. Dans ce cas, valeur nulle. Sur les barres suivantes, cette valeur est conservée en mémoire. I si vous réaffectez une nouvelle valeur à cette variable. Il se souviendra de cette nouvelle valeur réaffectée. Cette affaire, c'est comme ça que ça va fonctionner. Vous allez obtenir une valeur nulle sur la toute première barre, puis lorsque cette variable verte est vraie, la variable de comptage sera incrémentée d'un Voyons comment cela fonctionne maintenant à chaque mise à jour en temps réel. Mode déclaration, où nous utilisons le mot clé VIP. Cela fonctionne de cette façon, comme dans cet exemple. Lorsque l'état de la barre est nouveau, il est vrai, c'est-à-dire dès le premier clic dans la barre en temps réel, cet arrib est mis à jour et reçoit la valeur un À chaque coche suivante, nous incrémentons cet ib d'un Et comme nous déclarons cette variable en tant qu'IP, c'est-à-dire à chaque mode de déclaration de mise à jour en temps réel, elle conserve sa valeur entre les ticks. C'est ainsi que fonctionne chaque mode de déclaration en temps réel. En conclusion, la compréhension des déclarations de variables est fondamentale pour une écriture de script efficace dans Trading View Pine Script. Cette leçon a abordé la syntaxe des déclarations de variables, y compris les modes de déclaration, tels que R et R AP. C'est la fin de cette leçon, et je vous verrai dans la prochaine. 10. Leçon 10 - Les structures de conseils en écriture pin: Colon, bienvenue dans cette leçon, Structures supplémentaires dans le script Pine Dans cette leçon, nous allons étudier si et changer de structure d' opérateur. J'expliquerai également la correspondance exigences locales en matière de type de bloc lors de l'utilisation de ces structures. Je vous fournirai également les meilleures pratiques et des conseils sur l'utilisation des opérateurs e et switch. Commençons. Le parateur I du script Pine et de nombreux langages de programmation est une instruction conditionnelle qui vous permet d'exécuter différents blocs et codes selon qu' une condition spécifiée est vraie ou fausse Il joue un rôle crucial dans le contrôle du flux de votre script. Découvrons le fonctionnement de l'opérateur. Nous avons ici si une condition puis si cette condition est vraie, le code, cette section de code est exécutée. Nous pourrions alors avoir une ou plusieurs autres conditions, puis si l'une de ces conditions est vraie, alors la section correspondante est exécutée et peut être une autre, opérateur, et si aucune de ces conditions n'est vraie, alors l'instruction de l'opérateur sera exécutée. condition après l'opérateur est une expression dont la valeur est vraie ou fausse Le code du premier bloc est exécuté. Ce code est exécuté si cette condition est vraie. Vous pouvez avoir plusieurs blocs pour vérifier des conditions supplémentaires. Ceci si vous pouvez en avoir plusieurs , un ou plusieurs. Le bloc S, celui-ci, je le présente, est exécuté lorsqu'aucune des conditions du bloc if n'est vraie. Maintenant, ce qui est important, c'est de comprendre le flux d'exécution de l'instruction if. Avant de passer en revue cet exemple, examinons l' exécution du flux de cet opérateur. L'évaluation de la condition, la condition est évaluée et si elle est vraie, le code du bloc correspondant est exécuté. Si c'est le cas, ce code est exécuté. Si la condition est fausse, le script passe au bloc suivant, cas échéant, et répète le processus Si cette condition est fausse, le flux passe à la condition suivante. Dans ce cas, par exemple, condition 2. Ensuite, si cette deuxième condition est fausse, on passe à la suivante et vérifie que c'est vrai. Si aucun des deux LD n'est vrai, l'instruction sous instruction est exécutée. Exécution séquentielle, le code du bloc associé à la première condition vraie est exécuté. Si une condition vraie est trouvée, blocs et blocs suivants, le cas échéant, sont ignorés, cela signifie que si, par exemple, cette condition après l'opérateur I est vraie, alors cette instruction est exécutée, toutes les autres instructions sont ignorées Bloc facultatif. Le bloc et le bloc s sont facultatifs. Cela signifie que L ou plusieurs L Z peuvent être présents en option. Et la présence de est également facultative. Il est important de s'en souvenir. Passons maintenant en revue un exemple réel. Dans cet exemple, nous avons l'opérateur if utilisé, et après l'opérateur I, nous avons une condition close, plus grande qu'ouverte. Si cette condition est vraie, est-à-dire si la valeur de fermeture est supérieure à celle d'ouverture, la couleur de fond , couleur BG, variable sera affectée à la couleur verte. Si fermer n'est pas plus grand que ouvert, deuxième condition sera cochée dans l'instruction. Ensuite, si fermer est inférieur à ouvert, la couleur rouge sera attribuée à la variable de couleur de fond . Et si aucune de ces deux conditions ( première condition après et seconde condition après Ls), si aucune de ces deux conditions n'est vraie, alors cette instruction sera exécutée sous l'instruction. Dans ce cas, la couleur de fond sera affectée à la couleur jaune. C'est ainsi que fonctionne l'opérateur dans ce cas. Donc, les points essentiels à retenir sont l'exclusivité mutuelle. Dans la série d'instructions if et else, if, seul le code associé à la première condition vraie sera exécuté. Une fois qu'une condition est vraie, les conditions suivantes sont ignorées. Par exemple, dans ce cas, si, par exemple, première condition est fausse, mais que la deuxième condition est vraie, cette instruction sera exécutée. La couleur sera attribuée, la couleur de fond sera le rouge. Par la suite, l' instruction suivante sera ignorée. Action par défaut. Le bloc s fournit une action par défaut si aucune des conditions spécifiées n'est vraie. Cela signifie que si aucune des conditions n'est vraie et, après toutes les conditions de l'opérateur, si aucune de ces conditions n'est vraie, l'instruction par défaut sera exécutée. La couleur de fond sera attribuée au jaune. Règle d'indentation. Le code de chaque bloc si L est généralement indenté pour des raisons de lisibilité Bien que Piscrit soit indulgent en matière d'indentation. Comme vous le voyez ici, ce que nous avons ici. Cette instruction après chaque opérateur, si L, l'instruction est en retrait dès le début Cela améliore la lisibilité du code et il est suggéré de l'utiliser Il est essentiel de comprendre l'opérateur électronique pour créer des scripts capables de prendre des décisions et réagir de manière dynamique aux conditions changeantes des marchés financiers. Il vous permet de créer une logique qui s'adapte à différents scénarios, ce qui rend votre script plus robuste et plus polyvalent. Passons maintenant en revue la syntaxe de l'opérateur e lorsqu'il renvoie une valeur. Dans ce scénario, la syntaxe est la suivante. identifiant de type du mode de déclaration est égal au bloc local des opérateurs I, l'expression L Z, au bloc local et à l'expression L et L, un autre bloc local. Dans ce cas, le mode de déclaration est le mode de déclaration des variables. Le type est facultatif. identifiant est le nom de la variable dans ce cas, et l'expression peut être une expression variable littérale d'appels de fonction La différence entre utiliser un opérateur qui renvoie une valeur et utiliser un opérateur e, qui ne renvoie pas de valeur, est que nous attribuons le retour de l'opérateur e à une certaine variable. Dans ce cas, il s'agit d' un script comme identifiant. Et nous avons besoin de notre opérateur I pour renvoyer une certaine valeur en fonction de certaines conditions, et lorsque nous avons besoin que cette valeur soit affectée à une certaine variable, nous utilisons cette syntaxe. Passons maintenant en revue un exemple d' utilisation de l'opérateur e avec une valeur de retour. Dans ce cas, nous pouvons voir que nous avons déclaré un état de barre variable de chaîne et que nous attribuons à cette variable d'état de barre le retour de l'opérateur e. Si l'opérateur vérifie, si l'état de cette barre de fonction est un historique confirmé, si cette condition est vraie, alors l' opérateur if renverra cette chaîne dernier historique confirmé, et cette chaîne sera affectée à la variable d'état de la barre. Si cette condition est fausse, condition suivante sera vérifiée après l'instruction L if. Et si l'état de la barre est nouveau et que cette condition est vraie, alors sa nouvelle chaîne sera renvoyée et affectée à l'état de la barre. Si cette condition est fausse, condition suivante sera vérifiée. Si la condition d' heure de Bar State Israel est vraie, alors la chaîne d'heure d'Israël sera renvoyée et affectée à la variable d'état de la barre. Si aucune de ces trois conditions n'est vraie. Celui-ci, celui-ci est celui-ci, si aucune d'elles n'est vraie, alors une autre chaîne sera renvoyée après l'instruction se, et cette autre chaîne sera affectée à la variable d'état de la barre. Voici comment fonctionne l'opérateur if lorsque nous l'utilisons pour renvoyer de la valeur. Maintenant, je tiens à dire que, étant entendu, l'évaporateur est très important et il est très important de savoir quand vous devez utiliser l'évaporateur z, en renvoyant une renvoyant Passons maintenant en revue le fonctionnement de l'opérateur de structure du commutateur. Dans le script Pine, la structure du commutateur est utilisée pour le branchement conditionnel Semblable à la structure if. Il vous permet de sélectionner et d'exécuter des blocs de code spécifiques en fonction de la valeur d'une expression. La structure du commutateur se présente sous deux formes. L'un avec une expression comme clé et l'autre sans expression. Passons en revue Switch with expression. Dans ce commutateur, nous pouvons voir qu' après l'opérateur de commutation, nous utilisons l'expression, c'est donc le cas que nous envisageons de changer avec expression. Voyons maintenant comment cela fonctionne. Dans cette syntaxe, le mode de déclaration est facultatif. Il spécifie le mode de déclaration des variables, qui peut être ar v P ou rien. Tapez. Facultatif, spécifie le type de variable. Par exemple, dans une chaîne de flux. Ensuite, identifiez le nom de la variable. Ensuite, nous avons un interrupteur lui-même, une expression, l'expression clé dont la valeur détermine le cas à exécuter Valeur un, valeur deux, et nous pourrions avoir plus de valeurs dans cet opérateur, des valeurs spécifiques que l'expression peut prendre. Si cette expression est revérifiée, si l'expression est égale à la valeur 1, bloc local 1 est renvoyé et attribué à cet identifiant Si la valeur deux est t. Si l'expression est égale à la valeur deux, bloc local deux est renvoyé et attribué à cet identifiant. Bloc local un, bloc local deux, blocs de code associés à chaque valeur. Bloque par défaut le code exécuté lorsqu'aucun autre cas ne correspond. Cela signifie que si l'expression, si l'expression évaluée ne correspond à aucune de ces valeurs, alors le bloc local est exécuté et réaffecté à cet identifiant. Passons maintenant en revue l' exemple de l'opérateur de commutation sans expression. Dans ce cas, les conditions de l'expression 1 et de l'expression 2 sont évaluées pour déterminer le cas à exécuter. Bloc local un, bloc local deux, blocs de code associés à chaque condition. Bloc local par défaut, bloc de code exécuté lorsqu'aucun autre cas ne correspond. Passons maintenant en revue quelques exemples d'utilisation de switch Epert. Dans cet exemple, la structure du commutateur est utilisée pour déterminer s'il faut entrer dans une position longue ou courte, ou fermer une position existante en fonction conditions de croisement et de croisement Voici donc comment cela fonctionne. Cela utilise l'opérateur switch sans aucune expression. Ainsi, d'abord, lorsque l'exécution de cet opérateur de commutation est entrée, première condition est vérifiée, TA cross over. Si cette condition est vraie, ce code sera exécuté. Les entrées de stratégie sont longues. Le script entrera donc en position longue. Si cette condition est fausse, sera évaluée. Si la croix sous condition est vraie ou non. Si c'est vrai, la position courte sera saisie en exécutant stratégie de saisie de points, position courte. Si aucune de ces conditions n'est vraie, l'instruction par défaut sera exécutée, la stratégie étant close. La position stratégique sera clôturée. Voici un exemple d' utilisation de switch appetor qui n'a aucune expression Passons maintenant en revue un exemple d'utilisation de l' opérateur switch avec une expression. Dans ce cas, nous pouvons voir que nous utilisons un opérateur de commutation, puis que nous avons une condition close, plus grande qu'ouverte, et le retour de l' exécution de cet opérateur de commutation sera attribué à la variable de couleur de fond. Voyons comment cela fonctionne. Si cette condition de fermeture supérieure à celle d' ouverture est vraie, l'opérateur du commutateur essaiera de trouver la vraie valeur dans son champ d'application dans sa liste de valeurs. Il va trouver la valeur t sur cette ligne. Ensuite, l'instruction correspondante sera exécutée et la couleur verte sera renvoyée et affectée à la variable de couleur de fond Je ferme plus qu'ouvert. La condition est fausse, selon laquelle il trouvera la fausse valeur et couleur correspondante sera renvoyée, qui est la couleur rouge dans ce cas et affectée à la variable de couleur de fond. C'est ainsi que l'opérateur switch fonctionne avec l'expression. Passons maintenant en revue les exigences relatives aux types de blocs locaux correspondants, qu'il est important de comprendre lors de l'utilisation de structures telles que if et switch. Lorsque vous utilisez plusieurs blocs locaux dans des structures, telles que les opérateurs ef et switch, la valeur renvoyée est de type if structure assigne une valeur à une variable dans une déclaration Cela signifie que vous utilisez une structure, un tel commutateur dans ce cas, et que vous l'utilisez, vous l'utilisez d'une certaine manière, sorte que le retour de cette structure sera attribué à une certaine variable. Dans ce cas, chaque valeur renvoyée cette structure doit être du même type, comme dans ce cas, il s'agit d'une couleur. Par exemple, si l'une de ces valeurs renvoyées sur On ne correspond pas au type de couleur attendu, vous obtiendrez une erreur de compilation. Il y a aussi quelques règles importantes à retenir. Une seule branche de la structure du commutateur est exécutée, et il n'y a rien de et il n'y a rien de tel dans d'autres langages de programmation Ce symbole en forme de flèche est utilisé pour associer une valeur au bloc de code correspondant, ce symbole d'écriture d'erreur. La structure est alors interrompue avec un bloc local par défaut pour gérer les cas où aucune des conditions spécifiées n'est remplie. Comme par exemple, dans cette syntaxe. Lorsque aucune de ces conditions n'est vraie, l' expression 1 est fausse, l'expression 2 est fausse , etc., le bloc par défaut est exécuté Les instructions de freinage ne sont pas nécessaires dans la structure de l'interrupteur. La structure du commutateur est un outil puissant pour créer logique conditionnelle claire et efficace dans le script Pine, en particulier lorsqu'il s'agit plusieurs conditions et cas. En conclusion, cette leçon sur les structures conditionnelles dans trading pine script vous a permis d' acquérir les connaissances essentielles pour implémenter une logique de prise de décision robuste et flexible dans vos scripts. Nous avons exploré deux structures de condition fondamentales. La structure et la structure du commutateur. N'oubliez pas de suivre les meilleures pratiques, notamment en évitant toute imbrication inutile et en garantissant types de retour cohérents au sein des structures conditionnelles Grâce à une solide compréhension de la logique conditionnelle, vous êtes bien placé pour améliorer vision du trading, vos compétences en matière de script de pin et créer des outils d' analyse technique plus sophistiqués et plus réactifs C'est la fin de cette leçon et je vous verrai dans la prochaine. 11. Leçon 11 - Boucles en écriture pin: Bonjour Bienvenue dans cette leçon intitulée Loops in Pin script. Cette leçon comprend les sections suivantes. Dans la première section, nous étudierons rôle des boucles dans le trading du script Pine. Ensuite, nous étudierons quand utiliser boucles dans le script Pine et quand elles ne sont pas nécessaires. Dans les deux dernières sections, nous étudierons les boucles f et le dans le script Pine. La syntaxe et nous allons passer en revue quelques exemples de code. Commençons. Dans le domaine du trading View Pine Script, la nécessité de créer des boucles dépend l'efficacité et de la fonctionnalité de votre code. Dans cette leçon, nous allons étudier les scénarios dans lesquels les boucles ne sont pas nécessaires dans les cas où elles sont absolument nécessaires pour un script efficace Lorsque les boucles ne sont pas nécessaires. La durée d'exécution du script Pine et les fonctions intégrées rendent les boucles inutiles dans diverses situations. Explorons des exemples où les boucles peuvent être évitées pour un code plus rationalisé et plus efficace. Passons en revue cet exemple. Certains programmeurs débutants peuvent essayer de calculer la moyenne des dix dernières valeurs de clôture à l'aide d'une boucle, comme dans cet exemple Cependant, cela n'est pas efficace Revoyons ce code Dans ce code, nous voyons que nous avons une boucle qui part de zéro et s'étend jusqu'à la longueur MA moins un jusqu'à neuf. Loops est exécuté dix fois et calcule le résumé du cours de clôture pour les 10 dernières barres Ensuite, il calcule la moyenne de ce cours de clôture. Il existe une approche plus efficace pour éviter cette boucle et calculer la même moyenne du dernier cours de clôture pour les 10 dernières barres. Cette approche est présentée dans l'exemple de code suivant. Ici, nous utilisons la fonction TA SMA pour calculer la moyenne mobile simple du cours de clôture des 10 dernières barres. De cette façon, nous évitons les boucles. Nous évitons d'utiliser une boucle, d' exécuter et de calculer la même valeur. Prix moyen d'une clôture pour les 10 dernières barres. Maintenant, compter le nombre de barres vers le haut dans les 10 dernières barres est une autre tâche lorsque les débutants le jugent approprié pour les boucles. Cependant, une boucle n'est pas nécessaire. Passons en revue le code suivant. Dans ce code, nous avons une boucle qui itère dix fois et à l'intérieur de la boucle, nous vérifions si la valeur close est supérieure à la valeur ouverte En d'autres termes, s' il s'agit d'une barre supérieure, alors nous en ajoutons une, nous ajoutons un nombre de barres supérieures par une. Nous calculons le nombre de barres supérieures. Depuis les 10 derniers bars. Cependant, ce code peut être calculé, développé plus efficacement et cette itération peut être évitée Cette boucle peut être évitée en utilisant une approche différente. Dans cette version plus efficace, nous utilisons un aparateur ternaire pour créer une expression produisant un sur les barres et zéro sur les autres barres La fonction. Conserve une somme cumulée de cette valeur pour les 10 dernières barres. De cette façon, nous avons évité la boucle et nous avons exactement le même calcul en calculant le nombre de barres supérieures pour les 10 dernières barres. Voyons maintenant quand les boucles sont nécessaires. Bien que les boucles puissent souvent être contournées, il existe encore des scénarios dans lesquels elles sont cruciales pour un chant efficace Premier cas, lors de la manipulation de collections. Vous pouvez utiliser des collections et vous souhaitez les additionner. Vous pourriez vouloir les manipuler, effectuer certains calculs dans le cadre de ces connexions. Les boucles deviennent essentielles lorsqu'il s'agit de collections telles que des tableaux, des matrices et des cartes Deuxième cas, en remontant dans le passé, lors de l'analyse de barres à l'aide d'une valeur de référence, connue uniquement sur la barre actuelle, exemple pour trouver des sommets antérieurs supérieurs aux barres actuelles Autre scénario lorsque vous devez effectuer des calculs complexes sur les barres passées. Certains calculs effectués sur les barres d'historique peuvent nécessiter des boucles lorsque les fonctions intégrées ne fonctionnent pas correctement. En conclusion, il est important de savoir quand utiliser des boucles et quand les ignorer pour créer un code Pine Script efficace. Lorsque vous travaillez sur votre script, réfléchissez à la tâche que vous essayez d' accomplir afin de choisir la meilleure méthode. Étudions maintenant quatre boucles et leur syntaxe. La structure en quatre du script Pine permet une exécution répétitive d' instructions à l'aide d'un compteur. En d'autres termes, la boucle est une structure de contrôle qui vous permet d' exécuter un ensemble d' instructions de manière répétée en fonction d'un compteur. La syntaxe de la boucle complète est la suivante : identifiant du type de déclaration est égal au signe quatre, identifiant est égal à l'expression deux expressions par une autre expression, et la boucle de bloc locale où mode de déclaration est un mode de déclaration de variable, et il est facultatif. Le type est un type variable. C'est également une option. L'identifiant est un nom de variable qui sert de compteur de boucles. Et l'expression est initiale finale et les valeurs d'étape ou la boucle ? La boucle complète parcourt une plage de valeurs spécifiées par l' expression finale initiale et par l'expression d'étape Effectue des itérations en commençant par le début jusqu'à la fin, étape par étape. La boucle exécute les instructions dans la boucle de blocage locale. Cette instruction est exécutée au cours de quatre itérations de boucle Passons maintenant en revue un exemple simple des quatre boucles qui imprime les numéros 1 à 5 Ce que nous avons ici est quatre, et nous avons I comme identifiant qui commence de un à cinq, et à chacune de ces exécutions, nous traçons cet identifiant i. Nous avons ici, comme vous le voyez, cinq itérations, et pour chaque itération, nous traçons cette valeur d'identifiant C'est ainsi que fonctionne la boucle dans cet exemple. Vous pouvez également utiliser mot clé i pour spécifier une autre étape. Par exemple, quatre est égal à dix par deux. Dans ce cas, vous devez ajouter un autre mot clé i, et vous devez spécifier l'étape de la boucle. Il est important de noter que les scripts Pine pour la boucle sont souvent utilisés pour traiter des données historiques ou pour effectuer des calculs répétitifs impliquant une itération sur une série de barres Voici un exemple plus pratique où une boucle est utilisée pour calculer la somme des cours de clôture sur les 10 dernières barres. Ici, nous avons une boucle qui commence à itérer de zéro à neuf et qui calcule la somme des dix dernières clauses Il continue d'ajouter la somme des clauses proche de la variable pour les n dernières barres, puis il trace ce résumé. Il est important de comprendre la boucle fo pour itérer efficacement les tâches qui nécessitent une exécution répétitive Maintenant, étudions en boucle. La structure complète du script Pine permet l' exécution répétitive d'instructions jusqu'à ce qu'une condition spécifique devienne fausse. Nous étudierons les cas d'utilisation de la syntaxe et des exemples de boucle while dans le script Pine. La syntaxe de while loop est suivante : mode de déclaration, type, identifiant, signe égal expression while et bloc local. Où : mode de déclaration : mode de déclaration variable. type de variable facultatif, le nom de la variable d' identification est égal. Ensuite, expression, c'est une condition évaluée à chaque itération, et boucle de bloc locale, instructions exécutées dans la boucle Certains points essentiels devaient être mentionnés ici. L'évaluation de la condition lieu avant chaque itération. Cela signifie qu'avant chaque itération et avant d'exécuter la boucle de blocage locale, l'expression est vérifiée Et si l'expression est fausse, même avant la première exécution de la boucle de bloc locale, la boucle de bloc locale ne sera jamais exécutée. Si la vérification initiale de l'expression est fausse. Les modifications apportées à la condition à l'intérieur de la boucle ont un impact sur l'itération suivante À l'intérieur de cette boucle while où la boucle de bloc locale est exécutée, certaines modifications se produisent normalement dans certaines variables qui affectent l'expression calculée avant la prochaine itération. La boucle s'arrête lorsque la condition devient fausse. La condition est comprise dans cette expression. Passons maintenant en revue un exemple de comptage de barres avec une boucle while. Ici, nous comptons les barres si, pour certaines barres, dans ce cas, nous fixons le nombre de barres par défaut à 50, et nous calculons le nombre de barres supérieures au maximum actuel. Pour les 50 dernières barres, si nous utilisons les valeurs par défaut. Nous comptons les barres les plus hautes, puis nous comptons si ces valeurs sont inférieures au sommet actuel. En d'autres termes, nous calculons le nombre de barres supérieures et le nombre de barres inférieures par rapport au plus haut actuel. Nous évaluons ici 50 fois, car la valeur par défaut pour la rétrosaisie est 50, mais elle pourrait être supérieure si nous modifiions ce paramètre. Donc, en gros, il s'agit d'un exemple de la façon dont la boucle while peut être utilisée. En conclusion, pour ce qui est de la boucle while, il est important de savoir quand utiliser les boucles while pour une écriture de pin efficace. Ces boucles sont utiles pour les tâches répétitives jusqu'à ce qu'une condition spécifique soit remplie, offrant flexibilité et efficacité dans l'exécution des scripts. S. En bref. Comprendre les boucles est très important lorsque vous rédigez des scripts dans le script Pi Parfois, vous n'avez pas besoin de boucles, car Piscript possède des raccourcis tels que des fonctions intégrées qui permettent d'effectuer le travail plus rapidement Par exemple, calculer des moyennes ou compter des éléments peut être beaucoup plus efficace sans utiliser de boucles Vous pouvez compter sur des fonctions intégrées, telles que t ou math S pour des scripts plus fluides et plus rapides. Mais les boucles ont toujours leurs meilleurs moments dans le script Pine. Ils sont pratiques lorsque vous traitez des collections, que vous explorez des données antérieures ou que vous vous occupez de calculs complexes nécessitant une approche plus pratique. En sachant quand utiliser des boucles et des raccourcis tels que les fonctions intégrées, vous pouvez créer des scripts épinglés à la fois efficaces et efficaces, répondant aux besoins de votre projet. C'est la fin de cette leçon et je vous verrai dans la prochaine, 12. Leçon 12 - Introduction au système de caractères de l'écriture en pin: Bonjour et bienvenue dans cette leçon d'introduction au système de types de Pine Script. Dans cette leçon, je vais vous présenter le système de types de Pine Script. Cette leçon comprend les sections suivantes. Je vais vous expliquer pourquoi les types sont importants et, en outre, je discuterai avec vous de l'endroit où les types entrent en jeu. Je vais expliquer l'importance des trois grands dans les types Pinscri, modèle d'exécution et les séries chronologiques. En fin de compte, nous allons étudier le code pratique comme exemple de types de scripts Pin. Commençons. S. Imaginez le système de type de script Pie comme un outil de mise en correspondance de scripts, décidant quelles valeurs peuvent être associées à différentes fonctions et actions. Bien que vous puissiez écrire des scripts de base sans entrer dans les détails des types. En savoir un peu plus à ce sujet peut améliorer votre jeu de script Pine. Pourquoi les types sont-ils importants ? Dans Piscript, les types sont comme des étiquettes pour les valeurs. Qu'il s'agisse d'un chiffre, d'un texte ou d'un autre élément, chaque valeur possède sa propre balise. Le script Pine apporte une touche d'originalité grâce à des qualificatifs déterminent si une valeur reste inchangée ou change pendant le script Où les types entrent en jeu. Ces propriétés de type et de qualificatif s'appliquent à chaque valeur en écriture pin, comme un texte numérique que vous nommez Pour être un script Pine p, vous devez comprendre trois types de choses, à savoir les étiquettes. La façon de faire de Pine. En d'autres termes, le modèle d'exécution et l'idée de séries chronologiques. Ensemble, ils débloquent les super pouvoirs de Pinecript. Examinons maintenant le code du script Pine pour voir comment fonctionnent les types. Dans cet exemple, nous voyons différents types déclarés et initialisés et les examinons un par un Dans la première section, nous voyons que type entier est déclaré et initialisé Cette initialisation est une initialisation implicite car le type est détecté à partir de la valeur affectée à la variable Dans ce cas, entier, pareil pour le float. Le type est détecté lorsque vous attribuez une valeur à la variable si vous n'avez pas spécifié le type avant la variable. Dans le second cas, il s'agit d'une variable défectueuse. Ensuite, dans les deux exemples suivants, nous déclarons explicitement les variables et leur attribuons les valeurs. Variable entière et nous attribuons une valeur entière à cette variable. Nous spécifiez explicitement le type de flux des variables et attribuons une valeur flottante à cette variable. Dans l'exemple suivant, nous déclarons une variable de flux et attribuons une valeur de flux à cette Un mot signifiant que cette valeur est conservée entre les barres, même pour la variable de chaîne var Nous spécifions une chaîne de mots Aki, nous indiquons le nom de la variable et nous attribuons une valeur à cette variable de chaîne. l'exemple suivant, nous utilisons le mot clé var IP, ce qui signifie que cette variable est persistante entre les barres, résistante aux barres, ce qui signifie que pour la barre en temps réel, la valeur entre ti est persistante Nous déclarons une variable entière IP et nous attribuons la valeur entière correspondante à cette variable. Comme pour la variable à flux IP, nous attribuons une valeur flottante à la variable à flux variable P. Ensuite, nous avons une fonction ici, cette fonction a un paramètre. À l'intérieur de cette fonction, nous calculons la valeur et renvoyons cette valeur. Cette fonction calcule le carré à partir du paramètre que nous transmettons à la fonction Donc, ce qui est intéressant dans cette fonction, c'est que nous renvoyons la valeur qui est implicitement saisie Cela signifie que si nous passons une valeur entière, elle renverra le type entier. Par exemple, parce que nous multiplions deux entiers et les renvoyons à partir de cette fonction Cette fonction renverra une valeur entière si nous transmettons en paramètre une valeur entière. Par conséquent, nous saisissons implicitement return from cette fonction. C'est ainsi que nous utilisons cette fonction dans la pratique. Ici, nous définissons un site carré égal à une valeur entière de cinq, et dans cette fonction de tracé, que nous appelons fonction de tracé carré, nous transmettons une valeur entière. Il calcule ce carré à partir de cette valeur entière et cette valeur est tracée par une fonction de tracé C'est ainsi que la fonction est utilisée lorsque la valeur qu'elle renvoie est implicitement de type Dans cet exemple, nous avons des variables différents types et des fonctions font leur travail avec des éléments typés. Connaître ces types vous aide à écrire de meilleurs scripts. Au fur et à mesure que nous en saurons plus sur les types de scripts Pine, vous deviendrez Pine plus rapidement. C'est tout pour cette leçon et je vous verrai dans la prochaine. 13. Leçon 13 - Décoder les qualifications pour les scripts en pin: Bonjour, bienvenue dans cette leçon sur le décodage des qualificatifs du script Pin Cette leçon comprend les sections suivantes. Tout d'abord, je vais vous présenter les qualificatifs du script Pin. Je vais ensuite expliquer la hiérarchie des qualificatifs. Ensuite, nous étudierons la définition et utilisations des qualificatifs du script P, tels que la saisie constante, qualificatifs simples et sérieux, puis nous étudierons des exemples de types de scripts Pi Commençons. Dans Pine, les qualificatifs de script sont comme des étiquettes sur des indégradés, qui nous indiquent quand des valeurs rejoignent le existe quatre types : constant, d'entrée, simple et sérieux. Chaque type joue un rôle et les comprendre est la clé du succès d'un script Dans le script Pine, il existe une hiérarchie, dans les qualificatifs. Tout d'abord, const après cette entrée, après ce simple et après cet utilisateur. Considérez-le comme un système de classement dans lequel les fonctions ou les opérations préfèrent un certain type, tout en étant d'accord avec celles dont le niveau de recherche est inférieur Passons maintenant en revue chaque type de qualificatif et nous allons essayer d' comprendre la définition et comment l'utiliser Tout d'abord, un qualificatif constant const. Les valeurs de ce qualificatif sont gravées dans marbre avant le premier déplacement des scripts. nombres entiers, les décimales, les nombres en forme de barres, les couleurs ou les chaînes sont des exemples de ce qualificatif . Ces valeurs de ce qualificatif sont parfaites pour les éléments immuables, tels que les titres et les constantes Deuxièmement, étudions le qualificatif d'entrée. Les valeurs de ce qualificatif sont définies lors de la configuration du script, mais peuvent être modifiées ultérieurement. Ces valeurs sont pratiques pour des réglages faciles à utiliser. Le qualificatif suivant est le qualificatif simple. valeurs Ds qu sont définies dès la première barre et restent inchangées. Les valeurs de ce qualificatif sont idéales pour une adaptation constante en fonction des conditions initiales, et le qualificatif de série final, les valeurs de ce qualificatif, peuvent changer sur n'importe quelle barre de script. Ces valeurs sont idéales pour les valeurs dynamiques, en particulier pour les calculs sur différentes barres. Récapitulons donc ce que nous avons appris à propos de ces qualifications. Qualificateur C. Des constantes qui tiennent bon. Ils sont parfaits pour changer d' élément. Séparateur d'entrée. Les paramètres sont définis au début du script, mais peuvent être modifiés ultérieurement. Qualificateur simple. Les valeurs de ce qualificatif s'installent dès la première barre de script et restent cohérentes. Et les valeurs du qualificatif serius pour ce qualificatif qui peuvent changer sur n'importe quelle barre de script. Maintenant, étudions un exemple avec ces qualificatifs. Nous allons d'abord passer en revue le qualificatif de coût pour définir ce qualificatif, nous spécifierons le mot-clé du qualificatif, puis nous spécifierons le type de variable, puis le nom de la variable après cet égal et la valeur de cette variable. Nous étiquetons cette définition de variable comme une constante, ce qui signifie que cette variable restera toujours constante. Et il est défini au moment de la compilation du script. De même pour la deuxième ligne, débit constant P égal à 3,14, nous avons défini la variable flow avec le qualificatif Passons ensuite en revue le qualificatif d'entrée. Pour le qualificatif input qui, nous utilisons la fonction d'entrée. Cette fonction d'entrée, nous définissons certains paramètres tels que la valeur par défaut, l'entrée, le nom, la valeur minimale, la valeur maximale, et cette valeur sont configurables. Lorsque vous souhaitez modifier cette valeur, vous pouvez la modifier en appuyant sur le bouton d'engrenage votre script dans l'éditeur de script PIN, et vous pouvez modifier ces paramètres avant commencer avant de démarrer votre script. Vient ensuite un simple qualificatif. Le qualificatif simple, dans ce cas, nous attribuons à la variable est la valeur détectée et définie directement sur la première barre du graphique. Dans ce cas, nous attribuons la propriété à laquelle nous attribuons la valeur à cette propriété variable du graphique. Le point du graphique est standard. Ce paramètre est défini et est connu dès la première barre du graphique. Il s' agit donc d'un exemple de qualificatif simple attribué à cette variable. Enfin, étudions le qualificatif cerus. Le qualificatif Sers est utilisé, par exemple, lorsque vous utilisez la fonction la plus haute du point TA ou fonction la plus basse du point TA ou toute autre fonction dans l'espace de noms TA Parce que ces fonctions sont le terme, la variable sérieuse. Voici donc un exemple d'utilisation de la variable de série. Vous obtenez cette variable, par exemple, sous forme de retour de certaines fonctions dans le temps dans le script Pine. En conclusion, la compréhension de ces qualificatifs est votre source secrète pour créer la magie des scripts Pine Qu'il s'agisse de créer des indicateurs dynamiques, tracer des graphiques ou d'ajouter une touche d'interactivité, ces qualificatifs vous guident au long du développement du script C'est la fin de la leçon et je vous verrai dans la prochaine. 14. Leçon 14 - Comprendre les types d'écriture en pin: Tiens bon. Bienvenue dans cette leçon intitulée Comprendre les types de scripts Pine. Dans cette leçon, nous allons étudier les types de scripts en pin. Cette leçon comprend les sections suivantes. Dans la première section, je vais vous présenter les types de scripts Pine. Ensuite, nous étudierons les types fondamentaux, éléments essentiels de tous les types fondamentaux d'écriture Pine tels que les scripts flow, bull, color et string. Ensuite, nous étudierons les types spéciaux, les collections et les types définis par l'utilisateur. Commençons. Les types de script PIN classent les valeurs et déterminent les fonctions et les opérations avec lesquelles elles sont compatibles. Explorons ces types à l' aide de cet exemple de code. Dans la première section, nous avons des types fondamentaux, des variables de types fondamentaux déclarés et initialisés Tout d'abord, nous avons déclaré et initialisé une variable de type Le type entier de variable peut stocker des nombres entiers. Par exemple, un moins un, 650, etc. Ce type de variables est idéal pour les barres, les indices, le temps et d'autres valeurs liées aux entiers. Le deuxième type fondamental est défectueux. Dans ce cas, nous déclarons et initialisons le type de variable défectueux type de variable à flux peut stocker des nombres décimaux Ce nombre représente des nombres décimaux. Ils étaient utilisés pour les prix, les volumes et d'autres valeurs numériques Ensuite, le type fondamental est le type booléen. Une variable de type booléen peut stocker un vrai ou un faux. Ces variables sont pratiques pour les déclarations conditionnelles et les comparaisons. Les types fondamentaux suivants sont les couleurs. Ce type définit donc les couleurs au format hexadécimal. Variable de ce type utilisée pour colorer vos graphiques. Le type fondamental suivant est la chaîne. variable de ce type représente du texte et est fermée entre guillemets simples ou doubles. Ces variables sont utiles pour les étiquettes, les tickers ou toute autre information textuelle Passons ensuite en revue les types spéciaux du script Pine, et en particulier les traceurs Les traceurs de graphiques sont un type utilisé et peuvent être créés à l'aide des fonctions de tracé et de ligne H. Tracez un objet, fonction H line renvoie un projet H line. Ces deux fonctions renvoient un type spécial. Le premier renvoie l'objet du tracé, second renvoie l'objet de la ligne H. Passons ensuite en revue un autre type spécial, les graphiques personnalisés. Pour les graphismes personnalisés, nous utilisons line point new function box point new label point new et tablet new function pour renvoyer la ligne, par conséquent la ligne , l' étiquette de boîte et les objets de table Le type spécial suivant est celui des points du graphique. Pour obtenir un objet représentant un point du graphique, vous devez utiliser le point graphique et certaines variantes de cette fonction, comme le point du graphique à partir de l'index ou le point du point du graphique maintenant. Cette fonction renvoie un objet point graphique. Ensuite, il y a un type de collection dans le script Pi. Ce type de collection représente et est utilisé par des tableaux, des matrices et des cartes, contenant des références à différents types Par exemple, pour obtenir l' objet de type tableau, nous utilisons la fonction tableau. Ray cette nouvelle fonction est un objet de type tableau. Ensuite, étudions les types définis par l'utilisateur. Dans le script Pine, vous pouvez créer votre propre type défini par l'utilisateur. Pour ce faire, vous devez spécifier le type de mot clé. Ensuite, vous spécifiez le nom de votre type défini par l'utilisateur, puis vous spécifiez les propriétés. du type défini par l'utilisateur et de chaque propriété pour chaque propriété, vous spécifiez le type de propriété et le nom de la propriété. Vous pouvez avoir autant de propriétés que vous le souhaitez. Après cela, une fois que vous avez déclaré votre type défini par l'utilisateur, vous pouvez initialiser un objet de ce type en spécifiant le nom du type défini par l'utilisateur, puis après le point, vous pouvez spécifier zéro ou jusqu'au nombre de propriétés que vous avez dans votre jour défini par l'utilisateur Dans cet exemple, nous avons spécifié deux propriétés et deux objets initialisés de ce ty défini par l'utilisateur En conclusion, qu'il s'agisse de nombres, de couleurs ou de structures de données personnalisées, ce type fournit les éléments de base nécessaires création de scripts puissants C'est la fin de la leçon, et je vous verrai dans la prochaine. 15. Leçon 15 - Explorer la signification de la valeur « na » dans le script en pin: Bonjour, et bienvenue dans cette leçon, explore l'importance de la valeur NA dans le script Pine. Cette leçon comprend la section suivante. Tout d'abord, je vais expliquer ce qu'est une valeur NA dans le script Pine. Après cela, j'expliquerai le casting automatique de la valeur NA. Ensuite, je montrerai comment évaluer explicitement la valeur NA NA. Après cela, nous allons passer en revue une fonction pour tester la valeur NA. Ensuite, j' expliquerai également comment gérer la valeur NA et les calculs et comment se protéger contre les instances NA. Commençons donc. Dans Pine Script, le terme NA signifie « non disponible ». C'est comme un espace réservé pour des valeurs non définies dans votre script Plongeons-nous dans le monde de NA et découvrons en quoi il joue un rôle crucial dans le trading de Pine Script. Qu'est-ce qu'un NA ? NA est une valeur spéciale utilisée pour représenter des données non définies ou non disponibles Il est similaire à N en Java ou non en Phyton. Le script Pine peut convertir automatiquement une valeur A en presque tous les types. Parfois, le compilateur a du mal à déduire le type, ce qui entraîne des erreurs de compilation Étudions la déclaration explicite de la valeur NA. Pour résoudre les erreurs, déclarez explicitement le type associé à la variable. Oui, vous pouvez attribuer une valeur A à une variable, mais vous devez définir explicitement le type de cette variable , puis lui attribuer une valeur. Un autre exemple est que vous utilisez la fonction float et que vous transmettez à cette fonction un paramètre A. Il va renvoyer une valeur flottante et cette valeur flottante sera une valeur de type de flux et cette valeur sera égale à A. Comment tester NA ? Pour tester la présence d'un A, vous devez utiliser la fonction NA. Pour vérifier si la valeur est NA, vous utilisez une fonction NA. Cette fonction retournera vrai chaque fois que paramètre de cette fonction aura une valeur. Dans cet exemple, vous allez passer la variable dans une fonction NA, et elle retournera true si My war is NA value. Dans ce cas, si ma guerre est NA, toute cette expression retournera zéro, sinon fermera. Vous devez éviter l'opérateur double égal si vous voulez essayer de comparer pour comparer une variable avec une valeur NA, n'utilisez pas l'opérateur double égal pour comparer la valeur. Utilisez plutôt la fonction NA. Voyons comment gérer NA dans les calculs. Il est recommandé de gérer les valeurs NA afin d' éviter des résultats indéfinis dans les calculs Comme dans cet exemple, fonction N Z. S. Dans ce cas, prend deux paramètres, et si le premier paramètre est A, alors il renverra le second paramètre. Si vous fermez un point entre crochets, c'est A, l'ensemble de cette fonction, z, renverra le deuxième paramètre renverra le prix d'ouverture. Si fermer un point entre crochets n'est pas A, le résultat sera fermé et un autre entre crochets. Maintenant, comment protéger votre script et les instances NA. Vous le protégez avec la fonction N Z. La fonction N Z peut être utilisée avec un seul paramètre. Si vous utilisez, comme dans cet exemple, N Z avec un seul paramètre, et peter dans ce cas, variable «   all time high ». S'il s'agit d'un NA, alors la valeur sera nulle. Dans ce cas, vous êtes protégé. Vous n'allez pas utiliser de valeur indéfinie dans cette fonction mathématique point max. En conclusion, il est essentiel de comprendre le traitement final des valeurs A pour un développement robuste de scripts PIN. Que vous déclariez des variables, testiez des conditions ou effectuiez des calculs, fait de tenir compte d'un A garantit que votre script se comporte de manière prévisible et précise C'est la fin de la leçon, et je vous verrai dans la prochaine. 16. Leçon 16 - Maîtriser les tuples en écriture pin: Bonjour, bienvenue dans cette leçon, Maîtriser les tuples dans le script Pine Cette leçon comprend la section suivante. Dans la première section, je vais vous présenter Taple. Ensuite, nous étudierons comment créer un tupple. Alors vais-je passer en revue Taple avec plusieurs types ? Ensuite, je montrerai comment utiliser les tuples dans la fonction de sécurité des demandes Enfin, nous étudierons les cassettes conditionnelles dans cette leçon. Commençons. Dans le script Pine, les tuples sont un obstacle à la gestion de plusieurs valeurs, soigneusement organisés entre crochets Explorons le monde des tuples. Apprenez à les utiliser et découvrez quelques exemples pratiques dans le script Pine. Qu'est-ce qu'un tuple ? Un tuple est un ensemble d'expressions séparées par des virgules et placées entre crochets tuples sont utilisés lorsqu' une méthode fonctionnelle ou un bloc local renvoie plusieurs valeurs Voyons comment créer un tuple. Examinons un exemple de fonction définie par l'utilisateur, renvoyant un tuple avec la somme et le produit de deux valeurs séquentielles. Cette fonction calc sum and product a deux paramètres, et cette fonction effectue des calculs avec ces deux paramètres d' une somme et d'un calcul d'un produit, puis elle renvoie un tuple avec deux valeurs, somme et C'est ainsi que le tuple est utilisé. N'oubliez pas que la valeur renvoyée par une fonction est la dernière valeur de la fonction. Cette fonction renvoie le tuple composé de deux valeurs qu'il contient Lorsque nous appelons cette fonction, nous pouvons utiliser la déclaration de tuple pour attribuer plusieurs variables Dans l'exemple suivant, nous voyons comment déclarer un tuple. Nous déclarons un tuple avec deux variables. Y deux variables i, parce que nous voulons attribuer à ce tuple déclaré, retour d'une fonction sum and product, c' est-à-dire renvoyer un tuple de deux valeurs Fonction renvoyant un tuple de deux valeurs. Par conséquent, nous déclarons un tuple à deux valeurs. Lorsque le script Spine exécute cette ligne, la première valeur du tuple renvoyé, sum, sera affectée à la première valeur déclarée dans la somme HL déclarée, et la première, la deuxième valeur du produit tuple renvoyé, sera affectée à la deuxième valeur du produit affectée à la deuxième valeur du Tale HL déclaré C'est ainsi que nous déclarons le tuple et lui attribuons une valeur. Maintenant, étudions Taple avec plusieurs types. Les relevés peuvent contenir des valeurs de différents types. Voici un exemple d'utilisation de la fonction chart inf qui renvoie table avec des valeurs de différents types. Nous voyons cette fonction dans cet exemple de code, chart inf. Cette fonction prépare les valeurs des variables, effectue des calculs et effectue des affectations à diverses variables. Ensuite, il renvoie ces variables dans un tuple composé de cinq valeurs Chacune de ces valeurs est de type différent. Par exemple, la première heure visible est un entier. La première clause visible est une variable de type fluide. Son étalon est un bleion. La couleur FG est un type de couleur et le symbole est un type de Str. Il s'agit d'un exemple de tuple dont les valeurs sont de types différents Voyons maintenant comment utiliser les tuples dans la fonction de sécurité Request Dot tuples sont utiles pour demander plusieurs valeurs en un seul appel à la fonction de sécurité Request Dot Voici un exemple d'utilisation du tuple et de la fonction O H LC arrondie Ici, nous pouvons voir une fonction définie autour de cet OLC qui renvoie un tuple de quatre valeurs ouverte arrondie, valeur arrondie élevée, basse et valeur fermée arrondie. Nous utiliserons cet appel de fonction dans l'appel de sécurité de la demande comme paramètre d'une expression, et c'est pourquoi la sécurité de la demande renverra un renversement de ces valeurs rondes, open, high, low et close Par conséquent, nous déclarons que le tuple composé de quatre variables, et nous avons assigné à ce tuple le retour de la fonction request do security Par conséquent, la variable O P nous est attribuée dans ce tuple. Il va être attribué arrondi. La variable H sera affectée à la valeur arrondie à la valeur supérieure, L arable à la valeur arrondie au bas, variable C C L se verra attribuer une valeur arrondie de clôture C'est ainsi que vous utilisez le tuple avec la fonction de sécurité request point Voyons maintenant comment utiliser les tuples conditionnels. Les blocs locaux dans les structures conditionnelles peuvent renvoyer des tuples. Nous avons ici un exemple d'utilisation d' tuple conditionnel dans l'opérateur if Nous avons ici un opérateur if qui, selon le retour de la condition, table composée d' une valeur haute et d'une valeur proche, ou si cette condition est fausse, nous renvoyons une valeur proche et une valeur faible, et le retour de l'opérateur sera affecté aux contes composés des variables V un et V deux Si cette condition est vraie, si la valeur de fermeture est supérieure à celle d'ouverture, alors le Tuple composé de V un et V deux se verra attribuer des valeurs à partir de Tuple high and En d'autres termes, V V un se verra attribuer une valeur élevée, V deux se verra attribuer une valeur proche. Si cette condition est fausse, alors V un se verra attribuer une valeur de fermeture, et V deux se verra attribuer une valeur de flux. C'est ainsi que vous utilisez le tuple conditionnel. Avec opérateur. Passons maintenant en revue le tuple conditionnel avec l'opérateur switch. Vous attribuez le retour de l'opérateur de commutation au tuple, dans ce cas, composé des valeurs V un et V deux Maintenant, dans cet opérateur de commutation, si cette condition se ferme plus que ouverte, si cette condition est vraie, le commutateur renverra un tuple composé d'une valeur haute et d'une valeur de fermeture Dans ce cas, la valeur élevée sera attribuée à la variable V une, proche sera affectée à la variable V deux. Si cette condition close bigger than open est fausse, l'expression par défaut du commutateur sera renvoyée. L'expression par défaut consiste en un tuple avec deux variables, close et low Dans ce cas, si cette condition se ferme plus que ouverte, si elle n'est pas vraie, alors l'expression avec le tuple composé de close et low sera ret Dans ce cas, la valeur close sera affectée à V une variable et la valeur basse sera affectée à V à la variable. C'est ainsi que l'opérateur de commutation fonctionne avec le tuple. En conclusion, les tuples offrent un moyen puissant de gérer et organiser plusieurs valeurs dans le script Pine Que vous renvoyez des valeurs à partir de fonctions, traitiez différents types ou que vous demandiez différents points de données. Les rubans constituent une solution propre et efficace. C'est la fin de cette leçon, et je vous verrai dans la prochaine. 17. Leçon 17 - Fonctions définies par l'utilisateur dans le script Pine: Bonjour, bienvenue à cette leçon. Fonctions définies par l'utilisateur dans le script Pine. Cette leçon comprend les sections suivantes. Tout d'abord, je vais vous présenter les fonctions définies par l'utilisateur. Ensuite, nous étudierons unifilaires et les fonctions multilignes. Ensuite, j' expliquerai comment fonctionnent les scopes dans le script Pine contenant des fonctions définies par l'utilisateur Ensuite, nous étudierons les fonctions renvoyant plusieurs résultats, et j'expliquerai certaines limites des fonctions définies par l'utilisateur. Commençons. Les fonctions définies par l'utilisateur dans Pine Script permettent aux développeurs de scripts de créer des fonctions personnalisées adaptées à leurs besoins spécifiques. Contrairement aux fonctions intégrées, les fonctions définies par l'utilisateur offrent de la flexibilité et peuvent être essentielles pour les calculs répétitifs ou isolés. Cette leçon explore les principes fondamentaux des fonctions définies par l'utilisateur, leurs types, leur portée et leurs limites. Étudions maintenant les définitions de fonctions sur une seule ligne Les fonctions simples peuvent être concises et exprimées sur une seule ligne. La structure de celui-ci est la suivante. Identifiez la liste des paramètres, écrivez l'erreur et renvoyez la valeur. Passons donc en revue un exemple de fonction sur une seule ligne. Dans ce cas, vous voyez que nous avons défini une fonction avec le nom f qui possède deux paramètres x et y, et que le contenu de cette fonction est x plus y. Cette fonction renvoie les paramètres x plus y x et y de cette fonction. Le col de cette fonction ressemblera à ceci. Par exemple, un F égal et accolades le premier paramètre ouvert, le second paramètre fermé Dans ce cas, il renverra un résumé, résumé de l'ouverture et de la fermeture Dans le second cas, b est égal à F et nous passons deux paramètres, deux et deux. Dans ce cas, il renverra le résumé de ces deux valeurs entières. Dans le troisième cas, nous avons attribué à la variable c la fonction call f avec le paramètre open et deux. Dans ce cas, il résumera les deux paramètres ouverts et deux et renverra la valeur, et cette valeur sera affectée à la variable C. Ici A. Dans cet exemple, A sera initialisé en tant que variable cerus parce que nous avons transmis des paramètres sérieux B est un entier et C est le sérieux. Cela est dû à la nature des arguments passagers. Étudions maintenant les fonctions multilignes. Le script Pine prend également en charge les fonctions multilignes structurées comme suit. Identifiant, liste de paramètres, flèche droite et bloc local. Le corps de la fonction contient plusieurs instructions, chacune en retrait Le résultat de la dernière instruction est la sortie des fonctions. Par exemple, lorsque nous définissons la fonction Gome underscore average avec deux paramètres, x et y, la fonction comporte trois lignes A chaque ligne est indentée. À partir de la gauche la dernière ligne de la fonction indique toujours la sortie de la fonction. Cette fonction calcule la moyenne géométrique de deux valeurs Voici un exemple de définition d'une fonction multiligne. Maintenant, il est important de noter les étendues du script Pi liées aux fonctions Les variables extérieures aux fonctions appartiennent à la portée globale. Chaque fonction a sa portée locale. Par exemple, cette fonction, composée de trois lignes, est sa portée locale, et dans cette fonction, nous déclarons et initialisons deux variables locales, A et B. Ces deux variables sont locales à cette fonction Les variables et fonctions globales sont accessibles au sein d'une fonction. Les fonctions imbriquées et les étendues locales qui se croisent ne sont pas autorisées Étudions maintenant les fonctions renvoyant plusieurs résultats. Les fonctions peuvent renvoyer plusieurs résultats, ressemblant à des tuples. Par exemple, dans cet exemple, nous définissons une fonction avec deux paramètres x et y, et cette fonction renvoie un tuple composé de deux variables, A et B. Vous trouverez ci-dessous un exemple d'appel à fonction qui renvoie plusieurs types Nous déclarons simplement un tuple à deux valeurs et appelons la fonction qui renvoie un tuple de deux Chacune des valeurs renvoyées sera affectée à la variable correspondante dans cette pomme. Il est important de noter les limites des fonctions définies par l'utilisateur. Bien que les fonctions définies par l'utilisateur soient polyvalentes, certaines fonctions intégrées ne peuvent pas être utilisées au sein de celles-ci, notamment la couleur des barres, la ligne H du champ et toutes les autres fonctions intégrées qui ne sont pas autorisées à être utilisées dans le cadre de fonctions définies Toutes les fonctions que vous voyez dans cette liste ne sont pas autorisées à être utilisées dans les fonctions définies par l'utilisateur. En conclusion, la maîtrise des fonctions définies par l'utilisateur améliore l'organisation et les fonctionnalités des scripts, fournissant ainsi un puissant ensemble d'outils aux développeurs de scripts Pine C'est la fin de cette leçon et je vous verrai dans la prochaine. 18. Leçon 18 - Créer un indicateur ADX DMI moyenne mobile dans le script en pin: Bonjour, bienvenue dans cette leçon, création d'un indicateur DMI ADX de moyenne mobile dans le script Prime Cette leçon comprend les sections suivantes. Tout d'abord, introduction à l'indicateur DMI ADX à moyenne mobile. Dans la section suivante, nous allons passer revue les composants des indicateurs DMI ADX de moyenne mobile, tels que les indicateurs de moyenne mobile, ADX Ensuite, nous développerons à partir de zéro la moyenne mobile, l'indicateur ADX DMI, et dans la dernière section de cette leçon Je soulignerai les avantages de cet indicateur développé. Commençons. Les idées de cet indicateur sont les suivantes. Cet indicateur sera composé en fait de trois indicateurs, la moyenne mobile, l'ADX et le DMI Cet indicateur va détecter les tendances fortes, et nous permettra identifier les fortes tendances haussières et les fortes tendances baissières, ainsi que les cas où il n' y a pas de tendance sur le marché Cela nous aidera à négocier le marché sélectionné si nous voulons utiliser cet indicateur. Ainsi, l'indicateur de moyenne mobile identifiera pour nous la tendance principale, et nous allons vérifier si la moyenne mobile tend à la hausse ou à la baisse, si elle est à la hausse ou à la baisse. Ce sera l'une des principales conditions de notre détection, que la tendance soit haussière ou baissière Dans quelques autres conditions, nous allons utiliser l'indicateur ADX qui détecte les tendances fortes Cela nous permettra de détecter si la tendance est forte ou s'il n'y a pas de tendance du tout, quelle que soit la tendance haussière ou baissière L'indicateur D MI nous fournira deux utilisateurs DI plus et d moins. À l'aide de ces deux séries, nous allons détecter si la tendance est haussière ou baissière Commençons par développer cet indicateur à partir de zéro. Pour créer un indicateur, nous allons accéder à l'éditeur d' épingles en cliquant sur le bouton de l'éditeur d'épingles Après cela, nous allons cliquer sur l'option Ouvrir le menu, puis sur ce nouvel indicateur. Ensuite, définissons le nom de notre indicateur. Notre indicateur sera appelé indicateur ADX DMI de moyenne mobile ADX DMI de moyenne Et le paramètre de superposition de l'indicateur sera défini sur true car l'indicateur de moyenne mobile sera superposé sur le graphique principal Pour cet indicateur, nous aurons besoin de paramètres qui seront nécessaires nos indicateurs internes que nous allons utiliser. Moyenne mobile et indicateur DMI. L'indicateur MI va revenir sous forme ADX et de séries DI plus et DI moins que nous allons utiliser pour détecter si la tendance est haussière ou baissière, ou s'il n'y a aucune tendance Tout d'abord, pour notre moyenne mobile, créons le paramètre d'entrée du paramètre de période. Il s'agit d' un paramètre entier en entrée, et la valeur par défaut de notre période A est 20, le nom de ce paramètre est période moyenne MA. Maintenant, pour l'indicateur DMI, nous allons également avoir besoin d' un Par conséquent, le paramètre sera la période DMI, et le nom du paramètre sera la période DMI et la valeur par défaut, gardons-la 20 Ensuite, l'indicateur DMI DMI, nous aurons besoin d'un autre paramètre, lissage ADX Réglons-le comme ça. Le lissage AD est un véritable lissage AD. Fx lissant son paramètre entier, valeur par défaut, utilisons 14 et mettons à jour le nom du lissage ADX OK. Nous avons donc saisi les trois paramètres. Nous allons maintenant avoir besoin d' un autre paramètre qui permettra identifier le niveau de l'indicateur ADX, c'est un seuil pour détecter quand, fondamentalement, la tendance est forte pour ADX ou non Pour ADX, généralement la valeur de l'ADX est de 20 ou 25, ce qui signifie que lorsque l' ADX est supérieur à 20 ou 25, la tendance est considérée comme haussière Mais nous avons besoin d'un paramètre pour ce seuil afin de le modifier chaque fois que nous en avons besoin. Appelons-le niveau de tendance AD X, et c'est le paramètre d'entrée et la valeur par défaut, appelons-le 20, et le nom est ADX Niveau de tendance. Commençons maintenant à calculer la série de nos indicateurs internes que nous utilisons dans cet indicateur. Nous allons utiliser la fonction TA DMI pour revenir sous forme de trois séries, ADX, DI plus et di minus La fonction HDMI T renvoie une valeur. Tople est une série de paramètres, tuple de trois variables, une fonction DMI renvoie Entrons dans ce tuple. Le premier est la valeur ajoutée de l'indice glycémique de cet agrafe. La deuxième valeur est di moins, et la troisième valeur de cette agrafe est un dx Nous allons affecter cet agrafe au retour d' une fonction au DMI, qui est un indicateur DMI . Pour mourir. Pour cet indicateur, nous devons transmettre di length, c'est-à-dire di period. Nous avons déjà un paramètre pour cela, la période, et le deuxième paramètre est le lissage ADX Nous calculons trois séries, ADX, di plus et di moins Nous allons utiliser cette série dans notre calcul de tendance ci-dessous. Calculons ensuite la moyenne mobile. La série de moyennes mobiles sera égale à tat et utilisons la moyenne mobile pondérée. Nous pourrions utiliser une autre moyenne mobile, comme une moyenne mobile simple ou une moyenne mobile exponentielle, mais pour cet indicateur, utilisons une moyenne mobile pondérée Utilisons le prix de clôture de la série et le paramètre MA que nous avons déjà défini. Calculons maintenant les variables de tendance à la hausse et à la baisse, nouvelles variables que nous allons utiliser lorsque nous traçons notre indicateur ci-dessous. Calculons et détectons dans cet indicateur quand la tendance est à la hausse. La tendance est à la hausse, la tendance est considérée comme positive dans cet indicateur. Tout d'abord, chaque fois que la tendance est forte. Tendance La force de la tendance est détectée par l'indicateur ADX, et nous avons calculé des séries ADX prêtes Chaque fois que l'ADX est supérieur à th, nous définissons le niveau de tendance du paramètre AD La tendance est alors considérée comme forte. Dans le cas contraire, la tendance est considérée comme faible. Par conséquent, s'il s'agit d' une forte tendance haussière, ADX devrait être supérieur au niveau de tendance ADX que nous avons défini à 20 Maintenant, la deuxième condition est que nous allons utiliser la série DI plus DI moins de l' indicateur DMI qui détecte chaque fois que la tendance est haussière ou baissière, et chaque fois que DI plus est supérieur à DI moins, alors la tendance est considérée comme haussière par l' DI plus grand que DI moins. La troisième condition de la tendance haussière est que chaque fois que la moyenne mobile que nous avons calculée augmente, elle augmente lorsque MA est supérieure à MA dans la barre précédente Voilà pour la tendance à la hausse. Maintenant, la tendance est considérée comme à la baisse. Dans notre indicateur, chaque fois que ADX est toujours supérieur au niveau de tendance ADX Pour ce qui est de la tendance baissière, nous voulons également que la tendance soit forte La force de la tendance est détectée par l'indicateur ADX. Chaque fois que l'ADX est supérieur à 20, valeur première par défaut par défaut du niveau du brin AD Nous considérons que le volet, qu'il soit haussier ou baissier, est fort. La deuxième condition DI plus est censée être inférieure au I moins pour que la tendance soit baissière selon l'indicateur DMI, et la moyenne mobile est censée être orientée à la baisse pour que la tendance d soit considérée comme baissière par l'indicateur de moyenne mobile que nous utilisons comme indicateur interne dans notre indicateur ADX DMI de moyenne mobile Nous avons défini les valeurs de cette variable (force à la hausse et tendance à la baisse et nous pouvons maintenant commencer à tracer notre indicateur Notre indicateur sera la moyenne mobile. Mais avec certaines couleurs, identifier la tendance. Comme nous allons utiliser différentes couleurs, définissons la variable de couleur moyenne mobile. Chaque fois que la tendance est à la hausse. Utilisons la couleur de la ligne. Pour colorer la moyenne mobile que nous allons tracer. Sinon, chaque fois que la tendance est à la baisse, utilisons la couleur rouge de la moyenne mobile. Sinon, lorsqu' il n'y a pas de tendance, utilisons la couleur jaune. Et sur la dernière ligne de notre indicateur, nous allons tracer la moyenne mobile que nous avons déjà calculée avec la couleur que nous avons également calculée Le deuxième paramètre est le titre. Utilisons A comme titre. Ensuite, utilisons la couleur MA, cette variable de couleur que nous avons déjà calculée, et la largeur de ligne de notre moyenne mobile, utilisons-en trois. Sauvegardons maintenant cet indicateur. Et ajoutons-le au graphique. Comme nous le voyons, notre indicateur comporte trois couleurs. Chaque fois que la couleur de la moyenne mobile que nous traçons est verte Cela signifie que la tendance est haussière. Chaque fois que la couleur est rouge comme dans cette section, la tendance est baissière. Chaque fois que la couleur est jaune, signifie qu'il n'y a pas de tendance. Et comment cet indicateur peut être utilisé pour le trading. Par exemple, chaque fois que la couleur est verte, position haussière ou une position longue peuvent être établies Chaque fois que la couleur est jaune, position peut être fermée ou maintenue, et chaque fois que la couleur est rouge, position peut être établie comme une position courte. Notre indicateur a des paramètres qui peuvent être ajustés au marché sélectionné, vous pouvez modifier la période de moyenne mobile. Vous pouvez modifier la période DMI, vous pouvez modifier la période de lissage pour ADX et vous pouvez modifier le niveau de tendance ADX si nécessaire Et l'indicateur sera ajusté en fonction des paramètres modifiés. Pour résumer cette leçon, nous avons développé à partir de zéro un indicateur avancé basé sur la moyenne mobile, ADX et l'indicateur DMI L'indicateur de développement est une moyenne mobile multicolore avec différentes couleurs indiquant si le marché est haussier, baissier ou f. L'indicateur dispose d' une variété de paramètres ajustables pour s'adapter au Cet indicateur fonctionne mieux sur les marchés tendanciels, car il est destiné à détecter les tendances fortes C'est la fin de cette leçon, et je vous verrai dans la prochaine. 19. Leçon 19 - Créer une stratégie de maîtrise en crossover ouvert/fermé dans le script pin: Bonjour et bienvenue dans cette leçon, création d'une stratégie de moyenne mobile croisée ouverte et fermée dans Pine Script Cette leçon comprend les sections suivantes. Dans la première section, je vais vous présenter la stratégie Open Close Crossover Moving Average Dans la section suivante, j' expliquerai les signaux de trading que nous allons générer dans cette stratégie de trading. la section suivante, je vais vous expliquer et nous allons créer à partir de zéro stratégie de trading qui consiste suivre les composants, les paramètres d'entrée, les fonctions personnalisées, les calculs d' indicateurs et la logique de négociation de stratégie. Dans la dernière section de cette leçon, je vais expliquer les paramètres de la stratégie, et nous allons passer en revue les paramètres de cette stratégie de trading. Commençons. Cette stratégie utilise trois indicateurs de moyenne mobile. premier identifie les tendances à long terme du marché, et les deux autres reposent sur les périodes d'ouverture et de fermeture du marché. La stratégie génère un signal long lorsque la tendance à long terme est à la hausse, et la moyenne mobile des séras de clôture dépasse la moyenne mobile de la série ouverte, ce qui indique que le Mmentm du marché est en hausse, et elle génère un signal court lorsqu'un événement contraire Lorsque la moyenne mobile de la période de clôture passe en dessous de la moyenne mobile de l'ouverture du marché cela indique que la dynamique du marché est à la baisse. Commençons maintenant à développer à partir de zéro la stratégie section par section, et je vais expliquer le but et la logique de chaque section. Commençons. Nous allons utiliser l'éditeur de script Pine, puis nous allons créer la nouvelle stratégie, puis nous allons écrire la stratégie section par section. Tout d'abord, créons le nom de la str. La stratégie est appelée stratégie croisée Open Clos. Stratégie de fusion croisée ouverte et fermée. Ensuite, définissons les paramètres de cette stratégie. superposition sera définie sur true car les indicateurs tracés sont des moyennes mobiles que nous allons tracer sur le Les paramètres suivants de la stratégie de négociation sont type de quantité par défaut. Le type de quantité par défaut sera le pourcentage des capitaux propres. pourcentage des capitaux propres et la valeur quantitative par défaut seront de 100, ce qui signifie que pour chaque transaction, nous utiliserons 100 % du solde de notre stratégie virtuelle. La valeur de quantité par défaut est égale à 100 %. Ensuite, prenons en compte les commissions dans notre stratégie. Assurons-nous qu'à chaque transaction, nous déduirons une certaine commission, qui sera de 0,1 %, car nous voulons tester notre stratégie afin de générer une valeur réaliste réalistes Pour ce faire, le type de commission sera égal au pourcentage de commission. Stratégie (pourcentage de commission pourcentage de commission et valeur de la commission ( valeur de la commission). Fixons-le à 0,1 %. Maintenant, dans la section suivante section des paramètres d'entrée, nous allons configurer tous les paramètres de cette stratégie. Le premier paramètre est le type de transaction. type de transaction est le paramètre qui configure les types de trading de stratégie, le type de transaction que la stratégie va négocier, long et court, uniquement long uniquement sh. Ce paramètre est le type de paramètre d'une chaîne, et il comportera trois options, long, long et s. Tout d'abord, définissons que le titre doit être de type commercial. Par défaut, la valeur par défaut sera longue. Nous allons appliquer cette stratégie au graphique Bitcoin, qui a généralement une tendance à la qui a généralement une tendance hausse. Par conséquent, le paramètre par défaut pour ce paramètre de type de transaction sera long Ensuite, définissons les options pour les paramètres de ce type de transaction. Les options seront longues et courtes. Long et court, long et court. Nous avons défini ce paramètre de type de transaction. Ensuite, étant donné que nous allons utiliser les moyennes mobiles dans cette stratégie, définissons les paramètres de cette moyenne mobile Pour la moyenne mobile qui sera calculée en fonction de l'ouverture et de la fermeture des barres du marché actuel, nous allons avoir les paramètres. Le premier paramètre sera le type de moyenne mobile. Ce qui contiendra le type de moyenne mobile, et ces types peuvent être plusieurs types de moyennes mobiles que nous pouvons sélectionner Prenons une régression linéaire, moyennes mobiles de type MA et SMA que nous allons prendre en charge pour ce paramètre de type MA Ce sera le paramètre d'entrée et ce que nous pourrions faire, c'est simplement le copier et modifier rapidement les valeurs que nous devons modifier. Le titre de ce type de MA sera Type MA. Et la valeur par défaut sera « allons-y » A et les options pour le type A seront AA pour moyenne mobile simple et la droite de régression linéaire pour la moyenne mobile d'une région linéaire. Maintenant, on définit un paramètre pour la période de moyenne mobile. La période MA sera un paramètre d'entrée entier. Pour ce paramètre d'entrée entier, le titre sera sera la période et la valeur par défaut pour la période MA. Donnons-en 50 et le pas sera égal à un. Nous avons défini le type de moyenne mobile et la période de moyenne mobile pour la moyenne mobile qui sera construite sur la série de cours ouverts et fermés pour le marché sélectionné. Maintenant que nous allons avoir une moyenne mobile à long terme dans notre str, définissons les paramètres liés à cet indicateur supplémentaire. Ces paramètres seront très similaires à ceux que nous avons déjà définis. Copions-les donc et modifions-les. Corrélativement. Ce sera le type de tendance, type de tendance, qui contiendra le type de moyenne mobile du logarithme de la tendance à long terme. Corrigons le titre. Tendance et période de tendance . Ce sera le type de tendance et le type de tendance par défaut, prenons la forme d'une moyenne mobile de régression linéaire. Pour le type de tendance et la période de tendance, la période de tendance. Corrigons le titre. Période de tendance et valeur par défaut car il s'agit d'un long terme. La moyenne mobile, disons 140, et chaque fois que nous devons modifier le paramètre par rapport à la configuration des paramètres de la stratégie, passons à dix. Maintenant, nous avons terminé la section des paramètres d'entrée. La section suivante sera consacrée aux fonctions personnalisées. Fonctions personnalisées, où nous allons développer toutes les fonctions que nous allons utiliser dans cette stratégie. Dans cette stratégie, nous n'utiliserons qu'une seule fonction personnalisée qui sera get MA source pour renvoyer une certaine moyenne mobile en fonction la sélection ou du type de moyenne mobile sélectionné. Get MA S. La fonction va avoir trois paramètres. Le premier paramètre est Source. deuxième paramètre est le type, et le troisième paramètre est la période que MA va utiliser. S Un type et une période. Ensuite, nous spécifions la flèche car ce sera la fonction personnalisée. Dans cette fonction personnalisée, nous allons avoir un commutateur et le commutateur aura l' expression sous forme de type may, c' est-à-dire le paramètre source, c' est-à-dire le paramètre de cette fonction personnalisée, selon le type de MA, selon le type de MA. Nous allons renvoyer des séries calculées de ce type MA. Par exemple, pour le type MA, pour le type EMA, MA, vous allez renvoyer la série EMA calculée. Nous allons utiliser une fonction EMA à point t, et nous allons transmettre le paramètre source. Nous allons y passer le paramètre Vio. Fonction, pour le type SMA, nous allons utiliser la fonction tA point SMA avec les mêmes paramètres. le cas par défaut, car dans notre système de trading, nous n'utilisons que trois options pour le type de moyenne mobile. EMA, SMA et régression linéaire. Par conséquent, pour la valeur par défaut, nous allons utiliser la régression linéaire. Si ni TMA ni SMA ne sont sélectionnés, option de régression linéaire ne sera renvoyée par ce commutateur pour calculer la régression linéaire, nous utilisons la fonction t point lin reg qui utilisera le paramètre source Paramètre de période. NF réglé, mettons-le à zéro. C'est ainsi que nous avons configuré nos fonctions personnalisées et que nous avons terminé le développement de la fonction personnalisée GA sour. Dans la section suivante, nous allons développer le calcul des indicateurs. Section des calculs de l'indicateur. Ici, tout d'abord, calculons les séries fermées et ouvertes que nous allons utiliser dans notre logique de trading Close s va être calculé par notre fonction personnalisée G so. Et nous allons passer en revue les paramètres de du marché sélectionné stratégie du marché sélectionné, du type et de la période de MA. MA, type MA. C'est ainsi que nous avons calculé séries proches à partir des paramètres de la stratégie. De même, nous allons calculer les ouvertures. Mais au lieu de clôturer, nous allons dépasser le prix d'ouverture du marché actuellement sélectionné. Ensuite, nous allons calculer la moyenne mobile de la tendance. La tendance sera égale et elle utilisera la même fonction personnalisée, et pour la tendance, nous allons passer des séries rapprochées. Mais pour les autres paramètres, nous allons transmettre les paramètres correspondants liés à la tendance. Moyenne mobile. Ce sera le type de tendance et la période de tendance. Période. Calculons ensuite certaines variables que nous allons utiliser dans notre logique de tendance Tout d'abord, nous devons savoir quand la tendance est à la hausse, quelle tendance est à faire. Initialisons ces variables. La tendance à la hausse sera vraie. Chaque fois que la tendance est supérieure à la série de tendances de la barre précédente. La tendance est à la baisse. Chaque fois que la valeur de tendance la barre actuelle est inférieure à la tendance de la barre précédente. Nous pouvons maintenant tracer parce que nous calculons toutes les séries dont nous avons besoin. Nous pouvons maintenant tous les tracer sur notre graphique. Pour ce faire, nous utilisons la fonction plot et la fonction in plot. Tracons une série, et le titre sera clos. Et la couleur sera, disons, le bleu. ligne bleue de couleur avec, disons 22, et disons le style de style, sera une ligne. Parce que ça bouge. C'est comme une moyenne mobile. Tracez et nous allons utiliser la ligne de style de ligne. Nous avons tracé la ligne de clôture, la série fermée sur le chat Tracons maintenant les ouvertures. Ouvre. Pour les ouvertures, ayons une couleur différente, utilisons la couleur marron Tout le reste, tous les autres paramètres de la fonction de tracé sont les mêmes pour les séries. Passons maintenant à l'ère du grand déménagement. Tendance. Donnons-lui le titre correspondant. Tendance et couleur de cette moyenne mobile. Définissons-le en fonction de la tendance à la hausse ou à la baisse. Pour ce faire, nous allons le faire, nous allons utiliser les paramètres que nous avons déjà définis, nous allons utiliser les variables auxquelles nous avons déjà attribué une tendance ascendante. Lorsque la tendance sera à la hausse, nous utiliserons la couleur, nous utiliserons la couleur verte. Sinon couleur rouge. Nous allons avoir différentes couleurs en fonction de leur tendance à la hausse ou baisse afin d'identifier visuellement la tendance du marché actuel. Dans la section suivante, nous allons développer la logique de trading de cette stratégie. La logique de trading va utiliser les variables suivantes. Tout d'abord, nous devons évaluer les conditions des cas de sortie longue et de courte durée. Définissons ces variables. La première variable est une condition longue. Longue condition dans cette étoile, chaque fois qu'elle traverse ou dépasse la série ouverte. Nous allons utiliser la fonction croisée TA , et d'abord primey regan use se ferme, ensuite primety regan use opens, cette fonction reviendra chaque fois que close ser passe au-dessus reviendra chaque fois que close ser Nous devons également évaluer la tendance. qui concerne la condition longue, nous devons nous assurer que chaque fois que la tendance est à la hausse et dépasse le point d'ouverture, uniquement dans ce cas , une condition longue, nous voulons logique opposée pour la condition courte. Condition courte, sauf qu' il sera franchi lorsque la clôture passe sous série d' ouvertures et que la tendance est à la baisse. Calculons maintenant les conditions de sortie. Nous allons avoir besoin de la condition de sortie longue et de la condition de sortie longue lorsque l' utilisateur ferme passe sous le cerus ouvert Et la variable exit short exit short sera définie sur true chaque fois que close, traverse le dessus, ouvre ss. Nous avons ainsi défini les conditions techniques de la logique de négociation dans notre stratégie. Nous savons maintenant quand la stratégie va ouvrir une position longue ou courte, ou quitter une position longue ou une position sh. Maintenant, définissons les quatre variables que nous allons signaler à nos entrées ou fermer les fonctions de position. Ils vont utiliser les arables conditionnelles que nous venons de décrire. Est long et initialisons-le aux fichiers Next est court et deux autres sont exit long et exit short Nous allons utiliser ces variables dans la logique de trading ci-dessous. Ensuite, définissons ces paramètres en fonction des conditions techniques et de la position actuelle du str. Pour ce faire, nous allons utiliser la fonction switch. Fonction de commutation Dans la fonction de commutation, en fonction de la position actuelle de la stratégie et de l' état technique de la stratégie, nous allons définir toutes ces variables. Aussi longue que courte, la sortie est-elle longue et la sortie courte ? abord, let set is long variables, variable, et il sera défini chaque fois que la position actuelle n'est pas longue. Ce sera une première condition. Stratégie et nous devons évaluer la position stratégique. Taille de la position inférieure ou égale à zéro, ce qui signifie que la position actuelle n'est pas longue. Soyez sur la taille de la position, zéro, ce qui signifie qu'il n'y a pas de position, la position est plate, la taille de la position est négative, ce qui signifie que la position est courte. Par conséquent, lorsque la taille de la position de stratégie est égale ou égale à zéro, cela taille de la position de stratégie est égale ou égale à zéro, signifie que la position de stratégie n'est pas longue. Ce n'est que lorsque ce n'est pas long que nous pouvons définir une variable longue true, indiquant à notre stratégie que nous allons établir une position longue. Lorsque la position n'est pas longue, longue condition. Dans ce cas, sa variable longue sera définie sur true. Nous allons réattribuer de la valeur à is long. Variable, nous devons donc utiliser une colonne et un sinus égal, ce qui signifie qu'il s'agit d'un opérateur de réaffectation Logique similaire mais opposée liée à chaque fois que nous devons définir une variable courte. Ce sera le cas chaque fois que la position n'est pas courte, ce qui signifie que la taille de la position est supérieure ou égale à zéro et que la valeur de la condition courte , cette variable est vraie, alors la variable courte sera définie sur true. Ensuite, calculons que la sortie sera définie sur true. Si je quitte le jeu, sera-t-il défini sur true ? Évidemment, chaque fois que nous avons une position longue, ce qui signifie que chaque fois que la taille de la position est supérieure à zéro et que la longue condition de sortie est vraie ? Dans ce cas, nous pouvons définir sa variable longue de sortie sur true. Dernière variable, définissons-la pour la variable de sortie is. variable de sortie courte sera définie sur chaque fois que nous aurons une position manifestement courte. Position courte. Position courte, donc position courte, nous allons avoir chaque fois que la taille de la position est inférieure à zéro et que c'est une condition courte de sortie. C'est vrai. Nous avons maintenant créé une logique pour définir toutes les variables liées au signal de trading réel dans notre stratégie de trading, que nous allons utiliser dans notre logique de trading ci-dessous pour entrées réelles et notre stratégie de trading. Ensuite, créons la logique pour quitter les positions. Pour quitter la position, nous devons d'abord savoir si la position stratégique est supérieure à zéro, c' est-à-dire si la position est actuellement longue. La position W est actuellement longue, et nous avons un ensemble de variables longues es exit. Ou nous pourrions avoir un autre signal, nous pourrions avoir un ensemble de variables court. Est un ensemble de variables court et les traits courts ne sont pas autorisés. Les traits courts sont des transactions courtes ne sont pas autorisées chaque fois que nous avons un type de transaction long. Cette logique est donc suivante chaque fois que nous avons une position longue. Et si c'est le cas, c'est long. Tout ce que nous avons, c'est un signal court. Mais chaque fois que nous avons un signal court, les courts-métrages ne sont pas autorisés. En gros, lorsque les shorts ne sont pas autorisés et que nous avons un signal court, nous allons également quitter la position longue. Maintenant, nous allons continuer. Nous avons couvert les longues sorties. Nous devons maintenant couvrir les sorties courtes. Ils vont avoir une logique similaire, mais opposée. taille de la position de la stratégie O est inférieure à zéro, elle est courte et nous avons son ensemble de variables sh de sortie. La variable exit short est-elle définie ou chaque fois que nous en avons, c'est long. Mais les journaux ne sont pas autorisés. Les poumons ne sont pas autorisés chaque fois que nous avons lorsque nous avons le type court. Ce sont toutes des solutions aux cas où nous avons une position longue ou une position courte Dans ce cas, nous allons fermer toutes les positions que nous avons. Nous allons appeler Strategy et simplement tout fermer. Ensuite, configurons nos entrées. Configurons d'abord l'entrée longue. Donc, si nous avons une variable longue , la variable longue est-elle définie sur true et nous devons également tenir compte du type de transaction actuel. Parce que, par exemple, si les positions longues ne sont pas autorisées, nous ne pouvons pas établir de position longue. Cela dépendra du type de commerce que nous avons. Chaque fois que nous avons une variable longue définie sur true et que le type de transaction est défini sur le type de transaction, et non sur short, ce qui signifie que les transactions longues sont autorisées. Dans ce cas, nous pouvons entrer dans la position longue. Stratégie qui saisit la fonction et le signal, le D de cette position sera long et la direction. Ça va être long. De cette façon, nous avons défini l'entrée longue. Définissons maintenant l'entrée courte. saisie courte chaque fois qu'il s'agit une variable courte est vraie et les traits courts sont autorisés. Les traits courts sont autorisés lorsque le type de transaction n'est pas long. Dans ce cas, nous pouvons établir une position courte. Nous avons terminé le développement du croisement open close. Stratégie de trading à partir de zéro. Maintenant, sauvegardons-le. Stratégie So Open Close Crossover MA. Sauvegardons-le, alors ajoutons-le. Ajoutons-le au graphique. Comme vous le voyez avec les paramètres par défaut sur le graphique Bitcoin, nous avons un bénéfice de 40 869 % Passez maintenant en revue les paramètres de cette étoile et vérifions comment elle se négocie sur le Cette stratégie a ces paramètres de stratégie comporte essentiellement trois sections. La première section est le type de transaction, chaque fois que nous pouvons sélectionner le type de traits autorisés dans notre stratégie. La valeur par défaut de ce paramètre est loan, mais nous pouvons la modifier si nécessaire. X suivent les deux paramètres relatifs aux séries de fermetures et d'ouvertures du marché sélectionné. Pour celles de ces séries, nous créons des moyennes mobiles, des moyennes mobiles, basées sur le type de MA et sur les paramètres de la période MA Mais nous pouvons changer le type de MA en un autre type de moyenne mobile, par exemple le SMA. Et nous pouvons modifier la période de la moyenne mobile utilisée pour calculer la moyenne mobile sur des seras fermées et ouvertes. Dans la section suivante, nous avons des paramètres liés à la tendance à long terme du marché sélectionné. Nous avons le type de moyenne mobile tendancielle. La valeur actuellement sélectionnée est la régression linéaire, mais nous pouvons la modifier si nécessaire. Le paramètre suivant est la période de tendance de la moyenne mobile de tendance à long terme, et nous pouvons également modifier ce paramètre. Tous ces paramètres peuvent être ajustés au marché actuellement sélectionné afin d' optimiser les performances de notre stratégie de trading. Voyons maintenant comment fonctionne le str en fonction des moyennes mobiles tracées La moyenne mobile à long terme est de couleur rouge, chaque fois que la tendance est à la baisse et de couleur verte, chaque fois que la tendance est à la hausse, nous sommes autorisés à établir des positions longues, chaque fois que la tendance est à la hausse, et chaque fois que la tendance est terminée, nous ne sommes autorisés à prendre que des tendances courtes. Une autre condition est que chaque fois que nous avons la moyenne mobile de clôture passe au-dessus de la moyenne mobile ouverte. La moyenne mobile proche est bleue. La moyenne mobile ouverte est de couleur marron. À cet endroit du graphique, nous pouvons voir que la ligne bleue passe au-dessus de la ligne marron Chaque fois qu'elle est franchie et que nous avons moyenne mobile de tendance verte, ce qui signifie que la tendance est à la hausse et la ligne bleue passe au-dessus de la ligne marron, nous établissons une position longue Nous fermons la position longue lorsqu'un événement contraire se produit. Chaque fois que la ligne bleue passe en dessous de la ligne rouge. Voici un autre cas. La ligne de tendance est verte, nous pouvons établir des lignes longues et la ligne bleue passe au-dessus de la ligne marron, nous l'avons établie longue Mais ici, comme vous le voyez, la ligne bleue passe en dessous de la ligne marron Par conséquent, nous sortons de l'ordre de la position longue, comme vous le voyez, de la position fermée. L'événement se passe ici. Alors maintenant, résumons cette leçon. Nous avons élaboré une stratégie de trading à partir de zéro basée sur trois indicateurs de moyenne mobile. L'une des moyennes mobiles identifie les tendances à long terme, les deux autres s'appuient sur des zones ouvertes et fermées du marché. J'ai expliqué la logique de chaque section de la stratégie et les paramètres de la stratégie. La stratégie permet d'ajuster les paramètres de ses indicateurs, définir différents types de moyennes mobiles, ce qui permet d'adapter la stratégie aux différents marchés C'est la fin de cette leçon, et je vous verrai dans la prochaine. 20. Leçon 20 - Testeur de stratégie pour les scripts Pine: Bonjour, bienvenue dans cette leçon, présentation du testeur de stratégie Pin Script. Cette leçon comprend les sections suivantes : introduction au testeur de stratégie Pin Script, je passe en revue les sections du testeur de stratégie . Cette section comprend quatre autres sous-sections, présentation, résumé des performances, liste des transactions et propriétés Ce sont toutes des sections du test de stratégie ou des robinets. L'onglet Vue d'ensemble comprend deux autres sous-sections, les statistiques du graphique des actions et les principales statistiques de performance Dans la dernière section de cette leçon, nous allons résumer l'utilisation des testeurs de stratégie. Commençons donc. Le module de test de stratégie est accessible pour tous les scripts déclarés à l'aide de la fonction de stratégie. Les utilisateurs peuvent facilement accéder à ce mode depuis le bouton du testeur de stratégie situé sous les graphiques. Ils peuvent y visualiser leurs stratégies et analyser des résultats de performance hypothétiques Donc, vous chargez d'abord la stratégie. Vers le graphique. Ensuite, vous pouvez cliquer sur le testeur de stratégie pour obtenir des statistiques ou des métriques de stratégie chargées. Ce testeur de stratégie comporte quatre points, ou quatre sections. Aperçu de la première section, deuxième performance, résumé, troisième liste des transactions et quatrième propriétés. Toutes ces sections contiennent différents types de métriques, et nous allons les passer en revue une par une. Maintenant, étudions un point de révision du testeur de stratégie. Le robinet d'évaluation intégré au testeur de stratégie fournit des indicateurs de performance fondamentaux ainsi que des courbes d'équité et de retrait, couvrant une série de caractéristiques simulées Cela nous permet d'évaluer rapidement les performances de la stratégie sans entrer dans les détails Le graphique de cette section illustre la courbe des fonds propres de la stratégie et la courbe des actions « by and hold » sous forme de courbes, et la courbe de retrait sous forme d'histogramme Une courbe d'actions DC est activée et la courbe d' actions est de couleur verte Nous pouvons également activer et maintenir le bouton enfoncé. Courbe d'équité, qui a une ligne bleue, et nous pouvons également activer le drawdown, qui est un Instagram Les utilisateurs ont la possibilité de basculer entre ces diagrammes et de les redimensionner sous forme valeurs absolues ou pourcentages à l'aide des options proposées sous le graphique Nous pouvons basculer entre les valeurs absolues et les valeurs en pourcentage. Lorsque vous basculez le libellé sur l'axe vertical, passez de l'absolu au pourcentage Passons donc en revue les principales statistiques de performance du backtest de la stratégie principales statistiques de performance du backtest affichées en haut du robinet. Ce sont toutes les principales statistiques de performance. Passons en revue chacune d'entre elles et je vais expliquer ce que signifient ces statistiques de performance spécifiques. Tout d'abord, nous avons un bénéfice net. Il s'agit du bénéfice ou de la perte net global réalisé par la stratégie. Plus cette valeur est élevée, meilleures sont les réformes de stratégie. Comme nous le voyons, le bénéfice net exprimé dans la devise actuelle, dollar, et également en pourcentage. Ensuite, la métrique est le total des transactions clôturées. Il s'agit d'un certain nombre de transactions fermées. Habituellement, plus le nombre de transactions augmente la validité des statistiques de performance. Le prochain indicateur est le pourcentage de rentabilité. Le pourcentage de transactions gagnantes ou la stratégie actuelle. Plus cette valeur est élevée, mieux c'est. La métrique suivante est le facteur de profit. Il s'agit de la stratégie, les profits bruts, divisés par les pertes brutes de la stratégie. Plus la valeur est élevée, mieux c'est. Je recommande une valeur d'au moins plus de deux pour considérer la stratégie est acceptable pour le trading. La métrique suivante est le prélèvement maximal. Il s'agit de la perte de stratégie la plus importante par rapport à son profit le plus élevé. Moins ce paramètre est élevé, mieux c'est. L'indicateur suivant est le commerce moyen. Il s'agit du bénéfice net net net divisé par le nombre de transactions clôturées. Le dernier indicateur d'essai principal est le nombre moyen de barres dans les transactions. Il s'agit du nombre moyen de barres écoulées pendant les transactions pour toutes les transactions clôturées Ces statistiques principales sur les performances de la stratégie sont très précieuses lors du démarrage, du test et de l'optimisation, car elles permettent d'évaluer les performances de la stratégie en un coup d'œil rapide . Passons en revue la section suivante sur les tests de stratégie, qui est le résumé des performances. Le résumé des performances intégré au module offre un aperçu complet matrice de performance d'une stratégie. Il comporte trois colonnes. Un pour toutes les transactions, le deuxième pour les transactions longues et le troisième pour les transactions courtes uniquement. Cette configuration fournit aux traders des informations plus nuancées les performances de trading simulées de la stratégie, couvrant à la fois les transactions longues et les transactions globales Certains des indicateurs de performance importants de cette liste sont le bénéfice net. Ensuite, achetez et maintenez le rendement, car vous serez toujours intéressé à comparer votre bénéfice net avec le rendement de l' achat et du maintien. Est-ce plus grand ou moins ? Habituellement, chaque fois que c'est moins, la stratégie peut être moins attrayante et moins probablement acceptable. Lorsque le bénéfice net de la stratégie Bacest est supérieur ou même essentiellement supérieur à celui du buy and hold Ensuite, la stratégie est fondamentalement logique pour négocier cette stratégie, car vous réalisez plus de bénéfices que si vous veniez acheter et de détenir ce marché sélectionné. Un autre paramètre important est le ratio net. Le ratio Sharp est une valeur. Il s'agit d'un rendement par unité de risque. Il s'agit essentiellement de comparer le rendement de la stratégie par rapport au risque pris. Plus le ratio est élevé, la courbe des actions est étouffée, plus la courbe fonds propres est un objectif important pour de nombreux traders Ensuite, c'est la moyenne. Transactions gagnantes et perdantes. Transaction gagnante moyenne et transaction perdante moyenne, à la fois en dollars et en pourcentage. Nous avons également ici les indicateurs de transaction les plus gagnants et les plus perdants . Tous ces indicateurs, ainsi que d'autres indicateurs de performance de la stratégie à cette étape, peuvent fournir des caractéristiques de performance précieuses et détaillées de la stratégie qui peuvent être utilisées lors de l'évaluation de la stratégie. Passons maintenant en revue l'onglet suivant , appelé liste des traits du testeur de stratégie. Le bouton de liste des caractéristiques propose un examen détaillé des transactions simulées par la stratégie, présentant des détails cruciaux tels que date et l'heure d'exécution Type d'ordre Qu' il s'agisse d'une transaction, d'une entrée ou d'une sortie , le nombre de contrats peut être une quantité, le nombre d'actions, de lots ou d'unités négociés, ainsi que le prix utilisé dans une transaction. D'autres indicateurs de performance commerciale importants, tels que le bénéfice cumulé et le retrait des transactions Dans cette liste de transactions, nous pouvons accéder à l'heure d' nous pouvons accéder à l'heure d' une transaction spécifique sur ses graphiques en cliquant dessus dans la liste. Comment nous y parvenons. Par exemple, nous aimerions trouver sur le graphique cette transaction spécifique, cette sortie spécifique. Il suffit de cliquer sur ce symbole circulaire. Et ici, nous avons navigué vers cette sortie spécifique. Maintenant, par exemple, cliquons sur une autre transaction. Supposons que nous voulions vérifier cette longue entrée. Nous cliquons sur ce bouton circulaire, faites défiler jusqu'à la barre. Il s'agit d'un point sur le graphique, point correspondant sur le graphique est sélectionné. Également, en cliquant sur le numéro de transaction ici. Champ situé au-dessus de la liste. Nous pouvons organiser les transactions par ordre croissant, en commençant par le premier, descendant ou en commençant par le dernier Nous pouvons recourir au numéro de transaction toutes ces transactions figurant dans cette liste de transactions. Passons enfin en revue la dernière section du testeur de stratégie, qui est le test des propriétés. L'étape des propriétés fournit des détails détaillés concernant la configuration d'une stratégie et le jeu de données sur lequel elle fonctionne Il contient la plage de dates des stratégies, cette section. Deuxièmement, les informations relatives aux symboles. D, l'entrée str. Et enfin, les propriétés de la stratégie. Passons en revue en détail chacun de ces groupes de propriétés. Tout d'abord, la plage de dates. plage de dates inclut la plage de dates avec transactions simulées et la plage de test ba totale disponible Gamme de négociation et plage de test BA. Deuxièmement, un groupe de métriques, un groupe de paramètres. Informations sur le symbole. Contient les propriétés du symbole, telles que le nom du symbole, les graphiques , la période et le type, la taille du crochet, la valeur en points du graphique et le carenc de base Le groupe de paramètres suivant est celui des entrées de stratégie. Il décrit les paramètres utilisés dans le script de stratégie disponible dans le champ de saisie du paramètre du script. Nous pouvons y accéder dans la configuration de la stratégie, et nous pouvons voir que tous ces paramètres sont disponibles ici dans l'entrée str des paramètres dans le robinet des propriétés. Et le dernier groupe de paramètres est celui des propriétés de stratégie. Il fournit une vue d'ensemble de la configuration de la stratégie de trading. Il inclut des détails essentiels tels que la devise de base du capital initial ou la taille, la marge, pyramidation, la commission et le glissement De plus, cette section met en évidence les modifications apportées au comportement de calcul de la stratégie. Dans l'ensemble, cette liste de propriétés contient tous les paramètres importants liés à la stratégie et au backtest qui peuvent être visualisés et vérifiés lors des tests str. Récapitulatif de cette leçon. Nous avons examiné ce testeur de stratégie Trading View en analysant le contenu de la section consacrée à tous les testeurs de stratégies. Grâce à ces indicateurs de stratégie variables, nous pouvons évaluer la stratégie et analyser en profondeur ses performances. Cela nous aidera à tester et à optimiser la stratégie de script Pine. C'est la fin de la leçon, et je vous verrai dans la prochaine. A. 21. Leçon 21 - Comment tester la stratégie de trading en backtest et en forward: Bonjour, bienvenue dans cette leçon, comment tester B et tester une stratégie de trading à terme . Cette leçon comprend les sections suivantes, les éléments essentiels du backtesting des stratégies de trading, où je passe en revue les tests rétrospectifs des stratégies de trading en général. Dans la section suivante, je passerai en revue tests du script Pine B avec un outil de test de stratégie. Ensuite, nous allons étudier les tests prospectifs du script Pin avec l'outil de rediffusion du marché Enfin, dans la dernière section, je passerai en revue la stratégie en testant et en testant à l'avance. Commençons donc. back testing en général est une méthode quantitative utilisée par les traders pour évaluer les performances historiques d'une stratégie de trading. Cela implique d'appliquer une logique d'indicateur ou de stratégie aux données historiques du marché afin de simuler leur performance dans le passé. back testing aide les traders à évaluer la viabilité, les performances et l'efficacité de leurs stratégies avant de les mettre en œuvre dans la vie. Marchés. Voici les principales étapes du backtesting d' une stratégie de trading. La première étape consiste à sélectionner une stratégie de trading. Nous choisissons une stratégie de trading spécifique que nous voulons tester. La stratégie peut être basée sur une analyse technique, analyse fondamentale ou une combinaison des deux. Nous avons sélectionné une stratégie. À l'étape suivante, nous devons collecter les données. Nous devons préparer ensemble des données de marché historiques pour la période que nous voulons tester, y compris les mouvements de prix, les volumes de transactions et toute autre information pertinente. La qualité et la précision des données historiques sont cruciales pour la fiabilité des résultats des tests rétrospectifs. Dans la troisième étape, nous définissons les paramètres de stratégie ou les paramètres des indicateurs. Nous définissons les paramètres d'une stratégie ou d'un indicateur de trading, notamment les critères d'entrée et de sortie, niveau de stop loss , les niveaux de profit mises et toute autre règle pertinente. Ces paramètres devraient être basés sur les règles que nous suivrions dans le trading sur la vie. La quatrième étape consiste en un processus de simulation. Nous appliquons la stratégie et les paramètres choisis aux données historiques, en simulant l' exécution des transactions sur la période sélectionnée Chaque transaction est exécutée selon les règles de la stratégie, tenant compte de facteurs tels que le glissement et les coûts de transaction Et la cinquième étape est l'analyse des performances. Au cours de cette étape, nous évaluons la performance de la stratégie en analysant des indicateurs clés tels que la rentabilité, rendements ajustés au risque, le prélèvement maximal et d'autres indicateurs de performance Cette analyse aide les traders à comprendre comment la stratégie aurait fonctionné dans le passé. Maintenant, étudions la stratégie de trading en testant les avantages. Le back testing des stratégies de trading présente les avantages suivants. Tout d'abord, l'évaluation historique des performances. Cela signifie que les traders peuvent évaluer les performances de leurs stratégies dans différentes conditions de marché sur une période donnée. Deuxième avantage. Optimisation des paramètres. back testing permet aux traders d'affiner les paramètres de leurs stratégies pour de meilleures performances. Ce processus est parfois appelé optimisation. La troisième étape consiste à affiner la stratégie. Il est basé sur les résultats de tests rétrospectifs. Les traders peuvent affiner et améliorer leur stratégie pour améliorer leurs performances globales. Je dois dire, cependant, qu'il est important de noter que le backtesting a ses limites. performances passées ne garantissent pas les résultats futurs, et il est difficile simuler avec précision les conditions réelles du marché Les traders doivent être conscients des BSS potentiels et faire preuve de prudence lorsqu'ils appliquent résultats rétrotestés au trading en direct De plus, la surexploitation, ou ce que l'on appelle l' ajustement des courbes, est un risque, et les stratégies doivent être suffisamment robustes. Ils devraient disposer d'une marge de manœuvre leur permettant de s'adapter à l'évolution des conditions du marché. Revenons maintenant à la plateforme Trading View. backtesting sur la plateforme Trading View est le processus d'exécution du code de script Pine, tel que la stratégie Piscrit, bibliothèque d' indicateurs sur des données historiques Passons maintenant en revue et pratiquons le processus de backtesting sur la plateforme Trading View avec le testeur Str. Ici, nous avons des super charts ouverts sur un certain marché. Passons maintenant à l' éditeur P en cliquant sur le bouton Pin Editor. Nous avons ici ouvert une certaine stratégie. Maintenant, afin de tester la stratégie, nous devons l'ajouter au graphique. Nous cliquons sur Ajouter au graphique. Une fois que nous avons ajouté la stratégie dans ce cas au graphique, la stratégie a été exécutée sur chaque barre du graphique chargé, et elle a été rétrotestée de cette façon. Actuellement, la stratégie est entièrement rétrotestée sur toutes les données disponibles sur ce marché, et nous pouvons voir dans le testeur de stratégie les résultats du backtesting de cette stratégie. Maintenant, ce que nous pouvons faire, c'est évaluer et évaluer cette stratégie en analysant les indicateurs de performance de la stratégie, tels que le bénéfice net, le total des traits de clôture, pourcentage de profit rentable maximal, le retrait maximal, et tous les autres indicateurs de stratégie dont nous disposons. Nous avons également des indicateurs supplémentaires disponibles dans résumé des performances du testeur de stratégie, où nous avons plus de paramètres pour évaluer la stratégie testée rétroactivement. Ainsi, en testant notre stratégie, nous pouvons évaluer la stratégie. Nous pouvons vérifier si cette stratégie est viable et si elle est acceptable pour nous de négocier. À l'étape suivante, nous pouvons commencer à modifier certains paramètres de cette stratégie. Nous pouvons changer, par exemple, la moyenne mobile, paramètre de cette stratégie, et nous pouvons changer le type de moyenne mobile. Et lorsque nous modifions les paramètres de la stratégie, les performances , les changements, les indicateurs de performance de la stratégie changent, nous pouvons évaluer la stratégie avec différents paramètres afin voir comment la stratégie se serait comportée sur des données historiques avec différents paramètres. Ce faisant, nous pouvons mieux évaluer la stratégie et essayer de voir comment elle peut fonctionner sur différents paramètres, afin de mieux analyser la stratégie et évaluer la stratégie pour le marché sélectionné. Passons maintenant en revue les tests prospectifs de la stratégie. Qu'est-ce que le test prospectif ? Nous venons d'étudier la stratégie en backtesting. Étudions maintenant la stratégie des tests avancés. Le test à terme est également connu sous le nom trading sur papier ou de trading sur simulateur Il s'agit d'une méthode utilisée par les traders pour tester leur stratégie de trading dans conditions de marché en temps réel sans risquer d'argent réel Cela implique d'exécuter des transactions sur la base données historiques comme si elles se déroulaient en temps réel. Cela permet aux traders d'évaluer l'efficacité de leurs stratégies et d' évaluer leurs performances dans le passé. Quelle est la différence entre le back testing et le forward testing ? La différence réside d'abord dans la quantité de données de marché fournies à la stratégie de trading et dans le degré de détail des données. Deuxièmement, la stratégie de trading n' est pas optimisée sur la base de données testées à terme. Il vient de tester ces données. Dans la stratégie de test du taux d'alcoolémie, on donne généralement un ou quatre points de données pour chaque barre. Clôture du cours ou ouverture des valeurs des barres hautes et basses. Dans ce cas, la stratégie ne dispose d'aucune information sur le comportement des prix intrabarres, ce qui éloigne le processus de backtesting des conditions réelles du marché Cependant, lors des tests prospectifs, la stratégie est fournie par des données intra-barres, telles que les ticks des transactions avec des données sur les prix et les volumes tests prospectifs se rapprochent ainsi des conditions du marché en temps réel. Le processus de test prospectif comprend généralement les étapes suivantes. abord, la sélection de la stratégie de trading, où nous choisissons les stratégies de trading spécifiques que nous voulons tester. Ensuite, lors de la collecte des données, nous rassemblons et préparons des données de marché historiques pertinentes pour la période que nous voulons tester. Ces données doivent inclure les mouvements de prix, les volumes de transactions et tout autre indicateur pertinent. Troisièmement, le trading simulé, nous utilisons les données historiques pour exécuter les transactions conformément aux règles de la stratégie que vous avez choisie Dans cette simulation, négociez comme si nous avions négocié avec de l'argent réel, notamment en définissant des niveaux de stop loss et de take profit. La quatrième étape de l'analyse, fois la période de test prévisionnelle terminée, nous analysons les résultats pour évaluer la performance de la stratégie. Les tests avancés présentent plusieurs avantages. Tout d'abord, un environnement sans risque. Comme aucun argent réel n'est en jeu, les traders peuvent expérimenter différentes stratégies sans craindre de pertes financières. Deuxièmement, des conditions de marché réalistes. Ils sont plus réalistes que les backtesting. tests prospectifs permettent aux traders de découvrir les leurs stratégies dans des performances de leurs stratégies dans des conditions de marché réelles, en tenant compte du glissement, des coûts de transaction et d'autres facteurs Et troisième avantage. Apprentissage et amélioration. Les traders peuvent tirer des leçons des résultats de leurs tests prospectifs et apporter les ajustements nécessaires à leurs stratégies pour améliorer les performances. Nous devons garder à l'esprit que si les tests prospectifs peuvent fournir des informations précieuses, performances passées ne sont pas indicatives des résultats futurs. Par conséquent, même après des tests prospectifs réussis, il est essentiel de faire preuve de prudence lors de la transition vers trading d'actifs et d'utiliser des pratiques de gestion des risques appropriées Sur la plateforme de trading, nous avons la fonction Replay Market qui nous permet de transmettre des stratégies de test Voyons comment cela fonctionne. Pour accéder à la fonctionnalité Replay Market, nous cliquons sur le bouton Replay haut de cet écran Superchart Après avoir cliqué dessus, nous pouvons cliquer sur ce bouton, Sauter deux. Ensuite, nous pouvons sélectionner la date de début à laquelle nous voulons commencer à rejouer les données du marché Par exemple, sélectionnons cette date. Nous cliquons après que le graphique soit rechargé et le graphique va démarrer le replay market à partir de la date que nous avons sélectionnée Ensuite, nous pouvons cliquer sur jouer et le replay du marché a commencé à rejouer The market. Nous pouvons modifier la vitesse de rediffusion en sélectionnant ce bouton, puis nous pouvons le ralentir ou rendre plus rapide si nécessaire Au cours de ce processus, la stratégie de négociation est alimentée par la barre avec des données intra-barres telles que les lignes droites du stick et Par conséquent, ce processus de test est appelé test prospectif, et ce processus de test est beaucoup plus proche trading en temps réel car les données fournies à la stratégie sont proches de l'environnement de trading en temps réel. Il contient des données intra-barres et chaque barre contient des transactions ou des ticks et un volume C'est ce qu'on appelle des tests prospectifs , car nous ne sommes pas censés optimiser notre stratégie de trading lors des tests prospectifs. Nous optimisons si nous devons optimiser et modifier les paramètres la stratégie de trading pendant le backtest, puis après avoir effectué le backtest, nous adaptons la stratégie aux nouvelles données de marché issues de la rediffusion du marché lors des tests prospectifs, et ainsi, nous analysons les performances de notre stratégie avec les nouvelles données inconnues de notre stratégie Voyons maintenant comment nous pouvons évaluer et tester correctement et voir les indicateurs de performance lors des tests prospectifs. Supposons, par exemple, que nous voulions tester la loi actuelle sur le trading à partir du début du mois de mai. Pour ce faire, nous pouvons voir qu' actuellement, dans notre test de stratégie, les performances du test b de cette stratégie sont chargées. Par conséquent, cela interfère avec les tests avancés à partir desquels nous voulons obtenir les métriques Afin que les indicateurs de notre test de stratégie soient uniquement liés aux tests prospectifs, nous devons définir la date de début de notre stratégie de trading. Notre stratégie de trading comporte date de début et des paramètres de date de fin. Voyons rapidement comment cette stratégie a programmé ces paramètres. Nous pouvons utiliser cette tactique afin de l'appliquer à toute autre stratégie dont nous avons besoin. Ces paramètres de date de début et de fin nous aident à tester nos stratégies en arrière et tester nos stratégies en aval uniquement sur une période sélectionnée ou difficile. Nous pouvons voir que nous avons défini des paramètres entiers pour la date de début, tels que la date de début, le mois de début, l'année de début, et trois paramètres définis pour la date de fin. C'est le jour de fin, la fin du mois et la fin de l'année. Ensuite, lorsque ces paramètres sont définis dans la stratégie, nous calculons à l'aide de la fonction time stem, la valeur numérique de l' heure de début et de fin, et nous allons utiliser cette valeur dans notre logique de comparaison temporelle dans notre fonction personnalisée afin de déterminer quand cette stratégie est autorisée à négocier ou non Jetons maintenant un coup d'œil à la fonction personnalisée appelée e time enabled. Cette fonction es time enabled renverra une valeur B indiquant si l'heure actuelle sur la barre actuelle est la barre laquelle la stratégie est autorisée à négocier ou non. Dans cette fonction, il s'agit simplement de comparer le temps de barre actuel à l'heure de début et à l'heure de début. Si le délai de négociation actuel plage autorisée entre la date de début et la date de fin de la stratégie, alors notre stratégie est autorisée à négocier. Voyons maintenant comment la fonction chronométrée est utilisée dans notre logique de trading. Ici, dans cette fonction de commutation, nous définissons notre signal de trading ( variable haussier et variable, long, court, sortie longue et sortie courte), et nous pouvons constater que nous avons ajouté condition supplémentaire à cette logique de trading chaque fois que nous définissons l'un de ces signaux de trading. Pour que l'un de ces signaux de trading soit défini, la fonction activée dans le temps doit renvoyer une valeur réelle, c'est-à-dire une stratégie, nous serons en mesure de définir n'importe lequel de ces signaux et nous ne pourrons négocier que dans la fourchette autorisée pour négocier. Nous avons examiné comment définir les paramètres de date de début et de fin dans notre stratégie afin limiter la période pendant laquelle nous souhaitons négocier notre stratégie. Revenons maintenant au testeur de stratégie. Supposons que nous voulions tester notre stratégie à partir du 1er mai. Par conséquent, nous souhaitons n'avoir dans notre testeur de stratégie que les métriques collectées à partir du 1er mai. Pour ce faire, nous allons cliquer sur le bouton d' engrenage des paramètres de la stratégie et nous définissons ici l'année et le mois de mai à partir du 1er mai. Nous pouvons maintenant voir que la stratégie a commencé à être négociée à partir du 1er mai. Nous pouvons vérifier cela en consultant la liste des transactions, et nous pouvons voir que la stratégie commence à être négociée après le 1er mai. Du 20 au 22 juin, il y a eu un tout premier échange. Maintenant, nous allons ici. Commençons maintenant à rejouer les données du marché Dans l'outil de rediffusion du marché, nous passons à la même date que celle que nous avons fixée dans notre stratégie, 1er mai, car nous voulons commencer à collecter des indicateurs de performance à partir du 1er mai Maintenant, comme vous le voyez, nous n'avons actuellement aucun trait dans notre test de stratégie. Maintenant, lorsque nous commencerons à rejouer au marché, nous verrons les performances d'at dans le testeur de stratégie, qui se reflétera sur les performances collectées uniquement lors des tests prospectifs J'ai effectué des tests prospectifs du 1er mai à la fin du graphique, et nous pouvons désormais analyser les indicateurs de performance collectés uniquement lors des tests prospectifs. En utilisant cette méthode, lorsque vous définissez la période de négociation commençant à une certaine date et que vous définissez dans l'outil de rediffusion du marché la début de négociation à la même date, vous pouvez collecter des indicateurs de performance dans le testeur de stratégie uniquement pendant la période de test prospectif Pour résumer cette leçon, nous avons étudié comment tester la stratégie de trading Pine Script, avec l'outil de test de stratégie Nous avons également étudié comment tester à terme la stratégie de trading du script Pine, l' aide de l'outil de rediffusion du marché De plus, nous avons pris conscience de certaines limites des tests rétrospectifs et prospectifs. tests rétrospectifs et prospectifs sont des étapes cruciales du développement et de l'évaluation d'une stratégie de trading. Ils jouent des rôles complémentaires dans l'évaluation de la viabilité, la robustesse et de l'efficacité réelle d'une approche commerciale C'est la fin de la leçon, et je vous verrai dans la prochaine 22. Leçon 22 - Comment optimiser la stratégie de trading: Colon, bienvenue dans cette leçon, comment optimiser une stratégie de trading. Cette leçon comprend les sections suivantes. Dans la première section, nous passerons revue l'optimisation des stratégies de trading. Dans la section suivante, nous étudierons comment optimiser la stratégie de trading à l' aide de tests de stratégie Dans la section suivante, je vais souligner à quel point il est important d'éviter un réajustement dans l' optimisation de la stratégie Dans la dernière section, nous aborderons le résumé de l'optimisation des stratégies. Commençons donc. L'optimisation des stratégies de trading est le processus qui consiste à affiner et à ajuster les paramètres d'une stratégie de trading afin de maximiser ses performances sur la base de données historiques. L'objectif est d'identifier l'ensemble de paramètres le plus efficace qui aurait donné les meilleurs résultats dans le passé Alors que l'optimisation peut améliorer performances historiques d' une stratégie. Il est important de trouver un équilibre et d'éviter le surajustement. Le surajustement de l'optimisation crée une stratégie trop adaptée aux données historiques et risque de ne pas être performante à l'avenir, sans que les conditions du marché ne soient visibles Les étapes clés de l'optimisation des stratégies de trading incluent. Définissez d'abord les paramètres, identifiez les paramètres de votre stratégie de trading qui peuvent être ajustés. Ces paramètres peuvent inclure les critères d'entrée et de sortie, niveaux de stop loss et de take profit, les périodes de moyenne mobile, les types de moyennes mobiles ou toute autre variable influençant les décisions de négociation. L'étape suivante consiste à définir les plages. Définissez une plage de valeurs pour chaque paramètre que vous souhaitez tester. Par exemple, si vous optimisez une stratégie de moyenne mobile, vous pouvez tester différentes périodes de moyenne mobile dans une plage spécifiée. Troisièmement, effectuez des tests rétrospectifs, effectuez des tests rétrospectifs pour chaque combinaison de valeurs de paramètres dans les plages définies. Cela implique d'appliquer la stratégie aux données historiques pour simuler les traits et évaluer les performances. L'étape suivante consiste à évaluer les performances. Analysez les résultats des tests rétrospectifs pour déterminer quel ensemble de paramètres a produit les meilleures performances. indicateurs de performance peuvent inclure la rentabilité, les rendements ajustés au risque, prélèvements et autres paramètres pertinents, performances de la stratégie Étape suivante, évitez le surajustement. Méfiez-vous du surajustement, qui se produit lorsqu'une stratégie est trop adaptée aux données historiques et risque de ne pas être performante dans les nouvelles conditions du marché Il est essentiel de trouver un équilibre entre l' optimisation des données historiques et le maintien de la robustesse d'une stratégie Pour éviter le surajustement, maintenez le nombre de paramètres optimisés à un faible niveau Je recommande jusqu'à 34 paramètres. Plus le nombre de paramètres de stratégie est élevé, plus le risque d'adaptation de la courbe aux données historiques est élevé. Cela peut entraîner une piètre performance de la stratégie sur les nouveaux marchés, toutes les données du marché de l'assurance vie. L'étape suivante consiste à ne plus effectuer de tests d'échantillons. Une étape très importante. Après avoir identifié un ensemble de paramètres potentiellement optimisés, effectuez des tests à partir d' échantillons en utilisant différentes périodes ou un ensemble de données non utilisé lors de l'optimisation initiale. Cela permet d'évaluer la capacité de la stratégie à se généraliser aux nouvelles conditions du marché. Cela signifie que vous disposez de dix ans de données de marché disponibles. Vous optimisez la stratégie sur les neuf premières années de ces données, puis vous testez ces valeurs de paramètres optimisées sur la dernière année des données de marché dont vous disposez, sur la dixième année des données de marché. De cette façon, vous vérifierez si la stratégie fonctionne toujours bien sur les données hors échantillon. L'étape suivante est la validation. Validez la stratégie d'optimisation à étapes de test et de validation supplémentaires pour garantir sa robustesse et sa fiabilité Il est important que les traders fassent preuve de prudence lorsqu'ils optimisent leurs stratégies de trading. optimisation excessive peut mener à une stratégie trop spécifique aux données historiques et risque de ne pas être performante sur les marchés de l'assurance vie. Les stratégies doivent être suffisamment robustes pour faire face aux variations des conditions du marché, et les traders doivent éviter d' ajuster la courbe de manière trop proche des données passées sans tenir compte de la dynamique future du marché. Maintenant, entraînons-nous à optimiser la stratégie de trading du script Pine avec le testeur de stratégie. Ici, nous avons une stratégie de fusion croisée ouverte et fermée chargée sur le graphique Nous pouvons constater que le backtest après le backtest, nous pouvons voir les indicateurs de performance de cette stratégie. La stratégie actuellement basée sur les paramètres par défaut génère un bénéfice net d'environ 40 %, un facteur de profit de 2,9 et un prélèvement de 5 % Supposons que nous souhaitions optimiser ces paramètres pour améliorer les indicateurs de performance de la stratégie. Actuellement, nous avons un bénéfice net de 40 000 %. Cependant, si nous comparons cette performance, ce bénéfice net à acheter et à conserver, nous pouvons constater que l'achat et le maintien, qui sont une ligne bleue, génèrent essentiellement un nombre de bénéfices plus élevé. Par conséquent, nous essaierons d' optimiser les paramètres de la stratégie, la performance de la stratégie et en particulier le bénéfice net se rapprochant de l'achat et du maintien, voire plus élevés. Sinon, si la performance, en particulier, le bénéfice net est essentiellement inférieur à la performance d'achat et de détention d' actions sur ce marché. Si c'est trop bas, alors achetez et conservez, cela n'a même pas de sens de négocier. Nous ferions mieux d'acheter et de conserver ce marché. Voyons si nous pouvons optimiser les paramètres de la stratégie. Pour ce faire, nous cliquons sur le bouton des paramètres de la stratégie. Nous pouvons maintenant voir que la stratégie comporte de nombreux paramètres. Plus précisément, car notre intérêt est d' optimiser, nous avons un type de transaction, et un type de MA, un type de transaction et un type de MA, nous avons une période, une période tendance de type TrendA Nous allons garder le type de transaction sur le long terme car le Bitcoin, le marché actuellement sélectionné, a généralement une tendance à la hausse. Par conséquent, nous garderons le type de transaction trop longtemps Nous n'allons pas optimiser cela. Type de MA. Nous pouvons modifier cette période de MA, type de tendance MMA et cette période de tendance Nous avons ces quatre paramètres que nous allons essayer d'optimiser, que nous allons modifier et que nous allons voir si la stratégie est plus performante. Tout d'abord, conservons le type MA en tant qu'EMA et modifions la période MA. Actuellement, nous avons un bénéfice net de 40 000. En modifiant les paramètres, nous allons essayer de réaliser un bénéfice net élevé possible. Facteur de profit le plus élevé possible pour MC retire le plus possible, et c'est à peu près tout. Nous allons nous concentrer sur ce paramètre. Nous allons essayer de trouver de tels paramètres qui ont tous sélectionné tous ces paramètres que je viens de mentionner à une valeur optimale. Bénéfice net aussi élevé que possible, facteur de profit aussi élevé que possible et prélèvement Mx aussi faible que possible. Essayons de modifier ces paramètres. Nous constatons que nous essayons de modifier la période de MA. Maintenant, nous avons 72 000 bénéfices nets 78. Continuons à en changer 25, c'est encore moins qu'avant. Passons à 100, 110, 120. Le montant le plus élevé que nous ayons envoyé était d'environ 70 000 61 78. Nous en avons 78. Cela semble être une valeur optimale pour une période A. Essayons maintenant de changer la période de tendance. Le type AA et le type Renda sont essentiels. Ils ont un impact très important sur les performances de la stratégie. Par conséquent, et nous n'avons que quelques options à changer. Nous n'avons pas de SMA et de régression linéaire. Pour le type TrendA, nous n'avons que les mêmes options, MA, SMA et régression linéaire Par conséquent, nous les garderons pour le moment, nous essaierons de modifier la période. Ensuite, après avoir trouvé la période idéale, nous essaierons également de changer les types de MA. Changeons la période. Cela devient donc de moins en moins important, essayons d'évoluer dans une direction différente pour la période de tendance. En fait, nous n'avons pas obtenu le meilleur rapport qualité-prix pour le bénéfice net. La valeur de 140 semble optimale pour le moment. Maintenant, nous en avons 78, voyons si nous pouvons améliorer ce bénéfice net en modifiant le type de transaction. Changeons le type de transaction en type non commercial. Passons du type MA à la régression linéaire, par exemple. Ensuite, après avoir changé cela, changeons la période MA. Donc 40 19. Continuons à changer et voyons si nous pouvons en obtenir plus de 70. Nous en avons 496. Nous avons aujourd'hui essentiellement plus de bénéfices nets. 400, nous avons un bénéfice de 30 %. C'est de moins en moins important. Cela ressemble à une période de 135 MA avec une sorte de régression linéaire, nous donnant un bénéfice net optimal. Le Max dans est de 37, ce qui est un peu élevé, mais étant donné que le marché du Bitcoin est très volatil. Ce n'est pas trop élevé à mon avis. Essayons maintenant de changer la période de tendance et voyons si nous pouvons même l'améliorer. Maintenant, elle en réduit 546 000. Modifions-le dans une autre direction, 500 et 400 %. Il semble que 140 soit optimal. Essayons maintenant de changer la tendance une fois. Lorsque nous commençons à modifier les paramètres, nous gardons à l'esprit le bénéfice net le plus élevé que nous ayons, soit 793 Modifions-le en, disons. Maintenant, nous obtenons un bénéfice net encore plus élevé, 937 %. Alors changeons maintenant la période de tendance. 937. Nous en avons maintenant 972 Le prélèvement maximum est de 36, un peu mieux, et le facteur de profit est de cinq, très bon. Facteur de profit, je recommande d' en avoir au moins deux ou plus. Nous avons 100 points. Essayons maintenant de l'améliorer. Maintenant, il ne s'est pas amélioré lorsque vous le déplacez plus bas. Il semble que ces paramètres pour le moment, générant 972 %, soient optimaux pour le moment Essayons maintenant de l' améliorer davantage. Essayons de changer, par exemple, le SMA. C'est mieux ? Non, ce n'est pas mieux. C'est pire. Ce n'est pas mieux. Ce n'est pas mieux maintenant. Alors le type MA ne nous donne pas les meilleures performances par rapport au MA. Essayons maintenant de changer le type MA en SM SMA. Non, les performances se sont détériorées, mais essayons quand même de changer de période Est-ce que la situation s'améliore et va dans une autre direction ? Non, c'est bien moins que de comparer ce que nous avions avant. Cela signifie que nous avons trouvé les paramètres optimaux. Pour cette stratégie sur ce marché sélectionné, les paramètres optimaux sont les régressions linéaires pour le type MA, la période 135 MA, la régression MA pour le type de tendance A et 100 pour la période de tendance. Voyons maintenant et comparons cette performance avec la performance d' achat et de détention d'actions. On voit que la ligne verte est plus haute que la ligne bleue. Cela signifie que nous avons généré avec des paramètres optimisés pour cette stratégie, bénéfice net supérieur à celui de Buy et Hall. Cela rend la stratégie attrayante pour le trading. J'ai démontré comment optimiser le trading et la stratégie en modifiant les paramètres de la stratégie, en effectuant des tests rétrospectifs et en analysant les résultats des tests rétrospectifs. Récapitulatif de cette leçon. L'optimisation est un outil précieux lorsqu'elle est utilisée à bon escient. Mais cela devrait faire partie d'un processus plus large d' élaboration de stratégies. Cela inclut des tests approfondis, validation et une gestion des risques. C'est la fin de cette leçon, et je vous verrai dans la prochaine. 23. Leçon 23 - Créer une stratégie ADXVMA en pinceau: Hall, bienvenue dans cette leçon sur la création d' une stratégie ADX VMA dans Pine Script Cette leçon comprend les sections suivantes. Dans la section d'introduction, je vais vous présenter la stratégie ADX VMA Ensuite, j'expliquerai les signaux de trading des indicateurs ADX VMA. Ensuite, nous allons commencer à élaborer la stratégie dans le script Pine. La stratégie comprend les sections suivantes , les paramètres d'entrée, la section, les fonctions personnalisées, les calculs d' indicateurs et la logique de négociation de la stratégie. En fin de compte, je vais expliquer les paramètres de la stratégie, et nous allons passer en revue ces paramètres. Commençons. La stratégie utilise deux indicateurs, ADX VMA et la moyenne mobile Le principal indicateur de cette stratégie est l'ADX VMA. Il s'agit d'un indicateur de moyenne mobile adaptatif qui répond aux fluctuations de prix. Il suivra de près le cours pendant les tendances des marchés et deviendra moins sensible en cas d' action latérale Sur votre écran, vous voyez indicateur ADX VMA appliqué au graphique Bitcoin Comme je viens de le dire, cet indicateur ressemble à un indicateur de moyenne mobile, mais il s'agit d'une moyenne mobile très spécifique car il réagit à la volatilité du prix et modifie son comportement. Lorsque le marché, comme dans cette section, connaît une forte tendance, l'indicateur ADX VMA suit de près le prix Mais lorsque les marchés sont stables, l'indicateur est tout simplement plat. Ainsi, plus le marché est fort, plus l' indicateur ADX MA sera proche et mobile suivre les mouvements de prix Cet indicateur est également multicolore pour identifier facilement les signaux de trading provenant de cet Lorsque la couleur de la ligne de moyenne mobile de cet indicateur est verte, cela signifie que l'indicateur nous donne un signal haussier Lorsqu'il est jaune, l' indicateur nous donne un signal d'inondation ou aucun signal de tendance, et lorsqu'il est rouge, cela signifie que l' indicateur est baissier. Cela nous donne un signal baissier. Ensuite, en utilisant les signaux fournis par cet indicateur, nous pouvons prendre une décision dans notre stratégie de trading. L'indicateur ADX VMA lui-même se compose de deux autres indicateurs, comme son nom l'indique, VMA, également connu sous le nom de VDR, qui signifie indicateur de moyenne dynamique à indice variable Il s'agit d'une moyenne mobile adaptative, qui est plus sensible en cas d' du marché et moins sensible sur un marché latéral Le deuxième indicateur de l'indicateur ADX VMA est l'indicateur indice directionnel moyen ADX, qui mesure la force d'une tendance La valeur ADX varie de 0 à 100, elle est généralement prise en compte lorsque Adx est supérieur à 25, le marché est en tendance, lorsque Adx est inférieur à 20, il s'agit elle est généralement prise en compte lorsque Adx est supérieur à 25, le marché est en tendance, lorsque Adx est inférieur à 20, il s'agit d'un marché latéral. Cet indicateur ADX A combine deux indicateurs sur site : ADX pour identifier une tendance, et un indicateur VMA. Il s'agit d'un indicateur de moyenne mobile, est-à-dire une moyenne mobile variable Lorsque le marché connaît une forte tendance, l'indicateur VMA suit de plus près le prix, lorsque le marché est plat, ici, ici, ici, alors l'indicateur VMA qui fait partie de l'indicateur ADX VMA est plat et ne suit pas plat et Il s'agit simplement de stagner ou de suivre de moins près les mouvements de prix. Commençons maintenant à développer les stratégies section par section, et je vais expliquer le but et la logique de chaque section. Avant de commencer à élaborer la stratégie, je tiens à souligner que les stratégies que nous allons élaborer se composent de deux indicateurs, l' ADX VMA et l'indicateur de moyenne mobile Par conséquent, je vais expliquer comment la combinaison de ces deux indicateurs va nous donner un signal de trading que nous allons utiliser pour négocier pour démarrer n'importe quelle transaction dans le cadre de notre stratégie de trading. L'indicateur de moyenne mobile cette stratégie de trading sera utilisé pour identifier la tendance principale, et nous pouvons, si nous devons suivre la force et uniquement dans le sens de la tendance de la moyenne mobile, ouvrir la position correspondante. Qu'est-ce que cela signifie ? Par exemple, lorsque la moyenne mobile suit une tendance à la hausse, c'est-à-dire que la valeur de la moyenne mobile actuelle, cette ligne bleue est plus grande que la valeur moyenne mobile précédente C'est l'une des interprétations de la moyenne mobile, qui indique que la moyenne mobile est haussière, qu' elle a une tendance à la hausse, et inversement, lorsque la moyenne mobile a une tendance à la baisse, ce qui signifie que la position actuelle de la moyenne mobile est inférieure à la position de moyenne mobile précédente Cela pourrait indiquer que la tendance est à la baisse, et nous allons ouvrir les positions dans le sens de cette force sur la base du signal ADX VMA Nous allons baser notre décision de trading sur les deux indicateurs de cette stratégie de trading Moyenne mobile, qui est en bleu, et indicateur ADX VMA, qui est jaune, vert et rouge Je vais vous donner un exemple. Considérons ce domaine, par exemple. Comme vous le voyez, la moyenne mobile simple est en hausse et l'indicateur ADX est vert ici Cela signifie que l'indicateur de moyenne mobile est haussier parce qu' il a une tendance à la hausse, et que l'indicateur AD X est haussier parce qu' il est vert ici Par conséquent, à ce stade, nous pouvons ouvrir une position haussière Maintenant, il existe d'ailleurs une autre interprétation de la moyenne mobile. La moyenne mobile peut suivre une tendance à la hausse. C'est l'une des interprétations de la moyenne mobile. Une autre interprétation de la moyenne mobile peut être haussière lorsque le prix est supérieur à la moyenne mobile Par exemple, cette barre proche de cette barre représente lui et elle se trouve au-dessus de la ligne bleue au-dessus de la moyenne mobile, ce qui signifie que sur la base au-dessus de la ligne bleue au-dessus de la moyenne mobile, ce qui signifie que sur la base d' une autre indication indiquant que le prix est supérieur à la moyenne mobile, nous pouvons également ouvrir la position. Nous avons deux interprétations de la moyenne mobile. Lorsque le prix est supérieur ou inférieur à la moyenne mobile. Une autre interprétation de la moyenne mobile est lorsque la moyenne mobile suit une tendance à la hausse et à la baisse. Nous allons utiliser cette interprétation à la fois de la tendance de notre star commerciale. Commençons maintenant à élaborer notre stratégie de trading ADX VMA. Nous allons passer à Pine Editor. Nous allons cliquer sur le bouton Pine Editor. Ensuite, il suffit de cliquer sur Ouvrir et de cliquer sur la nouvelle stratégie. Nous commençons à développer la nouvelle stratégie de trading. Ensuite, nous allons insérer section par section dans l'éditeur de script Pine, et je vais expliquer ligne par ligne ce que fait chaque section et à quoi elle sert dans notre stratégie de trading. Commençons par insérer section par section. Tout d'abord, nous utilisons une fonction de stratégie pour identifier qu'il s'agit du schéma directeur de la stratégie, et elle comporte plusieurs paramètres de stratégie que nous avons définis dans notre stratégie. Tout d'abord, un relais est vrai, ce qui signifie que tous les lots seront superposés au-dessus du graphique principal Ensuite, nous avons un type de quantité par défaut, qui est un pourcentage des capitaux propres, puis la valeur quantitative est 100, ce qui signifie que nous allons utiliser pour chaque transaction l'intégralité du solde du compte virtuel de notre stratégie, et nous avons également un type de commission qui est un pourcentage, et nous avons également une valeur de commission, 0,1 %, ce qui signifie que nous allons déduire de chaque échange contre commission. La valeur de cette commission est de 0,1 % de la taille de la transaction. Dans la section suivante, nous avons tous les paramètres nécessaires à la définition de la stratégie. Tout d'abord, le type de commerce. Dans cette stratégie, vous ne pouvez négocier que des positions longues lorsque la valeur de la position longue est définie, et elle ne peut négocier que des positions courtes et des positions longues et courtes. Nous avons besoin de ce paramètre si nous voulons uniquement négocier des transactions longues ou courtes ou des transactions longues et courtes. Ensuite, nous configurons les trois paramètres liés à la moyenne mobile de tendance. Moyenne mobile des tendances, paramètres activés pour identifier quand nous activons la tendance lorsque nous prenons en compte la tendance dans nos signaux de trading de cette stratégie de trading ou non. La moyenne mobile des tendances peut être activée ou désactivée. Alors la tendance est de type moyenne mobile, la tendance O peut être une moyenne mobile de différents types. Il peut s'agir d'une simple moyenne mobile, selon notre sélection. Il peut s'agir d'une moyenne mobile pondérée ou d'une moyenne mobile exponentielle La valeur par défaut est la moyenne mobile pondérée. Ensuite, la période de moyenne mobile tendancielle, qui est une certaine valeur de la période de notre moyenne mobile. La valeur par défaut est 150. Ensuite, entrez une moyenne mobile supérieure ou inférieure à la tendance. Cela signifie que lorsque ce paramètre est activé, cela signifie que nous allons entrer dans la position dans notre stratégie. Uniquement lorsque le prix est supérieur ou inférieur à la moyenne mobile de la tendance. Ce paramètre est facultatif, il peut être activé ou désactivé. Les trois paramètres suivants sont liés à la sortie. Nous pouvons avoir différents types de sorties dans cette stratégie. Il pourrait disparaître lorsque la tendance est inversée. Cela signifie que les tendances haussières lorsque nous sommes entrés dans la position, et lorsque la tendance devient baissière, nous Ce paramètre est également facultatif, ce qui signifie qu'il peut être activé ou activé comme sortie de type Next lorsque le prix atteint le plus bas ou le plus haut du précédent. Barre de prix. Cette position, ce primate sont également facultatifs, nous pouvons l'activer ou le désactiver De plus, le type de sortie de la stratégie peut avoir des valeurs différentes. Il peut être à plat, ce qui signifie que lorsque ADX VMA devient plat ou jaune, comme je l'ai montré précédemment, nous pouvons quitter la position actuelle Ou lorsque l'ADX VMA est inversé, c' est-à-dire que nous sommes entrés dans la position longue, puis que l'AD X VMA devient baissier, devient rouge, puis nous sortons puis que l'AD X VMA devient baissier, devient rouge, devient rouge, Dans ce cas, c'est essentiellement logique qui est appliquée lorsque nous avons le type de sortie en sens inverse. Les trois paramètres suivants sont liés à l'indicateur ADX VMA. Tout d'abord, nous spécifiez la période pour ADX VMA, puis nous spécifiez les paramètres liés à la volatilité Période ADR de volatilité et multiplicateur de volatilité. C'est ce que nous avons dans le paramètre d'entrée, section de notre ADX VMA str La section suivante est liée aux fonctions que nous utilisons dans notre stratégie ADX VMA Utilisez ici une fonction, qui est get MA source. Cette fonction est chargée de nous renvoyer le type de moyenne mobile approprié. Dans notre stratégie, nous avons trois types de moyennes mobiles que nous utilisons MA, SMA et WMA, et nous allons utiliser cette fonction pour transmettre type de moyenne mobile et les paramètres de source et de période En retour, nous allons obtenir les moyennes mobiles MA, SMA, W MA correspondantes appropriées et attendues . Maintenant, insérons la section suivante de notre stratégie de trading, qui est la section relative au calcul de l'ADX VMA Il s'agit d'une section complexe où nous calculons l'indicateur ADX VMA Cette section utilise des indicateurs ATR utilisant MAX. La fonction MAX calcule les hauts et les bas du delta des mouvements de prix. En fin de compte, il calcule lui-même la moyenne mobile ADX VMA, que nous allons tracer sur cette ligne sur Et il calcule également la tendance ADX MA qui nous fournit un signal provenant de l'indicateur ADX mA signal soit haussier, plat ou baissier Lorsque la tendance ADX mA est nulle, cela signifie que le signal est plat ou qu'il n'y a aucune tendance Quand c'est un, c'est haussier, quand c'est moins un, c'est baissier Dans la sous-section suivante, nous calculons la moyenne mobile des tendances. Nous calculons les séries de moyennes mobiles des tendances elles-mêmes, en utilisant toutefois une fonction source. Ensuite, nous calculons certaines variables que nous allons utiliser dans notre logique de trading de tendance, hausse et tendance à la baisse. Variables, puis nous calculons le prix au-dessus moyenne mobile tendancielle ou le prix inférieur à la moyenne mobile tendancielle. Ensuite, nous traçons la moyenne mobile des tendances. Chaque fois que la moyenne mobile des tendances est activée, nous avons tracé Nous calculons également le breakout Barre breakout ou le breakout bull Nous avons besoin de cette variable pour calculer notre logique de sortie lorsque certains paramètres de sortie Et la section suivante et finale de cette stratégie de trading est la section de logique de négociation. Dans cette section, nous appliquons toute la logique de négociation nécessaire et nous effectuons tous les calculs nécessaires. Tout d'abord, ce que nous faisons, nous calculons l' état de longue durée en fonction indicateurs techniques et en fonction des paramètres de cette stratégie. Nous envisageons d'évaluer tendance ADX A, chaque fois qu' elle est haussière, et également chaque fois que la tendance MA est activée, puis nous évaluons où se situe la tendance à la hausse Cette logique calcule si la tendance est à la hausse ou non, et cette section ne sera prise en compte que, une seule tendance étant activée. O trend est désactivé, cette section est simplement ignorée, et elle sera toujours vraie. Et il en va de même pour cette section, lorsque l'entrée au-dessus de la tendance est vraie, prix supérieur à la tendance peut être pris sera évalué dans cette expression complète. Supposons, par exemple, que le trendem activé est faux et que l'entrée au-dessus et en dessous du trendem AA est fausse, alors toutes ces sections seront vraies, puis la logique des conditions longues dépendra uniquement de la tendance ADX Variable. Il s'agit d'une condition longue, façon dont nous calculons la durée de notre stratégie de trading. L'état court est le contraire de l'état long, généralement opposé. Par exemple, la condition de courte durée sera vraie lorsqu'un fil X est égal à deux moins un et selon que la tendance baissière ou le prix inférieur à la tendance MA est vraie, ces paramètres seront évalués en fonction de l'activation de l'entrée et du dessus en dessous de la tendance MA et activation de la tendance MA. Une condition de sortie dépendant des paramètres de la stratégie de tendance. Par exemple, si la sortie en cas de rupture basse ou haute est vraie, nous allons évaluer si une cassure baissière est Ensuite, selon que le type de sortie est plat, nous allons évaluer si ADX tn est égal à zéro M, ce qui signifie que ADX A est En fonction des paramètres, nous allons évaluer le signal correspondant à partir de la tendance à partir des indicateurs techniques. Par exemple, lorsque le type de sortie est inversé, nous allons évaluer si la tendance Adx MA est à la baisse. En fonction de cela, nous allons définir la condition longue de sortie sur true, et il en va de même pour le dernier paramètre et variable utilisés dans cette condition lorsque sortie sur l'inverse de tendance est vraie Ensuite, nous allons évaluer sur la base cette logique si la tendance est à la baisse ou non, et la logique opposée, principalement la logique opposée, est utilisée en cas de court-circuit de sortie. Ensuite, nous avons calculé les conditions techniques. Dans notre stratégie basée sur les indicateurs que nous avons utilisés. Ensuite, nous allons régler les signaux. Exit long short exit long ou exit short que nous allons utiliser afin permettre le trading selon notre stratégie de trading. Ce seront des variables haussières, et nous les définissons par défaut sur des fichiers Dans ce commutateur, nous allons définir l'une ou l'autre de ces variables en fonction de la condition. d'abord, cela dépendra du réglage de la variable disons long, cela dépendra de l'état long. Et si la stratégie actuelle est essentiellement inférieure ou égale à zéro, ce qui signifie que si la stratégie actuelle n'est pas longue et que la condition longue est vraie, alors la durée sera définie vrai et le contraire sur le court terme. Si la taille de la position actuelle est grande ou égale à zéro, signifie que la stratégie actuelle n' est pas courte actuellement. Et la condition courte est vraie, alors sa variable courte sera définie sur true. Pour la condition longue de sortie, lorsque la position actuelle est longue et qu'elle est longue lorsque la position stratégique actuelle est supérieure à zéro, signifie que la position actuelle est vraie. Une longue condition de sortie est vraie. Ensuite, la variable longue de sortie sera définie, et la logique opposée est celle de sortie courte. Nous avons maintenant défini les variables de nos signaux de trading. Nous allons maintenant exécuter des transactions en fonction de ces paramètres que nous venons de définir. Tout d'abord, nous allons nous assurer de quitter la position actuelle si paramètres correspondants sont définis. Chaque fois que la taille de la position est supérieure à zéro, est-à-dire qu'elle est longue et que nous avons un signal de sortie long. Ou nous avons une sortie. Nous avons un signal court, et les traits courts ne sont pas autorisés. Le type de transaction est égal à une condition longue. Lorsque cette condition est vraie, signifie que les positions courtes ne sont pas autorisées, ce qui signifie que seules les positions longues, longues et courtes ne sont pas autorisées. Lorsque la position est longue et que la sortie longue est vraie, ou nous avons un signal court et que le signal court n'est pas autorisé. Ensuite, nous fermons toutes les positions. Ou si la position actuelle est courte et que la sortie est courte est vraie, ou si nous avons un signal long et que le signal long n'est pas autorisé. C'est ce que fait cette condition. Les signaux longs ne sont pas autorisés, lorsque le type de transaction actuel est court, dans ces deux cas, dans ces deux cas majeurs, nous clôturons toutes les positions. Dans la section suivante, nous saisissons la position longue lorsque nous avons un signal long, et lorsque les positions longues sont autorisées, positions longues sont autorisées, lorsque le type de transaction n'est pas court. Et dans la section suivante, nous entrons en position courte. Chaque fois que c'est le cas, nous entrons en position courte dans cette entrée de points de stratégie linéaire. Mais nous ne le saisissons que lorsque variable short est vraie et que les shorts sont autorisés. Les shorts sont autorisés lorsque le type de transaction n'est pas long. Nous avons donc terminé le développement de la stratégie de trading ADX VMA Maintenant, sauvegardons ce script. ' en tant que suffixe personnalisé. Cliquez sur Enregistrer. Ajoutons maintenant le script au graphique. Maintenant, comme vous pouvez le constater avec les paramètres par défaut de la stratégie, elle fonctionne très bien pour le Bitcoin sur le graphique Bitcoin et génère 20 005 Passons maintenant en revue le fonctionnement de cette étoile sur le graphique et examinons les paramètres de cette étoile. Jetons un coup d'œil. Quels sont les paramètres de cette stratégie, un par un. Premier paramètre que la stratégie utilise le type de transaction, nous pouvons sélectionner si vous souhaitez négocier uniquement des positions longues, longues et courtes et uniquement des positions courtes. Il est certain que lorsque nous modifierons le type de transaction, le nombre de transactions changera. Par exemple, lorsque nous sélectionnons les transactions longues et courtes, nous pouvons constater que nous avons actuellement 41 transactions, mais restons longs. Nous avons 21 transactions uniquement pour les marchés longs et F qui, par exemple, ont une tendance à la hausse, principalement comme le Bitcoin En général, les performances sont meilleures lorsque vous ne sélectionnez que des transactions longues. Le paramètre suivant est la tendance activée. Lorsque ce paramètre est vérifié, la logique de négociation tiendra compte de la moyenne mobile tendancielle de cette stratégie. Nous pouvons le désactiver si vous n'en avez pas besoin, si nous n'avons pas besoin que cette moyenne mobile des tendances soit évaluée pour cette logique de trading, ou nous pouvons le maintenir activé. Type de moyenne mobile suivant, nous pouvons changer le type de moyenne mobile pour notre indicateur de moyenne mobile de tendance. Actuellement, la valeur sélectionnée est pondérée MA, mais nous pouvons la remplacer moyenne mobile exponentielle ou simple si nécessaire période de tendance suivante est la période de moyenne mobile tendancielle de notre stratégie. Le paramètre suivant est l'entrée sur une tendance inférieure. Lorsque ce paramètre est activé, seuls les traits supérieurs ou inférieurs à la moyenne mobile des tendances seront pris en compte. Par exemple, lorsque le trait est long, n'est que lorsque le prix est supérieur ou inférieur à la moyenne mobile moyenne mobile de tendance sera prise en compte. Ainsi, lors des suivis, lorsque le prix sera supérieur à la moyenne mobile de la tendance sera pris Et lorsque le trade est court, uniquement lorsque le prix est inférieur à la tendance MA. Ce n'est qu'alors que cela nous permettra de conclure des transactions courtes. Sortez en cas d'inversion de tendance. Cela signifie que lorsque ce paramètre est activé, la stratégie sera également supprimée lorsque la moyenne mobile des tendances sera inversée du long au court et d'une autre manière. Le paramètre suivant est la sortie lors de la précédente cassure de bas en haut, ce qui signifie que lorsque le prix atteint le plus bas et le plus haut précédents, la stratégie prend fin Le paramètre de type de sortie est responsable du type de stratégie qui sortira en fonction de l'indicateur ADX MA Lorsque l'indicateur ADX VMA s'inverse. Par exemple, lorsque nous avons une position longue et que l'indicateur devient baissier, stratégie prend fin. Lorsque nous avons un type plat, cela signifie que nous avons une position longue, mais lorsque l'ADX VMA devient plat ou jaune, stratégie disparaît Les trois paramètres suivants sont responsables de la définition des paramètres de l' indicateur de période ADX VMA Nous avons une période pour cet indicateur, volatilité AR et une période de volatilité multijoueur. Ces trois paramètres sont des paramètres utilisés par indicateur ADX VMA dans notre stratégie de trading Voyons maintenant comment cela fonctionne réellement sur le graphique de trading. Passons par exemple en revue cette section. Comme nous avons activé les tendances, cela signifie que lorsque la tendance est à la hausse, cette ligne verte, qui est la tendance MA dans notre étoile de trading, et lorsqu'elle est à la hausse, elle est verte, et lorsqu'elle est verte, les traits longs sont autorisés Parce que c'est vert, pour que nous puissions adopter notre stratégie, nous sommes autorisés à effectuer des transactions longues. Dans cette section, la stratégie est jaune, l'ADX MA est jaune, ce qui signifie plat, aucune transaction. Mais chaque fois qu'ADX MA passe au vert sur cette barre, Trend MA est également verte ici Ensuite, sur la barre suivante, nous établissons une position longue. Et nous conservons la position longue jusqu'à cette section, chaque fois que l'ADX VMA Lorsqu'il s'inverse, la couleur de l'ADX VMA devient rouge. Lorsqu'il devient rouge, il s'inverse, et par conséquent, nous fermons la position De cette façon, nous vérifierons si notre système de trading ADX VMA fonctionne comme prévu Pour résumer cette leçon, nous élaborons une stratégie de trading basée sur deux indicateurs, ADX VMA et J'ai expliqué la logique de chaque section de la stratégie et les paramètres de la stratégie. La stratégie permet d'ajuster les paramètres de ses indicateurs, définir différents types d'entrées et de sorties, ce qui permet d' adapter la stratégie aux différents marchés. C'est la fin de cette leçon, et je vous verrai dans la prochaine. 24. Leçon 24 - Créer une stratégie pyramidale multi-MA en pinceau: Bonjour, bienvenue dans cette leçon, sur création d'une stratégie pyramidale à moyennes mobiles multiples dans Pine Script Cette leçon comprend les sections suivantes. Introduction à la stratégie pyramidale à moyennes mobiles multiples stratégie pyramidale à moyennes mobiles Ensuite, j'expliquerai comment fonctionnent les indicateurs de moyenne mobile et les signaux de trading Ensuite, nous allons étudier comment créer une stratégie pyramidale à moyennes mobiles multiples en insérant des composants de cette stratégie , tels que des paramètres d'entrée, des fonctions personnalisées, des indicateurs, des calculs et une logique de négociation de stratégie Au final, nous passerons en revue paramètres de la stratégie. Commençons. Les stratégies que nous allons élaborer utilisent les cinq indicateurs de moyenne mobile. Et pour comprendre comment les signaux de trading sont générés par plusieurs moyennes mobiles, examinons cet exemple Sur cet écran, sur ce graphique, nous avons deux moyennes mobiles simples La ligne bleue représente la moyenne mobile de 99 périodes et la rouge la moyenne mobile de 20 périodes. Alors, comment le comportement de la moyenne mobile peut être interprété comme un signal de trading. Certains comportements peuvent être interprétés comme un signal de trading. Passons en revue certains d'entre eux. Par exemple, lorsque le prix passe du dessous au dessus de la moyenne mobile. Considérons d'abord le bleu. Lorsqu'il dépasse cette moyenne mobile, cela peut être interprété comme un signal long. Caractéristique suivante. Lorsque la pente de la moyenne mobile passe du bas vers le haut, ce comportement peut être interprété comme un signal de trading haussier, et les signaux de trading opposés fonctionnent pour le signal de trading baissier Ainsi, lorsque le prix passe en dessous, la moyenne mobile est dans ce cas une moyenne mobile, cela pourrait être interprété comme un signal baissier Lorsque la pente de la moyenne mobile change de haut en bas, comme dans cette section, ce comportement peut être interprété comme un signal de barrage. Maintenant, lorsque nous avons deux indicateurs de moyenne mobile sur le graphique, leur comportement peut également être considéré comme la source de certains signaux de trading. Par exemple, lorsque la ligne bleue qui se déplace rapidement passe au-dessus de la moyenne mobile rouge, la ligne rouge, comme dans cette barre, par exemple. Ce comportement, cet événement, peut alors être interprété comme un événement haussier, et inversement, lorsqu'un événement inverse se produit, lorsque la ligne bleue passe en dessous de la ligne rouge, lorsque la moyenne mobile rapide passe dessous de la moyenne mobile lente, alors cet événement, comme sur cette barre, peut être considéré comme un signal baissier Ces événements que nous allons utiliser dans notre stratégie que nous allons élaborer, sur la base de ces événements, nous allons essentiellement élaborer la stratégie et nous allons élaborer la logique commerciale de la stratégie. Quand cela va créer des transactions longues, quand cela va sortir des positions. Tout cela sera essentiellement interprété en fonction du comportement des moyennes mobiles Commençons par élaborer la stratégie de trading. Passons à l'éditeur Pine, créons la nouvelle stratégie et commençons à la construire. Tout d'abord, une stratégie de trading que nous allons construire et qui sera composée de plusieurs composants. Tout d'abord, insérons le composant lié aux paramètres d'entrée. Maintenant, la première ligne de la stratégie de trading est généralement une fonction de stratégie. Ensuite, nous indiquons le titre superposé cette stratégie : moyennes mobiles Nous allons tracer ces moyennes mobiles sur le graphique. Par conséquent, la superposition est vraie Ensuite, cette étoile sera essentiellement le type de quantité de cette stratégie de trading sera espèces et la quantité par défaut que j'ai sélectionnée ici 380$ Parce que nous allons partir d'une certaine position, puis passer à une position pyramidale. Nous allons augmenter la position tant que la stratégie de trading continue de nous donner le signal long. Par conséquent, la valeur de la quantité défectueuse est de 380, je choisis simplement ce chiffre, et le capital initial est le même et la pyramide est de 1 000$ Maintenant, nous avons d'abord les six paramètres de la stratégie liés à la période de négociation autorisée pour la stratégie. Dispose de deux dates, une date de début et une date de fin. Chaque date comprend trois paramètres, trois paramètres entiers, jour, mois et année, et pour la date de fin, nous avons le même jour, le même mois et la même année pour la date de fin. Nous avons besoin de ces paramètres si nous voulons continuer à négocier et tester stratégie pendant un certain temps Ensuite, nous calculons ici l'heure de début et fin en utilisant les paramètres que nous avons pour les dates de début et de fin. En gros, nous avons calculé selon certaines valeurs, heure de début et fin, et nous allons utiliser ces valeurs d'état temporelles dans notre logique de trading pour permettre à la stratégie de négocier pendant un certain temps Ensuite, calculez sur la barre de fin. Cela est nécessaire lorsque nous négocions la durée de vie de la stratégie. Lorsque vous définissez ce paramètre sur true, il ne sera échangé qu'à la fin de la barre. Il ne se négociera pas à chaque coche de la barre. Encore une fois, cela est lié au trading sur les barres en temps réel lorsque vous obtenez des ticks pour chaque transaction dans ces barres en temps réel. Si vous souhaitez négocier au bout de la barre lorsque celle-ci se ferme, ce paramètre est défini sur true. Ensuite, deux paramètres liés à la pyramidation. pyramidant, nous pouvons désactiver et échanger uniquement sans pyramidage dès le premier signal long, il va entrer dans la position et à la sortie, il va sortir de la Mais lorsque la pyramidation sera activée, elle continuera à s'ajouter à la position longue existante, chaque fois que la stratégie nous donne encore des signaux longs Et en pyramidant le montant de la commande, ce paramètre consiste essentiellement à stocker en nous fournissant la valeur pour laquelle nous augmentons notre position, valeur en dollars Maintenant, le paramètre suivant est le type de trading. Notre stratégie peut négocier une position longue, une position courte ou les deux, c'est configurable. Ensuite, nous avons la configuration de nos moyennes mobiles. Tout d'abord, type de moyenne mobile. Nous pouvons changer le type de nos moyennes mobiles dans la stratégie par défaut, c'est une régression linéaire, mais nous pouvons le changer en EMA et SMA S'il le faut, ensuite, nous avons Pi cinq moyennes mobiles Dans cette stratégie, MI 1 et ainsi de suite jusqu'à MI 5. Maintenant, vous pouvez activer ou désactiver ces moyennes mobiles, si vous souhaitez que certaines moyennes mobiles participent ou non à la logique de trading Si vous souhaitez les inclure dans la logique de trading, si vous souhaitez que les signaux de certaines moyennes mobiles soient vérifiés ou non, vous désactivez ou activez cette moyenne mobile. Par exemple, à l'heure actuelle, nous avons activé MA un et MA deux. Les trois autres moyennes mobiles sont désactivées. De plus, pour chaque moyenne mobile, nous avons configuré la période de toutes les moyennes mobiles Pour MA 1, par exemple, nous en avons sept, pour MA 2, nous en avons 13. Paramètre suivant, saisie à la clôture au-dessus de la moyenne mobile. Il s'agit du paramètre facultatif. Vous l'avez activé si vous souhaitez que la stratégie entre en position longue uniquement lorsque la clôture du prix est supérieure ou inférieure. S'il est supérieur à la moyenne mobile, il sera autorisé à entrer en position longue. Si ce paramètre est activé. Ensuite, nous avons les paramètres de sortie. Sortez sur une croix MA One. Par exemple, sortez sur MA une croix, ce qui signifie que lorsqu'une MA traverse lorsqu'une MA passe en dessous de MA deux, cela est considéré comme le signal de sortie. Si ce paramètre est activé, même logique pour la sortie sur une croix MA à deux. Lorsque ce paramètre est activé, et lorsque MA deux passe en dessous de MA trois, cela sera interprété comme un signal de sortie. heure actuelle, nous n'avons que MA une sortie, ce qui signifie que lorsque MA un passe en dessous de MA deux, il s'agit d'un signal de sortie. Nous avons également deux signaux de sortie inversés, MI un inverse, ce qui signifie que lorsque M un MI un signifie moyenne mobile une pente s'inverse, alors cela est considéré comme un signal de sortie Lorsque ce paramètre est désactivé, cela signifie que lorsque la pente du 1er mai baisse , il s' agit d'un signal de sortie. Lorsque ce paramètre est activé, ces deux paramètres sont actuellement désactivés. Ensuite, le paramètre est exit MA one price cross. C'est un paramètre lorsque ce paramètre est activé, lorsque MA un, lorsque MA un prix ferme en dessous de MA un, cela est considéré comme un signal de sortie, lorsque ce paramètre est activé. Vient ensuite le paramètre lié aux graphiques du graphique. Nous pouvons donc colorer les barres de certaines couleurs chaque fois que la stratégie a une certaine position. Actuellement, ce paramètre est désactivé, et c'est à peu près tout pour les Maintenant, insérons le deuxième bloc de notre stratégie. Allons-y ligne par ligne, et je vais expliquer ce que fait chaque ligne de ce bloc. Il s'agit de fonctions personnalisées que nous utilisons dans notre stratégie. Pourquoi utiliser des fonctions personnalisées ? Parce que lorsque nous voulons réutiliser un certain bloc de code encore et encore, il est logique de placer ce bloc dans une fonction et d'appeler cette fonction chaque fois que nous en avons besoin. La première fonction est vraie sur n bar. Cette fonction est utilisée chaque fois que nous voulons nous assurer qu'elle renvoie essentiellement vrai lorsque cette condition est vraie et lorsque la fin de la barre est conférée. Ceci est utile lorsque vous souhaitez que, sur une barre en temps réel, la stratégie ne soit exécutée que lorsque la barre en temps réel est terminée. Pas sur tout, lorsque la barre en temps réel est terminée. Ensuite, chaque fois que Sers on passe au-dessus de la série deux, cette fonction renvoie true, barré, et un Sers on passe la série deux, passe en bas, un Sers on passe en bas de la série C'est ce que fait cette fonction. Lorsque cela se produit, cette fonction renvoie la valeur true. Heure activée, cette fonction vérifie l'heure début à celle que nous avons déjà calculée ci-dessus, et cette fonction retournera vraie, chaque fois que la stratégie permet de prendre des positions lorsque le trading sur la stratégie est autorisé. Lorsque la stratégie est atteinte, lorsque le temps imparti est écoulé, une période de négociation de la stratégie. Prends la certitude. Cette fonction calcule pour nous la moyenne mobile Pendant que nous passons les points faibles, nous passons le type et la période de moyenne mobile, et cela renverra certaines séries d'une certaine moyenne mobile Nous avons trois types de moyennes mobiles dans notre stratégie : MA, SMA et régression linéaire. Nous utilisons ces moyennes mobiles dans cette stratégie, et nous allons utiliser cette fonction pour calculer ces moyennes mobiles Insérons maintenant le bloc suivant dans notre stratégie. Le bloc suivant sera consacré aux calculs des indicateurs. Nous avons des paramètres liés à nos indicateurs de moyenne mobile. Nous devons maintenant calculer ces indicateurs à l'aide de ces paramètres. Donc, tout d'abord, nous calculons les cinq moyennes mobiles en utilisant une fonction source get MA Nous passons près, nous passons le type MA et nous passons la position correspondante à la période correspondante de la moyenne mobile. Par exemple, pour calculer MA un, on passe MA une période, et piéger pour calculer la moyenne mobile MA cinq, on passe MA cinq période. Dans ce bloc, nous avons calculé nos moyennes mobiles. Dans le bloc suivant, nous commençons à calculer les signaux , que nous allons utiliser dans notre logique de trading. MA one up signifie que la moyenne mobile nous fournit trading haussier, un signal de trading haussier Dans cette stratégie, nous considérons nous avons une règle selon laquelle la moyenne mobile, première moyenne mobile, se comporte comme une moyenne mobile de brousse La moyenne mobile un est supérieure la moyenne mobile, la barre précédente de moyenne mobile deux, pas la barre actuelle moyenne mobile deux, mais la barre précédente moyenne mobile deux, mais la barre précédente moyenne mobile deux, pourquoi ? Parce qu'ils veulent que le signal soit déjà établi à 1 barre et que le signal opposé soit abaissé pour le MA. MA un est inférieur à deux par rapport à la barre précédente. Logique similaire : A deux vers le haut est considéré comme supérieur lorsque MA deux est plus grand que le MA trois d'une barre précédente, et une logique opposée pour MA deux vers le bas. Cependant, mais pour MA trois pour MA trois, nous n'utilisons déjà que la moyenne mobile MA trois, MA trois considérée comme positive, ce qui signifie que MA trois nous donne un signal haussier Lorsque le prix actuel du MA trois pour ce MA trois calculé est supérieur au M trois précédent, la barre précédente de MA trois. MA trois est une moyenne mobile de trois, et le signal opposé pour MA trois est une moyenne mobile de trois vers le bas. M quatre est identique à MA trois, c'est considéré comme positif, donc cela donne un signal haussier lorsque le MA quatre de la barre actuelle est supérieur M quatre de la barre précédente Signal opposé pour M pour le bas. Ensuite, la variable Next est proche de A. Nous utilisons également cette variable dans notre logique de négociation ci-dessous. Lorsque la clôture est supérieure à la moyenne mobile 1, cette variable sera vraie. De plus, lorsque le prix est inférieur à la moyenne mobile, cela se produit lorsque la clôture est inférieure à un. deux variables suivantes sont calculées de la manière suivante. Lorsque MA un est bloqué, il se redresse lorsque la valeur actuelle de MA un pour la barre actuelle est évidemment supérieure à celle de MA un de la barre précédente Et c'est la logique inverse pour le MA, une tendance à la baisse, et c'est exactement la même logique. MA deux a une tendance ascendante lorsque le courant est présent, MA deux pour la barre actuelle est supérieur à MA deux de la barre précédente, et MA deux une tendance vers le bas ont une logique opposée Ensuite, nous traçons toutes les moyennes mobiles que nous avons calculées de MA un à A cinq C'est ainsi que fonctionnent les calculs pour ces moyennes mobiles, et nous avons également calculé signaux que ces moyennes mobiles nous fournissent, afin que nous puissions utiliser les signaux, ces variables pour élaborer notre logique de trading Ensuite, insérons la logique de négociation de notre stratégie de trading. Dans notre logique de trading, tout d' abord, nous calculons la position, pourquoi nous calculons la position parce que nous voulons voir si notre stratégie nous donne la position longue ou la position longue ou courte, ou sortie de la position longue ou la position courte, ou si elle nous donne simplement un signal plat. La raison pour laquelle nous ne calculons pas les signaux tout de suite, mais nous calculons la position parce que la position peut devenir, par exemple, longue et peut rester longue pendant un certain temps. Mais pour le signal, nous voulons voir quand la position devient disponible, puis exécuter la transaction. Mais lorsque la position continue d'être longue, nous n'allons pas entrer dans une nouvelle position. Si nous ne faisons pas de pyramides, mais lorsque nous les pyramidalisons, c'est une autre histoire. Je l'expliquerai un peu plus tard. Voyons comment fonctionne ce bloc. Tout d'abord, nous initialisons essentiellement ces variables. En gros, nous n' allons pas changer, et nous l'utilisons comme constantes ici. position d'inondation est égale à zéro, longue à un, courte moins un, etc., et nous initialisons la position à flood Ensuite, nous avons un interrupteur ici, selon la logique, cet interrupteur va revenir en position longue, en position courte, position longue, en position courte ou à la barre précédente. Passons maintenant en revue longuement. Toute cette logique est donc transmise sur la barre de fin. Cela signifie que même si vous transmettez l' expression entière si elle est transmettez l' expression entière si elle est vraie et uniquement sur la barre de fin, cette fonction renverra vrai parce que nous voulons nous assurer que sur une barre en temps réel, cette expression ne sera vraie que sur la barre de fin, 1 barre est confirmée. Maintenant, nous devons vérifier si le temps est activé, puis nous devons vérifier si la position précédente n'est pas longue, car nous voulons voir si cette position longue n'était pas longue auparavant, mais maintenant elle le devient. Pour vérifier si la position actuelle devient longue, nous commençons maintenant à vérifier si notre moyenne mobile est activée pour le savoir. MA un activé et MA un MA un plus, nous l'avons calculé plus tôt. Alors ce blocage sera fondamentalement vrai. Ensuite, nous vérifions si MA deux est activé, puis si AA deux est activé, alors ce sera le cas, nous allons vérifier si MA deux est activé. Cela signifie que MA un ou MA deux, etc., ces variables ne seront vérifiées dans cette expression que lorsque le togal correspondant est activé Sinon, voici les variables qui seront ignorées. Par exemple, si seul MI 1 est activé, alors tous les MA deux, MI trois a et c seront ignorés, ils ne seront pas utilisés dans cette expression, car c'est à cause de la façon dont nous construisons cette logique. Dans notre cas, par exemple, MI 1 est activé et MA 2 est également activé. Ce sera cette expression qui redeviendra vraie chaque fois que MI un plus et MA deux plus haut. Et inscrivez également en haut ou en bas. Ce paramètre est activé, allons-y. Nous l'avons ici. Ce paramètre est activé. Cela signifie que cette expression vérifiera si la clôture est supérieure à A une moyenne mobile. Et dans ce cas, cette expression redeviendra vraie dans son intégralité et la position sera longue. Nous n'allons prendre qu'une position longue dans cette stratégie. Par conséquent, nous nous intéressons essentiellement à la position longue et à la sortie longue. Mais la logique du short est similaire à celle du long, mais dans certains cas, c'est une logique opposée, car nous envisageons le MA en baisse, MA deux en baisse, etc. Donc, quand cette position va être quittée. Quand il doit renvoyer exit long, il va renvoyer exit long, lorsque la position précédente est longue et selon les paramètres, si, par exemple, sortie sur aA une croix est activée, alors lorsque MA one down revient vrai, alors elle passe en position de sortie. Lorsque nous avons la sortie sur MA Two Cross, elle est activée. Ensuite, la position sera quittée lorsque A deux points de moins sera vrai Voyons quels paramètres de sortie nous avons activés. Nous n'avons activé que la sortie sur MA une croix, ce qui signifie que lorsque MA un traverse MA deux ci-dessous, nous quittons la position. Maintenant, et logique similaire, mais opposée, mais inversée pour sortir de la position courte Si aucune de ces expressions n'est vraie, ce commutateur renvoie la position, la valeur de la variable de position de la barre précédente. Il va le garder. Insérons maintenant le bloc suivant dans notre stratégie de trading. Et ce sera le dernier bloc. Dans ce bloc, nous effectuons des calculs supplémentaires dans notre logique de négociation Nous calculons maintenant les signaux. Signaux longs calculés de la manière suivante. La position actuelle que nous avons calculée ici est longue, mais soit la position précédente est pas, soit la pyramidation est activée pyramidation est activée, ce qui signifie que nous voulons continuer à ajouter à la position actuelle tant que la position, que nous avons calculée ci-dessus, est longue Nous allons continuer à ajouter une position longue croissante chaque fois que la position calculée est longue. Quand ce ne sera pas long, ce ne sera pas une pyramide. Et la logique similaire mais inversée pour les courts métrages. Quand il va sortir , le signal sera vrai chaque fois que la position est longue, mais que la position précédente n' est pas longue. Lorsque vous quittez uniquement la position longue, uniquement lorsqu'elle devient une position longue de sortie, cette variable sera vraie. Sur la ligne suivante, nous calculons une expression pour déterminer à quel moment nous fermons toutes les positions. Nous fermons toutes les positions lorsque la position est essentiellement, lorsque nous avons une position longue, ce qui signifie que la taille de la position est positive, et lorsque nous avons un signal long de sortie, ou lorsque nous avons un signal court, chaque fois que les courts métrages ne sont pas autorisés. Cette expression est vraie. Lorsque nous avons une position courte et que la position courte n' est pas autorisée, les positions courtes ne sont pas autorisées lorsque vous avez le type long, n'est-ce pas ? Ou chaque fois que vous avez une taille de position négative, ce qui signifie que vous avez en fait une position courte et que vous quittez un signal court ou que vous êtes fondamentalement long et non autorisé, mais que vous avez un signal long établi. Cela signifie que la stratégie peut toujours générer le signal court, mais que vous ne pouvez pas négocier le signal court. En gros, non, cela vous donne un signal court de sortie, signaux courts sont autorisés, mais une stratégie vous donne le signal long, mais les signaux longs ne sont pas autorisés, donc vous quittez simplement la position. Maintenant, sur la ligne suivante, nous calculons la quantité de l'entrée de position. La quantité est calculée de la manière suivante. Si le pyramidage est activé et que le montant de l'ordre pyramidal est positif Cela signifie que nous pyramidons, que la pyramidation est activée. Tous les paramètres sont définis. Ensuite, si la position actuelle n'est pas nulle, ce qui signifie que nous avons une position, alors la quantité sera calculée en divisant le montant pyramidal À prix de clôture. De cette façon nous calculons la quantité pour la pyramidation, mais lorsque la pyramidation est désactivée, nous allons simplement diviser tous les capitaux propres de notre stratégie par le cours de clôture De cette façon, nous calculons la quantité de position pour entrer dans la nouvelle position longue. La quantité est supérieure à zéro, alors si nous avons un interrupteur en fonction de ce signal, nous allons entrer en position longue ou courte. Nous allons entrer dans le long long chaque fois que nous avons un signal long et les longs sont autorisés par type de transaction. Les positions longues sont autorisées lorsque le type de transaction n'est pas court et que la logique ba inverse similaire pour le signal court. Dans la dernière ligne et dans cette stratégie de trading, chaque fois que la barre de couleur est activée, nous allons colorer les barres en vert chaque fois que la position est longue et en rouge, chaque fois que la position est courte et en jaune chaque fois que la position est plate. J'ai expliqué comment cette chaîne, ligne par ligne, était la logique de cette stratégie. Maintenant, sauvegardons-le. Appelons donc cela une stratégie pyramidale multiple A personnalisée. Sauvegardons la stratégie. C'est enregistré. Maintenant, ajoutons-le au graphique. Vers le graphique. Supprimons la moyenne mobile simple dont nous n'avons plus besoin maintenant. Nous voyons maintenant que notre stratégie génère des bénéfices et que nous avons plus de 200 traits. Nous avons 660 % de bénéfices. Nous avons un très bon facteur de profit supérieur à cinq. Nous avons un taux de réduction de 23 %. Voyons comment fonctionne réellement notre étoile. Jetons un coup d' œil aux paramètres. Nous avons activé la pyramidation, ce qui signifie que chaque fois que la stratégie nous donne un signal long , nous allons continuer à ajouter des positions, comme ici Une stratégie qui nous envoie de longs signaux et nous continuons à pyramidaliser. Nous ne cessons de compléter le poste existant. Maintenant, ce que nous avons ici, c' 1 est activé et le NMA 2 est activé et le NMA 2 Nous avons également une entrée au-dessus de la moyenne mobile. Cela signifie que chaque fois que la proximité est supérieure à la moyenne mobile MA. Désactivons une seconde la pyramidation. Nous pouvons maintenant voir que nous avons une ligne bleue, qui est M un, nous avons la ligne marron, qui est MA deux, et nous avons une ligne MA trois, qui est une ligne marine Ici, nous avons un long signal. Pourquoi avons-nous un long signal ici ? Parce que tout d'abord, comme le prix est supérieur au MA, nous avons cette règle ici, l'inscription ci-dessus en dessous de MA. Deuxième condition, la deuxième condition que nous avons est que MI 1 soit activé, ce qui signifie que MI 1 devrait être actif. Il devrait être plus grand que le MA deux précédent. MA deux positions précédentes. Nous avons reçu un signal ici et les deux précédents se trouvent ci-dessous. Cette condition est satisfaite et nous avons donc également activé MA deux. Cela signifie que la moyenne mobile MA deux est supérieure à MA trois barres précédentes, MA trois barres précédentes. Nous avons donc reçu un signal ici et nous sommes entrés ici. Ici, nous voyons que barre précédente de MA est en fait en dessous d'ici. C'est ainsi que nous avons vérifié la logique ici avec ces paramètres. Maintenant, chaque fois que nous activons la pyramidation, nous pouvons constater que la stratégie continue de nous donner des signaux longs et nous continuons ajouter le montant fixé ici, 380$, et ici également Ici, nous n' avons aucun signal, et il n'y a pas de pyramide ici Tant que toutes les règles de trading nous donnent le signal long, la stratégie commence à se pyramidaliser. En conclusion, nous avons développé dans cette leçon une stratégie de trading avec cinq indicateurs de moyenne mobile et plusieurs règles de négociation qui peuvent être activées ou désactivées. La stratégie dispose d'un mode pyramidal configurable qui permet d'augmenter efficacement la position sur le tapis de négociation. C'est la fin de la leçon et je vous verrai dans la prochaine. 25. Leçon 25 - Créer la stratégie ultime MACD en pinceau: Bonjour, et bienvenue dans cette leçon, sur la création de la stratégie ultime pour MacD dans Pine Script Cette leçon comprend la section suivante, Introduction de la stratégie ultime de MacD Ensuite, j' expliquerai l'interprétation des signaux de trading pour les indicateurs MacD , ADX et DI Ensuite, nous étudierons les composants de la stratégie ultime de MGD, tels que les paramètres d'entrée, les fonctions personnalisées, calculs d' indicateurs, la logique de négociation de stratégie, comment configurer les transactions stop loss et profit take, ainsi que comment tracer les signaux de trading Au final, nous allons revoir les paramètres de la stratégie. Commençons donc. Cette stratégie de trading utilise donc des indicateurs de trading gratuits. Il utilise l'indicateur de trading Mac D, l'indicateur ADX NDI et l'indicateur de trading de moyenne mobile Avant de commencer à appliquer ces indicateurs à notre stratégie MD Ultimate. Je vais expliquer l'interprétation des signaux de trading de ces indicateurs et comment nous allons appliquer ces signaux de trading dans notre stratégie. Il s'agit, comme vous le voyez ici, d'un indicateur McD. L'indicateur McDE est appelé indicateur de divergence de convergence en moyenne mobile divergence de convergence en moyenne Il s'agit d'un indicateur technique populaire et polyvalent utilisé sur les marchés financiers. MacD est un indicateur de momentum qui suit les tendances et montre la relation entre deux moyennes mobiles du prix des actifs Quelle en est l'interprétation ? Comment il est utilisé dans le trading, l'indicateur Made. L'indicateur Mag a une ligne Magd, qui est bleue dans notre cas, une ligne orange, qui est une ligne de signal, et un histogramme L'interprétation habituelle de cet indicateur est la suivante. Les signaux de trading peuvent être lus à partir de cet indicateur. Par exemple, lorsque la ligne Mg D traverse la ligne de signal. ligne bleue passe au-dessus de la ligne de signal, qui est une ligne orange. Ensuite, c'est considéré comme un signal d'éclair, et en sens inverse, chaque fois que la ligne bleue Magd dessous de la ligne orange, la ligne de signal Ceci est considéré comme un signal baissier. De même, l'histogramme, chaque fois qu' un histogramme devient positif, au-dessus de zéro, c'est positif Lorsqu'il devient positif, lorsqu'il devient vert dans notre cas, c'est considéré comme un signal haussier Le contraire est vrai et il devient négatif, rouge dans notre cas, alors cela est considéré comme un signal baissier C'est ainsi que les signaux de trading de MGD sont utilisés. Pour le trading. Passons maintenant en revue l'indicateur ADX qui est également utilisé dans cette stratégie ultime pour Mac D. L'ADX est l'indicateur d'indice directionnel moyen. Est un indicateur technique utilisé dans l' analyse technique pour déterminer la force de la tendance dominante. Comme vous le voyez, cet indicateur comporte trois lignes ici. La ligne rouge est la ligne ADX. Cela indique la force de la tendance. Cela indique la force d'une tendance haussière ou baissière. Quand il augmente, cela signifie que la tendance est à la hausse. La force de la tendance augmente, quelle que soit la tendance haussière ou baissière Normalement, il y a un certain seuil que l'on se fixe Lorsque la ligne AD X est supérieure à 20, 25 ou 30, on considère que la tendance est forte. Et lorsque le seuil de vente de 20 est moins certain, la tendance est considérée comme faible. De plus, il y a deux autres lignes dans cet indicateur, la ligne bleue est une ligne di plus, la ligne di positive et la ligne orange est une ligne di négative. Lorsque la ligne I plus est au-dessus de la ligne di moins, la tendance est considérée comme broussailleuse et le contraire est vrai. Lorsque la ligne di moins est au-dessus de la ligne I plus, la tendance est considérée comme baissière. Voici comment nous pouvons utiliser ce signal de trading. Et si vous combinez ces trois lignes, comment les utiliser simultanément. Lorsque l'ADX est supérieur à 20 et que le DI plus est supérieur à di moins, cela est considéré comme une forte tendance haussière Par exemple, dans notre cas, s'il est supérieur à 20 et que le bleu est supérieur à l'orange, c'est quelque part par ici. C'est le début de la tendance haussière dans notre cas. C'est ainsi que nous pouvons utiliser les signaux de trading des indicateurs ADX et Mac D. Dans notre stratégie de trading, nous allons combiner ces deux indicateurs signaux de trading) et les appliquer simultanément, ou de manière sélective en fonction de la façon dont nous configurons les paramètres de notre stratégie. Maintenant, ce que nous allons faire, c'est commencer à créer la stratégie ultime de Magda Je vais insérer les composants des blocs de cette stratégie. Je vais expliquer comment fonctionne la stratégie. Insérons le premier bloc de ce bloc. Stratégie ultime élaborée. Nous avons inséré le premier bloc où la stratégie a défini les paramètres d'entrée. Étudions ligne par ligne ce que fait ce bloc. abord, nous spécifiez la fonction str et les paramètres pour les fichiers str str title, lay, ce qui signifie que str sera tracé sur le dessin situé sous le graphique principal Après cette stratégie, pourcentage des capitaux propres, ce qui signifie que nous allons allouer un certain pourcentage des fonds propres de notre stratégie chaque transaction. Le paramètre suivant est la valeur de la quantité par défaut, soit 100 % des fonds propres. Nous allons nous concentrer sur la précision de chaque transaction, c'est-à-dire le nombre de chiffres après le point. Avec cette précision, nous allons afficher les prix sous forme d'étiquettes, capital initial de 1 000$ et type de commission et la valeur 0,1 % sur chaque transaction seront consacrés à la commission Nous voulons donc que notre test b de la stratégie génère résultats aussi réalistes, y compris Nos prochains paramètres d'entrée. La stratégie comportera des paramètres de date de début et de date de fin. Chacune de ces dates possède des paramètres de valeurs entières pour le jour, la bouche et l'année. En configurant ces paramètres, nous pouvons autoriser notre stratégie à se négocier sur une certaine période. Vient ensuite un type de transaction. type de transaction permet à la stratégie de basculer entre différents types de transactions pour être autorisée à négocier Il se peut que la stratégie puisse négocier sur des transactions longues, uniquement des transactions courtes ou à la fois sur des transactions longues et courtes. Ensuite, nous avons trois indicateurs dans notre stratégie qui vont générer des signaux pour nous et nous allons combiner ces signaux pour générer des transactions dans notre stratégie. Et pour utiliser ces trois indicateurs, nous devons spécifier certains paramètres pour ces indicateurs. Pour Mac D, nous aurons besoin du type de moyenne mobile MacD, du type de moyenne mobile du signal, du type de moyenne mobile lissage du signal et du type de ligne de signal Tout d'abord, chaque moyenne mobile utilisée par MacD sera optionnelle et utilisera l'une des options que nous avons définies pour ce type de moyenne mobile Le type de moyenne mobile que nous utilisons pour notre MGD est MA ou régression linéaire ou pondérée Par défaut, Mac Dee utilise donc MA pour le type de moyenne mobile interne. Mais nous l'avons défini comme facultatif pour ce type de moyenne mobile. Il pourrait utiliser une régression linéaire si nous le voulons ou une moyenne mobile pondérée. Il en va de même pour le type Mac DMA, le type signal MA et le type MA de lissage du signal Et ce dernier paramètre et ce bloc de type ligne de signal type de ligne de signal, c' est-à-dire quel signal sera utilisé dans nos transactions. Le Mag D peut générer plusieurs types de signaux que nous allons utiliser pour les transactions. Il peut s'agir d'un clignotant au-dessus ou en dessous d'un signal, d'une croix lisse, de Magd ou d'un histogramme Par exemple, histogramme, lorsque le signal d' histogramme est utilisé, lorsque l'histogramme devient positif, il est Le négatif est un baissier. Mais nous allons passer en revue ces options ci-dessous dans notre code Pine Skept Viennent ensuite les périodes de notre MGD. Longueur du signal rapide et lente et lissage du signal. Toutes ces périodes sont configurables via des paramètres de stratégie, et nous allons utiliser ces paramètres pour configurer notre indicateur MGD Le bloc suivant de deux paramètres concerne notre paramètre de moyenne mobile de tendance. Nous avons Mac D, nous avons une moyenne mobile de tendance et nous avons AD X. Pour configurer notre moyenne mobile de tendance, nous avons deux paramètres, le type de moyenne mobile, qui est L, et la régression une période de moyenne mobile pondéré A et une période de moyenne mobile. Ensuite, nous bloquons ensuite, nous spécifiez les paramètres de notre indicateur ADX NDI Cet indicateur prend les paramètres suivants. Période ADX, seuil, tendance activée ou désactivée, type MA lissant et période ADX Smooth Tous ces éléments sont utilisés pour configurer l'indicateur ADX DA. Ensuite, nous avons deux paramètres de règles de saisie. Entrée dans la tendance, nous pouvons donc activer ou désactiver la transaction si vous souhaitez entrer la transaction dans notre stratégie chaque fois que la tendance est haussière ou Ou nous pouvons simplement désactiver cet indicateur et ne pas l'utiliser dans notre signal de trading combiné dans notre stratégie L'introduction suivante est l'entrée sur Mac De au-dessus ou en dessous du signal. Il s'agit d'un autre togal que nous pouvons activer ou désactiver si nous voulons que notre entrée se fasse chaque fois que McD est au-dessus ou dessous de la ligne de signal de notre indicateur Magd Ensuite, il y a les paramètres des règles de sortie, c'est-à-dire que nous pouvons les activer ou les désactiver. C'est à ce moment que nous voulons quitter la stratégie, lorsque la ligne de signal traverse. Quand McDe traverse la ligne de signalisation. Dans ce cas, lorsque nous allons sortir de notre stratégie, nous allons générer et sortir du commerce. Nous pouvons également activer ou désactiver ce paramètre de stratégie. Ensuite, nous allons configurer le take profit et le stop loss pour notre stratégie, et pour ce faire, nous avons ces deux paramètres qui spécifient le pourcentage de stop loss et le pourcentage de take profit. Ensuite, une transaction par direction, nous pouvons définir notre stratégie pour n'effectuer qu'une seule transaction par direction, car ce qui pourrait arriver, c'est que la stratégie peut générer un signal de trading. Par exemple, un signal de trading haussier, et après cela, un autre et un autre Si vous ne voulez prendre qu' une seule direction commerciale. Nous pouvons définir ce paramètre sur true. prochain ensemble de paramètres concerne les paramètres liés au tracé de certains indicateurs sur notre graphique Nous pouvons les activer ou les désactiver en fonction de ce que nous voulons voir sur notre graphique Si nous voulons afficher la ligne Mac Deal ou afficher une ligne de signal ou ne pas les afficher, nous pouvons activer ou désactiver ces paramètres Nous pouvons également faire passer ce paramètre à une barre de couleur par position. Par exemple, si nous avons une position longue, les barres seront colorées de certaines couleurs, et nous pouvons désactiver ce paramètre si nous n'en avons pas besoin. Insérons maintenant ce deuxième bloc dans nos fonctions personnalisées str. Les fonctions personnalisées sont des fonctions que nous allons utiliser à de nombreuses reprises dans notre stratégie. Par conséquent, ces fonctions sont très utiles car elles raccourciront notre code de script Pine et le rendront plus efficace. La fonction croisée est une fonction Ce qu'elle fait, c'est vérifier si le SS 1 passe au-dessus du SSB, et le contrôle inverse est effectué en croix Fonction down, SS one passe en dessous de SSB. Donc, ce sont deux variables qui sont utilisées dans cette fonction. Le type de ces variables est sérieux. Est-ce une fonction chronométrée. Nous utilisons cette fonction pour vérifier si la stratégie est autorisée à négocier, elle vérifie l'heure de début que nous calculons ici, nous utilisons des paramètres d'entrée qui définissent la stratégie, les dates de début et de fin. Cette fonction utilise ces paramètres afin signaler à la stratégie si elle est autorisée à négocier. C'est vrai sur la barre de bout. Cette fonction est donc importante pour trader lorsque vous négociez sur la barre en temps réel, car vous voulez vous assurer que la barre est terminée, que l' état de la barre est conféré, est-à-dire que la barre est terminée. La dernière coche de la barre est exécutée. Pour ne pouvoir négocier qu'une seule fois sur les barres en temps réel. Dessiner une étiquette, c'est dessiner des étiquettes et obtenir une source MA. Cette fonction est utilisée plusieurs fois lorsque nous voulons renvoyer un certain type de moyenne mobile. Il peut s'agir de A, d'une MA pondérée ou d'une régression linéaire. Insérons maintenant le bloc suivant, qui sera un bloc de calculs d' indicateurs. Dans ce bloc, nous allons calculer nos indicateurs en utilisant les paramètres de la stratégie. Le premier indicateur est l'ADX et le DI. Cet indicateur, nous le calculons à l'aide de certaines fonctions, et nous calculons la plage, nous calculons Di plus di minus pour cet indicateur Ensuite, nous calculons le di plus lisse, di moins lisse, et enfin, nous calculons le di plus di moins lui-même pour un dx et un dx et Adx Nous calculons toute cette valeur. Pourquoi ? Nous les avons calculés parce que nous allons enfin calculer si cet indicateur fournit un signal haussier ou baissier Nous le faisons ici. Après avoir calculé le dx smooth, nous calculons ici une tendance haussière dx, et nous calculons la tendance haussière Adx si di plus est supérieur à di moins, et Adx smooth est supérieur à un dx lisse sur les barres précédentes, Un ADX smooth est supérieur au seuil, ce qui signifie une forte tendance haussière Dans ce cas, une variable de tendance Dx bu sera vraie et dans le sens inverse, nous calculons une tendance baissière Dx en utilisant une logique opposée Ensuite, nous calculons tendance à l'affaiblissement et la tendance aux inondations. Ensuite, nous calculons le McDE. Pour calculer le McDE nous devons calculer la moyenne mobile rapide pour le McDE et la moyenne mobile lente pour Nous utilisons la fonction source t MA pour cela et nous transmettons type de moyenne mobile, la longueur rapide et la longueur lente. Ensuite, nous calculons la ligne McDe McDE, l'histogramme de la ligne de signal et Ensuite, nous calculons si l'histogramme est abo et monte ou descend en dessous de zéro Nous en aurons besoin pour changer les couleurs de McDE Ultimate Indicateur. Ensuite, nous calculons certaines variables pour indiquer si le McDE est réellement en hausse ou en baisse et signalons que, en cas de hausse ou de baisse, nous allons les utiliser, nous allons les utiliser pour vérifier si l'indicateur MacD est haussier Ensuite, nous calculons les couleurs de McD de MacD et des lignes de signal, puis nous traçons tous les graphiques de notre indicateur MacD, tels que la ligne Magd, la ligne de signal, la ligne de lissage et l'histogramme d' histogramme, ainsi que la ligne McD de MacD et des lignes de signal, puis nous traçons tous les graphiques de notre indicateur MacD, tels que la ligne Magd, la ligne de signal, la ligne de lissage et l'histogramme d' histogramme, ainsi que la ligne zéro. Nous calculons également la moyenne mobile des tendances, car il s'agit du troisième indicateur que nous utilisons dans notre stratégie, puis nous avons calculé deux variables, si la moyenne mobile des tendances est à la hausse ou à la baisse. De cette façon, nous avons simplement couvert le bloc de calcul sur trois indicateurs de notre stratégie, ADX, Mc D et la moyenne mobile des tendances Insérons maintenant le bloc suivant de notre stratégie ultime de Magda, qui sera un bloc avec une logique de trading Étudions ce bloc. C'est là que nous utilisons et appliquons tous les signaux de trading de ces indicateurs de trading, ADX, MGD et la moyenne mobile des tendances, et nous utilisons tous les signaux, nous les combinons et générons les signaux de trading pour notre stratégie Dans ce commutateur, nous vérifions le paramètre du type de ligne de signal, et en fonction de cela, nous pouvons utiliser une logique de négociation différente. Nous générons et calculons entrées longues et les entrées courtes dans quelle portée de ce commutateur, mais en fonction du type de ligne de signal, nous le calculons différemment. Dans notre configuration actuelle, nous utilisons le signal ci-dessus pour le réglage ci-dessous. Pour ce réglage, nous calculons une entrée longue chaque fois que ligne de signal suit une tendance ascendante, signal actuel est supérieur au signal précédent, et éventuellement, lorsque Magd est au-dessus de Magdne est au-dessus de la ligne de signal, chaque fois que cette entrée de drapeau sur Magd au-dessus du signal inférieur est activée et Mais par exemple, dans d'autres cas, lorsque nous utilisons ce type de ligne de signal avec une option différente, par exemple, lorsqu'il est égal au virage du signal. Dans ce cas, nous calculons une saisie très longue sera vraie. Chaque fois que le signal a une tendance à la hausse, mais auparavant, il était à la baisse En gros, le signal tourne. Cela nous donne une variété de signaux de trading en fonction de la configuration. Ensuite, dans ce bloc, nous calculons la position de notre stratégie de trading. Nous avons défini certaines valeurs par défaut pour cette position et certaines valeurs par défaut pour les variables utilisées pour ce calcul de position Notre position peut être plate, courte ou longue ou courte pour la sortie. Cette position peut donc être considérée comme une position et une position mémorisées jusqu'à ce que la position soit modifiée. En gros, voyons comment cette position est calculée, position de notre stratégie. Nous utilisons Switch ici. Et la position sera longue chaque fois que ce blocage sera vrai. Mais ce blocage est vrai, lorsque tout d'abord, temps est activé, ce qui signifie le temps pour les transactions est accordé à la stratégie. Et la position précédente n'est pas longue et la saisie longue est vraie, nous avons calculé l'entrée longue dans ce bloc. Une saisie longue est vraie, puis nous vérifions plusieurs indicateurs, plusieurs togals de notre stratégie, et en fonction de cela, nous appliquons une logique supplémentaire Par exemple, si une direction d' échange p est définie, nous devons utiliser cette règle. Sinon, ce bloc ne l'utilisera pas. Chaque fois qu'il est défini sur true, la position précédente ne doit pas être la position longue de sortie. C'est ainsi que nous appliquons une direction à la hausse. Par exemple, selon une autre règle, si nous voulons utiliser l' entrée de règle sur la tendance de la moyenne mobile, la tendance à la hausse doit être vraie. Mais voyons où nous calculons la tendance MA à la hausse. Nous avons calculé ici. Cela signifie que la tendance MA est à la hausse parce que la tendance M est plus grande que la tendance de la barre précédente Et la même logique pour AD X. Chaque fois que vous souhaitez ajouter une condition supplémentaire à partir de l'indicateur AD X, tendance haussière d'ADX doit être vraie n'est que lorsque cette expression entière est vraie que le commutateur renvoie la position longue. Pour les positions courtes, la logique opposée est utilisée. Deux autres retours de ce commutateur seront sortie en position longue ou la sortie en position courte. Une logique est utilisée chaque fois que nous voulons que notre stratégie soit durable. Par exemple, lorsque nous voulions sortir en position longue, nous voulions que la position précédente de la stratégie soit longue. sur la position précédente, chaque fois que c'est long, nous pouvons simplement utiliser une certaine logique, puis il est possible la position suivante de la stratégie soit exit long. Nous allons sortir chaque fois que la stratégie génère le signal d'entrée court que nous avons calculé précédemment. Et ou lorsque ce distal est activé et que nous avons une croix de division vers le bas Ce signal sera vrai chaque fois que McDe traversera la ligne de signal Et cette condition ne sera vérifiée que lorsque la sortie sur Mac D Signal Line Cross est vraie. Enfin, il y a fondamentalement une autre condition ici. I Cette condition est vraie. Cette condition signifie que si p est long, s'il est précédent si la position sur la barre précédente est longue ou courte, conservez-la, puis affectez-la à la position actuelle, position précédente, est-à-dire conservez-la, sinon position sera défectueuse C'est ainsi que cette position de la stratégie est calculée. Affirmons maintenant le principal bloc logique de négociation. Dans ce bloc, nous calculons les signaux de trading qui seront exécutés par notre stratégie afin de calculer les signaux de trading finaux Nous devons calculer les signaux de trading intermédiaires de la position actuelle de la stratégie que nous avons calculée ici. Lorsque, par exemple, la position devient, elle reste longtemps dans cette variable. Mais pour les signaux, nous avons besoin d'une barre exacte chaque fois que cette position devient longue ou courte, ou qu'elle génère un signal de sortie long ou court de sortie. Par conséquent, ce que nous faisons ici, c'est calculer un ensemble de variables. Pour les valeurs longues, courtes, longues et courtes, nous calculons à quel moment exactement cette barre correspond, lorsque la position devient longue , courte, longue ou courte. Pour ce faire, nous avons calculé chaque fois que la position est actuellement longue et que la position précédente n'était pas longue, la même logique pour tous les autres signaux. De cette façon, cette variable sera vraie, uniquement sur la barre, chaque fois que la position passe à long, court, exit long ou exit short. Suivant. Après cela, ce que nous faisons ici, c'est que nous calculons les signaux réels. En utilisant ces signaux, nous allons réellement appeler et générer les transactions de stratégie. Pour un signal long, par exemple, nous allons le définir sur true chaque fois que la position longue est vraie et que le type de négociation est défini pour autoriser les transactions longues. Le type de transaction peut être long, court ou long et court. Tant que le type de transaction n'est pas court et que la position longue est vraie, un signal long sera généré. Cela signifie que le type de transaction n'est pas court, ce qui signifie que le type de transaction est long ou long et court, ce qui signifie que le type de transaction long est autorisé. Même logique appliquée, mais opposée au signal court, et pour le signal long de sortie, par exemple, nous allons générer un signal long de sortie final chaque fois que la taille de la position de la stratégie est importante. Ce paramètre intégré est en fait positif, qui signifie que la stratégie est réellement longue, sa position est positive et position longue de sortie est vraie, ce que nous avons calculé ici. Ou le signal de position courte est vrai et le type de transaction est long. Nous devons appliquer cette condition car chaque fois que nous avons une position courte générée. Cependant, les shorts ne sont pas autorisés car le type de transaction est long, alors nous allons en sortir, sans entrer en position courte parce que les shorts ne sont pas autorisés, mais en sortant Position longue et logique similaire à Simral dans le signal court de sortie Ces signaux nous ont été assignés. Ensuite, nous avons un opérateur de commutation qui, en fonction du signal exécutera la stratégie, soit des signaux longs ou courts fermés, soit des signaux longs et courts d'entrée de stratégie. Voici comment nous saisissons réellement des transactions dans notre stratégie à l'aide de signaux calculés. Insérons maintenant le dernier bloc dans ce bloc de stratégie qui calcule le stop loss, les prix, le take profit, les prix et la configuration des transactions pour ce stop loss et ce take profit. Commerce. Comment est-ce fait. En gros, pour avoir dans notre str, un stop loss, un rate. Nous devons calculer le prix du stop loss. Afin de calculer le prix du stop loss, nous devons d' abord vérifier si le pourcentage de stop loss est réellement défini, vérifier si le pourcentage de stop loss car s'il est nul, cela signifie qu'il est désactivé. S'il est défini, s'il n'est pas égal à zéro, nous calculons si prix moyen est réellement supérieur à zéro, ce qui signifie que nous avons réellement une position. Ensuite, nous calculons le prix du stop loss ci-dessous, évidemment le prix moyen de notre position. Il s'agit du prix moyen de notre position, et nous utilisons le pourcentage de stop loss pour calculer le prix inférieur au prix moyen ce pourcentage spécifié dans le pourcentage de stop loss calculé. Pour réaliser des bénéfices, nous utilisons une logique similaire. Nous vérifions si nous avons une position réelle si prix moyen est supérieur à zéro, puis, en utilisant le prix moyen et pourcentage de profit que nous avons calculés ici, nous appelons prix de prise de profit supérieur au prix moyen actuel pour ce pourcentage de prise de profit que nous avons calculé. Nous avons calculé ces deux prix, et nous avons configuré le trade de sortie à l'aide de la fonction de sortie par points de stratégie, laquelle nous avons spécifié le prix stop loss attribué au paramètre stop et le prix de prise de profit assigné pour limiter au paramètre limite pour cette sortie par points de stratégie. Fonction. Et nous allons appeler cette fonction chaque fois que nous aurons défini ce prix de prise de profit et prix stop loss lorsqu' ils ne sont pas disponibles, alors ce qui va se passer, c'est que nous fixons ces prix et chaque fois que le prix de notre marché atteint le prix stop loss, qui est inférieur au cours actuel inférieur au cours moyen de la position que nous avons, alors le trade stop loss sera exécuté. Ou chaque fois qu'il atteint le niveau du prix de prise de profit, la limite de vente fondamentale pour cette stratégie sera exécutée et la position sera clôturée si cette position actuelle est longue. Les derniers blocs de notre stratégie sont ceux où nous tracons les flèches sur la stratégie, indiquant chaque fois que nous entrons dans la transaction longue ou sortons de la transaction longue, ou que nous entrons dans la transaction courte ou que nous sortons de la transaction courte. Donc, en gros, nous utilisons différentes couleurs. Pour le signal long, nous utilisons la couleur citron vert et pour le signal long de sortie, nous utilisons la couleur Fuj CA Maintenant, sauvegardons notre stratégie et appliquons-la au graphique. Nous sauvegardons notre stratégie. Alors appelons-le personnalisé, et enregistrons-le. Notre stratégie est sauvegardée. Ensuite, ajoutons-le au graphique. Passons maintenant en revue les paramètres de notre stratégie et veillons à ce qu'elle fonctionne comme prévu. Regardons les paramètres. Tout d'abord, nous voulons nous assurer que type de ligne de signal sélectionné est le signal ci-dessus ci-dessous. Pour ce type de signal, les traits sont pris lorsque la ligne de signal monte et dépendent également de cette entrée de paramètre sur Magda ci-dessus et ci-dessous. Si elle est cochée, une condition supplémentaire est ajoutée, et lorsque le Mag D est au-dessus de la ligne de signal, jetons un coup d'œil. Dans notre graphique. Pour de tels cas. Vous voyez que notre beau Mg De est tracé sur cette colonne vertébrale, car vous voyez qu' il est coloré d'une certaine façon, afin que nous puissions le voir chaque fois que la pente change Par exemple, cette ligne est la ligne Mg De, c'est une ligne plus rapide. Cette ligne est la ligne de signal, c'est une ligne plus lente. Ces barres sont des histogrammes. Chaque fois que la pente change, la couleur de ces deux lignes change également. Chaque fois que la pente monte , le Mg De est vert, lorsqu'il arrête de descendre, il devient rouge. Pour la ligne de signal, lorsque la ligne de signal monte, la couleur est l'acier. Chaque fois qu'il commence à tomber, la couleur est orange et la logique est la même pour les histogrammes Quand ils sont en hausse, d'une seule couleur quand ils descendent, nous utilisons des couleurs différentes et de même chaque fois que les histogrammes sont inférieurs à zéro, ils ont une couleur rougeâtre, ce qu' Maintenant, examinons les signaux. Comme vous le voyez ici, nous avons tracé deux types de flèches ici Flèche de couleur citron vert et flèches de couleur Fucans Fuchs. La couleur citron que les flèches indiquent chaque fois que notre stratégie nous donne le signal d'entrée long. Pour la flèche colorée en pied de page, lorsqu'elle est abaissée, cela signifie que la stratégie indique la sortie de la position Maintenant, nous devons également nous en assurer pour vérifier quels autres signaux sont définis en ce moment. Actuellement, nous avons inscrit notre entrée sur la tendance MA. Actuellement, pour la tendance MA, nous utilisons une régression linéaire et 100. J'ai ajouté ici l'un de mes indicateurs super MA qui possède ce type de moyenne mobile, une régression linéaire configurée, afin que nous puissions voir l'indicateur réel sur le graphique que nous utilisons dans notre stratégie MG Ultimate avancée. Vous voyez ici la régression linéaire 100. Ainsi, chaque fois que la pente de cette régression linéaire augmente, la couleur est verte, chaque fois qu'elle baisse, la couleur est rouge. Parce que cette tendance pourrait être origine de notre stratégie MGD Par conséquent, les traits seront pris chaque fois que la pente augmentera. Par exemple, examinons cet exemple. Ce que nous voyons ici. La ligne de signal de couleur sarcelle a commencé à s'élever ici, et le magdee est au-dessus du Vous voyez que cette magdee verte est au-dessus du signal bleu sarcelle. Ensuite, nous avons un signal ici, et aussi parce que le thème de la tendance est à la hausse. Prenons un autre exemple. Nous voyons ici leur tendance à la baisse. C'est rouge. Par conséquent, même la ligne de signal augmente et le Mg D est supérieur. Aucune transaction n'est prise. Aucune caractéristique n'est prise dans la stratégie Mag De car la tendance est à la baisse. Examinons maintenant d' autres paramètres notre stratégie Mag De. Nous avons ici la tendance ADX qui est jusqu'à présent désactivée. Actuellement, la stratégie consiste à désactiver les conditions ADX. Mais lorsque nous ajoutons des conditions ADX, la stratégie se comportera différemment. Les signaux qu'il va être généré seront différents car il doit également vérifier l' état de l'ADX , ainsi que d' autres conditions, tendances et conditions issues des indicateurs Mg. Il faut un comportement alkyde. Nous devons jeter un œil au testeur de stratégie du magasin. Nous pouvons voir maintenant ce que nous avons ici. Aucun testeur de stratégie. Nous avons ici 87 traits et 5 millions à cent pour cent. Voyons ce qui va changer si nous ajoutons une condition supplémentaire à notre stratégie avec les signaux publicitaires. Vous constatez que les performances de la stratégie ont changé. Nous avons moins de traits. Nous en avons 87, maintenant nous avons moins de transactions et nous avons moins de profits. De plus, nous avons moins de prélèvement, le prélèvement est essentiellement calculé au moment où la perte est la plus importante par rapport à votre plus grand profit possible Maintenant, plus ce prélèvement est préférable, comme vous le voyez, chaque fois que nous désactivons ADX, prélèvement augmente, ce qui n' est pas Chaque fois que nous activons, le prélèvement diminue, ce qui est une bonne chose. Cependant, les bénéfices diminuent également, mais le nombre de transactions diminue également. Le facteur de profit augmente, ce qui est une bonne chose. Le facteur de profit est calculé en divisant le bénéfice total de la stratégie par la perte totale. Ceci n'est qu'une illustration lorsqu'il s'agit de la flexibilité de cette stratégie. Lorsque vous utilisez cette stratégie, vous pouvez activer désactivation de certains indicateurs imbriqués dans cette stratégie afin d'optimiser les performances de votre stratégie sur le marché sélectionné En conclusion, dans cette leçon, j'ai montré comment développer stratégie de trading avancée avec trois indicateurs, Mac D, ADX, NDI et moyenne mobile Nous avons appris à combiner les signaux de plusieurs indicateurs et à les utiliser pour générer des transactions dans le cadre d'une stratégie. La stratégie développée peut être appliquée à différents marchés commerciaux. En ajustant divers paramètres de stratégie et appliquant de manière sélective les indicateurs de stratégie. C'est la fin de cette leçon, et je vous verrai dans la prochaine 26. Leçon 26 - Aperçu des alertes en indicateurs et stratégies en pinceau: Colon, bienvenue dans cette leçon. Je passe en revue les alertes contenues dans les indicateurs et les stratégies de Pine Scree. Cette leçon comprend les sections suivantes. Dans la première section, je vais vous présenter Allerts in trading view, Pine scri dans les trois sections suivantes Je vais passer en revue les différents types d' alertes, les alertes utilisant la fonction d' alerte, les alertes utilisant la fonction de condition d'alerte et les alertes dans les stratégies relatives à un événement de commande La dernière section de cette leçon est consacrée au résumé d' Allerte. Commençons. Les alertes Trading View fonctionnent 24 heures sur 24, 7 jours sur 7 sur les serveurs, indépendamment du fait que l'utilisateur soit verrouillé ou non. Les utilisateurs peuvent créer et configurer des alertes via l'interface utilisateur des graphiques, en utilisant le formulaire de dialogue Créer une alerte. Il existe différents types d'alertes, y compris les alertes génériques de dessin et de script qui sont appelées à partir d'un script et configurées comme n'importe quelle alerte dans le formulaire de dialogue de création d'alerte. Les alertes de script déclenchées par une fonction d' alerte ou une alerte de condition d'alerte nécessitent un code de script de ligne spécifique dans le script Pour mieux comprendre les différents types d'alertes et comment les configurer et les utiliser. Examinons le tableau de cette diapositive qui décrit trois types d' alertes dans les indicateurs et les stratégies Vous voyez dans ce tableau, il existe trois types d'alertes, et leurs propriétés peuvent être visibles Le premier type d'alerte utilise la fonction d'alerte. C'est ce qu'on appelle la fonction Allert from script. Pour cette alerte, pour ce type d'alerte, nous devons utiliser un appel de fonction d'alerte depuis un script. Voici un exemple de fonction at. Alerte Ensuite, nous spécifiez le message d'alerte, et le paramètre suivant est la fréquence de l'alerte. Dans cet exemple, nous pouvons voir que nous avons spécifié un appel de fonction d'alerte. Nous avons spécifié que la dernière barre est ouverte, qui est le message d'alerte, et le deuxième paramètre est fréquence du point ert 1/bar de fermeture Il s'agit de la fréquence des alertes. Il peut également avoir des réglages tels que pour toutes les fréquences, elles peuvent également être toutes ou 1/bar. Ce type d'alerte utilise la fonction d' alerte ainsi tous les autres types d'alerte Ils ont besoin d'une configuration qui peut être saisie, qui peut être configurée à l'aide du formulaire de dialogue de création d'alerte. Il ne suffit pas d'avoir un appel de fonction d'alerte dans le script. Vous devez également créer une configuration d' alerte à l'aide du formulaire de dialogue de création d'alerte. Les trois alertes nécessitent toutes une configuration qui sera associée à l'appel d'alerte depuis le script, ou comme dans le cas d'une stratégie avec le script lui-même. Il faut également mentionner que le type d'alerte qui utilise un appel de fonction d'alerte peut être utilisé dans les indicateurs et dans les stratégies. Type d'alerte suivant utilisant la condition d'alerte. Voici ce que nous avons pour ce type d'alerte, il faut préciser dans le script l'appel de condition d'alerte La fonction de condition d'alerte comporte trois paramètres. Nous spécifions d'abord la condition après cette condition lorsque cette condition sera déclenchée. Ensuite, nous indiquons le titre de l'alerte, puis le message d'alerte Voici un exemple d'appel de condition d'alerte. Tout d'abord, nous spécifions la condition si la fermeture est plus grande que l'ouverture. ne sera déclenchée que lorsque cette condition est vraie alerte ne sera déclenchée que lorsque cette condition est vraie. Le deuxième paramètre est dans ce cas, l' alerte sur la barre verte. Il s'agit du titre de l'alerte, le dernier étant le message d'alerte. La marque d'éclatement de la barre verte est un message d'alerte. Vous spécifiez donc cet appel dans le script, puis vous créez configuration d'alerte à l'aide du formulaire de dialogue de création d'alerte, puis vous pouvez utiliser cette alerte dans l'indicateur Dans les stratégies, condition d'alerte n'est pas utilisée et n' est pas censée être utilisée. Le dernier type d'alerte de ce tableau est un type d'alerte d'événement par ordre de stratégie. Mais ce type d'appel, comme vous le voyez dans ce tableau, peut être utilisé que dans des stratégies. Pour que ce type d'appel soit déclenché, il n'est pas nécessaire d' utiliser une fonction dans le script de stratégie. De plus, cette fonction nécessite certainement une configuration à l'aide du formulaire de dialogue d'alerte de taux, et la numérotation sera déclenchée par une stratégie chaque fois que position change dans la stratégie et ordre dans la stratégie est rempli Nous avons examiné les trois types d'alertes, la fonction d'alerte, l' alerte utilisant la fonction de condition d'alerte et l'alerte d'événement de remplissage des ordres de stratégie considérations importantes Je dois mentionner certaines considérations importantes concernant l'utilisation des alertes . abord, le code de script Pine associé aux alertes ne crée ni n'exécute directement une alerte Cela crée simplement un événement d'alerte. Le formulaire de dialogue d'alerte créé pour la configuration peut être configuré pour utiliser les événements d'alerte du script afin que l'alerte soit exécutée et réellement affichée. deuxième point est que les alertes se déclenchent dans des barres en temps réel, limitant les fonctionnalités du code de script Pine aux seuls scénarios en temps réel En d'autres termes, les alertes ne seront exécutées que sur des barres en temps réel Ils ne seront pas exécutés dans des bars historiques. Enfin, lors de la création d'un formulaire de dialogue Create Au. Il s'agit d'un exemple de formulaire de dialogue Create Allur accessible lorsque vous cliquez sur ce bouton d'horloge sur l'écran du superchart, puis que vous associez les alertes que vous avez configurées dans le script ou dans la stratégie elle-même Associez ces stratégies ou tout autre script utilisant des alluts cette configuration d'alerte spécifique créée à l'aide du formulaire de dialogue At create Lors de la création d'une alerte, l'aide du formulaire de dialogue de création d'alerte, Trading View enregistre un instantané du symbole des entrées et de la période sur ses serveurs Les modifications ultérieures du graphique et des scripts associés n'ont aucune incidence sur les alertes en cours existantes. Vous devez supprimer et créer des alertes pour que les modifications prennent effet. En d'autres termes, une fois que vous avez créé une alerte, une fois qu'elle est enregistrée, vous pouvez modifier le script associé à une alerte, vous pouvez modifier le graphique actuel sur un écran de super graphique Cela n'affecte pas l' alerte que vous avez créée. Passons maintenant en revue un exemple de configuration d' alerte à l' aide de la fonction d'alerte Dans cet exemple, vous pouvez voir que nous avons un script. Il peut s'agir d'une stratégie ou d'un indicateur car vous pouvez utiliser la fonction d'alerte dans une stratégie ou un indicateur. Dans ce script, vous avez deux appels à la fonction d'alerte chaque fois que la fermeture est supérieure à la valeur ouverte, votre dernière barre est une alerte ouverte qui sera appelée une fois par barre fermée, chaque fois que la fermeture est inférieure à l'ouverture, une autre alerte sera déclenchée avec le message. La dernière barre est abaissée et la fréquence se ferme une fois par barre. Nous avons créé ces deux appels d'alerte. Mais pour que l'alerte soit exécutée, nous devons créer une configuration d'alerte créer un formulaire de dialogue d'alerte. Nous associons ensuite cette configuration aux alertes du script. Une dernière chose que je dois mentionner chaque fois que vous avez un script à associer à la configuration des alertes, vous devez ajouter ce script au graphique Ensuite, vous définissez une condition pour tout ce que vous devez faire pour sélectionner le script par nom de script dans cette condition. Boîte combinée. Ensuite, vous sélectionnez essentiellement la sous-condition. Dans ce cas, vous pouvez choisir de sélectionner pour ce cas les appels à la fonction d'alerte. Parce que dans la stratégie, vous pouvez avoir différents types d'alertes. Dans notre cas, nous voulons associer fonction d'alerte à cette configuration d'alerte. Par conséquent, nous sélectionnons l'appel de fonction Aalert. Ensuite, nous avons défini la date d'expiration de notre configuration d'alerte, et nous avons configuré le nom de l'alerte Une fois que nous avons cliqué sur Créer, la configuration des alertes sera définie et active. Et puis, chaque fois qu'un script se déclenche, et chaque fois que ce script se déclenche, vous recevrez une notification d'alerte Voyons maintenant comment configurer les notifications pour les alertes à l'aide de la fonction aert Comme vous le voyez ici, nous avons deux onglets : paramètres et notifications afin de configurer le type de notification que vous souhaitez recevoir. Vous cliquerez sur l'étape de notification, et vous obtiendrez ces paramètres. Comme vous le voyez dans cette étape, vous pouvez configurer différents types de notifications ou n'importe quelle combinaison de ces notifications. Le premier est notific I par notific notify in app, ce qui signifie que vous pouvez télécharger l'application mobile Trading View sur votre appareil mobile, et chaque fois que cette option est activée, vous recevrez un message de notification de votre application mobile Chaque fois que cette alerte est exécutée. Ensuite, afficher la fenêtre contextuelle, ce qui signifie que sur le site Web de la plateforme de vue du trading, chaque fois que cette alerte est exécutée, vous recevrez un message avec la notification de l'alerte, troisième paramètre envoie un e-mail. Vous recevrez un e-mail si vous avez ce paramètre send e mail activé ce paramètre send e mail chaque fois qu' Alert est exécutée URL du webhook, cela signifie que chaque fois qu'une alerte est exécutée, une certaine URL sera appelée Et cela est généralement utilisé chaque fois que vous devez appeler une certaine URL associée à votre compte de courtage, chaque fois que vous avez créé un lien, chaque fois que vous avez chaque fois que vous devez lier cette alerte à votre compte de courtage pour exécuter transaction sur votre compte associé à cette Le paramètre suivant est maintenant le son de lecture. Vous pouvez sélectionner le type de son lorsque cette alerte sera exécutée. Vous pouvez également configurer le pour être averti par SMS, chaque fois que vous envoyez un e-mail à un SMS. Le paramètre est activé. Voici comment configurer les notifications pour Allert. Passons maintenant en revue un autre type d' à l'aide de la fonction de condition d'alerte Dans cet exemple, dans cet indicateur, nous avons défini deux codes de condition d'alerte. Par exemple, lors du premier appel de condition d'alerte, nous avons une condition chaque fois que la fermeture est plus grande que l'ouverture, puis nous avons une alerte de titre sur la barre verte et le message sur la barre verte marque d'escalade. Une autre condition d'alerte chaque fois que la fermeture est inférieure à l'ouverture, alors nous avons le titre de cette alerte sur la barre rouge, et le message est une marque d'escalade à barre rouge. Notre indicateur indique deux conditions d'alerte. étape suivante, afin d' exécuter cette alerte, elle sera toujours exécutée avec la configuration de l'alerte Set Tap à configuration de l'alerte Set Tap l'aide du formulaire de dialogue Create At Dans ce formulaire, nous sélectionnons notre indicateur. Nom : exemple de condition d'alerte, puis nous sélectionnons la condition d'alerte spécifique. Nous avons deux conditions d'alerte et nous ne pouvons en sélectionner qu'une. Si vous souhaitez configurer une autre condition d'alerte, vous devez configurer une autre configuration d'alerte. En d'autres termes, pour chaque condition d'alerte, appelez votre script, appelez votre script, vous devez configurer une configuration d' alerte distincte à l'aide de la quatrième boîte de dialogue de création d'alerte. Le paramètre suivant est un déclencheur, vous ne pouvez le spécifier qu'une seule fois. Chaque fois que vous souhaitez que cette alerte soit déclenchée chaque fois que l'alerte est déclenchée Spécifiez-vous le moment où vous souhaitez que l' alerte soit réellement exécutée ? Une seule fois par barre, par barre de fermeture ou une fois par minute. Comment cela fonctionne, chaque fois qu' une condition d'alerte est déclenchée, puis que cette condition est vérifiée. L'alerte ne sera exécutée qu'une seule fois, à une barre de fermeture, etc. Le paramètre suivant est l'expiration, vous de spécifier à quel moment vous souhaitez que cette alerte expire Ensuite, vous définissez le nom de l'alerte et le message d'alerte. Sur cette diapositive, vous pouvez voir l'exemple d'alerte. Comme vous le voyez dans ce message d'alerte, c'est ce que nous allons réellement obtenir. Il s'agit d'une notification que nous recevons sur le site Web de la plateforme de visualisation des transactions lorsque ce type d'alerte est exécuté. Vous êtes donc alerté sur le type de graphique utilisé sur D. De cette façon, vous savez sur quel marché cette alerte est déclenchée Ensuite, nous recevons une alerte de barre verte. Il s'agit du nom de notre alerte, puis nous recevons le message d'alerte, la barre verte, et nous obtenons l'heure de l'alerte. Voici un exemple de la façon dont vous configurez une alerte à l'aide de la fonction de condition d'alerte. Enfin, voyons comment configurer alerte pour un événement de traitement des commandes dans la stratégie. Ici, nous avons une stratégie simple qui est créée et ajoutée au graphique. Ensuite, nous cliquons sur cette horloge avec le bouton d'alerte plus afin d'ajouter la configuration config ert à cette stratégie. Lorsque nous faisons cela, nous obtenons cette configuration d'alerte. Formulaire. Ensuite, nous devons sélectionner le script. Dans ce cas, un script de stratégie. Stratégie, stratégie tout sur commande, sensation d'événement, oui, ne peut être créée que pour les stratégies. Par conséquent, nous sélectionnons la stratégie dans cette condition. Boîte combinée. Ensuite, nous définissons la date d'expiration de tout ce que nous spécifions pour le paramètre suivant, et nous spécifions le message d'alerte. Ce message d'alerte peut utiliser certaines variables situées entre crochets doubles. Vous pouvez utiliser les paramètres de stratégie tels que l'action des ordres, le nombre de contrats, la position, la taille. Vous pouvez également spécifier l'heure de clôture du prix et certains autres paramètres, et ces paramètres seront convertis dans le texte chaque fois que cette alerte sera exécutée et affichée. Et l'alerte stratégique sera déclenchée. Dans la stratégie, chaque fois qu'un événement de remplissage d'ordre se produit, un événement commande se produit, chaque fois que la position de la stratégie change. Par exemple, les achats stratégiques, certains contrats ou actions, la vente certains contrats, l'arrêt ou fermeture de toutes les positions, les changements de position, stratégie déclenche un événement, et chaque fois que vous vous êtes associé à la configuration de l' alerte de stratégie, l'alerte sera exécutée et vous serez averti Pour résumer cette leçon, nous avons expliqué comment configurer et utiliser des alertes avec des fonctions d'alerte et de condition d'alerte, ainsi événement de champ de commande dans la stratégie de script Pine Nous avons également appris que les alertes s'exécutent sur le serveur, que l'utilisateur soit connecté ou non, et qu'il modifie le code ou le graphique après la configuration et le démarrage de l'alerte. Enfin, nous avons étudié comment configurer les notifications d'alerte. C'est la fin de cette leçon, et je vous verrai dans la prochaine. 27. Leçon 27 - Comment paramétrer et utiliser les alertes avec la fonction alerte: Bonjour, bienvenue dans cette leçon, comment configurer et utiliser les alertes avec la fonction Allert Cette leçon comprend les sections suivantes. Dans la première section, je vais vous présenter alertes utilisant la fonction Allert Ensuite, deux sections sont consacrées à une étude pratique expliquant comment mettre à jour le script Pine et ajouter des appels de fonction Allert dans ce script Pine Dans la section suivante, je vais montrer comment configurer une alerte avec le dialogue de création d'alerte. Et associez cette configuration d'alerte aux alertes du script Pine Dans la dernière section, je vais résumer comment utiliser l'alerte avec la fonction d'alerte Commençons donc. Utilisons cet indicateur simple pour montrer comment utiliser les alertes avec la fonction d'alerte Cet indicateur trace différents types de colonnes, comme vous le voyez sur ce graphique, selon que la barre est en haut, en bas ou plate. Chaque fois que la barre des marchés est en bas, elle trace une colonne rouge, chaque fois que la barre des marchés est en haut, elle trace une colonne verte, chaque fois que le marché est plat, elle trace une colonne de couleur grise. Comme vous le voyez dans cet indicateur, nous avons cette fonction de commutation qui renvoie la direction de la barre. Chaque fois que barre vers le haut, il renvoie un, chaque fois que barre vers le bas, il renvoie moins un Sinon, lorsque le marché glisse, il renvoie zéro et, en fonction de la direction de la barre, il trace une colonne de couleur différente. Supposons que nous voulions créer une auto pour chaque barre, chaque barre ayant une couleur différente dans cet indicateur, et indiquer dans cette alerte si la barre est en haut, en bas ou à plat Il est donc pratique de placer cette alerte dans différentes conditions dans cette fonction de commutation Nous savons que chaque fois que la barre est levée, elle en renvoie une. Il est donc avantageux pour nous de créer un appel d'alerte dans ces conditions. C'est ce que nous allons faire. Faisons fonctionner l'alerte automatique Configurons un message ici Le massage sera le dernier bar, c'est terminé. La dernière barre de massage est terminée. Après cela, nous devons spécifier la fréquence. Comme vous le voyez, nous pouvons fréquenter chaque fois que cela sera déclenché. La fréquence peut être égale à 1/bar ou proche de 1/bar. Utilisons 1/barre de fermeture. Copions ceci. Et insérez ce paramètre ici. Maintenant, cette alerte va être déclenchée chaque fois que la fermeture est supérieure à l'ouverture Déclenchons une alerte différente chaque fois que la barre est abaissée. Ici, chaque fois que fermer vaut zéro ou ouvert, nous voulons être avertis par le message. L au bar est en bas. Avec la même fréquence une fois que le bar appelle. La dernière barre du dernier appel d'alerte est plate. Chaque fois que la barre n'est ni en haut ni en bas, elle est plate. Nous avons spécifié dans le code plusieurs appels d'alerte à l'aide de la fonction d'alerte. Sauvegardons ce script. Nous devons maintenant spécifier configuration allt correspondante associée à ce script et à tous les appels, afin que ces alertes soient réellement exécutées Afin d'ajouter une configuration d'alerte, à ce script et à cette alerte appellent. Nous devons ajouter une configuration d'alerte. Nous devons tout d'abord nous assurer que ce script est ajouté au graphique. Il est maintenant ajouté. Ensuite, pour ajouter une alerte, vous pouvez cliquer sur ce bouton d'alerte. C'est une façon de le faire. Vous pouvez également cliquer sur ce bouton d'alerte, puis sur ce bouton plus pour ajouter une configuration d'alerte associée à ce script. Et avec cet appel d'alerte. Ensuite, configurons la condition. Nous cliquons sur cette liste déroulante et nous devons sélectionner le nom de notre script. Barre d'alertes de leçon vers le haut et vers le bas. C'est le nom de notre script. Nous devons le sélectionner. Après cela, nous devons sélectionner un autre article dans la condition suivante. Nous devons sélectionner n'importe quel appel de fonction d' alerte, ce qui signifie que tout appel d'alerte provenant de notre script sera associé à cette configuration d'alerte Ensuite, nous pouvons configurer le moment où nous voulons que cette alerte expire. Ensuite, après le dernier paramètre cette étape de configuration, nous pouvons définir le nom de l'alerte. Appelons cela barre d'alerte de haut en bas. Cliquez sur Créer. Après la création hebdomadaire, nous prévoyons qu'une alerte sera ajoutée à cette liste d'alertes. Dans cet onglet d'alertes. Comme vous le voyez, l'alerte est active, ce qui signifie qu'elle génère alerte chaque fois que certaines conditions sont remplies. Ensuite, nous pouvons simplement configurer. Nous pouvons modifier l'alerte si nécessaire, ou nous pouvons modifier la façon dont nous voulons que cette alerte soit notifiée. Nous n'allons rien changer pour le moment parce que ce n'est pas nécessaire, mais nous devons nous assurer que l'application de notification et, par exemple, la fenêtre contextuelle sont activés, affichage de la fenêtre contextuelle sont activés, que celui-ci est activé, vous recevrez une notification. Sur la plateforme d'affichage des transactions, chaque fois qu'une alerte est exécutée. Cette alerte est actuellement active et nous nous attendons à ce qu'elle soit déclenchée chaque fois que certaines conditions sont remplies. Nous devons attendre que la barre apparaisse et nous nous attendons à ce que le message correspondant apparaisse sur cet écran. Nous constatons donc actuellement qu'il s'agit d'une barre d'une minute et chaque fois qu'une barre est fermée, cette alerte peut être déclenchée car nous avons spécifié une fréquence de fermeture d'une barre pour chaque alerte. Nous pouvons voir que l'alerte vient d'être déclenchée. Sur ce message d'alerte, nous avons reçu une alerte et le nom de la paire, nom du marché sur lequel nous avons cette alerte Associé à un théorème du marché du dollar américain. Nous obtenons ici le nom de l'alltert, barre d vers le haut et vers le bas C'est le nom de l'alerte. La ligne suivante est le message d'alerte. La dernière barre est en bas. Heure à laquelle cette alerte a été déclenchée. La dernière mesure a été lue. La dernière barre était en fait abaissée, donc Aert a raison. J'ai montré comment configurer appels d'alerte à partir du script et comment configurer une alerte Et associez cette alerte aux fonctions d'alerte appelées depuis le script. résumer cette leçon, nous avons étudié comment créer une alerte avec fonction d'alerte, et comment configurer ce type d' alerte avec un formulaire de dialogue de création d'alerte J'ai démontré comment cette alerte est exécutée et comment l'utilisateur reçoit une notification contextuelle. L'utilisation de la fonction d'alerte peut être très bénéfique lorsque certains événements commerciaux ou de marché se produisent dans certaines conditions, et que l'utilisateur souhaite en être informé en utilisant divers types de notifications. C'est la fin de cette leçon et je vous verrai dans la prochaine. 28. Leçon 28 - Comment paramétrer et utiliser les alertes avec la fonction alertstate(): Bonjour et bienvenue dans cette leçon, comment configurer et utiliser des alertes avec fonction de condition d'alerte. Cette leçon comprend les sections suivantes. Dans la première section, je vais vous présenter alertes utilisant la fonction de condition d'alerte. Dans la section suivante, je vais montrer comment créer des appels de fonction de condition d'alerte dans le script Pine. Dans la section suivante, nous allons étudier comment configurer alerte en créant une boîte de dialogue d'alerte pour les fonctions de condition d'alerte. Dans la dernière section, nous allons résumer ce que nous avons appris dans cette leçon sur l'utilisation fonction d'alerte avec condition d'alerte. Commençons. Utilisons ce simple indicateur à barres pour tester le fonctionnement de la fonction de condition d'alerte et comment nous pouvons créer des alertes à l'aide des fonctions de condition d'alerte. Cet indicateur simple trace différents types de colonnes. Pour la barre verte, elle trace le vert, pour la barre rouge, elle trace le rouge, et pour la barre plate, elle trace une colonne de couleur grise. Supposons que pour chaque type de cette colonne tracée, notre indicateur déclenche alerte avec le message correspondant Une chose importante à retenir est que fonction de condition d'alerte ne peut pas être utilisée à l'échelle locale. Il ne peut être utilisé qu' à l'échelle mondiale. Cela signifie que, par exemple, si nous voulons placer fonction de condition d' alerte dans la portée locale ici, cela ne fonctionnera pas et cela générera une erreur pour nous. Il ne compilera pas. Par conséquent, nous devons utiliser une portée globale. Nous allons créer des appels de fonction de condition d'alerte dans le cadre global. Donc, condition d'alerte après cela, spécifions chaque paramètre. La première condition est que nous ayons déjà attribué les valeurs correspondantes à la variable de direction de la barre. Par conséquent, il n'est pas nécessaire de vérifier à nouveau chacune de ces conditions dans le commutateur. Il nous suffit de vérifier la valeur de cette variable afin de déterminer si la barre est en haut ou en bas. Si la direction de la barre est égale à un, signifie que la barre est verte. Le titre sera affiché en alerte sur la barre verte. Il s'agit du titre et le message sera une barre verte. De cette façon, nous avons configuré un appel à partir de notre script. Avec certaines conditions, un titre et un message. Configurons maintenant deux autres appels de conditions d' alerte pour deux autres conditions restantes pour la barre rouge et pour la barre d'inondation. Pour la barre rouge, nous avons condition si la direction de la barre est égale à moins un Corrigons donc le message, le message et le titre de cet appel de condition d'alerte. Pour la direction de la barre d'inondation, est égal à zéro. Par conséquent, l'alerte sur la barre d'inondation est le nom ou le titre de notre condition d'alerte, et le message sera une barre d'inondation. Nous avons créé trois appels d'alerte, trois appels de condition d'alerte pour chaque type de barre. Cet indicateur trace les barres rouge, verte et inondable. Sauvegardons-le. Maintenant, nous voulons créer une configuration d' alerte associée à l'aide du dialogue de création d'alerte. Nous pouvons appuyer sur ce bas pour créer une configuration associée à nos appels de conditions d'alerte. La prochaine étape sera de sélectionner le nom du script. Dans notre cas, il s'agit d'une barre d' alertes de cours vers le haut ou vers le bas. Ensuite, nous pouvons voir que nous avons ici trois titres de conditions d'alerte. Cela signifie que pour chaque appel de condition d'alerte provenant de notre script, nous devons créer une configuration d'alerte distincte. Commençons par créer à partir de la première alerte sur la barre d'inondation. Renseignez ensuite le nom de l'alerte. Alerte d'inondation et déclenchement une fois votre bar fermé, mais vous pouvez choisir ce dont vous avez besoin dans votre script. Vous pouvez choisir d'autres déclencheurs si nécessaire. Nous créons Maintenant, nous nous attendons à ce que cette nouvelle configuration soit créée et qu'elle soit active. Maintenant, nous pouvons l'arrêter si nous ne voulons pas qu'elle s'exécute temporairement, ou nous pouvons cliquer sur redémarrer si vous souhaitez que l'alerte soit à nouveau active pour être redémarrée Créons maintenant deux autres configurations d'alerte pour deux autres appels de conditions d'alerte. Une autre méthode pour créer configuration d'alerte associée consiste à appuyer sur ce bouton d'alerte. Nous sélectionnons maintenant le nom de notre script, et maintenant nous sélectionnons la deuxième alerte de condition d'alerte sur la barre verte Définissons le nom de cette alerte et définissons le déclencheur une fois que vous êtes sur votre barre. Il va être actif, mais nous voulons le poser et le tester plus tard. Une fois que nous avons terminé de configurer toutes les conditions d'alerte à partir de notre script Créons la dernière configuration d'alerte pour la barre rouge. Une fois par barre, clo se déclenche et le nom de la barre rouge sera barre rouge ert I. Maintenant, commençons par toutes. Nous cliquons sur redémarrer et nous cliquons sur redémarrer. Maintenant, nous nous attendons à ce que chaque fois que l'une de ces conditions est vraie et que la barre se ferme, nous nous attendons à voir le message d'alerte correspondant. Une barre est en train de se former. Le bar n'est pas encore fermé. Nous prévoyons que chaque fois que la barre actuelle sera fermée, l'une ou l'autre de ces conditions sera vraie et cela déclenchera l'alerte. Comme nous l'avons fait, ces trois configurations d'alerte sont configurées et correspondent à chaque appel de condition d'alerte émis par notre script. Vous pouvez voir que nous avons déclenché une alerte ici avec les informations suivantes. Alerte et trading dans notre cas, I D. Ensuite, sur la ligne suivante, vous pouvez voir l'alerte en forme de barre verte, qui est le nom de l'alerte. Le nom de la barre verte d'alerte configurée est le message d'alerte, après quoi nous pouvons voir l'heure à laquelle l' alerte a été déclenchée Il s'agit de la démonstration, façon de configurer les appels de condition d'alerte à partir de l'indicateur, et de la démonstration de la façon de configurer la configuration correspondante de chaque appel de condition d'alerte à chaque appel de condition d'alerte l'aide de la boîte de dialogue de création d'alerte. Nous pouvons suspendre toutes les alertes maintenant, car nous n'en avons pas besoin pour le moment. résumer cette leçon, nous avons étudié comment créer une alerte avec une fonction de condition d' alerte et comment configurer ce type d'alerte avec un dialogue de création d'alerte pour Il est important de se rappeler que fonction de condition d'alerte ne fonctionne que dans l'indicateur Cela ne fonctionne pas dans les stratégies. Pour chaque indicateur d' appel de condition d'alerte, vous devez configurer une configuration d' alerte distincte avec un formulaire de dialogue de création d'alerte J'ai démontré comment cette alerte est exécutée et comment l'utilisateur reçoit une notification contextuelle. L'utilisation de la fonction de condition d'alerte peut être très bénéfique lorsque certains événements de négociation ou de marché se produisent et dans certaines conditions, et l'utilisateur souhaite également configurer une configuration d'alerte distincte pour chaque appel de fonction de condition d'alerte. Une fois cette configuration d'alerte terminée, l'utilisateur sera averti lorsque l'alerte est déclenchée par une variété de notifications configurées de différents types. C'est la fin de cette leçon, et je vous verrai dans la prochaine. 29. Leçon 29 - Comment paramétrer et utiliser les alertes dans les stratégies de remplissage des commandes: Bonjour, bienvenue dans cette leçon, configuration et l' utilisation alertes dans les stratégies relatives à l'événement Order Fill Cette leçon comprend les sections suivantes. Tout d'abord, je vais vous présenter alertes stratégiques lors d'un événement de traitement de commande, puis nous étudierons comment configurer des alertes stratégiques lors d'un événement de traitement de commande Ensuite, je résumerai la leçon de l' utilisation des alertes stratégiques. Commençons. Utilisons cette stratégie simple pour montrer comment utiliser l'alerte de stratégie Cette stratégie, barre vers le haut, génère un signal long sur chaque barre verte et un signal court de cellule sur chaque barre rouge. Chaque fois que la couleur de la barre change, la stratégie ferme toutes les positions et établit la position d'un contrat. Comme vous le voyez ici, la direction de la barre est égale à un, ce qui signifie que la direction de la barre est supérieure à celle de l'ouverture, ce qui signifie que la barre est verte , puis elle génère un signal long et un signal court, chaque fois que la direction de la barre est inférieure à un, ce qui signifie que la fermeture est inférieure à l'ouverture. Et dans ce cas, il génère un signal court dans la cellule. Chaque fois que vous créez des alertes de stratégie, il n'est pas nécessaire d' effectuer un appel de fonction f spécifique à partir d'une stratégie liée à l'alerte. Vous utilisez la stratégie telle quelle, et l'idée est que chaque fois que la position de la stratégie change, ordre si un événement se produit, et l'alerte créée capture cet événement et nous exécutons l'alerte de stratégie. Voyons comment nous procédons. Cette stratégie génère des transactions sur chaque barre. Par conséquent, il est facile de démontrer comment utiliser l'alerte stratégique à l'aide de cette stratégie de barre vers le bas. Pour créer une alerte de stratégie associée à la stratégie. Passons à l'étape Alerte et cliquez sur le bouton Créer une alerte. Après cela, nous avons mis en condition. Paramètre, nous sélectionnons notre stratégie, moins la barre de stratégie d'alerte vers le haut. Ensuite, créons le nom de l'alerte, appelons-le «   barre de stratégie » au bas de la page. Après cela, nous pouvons voir que l'alerte stratégique a déjà précréé un message pour nous. Nous pouvons laisser un message tel quel ou nous pouvons le mettre à jour si nécessaire. Comme vous le voyez, ce message utilise des paramètres, certaines variables qui seront converties en texte chaque fois que ce message généré pour l'alerte str. Notre message d'alerte stratégique contiendra ces valeurs de paramètres, des valeurs issues de paramètres tels que l' ordre, l'action, le numéro des contrats, la taille de la position et le ticker C'est ainsi que vous configurez votre alerte pour la stratégie. Cliquons sur Créer. Nous nous attendons maintenant à ce qu'il apparaisse au-dessus de lui et que l'alerte stratégique soit active. Désormais, chaque fois que le bar ferme, nous nous attendons à recevoir une alerte de stratégie correspondante. Voyons donc comment cela va fonctionner pour nous. à quoi nous nous attendons si ce bar doit fermer en vert. Nous nous attendons ensuite à ce qu'un autre contrat soit ajouté à ce poste. poste précédent était sh et le nouveau poste sera long. Nous devons attendre la fermeture de ce bar. Le bar a été fermé, ce que nous avons ici, nouvelle position stratégique est celle à laquelle nous nous attendions. Comment cela s'est passé. Cela s'est produit en exécutant un ordre par deux contrats. Y deux contrats, parce que notre poste précédent était court, barre précédente a été lue. position précédente était de moins un, et pour obtenir la position finale, un, nous avons dû acheter deux contrats moins un plus deux, et nous avons obtenu la position finale un. À l'heure actuelle, notre stratégie repose sur un contrat à long terme. Arrêtons cette alerte Maintenant, cette façon, j'ai montré comment configurer une alerte stratégique. résumer cette leçon, nous avons étudié comment créer une alerte dans le cadre d'un événement de stratégie d'exécution des commandes, et comment configurer ce type d' alerte avec un formulaire de dialogue de création d'alerte J'ai démontré comment cette alerte est exécutée et comment l'utilisateur reçoit une notification par message contextuel. Les alertes de stratégie sont simples à configurer car elles ne nécessitent aucun appel de fonction spécifique depuis le script. Une fois cette configuration d'alerte terminée , créez un formulaire de dialogue Aer. L'utilisateur sera averti lorsque position de la stratégie change lors de l'événement d'exécution de la commande et sera averti par une variété de notifications configurées de différents types. C'est la fin de la leçon, et je vous verrai dans la prochaine. 30. Leçon 30 - Résumé des principaux enseignements de ce cours: Bonjour. Bienvenue dans cette leçon. Résumé des principaux points à retenir de ce cours. Passons en revue les principaux sujets abordés dans ce cours. Principaux sujets que nous avons étudiés dans ce cours. Dans le premier chapitre de ce cours, j'ai passé en revue les objectifs du cours et les sujets clés Dans le chapitre suivant, nous avons étudié les éléments essentiels de la programmation pour le trading de nouveaux Pine Script. Plus précisément, je vous ai présenté l' éditeur de script Pine et ses fonctionnalités. Ensuite, nous avons étudié le guide étape par étape sur la création du premier script Pine, puis nous avons abordé la compréhension fondamentale des indicateurs et des stratégies, puis nous avons exploré mode d'exécution du script Pine et les éléments essentiels des séries chronologiques. Ensuite, nous avons abordé les structures de base de Pinscript, notamment les identifiants, les opérateurs et Nous avons ensuite appris à explorer en profondeur les structures conditionnelles, les boucles et le système de types. Ensuite, nous aborderons une compréhension complète des types de scripts de pin, des qualificatifs et de l' importance de la valeur NA Ensuite, nous maîtrisons l' utilisation des tuples et la création de fonctions définies par l'utilisateur Après cela, nous avons commencé à étudier comment développer des indicateurs et particulier comment créer un ADX DMI avancé de moyenne mobile Ensuite, nous avons commencé à étudier comment créer un backtest, test prospectif et optimiser une stratégie de trading. Et notamment le développement d'une stratégie de trading utilisant des moyennes mobiles Ensuite, nous avons présenté l'outil de test de stratégie Pine Script, puis je vous ai fourni guide détaillé sur les stratégies de test antérieur et de test prospectif Nous avons ensuite étudié les techniques d'optimisation des stratégies de trading. Dans le chapitre suivant, nous avons étudié comment créer des stratégies de trading avancées dans Pine Script. Nous avons créé trois stratégies de trading avancées. Tout d'abord, nous avons couvert et étudié un guide étape par étape pour développer une stratégie de trading basée sur l'indicateur ADX VMA Ensuite, nous avons élaboré une stratégie de trading en utilisant plusieurs indicateurs de moyenne mobile. Enfin, nous avons appris un didacticiel approfondi sur le développement d'une stratégie sophistiquée basée sur un indicateur Mac D. Dans le dernier chapitre principal, nous avons étudié les alertes liées au trading via Pine Screen. Nous avons particulièrement compris le rôle des alertes dans le script Pie Ensuite, nous avons eu une leçon sur la mise en œuvre pratique des alertes à l'aide de la fonction d'alerte Ensuite, nous avons étudié comment utiliser fonction de condition d' alerte pour configurer des alertes. Enfin, nous avons appris comment implémenter des alertes dans une stratégie basée sur les événements des champs de commande ensemble, le cours de programmation avancée Pine Script de Master trading view a fourni une complète et approfondie exploration complète et approfondie de la programmation Pine Script, dédiée aux débutants comme aux utilisateurs plus expérimentés, à la recherche de techniques avancées. Ce cours a débuté par une introduction perspicace, préparant le terrain pour un voyage à travers la complexité du script Pine de Trading Views Il a abordé l'essentiel, commençant par l'éditeur de script Pine, vous guidant dans la création de vos scripts initiaux et en présentant les concepts clés liés aux indicateurs et aux stratégies. Au fil du cours, vous avez approfondi les détails de l'exécution du script Pine, de l'analyse chronophage et des structures fondamentales du script Pine, notamment les identifiants, notamment les identifiants, apparateurs Les leçons sur les structures conditionnelles, les boucles et le système de types du script Pine ont permis d'approfondir la compréhension de ce langage de script Le cours a mis l'accent sur l'apprentissage pratique, vous permettant de maîtriser la création et les fonctions définies par l'utilisateur, jetant ainsi les bases de projets script plus avancés Une partie importante du cours a été consacrée à la création d' indicateurs avancés et stratégies de trading dans le script Pine. De la création et de la moyenne mobile de l' indicateur DMI ADX à l'élaboration de stratégies complexes telles que plusieurs stratégies MA Pyramid et Mac Ultimate Vous avez acquis les compétences nécessaires pour développer des outils sophistiqués d' analyse de marché et de prise de décision. Ce cours est allé au-delà de la simple compréhension théorique, incorporant des leçons pratiques sur les tests rétrospectifs, tests prospectifs et l'optimisation des stratégies de trading, offrant ainsi une vue complète développement et de la mise en œuvre des stratégies. En outre, le cours a abordé l'aspect critique de l' intégration d' alertes dans les stratégies de script Pine. Vous avez obtenu des informations sur le type d'alertes disponibles. Leur rôle dans les indicateurs et les stratégies, et les leçons pratiques sur la configuration alertes à l'aide de fonctions telles que l' alerte et les conditions d'alerte Les leçons finales ont porté sur l'utilisation d' alertes et de stratégies basées sur l'ordre des événements Nous proposons un guide complet pour tirer parti des alertes pour des signaux de trading efficaces et une automatisation des transactions. Essentiellement, ce cours vous a permis d'acquérir les connaissances et compétences nécessaires pour utiliser la programmation de scripts Pi en toute confiance. Qu'il s'agisse de créer des indicateurs complexes, développer des stratégies de trading avancées ou d'intégrer des systèmes d'alerte, vous avez acquis une base solide dans script Pi, qui contribue de manière significative à votre capacité à créer et à mettre en œuvre des stratégies de trading efficaces sur la plateforme de trading view C'est la fin de cette leçon, et je vous verrai dans la prochaine. 31. Leçon 31 - Ressources pour poursuivre l'apprentissage et le développement dans TradingView: Bonjour, bienvenue dans cette leçon, des ressources pour approfondir votre apprentissage et votre développement dans Trading view Pin Script. Au fur et à mesure que vous apprenez et développez vos compétences dans le script Trading view Pin, de nombreuses ressources sont disponibles pour vous aider à vous améliorer et à rester à jour. Voici quelques ressources recommandées pour approfondir votre apprentissage et votre développement dans Trading view Pin Script. Premièrement, le site Web Trading View. Le site Web de trading disponible sur Trading View qui contient une mine d'informations sur le script Pine, notamment de la documentation, des didacticiels et des exemples C'est un excellent point de départ pour apprendre et développer vos compétences. Deuxième ressource, le point de vue commercial Pine Script Community. La communauté Pine Script de trading disponible sur tradingviw.com slash scripts est un forum où vous pouvez poser des questions, partager vos scripts et apprendre des autres utilisateurs de Troisième ressource, didacticiels Pincript et exemples sur YouTube De nombreux tutoriels et exemples de Pine Script sont disponibles sur YouTube. C'est un moyen facile d' apprendre et de voir le script en action. Ressource numéro quatre, entraînement. Le plus important est pratiquer, de pratiquer, de pratiquer. Plus vous vous entraînez à écrire un script de pin, plus vous vous améliorerez Et cinquième ressource pour en savoir plus sur l' analyse technique, les indicateurs, je recommande la section Chart School sur le site stockcharts.com, disponible sur school stochars.com slash Vous y trouverez des informations détaillées sur le calcul, l'interprétation et les signaux de négociation d' large éventail d'indicateurs techniques, tels que la moyenne mobile, RSI, l'ADX, etc. En utilisant ces ressources et en continuant à pratiquer, vous serez en mesure d' améliorer vos compétences et développer vos propres indicateurs, études et stratégies personnalisés pour analyser les marchés financiers et prendre des décisions commerciales. C'est la fin de ce cours. Félicitations. Je vous souhaite tout le meilleur et une bonne programmation et un bon trading.