Tutoriel sur le système de trading simple support-résistance pour EA Wizard

Dans cet article, nous allons vous montrer comment construire un système de trading semi-automatique simple basé sur les niveaux de support et de résistance (niveaux S/R). Le système aura les caractéristiques suivantes :

  • Les prix des niveaux S/R seront définis par l'utilisateur à l'aide des paramètres d'entrée. Si ce n'est pas le cas, l'EA les placera automatiquement sur le graphique au-dessus et au-dessous du prix actuel du marché.
  • une fois que le niveau bas de la dernière barre dépasse le niveau S et clôture au-dessus du prix d'ouverture de la barre, l'EA ouvrira une position longue.
  • une fois que le sommet de la dernière barre passe sous le niveau R défini et que la barre ferme sous son ouverture, l'EA ouvrira une position courte.
  • vous pourrez limiter le nombre de transactions ouvertes pour chaque niveau de S/R ainsi que les tailles de stop-loss et d'objectif de profit
  • l'EA utilisera les règles de gestion des fonds propres du compte fixées à %
  • l'EA dessinera également des lignes correspondant aux niveaux S/R définis afin que vous puissiez facilement les modifier directement sur les graphiques

Les bases de l'installation

Ce que nous devons faire en premier lieu, c'est configurer le nom de notre EA et les règles de gestion de l'argent. Voici comment procéder :

Mise en place des entrées EA

Le plus important dans cette étape est évident, mais concentrons-nous un instant sur les variables. Nous allons les passer en revue tout en expliquant leur signification :

dernierSupport - c'est le prix saisi pour le niveau S. Il sera automatiquement défini au démarrage de l'EA et pourra ensuite être modifié en changeant le paramètre ou en modifiant la ligne de support directement sur le graphique.
dernière résistance - c'est le prix saisi pour le niveau R. Il sera automatiquement défini au démarrage de l'EA et pourra ensuite être modifié en changeant le paramètre ou en modifiant la ligne de résistance directement sur le graphique.
tradesLongCounter - Cette variable sera utilisée pour enregistrer le nombre de transactions longues réalisées avec le dernier niveau S/R fixé.
tradesShortCounter - Cette variable sera utilisée pour enregistrer le nombre de transactions à découvert réalisées avec le dernier niveau S/R fixé.

REMARQUE : nous incorporons ces "compteurs de transactions" pour limiter le nombre maximum de transactions exécutées pour chaque niveau défini. Cela permet d'éviter les transactions excessives, car nous ne prévoyons pas plus de trois transactions pour chaque niveau S ou R défini. Nous devons également réinitialiser ces compteurs une fois que nous modifions le niveau S ou R à un nouveau prix afin que l'EA puisse recommencer.

maxTradesPerSR - le nombre maximum de transactions autorisées pour chaque niveau S/R
PT, SL - Il s'agit des distances des ordres stop-loss et profit-target exprimées en nombre de pips.

En ce qui concerne les règles de gestion de l'argent, nous avons l'intention de ne pas risquer plus de 3% de notre compte pour chaque transaction, avec une taille maximale de 5 lots.

Nous devons également nous assurer que les règles globales de money-management fonctionneront correctement avec nos PT et SL définis :

Mise en place de règles MM globales

Réglage des niveaux S/R

Une fois tous les intrants nécessaires définis, nous pouvons passer à la tâche suivante : créer des règles et une logique pour l'EA lui-même.

