Sviluppo EA & Builder beginner 12 min di lettura

Come creare un EA con il MACD su MT5 senza programmare (e perché il suo risultato migliore era il più pericoloso)

Creare un EA con il MACD su MT5 senza programmare significa collegare i blocchi di un incrocio dentro il browser, compilarli in un vero .ex5 e leggere i numeri con onestà. Incluso il risultato che dovrebbe preoccuparti di più: la ricerca di parametri del Builder ha trovato un'impostazione MACD che ha segnato 1,14 fuori campione, per poi crollare a 0,74 sulla finestra precedente.

Pubblicato · Revisionato

Costruisci un Expert Advisor con il MACD su MT5 senza programmare posizionando un nodo Start, due blocchi MACD — uno che legge la linea principale, uno che legge la linea del segnale — una condizione Cross tra i due e un blocco d’ordine. È il server a generare e compilare l’MQL5, e a consegnarti un vero .ex5. Quindici minuti, nessuna sintassi.

Poi arriva la parte che decide se quel file valga qualcosa. Questa ricetta ha un registro misurato, e il suo numero più lusinghiero è quello di cui dovresti fidarti meno.

Cosa costruirai

Un EA a posizione singola su una sola coppia, che compra quando la linea MACD incrocia al rialzo la propria linea del segnale e vende quando la incrocia al ribasso, con stop e target fissi, compilato in un vero .ex5. Otto blocchi.

Due blocchi di quel conteggio esistono per una ragione sola: il blocco indicatore MACD restituisce una linea alla volta.

Prima di iniziare: cosa riporta il MACD, e quale linea stai leggendo

Ti serve un account gratuito con un indirizzo email verificato (progettare è gratis e non richiede accesso; compilare in .ex5 sì), circa quindici minuti e un terminale MetaTrader 5.

Il MACD sottrae una media mobile lenta da una veloce, poi fa di nuovo la media di quella differenza. Quindi la linea main misura quanto si sono allontanate due medie, e la linea signal è quella stessa misura smussata. Tutto ciò che una regola MACD può dire è un’affermazione sulla distanza tra due medie — il che vuol dire che è uno strumento di tendenza travestito da oscillatore, e che eredita il ritardo di entrambe le medie che l’hanno costruito.

Il blocco MACD del Builder espone queste impostazioni:

Impostazione del bloccoPredefinitoCosa controlla
fast_ema12La media più rapida. Intervallo 1–999
slow_ema26Quella più lenta. La distanza tra le due è l’intero segnale
signal_period9Quanto viene smussata la differenza prima che tu la confronti
lineMODE_MAINQuale linea restituisce questo bloccoMODE_MAIN oppure MODE_SIGNAL
applied_pricePRICE_CLOSEQuale prezzo alimenta il calcolo
shift00 è la barra in formazione; 1 è l’ultima chiusa
timeframegrafico correnteUno qualsiasi da M1 a MN1, letto indipendentemente dal grafico

line è la riga che cambia la forma del tuo flusso. È una selezione a due valori, quindi un blocco ti dà una linea. Un incrocio della linea del segnale ha perciò bisogno di due blocchi MACD; un incrocio della linea dello zero ne richiede uno, più un confronto con una costante.

Passo dopo passo: costruire l’EA con il MACD nel Builder

  1. Apri l’EA Builder e carica il template macd_signal dalla galleria, oppure parti da una tela vuota e collegalo da solo.
  2. Posiziona un nodo Start dalla palette Utility. Senza, la validazione ferma la costruzione con EAB-E202.
  3. Aggiungi un blocco MACD e lascia line su MODE_MAIN. Lascia stare 12/26/9 alla prima costruzione, così il tuo risultato resta confrontabile con la baseline qui sotto.
  4. Aggiungi un secondo blocco MACD con periodi identici e imposta line su MODE_SIGNAL. Stesso indicatore, stesse impostazioni, output diverso — questo è il passaggio che la gente salta, ed è saltandolo che il flusso finisce per confrontare una linea con se stessa.
  5. Collega entrambi dentro una condizione Cross. Cross prende due ingressi e chiede se uno ha incrociato l’altro su questa barra; il suo cross_type è crossover oppure crossunder, quindi il lato acquisto e il lato vendita sono due condizioni separate, non una sola invertita.
  6. Collega ciascuna condizione al proprio blocco Open Buy / Open Sell. Collegare un indicatore direttamente a un ordine viene respinto con EAB-E205 — un valore grezzo non è una decisione.
  7. Imposta il rischio nella scheda Settings. I valori predefiniti condivisi sono uno stop a 50 pip, un target a 100 pip e un lotto fisso da 0.01; un flusso privo di uno stop valido solleva una diagnosi di preflight CRITICAL prima di poter costruire.
  8. Premi Measure e leggi il risultato rispetto alla soglia che il pannello stampa: profit factor almeno 1,2, almeno 60 operazioni, drawdown non peggiore del 20%.
  9. Premi Compile .ex5, sposta il file dentro MQL5/Experts tramite File > Open Data Folder, aggiorna il Navigator e testalo nello Strategy Tester prima che si avvicini a un conto.
  • Nodo Start
  • Blocco MACD, line = MODE_MAIN
  • Blocco MACD, line = MODE_SIGNAL
  • Cross — crossover per l’acquisto, crossunder per la vendita
  • Open Buy e Open Sell
  • Stop loss e take profit
  • Compila in .ex5
