Guarda come scaricare robot di trading gratuitamente
Ci trovi su Facebook!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Indicatori

Any Indicator Alert - alerts, push notifications and multi-timeframe for any custom indicator, no source code needed - indicatore per MetaTrader 5

Ayaz
Ayaz
  • MQL5 Developer / Algorithmic Trading al  Freelance
  • Pakistan
  • 1349
4.6 (5)
MQL5 developer working on automated trading systems — Expert Advisors, custom indicators, and TradingView-to-MT5 conversions.
| Italian English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Türkçe
Visualizzazioni:
31
Valutazioni:
(2)
Pubblicato:
Freelance MQL5 Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

Due delle discussioni più seguite su questo forum sono “Indicatori con avvisi/segnali” e “Indicatori multi-timeframe”. Sono ancora aperte dopo anni perché la risposta è sempre stata la stessa: procurati il codice sorgente, modificalo, ricompilalo. Questo però non è d’aiuto se si dispone di un file .ex5 ma non del codice sorgente, e non è praticabile se si utilizzano diversi indicatori.

Questo strumento risolve il problema dall’esterno. iCustom è in grado di caricare qualsiasi indicatore in base al nome e di leggerne i buffer senza bisogno del codice sorgente, quindi un unico strumento può gestirli tutti.

Inizia in modalità EXPLORE

Il motivo per cui le persone evitano iCustom è che richiede un numero di buffer, e nulla indica quale numero contenga ciò che si vede sul grafico. Pertanto, la modalità predefinita risponde innanzitutto a questa esigenza. Esamina i buffer, conta cosa c'è in ciascuno di essi e li visualizza accanto alle ultime barre.

Un buffer con un valore su quasi tutte le barre rappresenta una linea, quindi usa una croce di livello o una croce rispetto a un secondo buffer. Un buffer vuoto, tranne dove l’indicatore ha tracciato qualcosa, rappresenta il segnale, quindi usa “appare un valore”. Leggi il numero dalla tabella, passa alla modalità WATCH e scegli un trigger.

Esempio di ciò che visualizza EXPLORE

Si tratta di un'esecuzione reale su un grafico XAUUSDm H1 in tempo reale, con monitoraggio dell’RSI standard. Ogni buffer dell’indicatore è elencato indicando quante delle barre campionate contengono un valore reale, quante sono esattamente pari a zero e quante sono vuote, seguito dai valori stessi barra per barra.

Buffers found: 3   (checked up to 16, on XAUUSDm PERIOD_H1)
------------------------------------------------------------------
  buffer  values  zeros  blank  what it looks like                     range of the values
       0      12      0      0  a line - a value on almost every bar   31.47608 .. 55.28984
       1      12      0      0  a line - a value on almost every bar   4.11585 .. 6.11288
       2      12      0      0  a line - a value on almost every bar   3.86003 .. 8.96028
------------------------------------------------------------------
  bar  time               buf0         buf1         buf2
    0  2026.09.04 20:00     45.61107     5.40493     6.44511
    1  2026.09.04 19:00     46.88624     5.82069     6.59381
    2  2026.09.04 18:00     43.33095     5.42967     7.10102
    3  2026.09.04 17:00     40.80179     5.27080     7.64725
------------------------------------------------------------------
Read it like this: the buffer that is empty on most bars and carries a value
only where the indicator drew its signal is the one to watch. Put its number
in 'Buffer to watch', set Mode to WATCH, and pick a trigger.
A buffer that has a value on every bar is a line - use a level or buffer cross.
Modalità EXPLORE nella scheda "Esperti": tutti i buffer di Examples\RSI su XAUUSDm H1 e cosa contiene ciascuno di essi

Qui tutti e tre i buffer sono linee, proprio come l’RSI. Su un indicatore a freccia o di segnale la tabella appare diversa, ed è proprio questa differenza il punto fondamentale:

  buffer  values  zeros  blank  what it looks like                     range of the values
       0       0      0      8  nothing here on these bars             -
      11       8      0      0  a line - a value on almost every bar   16.08798 .. 16.25192
      14       7      1      0  sparse - looks like a signal           4166.06000 .. 4166.06000

Il buffer 14 è quello da tenere d’occhio in questo caso. È vuoto sulla maggior parte delle barre e contiene un prezzo solo dove l’indicatore ha segnalato qualcosa, quindi “la comparsa di un valore” ne costituisce il trigger. Il buffer 11 è una linea interna e il buffer 0 non contiene assolutamente nulla su queste barre.

I valori in ritardo e i repaint non sono la stessa cosa, quindi vengono conteggiati separatamente

Il valore di ogni barra chiusa viene conservato e riletto su ogni nuova barra. Quando una barra chiusa è cambiata, ci sono due ragioni ben distinte per cui ciò avviene.

