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 pour déplacer un stop suiveur d’achat avec l’indicateur Bollinger Bands…
Dans cette vidéo, nous allons créer un conseiller expert capable de calculer un stop suiveur d’achat pour l’indicateur des bandes de Bollinger, alors découvrons comment faire cela avec mql5.
Pour commencer, cliquez sur la petite icône 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, conseiller expert à partir du modèle, continuer, j’appellerai ce fichier, simple bollinger bands buy trailing stop, 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 commentaire ici.
D’abord, nous voulons inclure le fichier trade dot mqh, celui-ci est fourni avec mql5 et il contient la classe ctrade et nous allons créer une instance de ctrade qui s’appelle trade.
À l’intérieur de la fonction ontick, nous voulons créer une double variable statique, appelée last stop bollinger bands value.
Ensuite, nous voulons calculer le cours vendeur et le cours acheteur en utilisant symbol info double pour le symbole actuel sur le graphique, nous utilisons symbol ask ou symbol bid et nous utilisons normalize double et underscore digits pour calculer automatiquement le bon nombre de chiffres derrière le point.
Pour un stop suiveur, nous devons avoir une position ouverte, alors créons une position de test, chaque fois que le total des positions est inférieur à un, nous utilisons trade dot buy pour acheter dix micro-lots et nous définissons la valeur du dernier stop bandes de bollinger à zéro.
Maintenant, créons un tableau pour le tableau de la bande supérieure et pour le tableau de la bande inférieure. En fait, les bandes de bollinger ont trois tableaux pour la bande supérieure, la bande moyenne et la bande inférieure mais dans ce cas, nous n’avons besoin que des deux extrêmes. Utilisons le tableau set as series pour trier les deux tableaux à partir de la bougie actuelle vers le bas.
Maintenant, nous pouvons définir les bandes de Bollinger en utilisant la fonction ibands intégrée pour le symbole actuel sur le graphique et la période actuellement sélectionnée, nous voulons calculer le résultat pour vingt bougies, nous n’utilisons pas de valeur de décalage, la valeur de déviation est de deux et nous voulons calculer les résultats sur la base du prix de clôture.
Maintenant nous utilisons le tampon de copie pour copier les données selon la définition des bandes de bollinger que nous avons créée ici, nous utilisons le tampon un pour le tableau de la bande supérieure et le tampon deux pour le tableau de la bande inférieure en partant de la bougie actuelle zéro et nous voulons copier les valeurs pour trois bougies et les stocker dans le tableau.
Et maintenant nous pouvons calculer la dernière bougie en regardant la bougie 1 de notre tableau de bande supérieure ou de notre tableau de bande inférieure, cela dépend vraiment si vous cherchez une transaction d’achat ou de vente.
Pour une transaction d’achat, nous voulons vérifier si la dernière valeur de la bande inférieure était inférieure au prix d’offre actuel et nous voulons également savoir si la valeur actuelle est supérieure à la dernière valeur des bandes de bollinger, et si c’est vrai, nous voulons appeler une fonction appelée, check bollinger buy trailing stop et nous passons la valeur de ma dernière valeur de bande inférieure.
Ensuite, nous allons affecter la valeur de la dernière bande inférieure à la valeur de la dernière bande de bollinger stop.
Jusqu’ici tout va bien mais cette fonction n’existe pas encore, alors créons-la maintenant !
Nous utilisons void car nous n’avons pas de valeur de retour, le nom de la fonction est check bollinger buy trailing stop et nous passons la valeur de la dernière bande inférieure ici.
Maintenant nous utilisons une boucle for pour parcourir toutes les positions ouvertes, avec position get symbol pour la valeur actuelle du compteur nous obtiendrons le symbole de position et cela permet de vérifier si le symbole actuel sur le graphique est égal au symbole de position, si c’est vrai, nous utilisons position get integer, position underscore ticket pour obtenir le numéro du ticket de position actuel et avec position get double pour le stop loss actuel – le paramètre est appelé position underscore sl – nous obtenons le stop loss actuel et seulement si le stop loss actuel est inférieur à la valeur de la dernière bande inférieure, nous utilisons trade dot position modify pour le ticket de position actuel afin de déplacer le stop loss actuel vers la valeur de la dernière bande inférieure, ce paramètre est pour le take profit et nous le laisserons inchangé.
Enfin, nous voulons fermer la boucle if, la boucle for et la fonction, et c’est tout.
Si cela a été trop rapide pour vous ou si vous n’avez aucune idée de ce que fait tout ce code, vous voudrez peut-être regarder l’une des autres vidéos de la série de vidéos de base ou peut-être même le cours premium sur notre site Web pourrait être intéressant pour vous, pour l’instant, activons la barre d’outils ici et cliquez sur compiler ou appuyez sur F7, je n’ai pas d’erreurs ici et si c’est le cas, vous pouvez cliquer sur un petit bouton ici ou appuyez sur F4 pour revenir à Metatrader.
Et dans Metatrader vous voulez cliquer sur view, strategy tester ou appuyez sur control et r, choisissez le nouveau fichier, simple bollinger bands buy trailing stop dot ex5, marquez l’option pour le mode visuel ici et commencez un test.