← Torna al blog
Indicatori

Creare un indicatore di divergenze con l'AI in MQL4: dal prompt al codice funzionante

Indicatore di divergenze stocastico creato con AI in MQL4

Le divergenze sono uno di quei segnali che molti trader conoscono, ma che diventano molto piu' interessanti quando riesci a trasformarle in qualcosa di misurabile, programmabile e riutilizzabile dentro un trading system.

Nel video da cui nasce questa guida ho creato un indicatore MQL4 per MetaTrader 4 che mostra lo stocastico e segnala le divergenze direttamente nella finestra dell'oscillatore. Non e' stato un processo perfetto al primo tentativo, ed e' proprio questo il punto piu' utile: vedere come si passa da un'idea a un indicatore funzionante, correggendo warning, bug, logiche troppo rigide e mancanza di buffer.

L'obiettivo non era dimostrare che l'AI crea indicatori magici. L'obiettivo era molto piu' concreto: usare l'AI come assistente tecnico per accelerare la programmazione, mantenendo pero' controllo logico su cio' che viene costruito.

Perche' partire dalle divergenze

Una divergenza nasce quando il prezzo e un oscillatore non stanno dicendo la stessa cosa. Se il prezzo crea un massimo piu' alto, ma l'oscillatore crea un massimo piu' basso, abbiamo una divergenza ribassista regolare. Se invece il prezzo crea un minimo piu' basso, ma l'oscillatore crea un minimo piu' alto, abbiamo una divergenza rialzista regolare.

Il concetto e' semplice, ma tradurlo in codice non e' banale. Un conto e' guardare il grafico e dire "qui c'e' una divergenza"; un altro conto e' spiegare a un algoritmo come identificare swing significativi, confrontare prezzo e oscillatore, evitare falsi segnali e disegnare frecce e linee in modo coerente.

Esistono anche le divergenze nascoste. In quel caso il segnale non indica necessariamente un'inversione, ma una possibile continuazione del trend. Per esempio, in un trend rialzista puoi avere minimi crescenti sul prezzo e minimi decrescenti sull'oscillatore: una divergenza nascosta rialzista. In un trend ribassista il ragionamento e' speculare.

Proprio per questo le divergenze non vanno prese come segnali isolati da usare alla cieca. Hanno bisogno di contesto: trend, volatilita', orari, filtri, regime di mercato. Un indicatore puo' aiutarti a individuare il segnale, ma non decide da solo se quel segnale ha senso.

Il prompt conta piu' di quanto sembri

Nel video ho usato un prompt specifico per chiedere all'AI di creare un indicatore personalizzato in MQL4. La richiesta non era generica: non ho scritto semplicemente "fammi un indicatore di divergenze". Ho definito piattaforma, linguaggio, struttura dell'indicatore, logica delle divergenze, parametri configurabili, output grafico e requisiti tecnici.

Questo e' un punto fondamentale. Se lasci troppo spazio all'AI, l'AI riempie i vuoti. A volte lo fa bene, a volte no. Puo' usare una logica di swing troppo severa, disegnare segnali dove non servono, dimenticare i buffer, mescolare concetti o produrre codice che compila ma non si comporta come previsto.

Nel prompt ho chiesto un indicatore separato, con lo stocastico classico, parametri configurabili, linee main e signal, divergenze regolari e nascoste, frecce, linee grafiche, alert opzionali e compatibilita' con MetaTrader 4. Ho anche specificato che il codice doveva essere adatto a MQL4, senza repaint e con uso dei buffer quando necessario.

Scarica il prompt usato nel video

Ho inserito nell'area risorse il prompt per generare l'indicatore di divergenze mostrato nel video, cosi' puoi studiarlo, modificarlo e usarlo come base per i tuoi test.

Vai al download gratuito

La parte interessante e' che il prompt non deve essere lunghissimo per forza. Deve essere chiaro. Deve dire cosa vuoi, su quale piattaforma, con quali vincoli e con quali controlli. La lunghezza non sostituisce la precisione.

Dal codice generato alla compilazione

Dopo aver inviato il prompt, l'AI ha iniziato a generare il codice dell'indicatore. Il primo controllo e' stato semplice: aprire il file in MetaEditor e compilare.

Il codice compilava, ma c'erano dei warning. Questa e' una situazione molto comune. Un warning non blocca la compilazione, ma ti sta dicendo che qualcosa potrebbe non essere pulito. Nel caso del video, c'era un conflitto tra variabili con lo stesso nome. Non era necessariamente un errore grave, ma perche' lasciarlo li'?

