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.
Dans cette vidéo, nous allons créer un Expert Advisor MQL5 qui est capable de changer la direction du cours pour chaque position et nous utilisons également des variables définies par l’utilisateur pour définir les paramètres de stop loss et de take profit – sans recompilation.
Dans cette vidéo, nous allons créer un Expert Advisor qui est capable de changer la direction du cours pour chaque transaction. Nous allons donc découvrir comment coder cela 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 from Template. Continuez. Je vais appeler ce fichier position inverse simple. 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 instruction include pour inclure le fichier Trade.mqh. Celui-ci est livré avec des fonctions de trading simplifiées pour MQL5 ; pour l’utiliser, nous devons maintenant créer une instance de la classe Ctrade.
Nous l’appellerons trade. Créons également quelques variables ici. La première est une variable chaîne pour la direction, la valeur initiale sera buy pour cet exemple simple, la variable suivante est appelée take profit points. Celle-ci a un modificateur qui s’appelle input. Et ce modificateur d’entrée va permettre de changer les paramètres de la variable sans avoir besoin de recompiler le code. Nous pouvons le faire à partir des paramètres du Conseiller Expert. Maintenant, créons une autre variable.
Celle-ci s’appelle Points de Stop Loss. Nous allons définir celle-ci à trente points. À l’intérieur de la fonction ontick, nous devons calculer le prix demandé, ce qui est fait en utilisant symbolinfodouble pour le symbole actuel sur le graphique. Nous utilisons symbol underscore ask car nous voulons calculer le prix demandé et j’aime utiliser normalize double et underscore digits pour calculer automatiquement le bon nombre de chiffres derrière le point.
Maintenant, nous allons répéter toute l’opération pour le cours acheteur. C’est presque la même chose, sauf que nous allons utiliser le symbole underscore bit dans ce cas. Maintenant, vérifions si nous n’avons pas de position ouverte, cela peut être fait en utilisant positions total et si la valeur de retour est zéro, nous n’avons pas de position ouverte. Et nous voulons également vérifier si la direction actuelle de la transaction est définie sur acheter et si les deux conditions sont vraies, nous utilisons trade.Buy pour acheter 10 microlots, pour le symbole actuel.
Disons-le en fait. Nous voulons acheter pour le prix demandé actuel. L’expression suivante ici est le stop loss. Elle sera fixée à la valeur que nous avons définie ici, suivie des paramètres pour le take profit. C’est la valeur ici. Et la dernière variable ici pourrait être un commentaire. Nous n’en avons pas besoin. Donc nous la vendons à Null. Et comme nous voulons que la prochaine transaction aille dans l’autre direction, nous allons maintenant changer la direction en vente.
C’est tout pour la partie achat, la partie vente est très similaire. Tout d’abord, nous devons vérifier si nous avons des positions ouvertes et si nous n’en avons pas, nous voulons vérifier si la direction est définie sur vendre et si les deux conditions sont vraies, nous utilisons trade.Sell pour vendre 10 microlots pour le symbole actuel sur le graphique. Pour vendre, nous devons utiliser le cours acheteur et bien sûr, lorsque nous vendons, nous devons définir les points stop loss à une valeur supérieure au prix actuel, et la valeur take profit sera inférieure au prix actuel.
Ensuite, nous changeons la direction pour acheter.
Maintenant, vous pourriez vous demander, pourquoi quelqu’un ferait quelque chose comme ça ? Eh bien, c’est une bonne idée pour tester d’autres composants de votre système. Et en fait, si vous faites cet exercice et changez les valeurs pour le take profit et le stop loss, vous apprendrez probablement quelque chose que vous n’attendiez pas. J’aimerais voir la direction actuelle. Je vais donc ajouter une déclaration de commentaire ici qui produira le texte : „la direction actuelle est“, suivi de la direction.
OK, c’est à peu près tout. Si cela a été trop rapide pour vous ou si vous n’avez aucune idée de ce que fait tout le code ici, peut-être voulez-vous regarder l’une des autres vidéos de notre 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. En fait, nous avons actuellement aussi le cours de base sur le site Web pour seulement un dollar. Mais pour l’instant, veuillez cliquer sur le bouton Compiler ou appuyer sur F7 sur votre clavier, vous ne devriez pas avoir d’erreurs ici. Et si c’est le cas, vous pouvez cliquer sur le petit bouton ici ou appuyer sur F4 pour revenir à Metatrader. Et dans Metatrader, vous voulez cliquer sur View Strategy Tester ou appuyer sur Control et R. Veuillez choisir le fichier simplereverseposition.ex5 et marquer l’option pour le mode visuel.
Si vous ne pouvez pas le voir, vous devrez peut-être déplacer un peu le panneau inférieur.
Voici l’option, alors veuillez la marquer, cliquez sur start pour commencer votre test et maintenant nous voyons les premiers trades ici. La direction change de l’achat à la vente, et nous pouvons voir que le stop loss est un peu plus grand que la valeur du take profit ici. Donc, arrêtons le conseiller expert, cliquez sur les entrées. Maintenant, nous pouvons changer la valeur pour le stop loss ou pour les points take profit.