English Русский 中文 Español Deutsch 日本語 Português 한국어 Italiano Türkçe
preview
Apprendre à concevoir un système de trading basé sur la Puissance des Baissiers (Bears Power)

Apprendre à concevoir un système de trading basé sur la Puissance des Baissiers (Bears Power)

MetaTrader 5Trading | 21 juillet 2023, 09:35
1 704 1
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Introduction

Dans ce nouvel article de notre série, nous allons apprendre un nouvel outil technique qui peut être utilisé en notre faveur, surtout si nous le combinons avec d'autres outils techniques. Nous allons apprendre à créer un système de trading grâce à l'indicateur technique Bear's Power ou Puissance des Baissiers. Comme nous le faisons dans notre article de cette série, nous essayons de comprendre la base pour l’utiliser de manière efficace. Nous allons découvrir cet indicateur technique en détail grâces aux rubriques suivantes :

  1. Définition du Bears Power ou Puissance des Baissiers
  2. Stratégie Bears Power
  3. Plan de la stratégie Bears Power
  4. Système de trading Bears Power
  5. Conclusion

Dans le cadre de la définition du Bears Power, nous allons découvrir en détail l'indicateur n apprenant ce qu'il est, ce qu'il mesure, comment nous pouvons le calculer manuellement pour apprendre son concept de base, et comment nous pouvons l'insérer et l'utiliser dans la plateforme de trading MetaTrader 5. Après avoir appris les bases et compris le concept principal de cet indicateur, nous allons apprendre à l'utiliser à travers quelques stratégies simples pour approfondir notre compréhension grâce à la stratégie Bears Power. Cette étape est très importante car elle nous aidera à créer notre système de trading en douceur, comme nous le verrons avec le plan de la stratégie Bears Power. Nous aborderons ensuite le sujet le plus intéressant de cet article : le système de trading Bears Power, car nous apprendrons comment créer un système de trading basé sur les stratégies mentionnées en MQL5 (MetaQuotes Language) à exécuter dans le terminal de trading MetaTrader 5.

Je vous conseille d'essayer d'appliquer et de coder ce que vous apprenez par vous-même. La pratique est un facteur important dans tout processus d'apprentissage, car elle vous aidera à bien comprendre le sujet. Nous utiliserons dans cet article, comme j'ai mentionné, la plateforme de trading MetaTrader 5 et son IDE intégré pour écrire notre code en MQL5. Si vous voulez savoir comment vous pouvez les télécharger et les utiliser, vous pouvez lire la rubrique Écrire du code MQL5 dans MetaEditor d'un article précédent.

Avertissement : Toutes les informations données dans cet article sont fournies "en l'état", uniquement à des fins d'information et ne sont aucunement 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.

C’est parti.


Définition du Bears Power ou Puissance des Baissiers

Dans cette rubrique, nous allons découvrir plus en détail l'indicateur Bears Power. Nous allons voir ce qu'il est, ce qu'il mesure et comment nous pouvons le calculer et l'utiliser dans MetaTrader 5. L'indicateur Bears Power est un indicateur qui oscille autour du niveau 0 et qui mesure le caractère baissier du marché. Il peut également nous indiquer que les haussiers entrent en jeu et que les baissiers sont devenus faibles. Nous savons tous que l'offre et la demande sont très importantes sur n'importe quel marché, car ce sont les véhicules et la puissance qui font évoluer les marchés à la hausse ou à la baisse. Il est donc important de savoir dans quelle mesure les haussiers et les baissiers contrôlent les marchés. Cet indicateur a été créé par le Dr. Alexander Elder pour mesurer ce concept et voir dans quelle mesure les baissiers contrôlent le marché.

La réponse à cette question peut être obtenue en apprenant comment calculer cet indicateur. Pour cela , nous suivrons la procédure suivante :

  1. Déterminer le niveau le Plus Bas de la période.
  2. Calculer la moyenne mobile exponentielle (EMA). Pour en savoir plus et savoir comment la calculer, vous pouvez lire mon article précédent sur la moyenne mobile, Apprenez à concevoir différents systèmes de moyenne mobile.
  3. Calculer la valeur du Bears Power en soustrayant l'EMA du Plus Bas.

Plus Bas = les valeurs les plus basses au cours de la période.

EMA = la moyenne mobile exponentielle.

Bears Power = Plus Bas - EMA

