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 un simple système de grille de vente qui ouvre des positions de vente dans une tendance à la baisse.
Dans cette vidéo, nous allons créer un système de grille de vente qui ouvrira une position de vente lorsque le prochain prix de vente sera atteint. Alors accélérons un peu et vous voyez que nous avons plusieurs positions. Alors découvrons comment créer quelque chose comme ça avec MQL5. Pour ce faire, 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, Continuer. Je vais appeler ce fichier Simple sell Grid System. Cliquez sur Continue, 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 commentaires. Nous commençons par une fonction include pour inclure le fichier Trade.mqh. Celle-ci va nous permettre de créer une instance de la classe Ctrade. Elle nous donne des fonctions de trading simplifiées et elle s’appellera Trade.
Nous voulons également créer un tableau pour les données de prix, cela s’appelle info prix et il est créé en utilisant MQLRates. Et créons une variable de type chaîne pour le signal, qui s’appelle également signal, mais nous n’attribuons pas de valeur ici car nous allons la calculer plus tard. À l’intérieur de la fonction ontick, nous voulons commencer par créer une variable double statique pour le prochain prix de vente. Statique est un modificateur qui conservera sa valeur tant que l’Expert Advisor fonctionnera, même si nous quittons la fonction. Maintenant, calculons le prix d’achat. Cela se fait en utilisant Symbolinfodouble pour le symbole actuel sur le graphique, nous utilisons symbol underscore bid et avec normalize double and underscore digits, nous nous assurons que nous calculons automatiquement le bon nombre de chiffres derrière le point.
Car certaines paires de devises ont cinq chiffres derrière le point et d’autres ont trois chiffres derrière le point. Utilisons maintenant arraysetasseries pour le prix et for array pour trier le tableau actuel du candidat actuel vers le bas.
Et avec CopyRates, nous pouvons maintenant remplir le tableau avec des données pour le symbole actuel sur le graphique et la période actuellement sélectionnée sur ce graphique, en commençant par la bougie zéro pour trois bougies. Nous stockons les données et le tableau d’informations sur les prix, et nous pouvons également utiliser des caractères de soulignement ici comme nous l’avons fait dans cette ligne. Maintenant, si nous n’avons pas de positions ouvertes, ce qui serait vrai lorsque PositionsTotal a une valeur de zéro, nous voulons fixer notre prochain prix de vente à zéro.
Il s’agit d’une réinitialisation. Ensuite, nous voulons vérifier notre signal d’entrée, en appelant une fonction appelée check entry signal. Cette fonction n’existe pas encore, nous devrons donc la créer dans quelques minutes, mais avant cela, nous voulons vérifier si le cours acheteur actuel est inférieur au prochain prix de vente ou si le prochain prix de vente est égal à zéro. Si c’est le cas, nous voulons ouvrir une position de vente, ce qui est fait en utilisant trade.Sell pour 10 Microlot.
Et juste après avoir fait cela, nous voulons définir le prochain prix de vente 50 points en dessous du niveau du prix de vente actuel. Ajoutons également une déclaration de commentaire pour créer une sortie pour le prix d’offre et pour le prochain prix de vente directement sur notre graphique. Jusqu’ici, tout va bien. C’est la fonction ontick. Mais maintenant, nous devons créer cette fonction ici. Elle s’appelle check entry signal et elle retournera une valeur de type chaîne. Car lorsque le prix de clôture de la dernière bougie de notre tableau d’informations sur les prix est supérieur au prix d’ouverture de la première bougie de notre tableau d’informations sur les prix, nous considérons qu’il s’agit d’un signal d’achat.
Nous attribuons donc le mot „buy“ à notre signal. Sinon, lorsque le prix de clôture de la première bougie de notre tableau d’informations sur les prix est supérieur au prix d’ouverture de la première bougie de notre tableau d’informations sur les prix, il s’agit d’un signal de vente. Et maintenant nous attribuons le mot vente à notre signal. Enfin, nous voulons renvoyer notre signal au module principal et fermer cette fonction. Et c’est à peu près tout, si c’était trop rapide pour vous ou si vous n’avez aucune idée de ce que fait tout le code ici, peut-être que vous voulez regarder l’une des autres vidéos de base dans cette série de vidéos. Et sur notre site Web, vous pouvez maintenant trouver un lien pour toutes ces vidéos, y compris les codes sources dans notre boutique. Pour l’instant, activons la barre d’outils et cliquez sur compiler ou appuyez sur F7. Vous ne devriez pas obtenir 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 Sell Grid System.ex5, marquez l’option pour le mode visuel. Si vous ne voyez pas qu’il, est en dessous ici et commencer un test. Maintenant vous devriez voir que le premier trade de vente est ouvert. Voici le deuxième et tous les 50 points, nous verrons un nouveau trade de vente. Notre petit système de grille de vente fonctionne donc comme prévu et vous l’avez codé vous-même avec quelques lignes de code MQL5.