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.
Avec MQL5 pour Metatrader5 nous créons un Expert Advisor pour une moyenne mobile exponentielle décalée dans le futur
Dans cette vidéo, nous allons utiliser des moyennes mobiles exponentielles décalées dans le futur pour savoir si nous avons un signal d’achat ou de vente, 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 fichier, nouveau fichier, conseiller expert à partir du modèle, continuer, j’appellerai ce fichier simple shifted ema, 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 commentaire ici, nous commençons par une déclaration include pour inclure le fichier trade dot mqh.
Ensuite, nous créons une instance de la classe ctrade qui sera appelée trade et nous allons l’utiliser pour ouvrir et fermer des positions.
Créons trois variables d’entrée définies par l’utilisateur, une pour le nombre de bougies que nous allons utiliser pour calculer les moyennes mobiles et deux valeurs de décalage, ces valeurs de décalage ici sont utilisées pour dessiner la moyenne mobile exponentielle sur le côté droit du prix actuel, il semble qu’ils peuvent prédire l’avenir, mais en fait ils sont juste déplacés vers le côté droit.
À l’intérieur de la fonction ontick, nous voulons calculer le prix demandé et le prix offert en utilisant symbol info double pour le symbole actuel sur le graphique, nous utilisons symbol underscore ask ou symbol underscore bid et avec normalize double et underscore digits nous nous assurons que nous calculons le bon nombre de chiffres derrière le point.
Ensuite, nous créons une variable chaîne appelée signal pour notre signal, n’attribuez pas de valeur ici car nous allons la calculer maintenant.
Créons deux tableaux, un pour la première moyenne mobile et un autre pour la seconde moyenne mobile, ensuite, nous allons utiliser le tableau défini comme série pour les deux moyennes mobiles afin de les trier de la bougie actuelle vers le bas.
Définissons les propriétés, ce qui est fait 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 calculer le nombre de bougies que nous avons défini ici, dans notre cas vingt bougies, le résultat pour la moyenne mobile sera décalé de vingt bougies, nous utilisons le mode underscore ema pour une moyenne mobile exponentielle qui est calculée sur la base du prix de clôture et ici nous répétons la même chose pour la deuxième moyenne mobile, c’est exactement le même nombre de bougies mais cette fois nous allons utiliser une autre valeur de décalage, dans notre cas cent bougies.
Et maintenant nous allons remplir le tableau avec des données selon la définition de la moyenne mobile que nous avons créée ici, nous faisons cela pour le premier tampon en commençant par la bougie zéro pour trois bougies et nous stockons le résultat dans le tableau de la moyenne mobile.
Répétons cela pour la deuxième moyenne mobile, à l’exception de ces deux noms de variables, tout est identique et maintenant nous voulons vérifier si le prix est au-dessus des deux moyennes mobiles, donc si le prix de l’offre est supérieur à la valeur de la bougie zéro dans le premier tableau de moyenne mobile et si le prix de l’offre est également supérieur à la valeur de la bougie zéro dans le deuxième tableau de moyenne mobile, c’est alors que nous avons un signal d’achat, donc nous attribuons le mot achat à notre signal.
Si le prix de l’offre est inférieur à la valeur de la bougie zéro pour le premier tableau de moyenne mobile et si le prix de l’offre est également inférieur à la valeur de la bougie zéro pour le deuxième tableau de moyenne mobile, c’est que nous avons un signal de vente et maintenant nous attribuons le mot vendre à notre signal et lorsque notre signal est égal à vendre et que le total des positions fournit une valeur inférieure à un, cela signifie que nous avons un signal de vente et aucune position ouverte et dans ce cas, nous utilisons trade dot sell pour vendre dix micro-lots.
Dans l’autre cas, si le signal est égal à acheter et que nous n’avons pas de positions ouvertes, nous utilisons trade dot buy pour acheter dix micro-lots.
Enfin, nous voulons créer une sortie graphique, ce qui est fait en utilisant l’instruction comment, cela va sortir le texte, le signal est maintenant suivi par le signal calculé.
Ok ! C’est à peu près tout ! Si vous ne comprenez pas ce que fait le code ici ou si c’était trop rapide pour vous, vous devriez peut-être regarder d’abord une des autres vidéos de cette 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, pour l’instant, veuillez cliquer sur le bouton de compilation ou appuyer sur F7, je n’ai pas eu d’erreurs ici et si c’est le cas, nous pouvons cliquer sur un petit bouton ici ou appuyer sur F4 pour revenir à Metatrader.
Et dans Metatrader nous devons utiliser une petite astuce, s’il vous plaît ouvrez un graphique propre, cliquez sur insérer, indicateurs, tendance, moyenne mobile, je voudrais voir une moyenne mobile exponentielle pour vingt bougies, l’une a la valeur de décalage de cent et le résultat est calculé sur la base du prix de clôture, alors cliquons sur ok.
Maintenant nous répétons le processus, ajoutons-en un autre, cette fois avec une valeur de décalage de vingt et une couleur rouge, tout le reste est identique.