Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
If you accept this notice, your choice will be saved and the page will refresh.
Avec MQL5 pour Metatrader5, nous créons un Expert Advisor qui peut être utilisé pour le trading automatisé avec l’indicateur Paarabolic SAR. Cet EA peut être codé en moins de 10 minutes et les signaux de trading sont vraiment faciles à comprendre…
Dans cette vidéo, nous allons créer cet intéressant Expert Advisor pour l’indicateur SAR Parabolique.
Vous voyez les petits points verts ici, c’est le signal, lorsque les points sont au-dessus du prix c’est un signal de vente et lorsqu’ils sont en dessous du prix c’est un signal d’achat jusqu’à ce que la direction change.
Alors découvrons comment automatiser le SAR parabolique avec MQL5.
Pour ce faire, veuillez cliquer sur un petit bouton ici ou appuyez sur F4 sur votre clavier, maintenant vous devriez voir la fenêtre Metaeditor et ici vous voulez cliquer sur : „Fichier/ Nouveau fichier/ Expert Advisor (modèle)“ à partir du modèle, „Continuer“, je vais appeler ce fichier : „SimpleParabolicSAREA“, cliquez sur „Continuer“, „Continuer“ et „Terminer“.
Maintenant, vous pouvez supprimer tout ce qui se trouve au-dessus de la fonction „OnTick“ et les deux lignes de commentaires ici.
Nous commençons par une déclaration include pour inclure le fichier : „Trade.mqh“, celui-ci est inclus dans MQL5 et il contient des fonctions de trading que nous allons utiliser pour ouvrir nos positions, donc créons une instance de „CTrade“ qui sera appelée : „trade“ et nous allons l’utiliser plus tard.
Dans la fonction „OnTick“, nous commençons par calculer le cours vendeur et le cours acheteur en utilisant „SymbolInfoDouble“ pour le symbole actuel sur le graphique, avec „SYMBOL_ASK“ – tout en majuscules – nous obtiendrons le cours vendeur et avec „SYMBOL_BID“ nous obtiendrons le cours acheteur. „NormalizeDouble“ et „_Digits“ sont utilisés pour calculer le nombre de chiffres derrière le point, car „_Digits“ enregistre le nombre de chiffres après la virgule et selon la paire de devises, cela peut être 3 chiffres ou 5 chiffres.
Créons une variable pour le signal, nous l’appellerons également „signal“ et nous n’attribuons pas de valeur, celle-ci sera calculée plus tard.
D’abord, nous devons créer un tableau de prix pour les prix sur le graphique, ce qui est fait avec „MqlRates“, nous utilisons „ArraySetAsSeries“ pour notre tableau de prix (PriceArray) pour le trier de la bougie actuelle vers le bas et maintenant nous devons remplir le tableau (PriceArray) avec des données de prix, ce qui est fait en utilisant „CopyRates“ pour le symbole actuel sur le graphique et la période actuellement sélectionnée.
D’ailleurs, „_Symbol“ et ce symbole (Symbol()) sont identiques, nous pouvons donc utiliser „_Symbol“ et il en va de même pour „_Period“, nous commençons par la bougie actuelle 0 (zéro) et nous voulons obtenir les données de prix pour 3 bougies et les stocker dans notre tableau de prix (PriceArray).
Créons un autre tableau (mySARArray) pour l’indicateur SAR parabolique, définissons (SARDefinition) ce que nous allons faire, nous utilisons la fonction „iSAR“ fournie avec MQL5 pour le symbole actuel sur le graphique et la période actuellement sélectionnée. Alors, découvrons ces deux valeurs ici.
Choisissez n’importe quel graphique, cliquez sur „Insérer/ Indicateurs/ Tendance/ SAR parabolique“ et ici nous voyons que nous avons une valeur d’étape de 0,02 et une valeur maximale de 0,2, alors cliquons sur „OK“, maintenant vous voyez l’Indicateur et nous voulons faire un clic droit sur le graphique, sélectionner „Modèles/ Enregistrer le modèle“ et l’enregistrer sous „tester. tpl“, oui je veux échanger l’actuel parce que si je ne le fais pas je pourrais ne pas voir l’Indicateur dans le backtest, mais revenons au code voici les deux valeurs ; la valeur pas et la valeur max, trions aussi ce tableau (mySARArray) en utilisant „ArraySetAsSeries“ et cette fois nous utilisons „CopyBuffer“ pour remplir notre tableau de prix (mySARArray) selon la définition SAR (SARDefinition) que nous avons créé ici pour le tampon 0 (zéro) – c’est le seul tampon que cet Indicateur a – à partir de la bougie 0 (zéro) – c’est la bougie actuelle – pour 3 bougies et stockons les valeurs dans le tableau SAR (mySARArray).
Maintenant nous pouvons obtenir la dernière valeur SAR (LastSARValue) en regardant la bougie 1 du tableau SAR (mySARArray). J’utilise „NormalizeDouble“ et 5 chiffres car c’est ce que vous voyez lorsque vous pointez votre souris sur l’un de ces points de l’indicateur, nous avons 5 chiffres derrière le point.
Alors découvrons si nous avons un signal d’achat et cela serait si la dernière valeur SAR (LastSARValue) est en dessous de la loi de la bougie 1 dans notre tableau de prix (PriceArray) ou en d’autres termes si le point est en dessous de la bougie nous attribuons le mot : „achat“ à notre signal.
Dans l’autre cas, un signal de vente serait si la dernière valeur SAR (LastSARValue) est au-dessus du prix le plus élevé de la bougie 1 dans notre tableau de prix (PriceArray) et si c’est le cas nous assignons le mot : „vendre“ à notre signal.
Donc, si notre signal est égal à vendre et que „PositionsTotal“ est inférieur à 1 – en d’autres termes, nous n’avons pas de position ouverte – nous utilisons „trade.Sell“ pour vendre 10 micro-lots, sinon, si le signal est égal à acheter et que nous n’avons pas de positions ouvertes, nous utilisons „trade.Buy“ et achetons 10 micro-lots.