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

Apprenez à concevoir un système de trading basé sur l’indicateur Williams PR

MetaTrader 5Trading | 15 mars 2023, 10:24
1 515 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Introduction

Dans ce nouvel article de notre série sur la conception d'un système de trading basé sur les indicateurs techniques les plus populaires, nous allons apprendre à concevoir différents systèmes de trading simples basés sur un nouvel indicateur technique : le Williams Percent Range (WPR). Nous verrons également l'indicateur technique Williams Percent Range en détail pour apprendre comment l'utiliser efficacement. Si nous comprenons les choses, nous serons capables de les utiliser efficacement, mais nous pourrons aussi trouver de nouvelles idées autour de son concept principal pour obtenir des résultats exceptionnels et meilleurs en matière de trading. J'ai donc une approche qui consiste à essayer d'apprendre et d'enseigner la racine des choses pour approfondir de plus en plus notre compréhension.

Nous le verrons au travers des sujets de cet article :

  1. Définition du %R de Williams
  2. Stratégie %R de Williams
  3. Schéma de la stratégie %R de Williams
  4. Système de trading %R de Williams
  5. Conclusion

À travers sa définition, nous apprendrons ce qu'est le %R de Williams, ce qu'il mesure, et comment nous pouvons le calculer manuellement. Nous apprendrons ensuite comment utiliser correctement cet indicateur via des stratégies simples. Nous apprendrons également son concept dans le cadre de la stratégie %R de Williams. Nous allons concevoir un plan étape par étape pour chaque stratégie pour nous aider à créer un système de trading avec cet indicateur. Ce plan sera réalisé avec la stratégie %R de Williams. Nous aborderons ensuite le sujet le plus intéressant de cet article, à savoir la création d'un système de trading basé sur les stratégies mentionnées, via le système de trading %R de Williams.

En plus des sujets mentionnés, nous allons apprendre les fondamentaux de cet indicateur technique, en plus d'apprendre comment créer un système de trading simple à utiliser dans MetaTrader 5 pour générer des signaux automatiquement. Je vous encourage à tout appliquer par vous-même car cela vous aidera à comprendre en profondeur. Je veux également vous rappeler qu'il faut tester chaque stratégie de signal avant de l'utiliser sur votre compte réel pour vous assurer qu'elle vous sera utile.

Nous utiliserons le terminal de trading MetaTrader 5 et le MetaEditor intégré pour écrire nos codes MQL5 afin de créer notre système de trading sous la forme d’Expert Advisors. Si vous ne savez pas comment obtenir MetaTrader 5 ou comment écrire vos codes MQL5, vous pouvez lire le sujet Ecrire du code MQL5 dans MetaEditor d'un article précédent pour en savoir plus.

Avertissement : Toutes les informations données dans cet article 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.

Commençons maintenant à apprendre ce nouvel outil qui peut être un point de transition dans notre parcours de trading pour obtenir de meilleurs résultats.


Définition du %R de Williams

Comme je l'ai mentionné dans l'introduction, nous allons voir en détail l'indicateur %R de Williams. Le %R de Williams (WPR) est un indicateur de momentum qui a été développé par Larry Williams. Nous pouvons dire que le WPR est l'opposé de l'Oscillateur Stochastique : la différence entre eux est la façon dont ils sont mis à l'échelle. Nous pouvons également dire que le WPR peut être utilisé de la même façon que le Stochastique. Si vous voulez en savoir plus sur l'indicateur Stochastique, vous pouvez lire mon article précédent intitulé Apprendre à concevoir un système de trading basé sur le Stochastique. Le WPR mesure la relation entre le prix de clôture et la fourchette haute et basse. L'indicateur WPR oscille également entre 0 et -100. Le WPR étant un indicateur de momentum, il peut également être utilisé pour mesurer la force d’une tendance. Si vous avez besoin d'en savoir plus sur les tendances et les types de tendances, vous pouvez lire le sujet de la définition des tendances dans un article précédent, car cela peut vous aider à comprendre. L'indicateur peut être significatif en surveillant les niveaux importants de -80, -20, et le niveau médian -50.

