Indicatori tecnici / Divergenza RSI
Uno strumento per le divergenze sembra semplice: il prezzo raggiunge un nuovo estremo e l’RSI no. Le domande utili sono quali oscillazioni contino, quale RSI si stia leggendo e quante barre debbano chiudersi prima che lo strumento possa saperlo. Questa pagina risponde con regole esatte, grafici orari reali e codice verificabile.

Cosa misura l’RSI
L’indice di forza relativa confronta l’ampiezza media dei recenti movimenti al rialzo con quella dei recenti movimenti al ribasso e colloca il risultato tra 0 e 100. Secondo la guida MT5, Wilder raccomandò 14 periodi quando introdusse l’indice; successivamente si sono diffuse le versioni a 9 e 25 periodi. La stessa guida osserva che l’RSI forma solitamente massimi sopra 70 e minimi sotto 30. Guida MT5: RSI
In questo download le linee a 30 e 70 servono solo da riferimento. Non filtrano alcuna divergenza. Codice
Cosa confronta una divergenza
Una divergenza confronta due oscillazioni del prezzo con i valori RSI sulle stesse due barre. La guida MT5 la descrive come un nuovo massimo o minimo del prezzo che l’RSI non conferma con un proprio nuovo massimo o minimo. Questo download traduce tale descrizione in schemi esatti: Guida MT5: RSI
- Ribassista regolare: un massimo dell’oscillazione del prezzo più alto, con RSI più basso sul secondo massimo.
- Rialzista regolare: un minimo dell’oscillazione del prezzo più basso, con RSI più alto sul secondo minimo.
- Ribassista nascosta (disattivata per impostazione predefinita): un massimo dell’oscillazione più basso, con RSI più alto sul secondo massimo.
- Rialzista nascosta (disattivata per impostazione predefinita): un minimo dell’oscillazione più alto, con RSI più basso sul secondo minimo.
Questa pagina non verifica se il prezzo inverta la direzione dopo una divergenza. Mostra cosa segnalano le regole, quando possono segnalarlo e casi reali in cui il prezzo ha comunque superato la seconda oscillazione. Dati del grafico
Come questo download calcola l’RSI
L’indicatore utilizza i prezzi di chiusura e lo smussamento di Wilder. La variazione di prezzo di ogni barra viene divisa in un guadagno e una perdita, di cui uno è sempre nullo; entrambi vengono smussati. Le barre sono contate a partire dalla più vecchia caricata, iniziando da zero:
change[t] = Close[t] − Close[t−1] gain[t] = max(change[t], 0) loss[t] = max(−change[t], 0) Valore iniziale alla barra N: AvgGain[N] = (gain[1] + … + gain[N]) / N AvgLoss[N] = (loss[1] + … + loss[N]) / N Barre successive: AvgGain[t] = (AvgGain[t−1] × (N − 1) + gain[t]) / N AvgLoss[t] = (AvgLoss[t−1] × (N − 1) + loss[t]) / N RSI[t] = 100 − 100 / (1 + AvgGain[t] / AvgLoss[t])
N è il periodo, pari a 14 per impostazione predefinita. Lo smussamento è la media mobile smussata della guida MT5: la media precedente moltiplicata per N − 1, più il nuovo valore, diviso N. La guida RSI di MT5 fornisce la formula finale ma non indica quale media usare; questa pagina specifica quindi quella utilizzata dal codice. Guida MT5: media mobile smussata Guida MT5: RSI Codice
Inizializzazione e periodo iniziale
Le prime medie dei guadagni e delle perdite sono le medie semplici delle prime 14 variazioni, quindi il primo valore RSI richiede 15 chiusure. In questa esportazione si trova sulla barra del 2025-12-04 22:00 ed è pari a 42.78. Le barre precedenti restano vuote e, con 14 barre o meno, l’indicatore non disegna nulla. Codice Valori utilizzati in questa pagina
Il peso del valore iniziale diminuisce, ma non scompare del tutto. Ogni passaggio conserva (N − 1) / N della media precedente, quindi dopo 100 barre il valore iniziale ha ancora un peso di circa 0.06% in ciascuna media. Un RSI che parte da una prima barra diversa o viene inizializzato diversamente mostra pertanto valori inizialmente diversi. A parità di chiusure e smussamento, la differenza tra le medie si riduce di quel fattore a ogni barra. Valori utilizzati in questa pagina
Quando nulla si muove
Se la perdita media è zero, la formula dividerebbe per zero. Il codice restituisce 100 quando il guadagno medio è positivo e 50 quando entrambe le medie sono zero, ossia quando il prezzo non si è mosso affatto. Con guadagno medio nullo e perdita media positiva, la formula stessa dà 0. Codice
I dati reali non hanno mai raggiunto questi casi: nessuno dei 4,986 valori RSI è esattamente 0, 50 o 100. Il test li copre invece con serie sintetiche di prezzi costanti e unidirezionali. Verifica incrociata
Confrontare elementi omogenei. Due linee RSI coincidono solo se coincidono chiusure, periodo, smussamento, valore iniziale e prima barra. Due elenchi di divergenze richiedono anche le stesse regole per i pivot e il loro abbinamento.
Come l’indicatore trova una divergenza
Pivot delle oscillazioni
Una barra è un pivot di massimo quando il suo massimo è strettamente superiore ai massimi delle 5 barre precedenti e non viene superato dai massimi delle 5 barre successive. Un pivot di minimo applica la regola speculare ai minimi:
Pivot di massimo alla barra p: High[p] > High[j] per j = p − L … p − 1
High[p] ≥ High[j] per j = p + 1 … p + R
Pivot di minimo alla barra p: Low[p] < Low[j] per j = p − L … p − 1
Low[p] ≤ Low[j] per j = p + 1 … p + R
L è PivotLeftBars e R è PivotRightBars. L’asimmetria risolve le parità: un massimo uguale a destra non annulla un pivot, mentre uno uguale a sinistra sì; tra due massimi uguali entro il rispettivo raggio, la barra precedente diventa quindi il pivot. Le parità esistono nei dati reali. In questa esportazione 10 pivot di massimo e 4 pivot di minimo avevano un estremo uguale a destra; 14 massimi e 4 minimi sono stati esclusi solo perché un estremo uguale si trovava a sinistra. In totale, l’esportazione contiene 313 pivot di massimo e 311 pivot di minimo. Codice Conteggi
Coppie e verifica della divergenza
Quando viene confermato un nuovo pivot, il codice lo confronta con il precedente dello stesso tipo, e soltanto con quello. La coppia viene verificata quando i due pivot distano tra 5 e 60 barre e sul primo esiste già un valore RSI. Un pivot più vicino impedisce sempre il confronto con uno più vecchio. Codice
Ribassista regolare: High[p2] > High[p1] e RSI[p2] < RSI[p1] Rialzista regolare: Low[p2] < Low[p1] e RSI[p2] > RSI[p1] Ribassista nascosta: High[p2] < High[p1] e RSI[p2] > RSI[p1] Rialzista nascosta: Low[p2] > Low[p1] e RSI[p2] < RSI[p1] Segnalata sulla barra: c = p2 + R
Tutti i confronti sono stretti, quindi prezzi uguali o valori RSI uguali non generano mai una divergenza. Con 5 barre a sinistra e 5 a destra, due pivot dello stesso tipo distano sempre almeno 6 barre; la distanza minima non è dunque vincolante con i valori predefiniti. Regole
Impostazioni
Questi sono i parametri del download. Ogni figura di questa pagina usa i valori predefiniti, che sono punti di partenza illustrativi, non valori ottimizzati.
| Parametro | Valore predefinito | Cosa controlla |
|---|---|---|
RsiPeriod |
14 | Periodo RSI sui prezzi di chiusura con smussamento di Wilder. |
PivotLeftBars |
5 | Barre precedenti al pivot i cui estremi deve superare strettamente. |
PivotRightBars |
5 | Barre chiuse successive al pivot che non devono superarlo. Determinano anche il ritardo di conferma. |
MinPivotDistance |
5 | Numero minimo di barre consentito tra i due pivot di una coppia. |
MaxPivotDistance |
60 | Numero massimo di barre consentito tra i due pivot. La ricerca del pivot precedente si ferma lì. |
ShowHidden |
false | Aggiunge divergenze nascoste come linee puntinate con frecce proprie. |
Il periodo determina il peso di ogni nuova variazione. Lo smussamento di Wilder le assegna un peso di 1/14 con il valore predefinito e di 1/9 o 1/25 con i periodi alternativi citati nella guida MT5; un periodo più breve reagisce quindi di più a ogni barra. PivotRightBars comporta un compromesso tra rapidità e conferma: un valore maggiore non aggiunge mai pivot e ritarda ogni rilevazione delle barre aggiuntive. Guida MT5: RSI Valori utilizzati in questa pagina
Interpretare gli esempi reali
Le figure da 2 a 4 provengono dall’esportazione secondo regole di selezione fisse. Le regole per le figure 2 e 3 ordinano le rilevazioni in base alla differenza RSI tra i pivot e ignorano il successivo andamento del prezzo. La figura 4 seleziona deliberatamente un fallimento. Regole di selezione

