APPRENDRE LES BASES DU TUTORIEL MQL5 – 102 SIMPLES ACHETER CROSSOVER STOP LOSS

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 conseiller expert capable d’ouvrir des positions d’achat et de les fermer en fonction du croisement de deux moyennes mobiles.

Dans cette vidéo, nous allons ouvrir quelques positions de test, des positions d’achat, et ces positions seront fermées lorsque le croisement de ces deux moyennes mobiles se produira. Découvrons donc comment faire cela avec MQL5. Veuillez cliquer 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, Expert Advisor à partir du modèle. Je vais appeler ce fichier simple en croisant le Stop Loss.

Cliquez sur Continuer, continuer et terminer. Maintenant vous pouvez supprimer tout ce qui se trouve au-dessus de la fonction ontick et supprimons également les deux lignes de commentaire ici. Nous commençons par inclure le fichier Trade.mqh et nous voulons créer une instance de la classe Ctrade qui s’appelle trade et qui fournira quelques fonctions de trading simplifiées. Nous devons d’abord calculer le prix Ask. Cela se fait en utilisant Symbolinfodouble pour le symbole actuel sur le graphique, nous voulons utiliser symbol, underscore, ask et avec Normalize double and underscore digits nous calculons automatiquement le bon nombre de chiffres derrière le point. Répétons également cela pour le prix du bit. Et maintenant, nous créons une variable chaîne pour le signal d’un croisement.

Nous avons besoin de deux tableaux, un pour la petite et un pour la grande moyenne mobile.

La définition de la petite moyenne mobile est créée en utilisant la fonction IMA pour le symbole actuel sur le graphique et la période actuellement sélectionnée sur ce graphique, nous allons utiliser vingt bougies. Aucune valeur de décalage dans ce cas. J’utilise ModeUnderscoreSMA pour la moyenne mobile simple.

Mais vous pouvez également utiliser ModeUnderscoreEMA pour la moyenne mobile exponentielle et le calcul doit être effectué sur la base du prix de clôture. La définition pour la grande moyenne mobile est très similaire, mais dans ce cas, nous utilisons 50 bougies. Maintenant nous utilisons copybuffer pour remplir notre tableau pour la petite et la grande moyenne mobile.

Selon les deux définitions que nous avons créées. Nous faisons cela pour le tampon zéro à partir de la bougie zéro. C’est la bougie actuelle, et nous copions les données de prix pour trois bougies et les stockons dans les tableaux pour la petite et la grande moyenne mobile. Et chaque fois que le tableau de la grande moyenne mobile pour la bougie un a une valeur plus élevée que le tableau de la petite moyenne mobile pour la bougie un, nous considérons que c’est un signal d’achat. Dans l’autre cas, si le tableau de la grande moyenne mobile de la bougie 1 est plus grand que celui de la petite moyenne mobile de la bougie 1, il s’agit d’un signal de vente.

L’idée est de fermer toutes les positions d’achat pour la paire de devises actuelle. Lorsque nous avons un signal de vente et que la valeur de retour de PositionsTotal est supérieure à zéro. Cela signifie que nous avons des positions d’achat ouvertes et que nous voulons les fermer, mais nous devons avoir quelque chose à fermer. Je vais donc ouvrir des positions de test lorsque le signal est égal à acheter et lorsque nous n’avons pas de positions ouvertes, c’est à ce moment-là que nous allons utiliser trade.Buy pour acheter 10 Microlot. Dans notre cas, nous utilisons une valeur Stop Loss de 200 points et une valeur Take Profit de cent cinquante points.

N’oubliez pas qu’il s’agit juste d’une position de test, vous ne feriez pas cela sur un compte réel et pour voir ce qui se passe, j’aimerais avoir une déclaration de commentaire qui sortira le texte. Le signal actuel est maintenant suivi du signal. Cette fonction n’existe pas, nous devons donc la créer maintenant. Le nom de la fonction est close all buy positions this pair. Nous utilisons void car nous n’avons pas besoin d’une valeur de retour. À l’intérieur de la position, nous allons utiliser une boucle for pour décompter jusqu’à ce qu’il n’y ait plus de positions.

Nous devons obtenir le numéro du ticket, ce qui est fait en utilisant position get ticket. Nous voulons identifier la paire de devises actuelle. Cela peut être fait par position, get symbol. Dans les deux cas, nous utilisons le compteur actuel pour la position actuelle. Maintenant, obtenons la direction de la position. Cela se fait en utilisant position, get integer et le paramètre ici est position underscore type. Et si la direction de la position est égale au type de position buy, nous avons une position buy. Maintenant, nous voulons vérifier si le symbole actuel sur le graphique est égal au symbole de la position.

Vous pouvez utiliser le symbole avec un trait de soulignement, qui représente ma paire de devises actuelle. Et si cela est égal à la paire de devises pour la position que nous avons identifiée, nous voulons utiliser Ctrade dot position close, pour fermer la position actuelle. Maintenant, fermons la boucle For et la fonction. Et voilà, c’est 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 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.