📖 Backtesting nel Forex: come verificare le strategie e perché serve l'analisi Walk-Forward
Il backtesting è la simulazione di regole di trading su dati storici per capire come una strategia si sarebbe comportata in passato senza rischiare capitale. Nel contesto del trading algoritmico, il backtesting è una fase obbligatoria prima del lancio in demo e poi in reale.
L'obiettivo del materiale è mostrare come organizzare professionalmente un backtest Forex in MT4, MT5 e cTrader: scegliere le modalità di modellazione, ottenere precisione sui tick, eseguire un'analisi Walk-Forward, interpretare le metriche, simulare l'esecuzione e verificare la robustezza con Monte Carlo.
Backtesting: simulazione delle operazioni su dati passati con calcolo delle metriche di rendimento/rischio.
Trading algoritmico: trading secondo regole formalizzate e programmate nel codice.
Dati tick: sequenza delle minime variazioni di prezzo (tick-by-tick) con timestamp preciso.
Analisi Walk-Forward (WFA): ciclo «ottimizzazione su una finestra → verifica sulla finestra successiva (OOS) → spostamento della finestra» per valutare la stabilità.
Monte Carlo: serie di scenari casuali (riordinamento della sequenza dei trade, variazioni dei costi) per valutare la dispersione dei risultati e i rischi di coda.
🧭 Che cos'è il backtesting e perché è decisivo
Backtesting è la simulazione delle operazioni di una strategia su un mercato passato con il calcolo degli indicatori chiave. È un filtro di qualità per le idee prima della demo/reale e un modo per verificare la logica del codice.
- Verifica delle ipotesi: scartare rapidamente le idee deboli e concentrarsi su quelle più forti.
- Diagnostica del codice: la validazione visiva di ingressi/uscite aiuta a individuare errori logici.
- Metriche: Max Drawdown, PF, Sharpe, expectancy del trade, stabilità per anno.
- Disciplina: regole confermate dalla storia sono più facili da rispettare psicologicamente.
Max Drawdown: massima perdita dal picco dell'equity in percentuale.
PF (Profit Factor): rapporto tra profitto lordo totale e somma delle perdite.
Sharpe Ratio: rendimento normalizzato per il rischio (volatilità dei rendimenti).
Expectancy del trade: profitto medio per operazione = WinRate × AvgWin − (1 − WinRate) × AvgLoss.
I risultati passati non garantiscono quelli futuri. Il backtest va completato con forward test (verifica su dati nuovi/demo) e controllo dell'esecuzione.
⚙️ Approcci al backtesting in MT4, MT5 e cTrader
Le piattaforme differiscono per precisione della modellazione, supporto multi-valuta, velocità di ottimizzazione e comodità di sviluppo.
Multi-valuta: test/trading simultaneo di più simboli in un unico Expert Advisor e in un'unica esecuzione.
MT4: il classico con limitazioni
- Tester: modalità visuale, ma senza backtest multi-valuta (1 simbolo per esecuzione).
- Modellazione: «solo aperture», «punti di controllo», «tutti i tick». Senza tick esterni la qualità è spesso ≤90%.
- Velocità: esecuzioni sequenziali, senza ottimizzazione distribuita.
✅ Pro
- Ambiente di sviluppo semplice, molti Expert Advisor già pronti.
- Soglia d'ingresso bassa per esperimenti rapidi.
❌ Contro
- Nessun test multi-valuta in un'unica esecuzione.
- La precisione tick richiede import esterno e preparazione manuale dello storico.
MT5: standard professionale
- Multi-valuta: un Expert Advisor può testare più simboli nello stesso processo.
- Tick: supporto di tick reali e spread del broker; modalità «Ogni tick», «1-Minute OHLC», «Aperture».
- Ottimizzazione: multithreading, algoritmo genetico, agenti remoti e cloud.
- Forward-opt: divisione integrata dello storico in parte di training e OOS.
1-Minute OHLC: modellazione sui quattro prezzi della barra a un minuto (Open/High/Low/Close); più veloce, ma più grossolana con stop stretti.
Algoritmo genetico: ottimizzazione euristica — «evoluzione» di set di parametri con selezione delle combinazioni migliori.
OOS (Out-of-Sample): parte «fuori campione» dello storico su cui si verificano parametri già scelti dopo l'ottimizzazione.
✅ Pro
- Alta precisione di modellazione «di serie» sui tick.
- Ottimizzazioni veloci, incluse forward e algoritmo genetico.
❌ Contro
- Requisiti più severi per accuratezza del codice e modello a eventi.
cTrader: flessibilità di C# e Market Replay
- Linguaggio: C# (Automate/cAlgo), tipizzazione rigorosa ed ecosistema .NET.
- Dati: «Tick data from server», spread fisso o casuale.
- Esperienza: Market Replay — riproduzione manuale del mercato per formazione/validazione visuale.
- Prestazioni: esecuzione sequenziale; ottimizzazione — parallela nelle build più recenti.
✅ Pro
- Stack C# solido e Market Replay comodo.
- Personalizzazione flessibile di esecuzione e spread.
❌ Contro
- I sistemi multi-simbolo richiedono un'architettura manuale dei segnali.
🧪 Modalità di modellazione e quando usarle
La scelta della modalità dipende dalla sensibilità ai movimenti intrabar (tick) e da SL/TP stretti (stop-loss/take-profit).
Tick: modellazione di ogni variazione di prezzo e spread (massima precisione per scalping/HFT).
OHLC: modellazione sui quattro prezzi della barra; più veloce, ma più grossolana sugli stop stretti.
HFT: logica ad alta frequenza con latenza di esecuzione critica.
«Ogni tick» (tick-by-tick)
Simulazione più realistica di ogni variazione di prezzo e spread. Necessaria per scalping e logiche HFT.
- Pro: ingressi/uscite precisi, valutazione adeguata di stop e slippage.
- Contro: carico elevato e requisiti alti sulla qualità dei tick.
Punto chiave: se i trigger scattano dentro la candela, testate «sui tick», altrimenti il risultato sarà sovrastimato.
OHLC/1-Minute
Modellazione su Open/High/Low/Close delle candele a un minuto. Adatta al medio periodo e al filtraggio grossolano rapido delle idee.
- Pro: molto veloce.
- Contro: distorsioni per stop stretti e pattern intraday.
Modalità visuale / Market Replay
Visualizzazione passo-passo dei trade sul grafico (MT4/MT5) o riproduzione del mercato (cTrader) — utile per debug e formazione.
- Pro: si vede chiaramente la logica degli ingressi, trailing e filtri.
- Contro: più lenta delle esecuzioni batch; rischio di «guardare col senno di poi».
📊 Qualità della modellazione e fonti dei dati
L'affidabilità è limitata dalla qualità dei dati in ingresso. «Garbage in — garbage out». Prima lo storico, poi le ottimizzazioni.
- Tick: per MT5/cTrader — tick del broker; per MT4 — import di tick esterni e conversione per il tester.
- Fuso orario e sessioni: fuso unico, verifica di «buchi» e barre duplicate.
- Costi: modellare spread reale/casuale, commissione e slippage.
- Controllo: «dry run» senza trade per validare la sequenza temporale.
Aprite Strategy Tester → scegliete l'Expert Advisor (EA) → modalità «Ogni tick» → fonte tick «borsistici/del broker» → impostate commissione/spread → abilitate «Visualizzazione» → Start. Per l'ottimizzazione forward abilitate il segmento OOS nelle impostazioni di ottimizzazione.
🧼 Pipeline dei dati per un backtest onesto
I dati decidono tutto. Prima delle ottimizzazioni assicuratevi che lo storico sia completo, coerente per fuso orario e ripulito da «buchi» e duplicati.
- Importate tick/minuti da una fonte affidabile o dal broker.
- Normalizzate fuso orario e calendario delle sessioni di trading.
- Pulite le anomalie: duplicati, barre a zero, «spike» estremi.
- Modellate spread/commissione e definite regole di arrotondamento prezzo/volume.
- Eseguite un «test a secco» senza operazioni per verificare la monotonia del tempo.
Compatibilità: MT5 e cTrader — priorità ai dati tick; MT4 — tramite import tick. Con fonti miste usate un fuso orario unico e fissate le regole per l'ora legale.
Mantenete un «passaporto» del dataset: fonte, profondità, fuso orario, data di esportazione e hash dei file — semplifica la riproducibilità.
⚡ Modellazione dell'esecuzione: ordini, spread, latenze
L'esecuzione ideale gonfia i risultati. Inserite ipotesi realistiche: tipo di ordine, filtro spread, slippage e ritardi casuali.
Spread: differenza tra Bid e Ask; si allarga su notizie/bassa liquidità.
Slippage: esecuzione a prezzo peggiore dell'atteso per impulso di mercato o ritardo.
Ritardo: latenza totale di rete/terminale/server; critica per HFT/notizie.
| Componente | Modello | Raccomandazione |
|---|---|---|
| Tipo di ordine | Market/Limit/Stop | Scalping — limit con filtro spread; trend — market accettabile. |
| Spread | Fisso o casuale | Uno spread casuale nel range storico è più realistico. |
| Slippage | Simmetrico o sbilanciato | Per gli ordini market inserite uno sbilanciamento negativo. |
| Ritardo | Casuale 10–300 ms | Rilevante durante notizie e ore di volatilità di picco. |
Nella pianificazione del reale applicate uno «sconto di esecuzione» del 5–15% al profitto e +20–30% al Max Drawdown rispetto al backtest.
⏩ Analisi Walk-Forward (WFA)
Walk-Forward è un ciclo graduale «ottimizzazione su una finestra → verifica sulla finestra successiva (OOS) → spostamento della finestra» per valutare la stabilità.
WFA: alternanza di sezioni in-sample (parte di training) e out-of-sample (parte di verifica) con riottimizzazione programmata.
OOS: parte non studiata dello storico su cui si verificano i parametri già selezionati.
Rolling vs Anchored: finestra scorrevole contro finestra crescente (meno rischio di overfit).
- Dividete lo storico: ad es. 12–18 mesi di ottimizzazione e 3–6 mesi di verifica.
- Ottimizzate i parametri sulla prima finestra e fissate il set migliore.
- Verificate quel set sulla finestra successiva (OOS).
- Spostate le finestre e ripetete il ciclo fino alla fine dello storico.
- Aggregate i risultati OOS, valutate stabilità e range dei drawdown.
Schemi pratici WFA
Rolling window — adattamento rapido; Anchored — meno riadattamento, ma inerzia maggiore.
Punto chiave: limitate il numero di parametri e usate le stesse regole per tutte le finestre — altrimenti il confronto è scorretto.
🎲 Verifica Monte Carlo della strategia
Monte Carlo è una serie di scenari casuali (riordino dei trade, variazioni di spread/slippage) che mostra dispersione dei risultati e rischi di coda.
Scenari di riordino
Simulate 200–1000 storie alternative per valutare il range di rendimento e drawdown.
- Reshuffle: permutazione casuale della sequenza di trade con lo stesso PnL (profitto/perdita).
- Noise: ±25–50% a slippage e spread.
- Gap test: tick estremi rari che imitano «crolli» da notizie.
Punto chiave: guardate al 5°–10° percentile, non solo alla mediana — il margine di sicurezza è più importante del picco.
💻 Esempio: incrocio di medie mobili (MA Cross)
Logica didattica in MQL5 e C# per cTrader. Nel trading reale aggiungete filtri di volatilità ATR, risk management e controllo dell'esecuzione.
1) In MT5 create un EA e incollate il codice sotto. 2) Nel tester scegliete «Ogni tick» e impostate commissione/spread. 3) Verificate su un altro simbolo/TF e confrontate PF/DD (profit factor/max drawdown).
MQL5 (MT5)
#property strict
input int FastMAPeriod = 20;
input int SlowMAPeriod = 50;
#include <Trade/Trade.mqh>
CTrade trade;
int hFast, hSlow;
int OnInit(){
hFast = iMA(_Symbol, PERIOD_CURRENT, FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE);
hSlow = iMA(_Symbol, PERIOD_CURRENT, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE);
return(INIT_SUCCEEDED);
}
void OnTick(){
double fast[], slow[];
if(CopyBuffer(hFast,0,0,2,fast)<2 || CopyBuffer(hSlow,0,0,2,slow)<2) return;
bool crossUp = (fast[1] <= slow[1]) && (fast[0] > slow[0]);
bool crossDown = (fast[1] >= slow[1]) && (fast[0] < slow[0]);
if(crossUp) { trade.PositionClose(_Symbol); trade.Buy(0.1); }
if(crossDown) { trade.PositionClose(_Symbol); trade.Sell(0.1); }
}
C# (cTrader Automate)
using cAlgo.API; using cAlgo.API.Indicators;
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class MACrossBot : Robot {
[Parameter("Fast", DefaultValue = 20)] public int Fast { get; set; }
[Parameter("Slow", DefaultValue = 50)] public int Slow { get; set; }
private MovingAverage maF, maS;
protected override void OnStart(){
var series = MarketData.GetSeries(TimeFrame);
maF = Indicators.MovingAverage(series.Close, Fast, MovingAverageType.Simple);
maS = Indicators.MovingAverage(series.Close, Slow, MovingAverageType.Simple);
}
protected override void OnBar(){
bool crossUp = maF.Result.Last(1) <= maS.Result.Last(1) && maF.Result.LastValue > maS.Result.LastValue;
bool crossDown = maF.Result.Last(1) >= maS.Result.Last(1) && maF.Result.LastValue < maS.Result.LastValue;
if(crossUp) { ClosePositions(TradeType.Sell); ExecuteMarketOrder(TradeType.Buy, SymbolName, 10000); }
if(crossDown) { ClosePositions(TradeType.Buy); ExecuteMarketOrder(TradeType.Sell, SymbolName, 10000); }
}
}
L'esempio è semplificato: non ci sono filtro di trend, calcolo della size tramite ATR, conteggio di commissioni/slippage né money management adeguato. Aggiungete questi elementi prima di trarre conclusioni.
🧪 Mini-casi: come si comportano idee diverse
Gli esempi illustrativi costruiscono intuizione: dove un'idea guadagna e dove soffre per costi/regimi di mercato. I valori sono dimostrativi — sostituiteli con i vostri.
Breakout London (EURUSD M15)
Rottura del range asiatico nelle prime 2 ore di Londra, SL/TP fisso, filtro spread.
- Punti forti: regime trend, alta expectancy del trade.
- Punti deboli: sensibilità a notizie e slippage.
Mean Reversion (USDJPY M5)
Rimbalzo verso la media quando il prezzo si allontana da VWAP e/o BB, uscita a tranche.
- Punti forti: mercato laterale, molte operazioni, equity regolare (curva del valore del conto).
- Punti deboli: «morte da mille tagli» quando i costi aumentano.
MA Cross (H1)
Incrocio SMA 20/50 con filtro ATR e trailing stop ATR×2.
- Punti forti: trasferibilità dei parametri su coppie vicine.
- Punti deboli: whipsaw e flat prolungati riducono il PF.
| Strategia | Scenario | PF | Max DD | Sharpe | Trade |
|---|---|---|---|---|---|
| Breakout London | Tick + spread casuale | 1.6 | 18% | 1.1 | 480 |
| Mean Reversion | Tick + commissione×1.2 | 1.4 | 12% | 1.3 | 1200 |
| MA Cross | OHLC → Tick (validazione) | 1.3 | 20% | 1.0 | 260 |
🌗 Regimi di mercato e comportamento della strategia
Dividete lo storico in trend, flat e finestre di notizie. Valutate le metriche separatamente e impostate regole di attivazione/pausa.
Regime di trend
Filtri: ADX>25, rotture di canale, inclinazione MA positiva.
- Raccomandazioni: allargare TP, ridurre sensibilità ai pullback.
- Rischi: falsi breakout su trend ormai esaurito.
Regime laterale
Bassa volatilità (ATR nella parte bassa del range), ADX<15, frequenti movimenti di inversione.
- Raccomandazioni: accorciare TP, usare mean-reversion, filtro spread.
- Rischi: i costi «mangiano» il vantaggio statistico.
Finestre di notizie
ATR alto, spread che si allarga, gap.
- Raccomandazioni: pausa, filtro spread, ingressi post-news ritardati.
- Rischi: slippage, stop frequenti.
Punto chiave: la combinazione di calendario economico e limiti ATR/spread spesso migliora lo Sharpe.
📋 MT4 vs MT5 vs cTrader — confronto per il Forex
Differenze chiave che influenzano precisione, velocità e comodità con sistemi multi-simbolo.
| Criterio | MT4 | MT5 | cTrader |
|---|---|---|---|
| Precisione della modellazione | Fino al 99% con tick esterni; altrimenti ≤90% | Tick del broker; alta precisione | Tick data from server; impostazione spread flessibile |
| Velocità/ottimizzazione | Esecuzioni sequenziali | Multithreading, agenti cloud, genetica | Esecuzione sequenziale; ottimizzazione — parallela |
| Multi-valuta | No (1 simbolo/test) | Sì (un EA — più simboli) | Via API/architettura dei segnali |
| Test visuale | Modalità visuale | Visualizzazione + analitica avanzata | Market Replay |
| Report/metriche | Set base | Report/grafici avanzati | Statistiche/equity dettagliate |
🔍 Interpretazione dei risultati: metriche chiave
La valutazione deve essere complessa: combinate rendimento con rischio e robustezza, controllate numero di trade e distribuzione del profitto nel tempo.
Massimo drawdown (Max Drawdown)
Massima diminuzione di balance/equity dal picco in percentuale. Più è basso, meglio è; confrontatelo con il rendimento annuale (per esempio tramite CAR/MDD).
Profit Factor (PF)
Rapporto tra profitto lordo totale e somma delle perdite. Valori > 1 — potenzialmente profittevole, > 1.5 — buono, > 2 — ottimo, ma conta la stabilità nei periodi.
Sharpe Ratio
Rendimento normalizzato per il rischio (volatilità dei rendimenti). Più alto significa più stabile; riferimento — > 1, per sistemi «regolari» — più vicino a 1.5–2.
Expectancy del trade
Profitto medio per operazione: Expectancy = WinRate × AvgWin − LossRate × AvgLoss. Deve essere positiva e confermata da un numero sufficiente di trade.
Equity: curva del valore del conto con posizioni aperte incluse (a differenza del balance).
PF: PF = Gross Profit / Gross Loss; utile guardarlo insieme al numero di trade e al Max DD.
Sharpe: (Mean Return − Rf) / StdDev(Return); dove Rf è il tasso privo di rischio.
Expectancy: = WinRate × AvgWin − (1 − WinRate) × AvgLoss; verificare su un campione ≥ 200–300 trade (per intraday — di più).
CAR/MDD: rapporto tra rendimento annuale (Compound Annual Return) e massimo drawdown.
Controllate la stabilità delle metriche per anni/trimestri e usate uno «sconto di esecuzione» (spread/commissione/slippage), altrimenti PF e Sharpe saranno sovrastimati.
🗺️ Mappa di robustezza dei parametri
Modificate due parametri chiave su una griglia e registrate le metriche. Cerchiamo non un «isolotto» di massimo, ma un plateau di robustezza.
Disegno dell'esperimento
- Griglia: 15×15 punti su due parametri (per esempio periodi Fast/Slow MA).
- Metriche: PF, Max DD, Sharpe, CAR/MDD, numero di trade.
- Criteri: PF ≥ 1.3, DD ≤ 25%, trade ≥ 200.
Decisione sui parametri
Scegliete parametri dal centro del «plateau», non dal bordo — così aumenta la probabilità di mantenere efficacia quando cambia il regime di mercato.
⚠️ Trappole tipiche e come evitarle
Sovraottimizzazione (overfitting)
- Troppi parametri o range stretti adattano la strategia al rumore.
- Rimedio: limite ai parametri, Walk-Forward, verifica OOS, Monte Carlo.
Ignorare l'esecuzione
- Senza spread/commissione/ritardi, PF e Sharpe sono quasi sempre gonfiati.
- Rimedio: spread casuale, slippage e ritardi, «sconto» sui risultati.
Dati «sporchi» e fusi orari
- Buchi, duplicati e fuso errato rompono la logica intraday.
- Rimedio: pipeline dei dati, fuso orario unico, priorità ai tick.
🧰 DevOps per il backtesting: riproducibilità e tracciamento degli esperimenti
Una strategia ha valore quando il suo risultato può essere riprodotto. Servono versioni dei dati, impostazioni fissate e report standardizzato.
- Versionamento dei dati: data di esportazione, fonte, profondità, hash dei file.
- Config dell'esperimento: simboli, TF, date, commissioni, spread/ritardi, seed (valore iniziale del generatore di numeri casuali).
- Template di report: sintesi delle metriche, grafici equity/drawdown, distribuzione PnL (profitto/perdita), sensibilità.
- Artefatti: log dei trade, parametri serializzati, passaporto della versione dell'Expert Advisor (EA) / cBot (bot cTrader).
Salvate un «layout di lancio» — config JSON/YAML, per ripetere l'esecuzione con un clic.
🧮 Metodi di ottimizzazione: grid, genetica, Bayes
L'ottimizzazione è la ricerca dei parametri con il miglior equilibrio tra rendimento e rischio. Considerate tempo di calcolo e stabilità del risultato.
| Metodo | Essenza | Quando è meglio | Rischi |
|---|---|---|---|
| Grid Search | Griglia completa di parametri | Pochi parametri e confini stretti | Lenta, rischio di «fit sulla griglia» |
| Ottimizzazione genetica | Selezione evolutiva di combinazioni (mutazioni/incroci) | Numero medio/alto di parametri | Serve controllo dei criteri e stop anticipato |
| Bayes (TPE) | Modello «parametri → metrica» con TPE | Esecuzioni costose, superfici complesse | Implementazione più complessa, rischio di massimi locali |
Griglia grezza → genetica → validazione su WFA/Monte Carlo. Selezionate non il massimo PF, ma un plateau stabile.
🛡️ Risk management e dimensione della posizione
La gestione del rischio influenza la curva del capitale più del punto d'ingresso. La size deve dipendere da volatilità e capitale.
Rischio fixed-fractional e volatilità
Si rischia una quota fissa del capitale per trade e si normalizza lo stop tramite ATR.
- Pratica: rischio 0.5–2% per trade con calcolo del lotto dallo SL (stop-loss).
- Normalizzazione ATR: stesso rischio monetario con volatilità diverse.
Punto chiave: modellate il rischio con precisione nel backtest, altrimenti i drawdown reali sorprenderanno spiacevolmente.
Limitatori di rischio
Limiti giornalieri/settimanali di perdita, pause dopo serie di stop, stop-trading per spread largo o spike ATR.
- Pausa dopo N trade perdenti consecutivi.
- Disattivazione con spread estremo o ATR anomalo.
🧩 Portafoglio di strategie: diversificazione e correlazione
Più strategie indipendenti con bassa correlazione smussano l'equity e riducono il drawdown.
- Tipi: trend, mean-reversion, breakout, TF/simboli diversi.
- Selezione: bassa correlazione del PnL giornaliero (profitto/perdita), regimi di mercato complementari.
- Controllo: limiti sui rischi simultanei e sui cluster di strumenti.
Costruite una matrice di correlazione delle strategie e testate il portafoglio nel suo insieme, non solo separatamente.
🧨 Scenari «what-if»: stress test di costi e condizioni
Verificate come la strategia sopravvive a peggioramento dell'esecuzione, aumento della volatilità e disattivazioni durante le notizie.
| Scenario | Modifica | Effetto atteso |
|---|---|---|
| Commissione ↑ | ×1.5 | Calo del PF nelle strategie frequenti — filtrate i trade |
| Spread ↑ | +30% | Entry/exit peggiori, più stop, calo dello Sharpe |
| Ritardo ↑ | +150 ms | Esecuzione peggiore sugli impulsi — aumentate i buffer |
| Notizie — off | −1 ora attorno alle pubblicazioni | Meno trade, ma code di perdita più smussate |
❓ Domande e risposte (FAQ)
Come ottenere una qualità di modellazione «99%»?
In cosa un backtest differisce da un forward test?
Quale periodo storico prendere per una strategia Forex?
A cosa servono modalità visuale e Market Replay?
Cosa scegliere: MT4, MT5 o cTrader per il backtesting?
Come considerare commissioni e swap nel backtest?
Come capire che una strategia è robusta?
✅ Check-list di lancio in demo/reale
- Dataset con «passaporto»: fonte, profondità, fuso orario, data di esportazione, hash.
- Config del test: simboli, TF, date, costi, ritardi, seed.
- Esecuzione finale «sui tick» con spread casuale e slippage.
- Ottimizzazione con limite di parametri e verifica su WFA.
- Monte Carlo: ≥ 200 scenari, controllo delle code della distribuzione.
- Mappa di robustezza: scelta dei parametri da un plateau.
- Validazione visuale di ingressi/uscite su tratti di controllo.
- Dimensione posizione: rischio/trade e normalizzazione ATR.
- Limitatori: limite giornaliero/settimanale di perdita, pause.
- Stop-trading con spread/ATR estremi.
- Monitoraggio demo ≥ 2–4 settimane con log dei trade.
- Confronto demo vs backtest: deviazioni entro i limiti pianificati.
- Piano «what-if» in caso di peggioramento dell'esecuzione.
- Portafoglio: verifica della correlazione con strategie esistenti.
- Piano di rilascio in reale con crescita graduale del rischio.