Apprenez à concevoir un système de trading basé sur l’Alligator

Mohamed Abdelmaaboud | 5 février, 2024

Introduction

Voici un nouvel article de notre série sur la façon de concevoir un système de trading basé sur les indicateurs techniques les plus populaires. Dans cet article, nous apprendrons en détail l'indicateur Alligator en apprenant ce qu'il est, qu'il mesure, comment nous pouvons le calculer et comment nous pouvons le lire et l'utiliser. Ensuite, nous créerons un système de trading basé sur quelques stratégies simples basées sur l'objectif principal de cet indicateur. Nous allons couvrir cet indicateur au travers des sujets suivants :

  1. Définition de l’Alligator
  2. Stratégie Alligator
  3. Plan de la stratégie Alligator
  4. Système de trading Alligator
  5. Conclusion

Je vous conseille d'essayer d'appliquer ce que vous avez appris par vous-même notamment les codes de cet article pour développer vos compétences en programmation car c'est une étape importante pour atteindre cet objectif de développement. Nous utiliserons dans cet article l'IDE MQL5 (MetaQuotes Language 5) qui est intégré au terminal de trading MetaTrader 5. Si vous ne savez pas comment télécharger MetaTrader 5 et comment utiliser MQL5, vous pouvez lire le sujet de l'écriture du code MQL5. dans MetaEditor 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 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.

Définition de l’Alligator

L'indicateur technique Alligator, développé par Bill Williams, suit les tendances. Il est basé sur le fait que la tendance n'est pas la plus longue période des instruments des marchés financiers et qu'elle ne représente que 15 à 30% du temps, alors que les déplacements latéraux des pris occupent 70 à 85% du temps. Nous avons ainsi parfois une tendance soit à la hausse, soit à la baisse, mais la plupart du temps nous avons des périodes variables. Si vous souhaitez en savoir plus sur les tendances, leurs types et comment nous pouvons les identifier, vous pouvez lire la définition des tendancesde mon article précédent. Cet article vous sera utile dans ce contexte. Il utilise certains nombres de Fibonacci dans le calcul comme nous le verrons : 3 moyennes mobiles lissées sur 5, 8 et 13 périodes. Voici les 3 moyennes mobiles lissées de l'indicateur Alligator :

Cet indicateur peut être calculé manuellement en suivant les étapes suivantes :

La Mâchoire de l'Alligator = SMMA (Prix médian, 13, 8)

Les Dents de l'Alligator = SMA (Prix médian, 8, 5)

Les Lèvres de l’Alligator = SMMA (Prix médian, 5, 3)

Prix ​​médian = (Haut + Bas)/2

Avec :

SMMA = Moyenne Mobile lissée

Prix ​​médian = le prix médian des données

Haut = le prix le plus élevé

Bas = le prix le plus bas

Suite aux étapes précédentes, nous obtiendrons l'indicateur Alligator. Nous n'avons pas besoin de le calculer manuellement car il est disponible comme indicateur intégré dans le terminal MetaTrader 5. Nous n’avons qu’à le choisir parmi les indicateurs techniques disponibles :

Lors de l'ouverture du terminal MetaTrader 5, aller sur Insertion --> Indicateurs --> Bill Williams --> Alligator.

Insertion de l’Alligator

La fenêtre des paramètres sera alors affichée :

 Paramètres de l’Alligator

1 - la période des Mâchoires de l'Alligator.

2 - le décalage horizontal des Mâchoires de l'Alligator.

3 - la période des Dents de l'Alligator.

4 - le décalage horizontal des Dents de l'Alligator.

5 - la période des Lèvres de l'Alligator.

6 - le décalage horizontal des Lèvres de l'Alligator.

7 - la méthode de lissage.

8 - le type de prix utilisable.

Grâce à la fenêtre suivante, nous pouvons déterminer le style de l'indicateur :

 Paramètres de l’Alligator 1

1 - la couleur de la ligne des Mâchoires.

2 - le type de ligne des Mâchoires.

3 - l'épaisseur de la ligne des Mâchoires.

4 - la couleur de la ligne des Dents.

5 - le type de ligne des Dents.

6 - l'épaisseur de la ligne des Dents.

7 - la couleur du trait des Lèvres.