Il est important d'essayer de combiner un autre outil technique avec cet indicateur, par exemple les outils d'action de prix, les modèles de graphiques, le volume et la moyenne mobile, comme nous le ferons dans cet article sur le sujet des stratégies. Cela sera très utile, car vous serez en mesure de clarifier plus de perspective dans l'instrument que vous étudiez et cela sera utile pour prendre les décisions appropriées.

Nous devons maintenant savoir comment calculer l'indicateur WPR. On peut simplement le calculer en suivant les étapes suivantes :

  1. Calculer le plus haut sommet = la plus haute valeur des sommets dans la période calculée.
  2. Calculer le creux le plus bas = la valeur la plus basse dans la période calculée.
  3. WPR = (plus haut - clôture)/(plus haut - plus bas) * -100

Pour mieux comprendre, nous avons besoin de voir un exemple avec des valeurs réelles pour calculer le WPR. Considérons donc les données suivantes pour un instrument donné.

Période Plus Haut Plus Bas Clôture
1 1,078 1,0678 1,0733
2 1,0788 1,0726 1,0777
3 1,0766 1,0697 1,0727
4 1,0733 1,0662 1,0724
5 1,074 1,0642 1,068
6 1,0749 1,0661 1,0734
7 1,0698 1,0558 1,0689
8 1,0599 1,0532 1,056
9 1,0608 1,046 1,0586
10 1,0565 1,046 1,0466
11 1,0556 1,0429 1,0547
12 1,0444 1,0388 1,0431
13 1,0421 1,035 1,0411
14 1,053 1,0353 1,0379
15 1,0577 1,0502 1,0511
16 1,0586 1,0525 1,0527
17 1,0594 1,0495 1,0555
18 1,0601 1,0482 1,0551
19 1,0642 1,0493 1,054
20 1,0632 1,0505 1,0621
21 1,0579 1,0491 1,052
22 1,0567 1,0491 1,051
23 1,0602 1,0381 1,0547
24 1,0509 1,0359 1,0443
25 1,0486 1,0396 1,0414
26 1,052 1,04 1,0408
27 1,0644 1,0505 1,0515
28 1,0775 1,0611 1,0614
29 1,0749 1,0671 1,0714
30 1,0715 1,0652 1,0699

Nous allons maintenant passer par les étapes de calcul pour obtenir le WPR comme suit. Notez que nous utiliserons la période par défaut, qui est 14.

1- Récupération du plus haut niveau.

Valeurs HH

2- Récupération du plus bas niveau.

Valeurs LL

3- Calcul du WPR.

Nous avons maintenant calculé les valeurs WPR. Il s'agira d'une ligne oscillant entre 0 et -100 pour mesurer le momentum. Aujourd'hui, nous n'avons pas besoin de le calculer manuellement car il est disponible dans le terminal de trading MetaTrader 5. Il suffit de le choisir parmi les indicateurs disponibles, comme dans les étapes suivantes.

Insertion_WPR

Après cela, nous devons définir ses paramètres :

 Paramètres WPR

1- Période souhaitée.

2- Couleur de la ligne WPR.

3- Style de la ligne WPR.

4- Epaisseur de la ligne WPR.

Nous pouvons également contrôler les niveaux de l'indicateur à travers l'onglet Niveaux :

Niveaux_WPR

Nous pouvons voir dans l'image précédente que nous avons deux niveaux -80 et -20 qui sont des niveaux importants pour enregistrer les lectures hautes et basses. Nous pouvons également ajouter d'autres niveaux en fonction de ce que nous trouvons utile, comme par exemple ajouter un niveau -50 en appuyant sur Ajouter et en déterminant ensuite la valeur du niveau.

Après avoir choisi tous les paramètres souhaités et appuyé sur "OK", l'indicateur sera attaché au graphique.

WPR attaché