Qui entra in gioco un modo intelligente di usare l'AI: non ignorare l'errore e non fare finta che vada tutto bene. Copi il warning, lo dai all'AI e chiedi di sistemarlo. Questo passaggio e' semplice, ma cambia la qualita' del lavoro. Non stai solo chiedendo codice: stai iterando, controllando, correggendo.

Dopo la correzione, il codice non aveva piu' warning. Ma questo non significava ancora che l'indicatore funzionasse.

Il codice compila, ma sul grafico non succede nulla

Una delle parti piu' importanti del video e' proprio questa: il codice era tecnicamente compilabile, ma quando l'indicatore e' stato inserito sul grafico non mostrava i segnali attesi.

Questo succede spesso. Un file che compila non e' automaticamente un file utile. Un indicatore puo' compilare e comunque non disegnare nulla, disegnare segnali sbagliati o non rispettare la logica che avevi in mente.

Nel caso dell'indicatore di divergenze, le opzioni per attivare divergenze regolari e nascoste erano su true, quindi i segnali avrebbero dovuto comparire. Visivamente sul grafico alcune divergenze c'erano, ma l'indicatore non le segnalava. A quel punto non aveva senso guardare il codice con fiducia cieca. Bisognava tornare all'AI con un feedback preciso.

Ho quindi spiegato che, anche con le divergenze attive, non si vedevano segnali sul grafico. L'AI ha modificato la logica, sostenendo che il problema fosse nella ricerca degli swing precedenti. Dopo una prima correzione non era cambiato quasi nulla. Quindi e' servita una seconda iterazione.

Questa e' la parte che molti saltano quando raccontano l'AI nel trading: il processo reale non e' "prompt, codice, successo". Il processo reale e' prompt, codice, compilazione, test visivo, problema, feedback, nuova versione, nuovo test.

Usare il cervello resta obbligatorio

A un certo punto e' emerso un comportamento interessante: cambiando il valore di una variabile di lookback, i segnali comparivano con valori bassi ma sparivano con valori piu' alti. L'AI inizialmente suggeriva valori ampi, come 40 o 80 barre, ma sul grafico quei valori non funzionavano.

Questo e' un esempio perfetto di come bisogna lavorare con l'AI. Non devi accettare ogni risposta solo perche' arriva da un modello avanzato. Devi osservare, provare, contrastare quando qualcosa non torna.

Nel video, provando valori diversi, si e' capito che il problema non era solo "scegliere il valore giusto". C'era un bug nel calcolo degli indici: il terminale segnalava un errore di tipo array out of range. In pratica, il codice cercava di accedere a una posizione dell'array non disponibile. Questo provocava malfunzionamenti dell'indicatore.

Una volta individuato il problema, l'AI ha corretto la gestione degli indici e finalmente l'indicatore ha iniziato a mostrare le frecce. Questa e' una lezione importante: anche se non sei un programmatore esperto, devi imparare almeno a leggere i segnali del processo. Compilazione, warning, errori del terminale, comportamento sul grafico: sono tutti indizi.

Segnali corretti non significa strategia pronta

Quando le frecce hanno iniziato a comparire, l'indicatore sembrava finalmente fare il suo lavoro. Le divergenze erano visibili e molte erano corrette. Pero' c'era un altro problema: i segnali erano tanti.

Questo non e' necessariamente un errore del codice. Se attivi sia divergenze regolari sia divergenze nascoste, e se il criterio di swing e' permissivo, e' normale avere molti segnali. Il problema diventa operativo: quali segnali hanno davvero senso? Quali sono rumore? Quali avvengono in un contesto di mercato favorevole?

Nel video si vede bene una cosa: durante fasi laterali o notturne, il grafico puo' produrre molti segnali poco utili. In un trend ribassista pulito, invece, alcune divergenze sui massimi possono diventare molto piu' interessanti. Questo non significa che siano automaticamente profittevoli. Significa che il segnale va contestualizzato.

Un indicatore di divergenze puo' essere una buona base per un ingresso, ma ha bisogno di filtri. Una media mobile, un filtro di trend, un filtro di volatilita', un filtro orario, uno spread massimo: sono tutti elementi che possono cambiare completamente la qualita' del segnale.

Il lavoro serio inizia dopo l'indicatore: prendere quei segnali, trasformarli in regole operative e testarli dentro un Expert Advisor.