8 - le type de ligne des Lèvres.

9 - l'épaisseur de la ligne des Lèvres.

Après avoir déterminé tous les paramètres et appuyé sur "OK", l'indicateur est attaché au graphique comme suit :

 Alligator attaché au graphique

Comme nous pouvons le voir dans le graphique précédent, l'indicateur est attaché au graphique et 3 lignes sont dessinées :

1 - Les Lèvres de l'Alligator

2 - les Dents de l'Alligator

3 - Les Mâchoires de l'Alligator

On peut lire l'indicateur simplement en observant la position de ces lignes à partir des prix. Si le prix est au-dessus des Lèvres, des Dents, puis des Mâchoires, la tendance est à la hausse. Si le prix est en dessous des Lèvres, des Dents, puis des Mâchoires, la tendance est à la baisse. Si le prix évolue sur les 3 lignes, nous avons une tendance latérale.

Stratégie Alligator

Il existe de nombreuses façons d'utiliser l'indicateur Alligator dans le trading. Je mentionnerai des stratégies simples qui peuvent être utilisées sur la base de l'idée principale de ce sujet à des fins éducatives. Vous devez les tester avant de les utiliser dans votre compte réel pour vous assurer qu'elles sera rentable. Vous constaterez peut-être que vous devez optimiser ces stratégies. Il est normal que vous puissiez le faire pour atteindre la meilleure formule qui peut être utile pour votre style de trading.

Première stratégie : Identificateur de Tendance Alligator

Sur la base de cette stratégie, nous devons obtenir des signaux haussiers et baissiers en fonction de conditions spécifiques. Si la valeur des Lèvres est supérieure à la valeur des Dents et à la valeur des Mâchoires, et que, en même temps, la valeur des Dents est supérieure à la valeur des Mâchoires, ce sera un signal haussier. Dans d’autres cas, si la valeur des Lèvres est inférieure à la valeur des Dents et à la valeur des Mâchoires, et que, en même temps, la valeur des Dents est inférieure à la valeur des Mâchoires, ce sera un signal baissier.

Lèvres > valeur des Dents, Lèvres > valeur des Mâchoires et Dents > valeur des Mâchoires --> haussier

Lèvres < valeur des Dents, Lèvres < valeur des Mâchoires et Dents < valeur des Mâchoires --> baissier

Deuxième stratégie : Système de Signaux Alligator

Sur la base de cette stratégie, nous devons obtenir des signaux d’achat et de vente en fonction du croisement entre les valeurs des Lèvres, des Dents et de la Mâchoire. Si la valeur des Lèvres est supérieure à la valeur des Dents et à la valeur de la Mâchoire, ce sera un signal d'achat. Dans l’autre scénario, si la valeur des Lèvres est inférieure à la valeur des Dents et des Mâchoires, ce sera un signal de vente.

Lèvres > valeur des Dents, Lèvres > valeur des Mâchoires --> acheter

Lèvres < valeur des Dents, Lèvres < valeur des Mâchoires --> vendre

3ème stratégie : Amélioration du Système de Signaux Alligator

Sur la base de cette stratégie, nous devons obtenir des signaux d'achat et de vente basés sur le croisement entre les Lèvres, les Dents et les Mâchoires, puis le croisement entre le cours de clôture et la valeur des Dents. Si la ligne des Lèvres est plus basse que les Dents et la Mâchoire, et que le prix de clôture est supérieur à la valeur des Dents, ce sera un signal d'achat. Dans l’autre cas, si la ligne des Lèvres est supérieure aux Dents et à la Mâchoire alors le cours de clôture est inférieur à la valeur des Dents, ce sera un signal de vente.

Lèvres < valeur des Dents, Lèvres < valeur des Mâchoires et cours de clôture > Dents --> acheter

Lèvres > valeur des Dents, Lèvres > valeur des Mâchoires et cours de clôture < Dents --> vendre

Plan de la stratégie Alligator

Nous devons maintenant créer un système de trading basé sur les stratégies mentionnées dans le sujet précédent. Pour cela nous allons concevoir un plan étape par étape.

Première stratégie : Identificateur de Tendance Alligator

Selon cette stratégie, nous devons créer un système de trading qui peut être utilisé pour générer des signaux haussiers ou baissiers basés sur la vérification continue des valeurs suivantes :