Un valore in ritardo. La barra era vuota e ora contiene un valore. L’indicatore aveva bisogno delle barre successive prima di poter contrassegnare questa. I frattali funzionano così per come sono progettati, e lo stesso vale per la maggior parte degli indicatori di swing e di struttura. Non si tratta di un inganno, ma significa che il segnale non è mai stato visibile sulla barra a cui si riferisce, e questo è importante se si valuta una strategia a occhio.

Un «repaint». Un valore che era presente si è spostato o è scomparso. Qualcosa su cui avresti potuto agire non c’è più.

Entrambi vengono segnalati con l’ora della barra, il valore precedente e quello nuovo, e il commento sul grafico tiene un conteggio progressivo di ciascuno. Non si deduce nulla dalla barra in formazione, poiché è normale che la barra in formazione cambi.

Tale distinzione è stata verificata piuttosto che affermata. Sul grafico XAUUSD H1, 299 barre, dal 1° al 20 agosto 2026, osservando il buffer 0 di ciascun indicatore:

Indicatore monitorato Valori in ritardo Ripercorsioni
Esempi\Frattali: contrassegnano una barra due barre dopo la sua chiusura 40 0
Esempi\ZigZag, ridisegna l'ultimo tratto come previsto 0 83, ogni valore è scomparso
Esempi\RSI, calcolato una volta chiusa la barra 0 0

Quindi si parla di "ritardo" per un indicatore che presenta un ritardo, di "ripaint" per uno che si aggiorna, e non si dice nulla di uno che non presenta né l'uno né l'altro. Nella stessa sessione, il trigger di livello si è attivato due volte quando l'RSI è sceso sotto 30, a 28,38 e 29,21; la linea principale del MACD ha incrociato la linea di segnale nove volte al di sopra e nove volte al di sotto; e l’RSI letto dall’H4 su un grafico H1 ha generato un avviso per ogni barra H4, per un totale di 77, ciascuno contrassegnato con PERIOD_H4. È stato inoltre testato con un indicatore di terze parti, Smart Money Concepts, da 157 KB, dove ha individuato 16 buffer e ha separato tre linee interne da due buffer di segnale sparsi.

Trigger

Un valore appare su una barra, sia sulla barra appena chiusa sia, nel caso di un indicatore ritardato, su una barra precedente che è stata contrassegnata solo ora; un incrocio al di sopra o al di sotto di un livello; l’incrocio di un buffer con un altro in entrambe le direzioni; o semplicemente la variazione del valore. Gli avvisi vengono visualizzati tramite un popup, un suono, una notifica push o un’e-mail, uno per ogni barra. Per impostazione predefinita vengono valutate solo le barre chiuse. Disattivando questa opzione, la barra in formazione viene valutata ad ogni tick, il che genera avvisi più tempestivi e può comportare un’inversione di tendenza, ma in entrambi i casi rimane un solo avviso per barra.

Un timeframe superiore

Impostando "Leggi su questo timeframe", l’indicatore monitorato viene caricato su quel timeframe anziché su quello del grafico. Le barre, i trigger e il controllo del repaint si adeguano a esso.

Due esempi pratici

Esempio 1 - segnalami quando l’RSI supera il valore 70. Conosci già questo indicatore, quindi la funzione “ESPLORA” serve solo a verificare il funzionamento.

Dati di input Valore
File dell'indicatore Esempi\RSI
I suoi input 14
Leggilo su questo timeframe Intervallo di tempo corrente
Modalità OSSERVA
Buffer da tenere d'occhio 0
Trigger il buffer supera il livello
Livello 70
Avviso a comparsa vero

Sui dati di test che hanno generato quattro avvisi, rispettivamente a 75,04, 76,31, 70,38 e 74,83. Per ottenere lo stesso risultato dal grafico a quattro ore mentre si utilizza quello a un'ora, impostare "Leggi su questo intervallo di tempo" su H4 e non modificare nient'altro.

Esempio 2: un indicatore a freccia che hai scaricato e di cui non conosci la fonte. In questo caso è EXPLORE a svolgere il lavoro vero e proprio.

  1. Allegalo con la modalità impostata su EXPLORE e il campo “File indicatore” impostato sul nome di quell’indicatore. Lascia vuoto il campo “I suoi input” per utilizzare i valori predefiniti dell’indicatore stesso.
  2. Apri la Casella degli strumenti, scheda Esperti, e individua il buffer che è "sparso" – vuoto sulla maggior parte delle barre, con un valore in cui è visibile una freccia sul grafico. Supponiamo che sia il buffer 2.
  3. Collegatelo nuovamente con la Modalità impostata su WATCH, il Buffer da monitorare 2, il Trigger "compare un valore" e la Notifica push attivata.
  4. Se EXPLORE ha visualizzato la nota relativa a un buffer composto prevalentemente da zeri esatti, attiva l’opzione “Questo indicatore scrive 0 dove non ha significato” e rileggi la tabella prima di effettuare la scelta.