Perché la ricetta sulla linea del segnale ha bisogno di due blocchi MACD e quella sulla linea dello zero no

Se invece vuoi la versione sulla linea dello zero, elimina il secondo blocco MACD e sostituisci Cross con Compare, i cui operatori sono > < >= <= == != e il cui offset parte da 0. «MACD main sopra lo zero» è l’affermazione che la media veloce sta sopra la lenta, punto — un evento molto più raro e molto più tardivo del semplice contatto tra le due linee. La palette porta anche OsMA, che restituisce direttamente come singolo valore la differenza tra main e signal, quindi una regola sull’istogramma richiede un blocco invece di due.

Ingresso, uscita e parametri del MACD

ImpostazioneValore del templateCosa fa muoverla
fast_ema12Più basso reagisce prima e incrocia molto più spesso; il numero di operazioni si muove prima del win rate
slow_ema26Alzarlo allarga la distanza che la linea veloce deve percorrere, quindi i segnali arrivano più tardi e più di rado
signal_period9Lo smussamento sulla linea di confronto. Più corto significa più incroci, per lo più rumore
lineMODE_MAINNon è una manopola di messa a punto — decide quale regola hai costruito
shift0Impostalo a 1 per decidere solo su barre chiuse
Stop loss50 pip (predefinito condiviso)L’intervallo cercato era 30–80
Take profit100 pip (predefinito condiviso)L’intervallo cercato era 60–250

Sul ritardo, che è la critica onesta a questo indicatore. Ogni valore qui è il risultato di due medie impilate su una terza. Un incrocio è perciò il resoconto di un movimento già avvenuto — l’unica domanda è quanto tardi. Accorciare fast_ema compra anticipo e lo paga in incroci falsi; allungare slow_ema compra affidabilità e la paga in ingressi che arrivano dopo il movimento. Il registro del template stesso suggerisce dove è atterrato: 698 operazioni in un anno, il secondo conteggio più alto dei tredici template di tendenza e momentum misurati sotto condizioni identiche. È un progetto che scatta di continuo, e scattare di continuo è ciò che costa un ritardo breve.

Cosa ha toccato la ricerca e cosa non ha toccato. La ricerca di parametri registrata ha mosso soltanto lo stop e il target — SL30-80 × TP60-250, 12 combinazioni su tre finestre in H1. Non ha mai fatto variare fast_ema, slow_ema o signal_period. Quindi niente in questa pagina sostiene l’affermazione che 12/26/9 sia giusto, sbagliato o migliorabile. Sostiene un’affermazione molto più stretta e molto più utile: nessuna combinazione di stop e target ha salvato il progetto.

Backtest dell’EA con il MACD

Questo è il registro misurato del Builder stesso, non una nuova esecuzione, e ogni template del confronto condivide l’unico blocco di condizioni qui sotto. Come testiamo descrive lo standard a cui quei registri sono tenuti.

Baseline di macd_signalValore
Profit factor0,93
Operazioni698
Drawdown massimo-1,05%
Netto-93,93
Posizione nel suo vicinato per profit factor8° su 13
Posizione nel suo vicinato per numero di operazioni2° su 13
Supera la soglia stampata dal pannello Measureno
Condizioni del test
ID esperimentoEXP-MACD-RECIPE-BASELINE-001
Esperimento padreEXP-BUILDER-TEMPLATE-BASELINE-001
Simbolo / timeframeUSDJPYm M5
Periodo2025-06-01 – 2026-06-09
ModelloM1 OHLC (Model=1)
Deposito10,000
AmbienteExness MT5
Baseline misurata2026-06-18
Ultima verifica2026-08-25
1,14Miglior profit factor fuori campione trovato dalla ricerca registrata
0,74Quanto ha segnato quella stessa impostazione sulla finestra immediatamente precedente
8° su 13Dove si colloca il template MACD tra i progetti di tendenza e momentum misurati allo stesso modo

