Crei un Expert Advisor per MT5 senza programmare assemblandolo a blocchi su una tela — un blocco indicatore, un blocco condizione, un blocco ordine, un blocco rischio — e lasciando che sia il server a generare e compilare l’MQL5. Il file che torna indietro è un vero .ex5, lo stesso tipo di file in cui viene compilato un EA scritto a mano. Nessuna sintassi MQL5 entra in gioco in alcun momento.
La parte che il no-code non elimina è il lavoro di progettazione, ed è lì che quasi tutti si perdono. Perciò questa guida copre entrambe le metà: il percorso meccanico da un’idea a un file compilato, e le prove su quanto segnano quei file prima che tu cambi qualcosa.
Cosa costruirai
Alla fine avrai un .ex5 compilato dentro la cartella MQL5/Experts di MetaTrader 5, costruito su una regola scelta da te, con uno stop loss e una dimensione di posizione impostati di proposito. Ci arrivi per due strade, davvero diverse tra loro in termini di fatica:
- Partire da un template. Scegli una delle 12 strategie già pronte nella galleria, poi modificane i blocchi. È il modo più rapido per vedere un flusso completo, e anche il modo più rapido per ereditare una baseline perdente senza accorgertene.
- Partire da una tela vuota. Posizioni un nodo Start, colleghi un indicatore a una condizione, colleghi la condizione a un blocco d’ordine, aggiungi il rischio. Più lento, ma sai esattamente cosa fa ogni collegamento.
In entrambi i casi il vocabolario è lo stesso: 119 tipi di blocco in 8 categorie, con un budget di 50 nodi per progetto. Quel budget non è il vincolo che i principianti si aspettano. Il template col punteggio più alto di tutta la galleria usa nove nodi, e il secondo ne usa sei.
Prima di iniziare: cos’è il Builder e cosa non è
Ti serve un’idea esprimibile come «quando succede X, compra; quando succede Y, chiudi», 15-30 minuti e un terminale MetaTrader 5 su cui far girare il risultato. Non ti servono MQL5, un compilatore o Windows: l’editor gira nel browser e la compilazione avviene sul server.
Vale la pena conoscere tre confini prima di investirci una serata.
Genera codice; non opera. Il Builder non piazza mai un ordine, non si collega mai al tuo broker e non emette mai segnali. Ti consegna un file. Tutto ciò che viene dopo succede nel tuo terminale, sul tuo conto, sotto il tuo controllo.
Progettare è gratis; compilare è Pro. Trascinare blocchi, caricare template e leggere l’anteprima degli input della scheda Code non richiedono accesso. Eseguire il test di robustezza richiede un account con e-mail verificata: un account non verificato riceve un 403 e il messaggio «Your account is not eligible yet», che è un errore diverso dall’EAB-E601 «Sign in to compile» che ottieni senza alcun account. Compilare in .ex5 richiede Builder Pro.
Il .ex5 è su licenza, non portabile. Ogni compilazione include un controllo di licenza: in MetaTrader 5 https://aistrategyminer.com deve essere consentito in Strumenti > Opzioni > Expert Advisors > Consenti WebRequest, altrimenti l’EA si disattiva all’avvio. I backtest nello Strategy Tester sono esenti da quel controllo. La compilazione in .ex5 e il sorgente .mq5 modificabile fanno parte della licenza Pro una tantum da $399.
Passo dopo passo: costruire l’EA
- Apri l’editor dalla pagina del Builder — il pulsante riporta Open the builder — free. Non si installa nulla e il lavoro si salva da solo nel browser.
- Scegli un punto di partenza. La schermata iniziale offre Build Your EA — Free, Start with blank canvas e un 3-min tour, più una galleria di template filtrata per Basic / Intermediate / Advanced / Portfolio. Anche una tela vuota richiede un nodo Start dalla palette Utility: senza, la validazione ti ferma con
EAB-E202. - Posiziona i blocchi. Trascina dalla palette di sinistra oppure fai doppio clic su una voce;
Ctrl+Kcerca per nome tra tutti i 119 tipi. Collegali trascinando dalla porta di uscita di un nodo, a destra, alla porta di ingresso del nodo successivo, a sinistra, oppure premi il pulsante + su un nodo per aggiungere e collegare automaticamente quello dopo. - Imposta i parametri di ogni blocco nella scheda Properties a destra. È qui che vivono periodo, prezzo applicato e timeframe di un indicatore: ogni blocco indicatore può leggere un timeframe diverso da quello del grafico su cui gira, ed è così che si costruisce un filtro multi-timeframe senza una riga di codice.
- Imposta le regole valide per tutto il conto nella scheda Settings: Money Management, Filters, Exit Strategy, Position Management, Risk Management. La dimensione del lotto parte da un valore fisso di
0.01, e la protezione d’ingresso condivisa parte da uno stop a 50 pip e un target a 100 pip finché non li cambi. - Leggi la barra di validazione e il pannello Preflight diagnosis. Gli errori bloccano la generazione; gli avvisi no. Un flusso senza stop loss solleva una diagnosi
CRITICALe ti obbliga a confermare “Generate anyway?” prima di procedere. - Premi Measure per lanciare il backtest approssimato integrato: scegli un simbolo, un timeframe e uno spread in punti, e leggi il verdetto rispetto alla soglia stampata. Fallo prima di compilare, non dopo.
- Premi Compile .ex5 (Pro). Il server genera l’MQL5, lo compila con MetaEditor e restituisce
EA_Builder.ex5. Spostalo dentroMQL5/Expertstramite File > Open Data Folder, poi fai clic destro sul Navigator e scegli Refresh — se l’EA non compare, quasi sempre è la cartella, non il file. - Testalo nello Strategy Tester prima di attaccarlo a un grafico. Quando lo attacchi, il pulsante Algo Trading della barra strumenti deve essere attivo e Allow Algo Trading deve essere spuntato nella scheda Common dell’EA. La faccina triste sul grafico significa che uno di quei due è spento, non che la strategia sia rotta.
- Scegli un template o una tela vuota
- Collega indicatore a condizione e condizione a ordine
- Imposta stop loss, target e dimensione del lotto
- Misura la robustezza del flusso
- Compila in .ex5
- Testa nello Strategy Tester di MT5
- Demo, poi decidi
Un dettaglio che sorprende al passo 3: l’editor si rifiuta di costruire un flusso che si comporterebbe male in silenzio. Collega un indicatore direttamente a un blocco d’ordine e ottieni EAB-E205 — “An indicator is wired straight into an action. Insert a condition node (Compare/Cross) in between.” Un nodo non raggiungibile dallo Start solleva EAB-E203 e viene detto chiaramente che “will not be included in the generated EA”. Non sono avvisi di stile. Sono gli errori che impediscono a un principiante di consegnare un EA il cui terzo centrale non fa nulla.
Se è la compilazione stessa a fallire, di solito non è colpa del tuo progetto. EAB-E402 significa che MetaEditor ha rifiutato il sorgente generato, e tre dei suoi sotto-codici — identificatore non dichiarato, numero di parametri errato, sintassi — sono etichettati nell’interfaccia come «un bug dalla nostra parte, non dalla tua», con la richiesta di allegare il flusso. Tutto ciò che il mapper non riconosce viene mostrato come la riga d’errore grezza di MetaEditor invece che con una scusa generica, ed è proprio questo che rende utile segnalarlo. EAB-E401 e EAB-E404 sono bestie diverse: il compilatore occupato e un rate limit per utente. Entrambi vogliono dire aspetta, non ricostruisci.
Blocchi, condizioni di ingresso e uscita, e le impostazioni di rischio che non sono opzionali
La palette è un unico vocabolario diviso in otto gruppi. Il primo giorno non ti serve quasi nulla di tutto ciò; ti serve sapere quale gruppo risponde a quale domanda.
| Gruppo di blocchi | Tipi | Cosa controlla | Prima impostazione sensata |
|---|---|---|---|
| Utility | 2 | Dove comincia il flusso e le letture multi-timeframe | Un nodo Start |
| Indicators | 52 | La misura su cui si basa la tua regola | Un indicatore, timeframe del grafico |
| Price / Info | 5 | Prezzo grezzo, OHLC, orologio, stato del conto | Lascia stare finché non serve |
| Conditions | 10 | Il confronto che fa scattare la regola | Compare o Cross |
| Filters | 21 | Quando è permesso operare | Filtro sullo spread, limite di posizioni |
| Actions | 15 | L’ordine in sé e il modo in cui si chiude | Open Buy / Open Sell |
| Money Mgmt | 7 | Quanto è grande la posizione | Fixed Lot, 0.01 |
| Exit Strategy | 6 | Come finisce una posizione | Stop e target fissi |
Quattro di quei tipi — piramidazione, mediazione al ribasso, ingresso in inversione e chiusura totale — si configurano solo dal pannello Settings. Mettine uno sulla tela e il preflight lo respinge con EAB-E304 dicendoti dove abita davvero. È una cosa piccola, ma è il tipo di cosa piccola che costa un’ora quando il messaggio d’errore è fatto male, e qui non lo è.
Due blocchi condizione coprono la maggior parte delle prime strategie. Compare chiede se un valore sta sopra o sotto un altro valore — RSI sotto 30, prezzo sopra una media mobile. Cross chiede se una linea ne ha incrociata un’altra su questa barra, che è una domanda diversa e molto più stringente di «sta sopra». Confondere le due è il motivo più comune per cui un flusso scatta di continuo invece che ogni tanto.
Il momento della decisione conta quanto la condizione. L’impostazione predefinita valuta una volta per barra chiusa, non a ogni tick. Su un grafico M5 è la differenza tra una manciata di decisioni all’ora e centinaia — e una regola che sembra redditizia sulle barre chiuse può comportarsi in modo del tutto diverso quando le si permette di scattare a barra aperta.
Testalo prima di ogni altra cosa
Il Builder ha un pulsante Measure, e accanto al risultato stampa la propria soglia di superamento: profit factor almeno 1,2, almeno 60 operazioni, drawdown massimo non peggiore del 20%. Quella soglia è la parte utile. È un limite fisso e pubblicato, quindi un risultato o ci sta sopra o non ci sta, e nessuna quantità di sguardi socchiusi a una curva di equity cambia la risposta.
Ecco cosa fa quella soglia ai template inclusi. Questi sono dati nostri, non l’affermazione di un venditore: ogni template della galleria porta il registro misurato di una prova, e la tabella qui sotto li conta. Come testiamo descrive lo standard a cui quei registri sono tenuti, e lo script di aggregazione sta nel repository accanto al suo output, così il conteggio è riproducibile invece che asserito.
| Template di partenza | Misurato |
|---|---|
| Template di partenza nella libreria | 87 |
| Template mostrati nella galleria | 12 |
| Template con una baseline misurata | 53 |
| Segnalati come deboli dal manifesto | 52 su 53 |
| Sotto un profit factor di 1,0 con le impostazioni di fabbrica | 42 su 53 |
| Profit factor mediano | 0,92 |
| Miglior profit factor dell’insieme | 1,23 |
| Che superano la soglia stampata dal pannello Measure | 1 su 53 |
| Condizioni del test | |
|---|---|
| ID esperimento | EXP-BUILDER-TEMPLATE-BASELINE-001 |
| Ambiente | Exness MT5 |
| Simbolo / timeframe | USDJPYm M5 |
| Periodo | 2025-06-01 – 2026-06-09 |
| Modello | M1 OHLC (Model=1) |
| Deposito | 10.000 |
| Baseline misurata | 2026-06-18 |
| Aggregazione / ultima verifica | 2026-09-27 |
Di quella tabella vale la pena esplicitare tre letture, perché quella ovvia non è quella utile.
La complessità non ha aiutato. La miglior baseline dell’insieme, a 1,23, appartiene a un breakout con ordini pendenti da nove nodi, e la seconda, a 1,10, a un pullback su media mobile da sei nodi. Lo stack di oscillatori multi-timeframe da 27 nodi segna 1,04. Il punteggio peggiore dell’insieme, 0,65, appartiene a un progetto multi-timeframe da 15 nodi con dimensionamento automatico del lotto e trailing stop. Aggiungere blocchi aggiunge parametri, e i parametri sono il modo in cui un progetto va in overfitting, non il modo in cui migliora.
Profondità e durata sono problemi separati. Un template segna un profit factor di 1,03 su 8.765 operazioni con un drawdown massimo del -7,92%; un altro segna 0,69 con un drawdown del -22,54%. Un rapporto vicino a 1 non ti dice quasi nulla su cosa si prova a tenerlo.
Otto di loro sono stati cercati, e la ricerca è fallita. Otto template portano una scansione di parametri registrata — griglie di stop loss e take profit girate su tre finestre: in-sample, out-of-sample e il periodo precedente a entrambe. Tutti e otto sono tornati no_robust_edge. Due non hanno mai prodotto un’impostazione vincente nemmeno in-sample. Sei ne hanno trovata una e non sono riusciti a ripeterla — la migliore combinazione di incrocio di medie mobili ha raggiunto 1,23 su H1 in-sample e 0,98 sulla finestra precedente, e un’impostazione del CCI che teneva 1,05 out-of-sample è comunque scesa a 0,92 sul periodo prima ancora. La soglia era vincere su tutte e tre le finestre, e nessuno l’ha superata. L’unico template che supera invece la soglia di Measure, pending_breakout, mostra la stessa trappola dall’altro lato: la sua impostazione di fabbrica segna 1,23 sull’anno di test in M5 e 0,99 sul 2018–21 in un nuovo test su H1. È un risultato più onesto di un numero ottimizzato, ed è il singolo argomento migliore per testare le tue modifiche invece di fidarti dei valori predefiniti di chiunque, questi compresi.
La misura è volutamente approssimata — a livello di barra, solo nodi principali, non un terminale vero. È un filtro, non un verdetto. Ciò che le sopravvive va poi compilato e rigirato nello Strategy Tester di MT5, dove esecuzioni, spread e modello di tick sono reali. Come fare un backtest su MT5 percorre da cima a fondo quella seconda esecuzione su un’esecuzione reale registrata; il resto di ciò che significano quei numeri appartiene alle guide al backtesting più che a questa pagina.
- Ho misurato il flusso e l’ho letto rispetto alla soglia stampata, non rispetto a una sensazione
- Ho rigirato il
.ex5compilato nello Strategy Tester di MT5 sullo stesso simbolo e timeframe - Ho impostato uno stop loss esplicito invece di accettare il valore predefinito di 50 pip
- Ho controllato il drawdown che avrei dovuto attraversare, non solo il risultato finale
- Ho fatto girare un conto demo abbastanza a lungo da vedere la strategia perdere e recuperare
- Ho scritto in anticipo la perdita che mi farebbe spegnere tutto
Errori comuni da evitare
Compilare un template e considerarlo finito. È l’errore numero uno con ampio margine, e la tabella qui sopra spiega perché. Un template è uno schema di collegamenti che qualcun altro ha già disegnato per te. I parametri che contiene non sono mai stati adattati al tuo simbolo, al tuo timeframe o allo spread del tuo broker.
Ritoccare finché il backtest non sembra buono. Se cambi un parametro, rimisuri, lo cambi di nuovo e tieni il migliore, non stai migliorando una strategia: la stai adattando a una fetta di storico. Le otto ricerche di parametri registrate nella galleria sono finite tutte in no_robust_edge: sei hanno trovato un vincitore in-sample che non è sopravvissuto alla finestra successiva, e due non ne hanno trovato nessuno. La tua si comporterà allo stesso modo se non la controlli allo stesso modo.
Testare un solo anno fortunato. La baseline qui sopra copre un singolo anno su un singolo simbolo presso un solo broker. Basta per dire «questo non è finito»; non basta neanche lontanamente per dire «questo funziona». Allarga la finestra e cambia simbolo prima di credere a qualsiasi cosa.
Ammucchiare filtri per aggiustare una regola perdente. Ci sono 21 tipi di filtro disponibili, e aggiungerne cinque farà sembrare migliore quasi qualunque backtest. Taglierà anche il numero di operazioni finché il risultato non poggerà su una manciata di trade. Sorveglia il numero di operazioni con la stessa attenzione del profit factor: il pannello Measure segnala un campione troppo sottile sotto le 60 operazioni esattamente per questo motivo.
Far girare più EA senza separarli. Se fai girare più di un EA sullo stesso conto, ciascuno ha bisogno del proprio magic number, altrimenti la logica di uscita di un EA chiuderà le posizioni dell’altro. Farlo bene non costa nulla ed è doloroso da diagnosticare dopo il fatto.
Saltare il passaggio in demo. Un backtest delimita ciò che un insieme di regole avrebbe potuto fare su prezzi registrati. Non include la tua latenza, i tuoi requote né uno spread che si allarga proprio nel momento in cui la tua regola scatta. Niente di quanto sta qui è una promessa di profitto, e ogni registro di questa pagina descrive il passato.
Prossimi passi e varianti
Dove andare dopo dipende da quale parte ti è sembrata debole.
Se il buco è la strategia, parti da una regola che sai enunciare in una frase e costruisci il flusso più piccolo che la esprime. Progetti da nove e da sei nodi hanno battuto uno da ventisette nell’insieme misurato, quindi la versione piccola non è un compromesso. A questo punto sfogliare il riferimento agli indicatori è più utile che aggiungere un altro filtro: un breakout sul canale di Donchian e un ritorno alla media con l’RSI sono idee opposte, e sapere quale delle due stai costruendo decide ogni parametro successivo. Come creare un EA con l’RSI e come creare un EA con il MACD ne percorrono uno per tipo da cima a fondo, compreso quanto segnano i template forniti prima che tu cambi qualcosa.
Se il buco è il test, quella è l’abilità più profonda e ha una casa tutta sua nelle guide al backtesting. La versione breve: testa fuori campione, sorveglia il numero di operazioni e tratta un risultato che hai dovuto cercare come un avvertimento più che come una scoperta.
Se vuoi sapere se tutto questo fa guadagnare, gli Expert Advisor sono redditizi? legge gli stessi 53 template misurati come una popolazione: che cosa separa i pochi che superano 1,0 dagli altri, e perché una sola finestra buona dimostra poco.
Se stai ancora decidendo se automatizzare, EA contro trading manuale rigioca registri di nostra proprietà sotto le regole di stop che un operatore discrezionale userebbe davvero, che è la versione onesta di quel confronto.
E prima di far girare con soldi veri qualcosa che hai costruito, sottoponilo agli stessi controlli che applicheresti all’EA di uno sconosciuto. Come usare un EA gratis ne descrive quattro, nell’ordine in cui scartano più in fretta: valgono per il tuo progetto quanto per un download.