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 pouvons définir une limite d’achat pour ouvrir un ordre d’achat à un niveau de prix inférieur au cours vendeur actuel sur notre graphique forex. Il faut environ 5 minutes pour le coder…
Dans cette vidéo, nous voulons savoir comment définir une limite d’achat. Pour l’instant, vous ne la voyez pas sur le graphique, mais si vous faites un zoom avant, vous pouvez voir que nous avons cette limite d’achat ici, en dessous du prix actuel, et nous allons maintenant découvrir comment faire cela avec MQL5.
Pour ce faire, veuillez cliquer sur le 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/ Expert Advisor (modèle)“ à partir du modèle, „Continuer“, je vais appeler ce fichier : „SimpleBuyLimit“, cliquez sur „Continuer“, „Continuer“ et „Terminer“.
Maintenant nous pouvons supprimer tout ce qui se trouve au-dessus de la fonction „OnTick“, supprimons également les deux lignes de commentaires, nous commençons par importer le fichier : „Trade.mqh“. Ce fichier est livré avec MQL5 et il comprend quelques fonctions de trading et nous l’avons utilisé pour créer une instance de „CTrade“ qui sera appelée : „trade“ et nous allons l’utiliser plus tard pour ouvrir notre limite d’achat.
À l’intérieur de la fonction „OnTick“, nous commençons par obtenir le prix Ask, ce qui est fait en utilisant „SymbolInfoDouble“ pour le symbole actuel sur le graphique, nous utilisons „SYMBOL_ASK“ tout en majuscules et j’aime utiliser „NormalizeDouble“ et „_Digits“ pour calculer automatiquement le bon nombre de chiffres derrière le point car certaines paires de devises n’ont que trois chiffres derrière le point alors que d’autres en ont cinq.
Pour cet exemple simple, nous allons seulement vérifier si nous avons des ordres ouverts ou des positions ouvertes. Dans MQL5, nous faisons cela en utilisant deux fonctions différentes ; la première est „OrdersTotal“, qui fournira le nombre d’ordres ouverts qui pourraient devenir une position, la seconde est pour les positions (PositionsTotal) que nous avons créées et seulement si les deux conditions sont vraies, nous allons fixer notre limite d’achat. Cela est fait en utilisant : „trade.BuyLimit“, nous devons passer quelques paramètres ici dans des accolades rondes.
Je fais toujours les deux accolades en même temps pour ne pas en oublier une et si vous marquez une des accolades ici, vous verrez que l’autre est surlignée en gris, c’est un bon moyen de savoir si vous avez des erreurs ici.
Le premier paramètre concerne la taille du lot, nous voulons définir la limite d’achat pour une transaction de 10 micro-lots.
Le paramètre 2 est utilisé pour indiquer à Metatrader le prix de la limite d’achat, nous souhaitons obtenir le prix actuel de l’Ask et placer notre limite d’achat 200 points en dessous du prix de l’Ask, nous utilisons „_Symbol“ pour obtenir automatiquement le symbole sur le graphique, le paramètre suivant est pour le stop loss, je ne l’utilise pas ici mais si vous souhaitez l’utiliser, vous pouvez dire quelque chose comme : Ask moins 400 points, mais j’utilise une valeur pour le take profit. Je voudrais prendre le profit lorsque le prix augmente de 200 points au-dessus du prix actuel de l’Ask.
Le paramètre suivant : „ORDER_TIME_GTC“ tout en majuscules, est utilisé pour la date d’expiration, „GTC“ signifie : „Good to cancel“ – nous n’avons pas de date d’expiration ici – donc réglons le paramètre suivant sur 0 (zéro), ce serait le temps d’expiration.
Enfin, nous avons un dernier paramètre, qui est réglé sur „NULL“ en lettres majuscules, nous pourrions l’utiliser pour passer un commentaire, ce qui pourrait être utile si vous allez utiliser plusieurs Expert Advisors sur un seul et même graphique, mais pour cet exemple simple, c’est tout.
Cliquez sur le bouton „Compiler“ ou appuyez sur F7…
Ooh… nous avons manqué un point-virgule qui doit être placé derrière l’accolade fermante ici parce que vous pourriez écrire toutes ces lignes de code ici en une seule ligne et le point-virgule est la fin de l’instruction, donc recompilons et cette fois-ci, cela a fonctionné sans aucune erreur et nous n’avons pas non plus d’avertissements donc maintenant nous pouvons cliquer ici ou appuyer sur F4 pour revenir à Metatrader.
Dans Metatrader nous cliquons sur : „View/ Strategy Tester“ ou appuyez sur CTRL et R, choisissez le nouveau fichier : „SimpleBuyLimit.ex5“, activez ici la visualisation et lancez un test.
Et maintenant vous devriez voir que nous avons une entrée pour une limite d’achat pour 10 micro-lots et si vous cliquez sur le graphique et appuyez sur la touche moins de votre clavier vous devriez voir la limite d’achat ici, accélérons le processus et nous devrions voir une transaction d’achat.
Ici notre limite d’achat a été exécutée, nous avons maintenant une transaction d’achat, elle n’a pas été exécutée ici, c’est à cause de l’écart et maintenant vous savez comment créer un Conseiller Expert pour placer une limite d’achat automatisée en dessous du prix d’achat actuel et vous l’avez codé vous-même avec quelques lignes de code MQl5.