Nella figura 2 il secondo massimo supera il primo di 0.00039, mentre l’RSI è inferiore di 18.99 punti. Le due serie sono costruite con prezzi diversi: i pivot usano massimi e minimi, l’RSI usa le chiusure. La barra del secondo massimo ha chiuso a 1.16168, ossia 0.00420 sotto il proprio massimo e 0.00212 sotto la chiusura precedente; l’RSI ha quindi registrato una perdita proprio sulla barra del nuovo massimo. Valori utilizzati in questa pagina

Il secondo minimo della figura 3 è soltanto 0.00009 sotto il primo, ossia 9 punti con il passo di prezzo di 0.00001 del simbolo, mentre l’RSI è superiore di 26.22 punti. La regola non prevede un’ampiezza minima, quindi una differenza così piccola conta come qualsiasi altra. Anche qui la barra del pivot ha chiuso lontano dal proprio estremo: a 1.16176, ossia 0.00355 sopra il minimo e 0.00272 sopra la chiusura precedente. Valori utilizzati in questa pagina
Nessuno dei due esempi è stato scelto per il risultato. Dopo la conferma della figura 2, nessun massimo delle successive 24 barre ha superato il pivot 2. Dopo la conferma della figura 3, il prezzo è sceso sotto il pivot 2 il 2026-05-21 16:00, con un minimo di 1.15757, dopo 18 barre dalla barra di conferma. Registrazioni dei grafici