Nous avons besoin que le système de trading détermine les positions de ces valeurs afin de générer des signaux appropriés sur cette base. Si la ligne des Lèvres est supérieure aux Dents et à la Mâchoires et que la ligne des Dents est supérieure aux Mâchoires, le système de trading doit nous renvoyer dans ce cas les valeurs suivantes sous la forme d’un commentaire sur le graphique :

Dans l’autre cas, si la ligne des Lèvres est plus basse que la ligne des Dents et que la ligne des Mâchoires, et si en même temps, la ligne des Dents est plus basse que la ligne des Mâchoires, le système de trading doit nous renvoyer dans ce cas les valeurs suivantes sous la forme d’un commentaire sur le graphique :

Ce qui suit est le plan étape par étape de ce système de trading :

Plan de l’Identificateur de Tendance Alligator

Deuxième stratégie : Système de Signaux Alligator

Selon cette stratégie, nous devons créer un système de trading qui puisse être utilisé pour générer des signaux d'achat ou de vente basés sur la vérification continue des valeurs suivantes :

Si la ligne des Lèvres est supérieure à la valeur des Dents et à la valeur des Mâchoires, le système de trading doit nous renvoyer dans ce cas un commentaire sur le graphique avec les valeurs suivantes :

Dans l'autre cas, si la ligne des Lèvres est inférieure à la valeur des Dents et à la ligne des Mâchoires, le système de trading doit nous renvoyer un signal avec les valeurs suivantes :

Ce qui suit est le plan étape par étape de ce système de trading :

Plan du Système de Signaux Alligator

3ème stratégie : Amélioration du Système de Signaux Alligator

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 la vérification des valeurs suivantes :

Si la valeur des Lèvres est inférieure à celle des Dents et celle des Mâchoires et si le cours de clôture est devenu supérieur à la valeur des Dents, le système de trading nous renvoyer un commentaire sur le graphique comme signal avec les valeurs suivantes :

Si la ligne des Lèvres est supérieure à la ligne des Dents et à la ligne des Mâchoires et si le cours de clôture est devenu inférieur à la valeur des Dents, le système de trading doit renvoyer un commentaire sur le graphique comme signal avec les valeurs suivantes :

Ce qui suit est le plan étape par étape de ce système de trading :

Plan des Améliorations du Système de Signaux Alligator

Système de trading Alligator

Nous allons maintenant créer un système de trading pour chaque stratégie mentionnée, à exécuter dans le terminal MetaTrader 5 afin de générer automatiquement les signaux souhaités. Nous allons tout d’abord créer un système de trading de base pour générer un signal suivant les valeurs des composants de l’Alligator à utiliser dans notre système trading. Voici les étapes à suivre pour créer ce type de système :

Création des tableaux pour chacun des composants de l'Alligator (Lèvres, Dents et Mâchoires).

   double jawsArray[];
   double teethArray[];
   double lipsArray[]; 

Tri des données dans ces tableaux à l'aide de la fonction "ArraySetAsSeries". Ses paramètres sont :

   ArraySetAsSeries(jawsArray,true);
   ArraySetAsSeries(teethArray,true);
   ArraySetAsSeries(lipsArray,true);

Définition de l'Alligator avec la fonction "iAlligator". Ses paramètres sont :

int alligatorDef=iAlligator(_Symbol,_Period,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN);

Définition des données et stockage des résultats à l'aide de la fonction "CopyBuffer". Ses paramètres sont :

   CopyBuffer(alligatorDef,0,0,3,jawsArray);
   CopyBuffer(alligatorDef,1,0,3,teethArray);
   CopyBuffer(alligatorDef,2,0,3,lipsArray);

Obtention de la valeur des 3 composants.

   double jawsValue=NormalizeDouble(jawsArray[0],5);
   double teethValue=NormalizeDouble(teethArray[0],5);
   double lipsValue=NormalizeDouble(lipsArray[0],5);

Affichage du commentaire avec les 3 composantes de l’indicateur.

   Comment("jawsValue = ",jawsValue,"\n",
   "teethValue = ",teethValue,"\n",
   "lipsValue = ",lipsValue);

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

