APPRENDRE LES BASES DU TUTORIEL MQL5 – 56 MINUTERIE DE FERMETURE SIMPLE

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.

YouTube privacy policy

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 fermer les positions si elles ne sont pas rentables. Dans cet exemple, l’Expert Advisor vérifiera cela après une heure.

Dans cette vidéo, nous allons créer une minuterie capable de fermer les positions qui ne sont pas rentables, dans ce cas après une heure. C’était une question posée par l’un des membres du cours premium, alors découvrons comment coder 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 close timer, cliquez sur continuer, continuer et terminer.
Maintenant vous pouvez supprimer tout ce qui se trouve au-dessus de la fonction on tick et les deux lignes de commentaires ici.
Nous commençons par une instruction include pour inclure le fichier trade dot mqh, il contient la classe ctrade donc nous créons une instance de cette classe qui sera utilisée pour ouvrir quelques positions de test.
À l’intérieur de la fonction on tick, nous devons calculer le prix demandé et le prix offert. Ceci est fait en utilisant symbol info double pour le symbole actuel sur le graphique. Nous utilisons le symbole underscore ask ou le symbole underscore bid et avec normalize double et underscore digits nous calculons automatiquement le nombre de chiffres derrière le point.
Ensuite, nous voulons ouvrir quelques positions de test, nous ne ferions pas cela sur un compte réel mais pour avoir quelque chose à fermer, je dois ouvrir quelques positions dans le testeur de stratégie.
Dans mon cas, si le total des positions est égal à zéro et que nous n’avons pas de positions ouvertes, nous utilisons trade dot buy ou trade dot sell pour ouvrir une position d’achat et une position de vente.
Et ensuite, nous voulons appeler une fonction appelée check close timer, celle-ci n’existe pas jusqu’à présent donc nous devons la créer maintenant.
Nous utilisons void car nous n’avons pas de valeur de retour et nous utilisons check close timer pour le nom de la fonction.
Utilisons une boucle for pour parcourir toutes les positions ouvertes. Pour chaque position, je veux utiliser position get ticket pour obtenir le numéro du ticket. Je veux aussi calculer le temps d’ouverture de la position, nous pouvons l’obtenir en utilisant position get integer. Le paramètre est position underscore time mais il s’agit d’une variable date-heure et je voudrais utiliser mql date time pour créer une structure. Si vous marquez cela et appuyez sur F1, vous verrez que la structure date-heure a huit valeurs de retour ici.
L’une de ces valeurs est l’heure et c’est ce dont nous avons besoin. Maintenant nous utilisons time to struct pour convertir l’heure d’ouverture de la position que nous avons calculée ici dans notre structure et cela permet d’extraire l’heure d’ouverture de cette position de notre structure.
Maintenant, nous devons obtenir l’heure actuelle de l’heure locale. Nous commençons par utiliser time local pour obtenir la valeur de l’heure de la date. Maintenant nous créons une autre structure, celle-ci sera appelée my local time.
Une fois encore, nous utilisons time to struct pour convertir l’heure locale que nous avons calculée ici dans notre structure et ensuite nous extrayons l’heure actuelle car cela permet de calculer la différence en soustrayant simplement l’heure d’ouverture de l’heure actuelle.
N’oubliez pas que cela ne fonctionne que pour le même jour de bourse, sinon vous devriez vérifier si la date a changé.
Maintenant, créons quelques instructions d’impression ici.
Habituellement, je préférerais utiliser des déclarations de commentaire, mais nous avons besoin de ces sorties pour chaque position. Calculons donc le bénéfice de la position en utilisant position get double et le paramètre est position underscore profit et après quelques heures, dans mon cas après la première heure, nous voulons vérifier si le bénéfice de la position est négatif et si c’est le cas, nous utilisons trade dot position close pour notre ticket actuel afin de fermer la position.
Enfin, nous voulons terminer la boucle for et la fonction et c’est à peu près tout.
Si vous ne comprenez pas ce que fait tout le code ici ou si cela a été trop rapide pour vous, 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 qui pourrait vous intéresser.
Pour l’instant, veuillez cliquer sur le bouton de compilation ou appuyer sur F7, vous ne devriez pas avoir d’erreurs et si c’est le cas, vous pouvez cliquer sur un 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 nouveau fichier simple fermer timer dot ex5, marquer le mode visuel ici et commencer un test.
Nous y sommes ! Le conseiller expert est en cours d’exécution, il ouvre et ferme des positions en fonction du temps et dans cette petite vidéo vous avez appris à créer un conseiller expert qui est capable de fermer les positions qui ne sont pas dans le profit après une ou plusieurs heures et vous l’avez codé vous-même avec quelques lignes de code mql5.