← Torna al blog
Prompt

Prompt per Expert Advisor MQL4/MQL5: come strutturare la richiesta all'AI

Prompt per Expert Advisor MQL4 e MQL5

Chiedere all'AI di creare un Expert Advisor può sembrare semplice. Scrivi due righe, premi invio e dopo pochi secondi ti ritrovi davanti una massa di codice. Il problema è che quel codice può sembrare plausibile e, allo stesso tempo, non rappresentare davvero la strategia che avevi in mente.

Il prompt non serve solo a "farsi scrivere un EA". Serve prima di tutto a chiarire la logica. Se la richiesta è vaga, l'AI riempirà i vuoti come può: a volte inventando, a volte facendo assunzioni non dette, a volte mescolando sintassi e approcci che in MetaTrader creano più confusione che valore.

Il problema non è solo il codice

Il problema nasce prima del codice. Oggi l'AI può aiutare a scrivere molto più velocemente rispetto al passato, ma un Expert Advisor non nasce da una funzione OnTick(): nasce da una logica operativa definita bene.

Prendi questo prompt debole:

Crea un EA che compra sui breakout e vende quando il mercato scende.

A prima vista sembra chiaro. In realtà manca quasi tutto. Quale mercato? Quale timeframe? Che cosa significa esattamente "breakout"? Il massimo delle ultime 20 candele? La rottura di una sessione? Una chiusura sopra un livello o basta un semplice superamento intrabar?

Poi c'è la direzione operativa. L'EA deve lavorare solo long, solo short o in entrambe le direzioni? "Vende quando il mercato scende" significa aprire short o chiudere un long? E lo stop loss? Il rischio per trade? La gestione delle posizioni già aperte? La piattaforma: MQL4 o MQL5?

Se queste cose non vengono chiarite, l'AI può anche produrre codice che compila, ma il risultato sarà fragile.

Un prompt migliore non rende profittevole una strategia debole, ma riduce confusione e ambiguità. E questa è già una parte importante del lavoro.

Prima di chiedere codice, chiarisci cosa vuoi testare

La prima domanda non è: "mi scrivi un EA?". La prima domanda è: "la logica è abbastanza chiara da essere programmata e testata?".

Prima di arrivare al codice, dovresti sapere almeno cosa vuoi osservare. Stai testando un breakout? Una mean reversion? Un filtro orario? Una condizione di volatilità? Una gestione del rischio diversa? Se non sai cosa stai cercando di verificare, il backtest diventa solo un grafico da guardare, non uno strumento di lavoro.

Un buon prompt ti costringe a mettere ordine. Ti obbliga a scegliere mercato, timeframe, direzione, regole di ingresso, regole di uscita, stop, rischio, filtri e gestione posizioni. Non è burocrazia: è il modo più rapido per capire se l'idea è abbastanza concreta da meritare un primo test.

Per questo ho creato il Prompt Creator: non per dire se una strategia è buona, ma per aiutarti a scrivere una richiesta più ordinata prima di arrivare al codice.

Scegli subito MQL4 o MQL5

MQL4 e MQL5 non sono intercambiabili. Entrambi servono a sviluppare Expert Advisor per MetaTrader, ma il modo in cui gestiscono ordini, posizioni e operazioni non è lo stesso.

In MQL4 lavori con funzioni e logiche tipiche di MetaTrader 4, come OrderSend(), OrderModify(), OrderClose() e una gestione degli ordini in stile MT4. In MQL5 il modello è diverso: spesso si usa CTrade, si ragiona su posizioni, ordini e deal, e la struttura tecnica cambia.

Dire semplicemente "crea un EA per MetaTrader" non basta. È una richiesta troppo generica. Se lavori in MT4, chiedi esplicitamente codice compatibile con MQL4. Se lavori in MT5, chiedi esplicitamente codice compatibile con MQL5.

Questo riduce un problema molto comune: codice ibrido, dove l'AI mescola funzioni MQL4 dentro un progetto MQL5, o viceversa. Magari il codice sembra ragionevole a colpo d'occhio, ma poi non compila, oppure compila solo dopo correzioni pesanti.

  • MQL4: OrderSend, OrderModify, OrderClose, gestione ordini in stile MT4.
  • MQL5: CTrade, gestione posizioni, ordini e deal secondo il modello MT5.
  • Evita prompt generici tipo: crea un EA per MetaTrader.