Comme nous pouvons le voir dans l'image précédente, la ligne noire dans la fenêtre inférieure du graphique oscille entre 0 et -100 pour mesurer le momentum. De même, le point médian de -50 est un niveau important qui donne des indications significatives sur le mouvement des prix. Lorsque le WPR passe au-dessus du niveau -50, cela signifie que le prix se négocie dans la moitié supérieure de la fourchette haute-basse de la période calculée, et vice versa. Lorsque le WPR passe en dessous du niveau -50, cela signifie que le prix se négocie dans la moitié inférieure de la fourchette haute-basse de la période calculée. Lorsque l'indicateur est en dessous de la zone de -80, cela signifie une lecture basse qui indique que le prix se négocie près de son niveau bas. Et lorsqu’il est au-dessus de la zone du niveau -20, cela signifie une lecture haute qui indique que le prix se négocie près de son niveau haut. Ces niveaux de -80 et -20 sont des zones très importantes car ils indiquent que les prix atteignent les zones de sur-achat et de survente, comme nous le verrons plus tard.


Stratégie %R de Williams

Dans cette partie, nous allons apprendre comment utiliser le %R de Williams à travers des stratégies simples basées sur le concept principal de l'indicateur. Nous allons apprendre 3 stratégies différentes qui peuvent être utilisées en se basant sur l'idée de l'indicateur Williams %R. Nous allons voir 3 stratégies : la 1ère stratégie, Williams %R - OB et OS, la 2ème, Williams %R - crossover, et la 3ème, Williams %R - MA. Dans les lignes suivantes nous identifierons comment ces stratégies peuvent être utilisées.

  • 1ère stratégie : Williams %R - OB et OS

Selon cette stratégie, nous devons être avertis lorsque l'instrument se trouve dans la zone de sur-achat ou de survente en fonction d'une condition spécifique. Lorsque la valeur du %R de Williams est inférieure au niveau -80, il s'agit d'un signal de survente. Lorsque la valeur du Williams %R est supérieure au niveau -20, il s'agit d'un signal de sur-achat.

Cette stratégie sera utile pour nous avertir lorsque les prix atteignent les zones de sur-achat ou de survente. Cela nous aidera à prévoir le mouvement à venir en lisant le statut du momentum.

Valeur WPR < -80 --> survendu

Valeur WPR > - 20 --> sur-acheté

  • 2ème stratégie : Williams %R - crossover

Selon cette stratégie, nous devons obtenir un signal lorsqu'il existe un signal d'achat ou de vente basé sur le croisement entre le Williams %R actuel, le Williams %R précédent (WPR) et le niveau -50. Lorsque le WPR précédent est inférieur à -50 et que le WPR actuel est supérieur à -50, il s'agit d'un signal d'achat. Lorsque le WPR précédent est supérieur à -50 et que le WPR actuel est inférieur à -50, il s'agit d'un signal de vente.

Cette stratégie sera utile car elle générera des signaux d'achat et de vente basés sur le croisement avec un niveau très important qui est -50. Elle sera encore plus efficace si nous combinons un autre outil technique pour confirmer ces signaux.

WPR précédent < -50 et WPR actuel > -50 --> signal d'achat

WPR précédent > -50 et WPR actuel < -50 --> signal de vente

  • 3ème stratégie : Williams %R - MA

Selon cette stratégie, nous devons être alerté lorsque nous avons un signal d'achat ou de vente, mais elle sera basée sur une autre condition : nous devons obtenir un signal d'achat lorsque la demande est supérieure à la valeur de la moyenne mobile et que la valeur du Williams %R est supérieure au niveau -50. Egalement, nous devons obtenir un signal de vente lorsque l'offre est inférieure à la valeur de la moyenne mobile et que la valeur du Williams %R est inférieure à la valeur de la moyenne mobile.

Cette stratégie nous permet d'obtenir des signaux d'achat et de vente plus fins sur la base de ses conditions, car nous combinons ici un autre outil technique (la moyenne mobile) pour confirmer le signal actuel et filtrer les fausses cassures.

Ask > valeur MA et WPR > -50 --> signal d'achat

Bid < valeur MA et WPR < -50 --> signal de vente


Schéma de la stratégie %R de Williams

Dans cette rubrique, nous allons concevoir un plan étape par étape pour créer un système de trading pour chaque stratégie. Je considère que cette étape est très importante dans tout processus de création d'un système de trading. Elle va nous aider à comprendre ce que nous devons faire à travers des étapes organisées.

  • 1ère stratégie : Williams %R - OB et OS

