Recoil Retrace Engine
- Experts
-
Syarief Azman Bin Rosli
Ciao e benvenuto sul mio profilo ufficiale MQL5!
Sono Syarief Azman Bin Rosli, sviluppatore di sistemi di trading algoritmico e ingegnere software quantitativo con oltre dieci anni di esperienza nello sviluppo di soluzioni automatizzate per MetaTrader 5 e MetaTrader 4. - Versione: 1.1
- Aggiornato: 31 ottobre 2026
- Attivazioni: 5
Recoil Retrace Engine è un Expert Advisor per MetaTrader 4 che opera il ritracciamento dopo un movimento forte. Individua una gamba d'impulso partita da uno swing confermato e lunga un multiplo dell'ATR, attende che il prezzo rientri in una zona di ritracciamento (38,2-61,8 % di default), entra nella direzione della gamba, prende un parziale all'estremo e lascia correre il resto fino a un target di estensione. Una posizione per simbolo e magic number; niente griglia, martingala, mediazione o copertura.
Avvio rapido
- Trascinate l'EA su un grafico (H1 consigliato, funzionano anche H4 e D1) e attivate AutoTrading e "Allow live trading".
- Usate prima i valori di default: zona 38,2-61,8, Entry Trigger = Rejection close, rischio 1 % per trade.
- Il pannello mostra SCANNING finché una gamba è valida, poi ARMED, IN POCKET e IN TRADE.
- Prova rapida: un test visuale nello Strategy Tester su EURUSD H1 per due mesi disegna ogni gamba, zona e target.
- Push: inserite il vostro MetaQuotes ID in Strumenti > Opzioni > Notifiche e impostate Push Notifications = true.
Come opera
Gamba: un minimo (massimo) di swing è una candela il cui minimo (massimo) supera le Swing Strength candele su ogni lato; è confermato quando quelle candele sono chiuse. Per un acquisto l'origine è l'ultimo minimo confermato entro Swing Lookback candele e l'estremo il massimo più alto da allora (speculare per le vendite). La gamba è valida se misura almeno Min Impulse Size x ATR (ATR Period, ultima candela chiusa) e dura al massimo Max Impulse Bars candele. Se entrambi i lati sono validi vince la gamba più grande. Una gamba già tradata non viene mai riarmata.
Filtro di trend: con Higher-Timeframe Trend Filter gli acquisti sono ammessi solo se l'ultima candela chiusa del Trend Timeframe chiude sopra la sua EMA (Trend EMA Period), le vendite sotto. Current = next higher: M1 a M5, M5 a M15, M15 a H1, M30 e H1 a H4, H4 a D1, D1 a W1, W1 e MN1 a MN1. Con poco storico su quel timeframe il filtro è neutro.
Ritracciamento: misurato dall'estremo (0 %) all'origine (100 %). La zona sta tra Pocket Near Edge e Pocket Far Edge. Un nuovo estremo prima dell'ingresso allunga la gamba e sposta la zona. Il setup termina INVALIDATED quando una candela chiude oltre l'Invalidation Level ed EXPIRED quando sono chiuse più di Setup Expiry candele dall'estremo.
Entry Trigger:
- Rejection close: una candela chiusa è entrata nella zona, ha chiuso nella direzione della gamba (candela rialzista per gli acquisti), non oltre Pocket Far Edge e nella metà del suo range lontana dalla zona. Ordine a mercato all'apertura della candela successiva; se in quel momento il GATE è chiuso (per esempio la sessione apre più tardi), si riprova fino alla fine di quella candela.
- Pocket touch: ordine a mercato appena il prezzo tocca Pocket Near Edge. Il più rapido, senza conferma.
- Resume break: dopo una candela che ha toccato la zona, acquisto quando l'Ask rompe il suo massimo (vendita quando il Bid rompe il suo minimo). Ogni nuova candela che tocca sposta il trigger.
Un setup viene saltato se la distanza da TP1 è inferiore a Min Reward:Risk to TP1 x distanza dello stop (SKIPPED: reward:risk, ritentato sulle candele successive), se TP2 è più vicino della distanza minima del broker (SKIPPED: target too close) o finché il GATE non è OPEN.
Uscite:
- Stop Loss Placement: Beyond invalidation level (Invalidation Level meno Stop Buffer x ATR per gli acquisti, più per le vendite) o Beyond leg origin (origine meno lo stesso buffer). Allargato alla distanza minima del broker se serve.
- TP1 è l'estremo della gamba. Lì si chiude TP1 Partial Close per cento dei lotti (arrotondato al passo di lotto). Se una parte o il resto scendesse sotto il lotto minimo, non si chiude nulla (TP1 REACHED (no split)). 100 chiude tutto (TP1 FULL EXIT), 0 nulla.
- Breakeven at TP1 sposta poi lo stop al prezzo d'ingresso.
- TP2 = estremo + TP2 Extension per cento della gamba, impostato come take profit dell'ordine. 0 mette TP2 sull'estremo.
- Trail After TP1: dopo TP1, a ogni nuova candela lo stop diventa ultima chiusura meno valore x ATR (acquisti), solo stretto.
- Max Bars Before TP1 chiude a mercato se TP1 non è raggiunto entro quel numero di candele (TIME STOP).
- Chiusure e modifiche dello stop partono solo fuori dalla distanza di freeze del broker e durante la sessione di trading; altrimenti si riprova al tick successivo.
Lot Sizing: Fixed lots usa Fixed Lots. Risk % of balance: lotti = saldo x Risk per Trade / 100 / perdita per lotto allo stop. Arrotondato al passo di lotto e limitato da Max Lots; sotto il minimo del broker si usa il lotto minimo, quindi conti piccoli possono rischiare di più. Prima di ogni ordine si controlla il margine libero e la size viene dimezzata finché entra (NO MARGIN se neanche il minimo entra).
Consigliato: H1 su major e oro; H4 e D1 operano meno spesso. Su M15 e inferiori lo spread è grande rispetto all'ATR e Max Spread blocca la maggior parte degli ingressi. Da ottimizzare: Min Impulse Size, Swing Strength, i due bordi della zona, Entry Trigger, Min Reward:Risk to TP1 e Trail After TP1.
Comandi del pannello
- [-] / [+]: comprimere il pannello in una pillola (RECOIL più lo stato) o espanderlo.
- <>: spostare il pannello all'angolo successivo (alto sinistra, alto destra, basso destra, basso sinistra).
- PAUSE / RESUME: bloccare o consentire nuovi ingressi; un trade aperto resta gestito. Salvato in una variabile globale, quindi sopravvive a riavvii, cambi di timeframe e nuovo collegamento.
- ZONES ON / ZONES OFF: mostrare o nascondere i disegni sul grafico. Compressione, angolo e zone tornano ai valori di input quando l'EA viene ricollegato.
Indicazioni del pannello
- LED dell'intestazione: verde = GATE OPEN, ambra = PAUSED, corallo = ingressi bloccati.
- ENGINE STATE: badge SCANNING (nessuna gamba), ARMED (gamba trovata, attesa del ritracciamento), IN POCKET (prezzo nella zona, attesa del trigger), IN TRADE. A destra: BUY SIDE, SELL SIDE o NO LEG. TREND: timeframe, periodo EMA e BULL, BEAR, NEUTRAL o OFF. GATE: OPEN, PAUSED, ALGO TRADING OFF, MARKET CLOSED, OUT OF SESSION o SPREAD HIGH.
- RECOIL GAUGE: DEPTH è il ritracciamento attuale in percentuale; il cursore scorre su una barra ciano fino al bordo vicino, ambra sulla zona, ambra scuro fino all'invalidazione e corallo oltre. LEG mostra la dimensione in ATR e le sue candele. WAITING FOR AN IMPULSE senza gamba.
- LEVELS: TP2, TP1, POCKET (intervallo di prezzo), INVALID e STOP con la distanza dal Bid in pts. In trade TP2 e STOP vengono dall'ordine e TP1 mostra DONE una volta gestito.
- POSITION: FLAT o direzione, lotti, prezzo d'ingresso e profitto flottante nella valuta del conto; fase TP1 PENDING, TRAILING o RUNNER; punti e candele in trade. Senza posizione: WAITING FOR SETUP o NEW ENTRIES PAUSED.
- ACTIVITY: gli ultimi tre eventi con orario del server: 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.
- Riga in basso: TRADES (trade chiusi, parziali contati una volta), WIN in percentuale e NET profitto chiuso con swap e commissioni, per questo simbolo e magic number.
Disegni sul grafico
La linea della gamba (ciano per acquisti, corallo per vendite) va da ORIGIN all'estremo. Un riquadro ambra con linea punteggiata sul bordo vicino segna POCKET, una linea corallo tratteggiata INVALID, una linea verde punteggiata TP1 EXTREME e una linea verde tratto-punto TP2 +27.2 (la vostra estensione). Arrivano fino alla scadenza del setup e stanno dietro le candele.
Avvisi
Pop-up Alerts e Push Notifications scattano quando un setup è ARMED, all'ENTRY, al TP1 e quando il trade è CLOSED. Sono saltati nello Strategy Tester.
Effetti collaterali
- Variabile globale RRE_PAUSE_<symbol>_<magic> = 1 durante la pausa.
- Variabile globale RRE_T1_<symbol>_<magic>_<open time>: prezzo TP1 del trade aperto (positivo in attesa, negativo una volta gestito), cancellata dopo la chiusura. Se manca, TP1 conta come gestito: niente parziale né breakeven, il trailing funziona.
- Variabile globale RRE_LEG_<symbol>_<magic>: orario d'origine dell'ultima gamba tradata (negativo per le vendite), così un riavvio non trada mai due volte la stessa gamba.
- Oggetti con prefisso RRE_P_ (pannello) e RRE_Z_ (disegni), rimossi con l'EA. Un timer di un secondo aggiorna il pannello. Nessun file, nessuna DLL.
bool paused = GlobalVariableCheck("RRE_PAUSE_EURUSD_26103101"); Parametri di input
Gamba d'impulso
- Swing Strength (2): candele su ogni lato di uno swing.
- Min Impulse Size (2.0): gamba minima in ATR.
- Max Impulse Bars (20): candele massime dall'origine all'estremo.
- Swing Lookback (120): candele cercate per l'origine.
- ATR Period (14).
Zona e ingresso
- Pocket Near Edge (38.2) e Pocket Far Edge (61.8): zona in percentuale della gamba.
- Invalidation Level (78.6): una chiusura oltre annulla il setup.
- Entry Trigger (Rejection close): Rejection close, Pocket touch o Resume break.
- Setup Expiry (30): candele dopo l'estremo.
- Min Reward:Risk to TP1 (0.5): 0 = disattivato.
Filtro di trend
- Higher-Timeframe Trend Filter (true).
- Trend Timeframe (Current = next higher).
- Trend EMA Period (50).
Uscite
- Stop Loss Placement (Beyond invalidation level): o Beyond leg origin.
- Stop Buffer (0.25): distanza extra in ATR.
- TP1 Partial Close (50): percentuale chiusa a TP1.
- Breakeven at TP1 (true).
- TP2 Extension (27.2): percentuale della gamba oltre l'estremo.
- Trail After TP1 (1.5): multiplo di ATR, 0 = disattivato.
- Max Bars Before TP1 (0): 0 = disattivato.
Money management
- Lot Sizing (Risk % of balance): o Fixed lots.
- Fixed Lots (0.10).
- Risk per Trade (1.0): percentuale del saldo.
- Max Lots (5.0).
Filtri ed esecuzione
- Max Spread (30): percentuale dell'ATR, 0 = disattivato.
- Session Start Hour (0) e Session End Hour (0): ore del server per i nuovi ingressi; valori uguali = 24 h; può attraversare la mezzanotte.
- Magic Number (26103101): uno diverso per grafico sullo stesso simbolo.
- Max Slippage (30): punti.
- Order Comment (Recoil).
Visualizzazione e avvisi
- 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).
Configurazioni tipiche
- Bilanciata H1 (major, oro): tutto di default.
- Oro H1 confermato: Entry Trigger = Resume break, Min Impulse Size 2.5, Trail After TP1 2.0.
- Swing paziente H4/D1: Swing Strength 3, Pocket Near Edge 50, Stop Loss Placement = Beyond leg origin, Min Reward:Risk to TP1 0.8.
- Uscite rapide: TP1 Partial Close 100, Max Bars Before TP1 24, Breakeven at TP1 false.
Note
- Dopo un riavvio il setup viene ricostruito dallo storico alla candela successiva; un trade aperto prosegue con il suo TP1.
- Lo Strategy Tester usa le stesse regole; pannello e disegni solo in modalità visuale.
- Provate prima su un conto demo.
Avvertenza sul rischio
Il trading di forex e CFD con margine comporta un alto rischio di perdita. I risultati passati o simulati non garantiscono risultati futuri. Questo EA non promette profitti; usate solo capitale che potete permettervi di perdere.
