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 programmons un Expert Advisor pour Metatrader qui est capable de dessiner un objet Gann Fan sur le graphique forex.
Dans cette vidéo, nous allons créer un tel objet, le fameux éventail de Gann, et nous voulons découvrir comment le faire avec MQL5. Pour commencer, 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 file, new file, expert advisor from template, continue. Je vais appeler ce fichier SimpleHighGannFan, cliquez sur continuer, continuer, et terminer.
Maintenant vous pouvez supprimer tout ce qui se trouve au-dessus de la fonction OnTick et supprimons les deux lignes de commentaire ici. Nous allons calculer le nombre de bougies sur le graphique, et cela peut être fait en utilisant ChartGetInteger. Le premier paramètre est pour le chart ID zéro, le deuxième est appelé chart first visible bar, et si vous marquez cela et appuyez sur F1 vous verrez qu’il renvoie le numéro de la première barre visible sur le graphique, les derniers paramètres pour la sous fenêtre. Celle avec les bougies est la fenêtre zéro.
Maintenant, créons une variable pour la bougie la plus haute, et je voudrais également créer un tableau pour les prix les plus élevés, il est appelé High et il contiendra tous les prix les plus élevés pour chaque bougie sur le graphique. Tout d’abord, nous devons utiliser ArraySetAsSeries pour trier le tableau des prix élevés de la bougie actuelle vers le bas. Et maintenant nous pouvons utiliser une fonction appelée CopyHigh, celle-ci nous donnera les prix les plus élevés de la barre pour le symbole actuel sur le graphique et la période actuellement sélectionnée sur ce graphique.
Nous voulons commencer par le zéro de la bougie actuelle pour toutes les bougies du graphique et copier les valeurs dans notre tableau de valeurs élevées. Et maintenant, nous pouvons obtenir la bougie la plus élevée en utilisant cette fonction ArrayMaximum qui nous donnera le plus grand élément dans notre tableau. Le tableau s’appelle High, nous voulons commencer à chercher la bougie la plus élevée avec la bougie zéro et passer par toutes les bougies sur le graphique, et le résultat est le numéro de la bougie la plus élevée.
Nous devons également utiliser MQLRates pour un autre tableau appelé informations sur les prix, car MQLRates stocke également l’heure, et pour chaque objet, nous devons connaître l’heure et la valeur pour le dessiner. Trions également celui-ci avec ArraSetAsSeries à partir de la bougie actuelle vers le bas, et maintenant nous pouvons remplir le tableau avec des données en utilisant CopyRates pour le symbole actuel sur le graphique et la période actuellement sélectionnée sur ce graphique, en partant de la bougie actuelle zéro pour toutes les bougies sur le graphique que nous voulons stocker les informations de prix dans notre tableau.
Avant de pouvoir créer un nouvel objet, nous voulons utiliser ObjectDelete pour le symbole actuel sur le graphique et l’objet qui s’appelle SimpleHighGannFan, nous utilisons ObjectDelete pour supprimer les anciens objets avant d’en dessiner un nouveau. Ce ne sera pas le cas, la toute première fois que nous appelons cette fonction, mais par la suite nous avons toujours un ancien objet qui doit être supprimé et pour dessiner un objet nous utilisons ObjectCreate.
Le premier paramètre, zéro, est pour l’ID du graphique, le deuxième paramètre est le nom de l’objet. Dans mon cas, c’est SimpleHighGannFan. En principe, vous pouvez utiliser le nom que vous voulez, mais vous devez utiliser exactement le même nom partout. Le troisième paramètre est le type d’objet, nous avons utilisé OBJ_GannFan, et si vous marquez cela et appuyez sur F1, vous verrez qu’il existe différents types d’objets. Nous utilisons celui-ci, il va dessiner ces lignes sur notre graphique en bougies, nous voulons le dessiner à l’intérieur du graphique principal avec les bougies, donc c’est la fenêtre zéro.
Mon point de départ est le moment où la bougie la plus élevée à l’intérieur de notre tableau d’informations sur les prix a été dessinée, et je voudrais l’avoir pour le prix le plus élevé de la bougie la plus élevée. Le deuxième point dans le temps sera le moment où la bougie actuelle zéro est dessinée, et la valeur sera le prix le plus élevé de la bougie actuelle, et c’est tout pour la partie ObjectCreate. Bien sûr, vous pouvez utiliser d’autres valeurs ici, mais pour cet exemple simple, c’est suffisant.
Maintenant, changeons quelques propriétés qui peuvent être faites en utilisant ObjectsetInteger pour le chart ID zéro, je voudrais changer une propriété pour l’objet qui s’appelle SimpleHighGannFan, la propriété que je veux changer est object property color, et je voudrais la changer en orange. Une autre propriété est appelée object property direction. La première partie est la même, mais cette fois-ci, nous voulons modifier cette propriété et j’ai utilisé ici Gann Down Trend, qui représente une ligne correspondant à la tendance à la baisse.
Modifions une autre propriété, celle-ci s’appelle object property scale, et j’ai utilisé la valeur de deux. Et enfin, la dernière, celle-ci s’appelle object property ray right. Je l’ai définie sur true, et elle sera utilisée pour dessiner la ligne jusqu’à la bougie actuelle et dans le futur. Jusqu’ici tout va bien, 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 voulez-vous regarder 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.