Cosa fa ciascun parametro

Input Cosa fa
File dell'indicatore Percorso nella cartella MQL5\Indicators, senza estensione. Una barra rovesciata, ad esempio Examples\RSI o MyFolder\MyArrows. È vuoto di proposito – non esiste un indicatore che ogni terminale abbia sicuramente – e non succede nulla finché non lo si compila.
I suoi input I parametri propri dell’indicatore monitorato, separati da virgole, nell’ordine in cui sono dichiarati. Se un campo è vuoto, vengono utilizzati i valori predefiniti. I numeri interi vengono passati come int, i numeri con il punto decimale come double, true e false come bool, tutto il resto come testo. Il log riporta le decisioni prese, in modo da poterle verificare.
Leggi su questo timeframe Carica l’indicatore monitorato su questo timeframe anziché su quello del grafico. Per “timeframe corrente” si intende quello del grafico stesso.
Questo indicatore scrive 0 dove significa "nulla" Considera uno 0 esatto come vuoto. Necessario per indicatori come ZigZag. EXPLORE ti indica quando vale la pena attivarlo.
Modalità EXPLORE elenca i buffer e non genera alcun avviso. WATCH invia un avviso sul buffer che hai scelto.
Quanti buffer sondare EXPLORE si ferma qui. Aumenta il valore se la nota indica che è stato raggiunto il limite.
Quante battute recenti visualizzare Quante battute EXPLORE mostra e conta.
Buffer da monitorare Il numero del buffer che hai letto dalla tabella di EXPLORE.
Secondo buffer Utilizzato solo dai due trigger di incrocio tra buffer.
Trigger Appare un valore, si verifica un incrocio al di sopra o al di sotto del Livello, il buffer A attraversa il buffer B in entrambe le direzioni, oppure il valore cambia semplicemente.
Livello Utilizzato solo dai due trigger di superamento del livello.
Valuta solo le barre chiuse Attivo per impostazione predefinita: viene effettuata una valutazione quando una barra si chiude e non può essere annullata. Disattivato significa che la barra in formazione viene valutata ad ogni tick, il che avvisa prima ma può annullare se stessa.
Popup, suono, notifica push, e-mail Modalità di notifica. Qualsiasi combinazione. Per la notifica via push è necessario impostare il proprio ID MetaQuotes in Strumenti, Opzioni, Notifiche.
Rileggi le barre chiuse e segnala le modifiche Attiva la segnalazione dei valori in ritardo e del ridisegno.
Quante barre chiuse continuare a monitorare Fino a quando indietro nel tempo si estende il controllo. Una variazione risalente a un periodo precedente a questo non viene rilevata.
Ignora le variazioni inferiori a questo valore Lasciare il valore a 0 per rilevare ogni variazione. Aumentarlo se un indicatore presenta fluttuazioni nell’ultima cifra decimale.

Tre aspetti che spesso creano confusione e che vengono gestiti

Alcuni indicatori scrivono un semplice 0 per indicare "nulla qui" invece di EMPTY_VALUE. ZigZag è uno di questi. A una lettura superficiale, un buffer di questo tipo appare come una linea continua di zeri. Esiste un parametro dedicato a questo, ed EXPLORE visualizza un avviso quando un buffer è composto prevalentemente da zeri esatti con pochi valori reali, in modo che tu possa decidere. Si evita deliberatamente di fare supposizioni: un oscillatore che si trova effettivamente a zero appare identico dall’esterno.

Una barra che l’indicatore non ha ancora scritto viene interpretata come esattamente 0,0. Questo è ciò che il terminale inserisce in un buffer appena generato, e un indicatore in ritardo lascia intenzionalmente le sue barre più recenti in questo stato finché non dispone delle barre successive di cui ha bisogno. Fractals non modifica mai le sue ultime tre barre. A una lettura superficiale, ognuna di quelle barre in seguito “cambia”, e la prima versione di questo strumento segnalava trecento repaint su un indicatore che non ne ha alcuno. Una barra che passa da quello 0,0 a vuoto viene ora trattata come inizializzazione, e da 0,0 a un valore come un arrivo in ritardo.