Sur la base de cette stratégie, nous allons concevoir un plan étape par étape pour créer un système de trading. Le programme ou l'Expert doit vérifier 3 valeurs à chaque tick et les comparer pour déterminer la position d'une de ces valeurs par rapport aux autres. Ces 3 valeurs sont le niveau WPR actuel, -80, et -20. Si la valeur WPR actuelle est inférieure au niveau -80, l'Expert doit générer un commentaire sur le graphique avec "Over Sold" (survendu). Dans l'autre scénario, lorsque la valeur actuelle WPR est supérieure au niveau -20, l'Expert doit générer un commentaire différent sur le graphique avec "Over Bought" (sur-acheté).

Voici le plan de cette stratégie :

 Plan Williams_R - OB _ OS

 

  • 2ème stratégie : Williams %R - crossover

Sur la base de cette stratégie, nous avons besoin que le programme génère des signaux d'achat ou de vente basés sur la vérification de 3 valeurs : le WPR précédent, le WPR actuel et -50. Ce signal sera généré à chaque tick suivant la comparaison de ces 3 valeurs pour déterminer la position de la valeur WPR précédente et actuelle par rapport au niveau -50. L'Expert doit afficher un signal d'achat, la valeur Williams %R, et la valeur Williams %R précédente comme commentaire sur le graphique si le WPR précédent est inférieur au -50 et si la valeur WPR actuelle est supérieure au niveau -50. Dans l'autre cas, l’Expert doit afficher le signal de vente, la valeur Williams %R, et la valeur Williams %R précédente si le WPR précédent est supérieur à -50 et si le WPR actuel est inférieur à -50.

Voici le plan de cette stratégie sous forme de diagramme :

Plan Williams_R - Crossover

  • 3ème stratégie : Williams %R et MA

Nous devons créer un système de trading pour cette stratégie afin de générer des signaux d'achat ou de vente basés sur d'autres conditions ou d'autres mesures. Nous devons créer un Expert Advisor simple capable de générer ces signaux en vérifiant continuellement les valeurs Ask, Bid, WPR, la moyenne mobile et le niveau -50. Lorsque l'expert constate que le prix Ask est supérieur à la moyenne mobile et que la valeur WPR est supérieure au niveau -50, l'Expert doit afficher sur le graphique un signal d'achat, la valeur Williams %R et la valeur de la moyenne mobile exponentielle. L'autre cas pour générer un signal de vente, la valeur du Williams %R, et la valeur de la moyenne mobile exponentielle comme commentaire également sur le graphique lorsque le prix d'achat est inférieur à la moyenne mobile et le WPR est inférieur au niveau -50.

Voici le schéma de base pour créer ce type de système de trading :

Plan Williams_R _ MA

Système de trading %R de Williams

Dans cette partie, nous apprendrons comment créer un système de trading pour chaque stratégie mentionnée, ce qui constitue la partie la plus intéressante de cet article. Tout d'abord, nous allons créer un système de trading simple qui génère un commentaire sur le graphique avec la valeur du %R de Williams pour l'utiliser comme base pour toutes les stratégies.

Voici la façon d'écrire le code de ce système de trading :

  • Créer un tableau d’éléments de type "double" qui représente les valeurs avec des fractions.
double WPArray[];
  • Trier ce tableau créé à partir des données actuelles en utilisant la fonction "ArraySetAsSeries", qui renvoie vrai ou faux. Les paramètres de cette fonction sont un tableau[] et un drapeau.
ArraySetAsSeries(WPArray,true);
  • Définir les propriétés du %R de Williams en utilisant la fonction "iWPR" et variable entière WPDef pour la définition du %R de Williams. La fonction "iWPR" retourne le handle de l'indicateur Larry Williams Percent Range. Les paramètres sont le nom du symbole, la période et la période de calcul de la moyenne.
    • Nous utiliserons _Symbol pour l'appliquer au symbole actuellement utilisé et _Period pour l'appliquer à la période actuellement utilisée.
int WPDef = iWPR(_Symbol,_Period,14);
  • Copier les prix dans le tableau créé avec la fonction "CopyBuffer" qui renvoie le nombre de données copiées ou -1 en cas d'erreur. Les paramètres sont le handle de l'indicateur, l’heure du buffer de l'indicateur, la position de départ, la quantité à copier et le tableau cible.
