
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í
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 :
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 :
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 :
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 :
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).
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
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.
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.
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 :
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 :
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.
Nous devons maintenant faire la même chose pour le côté court :
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é.
Une fois l'EA sauvegardé, nous pouvons lancer le backtester MT4 pour vérifier son fonctionnement.
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 …
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.
Bonjour Tomas262,
très bon travail, où puis-je trouver le fichier sqw de cet EA (support resistance trading system) ?
regards
Chrétien
Excellent article, Tomas.
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
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