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

Indice Direzionale Medio (ADX)

L'indicatore ADX misura la forza di un trend su una scala da 0 a 100 senza indicarne la direzione. Gli EA lo usano come filtro di regime: le strategie di trend attendono un valore alto, quelle di ritorno alla media un valore basso.

anche: ADX, Average Directional Movement Index, DMI

Aggiornato

In parole semplici

Un numero che dice con quanta forza il mercato si sta muovendo in una direzione, senza dire in quale. Basso significa che non sta andando da nessuna parte in particolare; alto significa che sta andando da qualche parte, e il segno deve arrivare da altrove.

Perché conta

La maggior parte degli EA non fallisce perché la logica di ingresso è sbagliata, ma perché è giusta in un tipo di mercato e sbagliata in un altro. L'ADX è il modo più economico per dare a una strategia un'opinione su quale dei due stia attraversando, ed è per questo che compare come filtro in molti più EA di quanti lo usino come segnale.

  • Separa le due famiglie che si distruggono a vicenda. Un EA a griglia o di ritorno alla media perde con costanza in un trend forte, e un trend follower si dissangua in una fase laterale; una sola soglia tiene ciascuno fuori dal clima dell'altro.
  • È privo di direzione per costruzione, il che ne fa un filtro e non un segnale — ed è il motivo per cui viene sempre abbinato a qualcosa che una direzione ce l'ha.
  • È lento. Lo smoothing che lo rende stabile fa anche sì che confermi un trend dopo che è già iniziato, quindi è più adatto a escludere le condizioni cattive che a cogliere presto quelle buone.
  • Un filtro è verificabile: esegui la stessa strategia con e senza, e leggi la differenza sul drawdown, non solo sul profitto.

In MetaTrader 5

Dove compare in MT5

  • Inserisci → Indicatori → Trend → Average Directional Movement Index
  • La finestra dell'indicatore traccia tre linee: la linea ADX stessa, +DI e −DI
  • La coppia di DI porta la direzione che l'ADX non ha: +DI sopra −DI è la configurazione rialzista
  • Tester di strategia → Input: il periodo e la soglia sono parametri, e la soglia in particolare invita all'overfitting

Come lo usano gli EA

  • Crea l'handle in OnInit — iADX(_Symbol, PERIOD_CURRENT, 14) — e leggi il buffer 0 per l'ADX, il buffer 1 per +DI e il buffer 2 per −DI.
  • Come gate prima della regola di ingresso: un EA di trend esce subito finché l'ADX non è sopra la sua soglia; un EA di range esce finché non è sotto.
  • Come controllo della direzione quando si usano le linee DI: +DI sopra −DI per i long, l'opposto per gli short, con l'ADX a confermare che un trend da seguire esista davvero.
  • Leggi l'ultima barra chiusa, non quella in formazione: un valore di ADX che oscilla attorno alla soglia dentro la barra produce ingressi che non si possono riprodurre in test.
  • Alcuni EA richiedono anche che l'ADX stia salendo e non solo che sia alto, il che scarta i valori forti ma già in esaurimento verso la fine di un movimento.

Impostazioni tipiche

Impostazione Valore tipico Nota
Periodo 14 Il valore predefinito convenzionale. Periodi più corti reagiscono prima e attraversano la soglia più spesso, in entrambe le direzioni.
Soglia di trend 20–25 Sopra questo livello si abilita la logica di trend following. Il valore esatto conta meno della sua stabilità rispetto ai valori vicini.
Soglia di range sotto 20 Gli EA a griglia e di ritorno alla media di solito la richiedono prima di aprire qualsiasi posizione.
Trend forte sopra 40 Qui gli ingressi controtrend e di ritorno alla media vengono di norma bloccati del tutto.
Timeframe di lettura quello di ingresso o uno superiore Leggere un timeframe superiore dà un segnale di regime più lento e stabile, al prezzo di una reazione più tardiva.

Problemi operativi frequenti

  • Handle creati dentro OnTick invece che in OnInit, con conseguente leak e prima o poi un INVALID_HANDLE.
  • CopyBuffer fallisce all'avvio prima che siano state caricate abbastanza barre, il che viene letto come ADX pari a zero e disattiva — o attiva — il filtro in silenzio.
  • Una soglia collocata esattamente dove l'indicatore passa la maggior parte del tempo, così il filtro si accende e si spegne di continuo e il comportamento dell'EA finisce deciso dal rumore.
  • Ottimizzare la soglia sul miglior valore del backtest, producendo un numero che funziona solo sulla finestra testata.
  • Leggere l'ADX come direzionale e aprire long su un valore alto in un mercato che scende.

Funzioni MT5 collegate

iADX(symbol, timeframe, adx_period)
Crea l'handle; una sola chiamata in OnInit, mantenuta per tutta la vita dell'EA.
CopyBuffer(handle, 0, …)
La linea ADX stessa: forza del trend, nessuna direzione.
CopyBuffer(handle, 1, …) / CopyBuffer(handle, 2, …)
+DI e −DI, la coppia direzionale da cui la linea ADX è derivata.
iTime(symbol, timeframe, 1)
Il timestamp della barra chiusa che gli EA usano per assicurarsi che la lettura sia stabile.

