Categoria
Tecnico
Livello
Base
Si usa in
Progettazione della strategiaGestione del rischioOperatività su MT5

Average True Range (ATR)

Un indicatore di volatilità che misura l'ampiezza media del movimento recente del prezzo, in unità di prezzo. Gli EA lo usano per fissare distanze di stop e dimensioni di posizione che si adattano alle condizioni attuali invece di dare per scontate quelle di ieri.

anche: ATR, True Range

Aggiornato

In parole semplici

Quanta strada percorre di solito questo mercato in una candela, mediata sul passato recente. Non ha alcuna opinione sulla direzione: è un righello per le distanze, e quasi tutto ciò che un EA misura in pip si misura meglio in queste unità.

Perché conta

Ogni distanza dentro un EA — lo stop, il target, il passo del trailing, la soglia di rottura — è un numero di pip scelto da qualcuno. L'ATR è ciò che trasforma quei numeri fissi in rapporti che continuano a significare la stessa cosa quando il mercato accelera o rallenta.

  • È la forma pratica della volatilità. Un EA difficilmente può calcolare una deviazione standard dei rendimenti a ogni tick, ma può leggere l'ATR da un handle di indicatore.
  • È espresso in unità di prezzo, quindi si converte direttamente in una distanza di stop senza alcun passaggio statistico intermedio.
  • Rende una strategia confrontabile tra simboli e periodi. Due pip sono uno stop ampio su uno strumento e stanno dentro il rumore su un altro; due ATR sono la stessa affermazione ovunque.
  • Include i gap, cosa che un semplice massimo meno minimo non fa: il true range si misura anche rispetto alla chiusura precedente, non solo alla candela corrente.

In MetaTrader 5

Dove compare in MT5

  • Inserisci → Indicatori → Oscillatori → Average True Range — si aggiunge al grafico con un parametro di periodo
  • Navigatore → Indicatori → Average True Range — si trascina sul grafico per ottenere lo stesso risultato
  • L'indicatore si disegna in una finestra separata perché la sua scala è una distanza di prezzo, non un prezzo
  • Strategy Tester → Input — periodo e moltiplicatore dell'ATR di un EA sono input, ed entrambi si sovraottimizzano con facilità

Come lo usano gli EA

  • Creare l'handle una sola volta in OnInit — iATR(_Symbol, PERIOD_CURRENT, 14) — e leggere i valori con CopyBuffer, invece di creare handle dentro OnTick.
  • Distanza di stop = moltiplicatore × ATR all'ingresso, così che lo stop sia collocato fuori dal movimento ordinario e non a un numero tondo di pip.
  • Dimensione della posizione = importo a rischio ÷ (distanza di stop × valore del pip), il che fa scendere automaticamente il lotto quando la volatilità sale.
  • La distanza di trailing è la stessa idea applicata di continuo: il trail si allarga nei mercati veloci e si stringe in quelli calmi.
  • Leggere l'ATR da una candela chiusa (indice 1) e non da quella in formazione (indice 0), il cui valore cambia a ogni tick.
  • Non dare per scontato che iATR sia l'ATR di Wilder. L'ATR incluso in MetaTrader fa scorrere una finestra fissa dove Wilder liscia. I due reagiscono quindi su orologi diversi: dopo che la volatilità è triplicata abbiamo misurato 19 candele contro 59 per raggiungere il 90% del nuovo livello.

Impostazioni tipiche

Impostazione Valore tipico Nota
Periodo 14 Il valore predefinito convenzionale. I periodi brevi (7–10) reagiscono più in fretta; quelli lunghi (20–30) sono più lisci e si adattano ai sistemi su base giornaliera.
Moltiplicatore dello stop 1,5–2,5 × ATR Sotto circa 1,5 lo stop finisce dentro il movimento ordinario per la maggior parte degli strumenti.
Moltiplicatore del trailing 2–3 × ATR Di solito più ampio dello stop d'ingresso, così che un normale ritracciamento non chiuda un'operazione di tendenza.
Moltiplicatore del target 2–4 × ATR Mantiene stabile il rapporto rischio/rendimento al variare delle condizioni.
Timeframe di lettura quello della strategia Un ATR su M5 e uno su D1 descrivono domande diverse; mescolarli cambia in silenzio ogni distanza.