La rilevazione della figura 4 era corretta secondo le regole: un massimo più alto con RSI inferiore di 17.88 punti. È fallita l’aspettativa di un’inversione. Dopo una discesa fino al minimo di 1.15237 il 2026-04-07 05:00, il prezzo ha raggiunto il massimo più alto. Registrazioni dei grafici Valori utilizzati in questa pagina
Cosa mostra il campione
Con le impostazioni predefinite l’esportazione contiene 73 rilevazioni regolari: 29 ribassiste e 44 rialziste. Attivando ShowHidden si aggiungono 43 rilevazioni ribassiste nascoste e 29 rialziste nascoste, per un totale di 145. Questi conteggi descrivono il campione secondo queste regole. Non sono percentuali di successo e non è stata verificata alcuna prestazione di trading. Conteggi
Una divergenza descrive due oscillazioni già avvenute. Il successivo andamento del prezzo è una questione distinta.
Quando una divergenza diventa nota
Il ritardo di conferma
Un pivot richiede 5 barre chiuse alla sua destra; il rilevatore non può quindi conoscere il pivot 2 finché l’ultima di esse non è chiusa. Il codice colloca la freccia su quella barra di conferma, non sul pivot 2, e la linea tra i due valori RSI appare nello stesso momento. La barra più recente del grafico è considerata ancora in formazione, quindi non conferma mai un pivot. Codice

