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 conseiller expert pour trader l’indice de force relative, également connu sous le nom d’oscillateur RSI, et calculer les valeurs pour différents cadres temporels.
Dans cette vidéo, nous allons créer un conseiller expert pour l’indicateur RSI, dans ce cas pour plusieurs valeurs dans différents cadres temporels, 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 d’un modèle, continuer, j’appellerai ce fichier simple multi RSI, cliquez sur continuer, 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 ici.
Nous commençons par une déclaration include pour inclure le fichier trade dot mqh. Ensuite, nous allons créer une instance de la classe ctrade, celle-ci s’appelle trade et nous allons l’utiliser pour ouvrir des positions par la suite.
À l’intérieur de la fonction ontick, nous calculons le prix demandé et le prix offert, ce qui est fait en utilisant symbol info double, pour le symbole actuel, nous utilisons soit le symbole demandé soit le symbole offert – tous en lettres majuscules – et avec normalize double et underscore digits, nous calculons automatiquement le bon nombre de chiffres derrière le point.
Ensuite, nous créons une chaîne vide appelée signal, nous n’attribuons pas de valeur ici et maintenant nous avons besoin de trois tableaux, un pour le cadre temporel actuel sur le graphique, un pour le cadre temporel de trente minutes et un pour le cadre temporel de soixante minutes.
Définissons le tableau actuel, ce qui est fait en utilisant la fonction iRSI pour le symbole actuel sur le graphique et la période actuellement sélectionnée sur ce graphique. Nous voulons calculer la valeur pour quatorze bougies et le résultat doit être calculé sur la base du prix de clôture.
Utilisons array set as series pour trier le tableau RSI pour la valeur actuelle, ensuite nous utilisons copy buffer pour la valeur actuelle que nous avons définie ici et nous stockons les valeurs dans le tableau RSI current et ensuite, nous sommes capables de calculer la valeur actuelle. Tout ce que nous devons faire, c’est extraire la valeur de la bougie actuelle de notre tableau RSI actuel et, à l’aide de normalize double, nous coupons le résultat pour afficher deux chiffres, car c’est ce que fait également l’indicateur RSI original, et c’est tout pour la première valeur.
Nous répétons maintenant tout le processus pour obtenir des valeurs pour trente minutes, nous utilisons maintenant la fonction iRSI pour le symbole actuel sur le graphique, mais cette fois nous allons utiliser period underscore m thirty et si vous marquez cela et appuyez sur F1, vous verrez que nous avons des valeurs pour tous les délais possibles ici, celui-ci est pour trente minutes et celui-ci est pour une heure, donc, pour l’instant, nous utilisons period underscore m thirty. Nous utilisons à nouveau array set as series pour trier le tableau RSI pour trente bougies, puis nous utilisons copy buffer selon la définition que nous avons créée ici et stockons les valeurs à l’intérieur de notre tableau RSI trente et pour calculer la valeur RSI pour trente minutes, nous regardons la bougie zéro à l’intérieur de notre tableau RSI trente et à nouveau nous utilisons normalize double et coupons le résultat pour avoir deux chiffres derrière le point.
Pour obtenir les valeurs pour une heure, nous refaisons la même chose, cela ne devrait plus être une surprise, nous utilisons simplement des noms de variables différents et cette fois nous utilisons le point souligné h un, tout le reste est fondamentalement le même.
Et si les trois valeurs sont supérieures à soixante-dix, cela signifie que la ligne bleue de l’indicateur est au-dessus de la ligne pointillée supérieure du niveau de soixante-dix pour cent, ce serait un signal de vente et nous attribuerions maintenant le mot vente à notre signal.
Si les trois valeurs sont inférieures à trente, nous considérerons qu’il s’agit d’un signal d’achat car cela signifierait que la ligne du signal est inférieure à la ligne pointillée inférieure ici et c’est à ce moment-là que nous voulons acheter.
Donc, si le signal actuel est égal à vendre et que nous obtenons une valeur de retour inférieure à un pour le total des positions, cela signifie que nous avons un signal de vente et aucune position ouverte et que nous utilisons maintenant trade dot sell pour vendre dix micro-lots.
Sinon, si le signal est égal à acheter et que nous n’avons pas de positions ouvertes, nous utiliserons trade dot buy pour acheter dix micro-lots.
Enfin, nous utilisons la déclaration de commentaire pour créer une sortie graphique pour la valeur actuelle, la valeur de trente minutes et la valeur de soixante minutes et en dessous, je voudrais voir le signal actuel et c’est à peu près tout !
Eh bien, si vous ne comprenez pas ce que fait tout le code ici ou si c’était trop rapide pour vous, peut-être que vous voulez regarder l’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, nous cliquons sur le bouton de compilation, vous ne devriez pas avoir d’erreurs et si c’est le cas, vous pouvez cliquer sur le petit bouton ici ou appuyer sur F4 pour revenir à Metatrader.