Comment utiliser des codes MQL4 personnalisés dans EA Wizard ?

EA Wizard contient de nombreuses fonctions utiles qui peuvent être facilement utilisées et qui vous permettent de construire rapidement votre propre conseiller expert. Si vous avez besoin d'une fonction qui n'est pas présente, vous n'êtes pas bloqué. Dans ce cas, vous pouvez utiliser la fonction de personnalisation de l'EA Wizard.

L'utilisation de cette fonctionnalité nécessite que vous soyez capable de comprendre des lignes de code simples du code MQL4. Si vous n'êtes pas familier avec un langage de programmation, vous devriez quand même être capable de réaliser une solution simple comme nous le montrons dans ce tutoriel.

Dans ce tutoriel, nous allons vous montrer comment calculer simplement le nombre de barres qui ont clôturé au-dessus d'un indicateur de moyenne mobile pour un nombre donné de barres sur une période donnée. Ce processus nécessite une boucle qui revient en arrière et vérifie chaque barre en utilisant une simple comparaison du prix de clôture de la barre et de la valeur de la moyenne mobile.

Cette fonction peut être très utile lorsque nous voulons évaluer une tendance sur le marché. Si toutes les barres évaluées au cours d'une période donnée clôturent au-dessus de la valeur de la moyenne mobile, nous pouvons considérer que le marché est dans une tendance haussière. L'inverse sera vrai pour une tendance baissière.

Commençons par la fonction personnalisée elle-même.

Création de fonctions MQL4 personnalisées dans EA Wizard

Toutes les fonctions personnalisées que vous souhaitez utiliser dans vos projets EA Wizard doivent être placées dans le fichier CustomFunctions.mq4 situé dans le dossier d'installation d'EA Wizard sous le dossier code.

Une fois que vous aurez installé votre copie de MetaTrader4 sur votre ordinateur, vous pourrez éditer ce fichier en utilisant l'outil MetaEditor.

Ouvrir le fichier CustomFunctions.mq4

Pour compter les barres qui ont clôturé au-dessus de l'indicateur de moyenne mobile, nous utiliserons cette simple fonction personnalisée :

int getBarCloseAboveAverage(int barsPeriod, int maPeriod) {


int counter = 0 ;


for (int i = 1 ; i <= barsPeriod ; i++) {


if (Close[i] > iMA(NULL, 0, maPeriod, 0, MODE_EMA, PRICE_CLOSE, i))


contre++ ;


}


retourner le compteur ; }

Passons en revue chaque ligne et expliquons plus en détail ce qu'elle représente.

int getBarCloseAboveAverage(int barsPeriod, int maPeriod) { - cette ligne définit notre fonction personnalisée. Le type de retour est "int", ce qui signifie que la fonction renverra un nombre entier, c'est-à-dire le nombre de barres qui ont clôturé au-dessus de notre moyenne mobile. La fonction contient également deux paramètres - barsPeriod qui est un nombre entier représentant le nombre de barres que nous comparons avec la moyenne mobile et maPériode qui représente une période qui sera utilisée comme longueur de déplacement. Le nom de ces variables n'est important que dans la fonction elle-même. Dans l'assistant EA, nous pouvons utiliser des noms différents pour les valeurs d'entrée, comme vous le verrez plus loin.

int counter = 0 ; - cette ligne définit un compteur. Il stockera la somme des barres qui répondent à nos critères, c'est-à-dire les barres qui ont clôturé au-dessus de la ligne de la moyenne mobile.

for (int i = 1 ; i <= barsPeriod ; i++) { - cette ligne démarre la boucle. La variable "i" représente l'indice de la barre que nous sommes en train d'évaluer. Nous commençons par la barre #1 et continuons sur chaque barre jusqu'à ce que toutes les barres (barsPeriod) soient vérifiées. À chaque fois, nous augmentons la valeur de "i" de 1 (nous passons à la barre précédente).

if (Close[i] > iMA(NULL, 0, maPeriod, 0, MODE_EMA, PRICE_CLOSE, i)) - cette condition vérifie si une barre ferme plus haut que la valeur de la moyenne mobile. Notez la variable "i" que nous utilisons pour référencer chaque barre au fur et à mesure que la boucle progresse sur toutes les barres. Nous utilisons également la moyenne mobile exponentielle (MODE_EMA) comme spécifié dans l'aide de MQL4. https://docs.mql4.com/indicators/ima

Même si cela peut vous sembler trop complexe, c'est tout à fait intuitif, surtout si le MetaEditor vous aide également à compléter le code. Voir la capture d'écran.

Une fois la fonction terminée, nous pouvons enregistrer notre travail, ouvrir EA Wizard et utiliser la fonction créée dans notre nouveau conseiller expert.

Utilisation de fonctions personnalisées dans l'EA Wizard

Nous allons maintenant créer un conseiller expert simple qui utilisera la fonction créée. La première étape consistera à définir les variables et les entrées. Voir la capture d'écran ci-jointe.

Définition des données d'entrée pour le conseiller expert

période moyenne - cette variable d'entrée représente la période de la moyenne mobile. Par défaut, nous la fixons à 34

barsTrendPeriod - cette variable d'entrée représente le nombre total de barres que nous comptons. Par défaut, elle est fixée à 20

minBarsUptrend - cette variable d'entrée représente le nombre minimum de barres que nous exigeons pour être au-dessus de la moyenne mobile. Par défaut, nous la fixons à 15

Nous avons également défini takeProfitstopLoss à 20 pips et lotSize à 0,1.

Rassemblons tous ces éléments dans une règle de négociation simple qui permettra d'ouvrir une position longue.

Règles pour une position longue

En plus de notre fonction personnalisée, la condition longue comprend également une vérification si nous n'avons pas de position sur le marché. Si ce n'est pas le cas, nous pouvons ouvrir une nouvelle position. Nous nous assurons également que la règle n'est évaluée que lorsqu'une barre se ferme (et non à chaque tic-tac) en utilisant la fonction Le bar est-il ouvert est vrai fonction.

Voici comment nous configurons la fonction personnalisée et incluons les variables définies dans l'assistant d'EA à l'aide de Fonction personnalisée qui se trouve sous l'option Fonctions menu.

Fonction personnalisée : getBarCloseAboveAverage(barsTrendPeriod, averagePeriod)

A ce stade, notre expert advisor est prêt à être utilisé. La dernière étape consiste à exporter le code dans MetaTrader 4. Voici comment procéder :

Exporter le code de la stratégie

Vous pouvez maintenant tester le conseiller expert dans MetaTrader et grâce aux entrées définies, le conseiller expert est également prêt pour un processus d'optimisation. Vous pouvez essayer de trouver les meilleurs paramètres pour les valeurs d'entrée ou ajouter des règles et des filtres supplémentaires pour les signaux de trading.

Vous pouvez télécharger le projet EA Wizard ici : Bars Close Above EMA.sqw

S'abonner
Notification pour
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires

Poursuivre la lecture