Nous avons besoin que notre EA ait des prix S/R modifiables (en tant qu'entrées) mais nous avons encore besoin que l'EA fonctionne intelligemment, c'est-à-dire qu'il dessine des lignes horizontales même sans entrer de valeurs de prix spécifiques une fois que nous avons chargé notre EA. Voici comment procéder :

Fixation des prix S/R

si LastSupport = 0 OU lastResistance = 0 - dans le cas où nous n'avons pas fixé de prix spécifique dans le chargement de l'EA, laissons l'EA le fixer lui-même :

lastResistance = (High[1] + ConvertToRealPips(100)) et
lastSupport = (Low[1] - ConvertToRealPips(100))

Si vous ne définissez pas de prix spécifique pour le niveau S ou R au moment où vous chargez l'EA, l'EA le fera automatiquement en les plaçant 100 pips au-dessus du plus haut actuel (pour le niveau R) et 100 pips en dessous du plus bas actuel (pour le niveau S). Nous utilisons la fonction ConvertToRealPips(pips) pour ajouter et soustraire une fourchette de prix de 100 pips (les pips doivent être convertis en différence de prix à cette fin).

Dessiner les niveaux S/R sur un graphique

C'est là que la véritable puissance de l'EA Wizard entre en jeu. Si vous ne disposez pas d'une certaine fonction requise dans EA Wizard, vous pouvez simplement l'ajouter en utilisant un code MQL4 personnalisé.

Nous devons ajouter une condition qui vérifie si l'une de ces lignes horizontales (R OU S) sont déjà en place sur le graphique. Nous pouvons utiliser une fonction pratique appelée Recherche d'objet("nom de l'objet") pour cela (attention aux guillemets qui doivent être utilisés ici). Si les lignes n'existent pas sur le graphique (la fonction ObjectFind renvoie un nombre inférieur à zéro), nous pouvons les dessiner à l'étape suivante.

CustomFunction : ObjectFind("resistance1") < 0 OR
CustomFunction : ObjectFind("support1") < 0

Tracer les lignes horizontales

Action personnalisée : ObjectCreate("resistance1", OBJ_HLINE, 0, Time[0], lastResistance) ;
Action personnalisée : ObjectCreate("support1", OBJ_HLINE, 0, Time[0], lastSupport) ;

Pour tracer les lignes, nous avons utilisé la fonction Création d'objets telle qu'elle est définie dans le Manuel de langue MQL4 pour créer de nouveaux objets de type ligne horizontale.

La fonction nécessite plusieurs paramètres :

"support1", "résistance1" sont des noms que nous avons utilisés pour nos lignes puisque chaque objet dans MetaTrader doit avoir défini son propre nom.

OBJ_HLINE définit le type d'objet que nous voulons dessiner. Dans ce cas, nous devons dessiner une ligne horizontale

0 - La valeur "zéro" correspond à l'index de la fenêtre. 0 signifie le graphique principal sur lequel nous voulons dessiner.

Temps[0] - nous nous référons au point de dessin de la toute dernière barre.

dernierSupport et dernière résistance sont les prix auxquels nous voulons que nos lignes S/R soient affichées

Notez également que nous avons utilisé Se connecter au journal afin de pouvoir surveiller le comportement de l'EA pendant son fonctionnement. Cette fonction est très pratique, surtout si vous avez besoin de surveiller ce qui se passe avec la valeur de certaines variables.

Mise à jour des prix S/R

Si vous modifiez le niveau S ou R sur le graphique, il faut que votre EA enregistre ce changement. Pour ce faire, nous devons lire les prix actuels pour les deux lignes, qu'ils correspondent à dernierSupport et dernière résistance variables. Dès que nous détectons un changement, nous devons mettre à jour ces variables.

N'oubliez pas qu'une fois les prix S/R mis à jour, nous voulons également réinitialiser le compteur de transactions afin que l'EA puisse librement négocier le nouveau niveau de prix jusqu'à la limite prédéfinie. maxTradesPerSR.

Mise à jour du prix pour le niveau de résistance

lastResistance = CustomFunction : ObjectGet("résistance1", OBRPROP_PRICE1) ;

Nous utilisons une autre fonction MQL4 pour cela - ObjectGet(). Cette fonction permet d'obtenir des informations sur une certaine propriété de l'objet, comme la propriété prix par exemple. Cette fonction requiert le nom de l'objet et la constante de propriété correcte que nous essayons d'obtenir (dans ce cas, il s'agit du prix principal - PRIX1).

Et nous faisons de même pour notre niveau S :

Mise à jour du prix pour le niveau de soutien

Négocier sur les niveaux S/R - placer les ordres

Une fois que nous avons préparé tout ce dont nous avons besoin, nous pouvons commencer à définir des règles de négociation dans les deux sens.

Commençons par la condition longue :

Négocier sur le long terme

Le bas[1] passe au-dessus du dernier support - Pour un signal long valide, nous considérons une situation où le prix bas croise le niveau S défini.
La position sur le marché est plate - il n'y a pas d'autre poste existant déjà ouvert
IsBarOpen est True - évaluer la condition une seule fois par barre
tradesLongCounter < maxTradesPerSR - n'échanger que si la limite d'échange n'a pas été atteinte

Si la condition ci-dessus est remplie, nous pouvons placer un ordre de marché long avec le nombre magique 1000. Nous devons également augmenter la valeur du compteur pour les transactions longues de 1 (pour compter la toute dernière transaction longue). Pour ce faire, nous utilisons la fonction Affecter une variable et le Ajout fonctions.

N'oubliez pas de définir correctement les PT et SL ainsi que la taille du lot pour chaque transaction, comme indiqué dans la capture d'écran.

Mise en place d'un objectif global de rentabilité
Fixation de la taille du terrain

Nous devons maintenant faire la même chose pour le côté court :

Mise en place de règles pour le short side

La principale différence réside dans la condition de croisement. Nous voulons voir une barre Haut[1] au passage en dessous notre niveau R défini. Pour les ordre de marché à court terme nous devons également utiliser un autre nombre magique (2000 dans notre cas) car dans MetaTrader, chaque ordre a un numéro magique unique.

A ce stade, notre EA est terminé. La toute dernière étape consiste à exporter le code dans un fichier EA et à tester l'EA dans MetaTrader4 à l'aide du backtester ou du régime simulé.

Exportation de l'EA dans MetaTrader4

Une fois l'EA sauvegardé, nous pouvons lancer le backtester MT4 pour vérifier son fonctionnement.

Test de l'EA
S'abonner
Notification pour
5 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Ling
Ling
15. 12. 2017 7:40 am

L'assistant EA pourra-t-il utiliser un certain nombre de bougies à des heures spécifiques (s'il s'agit d'un graphique horaire) pour identifier les niveaux de support et de résistance et ouvrir et fermer des transactions basées sur ces niveaux ? Par exemple, sur un graphique horaire, dessiner les lignes de résistance et de support basées sur le plus haut et le plus bas des bougies fermées à 3h, 4h et 5h du matin.

krikri
krikri
25. 2. 2018 12:00 pm

Bonjour Tomas262,

très bon travail, où puis-je trouver le fichier sqw de cet EA (support resistance trading system) ?

regards

Chrétien

Denis Mc Grath
Denis Mc Grath
22. 5. 2018 8:28 am

Excellent article, Tomas.

girija k
22. 6. 2018 11:52 am

Je vais partager avec vous une stratégie très simple basée sur une figure de chandelier forte et facilement perceptible. Ils l'appellent "Lucky Spike". Tout le monde peut l'apprendre, l'utiliser et gagner de l'argent avec. Il y a des traders qui gagnent leur vie en trafiquant uniquement ce schéma. Consultez l'ebook que je vous offre gratuitement:==> http://www.forexmystery.com?hgd4h84gdh

girija k
22. 6. 2018 11:54 am

Je vais partager avec vous une stratégie très simple basée sur une figure de chandelier forte et facilement perceptible. Ils l'appellent "Lucky Spike". Tout le monde peut l'apprendre, l'utiliser et gagner de l'argent avec. Il y a des traders qui gagnent leur vie en trafiquant uniquement ce schéma. Consultez l'ebook que je vous offre gratuitement:==> http://www.forexmystery.com?hgd4h84gdh

Poursuivre la lecture