Categoria
Tecnico
Livello
Base
Si usa in
Progettazione della strategiaOperatività su MT5

Media mobile esponenziale

Una media mobile che pesa i prezzi recenti più di quelli vecchi, e per questo gira prima di una media semplice. I filtri di trend e gli ingressi per incrocio degli EA si costruiscono su di essa più che su qualsiasi altro indicatore.

anche: EMA, media esponenziale

Aggiornato · Revisionato

In parole semplici

Una media dei prezzi recenti che presta più attenzione a ciò che è appena accaduto che a ciò che è accaduto un po' di tempo fa. Gira più in fretta di una media semplice, il che la rende più utile dentro un trend e più chiacchierona dentro un range.

Perché conta

La media esponenziale è il mattone predefinito della logica di trend di un EA: fornisce la direzione che indicatori come l'ADX deliberatamente non danno. È anche il componente più abusato e più sovraottimizzato degli EA retail, perché una regola di incrocio è facile da scrivere e i suoi due periodi sono facili da ritoccare finché qualsiasi storico non sembra profittevole.

  • Dà un segno alla strategia. La forza del trend e la volatilità non hanno direzione; è il confronto fra prezzo e media, o fra veloce e lenta, a far entrare l'alto e il basso nelle regole.
  • Reagisce più in fretta di una media semplice, e questo conta ai punti di svolta, dove si decide gran parte del risultato di una strategia di trend.
  • Per costruzione è una misura ritardata. Ogni media mobile descrive ciò che è già accaduto, quindi un incrocio conferma invece di prevedere.
  • Due periodi sono due parametri, e una ricerca a griglia su di essi troverà sempre una coppia che appare eccellente su una qualunque finestra. È la classica trappola dell'overfitting nella progettazione di EA.

In MetaTrader 5

Dove compare in MT5

  • Inserisci → Indicatori → Trend → Moving Average, poi impostare il metodo su Exponential
  • La finestra delle proprietà della media imposta anche il prezzo applicato — Close è la scelta abituale e cambia i valori in modo sensibile
  • I grafici la disegnano nella finestra principale, sulla scala dei prezzi, a differenza di ATR o ADX
  • Strategy Tester → Input — il periodo veloce e quello lento sono i due input che più facilmente vengono sovraottimizzati

Come lo usano gli EA

  • Creare gli handle in OnInit — iMA(_Symbol, PERIOD_CURRENT, 21, 0, MODE_EMA, PRICE_CLOSE) — uno per periodo, e conservarli per tutta la vita dell'EA.
  • Come filtro di direzione: aprire long solo finché il prezzo o la media veloce sta sopra la lenta, e short solo sotto.
  • Come ingresso per incrocio: la media veloce che incrocia la lenta su una barra chiusa, il che richiede di leggere sia la barra 1 sia la 2 per rilevare l'incrocio anziché lo stato.
  • Come riferimento per il trailing: uscire quando il prezzo chiude dall'altra parte di una media scelta, una regola di trailing che si adatta al passo del trend stesso.
  • Le medie di timeframe superiori si leggono con la stessa chiamata e un diverso argomento di periodo; è così che un EA su M15 prende la direzione da H4.

Impostazioni tipiche

Impostazione Valore tipico Nota
Coppia veloce/lenta, breve termine 8 / 21 Reagisce in fretta; produce molti incroci, e la maggior parte non sono trend.
Coppia veloce/lenta, medio termine 50 / 200 La coppia che tutti guardano. Pochi segnali, e quelli che dà arrivano tardi.
Filtro di trend singolo media 200 sul timeframe di ingresso Usata come cancello direzionale più che come ingresso.
Prezzo applicato Close Tipico e stabile. Il prezzo mediano o tipico liscia ulteriormente e cambia ogni risultato di backtest.
Barra del segnale l'ultima barra chiusa Leggere la barra in formazione produce incroci che compaiono e scompaiono all'interno della barra.

Problemi operativi frequenti

  • Rilevare lo stato (veloce sopra lenta) invece dell'evento (la veloce ha incrociato la lenta), il che fa rientrare a ogni barra per tutta la durata del trend.
  • Leggere l'indice 0, così l'incrocio sfarfalla a ogni tick e produce risultati di backtest che il trading reale non riesce a riprodurre.
  • Handle creati dentro OnTick, che perdono risorse finché iMA restituisce INVALID_HANDLE.
  • CopyBuffer all'avvio, prima che il periodo lento abbia storico sufficiente, restituisce zeri che si confrontano come un incrocio.
  • Ottimizzare entrambi i periodi su una sola finestra e spedire il picco: il modo più comune in cui un EA appare eccellente nei test e fallisce subito dopo.

Funzioni MT5 collegate

iMA(symbol, timeframe, period, shift, MODE_EMA, applied_price)
Crea l'handle; è MODE_EMA a renderla esponenziale anziché semplice.
CopyBuffer(handle, 0, start, count, array)
Legge la media dal suo unico buffer.
ArraySetAsSeries(array, true)
Rende l'indice 0 la barra corrente, la convenzione che gran parte del codice di incrocio dà per scontata.
iTime(symbol, timeframe, 0)
Serve ad agire una volta per barra anziché una volta per tick.

Esempio

La differenza fra leggere uno stato e leggere un evento, di gran lunga l'errore più comune con le medie nel codice di un EA.

Barra 2 — veloce contro lenta
veloce sotto la lenta
Barra 1 — veloce contro lenta
veloce sopra la lenta
È la coppia di letture a rendere questo un incrocio e non una condizione.
Esito del test di stato
scatta a ogni barra
Per tutta la durata del trend, aggiungendo ogni volta una posizione.
Esito del test di evento
scatta una volta

