
A New Era for Retail Traders Begins
Until now, advanced stock trading strategies like automated stock picking were the domain of hedge funds and institutional players. But that’s about to change — for good. We’re introducing AlgoCloud, …
Přejít k obsahu | Přejít k hlavnímu menu | Přejít k vyhledávání
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.
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.
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.
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.
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 takeProfit, stopLoss à 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.
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 :
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
Until now, advanced stock trading strategies like automated stock picking were the domain of hedge funds and institutional players. But that’s about to change — for good. We’re introducing AlgoCloud, …
Over the past few months, we have added several technical indicators to our coding base. When selecting these indicators, we focused on ensuring that they help users better identify market regimes.
Ever wondered how one idea could revolutionize the way traders build algorithmic strategies? In our brand-new exclusive video interview, we sit down with Mark Fric, the founder and CEO of …