CopyBuffer(WPDef,0,0,3,WPArray);
  • Obtenir la valeur du %R de Williams des données actuelles en utilisant la fonction "NormalizeDouble", après avoir créé une variable double de WPValue pour la valeur actuelle du %R de Williams. Les paramètres de la fonction "NormalizeDouble" sont le nombre normalisé et le nombre de chiffres après la virgule.
double WPVal = NormalizeDouble(WPArray[0],2);
  • Utiliser la fonction "Comment" pour générer la valeur du %R de Williams sous forme de commentaire sur le graphique.
Comment("Williams' %R Value is",WPVal);

Voici le code complet du système de trading précédent :

//+------------------------------------------------------------------+
//|                                            Simple Williams%R.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 WPArray[];

   ArraySetAsSeries(WPArray,true);

   int WPDef = iWPR(_Symbol,_Period,14);

   CopyBuffer(WPDef,0,0,3,WPArray);

   double WPVal = NormalizeDouble(WPArray[0],2);

   Comment("Williams' %R Value is",WPVal);

  }
//+------------------------------------------------------------------+

Après avoir compilé ce code, nous pouvons trouver le fichier de l’expert dans le dossier "Expert Advisors" dans la fenêtre du Navigateur, comme dans l'image suivante :

WPR navigateur 1

En faisant un glisser-déposer sur le graphique souhaité pour l'exécuter, la fenêtre de ce système de trading est affichée :

Fenêtre W_R simple

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

 W_R simple attaché

Voici un exemple de signaux générés par ce système de trading à partir de tests :

 Signal W_R simple

Comme nous pouvons le voir dans l'exemple précédent, l'expert a généré un commentaire dans le coin supérieur gauche du graphique avec la valeur WPR actuelle. Nous pouvons nous assurer que le signal généré est le même que l'indicateur intégré dans MetaTrader 5 :

Simple W_R - même signal

Comme nous pouvons le voir dans l'image précédente, l'expert est attaché et l'indicateur est visible. Les deux ont généré le même signal / valeur. Dans le coin supérieur droit, l'expert Simple Williams %R est attaché et dans le coin supérieur gauche, nous pouvons voir son signal généré sous la forme d’un commentaire qui est égal à -78,15, la même valeur que l'indicateur intégré inséré dans le graphique dans la fenêtre inférieure. La même valeur apparaît au-dessus de la ligne WPR sur le côté gauche. 

  • 1ère stratégie : Williams%R - OB et OS

Sur la base de cette stratégie, nous devons créer un système de trading capable de générer des signaux automatiquement lorsque le prix atteint les zones de sur-achat ou de survente. Voici le code complet pour créer le système de trading de cette stratégie :

//+------------------------------------------------------------------+
//|                                         Williams%R - OB & OS.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 WPArray[];
   
   ArraySetAsSeries(WPArray,true);
   
   int WPDef = iWPR(_Symbol,_Period,14);
   
   CopyBuffer(WPDef,0,0,3,WPArray);
   
   double WPVal = NormalizeDouble(WPArray[0],2);
   
   if(WPVal<-80)
   {
      Comment("Over Sold");
   }
   
   if(WPVal>-20)
   {
      Comment("Over Bought");
   }
   
  }
//+------------------------------------------------------------------+

Les différences dans ce code sont les suivantes :

Conditions de survente :

   if(WPVal<-80)
   {
      Comment("Over Sold");
   }

Conditions de sur-achat :

   if(WPVal>-20)
   {
      Comment("Over Bought");
   }

Après avoir compilé ce code, lorsque nous voulons l'exécuter dans MetaTrader 5 pour générer des signaux automatiques. Nous allons le faire l'étape suivante.

Trouvez maintenant le fichier de l’Expert Advisor dans la fenêtre du Navigateur :

WPR navigateur 3

Glisser et déposez-le sur le graphique souhaité pour lequel nous voulons extraire les signaux. Sa fenêtre est alors affichée :

Fenêtre Williams_R - OB_OS

Cochez la case "Autoriser le Trading Algorithmique" --> puis appuyez sur "OK". Il sera alors attaché au graphique :

