1. SMA, EMA, WMA: Differenze Matematiche e Statistiche
Le tre varianti principali di media mobile differiscono nel modo in cui pesano le osservazioni passate. La scelta tra SMA, EMA e WMA non è estetica: ha conseguenze misurabili su lag, sensibilità al rumore e performance operativa.
SMA — Simple Moving Average
La media aritmetica degli ultimi N prezzi di chiusura. Ogni osservazione ha peso identico: 1/N. Una variazione di prezzo avvenuta 20 giorni fa ha la stessa influenza di una avvenuta ieri.
Lag approssimativo: N/2 periodi. SMA(20) su H4 = lag di 10 candele = 40 ore = quasi 2 giorni lavorativi.
SMA(200) su H4 = lag di 100 candele = 400 ore = 16 giorni lavorativi.
Quando la SMA(200) incrocia il prezzo, il movimento che ha generato l’incrocio è iniziato 16 giorni prima.
EMA — Exponential Moving Average
Assegna pesi esponenzialmente decrescenti: le chiusure recenti pesano di più. Il moltiplicatore α = 2/(N+1) determina la velocità di decadimento.
dove α = 2 / (N + 1)
Lag effettivo: circa (N−1)/2 periodi — minore della SMA equivalente di circa il 10–15%.
Più reattiva della SMA: segnali leggermente più precoci, ma più falsi segnali in mercati laterali.
WMA — Weighted Moving Average
Pesi lineari: chiusura più recente = peso N, la precedente = N−1, ecc. Più reattiva della SMA, meno dell’EMA. Raramente usata in sistemi sistematici per la sua arbitrarietà rispetto all’EMA.
| Tipo | Pesi | Lag relativo | Falsi segnali | Uso tipico |
|---|---|---|---|---|
| SMA | Uniformi 1/N | Alto (N/2) | Meno frequenti | MA200, trend lungo |
| WMA | Lineari N, N-1... | Medio (N/3) | Medi | Trend medio |
| EMA | Esponenziali α | Basso ((N-1)/2) | Più frequenti | MACD, crossover breve |
2. Il Problema del Lag: Quanto Ritarda Davvero una Media Mobile
Tutte le medie mobili sono indicatori lagging: calcolano una media di dati passati, quindi per definizione reagiscono ai movimenti con un ritardo. La domanda non è “c’è lag?” — la risposta è sempre sì. La domanda è “quanto lag, e cosa significa operativamente?”
| Media mobile | Timeframe | Lag in candele | Lag in ore | Lag in giorni lavorativi |
|---|---|---|---|---|
| SMA(20) | H4 | 10 | 40 ore | ~2 giorni |
| SMA(50) | H4 | 25 | 100 ore | ~4 giorni |
| SMA(200) | H4 | 100 | 400 ore | ~16 giorni |
| EMA(20) | H4 | ~9 | 36 ore | ~1,8 giorni |
| EMA(50) | H4 | ~24 | 96 ore | ~4 giorni |
| SMA(200) | Daily | 100 | 2.400 ore | ~4 mesi |
Le implicazioni operative sono dirette. Un sistema che usa SMA(200) su H4 come trigger di ingresso entra in media 16 giorni lavorativi dopo l’inizio del movimento. Su un trend di 30 giorni, entra a metà strada. Su un trend di 15 giorni, entra quasi alla fine. Il lag non è un difetto dell’indicatore — è una proprietà intrinseca delle medie mobili che deve essere inclusa nel design del sistema.
⛔ Il paradosso lag/rumore
Periodo breve = poco lag ma molti falsi segnali in mercati laterali. Periodo lungo = poco rumore ma lag elevato in mercati in trend. Non esiste un periodo magico: ogni scelta è un trade-off. Chi ti vende il “parametro ottimale” per una media mobile ha quasi certamente ottimizzato su dati storici (overfitting).
3. Il Win Rate Reale dei Crossover: i Dati
Il golden cross (MA50 incrocia MA200 dal basso) e il death cross (MA50 incrocia MA200 dall’alto) sono i segnali di media mobile più discussi. Ma qual è il win rate reale su dati forward, non ottimizzati?
Le analisi empiriche su diversi mercati e timeframe mostrano risultati consistentemente deludenti per i crossover usati come segnali standalone:
| Strategia | Mercato | TF | Win Rate empirico | Profit Factor | Problema principale |
|---|---|---|---|---|---|
| Golden/Death cross MA50/200 | S&P500 | Daily | ~52% | ~1,05–1,10 | Edge marginale, molti whipsaw in laterale |
| MA20/MA50 crossover | XAUUSD | H4 | ~44% | ~0,95–1,05 | Spesso sotto breakeven con slippage |
| EMA9/EMA21 crossover | Forex majors | H1 | ~40% | ~0,85–0,95 | Alta frequenza whipsaw, costi di transazione |
| MA crossover + filtro ATR | XAUUSD | H4 | ~48% | ~1,10–1,20 | Migliorato ma ancora limitato |
| Oracle v78 (Ulcer Index gate) | XAUUSD | H4 | 42,1% | 1,44 | EV +0,684R — edge reale documentato |
💡 Perché il win rate del crossover è deludente
I crossover di medie mobili non anticipano i movimenti — li confermano con ritardo. Quando un golden cross si forma, il 60–70% del movimento bullish è spesso già avvenuto. Il crossover segnala che il trend è consolidato, non che sta iniziando. In più, nei mercati laterali i crossover generano una serie continua di falsi segnali in entrambe le direzioni — il cosiddetto whipsaw.
4. La MA200: Mito o Strumento Utile?
La MA200 è probabilmente l’indicatore più citato nel trading retail: “se il prezzo è sopra la MA200 è in trend rialzista, sotto è in trend ribassista.” Questa semplificazione ha un nucleo di verità ma viene applicata in modo meccanico con risultati spesso negativi.
Dove la MA200 funziona
Come indicatore di regime — non di segnale. La posizione del prezzo rispetto alla MA200 su Daily o Weekly è un filtro di contesto utile: identifica se il mercato è strutturalmente in fase di espansione (sopra) o contrazione (sotto). Usata in questo modo, come filtro direzionale su timeframe lungo che orienta la direzione preferenziale dei segnali su timeframe breve, la MA200 aggiunge valore senza generare segnali diretti.
Dove la MA200 non funziona
Come segnale di ingresso autonomo. Il lag di 100 candele su H4 (16 giorni lavorativi) fa sì che qualsiasi ingresso generato dall’incrocio prezzo/MA200 sia strutturalmente tardivo. In aggiunta, i frequenti attraversamenti del prezzo in fasi di consolidamento attorno alla MA200 generano whipsaw multipli che erodono rapidamente il capitale.
| Utilizzo MA200 | Efficacia | Motivo |
|---|---|---|
| Filtro di regime (contesto direzionale) | Utile | Identifica macro-trend senza generare segnali diretti |
| Livello di supporto/resistenza dinamico | Parziale | Funziona in mercati trending, fallisce in laterale |
| Segnale di ingresso al crossover | Inefficace | Lag eccessivo, segnale tardivo, whipsaw in consolidamento |
| Stop loss dinamico | Pericoloso | Stop troppo lontano dal prezzo, drawdown eccessivo |
5. Il Whipsaw nei Mercati Laterali
Il whipsaw è il nemico principale di qualsiasi sistema basato su medie mobili. Si verifica quando il prezzo oscilla ripetutamente attorno alla media mobile, generando una serie di segnali falsi in rapida successione: long, poi short, poi long ancora, con piccole perdite che si accumulano velocemente.
Nei mercati finanziari, la distribuzione del tempo tra fasi di trend e fasi laterali è asimmetrica: i mercati passano più tempo in consolidamento che in trend direzionale. Stime empiriche indicano che XAUUSD su H4 è in regime laterale (senza direzionalità definita) per circa il 60–70% del tempo. Un sistema basato esclusivamente su medie mobili è strutturalmente in perdita per il 60–70% del tempo di mercato.
• Segnali per anno: ~120 (in fasi laterali ~80 sono falsi)
• Spread medio XAUUSD: 0,30–0,50 punti ≈ $3–$5 per 0,1 lotto
• Perdita media per falso segnale: $15–$25 (stop loss tipico 15–25 punti)
• Costo annuo stimato: 80 × $20 = $1.600 per 0,1 lotto in whipsaw puro
Su un conto da $10.000: circa il 16% del capitale consumato in whipsaw in un anno senza trend.
6. Medie Mobili vs Ulcer Index: Confronto Statistico
Oracle v78 usa le medie mobili come contesto di lungo periodo ma usa l’Ulcer Index come gate primario di segnale. Perché questa scelta? Il confronto statistico tra i due approcci su XAUUSD H4 è chiaro.
| Metrica | MA crossover puro | Ulcer Index gate (Oracle v78) |
|---|---|---|
| Win Rate su XAUUSD H4 | ~44% | 42,1% (ma EV superiore) |
| Profit Factor | ~1,00–1,05 | 1,44 |
| Expected Value per trade | ~+0,01R — quasi breakeven | +0,684R |
| Performance in mercati laterali | Negativa (whipsaw) | Neutrale (non genera segnali) |
| Performance in mercati trending | Positiva (con lag) | Positiva (ingresso più selettivo) |
| Lag del segnale | N/2 periodi (strutturale) | Quasi nullo (condizione spot) |
| Overfitting risk | Alto (parametri MA ottimizzabili) | Basso (parametro con fondamento teorico) |
La differenza fondamentale: le medie mobili sono indicatori reattivi che confermano ciò che è già successo. L’Ulcer Index è un indicatore di condizione che misura lo stato corrente del mercato (quanto il prezzo è distante dal suo massimo recente) senza dipendere dalla direzione passata del trend. Questa distinzione produce una differenza significativa nel Profit Factor: 1,00–1,05 vs 1,44 su 65.587 operazioni reali.
7. Come Usare le MA Correttamente nel Sistema
Le medie mobili non sono inutili. Sono mal usate quando vengono impiegate come segnali standalone. Usate correttamente — come filtri di contesto in sistemi ibridi — aggiungono valore misurabile.
Uso 1: Filtro direzionale di lungo periodo
SMA(200) su Daily o Weekly come indicatore di regime. Se il prezzo è strutturalmente sopra la MA200 su Daily, preferisci posizioni long su timeframe operativo. Se è sotto, preferisci short o attendi segnali long con conferma aggiuntiva. Questo non genera segnali — filtra la direzione preferenziale dei segnali generati da altri indicatori.
Uso 2: Distanza dalla media come proxy di Z-Score
La distanza percentuale del prezzo dalla MA200 è un proxy semplice dello Z-Score: misura di quanto il prezzo si è allontanato dalla sua media storica. Quando questa distanza supera 2–3 deviazioni standard, il mercato è in condizione di possibile mean reversion. Usata in questo modo, la MA200 diventa un filtro di contesto per strategie mean reversion — non un segnale direzionale.
Uso 3: Livello di zona, non livello esatto
La MA200 come “zona di interesse” piuttosto che come livello preciso. Un prezzo che si avvicina alla MA200 dopo un trend prolungato è in una zona dove storicamente aumenta la probabilità di rimbalzo o di consolidamento. Ma la zona conta — non il tocco esatto della linea. Un sistema che entra su tocco esatto della MA200 è destinato al whipsaw ogni volta che il prezzo oscilla attorno al livello.
8. Implementazione MQL5: MA come Contesto, Non Segnale
Ecco come Oracle v78 usa le medie mobili in modo corretto — come contesto di lungo periodo, non come segnale di ingresso:
// Utilizzo corretto delle medie mobili: filtro di contesto
// NON come segnale standalone — solo come orientamento direzionale
input int MA_PERIOD = 200;
input int MA_CONTEXT = PERIOD_D1; // Timeframe lungo per il filtro
// Calcola il regime di mercato dalla MA200 su Daily
// Ritorna: 1 = bullish regime, -1 = bearish regime, 0 = ambiguo
int GetRegimeMA200()
{
double ma200 = iMA(_Symbol, MA_CONTEXT, MA_PERIOD, 0,
MODE_SMA, PRICE_CLOSE, 0);
double close = iClose(_Symbol, MA_CONTEXT, 0);
// Zona di ambiguità: ±0,5% attorno alla MA200
double ambiguity_zone = ma200 * 0.005;
if(close > ma200 + ambiguity_zone) return 1; // Regime bullish
if(close < ma200 - ambiguity_zone) return -1; // Regime bearish
return 0; // Zona ambigua
}
// Calcola distanza percentuale dalla MA200 (proxy Z-Score)
double GetDistanzaMA200()
{
double ma200 = iMA(_Symbol, PERIOD_D1, 200, 0,
MODE_SMA, PRICE_CLOSE, 0);
double close = iClose(_Symbol, PERIOD_D1, 0);
return (close - ma200) / ma200 * 100.0; // % sopra/sotto MA200
}
// In Oracle v78 il contesto MA viene usato così:
// 1. GetRegimeMA200() orienta la direzione preferenziale
// 2. GetDistanzaMA200() contribuisce allo score di condizione
// 3. Il segnale reale viene dall’Ulcer Index gate
// Le MA da sole non aprono mai un trade.
void OnTick()
{
int regime = GetRegimeMA200();
double dist = GetDistanzaMA200();
// Esempio: solo long se regime bullish
if(regime == 1 && UlcerIndexGate())
{
// Valuta ingresso long
}
// Solo short se regime bearish
else if(regime == -1 && UlcerIndexGate())
{
// Valuta ingresso short
}
// Zona ambigua: nessun segnale
}
✔ La regola operativa per le medie mobili
Usa le medie mobili per capire dove sei nel mercato, non per decidere quando entrare. Il “dove” è il regime (sopra/sotto MA200 su Daily). Il “quando” lo decide l’Ulcer Index percentile gate di Oracle v78. La combinazione dei due produce Profit Factor 1,44 su 65.587 trade. Le MA da sole producono PF attorno a 1,00–1,05: non è un errore, è la matematica del lag.