Recoil Retrace Engine
- Experts
-
Syarief Azman Bin Rosli
Bonjour et bienvenue sur mon profil officiel MQL5 !
Je suis Syarief Azman Bin Rosli, développeur de systèmes de trading algorithmique et ingénieur quantitatif avec plus de dix ans d'expérience spécialisée dans la création de solutions de trading automatisées pour MetaTrader 5 et MetaTrader 4. - Version: 1.1
- Mise à jour: 31 octobre 2026
- Activations: 5
Recoil Retrace Engine est un Expert Advisor MetaTrader 4 qui trade le repli après un mouvement fort. Il repère une jambe d'impulsion partie d'un swing confirmé sur un multiple de l'ATR, attend le retour du prix dans une poche de retracement (38,2-61,8 % par défaut), entre dans le sens de la jambe, prend un partiel à l'extrême et laisse courir le reste vers une cible d'extension. Une position par symbole et magic number ; ni grille, ni martingale, ni moyenne, ni couverture.
Démarrage rapide
- Placez l'EA sur un graphique (H1 conseillé, H4 et D1 fonctionnent aussi) et activez AutoTrading et "Allow live trading".
- Gardez d'abord les valeurs par défaut : poche 38,2-61,8, Entry Trigger = Rejection close, 1 % de risque par trade.
- Le panneau affiche SCANNING jusqu'à une jambe valide, puis ARMED, IN POCKET et IN TRADE.
- Test rapide : un passage visuel du testeur sur EURUSD H1 sur deux mois trace chaque jambe, poche et cible.
- Push : saisissez votre MetaQuotes ID dans Outils > Options > Notifications et mettez Push Notifications = true.
Fonctionnement
Jambe : un creux (sommet) de swing est une bougie dont le plus bas (plus haut) dépasse les Swing Strength bougies de chaque côté ; il est confirmé quand ces bougies sont clôturées. Pour un achat, l'origine est le dernier creux confirmé dans les Swing Lookback bougies et l'extrême le plus haut depuis (inversé pour les ventes). La jambe est valide si elle mesure au moins Min Impulse Size x ATR (ATR Period, dernière bougie clôturée) en Max Impulse Bars bougies au plus. Si les deux côtés sont valides, la plus grande jambe l'emporte. Une jambe déjà tradée n'est jamais réarmée.
Filtre de tendance : avec Higher-Timeframe Trend Filter, les achats ne sont permis que si la dernière bougie clôturée du Trend Timeframe clôture au-dessus de son EMA (Trend EMA Period), les ventes en dessous. Current = next higher : M1 vers M5, M5 vers M15, M15 vers H1, M30 et H1 vers H4, H4 vers D1, D1 vers W1, W1 et MN1 vers MN1. Avec trop peu d'historique, le filtre est neutre.
Repli : mesuré de l'extrême (0 %) à l'origine (100 %). La poche se situe entre Pocket Near Edge et Pocket Far Edge. Un nouvel extrême avant l'entrée prolonge la jambe et déplace la poche. Le setup finit INVALIDATED quand une bougie clôture au-delà de l'Invalidation Level, et EXPIRED quand plus de Setup Expiry bougies ont clôturé depuis l'extrême.
Entry Trigger :
- Rejection close : une bougie clôturée est entrée dans la poche, a clôturé dans le sens de la jambe (bougie haussière pour un achat), pas au-delà de Pocket Far Edge, et dans la moitié de son range opposée à la poche. Ordre au marché à l'ouverture suivante ; si le GATE est fermé à cet instant (session ouvrant plus tard, par exemple), nouvel essai jusqu'à la fin de cette bougie.
- Pocket touch : ordre au marché dès que le prix touche Pocket Near Edge. Le plus rapide, sans confirmation.
- Resume break : après une bougie ayant touché la poche, achat quand Ask casse son plus haut (vente quand Bid casse son plus bas). Chaque nouvelle bougie qui touche déplace le déclencheur.
Un setup est ignoré si la distance jusqu'à TP1 est inférieure à Min Reward:Risk to TP1 x distance du stop (SKIPPED: reward:risk, réessayé aux bougies suivantes), si TP2 est plus proche que la distance minimale du courtier (SKIPPED: target too close), ou tant que le GATE n'est pas OPEN.
Sorties :
- Stop Loss Placement : Beyond invalidation level (Invalidation Level moins Stop Buffer x ATR pour un achat, plus pour une vente) ou Beyond leg origin (origine moins le même tampon). Élargi au minimum du courtier si besoin.
- TP1 est l'extrême de la jambe. On y ferme TP1 Partial Close pour cent des lots (arrondi au pas de lot). Si une partie ou le reste passe sous le lot minimum, rien n'est fermé (TP1 REACHED (no split)). 100 ferme tout (TP1 FULL EXIT), 0 rien.
- Breakeven at TP1 place ensuite le stop au prix d'entrée.
- TP2 = extrême + TP2 Extension pour cent de la jambe, posé comme take profit de l'ordre. 0 met TP2 sur l'extrême.
- Trail After TP1 : après TP1, à chaque nouvelle bougie le stop devient dernière clôture moins valeur x ATR (achat), uniquement resserré.
- Max Bars Before TP1 ferme au marché si TP1 n'est pas atteint en autant de bougies (TIME STOP).
- Fermetures et modifications de stop ne partent qu'hors de la zone de gel du courtier et pendant la session de trading ; sinon nouvel essai au tick suivant.
Lot Sizing : Fixed lots trade Fixed Lots. Risk % of balance : lots = solde x Risk per Trade / 100 / perte par lot au stop. Arrondi au pas de lot et plafonné par Max Lots ; sous le minimum du courtier le lot minimum est utilisé, un petit compte peut donc risquer plus. Avant chaque ordre la marge libre est vérifiée et la taille divisée par deux jusqu'à passer (NO MARGIN si même le minimum ne passe pas).
Conseillé : H1 sur les paires majeures et l'or ; H4 et D1 tradent moins souvent. En M15 et moins, le spread est grand face à l'ATR et Max Spread bloque la plupart des entrées. À optimiser : Min Impulse Size, Swing Strength, les deux bords de poche, Entry Trigger, Min Reward:Risk to TP1 et Trail After TP1.
Commandes du panneau
- [-] / [+] : réduire le panneau en pastille (RECOIL plus l'état) ou le déplier.
- <> : déplacer le panneau vers le coin suivant (haut gauche, haut droite, bas droite, bas gauche).
- PAUSE / RESUME : bloquer ou autoriser les nouvelles entrées ; un trade ouvert reste géré. Enregistré dans une variable globale, donc conservé après redémarrage, changement d'unité de temps ou nouvel attachement.
- ZONES ON / ZONES OFF : afficher ou masquer les tracés. Réduction, coin et zones reviennent aux valeurs d'entrée au nouvel attachement.
Affichages du panneau
- LED d'en-tête : vert = GATE OPEN, ambre = PAUSED, corail = entrées bloquées.
- ENGINE STATE : badge SCANNING (pas de jambe), ARMED (jambe trouvée, attente du repli), IN POCKET (prix dans la poche, attente du déclencheur), IN TRADE. À droite : BUY SIDE, SELL SIDE ou NO LEG. TREND : unité de temps, période EMA et BULL, BEAR, NEUTRAL ou OFF. GATE : OPEN, PAUSED, ALGO TRADING OFF, MARKET CLOSED, OUT OF SESSION ou SPREAD HIGH.
- RECOIL GAUGE : DEPTH est le retracement actuel en pour cent ; le repère court sur une piste cyan jusqu'au bord proche, ambre sur la poche, ambre foncé jusqu'à l'invalidation et corail au-delà. LEG indique la taille en ATR et le nombre de bougies. WAITING FOR AN IMPULSE sans jambe.
- LEVELS : TP2, TP1, POCKET (fourchette de prix), INVALID et STOP avec la distance au Bid en pts. En trade, TP2 et STOP viennent de l'ordre et TP1 affiche DONE une fois traité.
- POSITION : FLAT ou sens, lots, prix d'entrée et profit latent en devise du compte ; phase TP1 PENDING, TRAILING ou RUNNER ; points et bougies en trade. Sans position : WAITING FOR SETUP ou NEW ENTRIES PAUSED.
- ACTIVITY : les trois derniers événements avec l'heure serveur : ARMED, IN POCKET, INVALIDATED, EXPIRED, ENTRY, TP1 PARTIAL, TP1 FULL EXIT, TP1 REACHED (no split), BREAKEVEN, TIME STOP, CLOSED, ORDER FAILED, NO MARGIN, SKIPPED: reward:risk, SKIPPED: target too close, PAUSED by user, RESUMED by user.
- Ligne du bas : TRADES (trades clôturés, partiels comptés une fois), WIN en pour cent et NET profit clôturé avec swap et commission, pour ce symbole et ce magic number.
Tracés sur le graphique
La ligne de jambe (cyan à l'achat, corail à la vente) va de ORIGIN à l'extrême. Une boîte ambre avec une ligne pointillée au bord proche marque POCKET, une ligne corail tiretée INVALID, une ligne verte pointillée TP1 EXTREME et une ligne verte tiret-point TP2 +27.2 (votre extension). Ils vont jusqu'à l'expiration et sont dessinés derrière les bougies.
Alertes
Pop-up Alerts et Push Notifications se déclenchent quand un setup est ARMED, à l'ENTRY, au TP1 et quand le trade est CLOSED. Elles sont ignorées dans le testeur.
Effets de bord
- Variable globale RRE_PAUSE_<symbol>_<magic> = 1 pendant la pause.
- Variable globale RRE_T1_<symbol>_<magic>_<open time> : prix TP1 du trade ouvert (positif en attente, négatif une fois traité), supprimée après clôture. Absente, TP1 est considéré traité : ni partiel ni breakeven, le trailing fonctionne.
- Variable globale RRE_LEG_<symbol>_<magic> : heure d'origine de la dernière jambe tradée (négative pour une vente), pour qu'un redémarrage ne trade jamais deux fois la même jambe.
- Objets préfixés RRE_P_ (panneau) et RRE_Z_ (tracés), supprimés avec l'EA. Un timer d'une seconde rafraîchit le panneau. Aucun fichier, aucune DLL.
bool paused = GlobalVariableCheck("RRE_PAUSE_EURUSD_26103101"); Paramètres d'entrée
Jambe d'impulsion
- Swing Strength (2) : bougies de chaque côté d'un swing.
- Min Impulse Size (2.0) : jambe minimale en ATR.
- Max Impulse Bars (20) : bougies maximum de l'origine à l'extrême.
- Swing Lookback (120) : bougies explorées pour l'origine.
- ATR Period (14).
Poche et entrée
- Pocket Near Edge (38.2) et Pocket Far Edge (61.8) : poche en pour cent de la jambe.
- Invalidation Level (78.6) : une clôture au-delà annule le setup.
- Entry Trigger (Rejection close) : Rejection close, Pocket touch ou Resume break.
- Setup Expiry (30) : bougies après l'extrême.
- Min Reward:Risk to TP1 (0.5) : 0 = désactivé.
Filtre de tendance
- Higher-Timeframe Trend Filter (true).
- Trend Timeframe (Current = next higher).
- Trend EMA Period (50).
Sorties
- Stop Loss Placement (Beyond invalidation level) : ou Beyond leg origin.
- Stop Buffer (0.25) : distance en plus en ATR.
- TP1 Partial Close (50) : pour cent fermé au TP1.
- Breakeven at TP1 (true).
- TP2 Extension (27.2) : pour cent de la jambe au-delà de l'extrême.
- Trail After TP1 (1.5) : multiple d'ATR, 0 = désactivé.
- Max Bars Before TP1 (0) : 0 = désactivé.
Gestion du capital
- Lot Sizing (Risk % of balance) : ou Fixed lots.
- Fixed Lots (0.10).
- Risk per Trade (1.0) : pour cent du solde.
- Max Lots (5.0).
Filtres et exécution
- Max Spread (30) : pour cent de l'ATR, 0 = désactivé.
- Session Start Hour (0) et Session End Hour (0) : heures serveur des nouvelles entrées ; valeurs égales = 24 h ; peut passer minuit.
- Magic Number (26103101) : un différent par graphique sur le même symbole.
- Max Slippage (30) : points.
- Order Comment (Recoil).
Affichage et alertes
- Show Panel (true), Draw Leg and Pocket (true), Start Collapsed (false), Panel Scale (1.0, 0.5-2.5).
- Pop-up Alerts (true), Push Notifications (false).
Réglages types
- Équilibré H1 (majeures, or) : tout par défaut.
- Or H1 confirmé : Entry Trigger = Resume break, Min Impulse Size 2.5, Trail After TP1 2.0.
- Swing patient H4/D1 : Swing Strength 3, Pocket Near Edge 50, Stop Loss Placement = Beyond leg origin, Min Reward:Risk to TP1 0.8.
- Sorties rapides : TP1 Partial Close 100, Max Bars Before TP1 24, Breakeven at TP1 false.
Remarques
- Après un redémarrage, le setup est reconstruit depuis l'historique à la bougie suivante ; un trade ouvert continue avec son TP1.
- Le testeur applique les mêmes règles ; panneau et tracés seulement en mode visuel.
- Testez d'abord sur un compte démo.
Avertissement sur les risques
Le trading du forex et des CFD sur marge comporte un risque élevé de perte. Les résultats passés ou simulés ne garantissent pas les résultats futurs. Cet EA ne promet aucun profit ; n'engagez que des fonds que vous pouvez perdre.
