English Русский 中文 Español Deutsch 日本語 Português 한국어 Italiano Türkçe
Apprenez à concevoir un système de trading basé sur le Stochastique

Apprenez à concevoir un système de trading basé sur le Stochastique

MetaTrader 5Trading | 29 août 2022, 10:40
1 064 5
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Introduction

Une chose intéressante avec l'analyse technique est que nous disposons de nombreux outils que nous pouvons utiliser individuellement ou de façon combinée avec d’autres outils. En plus de cela, nous disposons d'un outil incroyable, très utile pour améliorer nos résultats et nos performances de trading. Cet outil est la programmation. Elle nous permet de créer des programmes très utiles : nous donnons à l'ordinateur des instructions pour qu'il fasse ce dont nous avons besoin de manière automatique et précise, en fonction de nos conditions.

Cet article est une nouvelle contribution pour essayer de vous enseigner ce qui peut être utile dans le trading technique et la programmation de stratégies de trading. Nous discuterons dans cet article d'un nouvel outil qui peut être utile dans notre trading. Il s'agit de l'indicateur "Oscillateur Stochastique" qui est l'un des plus populaires dans le trading basé sur l'analyse technique. Si vous lisez mes autres articles ici, vous devez savoir que j'aime enseigner les racines des choses pour comprendre tous les détails et le mécanisme de fonctionnement des choses autant que je peux. Nous aborderons donc ce sujet ensemble de la même façon. Les éléments suivants seront abordés dans cet article :

    1. Définition du Stochastique
    2. Stratégie basée sur le Stochastique
    3. Plan du système Stochastique
    4. Système de trading basé sur le Stochastique
    5. Conclusion

      Grâce à la rubrique "Définition du Stochastique", nous allons découvrir en détail l'oscillateur stochastique pour savoir ce qu'il est et ce qu'il mesure. Ensuite, dans la section "Stratégie basée sur le Stochastique", nous apprendrons quelques stratégies simples que nous pouvons utiliser. Puis nous concevrons un plan pour ces stratégies simples afin de nous aider à les coder en MQL5 pour pouvoir ensuite les utiliser dans MetaTrader 5 - ceci sera abordé dans la section "Plan du système Stochastique". Ensuite, nous apprendrons comment écrire un code pour concevoir un système de trading pour ces stratégies simples - ceci sera fait dans le sujet "Système de trading basé sur le Stochastique".

      Nous utiliserons le terminal de trading MetaTrader 5 et le langage MetaQuotes, qui est intégré à MetaTrader 5. Vous pouvez télécharger MetaTrader 5 à partir du lien suivant :https://www.metatrader5.com/fr/download.

      Avertissement : Toutes les informations sont fournies "en l'état" uniquement à des fins d'information et ne sont pas données à des fins de trading ou de conseil. Ces informations ne garantissent aucun type de résultat. Si vous utilisez le contenu de cet article sur l'un de vos comptes de trading, vous le faites à vos propres risques et vous en serez le seul responsable.

      Nous allons maintenant commencer notre voyage vers un nouveau sujet intéressant, c’est parti.


      Définition du Stochastique

      Dans cette partie, nous allons apprendre plus en détail l'un des indicateurs techniques les plus populaires, l'oscillateur Stochastique. Il a été développé par George Lane et est décrit dans le livre "New Trading Systems and Methods" de Perry J. Kaufman. Mais il y a des discussions à ce sujet. L'une d'elles est qu'il n'est pas clair qui a créé l'indicateur Stochastique - ceci est mentionné dans le livre "Technical Analysis, The Complete Resource for Financial Market Technicians" par Charles D. Kirkpatrick et Julie R. Dahlquist. Une autre opinion est que l'indicateur a été popularisé par George Lane comme mentionné dans le livre "Technical Analysis of The Financial Markets" par John J. Murphy.

      L'idée derrière l'indicateur Stochastique est la suivante : on a observé que pendant une tendance haussière, les prix ont tendance à se rapprocher de la partie supérieure de la fourchette de prix pendant une période spécifique. Et vice versa, pendant une tendance baissière, les prix ont tendance à se rapprocher de la partie inférieure de la fourchette de prix pendant une période spécifique. Il mesure la relation entre le prix actuel et les prix les plus élevés et les plus bas d'une période spécifique.

      L'oscillateur Stochastique se compose de deux lignes, oscillant entre les niveau zéro et 100 :

      • La ligne %K est la ligne la plus rapide.
      • La ligne %D est la ligne la plus lente. Elle est lissée.

      Il existe plus d'une version de l'oscillateur Stochastique. Les versions les plus populaires sont les deux suivantes :

      • Le Stochastique rapide
      • Le Stochastique lent

      Nous allons voir les différences entre les méthodes de calcul de l'oscillateur Stochastique.

      Voici les étapes du calcul de l'oscillateur Stochastique :

      1. Détermination de la période nécessaire au calcul de l'indicateur.
      2. Détermination du plus haut de la période souhaitée.
      3. Détermination du plus bas de la période souhaitée.
      4. Calcul de %K du Stochastique rapide = 100 * ((close - plus bas) / (plus haut - plus bas))
      5. Calcul de %D du Stochastique rapide = 3 moyennes mobiles de %K du Stochastique rapide.
      6. Calcul de %K du Stochastique lent = %D du Stochastique rapide
      7. Calcul de %D du Stochastique lent = 3 moyennes mobiles de %K du Stochastique lent (qui est le même que le %D du Stochastique rapide) 

      Voyons maintenant un exemple de calcul de l'oscillateur Stochastique. Considérons que nous avons les données suivantes :

      Jours Clôture Plus Haut Plus Bas
      1 100 110 90
      2 130 140 120
      3 140 160 120
      4 130 150 110
      5 120 140 100
      6 140 150 130
      7 160 170 150
      8 170 180 160
      9 155 170 150
      10 140 170 130
      11 160 180 155
      12 180 190 175
      13 190 220 190
      14 200 230 200
      15 210 215 205
      16 200 200 190
      17 190 195 180
      18 185 105 180
      19 195 210 185
      20 200 220 190

      Pour calculer l'oscillateur Stochastique, nous allons suivre les étapes mentionnées précédemment :

      • Détermination de la période qui sera = 14, nous devons donc d'abord avoir 14 périodes de données pour commencer à calculer l'indicateur.
      • Détermination du plus haut sommet des 14 dernières périodes, c’est 230 comme montré sur l'image suivante :

      Plus haut des 14 périodes

      • Détermination du plus bas des 14 dernières périodes, c’est 90 comme montré sur l'image suivante :

      Plus bas des 14 périodes

      • Calcul de %K du Stochastique rapide = 100 * ((close - plus bas) / (plus haut - plus bas)) 
      • Calcul de %D du Stochastique rapide = 3 moyennes mobiles de %K du Stochastique rapide.
      • L'image suivante nous montre les résultats du calcul pour les données que nous avons :

      Stochastique Rapide - K-D

      • Calcul de %K du Stochastique lent = %D du Stochastique rapide
      • Calcul de %D du Stochastique lent = 3 moyennes mobiles du %K du Stochastique lent,
      • L'image suivante nous montre les résultats du calcul pour les données que nous avons :

      Stochastique Lent - K-D

      Grâce aux étapes précédentes, nous avons calculé manuellement l'oscillateur Stochastique. Heureusement, nous n'avons pas besoin de le calculer manuellement à chaque fois car cet indicateur est intégré et prêt à l'emploi dans le terminal de trading MetaTrader5. Nous pouvons simplement le sélectionner depuis la liste des indicateurs disponibles dans la plateforme en cliquant sur le menu Insérer de MetaTrader 5 comme le montre l'image suivante :

      Insertion de l’oscillateur Stochastique

      Après avoir choisi l'oscillateur Stochastique, la fenêtre suivante s'ouvre pour déterminer les paramètres de l'indicateur :

       Fenêtre des paramètres du Stochastique

      Paramètres de l'indicateur :

      1. Détermine la période
      2. Détermine la période de lissage pour le %D rapide
      3. Détermine la période de lissage pour le %D lent
      4. Détermine le type de prix pour la mesure du rapport
      5. Détermine le type de moyenne mobile qui sera utilisée dans le calcul
      6. Détermine la couleur, le style et l'épaisseur de la ligne de %K
      7. Détermine la couleur, le style et l'épaisseur de la ligne de %D

      Après avoir défini les paramètres selon vos préférences, l'indicateur sera attaché au graphique et apparaîtra comme dans l'image suivante :

      Stochastique sur le graphique

      Après avoir inséré l'oscillateur Stochastique, nous pouvons constater, conformément à l'image précédente, que l'indicateur est tracé dans la fenêtre inférieure avec 2 lignes (%K, %D) oscillant entre zéro et 100.

      • Stoch(14, 3, 3) : représente le nom de l'indicateur et les valeurs des paramètres : 14 périodes, 3 pour la moyenne mobile de %D du Stochastique rapide, 3 pour la moyenne mobile de %D du Stochastique lent.
      • 36.85 : représente la valeur de %K
      • 38.28 : représente la valeur de %D

      Selon son calcul, l'oscillateur Stochastique suivra la direction du marché sous une forme spécifique la plupart du temps, car nous savons que les prix de clôture ont tendance à se rapprocher de la fourchette de prix supérieure ou inférieure d'une période spécifique en fonction du mouvement du marché.

      Pendant une tendance haussière :

      Une tendance haussière est une direction de marché dans laquelle les prix montent en raison du contrôle des acheteurs (ou ’bulls’). Habituellement, les prix créent des bas plus élevés et des hauts plus élevés. Dans ce cas, nous pouvons appeler ce marché un marché haussier.

      Dans cette configuration du marché, les prix de clôture ont tendance la plupart du temps à clôturer près de la partie supérieure de la fourchette de prix. Et le Stochastique oscillera entre le niveau 50 et le niveau 100. Par exemple :

      Stochastique pendant une tendance haussière

      Pendant une tendance baissière :

      Une tendance baissière est une orientation du marché dans laquelle les prix baissent en raison du contrôle des vendeurs (ou ’bears’). Les prix créent des sommets moins hauts et des creux plus bas. Dans ce cas, nous pouvons appeler ce marché un marché baissier.

      Dans cette configuration du marché, les prix de clôture ont tendance la plupart du temps à se rapprocher de la fourchette inférieure des mouvements de prix. Nous pouvons ainsi constater que l'indicateur Stochastique se déplace entre le niveau 50 et le niveau 0 pendant la période de mouvement à la baisse. Par exemple :

      Stochastique pendant une tendance baissière

      Pendant les mouvements latéraux :

      Un mouvement latéral est un mouvement de prix sans direction claire (ni à la hausse, ni à la baisse). C’est une situation d’équilibre entre les acheteurs et les vendeurs. Il s'agit de tout mouvement, à l’exception d’une tendance haussière et d’une tendance baissière.

      Pendant un mouvement latéral, il n'y a pas de mouvement clair à la hausse ou à la baisse, les prix ont tendance à se rapprocher du milieu de la fourchette des prix. Nous pouvons donc constater que la plupart du temps, le Stochastique se déplace autour des niveaux 20 et 80 :

      Stochastique pendant un mouvement latéral

      Nous avons analysé comment l'indicateur Stochastique se comporte pendant les différents mouvements du marché. Nous devons maintenant apprendre comment l'utiliser.


      Stratégie basée sur le Stochastique

      Dans cette partie, nous allons parler de la façon dont nous pouvons utiliser cet indicateur au travers de stratégies simples. Nous pouvons obtenir des signaux de l'indicateur Stochastique en fonction de la tendance du marché. Nous allons voir les stratégies suivantes : stratégie en tendance haussière, stratégie en tendance baissière et stratégie en mouvement latéral.

      • Première stratégie : Stratégie en tendance haussière

      Pour cette stratégie, nous devons vérifier si la ligne %K et la ligne %D sont en dessous du niveau 50. Le signal d'achat sera généré lorsque la ligne %K passera au-dessus de la ligne %D. Les profits peuvent être pris en fonction d'un autre outil comme l'action des prix par exemple, en recherchant un nouveau plus bas.

      %K, %D < 50 --> %K > %D = signal d’achat
        • Deuxième stratégie : Stratégie en tendance baissière

        Pour cette stratégie, nous devons vérifier si la ligne %K et la ligne %D sont au-dessus du niveau 50. Le signal de vente sera généré lorsque la ligne %K passera sous la ligne %D. Les profits peuvent être pris en fonction d'un autre outil comme l'action des prix, par exemple en recherchant un nouveau plus haut.

        %K, %D > 50 --> %K < %D = signal de vente
          • Troisième stratégie : Stratégie en mouvement latéral
            • Signal d'achat

          Pour cette stratégie, nous devons vérifier si les lignes %K et %D sont en dessous du niveau 20. Le signal d'achat sera généré lorsque la ligne %K passera au-dessus de la ligne %D. Lorsque les lignes %K et %D sont supérieures à 80, le signal de prise de profit sera généré lorsque la ligne %K passera sous la ligne %D.

          %K, %D < 20 --> %K > %D = signal d’achat
          %K, %D > 80 --> %K < %D = prise de profit

              • Signal de vente

                Pour cette stratégie, nous devons vérifier si les lignes %K et %D sont au-dessus du niveau 80. Le signal de vente sera généré lorsque la ligne %K passera sous la ligne %D. Lorsque la ligne %K et le %D sont inférieurs au niveau 20, le signal de prise des profits sera généré lorsque la ligne %K passera au-dessus de la ligne %D.

                %K, %D > 80 --> %K < %D = signal de vente
                %K, %D < 20 --> %K > %D = prise de profit

                Je voudrais mentionner ici qu'il existe beaucoup de stratégies stochastiques pouvant être utilisées, des stratégies simples aux stratégies compliquées. Cet indicateur peut être utilisé individuellement ou combiné avec un autre outil de manière à donner de meilleurs résultats. Nous ne mentionnons ici que des stratégies simples pour comprendre comment cet indicateur peut être utilisé.


                  Plan du système Stochastique

                  Dans cette partie, nous allons concevoir un plan pour les stratégies mentionnées précédemment. Ce plan nous aidera à créer un système de trading facilement. Ce plan sera un guide, étape par étape, pour identifier ce que le programme doit faire exactement.

                  • Première stratégie : Stratégie en tendance haussière

                  %K, %D < 50 --> %K > %D = signal d’achat

                  Le programme doit d’abord vérifier (%K, %D) et décider s'ils sont en dessous ou au-dessus du niveau 50. S'ils sont en dessous du niveau 50, il ne fera rien jusqu'à ce que la ligne %K passe au-dessus de la ligne %D pour donner le signal d'achat. Si (%K, %D) sont supérieurs ou égaux au niveau 50, le programme ne fera rien.

                  L'image suivante est le modèle de cette stratégie en tendance haussière :

                  Schéma de la stratégie Stochastique en tendance haussière

                  • Deuxième stratégie : Stratégie en tendance baissière

                  %K, %D > 50 --> %K < %D = signal de vente

                  Le programme doit d’abord vérifier (%K, %D) et décider s'ils sont en dessous ou au-dessus du niveau 50. S'ils sont au dessus du niveau 50, il ne fera rien jusqu'à ce que la ligne %K passe en-dessous de la ligne %D pour donner le signal de vente. Si (%K, %D) sont inférieurs ou égaux au niveau 50, le programme ne fera rien.

                  L'image suivante montre le plan de cette stratégie :

                  Schéma de la stratégie Stochastique en tendance baissière

                  • Troisième stratégie : Stratégie en mouvement latéral

                  Signal d'achat

                  %K, %D < 20 --> %K > %D = signal d’achat

                  %K, %D > 80 --> %K < %D = prise de profit

                  Le programme doit d’abord vérifier %K et %D, et décider s'ils sont en dessous ou au-dessus du niveau 20. S'ils sont en dessous du niveau 20, il ne fera rien jusqu'à ce que la ligne %K passe au-dessus de la ligne %D pour donner le signal d'achat. Si %K et %D sont supérieurs ou égaux au niveau 20, le programme ne fera rien. Le programme doit d’abord vérifier %K et %D, et décider s'ils sont en dessous ou au-dessus du niveau 80. S'ils sont au dessus du niveau 80, il ne fera rien jusqu'à ce que la ligne %K passe en-dessous de la ligne %D pour donner le signal de prise de profit. Si %K et %D sont inférieurs ou égaux au niveau 80, le programme ne fera rien.

                  L'image suivante montre le plan de cette stratégie :

                  Schéma de la stratégie Stochastique en tendance latérale - achat

                  Signal de vente

                  %K, %D > 80 --> %K < %D = signal de vente

                  %K, %D < 20 --> %K > %D = prise de profit

                  Le programme doit d’abord vérifier %K et %D, et décider s'ils sont en dessous ou au-dessus du niveau 80. S'ils sont au dessus du niveau 80, il ne fera rien jusqu'à ce que la ligne %K passe en-dessous de la ligne %D pour donner le signal de vente. Si %K et %D sont inférieurs ou égaux au niveau 80, le programme ne fera rien. Le programme doit d’abord vérifier (%K, %D) et décider s'ils sont en dessous ou au-dessus du niveau 20. S'ils sont en dessous du niveau 20, il ne fera rien jusqu'à ce que la ligne %K passe au-dessus de la ligne %D pour donner le signal de prise de profit. Si %K et %D sont supérieurs ou égaux au niveau 20, le programme ne fera rien.

                  L'image suivante est un plan pour le signal de vente de la stratégie en mouvement latéral :

                  Schéma de la stratégie Stochastique en tendance latérale - vente

                  Nous avons jusqu’à présent examiné des stratégies simples utilisant l'indicateur Stochastique, et nous avons conçu des plans pour ces stratégies afin de nous aider à créer un système de trading. Dans la partie suivante, nous verrons comment concevoir ce système de trading.


                  Système de trading basé sur le Stochastique

                  Nous allons maintenant commencer une partie intéressante de cet article pour apprendre à coder un système de trading pour ces stratégies. La programmation est un outil formidable qui nous aide à trader efficacement. Elle nous permet d'exécuter notre plan et notre stratégie de manière disciplinée, sans impliquer d'émotions dans nos décisions de trading, en plus de la précision d'exécution. Mais le plus important est de tester toute stratégie avant de l'exécuter. Ecrivons notre système de trading en fonction des stratégies discutées précédemment...

                  Nous devons tout d’abord écrire le code fournissant les valeurs des lignes stochastiques sur le graphique. Nous apprendrons ligne par ligne ce que nous écrivons pour être capable après cette étape de comprendre et de créer le système de trading.

                  Nous devons tout d’abord créer des tableaux pour les lignes %K et %D. Nous allons utiliser le type "double" qui présente des valeurs avec une partie fractionnaire :

                  double Karray[];
                  double Darray[];
                  

                  Nous devons ensuite trier ces tableaux créés à partir des données actuelles en utilisant la fonction "ArraySetAsSeries" :

                  ArraySetAsSeries(Karray, true);
                  ArraySetAsSeries(Darray, true);

                  Puis, nous devons définir l'indicateur "Stochastic". Nous utiliserons la fonction "iStochastic" qui sera représentée par la variable "StochDef" :

                  int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);

                  Nous remplissons ensuite le tableau avec les données des prix en utilisant la fonction "CopyBuffer" :

                  CopyBuffer(StochDef,0,0,3,Karray);
                  CopyBuffer(StochDef,1,0,3,Darray);
                  

                  Enfin, nous calculerons la valeur des lignes %K et %D. Nous utiliserons le type "float" pour diminuer la taille des fractions et pour être approximatif :

                  float KValue = Karray[0];
                  float DValue = Darray[0];
                  

                  La dernière ligne de code affichera la valeur des lignes %K et %D sur le graphique, sur deux lignes, avec la fonction "Comment" :

                  Comment("%K value is ", KValue,"\n""%D Value is ",DValue);

                  Voici le même code complet, en un seul bloc :

                  //+------------------------------------------------------------------+
                  //|                       Simple Stochastic System - Lines Value.mq5 |
                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                  //|                                             https://www.mql5.com |
                  //+------------------------------------------------------------------+
                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                  #property link      "https://www.mql5.com"
                  #property version   "1.00"
                  //+------------------------------------------------------------------+
                  void OnTick()
                    {
                  //creating arrays for %K line and %D line   
                     double Karray[];
                     double Darray[];
                     
                  //sorting arrays from the current data   
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                  
                  //defining the stochastic indicator   
                     int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);
                  
                  //filling arrays with price data   
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                  
                  //calculating value of %K and %D line of cuurent data  
                     float KValue = Karray[0];
                     float DValue = Darray[0];
                     
                  //commenting calcualted values on the chart   
                     Comment("%K value is ",KValue,"\n"
                     "%D Value is ",DValue);
                        
                    }
                  //+------------------------------------------------------------------+

                  Jusqu'à présent, nous avons écrit le code d'un programme qui affiche les valeurs actuelles des lignes de l'indicateur Stochastique sur le graphique. Nous devons maintenant exécuter ce programme sur notre terminal de trading Meta Trader 5 :

                  Navigateur 1

                  Après avoir glissé et déposé le fichier de ’Simple Stochastic System - Lines Value’, la fenêtre suivante s'ouvrira :

                  Fenêtre de l’Expert Simple Stochastic System - Lines Value


                  Après avoir appuyé sur OK, le programme sera attaché au graphique comme dans l'image ci-dessous :

                  Expert Simple Stochastic System - Lines Value attaché

                  Et nous pouvons alors voir que le programme génère les valeurs des lignes stochastiques comme dans l'image ci-dessous :

                  Expert Simple Stochastic System - Lines Value

                  Nous allons maintenant commencer à coder le système de trading pour nos stratégies. Nous devons créer un système de trading capable de présenter le signal approprié sous la forme d’un commentaire sur le graphique en fonction de la stratégie utilisée. C’est parti...

                  • Première stratégie : Stratégie en tendance haussière

                  %K, %D < 50 --> %K > %D = signal d’achat

                  Le code suivant crée un système de trading selon la stratégie en tendance haussière :

                  //+------------------------------------------------------------------+
                  //|                  Simple Stochastic System - Uptrend Strategy.mq5 |
                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                  //|                                             https://www.mql5.com |
                  //+------------------------------------------------------------------+
                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                  #property link      "https://www.mql5.com"
                  #property version   "1.00"
                  //+------------------------------------------------------------------+
                  void OnTick()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];
                     
                     if (KValue0<50&&DValue0<50)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        
                     Comment("SSS - Uptrend Strategy - Signal is ",signal);
                        
                    }
                  //+------------------------------------------------------------------+

                  Les différences sont les suivantes :

                  Création d'une variable "signal", vide par défaut, que nous calculerons par la suite :

                  string signal="";

                  Création de deux variables pour les valeurs de %K (0,1) et de deux variables pour les valeurs de %D (0,1) pour les données des deux dernières barres :

                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];

                  Pour évaluer le croisement entre %K et %D, %K doit casser %D vers le haut et passer au-dessus de lui après ce croisement. Ceci correspond à la ligne de code du "if" :

                     if (KValue0<50&&DValue0<50)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        

                  Si le croisement est réalisé, c’est un signal "ACHAT" et la variable "signal" sera affectée. Nous avons alors besoin d'un commentaire avec ce signal sur le graphique, ce qui est fait avec la ligne de code suivante :

                  Comment("SSS - Uptrend Strategy - Signal is ",signal);

                  Nous avons créé le code du programme. Après l’avoir compilé, nous le trouverons dans la fenêtre du Navigateur :

                  Navigateur 2

                  Après avoir glissé et déposé ce fichier sur le graphique, la fenêtre suivante apparaîtra :

                   Fenêtre Simple Stochastic System - Uptrend


                  Après avoir appuyé sur OK, le programme sera attaché au graphique :

                  Simple Stochastic System - Uptrend attaché

                  Le signal apparaîtra ensuite comme dans l'exemple suivant lors du test :

                  Simple Stochastic System - Uptrend - achat

                  • Deuxième stratégie : Stratégie en tendance baissière

                  %K, %D > 50 --> %K < %D = signal de vente

                  Le code suivant correspond au programme exécutant cette stratégie en tendance baissière :

                  //+------------------------------------------------------------------+
                  //|                Simple Stochastic System - Downtrend Strategy.mq5 |
                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                  //|                                             https://www.mql5.com |
                  //+------------------------------------------------------------------+
                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                  #property link      "https://www.mql5.com"
                  #property version   "1.00"
                  //+------------------------------------------------------------------+
                  void OnTick()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];
                           
                     if (KValue0>50&&DValue0>50)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                        
                     Comment("SSS - Downtrend Strategy - Signal is ",signal);
                        
                    }
                  //+------------------------------------------------------------------+

                  Les différences sont les suivantes :

                  • Conditions du croisement

                     if (KValue0>50&&DValue0>50)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                        

                  • Le commentaire affiché selon cette stratégie sera :

                     Comment("SSS - Downtrend Strategy - Signal is ",signal);

                  Après la compilation, nous pourrons trouver le fichier de ce programme dans la fenêtre du Navigateur :

                  Navigateur 3

                  Glissez et déposez ce fichier sur le graphique. La fenêtre suivante s'ouvrira :

                  Fenêtre Simple Stochastic System - Downtrend

                  Après avoir appuyé sur OK, le fichier sera attaché au graphique :

                  Fenêtre Simple Stochastic System - Downtrend attaché 

                   Le signal apparaîtra sous la forme d’un commentaire sur le graphique selon les conditions de cette stratégie :

                  Fenêtre Simple Stochastic System - Downtrend - vente

                  • Troisième stratégie : Stratégie en mouvement latéral
                    • Signal d'achat :

                  %K, %D < 20 --> %K > %D = signal d’achat

                  %K, %D > 80 --> %K < %D = signal de prise de profit

                  Le code suivant permet de créer un programme capable d'exécuter cette stratégie en cas de mouvement latéral :

                  //+------------------------------------------------------------------+
                  //|           Simple Stochastic System - Sideways - Buy Strategy.mq5 |
                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                  //|                                             https://www.mql5.com |
                  //+------------------------------------------------------------------+
                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                  #property link      "https://www.mql5.com"
                  #property version   "1.00"
                  //+------------------------------------------------------------------+
                  void OnTick()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];
                     
                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        
                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);
                     
                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "Take Profit";
                        }
                        
                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);  
                        
                    }
                  //+------------------------------------------------------------------+

                  Les différences sont les suivantes :

                  • Conditions de croisement selon le signal d'achat de la stratégie en mouvement latéral :

                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        

                  • Le commentaire du signal d'achat de la stratégie en mouvement latéral :

                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);

                  • Conditions du signal de prise de profit de la stratégie en mouvement latéral :

                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "Take Profit";
                        }
                        

                  • Le commentaire du signal de prise de profit de la stratégie en mouvement latéral :

                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);

                  Après avoir été compilé, le fichier de ce système de trading apparaîtra dans la fenêtre du Navigateur :

                  Navigateur 4

                  Glissez et déposez le fichier sur le graphique. La fenêtre suivante sera alors ouverte :

                  Fenêtre Simple Stochastic System - Sideways - Buy

                  Après avoir appuyé sur OK, le fichier sera automatiquement attaché au graphique :

                  Simple Stochastic System - Sideways - Buy attaché

                  Le signal sera affiché sous la forme d’un commentaire sur le graphique selon cette stratégie. L'image suivante montre ce signal :

                  Simple Stochastic System - Sideways - Buy - achat

                  Exemple du signal "take profit" :

                  Simple Stochastic System - Sideways - Buy - TP

                    • Stratégie en mouvement latéral : signal de vente

                  %K, %D > 80 --> %K < %D = signal de vente

                  %K, %D < 20 --> %K > %D = signal de prise de profit

                  Voici le code de cette stratégie :

                  //+------------------------------------------------------------------+
                  //|          Simple Stochastic System - Sideways - Sell Strategy.mq5 |
                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                  //|                                             https://www.mql5.com |
                  //+------------------------------------------------------------------+
                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                  #property link      "https://www.mql5.com"
                  #property version   "1.00"
                  //+------------------------------------------------------------------+
                  void OnTick()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];  
                     
                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                        
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
                     
                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "TAKE PROFIT";
                        }         
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
                    }
                  //+------------------------------------------------------------------+
                  

                  Les différences sont les suivantes :

                  • Conditions du croisement selon le signal de vente de la stratégie en mouvement latéral :
                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                  • Le commentaire du signal de vente 'achat de la stratégie en mouvement latéral :
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
                  • Conditions du signal de prise de profit de la stratégie en mouvement latéral :
                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "TAKE PROFIT";
                        }   
                  • Le commentaire du signal de prise de profit de la stratégie en mouvement latéral : 
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  

                  Après avoir été compilé, le fichier de ce système de trading apparaîtra dans la fenêtre du Navigateur :

                  Navigateur 5

                  Glissez et déposez ce fichier sur le graphique. La fenêtre suivante s'ouvrira :

                  Fenêtre Simple Stochastic System - Sideways - Sell

                  Après avoir appuyé sur OK, le programme sera attaché au graphique pour commencer à générer des signaux :

                  Simple Stochastic System - Sideways - Sell - attaché

                  L'image suivante est un exemple de signal de vente généré par cette stratégie :

                  Simple Stochastic System - Sideways - Sell - vente

                  L'image suivante est un exemple de signal de prise de bénéfices généré par cette stratégie :

                  Simple Stochastic System - Sideways - Sell - TP

                  Conclusion

                  Nous voici à la fin de cet article. Nous avons vu ensemble les bases de la création d'un système de trading simple en utilisant l'indicateur technique "Oscillateur Stochastique" qui est l'un des indicateurs les plus populaires dans le monde du trading. J'espère que vous avez compris ce qu'est l'oscillateur Stochastique, ce qu'il mesure et comment le calculer - nous l'avons examiné en détail. J'espère que vous avez appris quelque chose de nouveau, sur la façon d'utiliser l'indicateur Stochastique et quelques stratégies simples. L'article présente également un plan de ces stratégies sur la base desquelles il est possible de créer un système de trading facilement. Nous avons également examiné comment concevoir un système de trading basé sur ces stratégies simples.

                  J'espère que vous avez trouvé cet article utile, et qu'il vous aidera à trouver de nouvelles idées en vous donnant un aperçu de l'un des indicateurs les plus populaires et les plus utiles - l’oscillateur Stochastique, dans le monde du trading.

                  Traduit de l’anglais par MetaQuotes Ltd.
                  Article original : https://www.mql5.com/en/articles/10692

                  Derniers commentaires | Aller à la discussion (5)
                  Emmanuel Tiousse
                  Emmanuel Tiousse | 28 sept. 2022 à 21:50
                  J'aimerais savoir si ont n'a pas de carte visa , après avoir gagné comment pourrais- je faire le retrait

                  Dongmo4
                  Dongmo4 | 29 sept. 2022 à 11:29
                  Emmanuel Tiousse #:
                  J'aimerais savoir si ont n'a pas de carte visa , après avoir gagné comment pourrais- je faire le retrait

                  Gagner quoi au juste
                  MetaQuotes
                  Alexey Petrov | 29 sept. 2022 à 14:54
                  Emmanuel Tiousse # :
                  J'aimerais savoir si ont n'a pas de carte visa , après avoir gagné comment pourrais- je faire le retrait

                  Comment votre question est-elle liée à la discussion de l'article ?

                  Veuillez utiliser les fils de discussion pertinents. Et fournissez également suffisamment de détails pour comprendre votre question. Je crois que vous parlez de gagner de l'argent grâce au trading?
                  58051101 Jaurès ADOMOU
                  58051101 Jaurès ADOMOU | 26 nov. 2022 à 16:08
                  Dongmo4 #:
                  Gagner quoi au juste
                  Écris moi sur le numéro watsapp+22957442981 je vais te montrer ça
                  58051101 Jaurès ADOMOU
                  58051101 Jaurès ADOMOU | 26 nov. 2022 à 16:10
                  Emmanuel Tiousse #:
                  J'aimerais savoir si ont n'a pas de carte visa , après avoir gagné comment pourrais- je faire le retrait

                  Écrivez moi sur le numéro watsapp +229 57442981 pour que je vous montre comment ça se passe 
                  Ce qu’il est possible de faire avec les Moyennes Mobiles Ce qu’il est possible de faire avec les Moyennes Mobiles
                  L'article propose plusieurs méthodes d'application des moyennes mobiles. Chaque méthode impliquant une analyse des courbes est accompagnée d'indicateurs permettant de la visualiser. Dans la plupart des cas, les idées présentées dans cet article appartiennent à leurs auteurs respectifs. Ma seule tâche a été de les rassembler pour vous permettre de voir les principales approches et, espérons-le, de prendre des décisions de trading plus raisonnables. Niveau de compétence en MQL5 : débutant
                  Apprenez à concevoir un système de trading basé sur le MACD Apprenez à concevoir un système de trading basé sur le MACD
                  Dans cet article, nous allons découvrir un nouvel outil dans notre série : nous allons apprendre à concevoir un système de trading basé sur l'un des indicateurs techniques les plus populaires, le Moving Average Convergence Divergence (MACD).
                  Science des données et Apprentissage Automatique (Partie 01) : Régression Linéaire Science des données et Apprentissage Automatique (Partie 01) : Régression Linéaire
                  Il est temps pour nous, en tant que traders, de nous former, ainsi que nos systèmes, à prendre des décisions en fonction de ce que disent les chiffres Pas en fonction de nos yeux et de ce que nos tripes nous font croire. C'est par là que le monde se dirige, alors avançons perpendiculairement à la direction de la vague.
                  Plusieurs indicateurs sur un même graphique (Partie 06) : Transformer MetaTrader 5 en un système RAD (II) Plusieurs indicateurs sur un même graphique (Partie 06) : Transformer MetaTrader 5 en un système RAD (II)
                  Dans mon précédent article, je vous ai montré comment créer un Chart Trade en utilisant les objets MetaTrader 5 et transformer ainsi la plateforme en un système RAD. Le système fonctionne très bien. Il est certain que de nombreux lecteurs auraient créé une bibliothèque, ce qui permettrait d'avoir des fonctionnalités étendues dans le système proposé. A partir de là, il serait possible de développer un Expert Advisor plus intuitif, avec une interface plus agréable et plus facile à utiliser.