Problemi operativi frequenti

  • Creare l'handle dell'indicatore dentro OnTick, cosa che disperde handle e prima o poi fallisce: l'handle va in OnInit.
  • CopyBuffer restituisce meno valori di quelli richiesti all'avvio, prima che sia stata caricata abbastanza storia, il che produce un ATR pari a zero e quindi uno stop a distanza zero.
  • Leggere l'ATR dalla candela in formazione, così che la distanza di stop dipende dal momento della candela in cui il segnale è scattato.
  • Confusione tra punti e pip: l'ATR è restituito in unità di prezzo, e una quotazione a 5 cifre significa 0,00120 e non 12 — moltiplicarlo come se fossero pip produce stop cento volte troppo ampi o troppo stretti.
  • Ottimizzare insieme periodo dell'ATR e moltiplicatore sulla stessa finestra, il che adatta la coppia ai ritracciamenti specifici di quella finestra.

Funzioni MT5 collegate

iATR(symbol, timeframe, ma_period)
Crea l'handle dell'indicatore; chiamalo una volta in OnInit e conserva l'handle.
CopyBuffer(handle, 0, start, count, array)
Legge i valori dell'ATR dal buffer 0, l'unico buffer che l'indicatore possiede.
SymbolInfoDouble(symbol, SYMBOL_POINT)
Converte l'ATR espresso in unità di prezzo in punti, che è come si esprimono le distanze di stop.
NormalizeDouble(price, _Digits)
Arrotonda un livello di stop calcolato alla precisione del simbolo prima dell'invio.

Esempio

La stessa regola di rischio, applicata in due regimi di volatilità. Nell'EA non cambia nulla: cambia il righello con cui misura.

Regime calmo — ATR(14)
12 pip
Uno stop a 2 × ATR vale 24 pip.
Regime volatile — ATR(14)
34 pip
Lo stesso stop a 2 × ATR vale 68 pip.
Rischio per operazione
1% di 10.000 $ = 100 $
Dimensione del lotto, calmo / volatile
0,42 / 0,15
Stesso denaro a rischio, distanza diversa, quindi dimensione diversa.

Allargare lo stop senza ridurre il lotto avrebbe triplicato il denaro a rischio. L'ATR aiuta solo quando entrambe le metà si muovono insieme.

Calcolo 100 ÷ (24 × 10) = 0.42 · 100 ÷ (68 × 10) = 0.15

Risultato Una regola di rischio che produce due distanze di stop e due dimensioni di posizione

Come si usa

L'ATR è una distanza, non un segnale. Dice a un EA a quale distanza collocare le cose, mai se collocarle.

Intervallo Significato
ATR attuale molto sotto la media del backtest I target definiti in ATR si riducono di conseguenza, così la strategia incassa vincite più piccole mentre i costi restano fissi.
ATR attuale vicino alla media del backtest Le condizioni in cui le impostazioni sono state tarate. Le aspettative pubblicate valgono.
ATR attuale ben sopra la media del backtest Gli stop a pip fissi ora stanno dentro il rumore; quelli basati su ATR si allargano, e la dimensione della posizione deve scendere per compensare.
ATR usato come segnale d'ingresso Un uso improprio. È privo di direzione: una lettura alta dice che il mercato si muove, non da che parte.
  • Esprimi ogni distanza dell'EA come multiplo dell'ATR, poi ottimizza il multiplo invece del numero di pip. Il risultato si trasferisce molto meglio tra simboli e regimi.
  • Non confrontare mai valori grezzi di ATR tra simboli. Quaranta pip su GBP/JPY e quaranta su EUR/USD sono livelli di attività diversi; dividi per il prezzo se serve un confronto.
  • Adatta il periodo dell'ATR alla durata di detenzione. Uno scalper che legge un ATR giornaliero sta dimensionando per un movimento in cui non sarà mai dentro.
  • Verifica che il moltiplicatore sia stabile sui valori vicini. Uno stop che funziona a 2,0 × ATR ma non a 1,8 o 2,2 è adattato alla finestra di test.