Entrambe le versioni sembrano profittevoli in un trend forte durante i test. Solo una delle due è la strategia che si voleva.

Calcolo if (fast[2] <= slow[2] && fast[1] > slow[1]) → incrocio al rialzo

Risultato Un ingresso per incrocio invece di uno per barra

Come si usa

Una regola con la media esponenziale è facile da scrivere e facile da adattare. Tutto ciò che vale la pena verificare riguarda se i parametri sopravvivono allo spostamento.

Intervallo Significato
Il risultato crolla quando un periodo si sposta del 10 % Adattato alla finestra di test. Un'impostazione robusta ha vicini che funzionano anch'essi.
Un ampio intervallo di coppie di periodi funziona in modo simile L'effetto è probabilmente strutturale e non adattato, che è ciò che significa un plateau su una superficie di ottimizzazione.
Incrocio senza filtro di regime I segnali scattano anche nei range, dove per lo più falliscono. È esattamente ciò che un ADX o un filtro di volatilità viene aggiunto a correggere.
Letto sulla barra in formazione Non riproducibile. Lo stesso mercato produce ingressi diversi a seconda del momento dei tick.
  • Preferite un plateau a un picco nella scelta dei periodi. Il miglior risultato singolo di un backtest è quello con meno probabilità di ripetersi.
  • Abbinate l'incrocio a un filtro di regime. Una regola di trend senza filtro fa le sue operazioni peggiori proprio nelle condizioni in cui è più debole.
  • Rilevate gli incroci con due barre, mai con un solo confronto, e agite unicamente su barre chiuse.
  • Ricordate che una media mobile segue il prezzo. Non può precederlo, quindi una strategia costruita su di essa è una strategia di partecipazione e non di previsione.

La pagina `/indicators` sulle medie mobili copre il calcolo e il confronto con la media semplice; questa voce riguarda come la media esponenziale viene cablata nella logica di un EA.

Errori frequenti

Confondere lo stato con l'evento

Verificare se la media veloce sta sopra la lenta è vero per tutto il trend. Verificare se l'ha incrociata richiede anche la barra precedente, e la differenza fra le due cose è un ingresso contro decine.

Ottimizzare entrambi i periodi e spedire la coppia migliore

Due parametri liberi su una superficie liscia produrranno sempre un backtest impressionante. Ciò che conta è se le coppie vicine si comportano in modo simile, ed è questa la differenza fra un effetto e un adattamento.

Usare un incrocio senza filtro per le condizioni di mercato

Le medie mobili si incrociano di continuo nei range, e quasi tutti quegli incroci perdono. Il filtro non è un'ottimizzazione della strategia: è ciò che la rende applicabile.

Dare per scontato che l'esponenziale sia sempre meglio della semplice

Reagisce più in fretta, e questo taglia da entrambe le parti: ingressi più precoci nei trend veri, più falsi segnali nel rumore. Quale sia preferibile dipende dalla strategia, e la differenza è minore della scelta del periodo.

In dettaglio

Che cosa usano invece per la direzione gli EA pubblicati

Qui sono pubblicati quattordici EA con l’elenco completo delle operazioni chiuse. Nessuno di essi prende la direzione da una media mobile esponenziale.

Meccanismo di direzioneEAChe cos’è
Incrocio Tenkan/Kijun di Ichimoku5Kestrel Hover, Orrery, Peregrine, Tessera, Zerqon
Medie mobili semplici impilate1Lanternfish — SMA 25/50/75 su M30, ingressi su M5
Una media mobile esponenziale0
Qualcosa che non è un incrocio8Estremi di RSI, fade su envelope, pattern a candela

Quei cinque hanno tenuto l’incrocio e lasciato perdere il tuning: i periodi Tenkan/Kijun vengono dalla definizione dell’indicatore, non da una ricerca a griglia. Tutti e cinque leggono una barra chiusa, e Orrery e Peregrine agiscono solo quando il corpo della barra di segnale supera un multiplo della sua media recente — il filtro di regime di cui un incrocio nudo ha bisogno. I loro profit factor vanno da 1,27 a 1,46, la stessa fascia del resto del catalogo.

La scheda Input dello Strategy Tester accetta un valore di partenza, un passo e uno di arresto per ciascun periodo. Leggete tutto l’insieme dei risultati, non la prima riga: un plateau di coppie vicine è un effetto, un picco isolato è un adattamento. È l’overfitting nella sua forma pratica, ed è il motivo per cui un filtro come l’ADX viene prima di un altro periodo da regolare.

Domande frequenti

Quali periodi di media esponenziale usano gli EA MT5?
La coppia 8/21 per i sistemi di breve termine e la 50/200 per rilevare il trend di medio termine sono le più comuni, con una singola media 200 usata spesso solo come cancello direzionale. I numeri precisi contano meno del fatto che la strategia funzioni ancora quando li si sposta: un risultato che dipende da una coppia esatta è adattato alla finestra di test.
Per un EA è meglio una media esponenziale o una semplice?
L'esponenziale reagisce più in fretta, il che produce ingressi più precoci nei trend genuini e più falsi segnali nel rumore. Nessuna delle due è universalmente migliore, e la differenza fra loro è di solito minore della differenza fra due scelte di periodo all'interno della stessa.
Perché il mio EA a incrocio di medie apre così tante posizioni?
Quasi sempre perché il codice verifica se la media veloce sta sopra la lenta anziché se l'ha appena incrociata. La prima condizione resta vera per tutto il trend e scatta a ogni barra; rilevare l'incrocio richiede di confrontare anche la barra precedente.
Una media esponenziale può prevedere un'inversione di trend?
No. È una media di prezzi già avvenuti, quindi segue per forza. Un incrocio conferma che un cambiamento è avvenuto, non che stia per avvenire, e quel ritardo è il prezzo del lisciamento.