APPRENDRE LES BASES DU TUTORIEL MQL5 – 82 SIMPLE SMA VENDRE TRAILING STOP

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 Metatrader 5, nous créons un conseiller expert pour déplacer automatiquement un stop suiveur de vente basé sur une moyenne mobile simple – également connue sous le nom de SMA.

Dans cette vidéo, nous allons créer un conseiller expert pour un stop suiveur de vente basé sur une moyenne mobile simple, 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 file, new file, expert advisor from template, continue, je vais appeler ce fichier simple sma sell trailing stop, cliquez sur continue, continue et finish.
Maintenant vous pouvez supprimer tout ce qui se trouve au-dessus de la fonction ontick et les deux lignes de commentaire ici.
Tout d’abord, nous voulons inclure le fichier trade dot mqh, celui-ci est livré avec mql5 et il fournit des fonctions de trading, il contient également la classe ctrade, nous allons donc créer une instance de cette classe appelée trade.
Nous commençons par créer une variable statique pour la dernière valeur de la moyenne mobile d’arrêt, maintenant nous voulons calculer le prix demandé et le prix offert qui est fait en utilisant symbol info double pour le symbole actuel sur le graphique, nous utilisons soit le symbole demandé ou le symbole offert et avec normalize double et underscore digits nous nous assurons que nous calculons le bon nombre de chiffres derrière le point.
Pour utiliser un stop loss, nous devons ouvrir une position de test, nous allons utiliser trade dot sell pour le faire et la condition est que chaque fois que le total des positions est inférieur à un – ce qui signifie que nous n’avons pas de positions ouvertes – et c’est à ce moment-là que nous voulons vendre dix micro-lots.
Nous voulons également définir la dernière valeur de la moyenne mobile d’arrêt à une valeur très élevée, en fait, vous pourriez également la définir à zéro mais vous auriez besoin d’ajouter une autre condition parce que généralement, nous allons vérifier si la valeur actuelle est inférieure à la dernière valeur de la moyenne mobile d’arrêt et celle-ci ne sera jamais inférieure à zéro, donc allons-y avec la valeur élevée pour le moment.
Dans l’étape suivante, nous allons créer un tableau pour la moyenne mobile. Avec le tableau défini comme série, nous allons trier le tableau de la bougie actuelle vers le bas et maintenant nous pouvons utiliser la fonction ima intégrée pour le symbole actuel sur le graphique et la période actuellement sélectionnée sur ce graphique pour créer une moyenne mobile simple pour cinq cents bougies, nous n’utilisons pas de valeur de décalage ici, nous allons utiliser le mode underscore sma car il signifie moyenne mobile simple et nous voulons calculer les résultats en fonction du prix de clôture.
Continuons avec le tampon de copie, celui-ci est utilisé pour remplir le tableau selon la définition de la moyenne mobile que nous avons créée ici, nous allons saisir les valeurs pour le tampon zéro qui est la ligne de signal de la moyenne mobile ici, nous allons commencer par la bougie zéro – c’est la bougie actuelle – et nous allons copier les valeurs pour trois bougies et les stocker dans le tableau. Et maintenant que nous avons fait cela, nous pouvons calculer la valeur de la moyenne mobile d’arrêt en regardant dans la bougie un de notre tableau de moyenne mobile.
La première condition que nous voulons vérifier pour déplacer un stop loss de vente est que le tableau de moyenne mobile actuel soit au-dessus du prix demandé, sinon nous ne pourrions pas le modifier.
Nous voulons également savoir si la valeur actuelle de la moyenne mobile d’arrêt est inférieure à la dernière valeur de la moyenne mobile d’arrêt, et si cela est vrai, nous allons utiliser une fonction appelée check sma sell trailing stop et passer le prix de l’offre et la valeur de la moyenne mobile d’arrêt comme paramètre. Cette fonction n’existe pas jusqu’à présent, nous devons donc la créer maintenant et n’oubliez pas de définir la dernière valeur de la moyenne mobile d’arrêt et d’affecter la valeur actuelle de la moyenne mobile d’arrêt car la valeur actuelle sera la dernière la prochaine fois que nous appellerons cette fonction.
Notre fonction de trailing stop utilisera void parce que nous n’avons pas besoin de retourner quoi que ce soit, le nom est check sma sell trailing stop et nous passons le prix d’achat et la valeur de la moyenne mobile du stop comme paramètres ici.
Maintenant, nous utilisons une boucle for pour parcourir toutes les positions ouvertes, nous allons décompter jusqu’à ce qu’il n’y ait plus d’autres positions, ensuite nous utilisons position get symbol pour le compteur actuel de la boucle for pour obtenir le symbole de la paire de devises pour la position actuelle et seulement si le symbole sur le graphique correspond au symbole de la paire de devises, nous allons continuer. Avec position get integer et le paramètre position underscore ticket, nous pouvons maintenant obtenir le ticket de la position actuelle et pour connaître le stop loss actuel, nous utilisons position get double et passons le paramètre position underscore sl qui nous permettra de vérifier si le stop loss actuel est supérieur à la valeur de la moyenne mobile et nous devons également découvrir si le stop loss actuel est égal à zéro, c’est le cas lorsque vous ne définissez pas de stop loss lorsque vous ouvrez une position, nous devons donc également vérifier celui-ci et ensuite, nous utilisons trade position modify pour le ticket de position actuel afin de définir la valeur de moyenne mobile d’arrêt souhaitée, le dernier paramètre ici est pour le take profit, nous ne le changerons pas.
Enfin, nous devons fermer la boucle if, la boucle for et la fonction et c’est à peu près tout.