Perche' i buffer sono fondamentali

Alla fine del video ho chiesto all'AI una modifica molto importante: aggiungere buffer separati per i segnali di divergenza.

Perche' sono importanti? Perche' se vuoi usare questo indicatore dentro un Expert Advisor, non ti basta vedere una freccia sul grafico. Devi poter leggere quel segnale dal codice. In MQL4 questo avviene spesso tramite iCustom, andando a recuperare i valori dei buffer dell'indicatore.

Se l'indicatore disegna solo oggetti grafici, puo' essere utile visivamente ma molto meno pratico per un sistema automatico. Se invece espone buffer separati, puoi distinguere divergenza regolare rialzista, divergenza regolare ribassista, divergenza nascosta rialzista e divergenza nascosta ribassista.

Nel video l'AI aveva inizialmente inserito buffer per lo stocastico, ma non per i segnali di divergenza. Questo e' un dettaglio tecnico che fa una grande differenza. Dopo la richiesta specifica, i buffer sono stati aggiunti e verificati nella finestra dati di MetaTrader.

Quando passavi sopra una freccia, il valore corrispondente compariva nel buffer. Questo significa che il segnale diventava estraibile e quindi utilizzabile in un futuro Expert Advisor.

Cosa imparare da questo processo

La lezione principale non e' "usa questo indicatore e fai trading". La lezione e': puoi usare l'AI per creare strumenti tecnici complessi molto piu' velocemente, ma devi guidarla con metodo.

Prima serve una logica chiara. Poi serve un prompt specifico. Poi serve compilare. Poi serve verificare sul grafico. Poi serve correggere warning, bug, segnali mancanti, parametri sbagliati e buffer assenti. Solo alla fine puoi iniziare a chiederti se quel segnale puo' diventare parte di una strategia.

Questa distinzione e' fondamentale. L'AI puo' aiutarti a costruire un indicatore. Puo' aiutarti a generare codice. Puo' aiutarti a correggere errori. Ma non sa se una divergenza e' profittevole. Non sa quali filtri funzioneranno meglio sul tuo mercato. Non sa se il backtest sara' robusto. Quello va misurato.

Nel trading automatico, l'AI non sostituisce il processo. Lo accelera.

Come usare questo indicatore in modo sensato

Se vuoi usare un indicatore di divergenze come base per un sistema, il primo passo non e' aprire operazioni appena compare una freccia. Il primo passo e' capire quando quel segnale ha piu' senso.

Puoi iniziare con alcune domande:

  • le divergenze funzionano meglio in trend o in laterale?
  • conviene usare solo divergenze regolari, solo nascoste o entrambe?
  • ha senso filtrare con una media mobile?
  • i segnali fuori dalle zone estreme dello stocastico sono utili o generano rumore?
  • certi orari producono troppi falsi segnali?
  • il segnale va confermato dalla candela successiva?
  • lo stop loss deve essere tecnico, fisso o basato su volatilita'?
  • l'uscita deve essere su target, trailing, segnale opposto o tempo?

Queste domande trasformano un indicatore in materiale di ricerca. Ed e' qui che il trading automatico diventa interessante: non guardi piu' un segnale a occhio, ma costruisci un ambiente per testarlo.

Il prompt gratuito collegato al video ti puo' aiutare a capire come impostare una richiesta piu' precisa all'AI. Non usarlo come formula magica. Usalo come base da studiare, modificare e migliorare in funzione della tua idea.

Conclusione

Creare un indicatore di divergenze con l'AI oggi e' molto piu' accessibile rispetto a qualche anno fa. Ma accessibile non significa automatico nel senso ingenuo del termine.

Nel video il codice non e' uscito perfetto al primo colpo. Ci sono stati warning, segnali che non comparivano, problemi di lookback, errori di array, modifiche grafiche, buffer da aggiungere e controlli da fare. Questo e' esattamente il processo reale.

Ed e' anche il motivo per cui l'AI e' utile: non perche' ti evita di pensare, ma perche' ti permette di iterare piu' velocemente. Quello che prima poteva richiedere giorni di programmazione manuale puo' diventare un lavoro molto piu' rapido, a patto di sapere cosa chiedere e cosa controllare.

Se vuoi costruire trading system con l'AI, parti da qui: idea chiara, prompt chiaro, codice controllabile, segnali verificabili e backtest ragionato.

Il resto viene dopo.