Cosa deve contenere un prompt serio

Un prompt serio non deve essere lungo per forza. Deve essere preciso. La lunghezza non risolve l'ambiguità se dentro mancano le decisioni importanti.

Il primo blocco riguarda mercato e simbolo. Un'idea su EURUSD non si comporta come un'idea su XAUUSD, NAS100 o DAX. Anche il timeframe cambia il significato della strategia: un breakout su M5 non è lo stesso breakout su H1.

Poi devi chiarire il tipo di strategia. Breakout, trend following, mean reversion, time based, volatilità: non sono etichette decorative.

La direzione operativa è fondamentale. Solo long, solo short o entrambe? Questa scelta cambia sia il codice sia il test. Anche le regole di ingresso devono essere scritte in modo osservabile: "entra quando il mercato è forte" non basta; "entra long alla chiusura sopra il massimo delle ultime 20 candele" è già più programmabile.

Lo stesso vale per l'uscita. Se non definisci l'uscita, l'AI se la inventa o ti chiede chiarimenti. Stop loss, take profit e gestione rischio devono essere espliciti, anche quando la risposta è "da definire". Meglio scrivere che una parte non è ancora definita, piuttosto che lasciare all'AI il compito di inventarla.

Infine ci sono filtri e gestione posizioni. Spread massimo, orari, giorni operativi, chiusura a fine sessione, una posizione per simbolo e Magic Number o più posizioni consentite: sono dettagli che cambiano il comportamento dell'EA.

In sintesi, un prompt dovrebbe contenere:

  • mercato e simbolo;
  • timeframe;
  • tipo di strategia;
  • direzione operativa: long, short o entrambe;
  • regole di ingresso;
  • regole di uscita;
  • stop loss e take profit;
  • gestione rischio;
  • filtri operativi;
  • gestione posizioni;
  • requisiti tecnici specifici per MQL4 o MQL5.

Esempio di struttura prompt

Questa non è una formula da copiare alla cieca. È una struttura. Le parti tra parentesi o con i puntini vanno sostituite con regole precise. Se una regola non è ancora definita, scrivilo. È molto meglio indicare "da definire" che far finta di avere una logica completa.

Agisci come sviluppatore esperto di Expert Advisor per MetaTrader 5 in linguaggio MQL5.

Voglio creare un Expert Advisor per XAUUSD su timeframe M15.

Tipo di strategia:
Breakout

Direzione operativa:
Long e short

Regole di ingresso:
[...]

Regole di uscita:
[...]

Requisiti tecnici:
- Usa CTrade.
- Non usare sintassi MQL4.
- Usa Magic Number configurabile.
- Evita aperture duplicate.
- Rendi i parametri principali modificabili da input.
- Il codice deve essere adatto al backtest.

Il punto non è rendere il prompt "bello". Il punto è renderlo controllabile. Quando ricevi il codice, devi poter tornare alla specifica e chiederti: l'EA fa davvero quello che avevo scritto?

Le buone pratiche non dovrebbero essere opzionali

Alcune cose non dovrebbero dipendere dall'umore del momento. Magic Number, input configurabili, compatibilità con il backtest, gestione degli errori, log essenziali e controlli contro aperture duplicate sono requisiti minimi di un Expert Advisor ordinato.

Nel Prompt Creator alcune opzioni non vengono lasciate come checkbox proprio per questo motivo. Non ha molto senso chiedere all'utente se vuole un Magic Number o codice adatto al backtest.

Ogni strategia avrà le sue particolarità. Ma la base tecnica deve aiutarti a controllare il comportamento dell'EA, non costringerti a indovinare cosa sta succedendo.

Il prompt non valida la strategia

Un prompt ben scritto può aiutare a ottenere codice più ordinato, ma non dice se la strategia ha un vantaggio reale. Un EA che compila non è una strategia valida. E un primo backtest positivo non basta per prendere sul serio un'idea.

Dopo il codice servono controlli sui dati, spread, swap, robustezza, rischio, coerenza logica, test fuori campione e contributo eventuale al portafoglio. La validazione è un lavoro separato dal prompt.

Il prompt è uno strumento di chiarezza. Il codice è solo il primo output. La vera selezione avviene dopo, quando inizi a verificare se l'idea regge oltre il primo risultato.

L'obiettivo non è produrre tanti EA. È scartare più velocemente le idee deboli e lavorare meglio su quelle che meritano davvero attenzione.