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 84 strategie già cablate dalla 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: 118 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 sei nodi.
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 richiede un account. Trascinare blocchi, caricare template e leggere l’anteprima degli input nella scheda Code non richiedono alcuna registrazione. Compilare in .ex5 e lanciare il test di robustezza richiedono un account gratuito con indirizzo email verificato: un account non verificato riceve un 403 e il messaggio “Your account is not eligible yet”, che è un guasto diverso dall’EAB-E601 “Sign in to compile” che ottieni senza alcun account. Sapere quale dei due hai incontrato ti risparmia dieci minuti di confusione.
Il file .ex5 gratuito è vincolato, non trasferibile. Ogni compilazione gratuita esce con un blocco sul conto: l’EA gira solo su un conto IB verificato presso un broker supportato, e MetaTrader 5 deve avere https://mt5depot.com nella lista consentita sotto Tools > Options > Expert Advisors > Allow WebRequest, altrimenti l’EA si disattiva all’avvio. I backtest nello Strategy Tester sono esenti da quel controllo — ed è esattamente per questo che puoi testare prima di collegare qualsiasi cosa. Il sorgente .mq5 modificabile è l’unica funzione a pagamento, una 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 118 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. 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 nella galleria | 84 |
| Template con una baseline misurata | 53 |
| Segnalati come deboli dal manifesto | 53 su 53 |
| Sotto un profit factor di 1,0 con le impostazioni di fabbrica | 46 su 53 |
| Profit factor mediano | 0,92 |
| Miglior profit factor dell’insieme | 1,10 |
| Che superano la soglia stampata dal pannello Measure | 0 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-08-25 |
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,10, appartiene 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,63, 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. È 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 registro pubblicato reale; 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. Sei nodi hanno battuto 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 prima di costruire il tuo vuoi un riferimento già lavorato, gli EA pubblicati mostrano ciascuno l’elenco completo delle operazioni chiuse, il drawdown e il manifesto di esecuzione — leggine uno da cima a fondo, perché ti fa vedere che aspetto ha un registro documentato e ti dà un metro con cui confrontare le tue misure. Gli Expert Advisor sono redditizi? legge lo stesso catalogo per capire che aspetto ha davvero la redditività vista da dentro, comprese le lunghe fasi in cui niente funziona.
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 se costruisci qualcosa che vale la pena mostrare, il flusso di compilazione ti propone di inviarlo al pool pubblico gratuito: ogni invio viene revisionato, e un progetto che supera la soglia su più di un simbolo è davvero raro. Come usare un EA gratis documenta che cosa quella revisione controlla davvero, che cosa significa e che cosa non significa il badge Verificato, e come è finanziata la parte gratuita del sito: vale la pena leggerlo sia dal lato di chi invia sia da quello di chi scarica.