//+------------------------------------------------------------------+
//|                                      Simple Alligator System.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 price array
   double jawsArray[];
   double teethArray[];
   double lipsArray[];   
   //Sorting data
   ArraySetAsSeries(jawsArray,true);
   ArraySetAsSeries(teethArray,true);
   ArraySetAsSeries(lipsArray,true);
   //define Alligator
   int alligatorDef=iAlligator(_Symbol,_Period,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN);      
   //define data and store result
   CopyBuffer(alligatorDef,0,0,3,jawsArray);
   CopyBuffer(alligatorDef,1,0,3,teethArray);
   CopyBuffer(alligatorDef,2,0,3,lipsArray);
   //get value of current data
   double jawsValue=NormalizeDouble(jawsArray[0],5);
   double teethValue=NormalizeDouble(teethArray[0],5);
   double lipsValue=NormalizeDouble(lipsArray[0],5);
   //comment on the chart
   Comment("jawsValue = ",jawsValue,"\n",
   "teethValue = ",teethValue,"\n",
   "lipsValue = ",lipsValue);
  }
//+------------------------------------------------------------------+

Après avoir compilé ce code, nous le retrouverons dans le Navigateur dans le dossier Expert Advisors comme suit :

Système Alligator Simple dans le Navigateur

En le glissant-déposant sur le graphique souhaité, la fenêtre de cet EA est affichée :

Fenêtre du Système Alligator Simple

Après avoir appuyé sur "OK" et avoir coché "Autoriser le Trading Algorithmique", l'EA sera attaché au graphique comme suit :

Système Alligator Simple attaché

Comme nous pouvons le voir sur le graphique précédent dans le coin supérieur droit, l'EA est attaché. Nous sommes maintenant prêts à recevoir des signaux. Voici un exemple de test pour vérifier les signaux générés.

 Signal du Système Alligator Simple

Comme nous pouvons le voir dans le graphique précédent, un commentaire est affiché dans le coin supérieur gauche avec les valeurs suivantes :

Valeur des Mâchoires = n

Valeur des Dents = n

Valeur des Lèvres = n

Première stratégie : Identificateur de Tendance Alligator

Nous pouvons créer un système de trading basé sur cette stratégie identique au code complet suivant :

//+------------------------------------------------------------------+
//|                                   Alligator Trend Identifier.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 three arrays of Alligator components
   double jawsArray[];
   double teethArray[];
   double lipsArray[];
//Sorting data
   ArraySetAsSeries(jawsArray,true);
   ArraySetAsSeries(teethArray,true);
   ArraySetAsSeries(lipsArray,true);
//define Alligator
   int alligatorDef=iAlligator(_Symbol,_Period,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN);
//define data and store result
   CopyBuffer(alligatorDef,0,0,13,jawsArray);
   CopyBuffer(alligatorDef,1,0,13,teethArray);
   CopyBuffer(alligatorDef,2,0,13,lipsArray);
//get value of current data
   double jawsValue=NormalizeDouble(jawsArray[0],5);
   double teethValue=NormalizeDouble(teethArray[0],5);
   double lipsValue=NormalizeDouble(lipsArray[0],5);
