![Apprenez à concevoir un système de trading basé sur Le SAR Parabolique](https://c.mql5.com/2/49/learnhow_parabolic_sar_600x314.jpg)
Apprenez à concevoir un système de trading basé sur Le SAR Parabolique
Introduction
Dans cet article, vous allez découvrir en détail un nouvel indicateur technique qui peut être utilisé dans votre trading s'il vous est adapté. Cet indicateur technique est le SAR Parabolique. Nous allons apprendre à concevoir un système de trading à utiliser dans la plateforme de trading MetaTrader5 après avoir écrit le code de ce système dans l'éditeur de langage MetaQuotes intégré à MetaTrader 5. Si vous voulez savoir comment obtenir MetaTrader 5 et comment trouver l'éditeur de langage MetaQuotes, vous pouvez consulter la rubrique Écrire du code MQL5 dans MetaEditor. Nous allons couvrir le cœur de cet article à travers les sujets suivants :
- Définition du SAR Parabolique
- Stratégie SAR Parabolique
- Schéma de la stratégie SAR Parabolique
- Système de trading SAR Parabolique
- Conclusion
Grâce aux sujets précédents, nous allons apprendre à concevoir un système de trading simple basé sur des stratégies simples utilisant l'indicateur SAR Parabolique et le concept qui le sous-tend. Grâce à la définition du SAR Parabolique, nous apprendrons plus en détail ce qu'est cet indicateur et ce qu'il signifie, et comment nous pouvons le calculer afin d'apprendre son concept sous-jacent. Cette approche facilitera l'utilisation de cet indicateur. Nous apprendrons ensuite à utiliser cet indicateur SAR Parabolique à travers des stratégies simples, conformément à ce que nous avons appris et nous l'apprendrons à travers le sujet de la stratégie SAR Parabolique. Puis, nous concevrons un plan pour les stratégies simples mentionnées. Ce plan nous aidera à concevoir notre système de trading étape par étape. Ensuite, nous aborderons le sujet le plus intéressant de cet article : nous apprendrons comment écrire le code du système de trading pour permettre à l'ordinateur d'examiner le signal que nous avons conçu en fonction de nos stratégies. Ce processus sera automatique et précis grâce à l’Expert Advisor conçu sur la base de nos stratégies simples.
Avant d'aborder nos sujets, j'aimerais vous donner un conseil : mettez en pratique ce que vous apprenez par vous-même. Cette approche vous permettra d'approfondir votre compréhension. Vous devez toujours tester les stratégies, indicateurs ou autres avant des l'utiliser sur un compte réel, surtout si vous les avez obtenus à partir de sources éducatives, car elle pourrait ne pas être utile pour votre trading.
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 notre parcours.
Définition du SAR Parabolique
Dans cette partie, nous allons apprendre plus en détail l'indicateur SAR Parabolique, créé par Welles Wilder. Le nom de cet indicateur vient de "Parabolic" qui se réfère à la formation de l'indicateur sur le graphique et "SAR" se réfère à Stop And Reverse. Cet indicateur existe aussi sous le nom Parabolic Time/Price system, celui utilisé par Welles Wilder dans son livre "New Concepts in Technical Trading Systems".
L'indicateur SAR Parabolique est un indicateur de suivi de tendance utilisé pendant les marchés en tendance. Il permet à l'instrument de réagir pendant quelques périodes après avoir ouvert une position, puis les niveaux de stop commencent à bouger. Ainsi, l'objectif principal de cet indicateur est de vous permettre de fixer des stops appropriés en fonction de la direction ou de la tendance actuelle du marché. Vous pouvez lire un article sur la définition de la tendance pour en savoir plus sur la tendance si vous ne le savez pas.
En d'autres termes, l'objectif principal de cet indicateur SAR Parabolique est de créer des stops suiveurs. Le stop est une fonction de 2 éléments : le temps et le prix. Selon mouvement relatif du prix, le stop va monter ou descendre, et selon le temps, le stop va bouger à chaque période indépendamment de la direction du prix.
Nous devons donc d'abord déterminer la tendance, puis utiliser la tactique du SAR Parabolique. Jusque ici, nous avons vu ce que représente l'indicateur SAR Parabolique et ce qu'il peut nous dire. Maintenant, nous devons savoir comment le calculer manuellement afin d'apprendre le concept qui le sous-tend.
Nous devons donc d'abord déterminer la tendance ou la direction du marché. Ensuite, en fonction de cette détermination, nous diviserons le calcul en deux cas : l'un d'eux est comment calculer le SAR Parabolique pendant un marché haussier (il retournera le SAR en hausse), et l'autre cas est comment calculer le SAR Parabolique pendant un marché baissier (il retournera le SAR en baisse). Nous allons donc calculer 2 choses : Le SAR ascendant en cas de marché haussier, et le SAR descendant en cas de marché baissier.
- SAR en hausse :
- Déterminer la valeur antérieure du SAR = la valeur du SAR de la période précédente.
- Déterminer le point extrême (EP) = le prix le plus élevé de la tendance haussière actuelle.
- Déterminer le facteur d'accélération (AF) = une valeur comprise entre 0,02 et 0,20. Après avoir déterminé la première valeur minimale, qui est 0,02, la valeur sera déterminée en fonction de EP, car AF sera augmenté de 0,02 chaque fois que EP crée un nouveau sommet pour approcher la valeur maximale de 0,20, quelle que soit la durée de la tendance.
- Valeur actuelle du SAR Parabolique = SAR antérieur (étape 1) + AF antérieur * (EP antérieur - SAR antérieur).
Prenons un exemple de calcul du SAR ascendant avec les données du marché suivantes :
Jour | Plus Haut | Plus Bas |
---|---|---|
1 | 45 | 43 |
2 | 44 | 43,5 |
3 | 46 | 43 |
4 | 47 | 42 |
5 | 48 | 42,5 |
6 | 47,5 | 42,75 |
7 | 48 | 42,60 |
8 | 47,75 | 42,5 |
9 | 48 | 43 |
10 | 49 | 42,5 |
11 | 48,75 | 42,60 |
12 | 50 | 42 |
13 | 51 | 42,5 |
14 | 52 | 43 |
15 | 51,5 | 42,5 |
16 | 51 | 42 |
17 | 52 | 43 |
18 | 53 | 44 |
19 | 54 | 45 |
Maintenant, nous devons calculer le SAR ascendant :
- Déterminer la valeur antérieure du SAR = la valeur du SAR de la période précédente. Ici la première valeur en couleur jaune, est égale à 42.
- Déterminer le point extrême (PE) = le prix le plus haut de la tendance haussière actuelle, 48.
- Calcul de la différence entre EP et SAR, la différence sera de 48 - 42 = 6
- Déterminer le facteur d'accélération (AF) = valeur comprise entre 0,02 et 0,20. Ce sera de 0,02 pour la première valeur.
- Multiplier AF par la différence entre EP et SAR, la valeur sera 0,02 x 6 = 0.12
- Calculer le SAR actuel en ajoutant le résultat de la multiplication de l'AF précédent par la différence entre l'EP et le SAR (résultat de l'étape 5) au SAR précédent, la valeur sera 0,12 + 42 = 42,12.
Voici une image de toutes les valeurs calculées dans l'exemple :
Comme on peut le voir dans la colonne SAR, les valeurs du SAR augmentent chaque jour pendant la période.
- SAR en baisse :
- Déterminer la valeur antérieure du SAR = la valeur du SAR de la période précédente.
- Déterminer le point extrême (PE) = le prix le plus bas de la tendance baissière actuelle.
- Déterminer le facteur d'accélération (AF) = une valeur comprise entre 0,02 et 0,20. Après avoir déterminé la première valeur minimale qui est de 0,02, la valeur sera déterminée selon EP, car AF sera augmenté de 0,02 chaque fois que EP crée un nouveau plus bas pour s'approcher de la valeur maximale de 0,20, quelle que soit la durée de la tendance.
- Valeur actuelle du SAR parabolique = SAR antérieur (étape 1) - AF antérieur * (EP antérieur - SAR antérieur).
Prenons un exemple de calcul du SAR descendant avec les données suivantes du marché :
Jour | Plus Haut | Plus Bas |
---|---|---|
1 | 54 | 45 |
2 | 53 | 44 |
3 | 52 | 43 |
4 | 51 | 42 |
5 | 51,5 | 42,5 |
6 | 52 | 43 |
7 | 51 | 42,5 |
8 | 50 | 42 |
9 | 48,75 | 42,6 |
10 | 49 | 42,5 |
11 | 48 | 43 |
12 | 47,75 | 42,50 |
13 | 48 | 42,60 |
14 | 47,50 | 42,75 |
15 | 48 | 42,50 |
16 | 47 | 42 |
17 | 46 | 43 |
18 | 44 | 43,50 |
19 | 45 | 43 |
Maintenant, nous allons calculer les valeurs décroissantes du SAR pour la période donnée :
- Déterminer la valeur antérieure du SAR = la valeur du SAR de la période précédente. Ici, la première valeur en couleur jaune, est donnée pour simplifier et est égale à 51.
- Déterminer le point extrême (PE) = le prix le plus bas de la tendance baissière actuelle, 42.
- Calculer la différence entre EP et SAR, la différence sera 51 - 42 = 9
- Déterminer le facteur d'accélération (AF) = valeur comprise entre 0,02 et 0,20. Ce sera de 0,02 pour la première valeur.
- Multiplier AF par la différence entre EP et SAR, la valeur sera 0,02 x 9 = 0,18
- Calculer le SAR actuel en soustrayant le SAR précédent du résultat de l'étape 5, la valeur 51 - 0,18 = 50,82
Voici une image de toutes les valeurs pendant la période donnée :
Comme nous pouvons le voir dans la colonne SAR, les valeurs du SAR diminuent chaque jour pendant la période.
Heureusement, nous n'avons pas besoin de calculer l'indicateur SAR Parabolique car il est déjà intégré à la plateforme de trading MetaTrader 5. Nous avons juste besoin de le sélectionner parmi les indicateurs disponibles. Voici comment le faire :
En ouvrant MetaTrader 5, vous pouvez cliquer sur l'onglet Insertion --> Indicateurs --> Tendance --> SAR Parabolique.
La fenêtre des paramètres du SAR Parabolique est alors affichée :
1- détermine le pas (AF) qui sera ajouté chaque fois que le prix crée un nouveau haut ou bas.
2- détermine la valeur maximale de (AF) - la valeur par défaut est 0,20.
3- détermine la couleur de l'indicateur.
4- détermine le style de l'indicateur.
Après avoir défini les paramètres de l'indicateur SAR Parabolique et avoir appuyé sur le bouton "OK", nous pouvons le trouver attaché au graphique de la manière suivante :
Comme nous pouvons le voir dans l'image précédente, pendant le mouvement haussier, le SAR Parabolique se déplace en dessous des prix et continue à se déplacer vers le haut selon le mouvement. Et vice versa, pendant le mouvement baissier, l'indicateur SAR Parabolique se déplace au-dessus des prix et continue à se déplacer vers le bas selon le mouvement.
Stratégie SAR Parabolique
Dans cette rubrique, nous allons apprendre quelques stratégies simples qui peuvent être utilisées par le SAR parabolique. N'oubliez pas que vous devez tester toute stratégie avant de l'utiliser sur votre compte réel car l'objectif principal ici est d'apprendre le concept d'un nouvel outil et comment concevoir un système de trading pour celui-ci.
Nous avons mentionné que cet indicateur SAR Parabolique est un indicateur de suivi de tendance. Nous pouvons l'utiliser pendant les marchés en tendance haussière et en tendance baissière. Nous allons donc d'abord déterminer la tendance, puis nous pourrons utiliser le SAR Parabolique en fonction de cette tendance.
- Première stratégie : Stratégie en tendance haussière
Dans cette stratégie, pour chaque tick, nous devons comparer la valeur du SAR Parabolique avec les prix et décider s'il y a un signal d'achat ou non. Le signal d'achat sera généré lorsque la valeur du SAR Parabolique sera inférieure au prix le plus bas. Le signal de prise de profit sera généré lorsque la valeur du SAR deviendra supérieure au prix le plus haut.
Valeur SAR < le prix le plus bas = achat
Valeur SAR > le prix le plus haut = prise de profit
- Deuxième stratégie : Stratégie en tendance baissière
Cette stratégie sera l'opposé de la stratégie en tendance haussière. Pour chaque tick, nous devons comparer la valeur du SAR Parabolique avec les prix et décider s'il y a un signal de vente ou non. Le signal de vente sera généré lorsque la valeur du SAR Parabolique sera supérieure au prix le plus élevé. Le signal de prise de profit sera généré lorsque la valeur du SAR deviendra inférieure au prix le plus bas.
Valeur SAR > le prix le plus haut = vente
Valeur SAR < le prix le plus bas = prise de profit
- Troisième stratégie : Signal d'achat avec stop suiveur
Dans cette stratégie, pour chaque tick, nous devons comparer la valeur du SAR avec les prix et décider si nous avons un signal d'achat, et déterminer le stop suiveur pour chaque tick en fonction de la valeur de l'indicateur SAR Parabolique. Ainsi, lorsque la valeur du SAR est inférieure au prix le plus bas, il s'agira d'un achat et le niveau du stop suiveur sera obtenu en fonction de la valeur de l'indicateur.
Valeur SAR < le prix le plus bas = achat --> valeur du stop suiveur = valeur SAR
- Quatrième stratégie : Signal de vente avec stop suiveur
Dans cette stratégie, à chaque tick, nous devons comparer la valeur SAR avec les prix et décider si nous avons un signal de vente, et déterminer le stop suiveur pour chaque tick en fonction de la valeur du SAR Parabolique. Ainsi, lorsque la valeur SAR est supérieure au prix le plus haut, il s'agit d'une vente et le niveau de stop suiveur sera obtenu en fonction de la valeur SAR.
Valeur SAR > le prix le plus haut = vente --> valeur du stop suiveur = valeur SAR.
Schéma de la stratégie SAR Parabolique
Dans cette partie, nous allons concevoir un plan pour nos stratégies afin de nous aider à écrire le code du système de trading. Cela nous permettra d'organiser et de structurer nos esprits pour savoir ce que nous devons demander à l’Expert Advisor de faire étape par étape. Ce qui suit est donc un plan pour chaque stratégie.
- Première stratégie : Stratégie en tendance haussière
Nous informerons l'ordinateur ou l’Expert Advisor de ce qu'il doit vérifier et de ce qu'il retournera si certaines conditions sont remplies. Dans cette stratégie, nous devons vérifier la valeur du SAR et la comparer au niveau du prix, puis décider si la valeur du SAR est inférieure au prix le plus bas ou non. S’il ne l’est pas, il ne doit rien renvoyer. Sinon, l'Expert doit renvoyer un signal d'achat. Puis en les vérifiant et en comparant les deux valeurs à nouveau, il doit décider si la valeur du SAR est supérieure à la valeur la plus haute ou non. Si elle ne l’est pas, le programme ne DOIT rien renvoyer. Sinon, il doit renvoyer un signal de prise de profit.
Valeur SAR < le prix le plus bas = achat
Valeur SAR > le prix le plus haut = prise de profit
- Deuxième stratégie : Stratégie en tendance baissière
Dans cette stratégie, nous devons vérifier la valeur du SAR et la comparer au niveau du prix, puis décider si la valeur du SAR est supérieure au prix haut ou non. S’il ne l’est, la stratégie ne doit rien renvoyer. Sinon l'Expert doit renvoyer un signal de vente. Puis lors de la vérification et de la comparaison de 2 valeurs à nouveau, le programme doit décider si la valeur du SAR est inférieure à la valeur basse ou non. Si elle l’est, il doit renvoyer un signal de prise de profit. Sinon il ne doit rien renvoyer.
Valeur SAR > le prix le plus haut = vente
Valeur SAR < le prix le plus bas = prise de profit
Pour écrire le code de cette stratégie, nous avons besoin que le programme vérifie la valeur du SAR et renvoie la valeur du stop suiveur, vérifie cette valeur avec le haut et le bas et décide si la valeur du SAR est inférieure au prix bas ou non. S’il ne l’est pas, il doit renvoyer la valeur du stop suiveur, sinon il doit renvoyer un signal d'achat et la valeur du stop suiveur.
niveau de stop suiveur uniquement --> valeur SAR < le prix bas = achat --> valeur du stop suiveur selon la valeur SAR
- Quatrième stratégie : Signal de vente avec stop suiveur
Pour écrire le code de cette stratégie, nous avons besoin d'un programme qui vérifie la valeur du SAR et renvoie la valeur du stop suiveur, vérifie cette valeur avec le plus haut et le plus bas et décide si la valeur du SAR est supérieure au prix haut ou non. S’il ne l’est pas, il doit renvoyer la valeur du stop suiveur seulement, sinon nous avons besoin qu'il renvoie un signal de vente et la valeur du stop suiveur.
valeur du stop suiveur uniquement --> valeur du SAR > le prix le plus haut = vente --> valeur du stop suiveur selon la valeur du SAR
Système de trading SAR Parabolique
Dans cette partie, nous allons apprendre comment écrire le code de chaque stratégie mentionnée en MQL5 (MetaQuotes Language Editor) pour concevoir un système de trading pour chacune d'entre elles afin d'exécuter ces stratégies sur la plateforme de trading MetaTrader 5 de manière automatique et précise.
Tout d'abord, nous allons apprendre à écrire du code pour concevoir un système de trading simple qui renvoie un commentaire avec la valeur du SAR Parabolique. Pour écrire cet expert simple nous allons suivre les étapes suivantes :
- Créer un tableau d’éléments de type "double" pour le SAR Parabolique :
double SARArray[];
- Trier le tableau à partir des données actuelles avec la fonction "ArraySetAsSeries" qui retourne un booléen :
ArraySetAsSeries(SARArray,true);
- Définir l'indicateur SAR en utilisant la fonction "iSAR" :
int SARDef=iSAR(_Symbol,_Period,0.02,0.2);
- Remplir le tableau SARArray avec la définition du SAR en utilisant la fonction "CopyBuffer" :
CopyBuffer(SARDef,0,0,3,SARArray);
- Calculer la valeur du SAR en utilisant la fonction "NormalizeDouble" après avoir créé une variable pour la valeur de type "double" du SAR :
double SARValue=NormalizeDouble(SARArray[0],5);
- Afficher sur le graphique la valeur du SAR avec la fonction comment :
Comment("Parabolic SAR value is ",SARValue);
Avec cela, le code complet est le suivant :
//+------------------------------------------------------------------+ //| Simple Parabolic SAR 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() { //create a SAR array double SARArray[]; //sort array from current data ArraySetAsSeries(SARArray,true); //define SAR EA int SARDef=iSAR(_Symbol,_Period,0.02,0.2); //fill SARArray with SARDef CopyBuffer(SARDef,0,0,3,SARArray); //calculate value of last data double SARValue=NormalizeDouble(SARArray[0],5); //chart comment with the signal Comment("Parabolic SAR value is ",SARValue); } //+------------------------------------------------------------------+
Après avoir écrit et compilé ce code, nous le trouverons dans le Navigateur comme dans l'image suivante :
Nous allons double-cliquer ou glisser-déposer le fichier sur le graphique pour exécuter l’Expert Advisor et obtenir les résultats du système. La fenêtre suivante sera affichée :
Ensuite, nous devons cocher la case "Autoriser le Trading Algorithmique" et appuyer sur le bouton OK. L’Expert Advisor est alors attaché au graphique de la manière suivante :
L'image suivante est un exemple de signaux générés avec ce système :
- Première stratégie : Stratégie en tendance haussière
De la même manière que ce que j'ai mentionné dans cette stratégie, nous devons définir nos conditions pour que le système de trading génère un signal d'achat lorsque la valeur du SAR est inférieure au prix bas et génère un signal de prise de profit lorsque la valeur SAR devient supérieure au prix haut. Voici la façon de coder cette stratégie :
- Créer une variable de type "string" pour le signal :
string signal="";
- Créer un tableau d’éléments de type "MqlRates" pour les prix. Il stockera les informations sur les prix, les volumes et le spread :
MqlRates PriceArray[];
- Trier le tableau des prix à partir des données actuelles avec la fonction "ArraySetAsSeries" :
ArraySetAsSeries(PriceArray,true);
- Remplir le tableau avec les données des prix en utilisant la fonction "CopyRates". Cette fonction récupère les données historiques de la structure "MqlRates" après avoir stocké les données sous forme d'un nombre entier :
int Data=CopyRates(_Symbol,_Period,0,3,PriceArray);
- Créer un autre tableau d’éléments de type "double" pour la valeur du SAR :
double SARArray[];
- Trier le tableau SAR à partir des données actuelles en utilisant la fonction "ArraySetAsSeries" :
ArraySetAsSeries(SARArray,true);
- Définir l'indicateur SAR pour l'EA en utilisant la fonction "iSAR" qui renvoie le handle de l'indicateur SAR Parabolique après avoir stocké "SARDef" comme un entier pour se référer à la définition du SAR :
int SARDef=iSAR(_Symbol,_Period,0.02,0.2);
- Remplir le tableau SARArray avec des SARDef en utilisant la fonction "CopyBuffer" car elle récupère les données d'un buffer donné d'un indicateur spécifique :
CopyBuffer(SARDef,0,0,3,SARArray);
- Calculer la valeur du SAR de la dernière donnée en utilisant la fonction "NormalizeDouble" qui renvoie le type de valeur double :
double SARValue=NormalizeDouble(SARArray[0],5);
- Définir les conditions du signal d'achat en utilisant la fonction "if" : si la valeur du SAR est inférieure au prix bas, il doit renvoyer le signal d'achat :
if(SARValue < PriceArray[1].low) { signal="Buy"; }
- Définir les conditions du signal "Take Profit" en utilisant la fonction "if" : si la valeur du SAR est supérieure au prix haut, il doit renvoyer le signal "Take Profit" :
if(SARValue > PriceArray[1].high) { signal="Take Profit"; }
- Afficher le signal généré sur le graphique en utilisant la fonction "Comment" :
Comment("The signal is ",signal);
Grâce aux étapes précédentes, nous avons créé un système de trading pour cette stratégie. Voici le code complet en un seul bloc :
//+------------------------------------------------------------------+ //| Parabilic SAR System - Uptrend Strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //create an string variable for signal string signal=""; //create a price array MqlRates PriceArray[]; //sort array from the current data ArraySetAsSeries(PriceArray,true); //fill array with price data int Data=CopyRates(_Symbol,_Period,0,3,PriceArray); //create a SAR array double SARArray[]; //sort array from current data ArraySetAsSeries(SARArray,true); //define SAR EA int SARDef=iSAR(_Symbol,_Period,0.02,0.2); //fill SARArray with SARDef CopyBuffer(SARDef,0,0,3,SARArray); //calculate value of last data double SARValue=NormalizeDouble(SARArray[0],5); //buy signal //if current SAR value below candle 1 low if(SARValue < PriceArray[1].low) { signal="Buy"; } //take profit signal //if current SAR value above candle 1 high if(SARValue > PriceArray[1].high) { signal="Take Profit"; } //comment with the signal Comment("The signal is ",signal); } //+------------------------------------------------------------------+
Après avoir compilé ce code, nous le trouverons dans la fenêtre du Navigateur comme dans l'image suivante :
Après avoir double-cliqué, ou glissé-déposé le fichier sur le graphique, la fenêtre suivante est affichée :
Après avoir appuyé sur "OK", l’Expert Advisor sera alors attaché au graphique comme dans l'image suivante :
Après cela, nous trouverons les signaux générés sur le graphique sous la forme de commentaires identiques aux images suivantes :
- Signal d'achat :
- Signal de prise de profit :
- Deuxième stratégie : Stratégie en tendance baissière
Dans cette stratégie, nous devons définir nos conditions pour que le système de trading génère un signal de vente lorsque la valeur du SAR est supérieure au prix haut et génère un signal de prise de profit lorsque la valeur du SAR devient inférieure au prix bas. Voici comment coder cette stratégie :
//+------------------------------------------------------------------+ //| Parabolic SAR System - Downtrend Strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //create an string variable for signal string signal=""; //create a price array MqlRates PriceArray[]; //sort array from the current data ArraySetAsSeries(PriceArray,true); //fill array with price data int Data=CopyRates(_Symbol,_Period,0,3,PriceArray); //create a SAR array double SARArray[]; //define SAR EA int SARDef=iSAR(_Symbol,_Period,0.02,0.2); //sort array from current data ArraySetAsSeries(SARArray,true); //fill SARArray with SARDef CopyBuffer(SARDef,0,0,3,SARArray); //calculate value of last data double SARValue=NormalizeDouble(SARArray[0],5); //buy signal //if current SAR value below candle 1 low if(SARValue > PriceArray[1].high) { signal="Sell"; } //take profit signal //if current SAR value above candle 1 high if(SARValue < PriceArray[1].low) { signal="Take Profit"; } //chart comment with the signal Comment("The signal is ",signal); } //+------------------------------------------------------------------+
- Les différences dans ce code de stratégie sont les suivantes :
- Conditions du signal de vente : lorsque la valeur du SAR devient plus grande que le prix haut :
if(SARValue > PriceArray[1].high) { signal="Sell"; }
- Conditions du signal de prise de profit : lorsque la valeur du SAR devient inférieure au prix bas :
if(SARValue < PriceArray[1].low) { signal="Take Profit"; }
Après avoir compilé ce code, nous le trouverons dans la fenêtre du Navigateur sous la forme d'un Expert Advisor, comme dans l'image suivante :
Après avoir glissé et déposé le fichier sur le graphique pour exécuter l'Expert Advisor, la fenêtre suivante s'ouvre :
Après avoir appuyé sur "OK", l'Expert Advisor sera attaché au graphique comme dans l'image suivante :
Les signaux de cette stratégie apparaissent ensuite sur le graphique sous forme de commentaires, comme dans les images suivantes :
- Signal de vente :
- Signal de prise de profit :
- Troisième stratégie : Signal d'achat avec stop suiveur
Dans cette stratégie, nous devons voir un signal d'achat et des stops suiveurs sur le graphique sous la forme de commentaires et selon la valeur du SAR Parabolique et des prix. Les conditions spécifiques sont de voir la valeur des stops suiveurs sur le graphique et ensuite de générer tout nouveau signal d'achat si la valeur du SAR devient inférieure au prix bas. Voici le code du système de trading pour cette stratégie :
//+------------------------------------------------------------------+ //| Parabolic SAR System - Buy signal with training stop.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() { //create an string variable for signal string signal=""; //create a price array MqlRates PriceArray[]; //sort array from the current data ArraySetAsSeries(PriceArray,true); //fill array with price data int Data=CopyRates(_Symbol,_Period,0,3,PriceArray); //create a SAR array double SARArray[]; //define SAR EA int SARDef=iSAR(_Symbol,_Period,0.02,0.2); //sort array from current data ArraySetAsSeries(SARArray,true); //fill SARArray with SARDef CopyBuffer(SARDef,0,0,3,SARArray); //calculate value of last data double SARValue=NormalizeDouble(SARArray[0],5); //buy signal //if current SAR value below candle 1 low if(SARValue < PriceArray[1].low) { signal="Buy"; } //chart comment with the signal and trailing Stop Comment("The signal is ",signal,"\n", "Trailing Stop is ",SARValue); } //+------------------------------------------------------------------+
- La différence est la suivante :
- Ajout de la valeur du stop suiveur qui est la valeur du SAR dans une nouvelle ligne sous la forme d’un commentaire sur le graphique :
Comment("The signal is ",signal,"\n", "Trailing Stop is ",SARValue);
Après avoir compilé ce code, nous trouverons le fichier de l’Expert Advisor dans le Navigateur comme suit :
Pour exécuter cet expert sur le graphique, nous devons le glisser et le déposer sur le graphique. La fenêtre suivante s'ouvrira :
Après avoir appuyé sur "OK", l'expert sera attaché au graphique :
Les images suivantes sont des exemples de signaux générés selon cette stratégie à partir de quelques tests :
L'image suivante montre comment la valeur du stop suiveur augmente avec le prix :
- Quatrième stratégie : Signal de vente avec stop suiveur:
Dans cette stratégie, nous devons voir un signal de vente et les stops suiveurs sur le graphique sous la forme de commentaires selon la valeur du SAR Parabolique et des prix. Les conditions spécifiques sont de voir la valeur des stops suiveurs sur le graphique et ensuite de générer tout nouveau signal de vente si la valeur du SAR devient supérieure au prix haut. Voici le code du système de trading pour cette stratégie :
//+-----------------------------------------------------------+ //| Parabolic SAR System - Sell signal with trailing stop.mq5 | //| Copyright 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() { //create an string variable for signal string signal=""; //create a price array MqlRates PriceArray[]; //sort array from the current data ArraySetAsSeries(PriceArray,true); //fill array with price data int Data=CopyRates(_Symbol,_Period,0,3,PriceArray); //create a SAR array double SARArray[]; //define SAR EA int SARDef=iSAR(_Symbol,_Period,0.02,0.2); //sort array from current data ArraySetAsSeries(SARArray,true); //fill SARArray with SARDef CopyBuffer(SARDef,0,0,3,SARArray); //calculate value of last data double SARValue=NormalizeDouble(SARArray[0],5); //buy signal //if current SAR value below candle 1 low if(SARValue > PriceArray[1].high) { signal="Sell"; } //chart comment with the signal and trailing Stop Comment("The signal is ",signal,"\n", "Trailing Stop is ",SARValue); } //+------------------------------------------------------------------+
- La différence est la suivante :
- Conditions du signal de vente :
if(SARValue > PriceArray[1].high) { signal="Sell"; }
Après avoir compilé le code, nous pouvons trouver l'expert dans le Navigateur comme suit :
Nous pouvons l'exécuter en glissant et déposant le fichier sur le graphique. Après quoi la fenêtre de l'expert apparaîtra :
Après avoir appuyé sur "OK", l'expert sera attaché au graphique :
Les images suivantes sont des exemples de signaux générés avec quelques tests :
La figure suivante montre la baisse des stops suiveurs en fonction du prix :
Conclusion
Nous pouvons maintenant dire que nous avons appris les bases de l'indicateur technique SAR Parabolique en détail. Nous avons appris ce qu'est l'indicateur et ce qu'il mesure, et comment nous pouvons le calculer manuellement pour comprendre le concept sous-jacent. Nous avons aussi appris comment l'utiliser au travers de stratégies simples. Nous avons conçu un plan pour ces stratégies pour concevoir un système de trading basé sur celles-ci, et nous avons appris comment coder ces stratégies en MQL5 pour les exécuter sur MetaTrader 5 pour générer des signaux automatiquement et avec précision.
J'espère que vous avez essayé de coder ces stratégies par vous-même. Cela améliorera votre courbe d'apprentissage. En effet, la pratique est un facteur très important pour maîtriser quoi que ce soit, et vous pouvez le vérifier lorsque vous apprenez quelque chose. Vous constaterez que votre conscience sera accrue lorsque vous pratiquez ou appliquez ce que vous avez appris, plus que lorsque vous ne pratiquez pas.
J'espère également que vous avez trouvé cet article utile, qu'il vous a donné de nouvelles idées pour améliorer votre trading, et qu'il vous a ouvert les yeux à de nouvelles possibilités. Je dois également vous redire que vous devez tester tout nouvel outil ou toute nouvelle stratégie pendant une période raisonnable avant de l'utiliser sur votre compte réel afin de vous assurer qu'il améliorera vos résultats de trading.
Traduit de l’anglais par MetaQuotes Ltd.
Article original : https://www.mql5.com/en/articles/10920
![Visualisez le ! Bibliothèque graphique MQL5 similaire à 'plot' du langage R](https://c.mql5.com/2/25/visuai_data.png)
![Développer un Expert Advisor à partir de zéro (partie 9) : Un saut conceptuel (2)](https://c.mql5.com/2/46/development__1.png)
![SQLite Gestion native des bases de données SQL dans MQL5](https://c.mql5.com/2/37/database-mql5.png)
![Développer un Expert Advisor à partir de zéro (partie 8) : Un saut conceptuel](https://c.mql5.com/2/45/development__1.png)
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation