RA Mean Reversion Portfolio
RA Mean Reversion Portfolio è un Expert Advisor multi-valuta per MetaTrader 5. Cerca movimenti
giornalieri statisticamente eccessivi su due coppie di valute e opera presupponendo che tali
movimenti ritornino verso la media recente. Le due coppie vengono operate da un solo grafico e
gestite come un unico portafoglio con un unico limite di rischio. Ogni operazione è protetta da uno
Stop Loss.
Tipo di strategia: ritorno alla media su portafoglio multi-valuta in D1 (contro-tendenza per
progettazione).
L'Expert Advisor lavora solo su D1, mantiene una posizione per simbolo e non utilizza griglia,
mediamento né martingala.
Vantaggi
- Logica semplice e completamente deterministica. Il segnale è lo z-score della chiusura giornaliera,
quindi ogni decisione può essere ricalcolata e verificata dall'utente. Non ci sono componenti
adattivi nascosti.
- Un portafoglio, un limite di rischio. Il rischio per operazione è fisso, il rischio totale del
portafoglio è limitato e il numero di posizioni simultanee è limitato.
- Filtro di correlazione. Una nuova operazione su una coppia molto correlata a una posizione già
aperta viene presa con metà rischio; se sono aperte due posizioni correlate di questo tipo, le
nuove entrate vengono bloccate.
- Stop Loss su ogni operazione, calcolato dall'ATR al momento dell'ingresso. Non viene mai ampliato e
non c'è un Take Profit che interferisca con le regole di uscita.
- Meglio saltare che superare il rischio. Se il volume calcolato è inferiore al lotto minimo del
broker, l'operazione non viene aperta affatto.
- Modulo di protezione. Le nuove entrate vengono sospese quando il drawdown dal picco di equity è
profondo o dopo una perdita consistente nella giornata in corso.
- Pausa dopo lo Stop Loss. Dopo uno Stop Loss l'Expert Advisor attende e richiede che lo z-score
rientri nella soglia di ingresso prima di operare di nuovo.
- Compatibile con i broker. I nomi dei simboli con prefissi o suffissi vengono trovati
automaticamente, il margine libero è verificato prima di ogni ordine e il programma funziona sia su
conti netting sia hedging.
- Diario delle operazioni in CSV. Ogni operazione chiusa viene scritta in un file con direzione,
prezzi, z-score, risultato e motivo di chiusura, per un'analisi indipendente.
- Tutti i nomi dei parametri di ingresso e i messaggi del programma sono in inglese.
Come funziona
Per ogni simbolo l'Expert Advisor calcola lo z-score del logaritmo della chiusura giornaliera su una
finestra mobile:
z = (logaritmo della chiusura - media della finestra) / deviazione standard della finestra
La finestra è di 45 barre giornaliere per impostazione predefinita ed esclude la barra che ha
generato il segnale. Tutti i calcoli avvengono quindi su barre chiuse e il segnale non si ridisegna.
- Se z è maggiore di +2.0, la coppia è considerata eccessivamente tesa al rialzo e l'Expert Advisor
vende.
- Se z è minore di -2.0, la coppia è considerata eccessivamente tesa al ribasso e l'Expert Advisor
compra.
- La posizione viene chiusa quando z torna a 0, quando viene raggiunto il tempo massimo di detenzione
(25 barre giornaliere) o per lo Stop Loss.
La distanza dello Stop Loss è l'ATR(14) moltiplicato per 1.5 al momento dell'ingresso. La dimensione
della posizione è calcolata da questa distanza e dalla percentuale di rischio impostata, usando il
valore del tick e la dimensione del tick del simbolo.
Gestione del rischio
- Rischio per operazione: 0.3% del saldo del conto per impostazione predefinita.
- Rischio totale di tutte le posizioni aperte: 1.5% del saldo per impostazione predefinita.
- Numero massimo di posizioni simultanee: 3 per impostazione predefinita.
- Protezione di emergenza: nessuna nuova entrata mentre il drawdown dal picco di equity supera il
15%, o dopo una perdita del 3% nella giornata in corso.
- Le posizioni aperte sono sempre gestite secondo le proprie regole; il modulo di protezione blocca
solo le nuove entrate.
Simboli e conti supportati
- Simboli predefiniti: EURGBP e AUDUSD su D1, le due coppie sulle quali i parametri sono stati
regolati e testati.
- Altre coppie di valute possono essere indicate nei parametri di ingresso e verranno operate, ma il
modello non è stato ottimizzato per esse.
- I nomi dei simboli vengono confrontati solo per lettere e cifre, quindi EURGBP, EURGBP.a o EURGBPm
vengono trovati automaticamente. Se nessuno dei simboli indicati esiste sul conto, l'Expert Advisor
opera il simbolo del grafico invece di rifiutarsi di avviarsi.
- Conti: sono supportati sia netting sia hedging. Le posizioni vengono aperte una per simbolo, chiuse
tramite il proprio ticket e filtrate per numero magico, quindi le operazioni manuali e quelle di
altri Expert Advisor non vengono toccate.
- Timeframe: collegate l'Expert Advisor a qualsiasi grafico D1. Le coppie operate provengono dai
parametri di ingresso.
Cosa questo Expert Advisor non fa
- Nessuna griglia, nessun mediamento, nessuna martingala, nessun aumento del lotto dopo una perdita.
- Nessun trailing stop e nessuno spostamento a break-even: lo Stop Loss è fissato all'ingresso e
resta lì.
- Nessun Take Profit: le uscite sono il ritorno dello z-score, il tempo massimo di detenzione o lo
Stop Loss.
- Nessun filtro su notizie o calendario economico.
- Nessuna logica multi-timeframe: il modello lavora solo su D1.
- Non apre mai una posizione contro una posizione esistente sullo stesso simbolo.
Requisiti
- MetaTrader 5 con il trading automatico abilitato nel terminale e consentito all'Expert Advisor.
- Deposito consigliato: 5000 USD/EUR o più; il test seguente è stato eseguito con 10000 EUR.
L'Expert Advisor salta un'operazione quando lo 0.3% del saldo non copre il lotto minimo di 0.01.
Con gli stop giornalieri tipici basati sull'ATR, questa soglia è di circa 2900 EUR per EURGBP e
circa 4400 USD per AUDUSD.
- Leva: 1:30 o superiore è sufficiente, perché viene utilizzata solo una piccola parte del margine
disponibile.
- Storico giornaliero di almeno 47 barre per simbolo; il filtro di correlazione usa 90 barre.
Risultati dei test
Le cifre seguenti sono state ottenute nello Strategy Tester di MetaTrader 5 (build 6241) con le
impostazioni predefinite. Sono il risultato di una simulazione storica e non risultati di trading
reali.
- Periodo: 2020.01.01 - 2026.10.09, circa 6.75 anni
- Simboli: EURGBP D1 e AUDUSD D1, operati da un grafico EURGBP D1
- Modello: every tick; deposito 10000 EUR; leva 1:100
- Risultato netto: +887.09 EUR, saldo finale 10887.09 EUR
- Operazioni: 124; profit factor 1.59; operazioni vincenti circa 57%
- Drawdown massimo del saldo: 1.58% (174 EUR); drawdown massimo dell'equity: 1.78% (197 EUR)
- Sharpe ratio per operazione: 1.13
- AUDUSD: 65 operazioni, +272 EUR, profit factor 1.30
- EURGBP: 58 operazioni, +610 EUR, profit factor 2.06
- Per anno: 2020 +98.66 EUR (17 operazioni), 2021 +219.40 (18), 2022 +147.65 (18),
2023 +329.10 (20), 2024 +41.47 (20), 2025 +130.26 (19), 2026 fino al 09.10 -85.25 (11)
Come leggere queste cifre
- Il risultato non è distribuito uniformemente nel tempo. L'anno migliore (2023) rappresenta circa un
terzo del totale, il 2024 è stato quasi piatto e l'anno parziale 2026 è negativo. Un modello di
ritorno alla media funziona meglio nei mercati laterali e ci si aspetta che renda meno nelle
tendenze forti.
- Il test utilizza lo storico degli spread, gli swap e le impostazioni di commissione del conto di
test. Con un altro broker il risultato sarà diverso.
- I risultati del backtest e le performance passate non garantiscono risultati futuri.
Parametri di ingresso
Portafoglio:
- InpPairs = EURGBP,AUDUSD - simboli operati, separati da virgole
- InpMaxPositions = 3 - numero massimo di posizioni simultanee
- InpRiskPct = 0.3 - rischio per operazione, % del saldo
- InpMaxPortfolioRiskPct = 1.5 - rischio totale massimo delle posizioni aperte, % del saldo
Modulo di correlazione:
- InpUseCorr = true - attivare il filtro di correlazione
- InpCorrWindow = 90 - finestra di correlazione, barre giornaliere
- InpCorrMax = 0.7 - soglia di correlazione che dimezza il rischio di una nuova entrata
Nucleo (z-score su D1):
- InpZWin = 45 - finestra dello z-score, barre giornaliere
- InpEntry = 2.0 - soglia di ingresso per |z|
- InpExitZ = 0.0 - livello di z al quale la posizione viene chiusa
- InpMaxHold = 25 - tempo massimo di detenzione, barre giornaliere
- InpATRPeriod = 14 - periodo ATR usato per lo Stop Loss
- InpATRMult = 1.5 - moltiplicatore ATR usato per lo Stop Loss
Protezione:
- InpMaxDDStopPct = 15.0 - blocca le nuove entrate oltre questo drawdown dal picco di equity, %
- InpDailyLossStopPct = 3.0 - blocca le nuove entrate oltre questa perdita nella giornata in corso, %
- InpSLCooldownBars = 5 - pausa dopo uno Stop Loss, barre giornaliere (0 = disattivato)
Servizio:
- InpRequireNeutralReset = true - dopo uno Stop Loss attendere che |z| rientri nella soglia di ingresso
- InpMagic = 1544010 - numero magico, deve essere univoco per grafico
- InpSlippage = 30 - slippage consentito, punti
- InpJournal = true - scrivere un diario delle operazioni in CSV
- InpJournalFile = AI_Portfolio_trades.csv - nome del file del diario
- InpJournalCommon = false - scrivere il diario nella cartella comune invece che nella cartella dati
del terminale
Installazione
1. Installate l'Expert Advisor dal Market oppure copiate il file nella cartella Experts del terminale.
2. Collegate l'Expert Advisor a qualsiasi grafico D1 e consentite il trading automatico.
3. Verificate che il trading automatico sia abilitato nel terminale.
4. Controllate il diario "Esperti": all'avvio l'Expert Advisor stampa i simboli risolti, la modalità
di margine del conto e le impostazioni attive.
Dichiarazione di non responsabilità
Il trading sui mercati finanziari comporta il rischio di perdita.
Questo Expert Advisor implementa una logica di trading definita. Non prevede il mercato e non
promette alcun profitto.
I risultati ottenuti nello Strategy Tester di MetaTrader 5 sono il risultato di una simulazione
storica e non risultati di trading reali.
Le performance passate non garantiscono risultati futuri.
Provate il prodotto su un conto demo prima di usarlo su un conto reale e non rischiate mai denaro
che non potete permettervi di perdere.