APPRENDRE LES BASES DU TUTORIEL MQL5 – 104 SIMPLE VENDRE 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 Expert Advisor capable d’ouvrir des trades de vente et de les fermer sur la base d’un croisement de deux moyennes mobiles.

Dans cette vidéo, nous allons créer un Expert Advisor pour un simple croisement de moyennes mobiles Sell Stop Loss. Découvrons donc comment faire cela avec MQL5. Pour commencer, 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 continue, j’appellerai ce fichier simple cross over Stop Loss.

Cliquez sur Continue, 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 fait partie de MQL5 et il nous aidera à utiliser certaines fonctions de trading simplifiées.

Par conséquent, nous créons une instance de la classe Ctrade et l’appelons trade. À l’intérieur de la fonction ontick, nous commençons par calculer le prix Ask. Cela peut être fait en utilisant symbolinfodouble pour le symbole actuel sur le graphique, nous utilisons symbol underscore ask et avec normalize double et underscore digits nous calculons automatiquement le bon nombre de chiffres derrière le point. Maintenant, répétons cela pour le prix Bid. C’est très similaire. Mais pour calculer le prix Bid, nous allons utiliser Simbol underscore bid. Pour le signal, nous utilisons une variable de type chaîne.

Elle s’appelle signal, mais nous n’attribuons aucune valeur ici, car nous allons la calculer plus tard.

Maintenant, créons deux tableaux, un pour le tableau de la petite moyenne mobile et un pour le tableau de la grande moyenne mobile. La petite moyenne mobile est définie en utilisant la fonction IMA pour le symbole actuel sur un graphique et la période actuellement sélectionnée sur ce graphique. Nous allons la calculer pour vingt bougies. La valeur du décalage est de zéro. Nous utilisons ModeUnderscore SMA pour moyenne mobile simple et le résultat doit être calculé sur la base du prix de clôture. Répétons cela pour la grande moyenne mobile, cette fois nous allons utiliser la même fonction, mais pour 50 bougies, tout le reste est similaire.

Et avec Copybuffer, nous pouvons maintenant remplir le petit tableau de moyenne mobile selon la définition que nous avons créée ici pour le tampon zéro, en partant de la bougie actuelle zéro, nous copions les valeurs pour trois bougies et les stockons dans le petit tableau de moyenne mobile. Maintenant, faisons la même chose pour le tableau de la grande moyenne mobile.

Une fois que nous avons fait cela, nous pouvons maintenant savoir si le tableau de la grande moyenne mobile de la bougie 1 est inférieur au tableau de la petite moyenne mobile de la bougie 1. Si c’est le cas, nous considérons qu’il s’agit d’un signal d’achat, nous attribuons donc le mot achat à notre signal. Dans l’autre cas, si le grand tableau de moyenne mobile de la bougie 1 est plus grand que le petit tableau de moyenne mobile de la bougie 1, il s’agit d’un signal de vente. Et maintenant nous attribuons le mot vente à notre signal.

Et si notre signal est égal à acheter et que nous avons des positions ouvertes, nous allons utiliser une fonction qui s’appelle fermer toutes les positions de vente de cette paire. Sinon, si le signal est égal à vendre et que la valeur de retour pour PositionsTotal est égale à zéro, cela signifie que nous n’avons pas de position ouverte. Nous devons donc maintenant ouvrir une position de test, ce qui est fait en utilisant trade.Sell. Nous ouvrons une position pour 10 Microlot. N’oubliez pas qu’il ne s’agit que d’une position de test. Vous ne feriez pas cela sur un compte réel.

Et pour voir ce qui se passe, je voudrais ajouter une déclaration de commentaire qui sortira le texte le signal est maintenant suivi par le signal. C’est tout pour la partie principale, mais pour utiliser cette fonction, nous devons la créer. Maintenant, le nom de la fonction est close all sell position cette puissance nous utilisons void parce que nous n’avons pas besoin de retourner la valeur. Maintenant, nous devons utiliser une boucle For pour toutes les positions et passer par chaque position pour obtenir certains détails.

Le premier détail est le numéro du ticket. Nous pouvons l’obtenir en utilisant position get ticket pour la valeur actuelle du compteur de la boucle For. Nous devons également obtenir la paire de devises pour la position. Cela se fait en utilisant position get symbol pour la valeur actuelle du compteur. Et comme nous voulons seulement fermer la position de vente, nous devons trouver la direction de la position, ce qui est fait en utilisant position get integer pour le type de position.

Vérifions donc si la direction de la position est égale au type de position sell. Cela signifie que nous avons une position de vente. Nous voulons également savoir si le symbole actuel sur le graphique est égal à la paire de devises de la position. Et si les deux conditions sont vraies, nous allons fermer la position actuelle. Cela se fait en utilisant trade dot buy position close pour le numéro de ticket actuel. Enfin, nous devons fermer la boucle for et la fonction. Et c’est tout.