Il risultato della ricerca merita più di una riga. Otto template della galleria portano una ricerca di parametri registrata, e tutti e otto sono finiti a no_robust_edge. Ma hanno fallito in due modi diversi, e la differenza conta più del verdetto che hanno in comune. Due di loro non hanno mai prodotto un’impostazione vincente, nemmeno sul periodo su cui la ricerca era stata adattata. macd_signal è l’unico che ha prodotto un’impostazione capace di superare 1,0 fuori campione — da 1,14 a 1,15 al target più ampio — per poi segnare da 0,74 a 0,77 sulla finestra precedente. La parola che il manifesto stesso usa per questo è regime-dependent, dipendente dal regime.

Leggi cosa implica tutto ciò sul testare. Se avessi diviso i tuoi dati una volta sola, adattato sulla prima metà e controllato sulla seconda, questo template ti avrebbe consegnato un risultato promosso. L’unica cosa che l’ha colto è stato il controllo su una terza finestra che la ricerca non aveva mai visto. È l’argomento a favore della walk-forward analysis in un caso concreto, e vale più di qualunque avvertimento generico sull’overfitting.

Dove si colloca il MACD tra i suoi vicini, tutti misurati sotto l’unico blocco di condizioni qui sopra:

TemplateBlocchiProfit factorDrawdownOperazioni
ma_perfect_order_trend101,07-0,36%305
mtf_osc_filter271,04-0,64%187
consecutive_bars_momentum71,03-0,36%377
ao_ama_trend140,97-0,95%239
adx_trend120,96-0,76%534
multi_tf_trend150,96-0,51%247
ma_crossover90,95-0,84%420
macd_signal80,93-1,05%698
ma_slope_trend70,92-1,00%478
mtf_adx_filter140,92-0,84%343
elder_ray90,90-1,34%529
pitch_trail_trend90,77-1,61%467
dynamic_sl_trend90,68-1,62%708

Dividi quei tredici sul loro stesso numero di operazioni mediano, 420, e le due metà si separano nettamente. I sei che hanno operato meno hanno fatto in media un profit factor di 1,00 su 283 operazioni con un drawdown del -0,61%. I sei che hanno operato di più hanno fatto in media 0,86 su 569 operazioni con -1,23% — risultati peggiori e il doppio della profondità. Tutti e tre i progetti sopra 1,0 stanno nella metà più tranquilla. Il MACD sta in quella più attiva.

È la descrizione di tredici progetti sotto un unico impianto, non una legge: anche la logica d’ingresso, il numero di nodi e le uscite sono diversi, quindi la frequenza non è dimostrata come causa. Ma è il pattern che hai davanti, e il template MACD incluso sta dal lato sbagliato.

Errori comuni da evitare

Credere a una promozione fuori campione. È l’errore che questo template esiste per dimostrare. Un solo periodo tenuto da parte è un campione singolo, e una regola di momentum può vincere un campione singolo perché durante quel periodo il mercato era in tendenza. Testa una terza finestra che la ricerca non ha mai visto prima di credere a un numero.

Confrontare una linea con se stessa. Se entrambi i blocchi MACD restano su MODE_MAIN, la condizione Cross confronta valori identici e non scatta mai — oppure scatta sugli arrotondamenti. Controlla l’impostazione line su tutti e due i blocchi prima di chiederti perché il numero di operazioni è zero.

Leggere un incrocio come una previsione. Il MACD è due medie di una media. Un incrocio riporta che un movimento è già in corso da qualche barra. La scelta di progetto è quanto ritardo accetti, non se accettarne.

Adattare stop e target finché la curva di equity non sembra giusta. La ricerca registrata l’ha già fatto in modo sistematico su 12 combinazioni e tre finestre, e ha riportato no_robust_edge. Se la tua messa a punto manuale batte una ricerca sistematica, sospetta della messa a punto.

Impilare filtri di momentum. La composizione qui sopra è la versione misurata di quell’istinto: 3,76 volte il drawdown per un profit factor leggermente peggiore.

Farlo girare accanto a un altro EA senza separarli. Ogni EA su uno stesso conto ha bisogno del proprio magic number, altrimenti le uscite di un EA chiudono le posizioni dell’altro.

Prossimi passi e varianti