Il gruppo di input occupa uno slot per i parametri posizionali. Se si chiama questo indicatore dal proprio codice con iCustom o IndicatorCreate, le sei etichette di gruppo devono essere conteggiate insieme agli input reali, come stringhe, altrimenti l’handle fallisce con l’errore 4002. Questo dato è stato misurato, non ipotizzato. Il buffer 0 contiene il valore del buffer monitorato, quindi il vostro EA può leggerlo invece di ripetere il codice di collegamento; ciò è stato verificato confrontandolo con l’RSI monitorato su 299 barre su 299.

Se l’indicatore che hai specificato non può essere caricato — a causa di un errore di digitazione o di un file non ancora compilato — l’indicatore non si disattiva. Lo segnala sul grafico e nel log degli Expert, e continua a riprovare ogni pochi secondi, quindi è sufficiente correggere il nome.

Cosa non fa

Non legge i buffer degli indicatori. Un indicatore che disegna solo con oggetti del grafico non espone alcun buffer, e quindi non c’è nulla che questo strumento possa leggere. Nulla al di fuori dell’indicatore può modificare questa situazione.

"Nessun repaint rilevato su 200 barre" è un'osservazione relativa a quelle barre, non una garanzia su ogni barra che si formerà in futuro. È un'evidenza, e migliore rispetto a quanto dichiarato dalla maggior parte degli indicatori, ma non è una prova. Il controllo riguarda il numero di barre chiuse che hai impostato in “Quante barre chiuse continuare a monitorare”; un cambiamento avvenuto prima di quel punto non viene rilevato.

Non può dirti cosa significhi un buffer. Ti mostrerà che il buffer 3 mantiene il valore 1,0 su quattordici barre; spetta a te decidere se si tratti di un segnale di acquisto.

Un indicatore che segnala un valore esattamente pari a 0,0 non attiverà il messaggio “appare un valore”, poiché si tratta della lettura di una barra non ancora tracciata. I buffer di segnale riportano un prezzo o un flag, mai 0,0; quindi, in pratica, ciò non comporta alcun costo, ma è una regola e dovresti conoscerla.

Il buffer 0 rispecchia il buffer monitorato solo quando il timeframe monitorato è quello stesso del grafico. Mappare un timeframe superiore su ogni barra del grafico è un’operazione diversa e non viene effettuata.

I canali di avviso stessi — popup, suono, notifiche push ed e-mail — richiedono una chiamata ciascuno e non sono stati utilizzati nello Strategy Tester, che non li genera. Tutto ciò che lo strumento decide prima di quella chiamata è stato eseguito.

Come installarlo

  1. Copiare AnyIndicatorAlert.mq5 nella cartella MQL5\Indicators all’interno della cartella dati del proprio terminale. In MetaTrader, si può accedere a tale cartella selezionando File > Apri cartella dati.
  2. Aprilo in MetaEditor e premi F7. Dovrebbe segnalare 0 errori e 0 avvisi.
  3. Tornando al terminale, premi Ctrl+N per aprire il Navigatore, seleziona Indicatori e trascina AnyIndicatorAlert su un grafico. Se non è presente nell’elenco, fai clic con il tasto destro del mouse nel Navigatore e seleziona Aggiorna.
  4. Compila il campo "File indicatore" (inizialmente vuoto), lascia la Modalità su EXPLORE e premi OK. Examples\RSI è quello da provare per primo.
  5. Premere Ctrl+T per aprire la Casella degli strumenti e selezionare la scheda Expert. La tabella del buffer si trova lì.

Scritto e verificato su MetaTrader 5 build 6140. Non emette ordini e non modifica nulla.

Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/77003

SuperTrend TV EA SuperTrend TV EA

Un Expert Advisor che opera sull'indicatore SuperTrend TV tramite iCustom esclusivamente sulle barre chiuse, fornito con un report di verifica che dimostra che ogni operazione corrisponde a un segnale e che nessun segnale è stato tralasciato

ATS Trade Management Library - break-even, trailing stop and partial closes for any EA ATS Trade Management Library - break-even, trailing stop and partial closes for any EA

Look after open positions in an Expert Advisor: break-even, trailing stop, two partial closes, and a stop and target for positions that have none. It never opens a trade.

CajasTF – Integrated Multi-Timeframe Side Panel for MT5 CajasTF – Integrated Multi-Timeframe Side Panel for MT5

Real-time multi-timeframe side panel mini-chart with smart color matching, independent price scale, and candle countdown timer.

Session Levels - Asian range, PDH/PDL, VWAP, swings and round numbers Session Levels - Asian range, PDH/PDL, VWAP, swings and round numbers

Session Levels draws the reference levels intraday traders watch most: Asian range, London and New York sessions, previous day and week high/low, daily VWAP, swing points and round numbers. Hover any level to read what it is and why it matters. Optional alerts when price breaks the Asian range or the previous day high/low.