Nous savons que les baissiers contrôlent le marché, ils continuent à le faire baisser la plupart du temps. Nous utilisons donc la valeur du Plus Bas dans la formule de calcul du Bears Power pour mesurer ces baissiers. Nous obtenons alors la différence entre ce Plus Bas et l'EMA pour obtenir un indicateur qui oscille autour du niveau 0. Lorsque sa valeur devient positive (croise le niveau zéro à la hausse), les baissiers se sont affaiblis.

Il est bon d'utiliser cet indicateur avec un autre indicateur de tendance pour obtenir des indications plus efficaces, comme nous le ferons dans l'une des stratégies mentionnées dans cet article. Ce concept est tout à fait magnifique et constitue l'une des plus belles caractéristiques de l'analyse technique. Nous pouvons en effet utiliser de nombreux concepts pour obtenir davantage d'informations et voir l'instrument sous différents angles.

Pour insérer cet indicateur dans MetaTrader 5, ouvrez le terminal de trading et allez dans le menu Insertion --> Indicateurs --> Oscillateurs --> Bears Power. Voici la même insertion illustrée :

Insertion du Bears Power

Après avoir sélectionné l’indicateur "Bears Power" pour l'insérer sur le graphique, sa fenêtre des paramètres est affichée comme suit :

Paramètres Bears Power

1 - Période utilisée dans le calcul.

2 - Couleur des barres.

3 - Epaisseur des barres.

Après avoir déterminé ses paramètres et appuyé sur le bouton "OK", l'indicateur est inséré dans le graphique :

Bears Power attaché

Comme nous pouvons le voir dans le graphique précédent, dans la partie inférieure, l'indicateur est attaché au graphique et ses barres oscillent autour de 0. Comme nous l'avons mentionné, lorsque la valeur est inférieure à 0, cela signifie que les Baissiers contrôlent. Lorsque la valeur s’approche de 0 et devient positive, cela signifie qu'ils se sont affaiblis.


Stratégie Bears Power