Esempio

Una regola di ingresso, due filtri di regime, condizioni opposte. La regola non cambia; cambia quando le è permesso scattare.

ADX sotto 20
regime laterale
Logica di ritorno alla media e a griglia abilitata; ingressi di trend bloccati.
ADX 20–40
trend moderato
Ingressi di trend abilitati; ingressi controtrend di norma no.
ADX sopra 40
trend forte
Ritorno alla media bloccato del tutto: è il regime che lo distrugge.
+DI contro −DI
la direzione
L'ADX dice con quanta forza; questa coppia dice da che parte.

L'effetto misurabile di un filtro di regime è di solito un drawdown minore e non un profitto maggiore: toglie perdite invece di aggiungere vincite.

Calcolo if (adx[1] < TrendThreshold) return; // in un range l'EA di trend non fa nulla

Risultato Una strategia che si astiene proprio nelle condizioni in cui non è mai stata brava

Come si usa

Giudica un filtro da ciò che toglie. Il confronto giusto è la stessa strategia con e senza, sulla stessa finestra, letta sul drawdown oltre che sul risultato netto.

Intervallo Significato
ADX sotto 20 Nessun trend effettivo. Gli ingressi trend following hanno qui la loro aspettativa peggiore e i segnali di breakout falliscono in gran parte.
ADX 20–40 È in corso un trend reale. Il normale intervallo operativo per la logica di trend.
ADX sopra 40 Trend forte, e spesso già in fase avanzata. Gli ingressi di trend funzionano ancora; le strategie controtrend e a griglia sono al massimo della pericolosità.
Soglia tarata sul miglior valore del backtest Un parametro sovradattato. Verifica che le soglie vicine diano risultati simili prima di crederci.
  • Testa il filtro come una modifica e non come parte di un pacchetto: esegui la strategia con il filtro disattivato sugli stessi dati e confronta drawdown, numero di operazioni e profit factor.
  • Aspettati meno operazioni. Un filtro che non riduce il numero di operazioni non sta filtrando nulla.
  • Leggi l'ADX su una barra chiusa e valuta un timeframe superiore per la decisione di regime, così la strategia non cambia carattere più volte per sessione.
  • Non usarlo da solo per la direzione. La coppia +DI/−DI o una media mobile deve fornire il segno.

La pagina `/indicators` dedicata all'ADX copre il calcolo e la lettura sul grafico; questa voce riguarda il suo uso come filtro di regime per gli EA.

Errori frequenti

Leggere l'ADX come rialzista o ribassista

È una misura di forza senza segno. Un valore alto durante un crollo è esattamente alto quanto uno durante un rally, ed è per questo che viene sempre abbinato a qualcosa di direzionale.

Mettere la soglia dove vive l'indicatore

Se l'ADX passa la maggior parte del tempo vicino alla soglia, il filtro commuta di continuo e il comportamento della strategia lo decide il rumore. Una soglia è utile quando viene attraversata di rado e in modo netto.

Trattare il filtro come gratuito

Ogni filtro toglie operazioni, comprese quelle profittevoli. La verifica è se toglie più perdita che profitto — ed è una misurazione, non un'assunzione.

Usare un periodo ADX veloce per reagire prima

L'ADX è smussato due volte per progetto. Accorciare il periodo lo fa attraversare la soglia più spesso in entrambe le direzioni, il che di solito aggiunge whipsaw invece di ingressi anticipati.

Domande frequenti

Quale valore di ADX indica un trend?
Valori sopra circa 20-25 sono la soglia convenzionale per trattare il mercato come in trend, e sopra 40 come trend forte. Il numero esatto conta meno della sua stabilità: una soglia che funziona solo a un valore preciso su una finestra di test precisa è un parametro sovradattato e non una regola di regime.
L'ADX dice se il trend è al rialzo o al ribasso?
No. La linea ADX misura soltanto la forza. La direzione arriva dalle linee +DI e −DI da cui è costruito — +DI sopra −DI è la configurazione rialzista — oppure da un indicatore direzionale separato come una media mobile.
Come usano gli EA l'ADX come filtro?
Come un gate davanti alla regola di ingresso. Un EA trend following non fa nulla finché l'ADX non è sopra la sua soglia; un EA a griglia o di ritorno alla media non fa nulla finché non è sotto. L'effetto si vede di solito come un drawdown minore e non come un profitto maggiore, perché il filtro rimuove le operazioni aperte nelle condizioni che la strategia gestisce peggio.
Perché il mio filtro ADX peggiora i risultati?
Due motivi comuni. La soglia può trovarsi dove l'indicatore passa la maggior parte del tempo, così commuta sul rumore; oppure il filtro può essere stato ottimizzato sulla stessa finestra della regola di ingresso, e in quel caso si adatta ai regimi di quella finestra e non al concetto di regime. Testare la strategia con e senza filtro su dati out-of-sample separa i due casi.

Articoli correlati