Ridisegna i segnali?
Una volta registrata, una rilevazione rimane dov’è finché lo storico chiuso non cambia. Il test nativo riproduce tutte le 5,000 barre una alla volta, prima con un tick intermedio modificato sulla barra più recente e poi con i suoi valori finali; a ogni passaggio verifica che le rilevazioni appaiano solo sulla rispettiva barra di conferma e non cambino più. Il valore RSI della barra più recente continua a muoversi a ogni tick, come qualsiasi RSI. Se cambia lo storico dei prezzi, per esempio quando viene scaricato uno storico più profondo, il terminale passa zero come prev_calculated e l’indicatore ricalcola tutto dai nuovi dati. Test nativo Riferimento MQL5: OnCalculate
Un’oscillazione non può essere confermata prima della chiusura delle barre che la definiscono.
Combinazione con altri strumenti
Il rilevatore confronta due oscillazioni con due valori RSI e nient’altro. Qualsiasi aggiunta è una regola distinta, da definire e verificare autonomamente. Questa guida non verifica nessuna delle seguenti aggiunte:
- Livelli di prezzo. La linea puntinata nelle figure da 2 a 5 prolunga il livello del pivot 2. Il grafico mostra se in seguito il prezzo lo supera, e nelle figure da 3 a 5 ciò è avvenuto.
- Livelli RSI. Un filtro, come ammettere rilevazioni rialziste solo sotto 30, costituirebbe un nuovo parametro. Questo download disegna le linee a 30 e 70, ma non le usa come filtro.
- Altre letture RSI. La guida MT5 descrive anche massimi e minimi, formazioni grafiche, oscillazioni fallite e supporti o resistenze sulla stessa linea RSI. Il rilevatore non li ricerca.
- Filtri di tendenza e intervalli temporali superiori. Un filtro di tendenza, come una media mobile, oppure le stesse regole su un intervallo temporale superiore cambierebbero le rilevazioni rimanenti. Questa pagina non misura nessuna delle due possibilità.
Limiti
- Il rilevatore descrive barre passate. Non formula previsioni e non riporta percentuali di successo o risultati di trading.
- Per costruzione, ogni rilevazione arriva 5 barre chiuse dopo il pivot 2.
- Contano anche differenze minime. Nelle 621 coppie valutate, la minima differenza di prezzo era 0.00001, il passo minimo del simbolo, e la minima differenza RSI era 0.05 punti. Prezzi dei pivot esattamente uguali si sono verificati in 1 coppia, che secondo la regola non era una divergenza.
- I pivot usano massimi e minimi, ma l’RSI usa le chiusure. Una barra con un’ombra lunga può stabilire un nuovo estremo e chiudere comunque lontano da esso, come nelle figure 2 e 3.
- Vengono confrontati solo pivot adiacenti, distanti al massimo 60 barre. Una divergenza tra oscillazioni non adiacenti non viene segnalata.
- I valori vicini all’inizio dello storico caricato dipendono dall’inizializzazione e possono differire da altre implementazioni RSI.
- Gli orari seguono l’orologio del server di trading, UTC+3 all’acquisizione; i cambi storici dell’ora legale non sono modellati. I grafici comprimono i fine settimana e altri intervalli vuoti.
- Il file MQL4 non è stato compilato né eseguito in MT4.
Usare l’indicatore
I passaggi seguenti sono per MT5. Il file .mq4 è destinato a MT4 e non vi è stato verificato.
- Scaricare il sorgente .mq5 o il file compilato .ex5 qui sotto.
- Aprire la cartella dati (File › Apri cartella dati in MetaEditor) e copiare il file nella cartella MQL5\Indicators.
- Se si usa il sorgente, aprirlo in MetaEditor e premere F7 per compilarlo. Viene così creato il file .ex5.
- Nella finestra Navigator di MT5, trascinare l’indicatore su un grafico. Si apre in una finestra separata con una scala propria, fissata da 0 a 100.
- Conservare i valori predefiniti per riprodurre questa pagina, oppure modificare i parametri della tabella delle impostazioni al momento dell’applicazione.
Cartella dati Cartella degli indicatori e compilazione Applicazione degli indicatori
Sorgente MQL5
Codice MQL5 nativo modificabile: RSI con linee di divergenza e frecce in una finestra separata. Nessun ordine, avviso, importazione DLL o richiesta web.
MQL5 compilato
Generato da questo sorgente con MetaEditor: 0 errori, 0 avvisi. L’applicazione a un grafico live non è stata verificata.
Sorgente MQL4
La stessa sezione di calcolo con configurazione dei buffer in stile MT4. Solo revisione statica: non compilato né eseguito in MT4.
Cosa è stato verificato
La sezione di calcolo del file MQL5 è stata compilata in un programma di test, rinominando soltanto la funzione d’ingresso, ed eseguita nel tester matematico MT5 sulle stesse 5,000 barre. Un’implementazione di riferimento indipendente delle stesse regole ha elaborato le medesime righe. Le sue medie di Wilder usano una media ponderata esponenzialmente, una diversa forma aritmetica della stessa ricorrenza. Ambito del programma di test Riferimento MQL5: test Media ponderata esponenzialmente
Tutti i 4,986 valori RSI coincidono entro 4.97e-14 punti e 2,139 sono identici a livello di bit. La tolleranza di superamento era 1e-9 punti: ben superiore al rumore atteso in virgola mobile di circa 1e-13 punti e molto più fine delle 2 cifre decimali mostrate dall’indicatore. Tutte le 145 rilevazioni, con ShowHidden attivo, coincidono esattamente per tipo, barra di conferma ed entrambi i pivot. Nessuna decisione era vicina alla tolleranza: la minima differenza RSI in qualsiasi coppia valutata era 0.05 punti. Verifica incrociata Registro di compilazione
Il programma nativo ha superato 41 verifiche su 41, riguardanti periodo iniziale e inizializzazione, prezzi costanti e unidirezionali, massimi e minimi uguali, divergenze con risposta nota, storico insufficiente, tick ripetuto, barra in formazione modificata, barra aggiunta, riproduzione barra per barra e impostazione predefinita di ShowHidden. Lo script di verifica incrociata ha superato 24 confronti su 24. Test nativo Verifica incrociata
Queste verifiche coprono i calcoli e la logica di aggiornamento. Non coprono il disegno su un grafico live, MT4 o i risultati di trading. Ambito del programma di test
Avvertenza sui rischi. Il trading comporta rischi e può causare perdite di denaro. Questo indicatore segnala solo schemi passati di prezzo e RSI: non prevede i prezzi, non inserisce né protegge ordini e non gestisce il rischio. Gli esempi illustrano le regole. Non sono segnali di trading e nulla in questa pagina promette un risultato.
Domande frequenti
Che cos’è una divergenza RSI?
È una discordanza tra due oscillazioni del prezzo e i valori RSI sulle stesse due barre. In una divergenza ribassista regolare, il prezzo forma un massimo più alto mentre l’RSI è inferiore sul secondo massimo. In una divergenza rialzista regolare, il prezzo forma un minimo più basso mentre l’RSI è superiore sul secondo minimo.
Come calcola l’RSI questo download?
Utilizza i prezzi di chiusura e lo smussamento di Wilder con un periodo di 14. Le prime medie dei guadagni e delle perdite sono medie semplici delle prime 14 variazioni di prezzo; successivamente, ogni nuova variazione entra con un peso di 1/14. Un RSI con smussamento diverso dà valori diversi lungo tutta la serie. Con lo stesso smussamento ma un valore iniziale o una prima barra diversi, le differenze sono maggiori all’inizio dello storico e si attenuano in seguito.
Perché una divergenza appare 5 barre dopo l’oscillazione?
Un’oscillazione diventa un pivot solo quando le 5 barre alla sua destra si sono chiuse senza superarla. L’indicatore segnala la divergenza sull’ultima di tali barre e non la sposta indietro sulla barra del pivot; il grafico mostra quindi ciò che l’indicatore poteva sapere in quel momento.
L’indicatore ridisegna i segnali?
Non dopo la conferma, finché lo storico chiuso rimane uguale. Una riproduzione nativa di tutte le 5,000 barre, con un tick intermedio su ogni nuova barra, non ha trovato rilevazioni apparse in anticipo, spostate o cambiate in seguito. Il valore RSI della barra in formazione cambia comunque a ogni tick e una modifica dello storico caricato, come lo scaricamento di dati più vecchi, fa ricalcolare tutto all’indicatore.
Che cosa sono le divergenze nascoste?
Una divergenza ribassista nascosta è un massimo più basso con RSI più alto; una divergenza rialzista nascosta è un minimo più alto con RSI più basso. Sono disattivate per impostazione predefinita. Impostando ShowHidden su true vengono disegnate come linee puntinate con frecce proprie. La verifica incrociata le ha confrontate con l’opzione attiva; il test nativo ha confermato che l’impostazione predefinita non disegna divergenze nascoste e lascia invariate quelle regolari.
Una divergenza significa che il prezzo invertirà la direzione?
Questa pagina non lo dimostra. Descrive un campione secondo regole fisse e le figure 3, 4 e 5 mostrano tutte il prezzo superare la seconda oscillazione dopo la conferma. Non sono stati verificati né tassi di successo né risultati di trading.
Si può usare il file MQL4 in MT4?
Il file .mq4 contiene la stessa sezione di calcolo del file MQL5 verificato, con configurazione dei buffer in stile MT4. È stato soltanto revisionato staticamente: non è stato compilato né eseguito in MT4. Prima dell’uso, compilarlo nel MetaEditor fornito con MT4 e controllare eventuali errori e avvisi nel registro del compilatore.
Fonti e riproducibilità
Guida MT5: indice di forza relativa: intervallo, periodo di Wilder e alternative diffuse, massimi e minimi abituali, divergenze, formula.
Guida MT5: media mobile: formula della media mobile smussata.
Riferimento MQL5: OnCalculate: valore prev_calculated e ricalcolo completo dopo modifiche ai dati di prezzo.
Riferimento MQL5: copy_rates_from_pos: posizioni delle barre per l’esportazione; la posizione zero è la barra corrente, omessa dall’esportazione.
Riferimento MQL5: test: modalità di calcolo matematico usata per il test nativo.
Documentazione della libreria di riferimento: media ponderata esponenzialmente: ricorrenza adjust=False usata dalla verifica indipendente.
Guida MetaEditor: struttura della piattaforma: cartella dati e cartelle degli indicatori.
Guida MT5: trading algoritmico: cartella MQL5\Indicators e compilazione con F7.
Guida MT5: indicatori tecnici: applicazione di un indicatore da Navigator e finestre separate degli indicatori.
Valori utilizzati in questa pagina e nei grafici · Barre esportate · Provenienza dell’esportazione · RSI e pivot di riferimento · Rilevazioni di riferimento · Buffer MQL5 nativi · Rilevazioni MQL5 native · Verifica incrociata · Esecuzione del test nativo · Registro di compilazione · Registro del compilatore · Specifica
I grafici comprimono i fine settimana e gli altri intervalli tra le barre. Gli orari sono quelli dell’orologio del server di trading del terminale, come esportati. Gli esempi sono fissi per consentirne la riproduzione e non costituiscono un commento di mercato in tempo reale.
I prodotti a leva possono causare rapide perdite di denaro. In Italia i CFD destinati ai clienti al dettaglio sono soggetti a restrizioni.