La [pagina completa dell'indicatore ATR](/it/indicators/atr) copre il calcolo e le impostazioni in dettaglio. Include la nostra misurazione secondo cui l'iATR di MetaTrader è una finestra mobile e non il livellamento di Wilder. Questa voce riguarda il ruolo che l'ATR svolge dentro le regole di rischio di un EA.

Errori frequenti

Trattare l'ATR come segnale di direzione

Misura la distanza percorsa, non da che parte. Un ATR in salita significa che il mercato si muove di più, e questo accade tanto nelle tendenze quanto nei crolli e nei range violenti.

Allargare lo stop ATR senza ridurre il lotto

Il senso di uno stop adattivo è che il rischio per operazione resti costante. Se la distanza triplica e la dimensione non cala, a triplicare è stata la perdita.

Confondere unità di prezzo e pip

iATR restituisce una distanza di prezzo: 0,00120 su un EUR/USD a 5 cifre, non 12. Il codice che la tratta come pip colloca stop cento volte troppo lontani o troppo vicini, e l'errore sfugge facilmente in fase di test perché i risultati sono semplicemente scadenti anziché rotti.

Leggere l'ATR dalla candela in formazione

L'indice 0 cambia a ogni tick, quindi lo stesso segnale produce uno stop diverso a seconda del momento in cui scatta. Usa l'ultima candela chiusa per tutto ciò che deve essere riproducibile.

Domande frequenti

Quale periodo di ATR dovrebbe usare un EA?
Quattordici è il valore predefinito convenzionale e un punto di partenza ragionevole. I periodi brevi da sette a dieci reagiscono più in fretta a un cambio di condizioni ma sono più rumorosi; quelli da venti a trenta sono più lisci e si adattano a strategie su candele giornaliere. Più del valore esatto conta che resti stabile sulle impostazioni vicine quando lo si testa.
Come trasformo l'ATR in una distanza di stop-loss?
Moltiplicandolo. Uno stop a 2 × ATR sta a due ampiezze medie di candela dall'ingresso, il che è fuori dal movimento ordinario per la maggior parte degli strumenti. Il secondo passaggio essenziale è calcolare la dimensione del lotto da quella distanza e dal tuo limite di rischio, così che uno stop più ampio significhi una posizione più piccola e non una perdita più grande.
L'ATR è meglio di uno stop a pip fissi?
Per un EA che gira senza sorveglianza per anni, in generale sì, perché una distanza fissa significa cose diverse in regimi di volatilità diversi mentre un multiplo di ATR significa sempre la stessa cosa. Il prezzo da pagare è un parametro in più da proteggere dalla sovraottimizzazione.
L'ATR di MT5 è lo stesso di Wilder?
Non esattamente, e la cosa conta quando si trasferisce un'impostazione. Wilder liscia il true range, così ogni candela passata continua a decadere dentro il valore; l'ATR incluso in MetaTrader fa invece scorrere una finestra fissa, che è una media mobile semplice. Entrambi sono filtri lineari i cui pesi sommano a uno, quindi i loro livelli di lungo periodo coincidono: abbiamo misurato 9,571 contro 9,573 pip su 2.700 candele con periodo 20. A differire è la risposta: dopo che la volatilità è triplicata su una candela, la versione di MetaTrader ha raggiunto il 90% del nuovo livello in 19 candele e quella di Wilder ne ha impiegate 59. Uno stop a 2 × ATR si allarga quindi prima su MT5 rispetto alla stessa regola su una piattaforma basata su Wilder, e nemmeno allineare il periodo li fonde: il periodo di iATR più vicino al 20 di Wilder è stato misurato a 32–33.
L'ATR mi dice la direzione della tendenza?
No. È una misura di pura distanza e non ha alcuna componente direzionale. L'ADX è il compagno abituale per la forza della tendenza, e una media mobile o la struttura del prezzo per la direzione.

Articoli correlati