//conditions of strategy
   if(lipsValue>teethValue && lipsValue>jawsValue && teethValue>jawsValue)
     {
      Comment("Bullish","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }
   if(lipsValue<teethValue && lipsValue<jawsValue && teethValue<jawsValue)
     {
      Comment("Bearish","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }
  }
//+------------------------------------------------------------------+

Différences dans ce code.

Conditions de la stratégie, en cas de hausse :

   if(lipsValue>teethValue && lipsValue>jawsValue && teethValue>jawsValue)
     {
      Comment("Bullish","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }

En cas de baisse :

   if(lipsValue<teethValue && lipsValue<jawsValue && teethValue<jawsValue)
     {
      Comment("Bearish","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }

Après avoir compilé ce code et exécuté l'Expert Advisor, nous constaterons que cet EA est attaché au graphique de la même manière :

Identificateur de Tendance Alligator attaché

Comme nous pouvons le voir dans le graphique précédent, l'EA est attaché au graphique dans le coin supérieur droit. Nous sommes prêts à recevoir nos signaux haussiers ou baissiers basés sur cette stratégie. Voici des exemples de ces signaux :

En cas de hausse :

Identificateur de Tendance Alligator - signal haussier

Comme nous pouvons le voir dans le graphique précédent, un commentaire est affiché comme signal dans le coin supérieur droit avec les valeurs suivantes :

Nous avons 3 lignes qui évoluent en dessous des prix. Nous avons donc reçu un signal haussier.

En cas de baisse :

 Identificateur de Tendance Alligator - signal baissier

Comme nous pouvons le voir dans le graphique précédent, nous avons un commentaire comme signal baissier dans le coin supérieur droit avec les valeurs suivantes :

Nous avons 3 lignes évoluant au-dessus des prix, nous avons donc reçu un signal baissier.

Deuxième stratégie : Système de Signaux Alligator

Le code suivant permet de créer un système de trading basé sur cette stratégie :

//+------------------------------------------------------------------+
//|                                    Alligator Signals System .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 three arrays of Alligator components
   double jawsArray[];
   double teethArray[];
   double lipsArray[];
//Sorting data
   ArraySetAsSeries(jawsArray,true);
   ArraySetAsSeries(teethArray,true);
   ArraySetAsSeries(lipsArray,true);
//define Alligator
   int alligatorDef=iAlligator(_Symbol,_Period,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN);
//define data and store result
   CopyBuffer(alligatorDef,0,0,13,jawsArray);
   CopyBuffer(alligatorDef,1,0,13,teethArray);
   CopyBuffer(alligatorDef,2,0,13,lipsArray);
//get value of current data
   double jawsValue=NormalizeDouble(jawsArray[0],5);
   double teethValue=NormalizeDouble(teethArray[0],5);
   double lipsValue=NormalizeDouble(lipsArray[0],5);
//conditions of strategy
   if(lipsValue>teethValue && lipsValue>jawsValue)
     {
      Comment("Buy","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }
   if(lipsValue<teethValue && lipsValue<jawsValue)
     {
      Comment("Sell","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }
  }
//+------------------------------------------------------------------+

Différences dans ce code.

Conditions de cette stratégie.

En cas de signal d'achat :

   if(lipsValue>teethValue && lipsValue>jawsValue)
     {
      Comment("Buy","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }

En cas de signal de vente :

   if(lipsValue<teethValue && lipsValue<jawsValue)
     {
      Comment("Sell","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "lipsValue = ",lipsValue);
     }

Après avoir compilé ce code et l'avoir exécuté dans le terminal de trading, nous pouvons le trouver attaché au graphique comme suit :

Système de Signaux Alligator attaché

Nous voyons dans le coin supérieur droit du graphique précédent que l'EA est attaché. Nous sommes prêts à recevoir nos signaux d'achat ou de vente basés sur cette stratégie. Voici des exemples de tests.

En cas de signal d'achat :

Système de Signaux Alligator - signal d’achat

 

Comme nous pouvons le voir, nous avons le signal souhaité avec les valeurs suivantes :

Nous avons 3 lignes évoluant en dessous des prix, nous avons donc reçu un signal d'achat.

En cas de signal de vente :

Système de Signaux Alligator - signal de vente

Nous avons notre signal souhaité avec les valeurs suivantes :

Nous avons 3 lignes qui évoluent au-dessus des prix, nous avons donc reçu un signal de vente.

3ème stratégie : Amélioration du Système de Signaux Alligator

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

//+------------------------------------------------------------------+
//|                         Alligator Signals System Enhancement.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 three arrays of Alligator components
   double jawsArray[];
   double teethArray[];
   double lipsArray[];
   MqlRates pArray[];
//Sorting data
   ArraySetAsSeries(jawsArray,true);
   ArraySetAsSeries(teethArray,true);
   ArraySetAsSeries(lipsArray,true);
   int Data=CopyRates(_Symbol,_Period,0,1,pArray);
//define Alligator
   int alligatorDef=iAlligator(_Symbol,_Period,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN);
//define data and store result
   CopyBuffer(alligatorDef,0,0,13,jawsArray);
   CopyBuffer(alligatorDef,1,0,13,teethArray);
   CopyBuffer(alligatorDef,2,0,13,lipsArray);
//get value of current data
   double jawsValue=NormalizeDouble(jawsArray[0],5);
   double teethValue=NormalizeDouble(teethArray[0],5);
   double lipsValue=NormalizeDouble(lipsArray[0],5);
//conditions of strategy
   if(lipsValue<teethValue && lipsValue<jawsValue && pArray[0].close>teethValue)
     {
      Comment("Buy","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "closingPrice = ",pArray[0].close,"\n",
              "lipsValue = ",lipsValue);
     }
   if(lipsValue>teethValue && lipsValue>jawsValue && pArray[0].close<teethValue)
     {
      Comment("Sell","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "closingPrice = ",pArray[0].close,"\n",
              "lipsValue = ",lipsValue);
     }
  }
//+------------------------------------------------------------------+

Différences dans ce code.

Création d'un tableau supplémentaire pour les prix à l'aide de la fonction « MqlRates » pour stocker des informations sur les prix, les volumes et la répartition.

MqlRates pArray[];

Obtention des données historiques de MqlRates en utilisant "CopyRates". Ses paramètres sont :

int Data=CopyRates(_Symbol,_Period,0,1,pArray);

Conditions de la stratégie.

En cas de signal d'achat :

   if(lipsValue<teethValue && lipsValue<jawsValue && pArray[0].close>teethValue)
     {
      Comment("Buy","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "closingPrice = ",pArray[0].close,"\n",
              "lipsValue = ",lipsValue);
     }

En cas de signal de vente :

   if(lipsValue>teethValue && lipsValue>jawsValue && pArray[0].close<teethValue)
     {
      Comment("Sell","\n",
              "jawsValue = ",jawsValue,"\n",
              "teethValue = ",teethValue,"\n",
              "closingPrice = ",pArray[0].close,"\n",
              "lipsValue = ",lipsValue);
     }

Après avoir compilé ce code et exécuté l'EA, il sera attaché au graphique comme ci-dessous pour obtenir nos signaux d'achat et de vente.

 Amélioration du Système de Signaux Alligator attaché

L’EA est attaché comme on peut le voir dans le coin supérieur droit. Nous pouvons recevoir les signaux souhaités. Voici des exemples de tests.

En cas de signal d'achat :

 Amélioration du Système de Signaux Alligator - signal d’achat

Nous avons un commentaire dans le coin supérieur gauche avec les valeurs suivantes :

Comme 3 lignes évoluent au-dessus des prix, nous pouvons constater que le prix de clôture est au-dessus de la ligne des Dents de l'Alligator.

En cas de signal de vente :

 Amélioration du Système de Signaux Alligator - signal de vente

Nous avons un commentaire comme signal dans le coin supérieur gauche :

Comme 3 lignes évoluent en dessous des prix, nous pouvons constater que le cours de clôture est en dessous de la ligne des Dents de l’Alligator.

Conclusion

Nous avons découvert en détail dans cet article l'indicateur technique Alligator qui peut être utilisé pour confirmer la tendance en plus de générer des signaux d'achat et de vente. Nous avons appris comment le calculer manuellement et comment l'utiliser avec des stratégies simples :

Nous avons conçu un plan étape par étape pour chaque stratégie mentionnée afin de nous aider à organiser nos idées pour créer un système de trading fluide, simple et efficace. Nous avons également créé un système de trading pour chaque stratégie, à utiliser dans le terminal de trading MetaTrader 5 pour générer automatiquement des signaux. Je dois rappeler ici encore que vous devez tester toute stratégie avant de l'utiliser sur votre compte réel pour vous assurer qu'elle est utile et rentable pour vous. Rien ne convient à tout le monde en même temps. L'objectif principal de fins d'éducation.

J'espère que vous avez essayé d'appliquer ce que vous avez appris par vous-même de la même manière. Je vous ai conseillé d'améliorer vos compétences en codage et de tirer pleinement parti de la lecture de cet article. J'espère que vous l'avez trouvé utile pour votre trading et que vous avez obtenu des informations utiles sur le sujet de cet article. article ou même tout sujet connexe. Si vous souhaitez lire d'autres articles similaires, vous pouvez lire mes articles précédents de cette série car nous avons partagé les indicateurs techniques les plus populaires tels que stochastiques, RSI, bandes de Bollinger, moyennes mobiles, enveloppes, MACD, ADX, etc., et comment nous pouvons créer un système de trading basé sur eux.