Dans cette partie, nous allons apprendre comment utiliser le Pouvoir des Baissiers au travers de stratégies simples pouvant être utilisées en se basant sur le concept de base de cet indicateur. Ces stratégies et leurs conditions sont décrites ci-dessous. Je dois rappeler ici que ces stratégies sont destinées à l'éducation car l'objectif principal est de comprendre le concept principal derrière l'indicateur et comment nous pouvons l'utiliser. Vous devez donc tester chacune d'entre elles avant de les utiliser sur votre compte réel pour vous assurer qu'elles seront bonnes pour votre trading.

    Première stratégie : Mouvement du Bears Power

      Selon cette stratégie, nous devons obtenir des signaux basés sur les valeurs actuelle et précédente du Bears Power. Si la valeur actuelle est supérieure à la précédente, cela indique que l'indicateur Bears Power est en hausse. Inversement, lorsque la valeur actuelle est inférieure à la valeur précédente, il s'agit de baisse du Bears Power.

      Plus simplement :

      Bears Power actuel > Bears Power précédent --> la puissance des baissiers augmente

      Bears Power actuel < Bears Power précédent --> la puissance des baissiers est en baisse

        Deuxième stratégie : Bears Power - Fort ou Divergence

          Selon cette stratégie, nous devons obtenir un signal qui nous informe s'il y a de forts mouvements ou s'il y a des divergences en évaluant 4 valeurs : le Plus Bas actuel, le Plus Bas précédent, le Bears Power actuel et le Bears Power précédent. Si le Plus Bas actuel est plus bas que le Plus Bas précédent et que la valeur actuelle du Bears Power est plus basse que la précédente, c'est le signal d'un mouvement fort. Si le Plus Bas actuel est plus bas que le précédent et que le Bears Power actuel est plus haut que le précédent, il s'agit d'un signal de divergence haussière.

          Plus simplement :

          Plus Bas actuel < Plus Bas précédent et Bears Power actuel < Bears Power précédent --> mouvement fort

          Plus Bas actuel < Plus Bas précédent et Bears Power actuel > Bears Power précédent --> divergence haussière

            3ème stratégie

              Selon cette stratégie, nous avons besoin d'un déclencheur qui peut être utilisé pour obtenir des signaux d'achat et de vente. Nous évaluerons 4 valeurs pour ce faire sur la base de cette stratégie. Ces 4 valeurs sont le Bears Power actuel, le niveau 0, le prix de clôture actuel et la moyenne mobile exponentielle actuelle. Si le Bears Power actuel est supérieur au niveau 0 et que la clôture actuelle est supérieure à la moyenne mobile exponentielle, il s'agira d'un signal d'achat. Si le Bears Power actuel est inférieur au niveau 0 et que la clôture actuelle est inférieure à la moyenne mobile exponentielle, il s'agit d'un signal de vente.

              Plus simplement :

              Bears Power actuel > 0 et clôture actuelle > EMA --> achat

              Bears Power actuel < 0 et clôture actuelle < EMA --> vendre


              Plan de la stratégie Bears Power

              Dans cette rubrique, nous apprendrons à concevoir un plan détaillé, étape par étape, pour chaque stratégie mentionnée afin de nous aider à créer des systèmes de trading pour ces stratégies facilement et sans heurts, après avoir organisé nos idées en étapes claires.

                Première stratégie : Mouvement du Bears Power

                  Nous devons tout d’abord comprendre ce que le programme doit faire pour organiser nos étapes. Ainsi, nous avons besoin que l'ordinateur vérifie 2 valeurs à chaque tick : les valeurs actuelle et précédente du Bears Power. Le programme doit vérifier ces valeurs pour déterminer laquelle est plus grande que l'autre. Si l'actuel est supérieur au précédent, l'expert doit renvoyer un commentaire sur le graphique avec ce qui suit :

                  • Le Bears Power augmente
                  • Valeur actuelle du Bears Power
                  • Valeur précédente du Bears Power

                  Nous devons faire apparaître chaque valeur sur une ligne distincte. 

                  L'autre scénario est le suivant : si la valeur actuelle du Bears Power est supérieure à la précédente, l’Expert Advisor doit renvoyer un commentaire contenant également les valeurs suivantes, chaque valeur étant placée sur une ligne distincte :

                  • Le Bears Power est en baisse
                  • Valeur actuelle du Bears Power
                  • Valeur précédente du Bears Power

                  Voici donc un plan détaillé de cette stratégie pour créer un système de trading.

                  Mouvement du Bears Power

                    Deuxième stratégie : Bears Power - Fort ou Divergence

                      Sur la base de cette stratégie, le système de trading doit vérifier 4 valeurs : le Plus Bas actuel, le Plus Bas précédent, le Bears Power actuel et le Bears Power précédent. Ensuite, nous devons décider si la valeur basse actuelle est inférieure à la précédente et si, dans le même temps, la valeur actuelle du Bears Power est inférieure à la précédente, le système de trading doit renvoyer un signal sous forme de commentaire sur le graphique avec les valeurs suivantes, chacune d'entre elles se trouvant sur une ligne séparée :

                      • Mouvement fort
                      • Le Plus Bas actuel
                      • La Plus Bas précédent
                      • Le Bears Power actuel
                      • Le Bears Power précédent

                      Dans l'autre cas, si la valeur basse actuelle est inférieure à la précédente et que, dans le même temps, la valeur actuelle du Bears Power est supérieure à la précédente, le système de trading doit renvoyer un signal de commentaire sur le graphique avec les valeurs suivantes :

                      • Divergence haussière
                      • Le Plus Bas actuel
                      • La Plus Bas précédent
                      • Le Bears Power actuel
                      • Le Bears Power précédent

                      Ce qui suit est un plan étape par étape pour nous aider à créer un système de trading basé sur cette stratégie.

                      Plan du Bears Power - Fort ou Divergence

                       

                        3ème stratégie : Signaux du Bears Power

                          Sur la base de cette stratégie, nous devons créer un système de trading qui vérifie 4 valeurs à chaque tick : le Bears Power actuel, le niveau 0, la clôture actuelle et la moyenne mobile exponentielle actuelle. Nous devons décider si le Bears Power actuel est supérieur au niveau 0 et en même temps si la clôture actuelle est supérieure à la moyenne mobile exponentielle. L’Expert Advisor doit alors renvoyer un commentaire sur le graphique avec les valeurs suivantes et chacune d'entre elles dans une ligne séparée :

                          • Signal d’Achat
                          • Valeur de clôture actuelle
                          • Valeur actuelle de l'EMA
                          • Le Bears Power actuel

                          Dans l'autre cas, si le Bears Power actuel est inférieur à 0 et que, dans le même temps, la clôture actuelle est inférieure à la moyenne mobile exponentielle, le système de trading doit renvoyer un commentaire avec les valeurs suivantes :

                          • Signal de vente
                          • Valeur de clôture actuelle
                          • Valeur actuelle de l'EMA
                          • Le Bears Power actuel

                          Ce qui suit est un plan étape par étape pour organiser nos idées pour créer un système de trading basé sur cette stratégie :

                          Plan des Signaux du Bears Power

                          Système de trading Bears Power

                          Dans cette rubrique, nous apprendrons à créer un système de trading pour chaque stratégie mentionnée. Mais nous créerons un système de trading simple pour le Bears Power afin de renvoyer un commentaire sur le graphique avec la valeur actuelle du Bears Power pour l'utiliser comme base pour toutes les stratégies.

                          Le code suivant permet de créer ce système de trading.

                          Nous allons créer un tableau "bearpower" d’éléments de type double :

                          double bearpowerArray[];

                          Tri de ce tableau avec la fonction "ArraySetAsSeries".

                          ArraySetAsSeries(bearpowerArray,true);

                          Définition de l’indicateur du Bears Power en utilisant la fonction "iBearsPower" pour renvoyer un handle sur l'indicateur. Les paramètres sont les suivants :

                          • symbole : nous utiliserons _Symbol pour l'appliquer au symbole actuel.
                          • période : nous utiliserons _Period pour l'appliquer à la période en cours.
                          • ma_period : nous utiliserons 13 pour la période de la moyenne mobile.
                          int bearpowerDef = iBearsPower(_Symbol,_Period,13);

                          Remplissage du tableau avec la fonction CopyBuffer pour récupérer les données de l'indicateur Bears Power. Voici les paramètres de cette fonction :

                          • indicator_handle : la poignée de l'indicateur, nous utiliserons bearpowerDef.     
                          • buffer_num : le numéro du buffer de l'indicateur, nous utiliserons 0.
                          • start_pos : la position de départ, nous utiliserons 0.         
                          • count : le nombre d’éléments à copier, nous utiliserons 3.                
                          • buffer[] : le tableau destination, nous utiliserons bearpowerArray.
                          CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);

                          Définition de "bearpowerVal" avec la fonction "NormalizeDouble" pour renvoyer une valeur de type double. Voici les paramètres de cette fonction :

                          • valeur : nous utiliserons bearpowerArray[0] comme nombre normalisé.
                          • chiffres : nous utiliserons 6 comme nombre de chiffres après la virgule.
                          double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);

                          Nous devons générer un commentaire sur le graphique avec la valeur actuelle du Bears Power avec la fonction "Comment" :

                          Comment("Bear's Power Value is ",bearpowerVal);

                          Voici le code complet permettant de créer ce système de trading simple :

                          //+------------------------------------------------------------------+
                          //|                                          Simple Bear's Power.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()
                            {
                             double bearpowerArray[];
                          
                             ArraySetAsSeries(bearpowerArray,true);
                          
                             int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                          
                             CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                          
                             double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                          
                             Comment("Bear's Power Value is ",bearpowerVal);
                          
                            }
                          //+------------------------------------------------------------------+

                          Après avoir compilé ce code, nous trouverons l'expert de cette stratégie dans la fenêtre du Navigateur :

                          Bears Power dans le Navigateur

                          En glissant et déposant cet expert sur le graphique, la fenêtre du programme est affichée :

                          Fenêtre Bears Power Simple

                          Après avoir appuyé sur "OK", l'expert est attaché au graphique :

                          Bears Power Simple attaché

                          Comme nous pouvons le voir dans le coin supérieur droit du graphique précédent, l'expert est maintenant attaché au graphique. Nous pouvons ensuite voir les signaux générés sur le graphique, comme dans l'exemple de test suivant :

                          Signal du Bears Power Simple

                          Comme nous pouvons le voir dans le graphique précédent, dans le coin supérieur gauche, nous avons la valeur actuelle du Bears Power.

                            Première stratégie : Mouvement du Bears Power

                              Voici le code complet pour créer le système de trading pour cette stratégie :

                              //+------------------------------------------------------------------+
                              //|                                        Bear's Power Movement.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()
                                {
                                 double bearpowerArray[];
                              
                                 ArraySetAsSeries(bearpowerArray,true);
                              
                                 int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                              
                                 CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                              
                                 double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                 double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);
                              
                                 if(bearpowerVal>bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is rising","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }
                              
                                 if(bearpowerVal<bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is declining","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }
                                }
                              //+------------------------------------------------------------------+

                              Voici les différences dans ce code :

                              Définition de la valeur actuelle du Bears Power "bearpowerVal" et de la valeur précédente du Bears Power "bearpowerPrevVal" :

                                 double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                 double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);

                              Conditions de la stratégie :

                              En cas de hausse :

                                 if(bearpowerVal>bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is rising","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }

                              En cas de baisse :

                                 if(bearpowerVal<bearpowerPrevVal)
                                   {
                                    Comment("Bear's Power is declining","\n",
                                            "Bear's Power Value is ",bearpowerVal,"\n",
                                            "Bear's Power Previous Value is ",bearpowerPrevVal);
                                   }

                              Après avoir compilé ce code, nous pourrons voir l'expert de cette stratégie dans la fenêtre du Navigateur :

                              Bears Power dans le Navigateur 2

                              En glissant et déposant cet expert sur le graphique, la fenêtre du programme est affichée de la façon suivante :

                              Fenêtre du Mouvement du Bears Power

                              Après avoir appuyé sur "OK", l'expert est attaché au graphique :

                              Mouvement du Bears Power attaché

                              Comme nous pouvons le voir dans le coin supérieur droit du graphique précédent, l'expert est maintenant attaché au graphique. Les signaux sont ensuite générés :

                              En cas de hausse, avec les des données actuelles :

                              Mouvement du Bears Power - en hausse - données actuelles

                              Comme nous pouvons le voir sur le graphique précédent dans la partie supérieure du graphique, nous avons généré un signal de hausse, la valeur actuelle du Bears Power et la valeur précédente du Bears Power. Dans la fenêtre des données, nous pouvons trouver la valeur actuelle du Bears Power.

                              En cas de hausse, avec les données précédentes :

                              Mouvement du Bears Power - en hausse - données précédentes

                              Comme nous pouvons le voir sur le graphique précédent, nous pouvons trouver une différence dans la fenêtre des données avec la valeur précédente du Bears Power.

                              En cas de baisse, avec les données actuelles :

                              Mouvement du Bears Power - en baisse - données actuelles

                              Comme nous pouvons le voir dans la partie supérieure du graphique précédent, nous avons généré un signal de baisse, la valeur actuelle du Bears Power et la valeur précédente du Bears Power. Dans la fenêtre des données, nous pouvons trouver la valeur actuelle du Bears Power.

                              En cas de baisse, avec les données précédentes :

                              Mouvement du Bears Power - en baisse - données précédentes

                              Comme nous pouvons le voir sur le graphique précédent, nous pouvons voir une différence dans la fenêtre des données avec la dernière valeur du Bears Power.

                                Deuxième stratégie : Bears Power - Fort ou Divergence

                                  Voici le code complet pour créer le système de trading pour cette stratégie :

                                  //+------------------------------------------------------------------+
                                  //|                          Bear's Power - Strong or Divergence.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()
                                    {
                                     double bearpowerArray[];
                                     MqlRates priceArray[];
                                  
                                     ArraySetAsSeries(bearpowerArray,true);
                                     int Data=CopyRates(_Symbol,_Period,0,3,priceArray);
                                  
                                     int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                                  
                                     CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                                  
                                     double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                     double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);
                                  
                                     double currentLowVal=NormalizeDouble(priceArray[2].low,6);
                                     double prevLowVal=NormalizeDouble(priceArray[1].low,6);
                                  
                                     if(currentLowVal<prevLowVal && bearpowerVal<bearpowerPrevVal)
                                       {
                                        Comment("Strong Move","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }
                                  
                                     if(currentLowVal<prevLowVal && bearpowerVal>bearpowerPrevVal)
                                       {
                                        Comment("Bullish divergence","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }
                                    }
                                  //+------------------------------------------------------------------+

                                  Voici les différences dans ce code :

                                  Création de 2 tableaux bearpowerArray et priceArray :

                                     double bearpowerArray[];
                                     MqlRates priceArray[];

                                  Pour trier les tableaux créés, nous utiliserons la fonction "ArraySetAsSeries" pour le tableau bearpower. Pour le tableau des prix, nous utiliserons la fonction "CopyRates" pour obtenir les données historiques de "MqlRates". Ses paramètres sont les suivants :

                                  • nom du symbole : nous utiliserons _Symbol.
                                  • période : nous utiliserons _Period.
                                  • heure de début : nous utiliserons 0.
                                  • heure de fin : nous utiliserons 3.
                                  • tableau des taux : nous utiliserons pArray.
                                     ArraySetAsSeries(bearpowerArray,true);
                                     int Data=CopyRates(_Symbol,_Period,0,3,priceArray);

                                  Définition des valeurs actuelles et précédentes du Bears Power et des Plus Bas en utilisant la fonction "NormalizeDouble".

                                     double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                     double bearpowerPrevVal = NormalizeDouble(bearpowerArray[1],6);
                                  
                                     double currentLowVal=NormalizeDouble(priceArray[2].low,6);
                                     double prevLowVal=NormalizeDouble(priceArray[1].low,6);

                                  Les conditions de la stratégie :

                                  En cas de mouvement fort :

                                     if(currentLowVal<prevLowVal && bearpowerVal<bearpowerPrevVal)
                                       {
                                        Comment("Strong Move","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }

                                  En cas de divergence haussière :

                                     if(currentLowVal<prevLowVal && bearpowerVal>bearpowerPrevVal)
                                       {
                                        Comment("Bullish divergence","\n",
                                                "Current Low Value is ",currentLowVal,"\n",
                                                "Previous Low Value is ",prevLowVal,"\n",
                                                "Bear's Power Value is ",bearpowerVal,"\n",
                                                "Bear's Power Previous Value is ",bearpowerPrevVal);
                                       }

                                  Après avoir compilé ce code, l'expert est visible dans la fenêtre du Navigateur :

                                  Bears Power dans le Navigateur 3

                                  En glissant et déposant cet expert sur le graphique, la fenêtre du programme est affichée :

                                  Fenêtre Bears Power - Fort ou Divergence

                                  Après avoir appuyé sur "OK", l'expert est attaché au graphique :

                                  Bears Power - Fort ou Divergence attaché

                                  Comme nous pouvons le voir sur le graphique précédent, dans le coin supérieur droit du graphique, l'expert du Bears Power - Fort ou Divergence est attaché au graphique. Ensuite, nous pouvons trouver les signaux générés basés sur cette stratégie de la manière suivante.

                                  Dans le cas d'un mouvement fort, avec les données actuelles :

                                  Bears Power - Fort ou Divergence - fort - données actuelles

                                  Comme nous pouvons le voir sur le graphique, nous avons le signal tel que nous le souhaitons avec un commentaire et les valeurs suivantes :

                                  • Mouvement fort
                                  • Valeur basse actuelle
                                  • Valeur basse précédente
                                  • Valeur actuelle du Bears Power
                                  • Valeur précédente du Bears Power 

                                  En cas de mouvement, avec les données précédentes :

                                  Bears Power - Fort ou Divergence - fort - données précédentes

                                  Comme nous pouvons le voir sur le graphique précédent, nous avons le même commentaire qu'un signal sur le graphique avec les mêmes valeurs, mais avec la fenêtre des données précédentes.

                                  En cas de divergence haussière, avec les données actuelles :

                                  Bears Power - Fort ou Divergence - Divergence haussière - données actuelles

                                  Comme nous pouvons le voir sur le graphique précédent, un commentaire est affiché sur le graphique avec les valeurs suivantes :

                                  • Divergence haussière
                                  • Valeur basse actuelle
                                  • Valeur basse précédente
                                  • Valeur actuelle du Bears Power
                                  • Valeur précédente du Bears Power  

                                  En cas de divergence haussière, avec les données précédentes :

                                  Bears Power - Fort ou Divergence - Divergence haussière - données précédentes

                                  Comme nous pouvons le voir sur le graphique précédent, un commentaire est affiché sur le graphique avec la même valeur que dans la fenêtre des données précédentes.

                                    3ème stratégie : Signaux du Bears Power

                                      Voici le code complet permettant de créer un système de trading basé sur cette stratégie :

                                      //+------------------------------------------------------------------+
                                      //|                                         Bear's Power signals.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()
                                        {
                                         double bearpowerArray[];
                                         double maArray[];
                                         MqlRates priceArray[];
                                      
                                         ArraySetAsSeries(bearpowerArray,true);
                                         ArraySetAsSeries(maArray,true);
                                         int Data=CopyRates(_Symbol,_Period,0,3,priceArray);
                                      
                                         int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                                         int maDef = iMA(_Symbol,_Period,13,0,MODE_EMA,PRICE_CLOSE);
                                      
                                         CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                                         CopyBuffer(maDef,0,0,3,maArray);
                                      
                                         double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                      
                                         double emaVal = NormalizeDouble(maArray[0],6);
                                      
                                         double currentClose=NormalizeDouble(priceArray[2].close,6);
                                      
                                         if(bearpowerVal>0 && currentClose>emaVal)
                                           {
                                            Comment("Buy Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }
                                      
                                         if(bearpowerVal<0 && currentClose<emaVal)
                                           {
                                            Comment("Sell Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }
                                        }
                                      //+------------------------------------------------------------------+
                                      

                                      Voici les différences dans ce code :

                                      Création de 3 tableaux, bearpowerArray, naArray et priceArray :

                                         double bearpowerArray[];
                                         double maArray[];
                                         MqlRates priceArray[];

                                      Tr des tableaux créés :

                                         ArraySetAsSeries(bearpowerArray,true);
                                         ArraySetAsSeries(maArray,true);
                                         int Data=CopyRates(_Symbol,_Period,0,3,priceArray);

                                      Définition de l'indicateur Bears Power en utilisant la fonction "iBearsPower" comme nous l'avons mentionné précédemment, et de l'indicateur Moving Average en utilisant la fonction "iMA" qui renvoie le handle de l'indicateur de moyenne mobile.

                                         int bearpowerDef = iBearsPower(_Symbol,_Period,13);
                                         int maDef = iMA(_Symbol,_Period,13,0,MODE_EMA,PRICE_CLOSE);

                                      Remplissage du tableau en utilisant la fonction "CopyBuffer" pour obtenir les données des indicateurs Bears Power et Moving Average.

                                         CopyBuffer(bearpowerDef,0,0,3,bearpowerArray);
                                         CopyBuffer(maDef,0,0,3,maArray);

                                      Définition du Bears Power actuel, de la moyenne mobile exponentielle et du prix de clôture actuel.

                                         double bearpowerVal = NormalizeDouble(bearpowerArray[0],6);
                                         double emaVal = NormalizeDouble(maArray[0],6);
                                         double currentClose=NormalizeDouble(priceArray[2].close,6);

                                      Conditions de cette stratégie :

                                      Dans le cas d'un signal d'achat :

                                         if(bearpowerVal>0 && currentClose>emaVal)
                                           {
                                            Comment("Buy Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }

                                      Dans le cas d'un signal de vente :

                                         if(bearpowerVal<0 && currentClose<emaVal)
                                           {
                                            Comment("Sell Signal","\n",
                                                    "Current Close Value is ",currentClose,"\n",
                                                    "Current EMA Value is ",emaVal,"\n",
                                                    "Bear's Power Value is ",bearpowerVal);
                                           }

                                      Après avoir compilé ce code, nous le trouverons dans la fenêtre du Navigateur sous la forme suivante :

                                      Bears Power dans le Navigateur 4

                                      En glissant et déposant cet expert sur le graphique, la fenêtre du programme est affichée de la façon suivante :

                                      Fenêtre des Signaux du Bears Power

                                      Après avoir appuyé sur "OK", l'expert est attaché au graphique :

                                      Signaux du Bears Power attaché

                                      Nous pouvons voir que l'expert est attaché au graphique dans le coin supérieur droit. Les signaux générés basés sur ce système de trading sont affichés comme suit :

                                      Dans le cas d'un signal d'achat :

                                      Signaux du Bears Power - achat

                                      Comme nous pouvons le voir sur le graphique, nous avons un commentaire avec les valeurs suivantes :

                                      • Signal d'achat
                                      • Valeur de clôture actuelle
                                      • Valeur actuelle de l'EMA
                                      • Valeur du Bears Power

                                      En cas de signal de vente :

                                      Signaux du Bears Power - vente

                                      Comme nous pouvons le voir sur le graphique, le signal désiré se présente sous la forme d'un commentaire sur le graphique avec les valeurs suivantes :

                                      • Signal de vente
                                      • Valeur de clôture actuelle
                                      • Valeur actuelle de l'EMA
                                      • Valeur du Bears Power


                                      Conclusion

                                      Je pense que nous avons couvert les bases de cet indicateur avec les rubriques précédentes. Nous avons appris plus en détail ce qu'est l'indicateur Bears Power, ce qu'il mesure, comment nous pouvons le calculer et comment nous pouvons insérer et utiliser l'indicateur Bears Power intégré à MetaTrader 5 à travers la définition du Bears Power. Après avoir compris l'indicateur en détail, nous avons appris à l’utiliser en nous basant sur son idée de base à travers quelques stratégies simples. L'objectif principal de ces stratégies est d'apprendre comment nous pouvons utiliser cet indicateur. Vous devez les tester avant de les utiliser sur votre compte réel afin de vous assurer qu'elles vous conviennent et que vous pouvez générer des profits grâce à elles. Ces stratégies étaient les suivantes :

                                      Mouvement du Bears Power : cette stratégie peut être utilisée pour déterminer la direction de l'indicateur du Bears Power, s'il est à la hausse ou à la baisse.

                                      Bears Power Fort ou divergence : cette stratégie peut être utilisée pour déterminer si nous avons un mouvement fort ou une divergence.

                                      Signaux du Bears Power : cette stratégie peut être utilisée pour obtenir des signaux d'achat ou de vente.

                                      Nous avons ensuite appris à concevoir un plan détaillé pour chaque stratégie mentionnée, afin de nous aider à créer un système de trading facilement et sans heurts après avoir organisé nos idées. Puis, nous avons vu la création d'un système de trading pour chaque stratégie mentionnée pour obtenir des signaux automatiquement après les avoir codés en MQL5 pour être exécutés sur le terminal de trading MetaTrader 5.

                                      J'espère que vous avez appliqué et essayé d'écrire le code mentionné par vous-même. Cela vous aidera à améliorer votre processus de codage et d'apprentissage si vous le souhaitez et cela améliorera votre courbe d'apprentissage en tant que programmeur. Comme nous devons prêter attention au code et essayer de résoudre les problèmes autant que possible, nous devons également améliorer nos compétences en matière de programmation. La programmation est une compétence importante que nous devons améliorer pour nous aider à effectuer des transactions en douceur, facilement, efficacement et avec précision. C'est aussi un gain de temps pour faire ce que nous faisons habituellement par étapes spécifiques et déterminées. L'ordinateur ou le programme peut le faire en notre faveur automatiquement. Cette approche peut aussi nous aider à éviter les émotions qui peuvent être très néfastes lorsqu'elles affectent négativement notre trading car le programme fera ce dont nous avons besoin sans aucune émotion.

                                      J'espère également que cet article vous sera utile pour améliorer votre trading et vos résultats. Si vous souhaitez lire d'autres articles similaires sur l'apprentissage de la conception d'un système de trading basé sur les indicateurs techniques les plus populaires, vous pouvez lire mes autres articles dans cette série. Nous avons partagé de nombreux indicateurs techniques dans ces articles et conçu des systèmes de trading basés sur eux et sur le concept de base qui les sous-tend à travers des stratégies simples. Vous trouverez dans ces articles la plupart des indicateurs techniques les plus populaires, par exemple la moyenne mobile, le MACD, le Stochastique, le RSI et l'ADX.

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

                                      Derniers commentaires | Aller à la discussion (1)
                                      Gerard Willia G J B M Dinh Sy
                                      Gerard Willia G J B M Dinh Sy | 22 juil. 2023 à 08:54
                                      Bonjour
                                      Merci
                                      j'aime bien le principe, pour avoir certainement comme beaucoup de monde, essayé de trouver un moyen de mesurer la force d'un mouvement.
                                      je trouve l'approche un peu simple mais c'est déjà une base
                                      il serait peut être intéressant d'étudier qq résultats du backtest pour voir ce qui ne va pas et conserver ce qui est bon ?

                                      ce que je trouve "bancale" c'est de mesurer d'un coté que les barres négative et le soustraire à une EMA qui elle prend en compte toutes les barres, positives et négatives

                                      Merci pour cet article
                                      Algorithmes d'optimisation de la population : Optimisation des Colonies de Fourmis (Ant Colony Optimization - ACO) Algorithmes d'optimisation de la population : Optimisation des Colonies de Fourmis (Ant Colony Optimization - ACO)
                                      Cette fois, je vais analyser l'algorithme d'Optimisation des Colonies de Fourmis. L'algorithme est très intéressant et complexe. Dans cet article, je tente de créer un nouveau type d'ACO.
                                      Apprendre à concevoir un système de trading basé sur le Force Index Apprendre à concevoir un système de trading basé sur le Force Index
                                      Bienvenue dans ce nouvel article de notre série consacrée à l'apprentissage de la conception d'un système de trading à l'aide d’un indicateur technique parmi les plus populaires. Dans cet article, nous allons découvrir un nouvel indicateur technique et comment créer un système de trading à l'aide de l'indicateur Force Index.
                                      Développer un Expert Advisor de trading à partir de zéro (Partie 20) : Nouveau système d'ordre (III) Développer un Expert Advisor de trading à partir de zéro (Partie 20) : Nouveau système d'ordre (III)
                                      Nous continuons à mettre en œuvre le nouveau système d’ordres. La création de ce système nécessite une bonne maîtrise de MQL5, ainsi qu'une compréhension du fonctionnement de la plateforme MetaTrader 5 et des ressources qu'elle offre.
                                      Développer un Expert Advisor de trading à partir de zéro (Partie 19) : Nouveau système d'ordres (II) Développer un Expert Advisor de trading à partir de zéro (Partie 19) : Nouveau système d'ordres (II)
                                      Dans cet article, nous allons développer un système graphique de gestion des ordres du type "regardez ce qui se passe". Notez que nous ne partons pas de zéro cette fois-ci. Nous modifierons le système existant en ajoutant davantage d'objets et d'événements sur le graphique de l'actif.