Williams_R - OB_OS attaché

Voici un exemple de génération de signaux basés sur cette stratégie à partir de tests :

Sur-achat :

Williams_R - OB_OS - OB signal

Comme nous pouvons le voir dans l'exemple précédent, l'Expert Advisor a généré un signal de sur-achat car la valeur WPR est supérieure au niveau -20, ce qui signifie que les prix se négocient près de leur sommet pendant les 14 périodes.

Survente :

Signal Williams_R - OB_OS - OS

Dans l'exemple précédent, nous avons constaté que le WPR est inférieur au niveau -80, ce qui signifie que les prix se négocient près de leurs points bas. Le signal est donc ici un signal de survente.

  • 2ème stratégie : Williams%R - Crossover

Selon cette stratégie, nous devons créer un système de trading pour générer des signaux d'achat et de vente basés sur les croisements. Voici le code complet pour créer le système de trading pour cette stratégie :

//+------------------------------------------------------------------+
//|                                       Williams%R - Crossover.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 WPArray[];

   ArraySetAsSeries(WPArray,true);

   int WPDef = iWPR(_Symbol,_Period,14);

   CopyBuffer(WPDef,0,0,3,WPArray);

   double WPVal = NormalizeDouble(WPArray[0],2);
   double WPPrevVal = NormalizeDouble(WPArray[1],2);

   if(WPPrevVal<-50 && WPVal>-50)
     {
      Comment("Buy signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "Williams % R Previous Value is",WPPrevVal);
     }

   if(WPPrevVal>-50 && WPVal<-50)
     {
      Comment("Sell signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "Williams % R Previous Value is",WPPrevVal);
     }

  }
//+------------------------------------------------------------------+

Les différences dans ce code sont les suivantes :

Obtention de la valeur précédente du %R de Williams en utilisant la fonction "NormalizeDouble" après avoir créé une variable double de WPPrevValue pour la valeur précédente du %R de Williams. Les paramètres de la fonction "NormalizeDouble" sont le nombre normalisé et le nombre de chiffres après la virgule :

double WPPrevVal = NormalizeDouble(WPArray[1],2);

Conditions de la stratégie Williams%R - Crossover :

Dans le cas d'un signal d'achat :

   if(WPPrevVal<-50 && WPVal>-50)
     {
      Comment("Buy signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "Williams % R Previous Value is",WPPrevVal);
     }

Dans le cas d'un signal de vente :

   if(WPPrevVal>-50 && WPVal<-50)
     {
      Comment("Sell signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "Williams % R Previous Value is",WPPrevVal);
     }

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

WPR navigateur 2

En double-cliquant sur l'expert de cette stratégie pour l'exécuter sur le graphique souhaité, sa fenêtre est affichée :

Fenêtre Williams_R - Crossover

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

Williams_R - Crossover attaché

Voici un exemple de signaux générés par cette stratégie à partir de tests.

Signal d'achat :

Williams_R - Signal de croisement - Signal d'achat

Comme nous pouvons le voir sur le graphique, l'expert a généré un commentaire avec le signal d'achat, la valeur Williams %R et la valeur Williams %R dans le coin supérieur gauche du graphique, car les conditions de cette stratégie sont remplies : le WPR précédent (= -55,93) est inférieur au niveau -50 et le WPR actuel (= -41,09) est supérieur au niveau -50.

Signal de vente :

Williams_R - Signal de croisement - Signal de vente

 

Comme nous pouvons le voir dans l'exemple précédent d'un signal de vente basé sur cette stratégie, nous pouvons trouver dans le coin supérieur gauche du graphique le commentaire avec le signal de vente, le WPR actuel et les valeurs du WPR précédent parce que les conditions de cette stratégie sont remplies.

La valeur WPR précédente (= -29,95) est supérieure au niveau -50 et la valeur WPR actuelle (= -58,8) est inférieure au niveau -50.

  • 3ème stratégie : Williams%R & MA

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

//+------------------------------------------------------------------+
//|                                              Williams%R & MA.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 WPArray[];
   double MAArray[];

   double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
   double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);

   ArraySetAsSeries(WPArray,true);
   ArraySetAsSeries(MAArray,true);

   int WPDef = iWPR(_Symbol,_Period,14);
   int MADef = iMA(_Symbol,_Period,100,0,MODE_EMA,PRICE_CLOSE);

   CopyBuffer(WPDef,0,0,3,WPArray);
   CopyBuffer(MADef,0,0,3,MAArray);

   double WPVal = NormalizeDouble(WPArray[0],2);
   double MAVal = NormalizeDouble(MAArray[0],2);

   if(Ask>MAVal && WPVal>-50)
     {
      Comment("Buy signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "EMA Value is",MAVal);
     }

   if(Bid<MAVal && WPVal<-50)
     {
      Comment("Sell signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "EMA Value is",MAVal);
     }

  }
//+------------------------------------------------------------------+

Les différences dans ce code sont les suivantes :

Création de tableaux pour WP et MA :

double WPArray[];
double MAArray[];

Obtention des valeurs des prix Ask et Bid après avoir créé des variables de type ’double’ :

double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);

Tri des tableaux ainsi créés à partir des données actuelles :

ArraySetAsSeries(WPArray,true);
ArraySetAsSeries(MAArray,true);

Définition du PR de Williams en utilisant la fonction iWPR et de la moyenne mobile en utilisant la fonction iMA. Paramètres de l'iWPR sont ceux déjà mentionnés précédemment. Les paramètres de iMA sont : le nom du symbole, la période, la période de calcul de la moyenne, le décalage horizontal, le type de lissage et le type de prix :

int WPDef = iWPR(_Symbol,_Period,14);
int MADef = iMA(_Symbol,_Period,100,0,MODE_EMA,PRICE_CLOSE);

Copie des données des prix dans les tableaux créés avec la fonction "CopyBuffer" :

CopyBuffer(WPDef,0,0,3,WPArray);
CopyBuffer(MADef,0,0,3,MAArray);

Obtention des valeurs RP de Williams et de la moyenne mobile actuelles :

double WPVal = NormalizeDouble(WPArray[0],2);
double MAVal = NormalizeDouble(MAArray[0],2);

Conditions de la stratégie :

En cas de signal d'achat :

   if(Ask>MAVal && WPVal>-50)
     {
      Comment("Buy signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "EMA Value is",MAVal);
     }

En cas de signal de vente

   if(Bid<MAVal && WPVal<-50)
     {
      Comment("Sell signal","\n",
              "Williams % R Value is",WPVal,"\n",
              "EMA Value is",MAVal);
     }

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

WPR navigateur 4

En le glissant et en le déposant sur le graphique souhaité, sa fenêtre est affichée :

Fenêtre Williams_R _ MA

Après avoir coché la case "Autoriser le Trading Algorithmique" et appuyé sur "OK", l'expert sera attaché au graphique de la manière suivante.

Williams_R _ MA attaché

Voici un exemple de signaux générés sur la base de cette stratégie.

En cas de signal d'achat :

 Williams_R _ MA - Achat

Comme nous pouvons le constater sur le graphique, le signal généré se trouve dans le coin supérieur gauche,

  • Signal d'achat : 
  • Valeur du WPR
  • Valeur EMA

Les conditions sont remplies. Le prix Ask est supérieur à la MA et le WPR est supérieur à -50.

En cas de signal de vente :

Williams_R _ MA - Vente

Comme nous pouvons le constater sur le graphique, le signal généré se trouve dans le coin supérieur gauche,

  • Signal de vente : 
  • Valeur du WPR
  • Valeur EMA

Les conditions sont remplies. Le prix Bid est inférieur à la MA et le WPR est inférieur au niveau -50.


Conclusion

Le PR de Williams est un outil technique important qui peut être considéré comme l'un des indicateurs les plus populaires pour mesurer le momentum. Elle peut également être combinée avec un autre indicateur technique pour en amplifier les bénéfices. En effet, l'un des avantages les plus importants de l'analyse technique est que nous pouvons utiliser plus d'un outil, ce qui permet de générer plus d'une perspective pour bien comprendre l'instrument et prendre une décision appropriée.

Cet article nous a permis d'en apprendre davantage sur l'indicateur technique RP de Williams. Nous avons appris ce qu'il est, ce qu'il mesure et comment le calculer en l'appliquant à travers un exemple pour approfondir notre compréhension. Puis nous avons appris comment insérer l'indicateur, et comment le lire pour comprendre les informations qu’il peut nous donner.

Nous avons également appris comment l'utiliser par le biais de stratégies simples basées sur son concept principal :

  • Williams %R - OB et OS : pour générer des signaux de sur-achat et de survente lorsque les prix atteignent ces zones
  • Williams %R - crossover : pour générer des signaux d'achat et de vente en fonction de conditions spécifiques et significatives
  • Williams %R - MA : pour générer des signaux d'achat et de vente basés sur le WPR et une moyenne mobile exponentielle
Nous avons ensuite conçu un plan étape par étape pour chaque stratégie mentionnée afin de nous aider à créer un système de trading pour chacune d'elles. Puis nous avons créé en MQL5 un système de trading pour chaque stratégie afin de les utiliser dans le terminal de trading MetaTrader 5 pour générer des signaux automatiquement et avec précision.

Tout ce que nous avons appris dans cet article est un simple exemple de ce que nous pouvons faire en utilisant la programmation, car le trading algorithmique est un outil incroyable qui peut nous aider à trader de manière fluide, facile et efficace. C’est un outil très utile pour faire travailler l'argent pour vous pendant que vous dormez, littéralement. J'encourage donc chacun à apprendre ou à réfléchir à la façon dont il peut tirer parti de cet outil de manière à augmenter la probabilité de maximiser les bénéfices.

Je dois réaffirmer ici encore une fois que vous devez tester toute stratégie avant de l'utiliser sur votre compte réel. Rien ne convient à tout le monde. Ce qui me convient à moi peut ne pas vous convenir à vous. L'objectif principal de cet article est éducatif. Nous pouvons donc constater que les stratégies ont besoin d'être optimisées. J'espère que vous avez essayé d'appliquer ce que vous avez lu par vous-même. Cela sera un facteur important pour comprendre ce que vous apprenez. J'espère également que cet article vous sera utile pour améliorer votre trading et obtenir de meilleurs résultats. Si vous souhaitez lire des articles similaires sur la conception d'un système de trading à l'aide des indicateurs techniques les plus populaires, vous pouvez lire mes articles précédents de cette série. J'espère qu'ils vous seront utiles.

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

Indicateur CCI Mise à jour et nouvelles fonctionnalités Indicateur CCI Mise à jour et nouvelles fonctionnalités
Dans cet article, nous allons examiner la possibilité d’améliorer l'indicateur CCI. Je vous présenterai également une modification de cet indicateur.
Apprendre à concevoir un système de trading basé sur l’Ichimoku Apprendre à concevoir un système de trading basé sur l’Ichimoku
Voici un nouvel article dans notre série sur la façon de concevoir un système de trading avec les indicateurs les plus populaires. Nous allons parler de l'indicateur Ichimoku en détail et de comment concevoir un système de trading basé sur cet indicateur.
Data Science des Données et Apprentissage Automatique (Machine Learning) (partie 4) : Prévoir le Krach Boursier Actuel Data Science des Données et Apprentissage Automatique (Machine Learning) (partie 4) : Prévoir le Krach Boursier Actuel
Dans cet article, je vais tenter d'utiliser notre modèle logistique pour prédire le krach boursier en me basant sur les fondamentaux de l'économie américaine. Nous allons nous concentrer sur les actions NETFLIX et APPLE. En utilisant les krachs boursiers précédents de 2019 et 2020, voyons comment notre modèle se comportera dans la morosité actuelle.
Matrices et vecteurs en MQL5 Matrices et vecteurs en MQL5
En utilisant les types de données spéciaux "matrix" et "vector", il est possible de créer un code très proche de la notation mathématique. Avec ces méthodes, vous pouvez éviter de créer des boucles imbriquées ou de faire attention à l'indexation correcte des tableaux dans les calculs. Par conséquent, l'utilisation des méthodes matricielles et des méthodes vectorielles augmente la fiabilité et la rapidité du développement de programmes complexes.