Quando non usare il MACD. Dentro un mercato laterale due medie si incrociano di continuo e ogni incrocio è rumore — e un valore predefinito che scatta in fretta è esattamente ciò che un mercato laterale punisce. Se non sai enunciare una condizione che spenga la regola durante le fasi piatte, o ne aggiungi una oppure usi un’idea che non dipende dall’allontanarsi delle due medie.

Le varianti che vale la pena provare, in ordine di prove. Prova per prima la versione sulla linea dello zero: è un blocco più semplice e scatta molto meno spesso, e la metà più tranquilla del vicinato è dove sta ogni risultato sopra 1,0. Poi prova la stessa regola su un timeframe superiore dentro il blocco MACD, che rallenta il segnale senza toccare il grafico. Solo dopo muovi i periodi — e cambiane uno alla volta.

Poi testalo per davvero. Il pannello Measure è a livello di barra e approssimato; è un filtro, non un verdetto. Come fare un backtest su MT5 percorre un’esecuzione reale dall’inizio alla fine, compreso a quale dei due numeri di drawdown del report credere. Come creare un EA con l’RSI è la ricetta gemella con il modo di fallire opposto — la sua ricerca non ha mai vinto niente, il che la rende più facile da respingere e meno istruttiva di questa. Come creare un EA per MT5 senza programmare copre il vocabolario dei blocchi più ampio, e le guide al backtesting entrano più a fondo nel passo di walk-forward che questa pagina sostiene.

E per calibrare che aspetto ha un registro documentato, gli EA pubblicati portano ciascuno un elenco completo delle operazioni chiuse e un manifesto di esecuzione. Confrontane uno con la tabella qui sopra prima di fidarti di qualsiasi strategia, compresa una che hai costruito tu.

Domande frequenti

Qual è la differenza tra un incrocio della linea del segnale del MACD e un incrocio della linea dello zero?
Sono due domande diverse e, nel Builder, due collegamenti diversi. Un incrocio della linea del segnale chiede se la linea MACD ha incrociato la propria media a 9 periodi, quindi servono due blocchi MACD — uno impostato su MODE_MAIN, uno su MODE_SIGNAL — che alimentano una condizione Cross. Un incrocio dello zero chiede soltanto se il momentum ha cambiato segno, quindi serve un solo blocco MACD su MODE_MAIN e un Compare contro 0. La versione sulla linea del segnale scatta molto più spesso e molto prima; quella sullo zero scatta di rado e tardi. Il template incluso usa la forma sulla linea del segnale, ed è il secondo progetto più attivo di tutto il suo vicinato.
Quali sono le migliori impostazioni MACD per un EA?
Niente in questa pagina può dirtelo, e vale la pena dirlo apertamente. Il blocco MACD del Builder parte da 12/26/9 sulla chiusura, e la ricerca di parametri registrata su questo template ha mosso soltanto lo stop e il target — SL30-80 per TP60-250, 12 combinazioni su 3 finestre. Non ha mai fatto variare fast_ema, slow_ema o signal_period nemmeno una volta. Qualunque articolo ti citi un insieme di periodi «migliore» ti sta citando una preferenza, non una misurazione. Ciò che la ricerca ha stabilito davvero è che nessuna combinazione di stop e target ha reso robusto questo progetto.
Una strategia di incrocio del MACD è redditizia?
Non così come viene consegnata qui. Misurato su USDJPY M5 lungo un anno, il template macd_signal del Builder chiude a un profit factor di 0,93 su 698 operazioni — il secondo progetto più attivo dei tredici template di tendenza e momentum misurati sotto condizioni identiche, e ottavo su tredici per risultato. Più utile ancora: la sua ricerca registrata ha davvero trovato un'impostazione arrivata a 1,14–1,15 fuori campione, che poi è scesa a 0,74–0,77 sulla finestra precedente. Questa è la risposta onesta: esistono risultati che sembrano redditizi, e non hanno tenuto quando è cambiato il regime di mercato.
Conviene aggiungere altri indicatori per filtrare un EA con il MACD?
Guarda cosa ha fatto davvero la combinazione prima di dare per scontato che aiuti. La galleria include una composizione che contiene esattamente questo template — macd_signal più una regola di livello sul CCI più Elder Ray — e sotto condizioni identiche ha chiuso a un profit factor di 0,91 contro lo 0,93 del MACD da solo, con 3,76 volte il drawdown su 2.016 operazioni. Tutte e tre le parti sono letture di momentum dello stesso prezzo, quindi tendono a essere d'accordo e a scattare insieme invece di diversificare. Un filtro serve quando qualche volta è in disaccordo con il tuo ingresso; tre versioni della stessa idea non lo sono mai.