Question: Perché i miei EA su MT4 non funzionano? Quali potrebbero essere le ragioni?
Table of Contents
- La piattaforma non consente il trading automatico
- Hai effettuato l'accesso con la password di solo lettura dell'investitore
- Nome simbolo errato o suffisso simbolo mancante
- Spread, slippage o filtri protettivi stanno bloccando gli ingressi
- Gli stop o il volume non sono validi per il simbolo (errore classico 130 / 131)
- Lo stato del mercato o del conto impedisce il trading
- Le regole FIFO (conti regolamentati negli Stati Uniti) sono in conflitto con la logica del tuo EA
- L'EA non è stato compilato/installato correttamente
- L'EA dipende dalle DLL, ma le importazioni delle DLL sono bloccate o la DLL è di tipo errato
- L'elenco dei simboli non include ciò di cui l'EA ha bisogno
- L'EA si collega, ma le dipendenze interne non funzionano (gli indicatori personalizzati non vengono caricati)
- Il timeframe del grafico non è corretto oppure l'EA è filtrato per tempo/sessione
- Non ci sono dati storici per il calcolo degli indicatori
- L'EA è in attesa del prossimo tick dopo che l'hai collegato
- Le regole di trading dei simboli sono cambiate (aggiornamenti della build o del broker) e l'EA non è stato ricostruito per esse
- Stai testando o eseguendo su dati/grafici che non corrispondono al design dell'EA
- Il conto o lo strumento si trova in uno stato che blocca le operazioni di trading
- I permessi di I/O dei file o delle cartelle impediscono all'EA di leggere/scrivere
- Hai migrato l'EA su un VPS ma non hai migrato i suoi indicatori/impostazioni
- Diagnostica pratica che aiuta davvero
- Riferimento rapido: codici di errore MT4 ad alto impatto e il loro significato
- Una checklist precisa e minimale per far funzionare un EA
La piattaforma non consente il trading automatizzato
Anche un EA perfettamente codificato non effettuerà operazioni se gli interruttori di sicurezza di MT4 sono disattivati.
Cosa fare
- 1) Attivare l’interruttore globale: nella barra degli strumenti principale, fare clic su AutoTrading in modo che sia evidenziato (verde).
- 2) Abilita le autorizzazioni a livello di piattaforma: Strumenti → Opzioni → Expert Advisors → seleziona Consenti trading automatico.
- 3) Abilita le autorizzazioni dell’EA: collega l’EA a un grafico → scheda Comune → seleziona Consenti trading live (e Consenti importazioni DLL se l’EA lo richiede). Dopo aver applicato le impostazioni, dovresti vedere un 🙂 nell’angolo in alto a destra del grafico.
Hai effettuato l’accesso con la password investitore (di sola lettura)
Una password investitore è di sola lettura. Se hai effettuato l’accesso con essa, qualsiasi richiesta di trading dal tuo EA viene bloccata.
Cosa fare
Esci e accedi nuovamente con la password master (di trading). In MT4 puoi impostare o modificare la password investitore in Strumenti → Opzioni → Server → Modifica → “Modifica password investitore (di sola lettura)”, ma solo una password master può apportare tale modifica.
Non ci sono tick nel grafico (l’EA non si “attiva”)
Gli EA funzionano in risposta a nuovi tick (OnTick). Nessun nuovo prezzo → nessuna attività EA. Ciò accade se il simbolo non riceve quotazioni, il grafico è offline o il simbolo non è visibile in Market Watch.
Cosa fare
- 1) Assicurarsi che il simbolo sia visibile e riceva quotazioni: aprire Market Watch → cliccare con il tasto destro → Mostra tutto (o aggiungi il gruppo di simboli esatto utilizzato dal tuo broker).
- 2) Utilizza un grafico live, non un grafico offline/renko/generato offline per l’esecuzione delle operazioni.
- 3) Mantieni aperto il grafico dello strumento che desideri negoziare con l’EA collegato.
Nome simbolo errato o suffisso simbolo mancante
I broker spesso aggiungono suffissi (ad esempio, EURUSD.m, XAUUSD.a). Se un EA fa riferimento a un nome semplice ma il broker utilizza un suffisso, le funzioni di ordine potrebbero non funzionare o il tuo EA potrebbe non eseguire la scansione dello strumento.
Cosa fare
Utilizza il simbolo esatto del broker sul grafico e in tutti gli input dell’EA che nominano un simbolo. Se l’EA è multi-simbolo dagli input, aggiorna gli input in modo che corrispondano ai simboli del broker. (I broker documentano i set di simboli; rivelano anche tutto tramite Market Watch.)
Lo spread, lo slippage o i filtri protettivi bloccano gli ingressi
Molti EA rifiutano intenzionalmente di operare quando lo spread è superiore a un input MaxSpread, quando lo slippage supera la tolleranza o quando le distanze di ingresso/SL sono fuori dai limiti configurati.
Cosa fare
Apri gli input dell’EA e imposta valori realistici di Max Spread e Max Slippage per le condizioni del tuo conto; allargali solo nella misura consentita dalla tua strategia. Se l’EA include filtri “Trade only on new bar” (Negozia solo su nuova barra) o filtri temporali, allineali all’ora del server del tuo broker.
Gli stop o il volume non sono validi per il simbolo (errore classico 130 / 131)
- Errore 130: stop non validi (il tuo SL/TP rientra nella distanza StopLevel / FreezeLevel del broker).
- Errore 131: volume di trading non valido (il lotto è inferiore a MinLot, superiore a MaxLot o non allineato a LotStep).
Cosa fare
Imposta SL/TP oltre lo StopLevel del simbolo e utilizza una dimensione del lotto che corrisponda alle regole MinLot/LotStep per quel simbolo. (Questi valori sono esposti tramite le proprietà del simbolo; molti EA gestiscono questo aspetto internamente, ma gli input rimangono comunque importanti.)
Lo stato del mercato o del conto impedisce il trading
Il tuo EA può essere bloccato da condizioni non correlate al codice:
- Mercato chiuso (fine settimana/giorni festivi) o trading disabilitato sul simbolo/conto → il server rifiuta le operazioni.
- Denaro insufficiente → margine insufficiente.
- Trading disabilitato dal broker o dallo stato dello strumento.
Questi errori vengono visualizzati come errori MT4 standard (ad es. 132 mercato chiuso, 134 denaro insufficiente, 133 trading disabilitato) in Terminale → Esperti/Diario.
Cosa fare
Effettua operazioni di trading live solo durante le ore di negoziazione e sui simboli abilitati; dimensiona le posizioni in modo da soddisfare il margine. Se il giornale mostra 133 (operazione disabilitata), contatta il broker in merito al simbolo specifico o alla modalità dell’account.
Le regole FIFO (conti regolamentati negli Stati Uniti) sono in conflitto con la logica del tuo EA
Ai sensi della normativa FIFO della NFA, se detieni più posizioni lunghe (o corte) sulla stessa coppia, devi chiudere prima quella più vecchia. Gli EA che effettuano operazioni di copertura, chiudono parzialmente fuori ordine o gestiscono più ticket sullo stesso simbolo possono essere rifiutati sui conti statunitensi.
Cosa fare
Rifattorizza l’EA o configuralo in modo che sia conforme, ad esempio evitando operazioni di copertura sulla stessa coppia e chiudendo in sequenza dalla più vecchia alla più recente. Alcuni trader modificano la strategia (dimensioni dei lotti diverse, simboli diversi) per aggirare i vincoli FIFO.
L’EA non è stato compilato/installato correttamente
MT4 esegue file .ex4 (compilati). Se hai copiato solo .mq4 e non hai compilato, o hai inserito i file nelle cartelle sbagliate, l’EA non apparirà o non verrà caricato.
Cosa fare
Colloca i file in File → Apri cartella dati → sottocartelle MQL4. Apri il file .mq4 in MetaEditor e compila per produrre il file .ex4 nella cartella MQL4\Experts corretta. Quindi riavvia MT4 o aggiorna il Navigatore.
L’EA dipende dalle DLL, ma le importazioni delle DLL sono bloccate o la DLL è di tipo errato
Se un EA utilizza librerie esterne, MT4 richiede:
- 1) Consenti importazioni DLL abilitato nella scheda Comune dell’EA e
- 2) DLL a 32 bit (MT4 è un’applicazione a 32 bit; le DLL a 64 bit non vengono caricate).
Cosa fare
Abilitare le importazioni DLL solo per il codice attendibile e fornire build a 32 bit di tutte le librerie richieste. Posizionare le DLL in MQL4\Libraries (o come indicato dal fornitore) e riavviare MT4.
L’elenco dei simboli non include ciò di cui l’EA ha bisogno
Se l’EA richiama indicatori o funzioni per un simbolo non aggiunto al Market Watch, le chiamate potrebbero non andare a buon fine (ad esempio, l’indicatore personalizzato viene caricato per un simbolo non visibile e restituisce errori di “impossibile caricare”).
Cosa fare
In Market Watch, clicca con il tasto destro del mouse → Mostra tutto o aggiungi i simboli e i gruppi specifici a cui fa riferimento il tuo EA in modo che il terminale riceva le quotazioni relative.
L’EA si collega, ma le dipendenze interne non funzionano (gli indicatori personalizzati non vengono caricati)
Molti EA utilizzano indicatori personalizzati tramite iCustom. Se tali indicatori sono denominati in modo errato, si trovano nella cartella sbagliata o mancano dei parametri, l’EA non è in grado di caricarli (messaggi tipici del tipo “impossibile caricare l’indicatore personalizzato” e serie di codici di errore come 4802 nelle piattaforme correlate).
Cosa fare
Inserire gli indicatori richiesti in MQL4\Indicators con i nomi dei file esatti previsti dall’EA; mantenere l’ordine dei parametri coerente con le chiamate iCustom dell’EA. Se l’EA prevede indicatori in sottocartelle specifiche, abbinare tale struttura.
Il grafico non è impostato sul giusto intervallo di tempo oppure l’EA è filtrato per intervallo di tempo/sessione
Gli EA spesso limitano gli ingressi a un intervallo di tempo o a una finestra di sessione di trading. Eseguirli su un intervallo di tempo diverso o al di fuori della sessione programmata comporterà l’assenza di operazioni, come previsto.
Cosa fare
Utilizza il timeframe per cui l’EA è stato creato e allinea eventuali filtri di sessione/ora (input) all’ora del server del tuo broker. (Si tratta di una proprietà della strategia, spesso elencata nei parametri dell’EA.)
Non ci sono dati storici per il calcolo degli indicatori
Se il tuo EA utilizza medie mobili, ATR o qualsiasi indicatore che richiede barre, una cronologia limitata significa che non ci sono segnali validi.
Cosa fare
Carica una cronologia sufficiente per il grafico/intervallo di tempo (scorri indietro o scarica la cronologia), quindi mantieni il grafico aperto in modo che la cronologia rimanga nella cache.
L’EA è in attesa del prossimo tick dopo che lo hai collegato
Per impostazione predefinita, il percorso di esecuzione principale (OnTick) viene eseguito quando arriva una nuova quotazione. Subito dopo aver collegato un EA, potrebbe sembrare inattivo fino all’arrivo del prossimo aggiornamento del prezzo.
Cosa fare
Lascia aperto il grafico; la prima azione si verifica al tick successivo. Se hai bisogno di un lavoro periodico in assenza di tick (ad esempio, mercati tranquilli), implementa/abilita un percorso OnTimer se l’EA lo supporta.
Le regole di trading dei simboli sono cambiate (aggiornamenti della build o del broker) e l’EA non è stato ricostruito per loro
Aggiornamenti importanti di MT4 e modifiche da parte del broker (ad esempio, nuovi parametri di esecuzione, modifiche allo StopLevel, rinominazione dei simboli) possono danneggiare i binari compilati o le ipotesi integrate nel tuo EA.
Cosa fare
Ricompilare dal codice sorgente nell’attuale MetaEditor e ricollegare. Se l’EA è un .ex4 di terze parti senza codice sorgente, ottenere una build aggiornata dal fornitore che si rivolge all’attuale build del terminale e al set di simboli del proprio broker.
Stai testando o utilizzando dati/grafici che non corrispondono al design dell’EA
I backtest che mostrano zero operazioni o grafici live che non si attivano mai spesso si riducono a input non corrispondenti, classe di strumenti errata o impostazioni del tester non realistiche (ad esempio, spread fissato a un valore impossibile).
Cosa fare
Inserisci nell’EA lo strumento e il timeframe per cui è stato progettato e imposta parametri di test realistici, compreso lo spread. Quindi eseguire un rapido test di controllo nel Strategy Tester per assicurarsi che la logica venga eseguita nelle condizioni previste.
Il conto o lo strumento si trova in uno stato che blocca le operazioni di trading
Alcune situazioni bloccano le funzioni di trading anche se l’EA è in esecuzione:
- Modalità solo chiusura su un simbolo.
- Finestre di trading (indici, metalli, energie) al di fuori dei loro orari di sessione.
- Azioni societarie o finestre di manutenzione.
Cosa fare
Operare entro gli orari di negoziazione per la classe di attività e i simboli specifici; se i messaggi del giornale segnalano che la negoziazione è disabilitata o simili, risolvere lo stato dello strumento con il proprio broker.
Apri un conto con XM
I permessi di I/O dei file o delle cartelle impediscono all’EA di leggere/scrivere
Se un EA scrive su disco (log, CSV, modelli) ma utilizza percorsi errati, Windows/UAC lo bloccherà silenziosamente.
Cosa fare
Utilizza i percorsi della cartella dati di MT4: File → Apri cartella dati e poi MQL4\Files per la lettura/scrittura. Conserva i file esterni all’interno di queste cartelle autorizzate in modo che il terminale possa accedervi. Riavvia il terminale dopo aver inserito i file.
Hai migrato l’EA su un VPS ma non hai migrato i suoi indicatori/impostazioni
Quando si ospita su un VPS, l’istanza del terminale deve contenere tutti i file necessari (EA, indicatori, librerie) e il grafico/modello attivo. Se sull’istanza VPS manca una dipendenza, l’EA verrà caricato senza effettuare operazioni di trading.
Cosa fare
Installa lo stack completo (EA + indicatori/librerie dipendenti), allegali ai grafici sul terminale VPS e assicurati che il trading automatico sia abilitato in quell’istanza. Se utilizzi indicatori personalizzati tramite iCustom, mantieni la stessa struttura di cartelle e gli stessi nomi dei file.
Diagnostica pratica che aiuta davvero
- 1) Leggi i registri: Terminale → Esperti e Terminale → Diario mostrano il motivo concreto del rifiuto (ad esempio, 130/131/133/134). Questi codici indicano direttamente la soluzione.
- 2) Verifica le regole dei simboli: StopLevel/FreezeLevel, MinLot/MaxLot/LotStep sono i limiti rigidi che il tuo EA deve rispettare.
- 3) Verifica che le quotazioni siano fluide: mostra il simbolo in Market Watch; i prezzi dovrebbero essere aggiornati nella barra di stato del grafico.
- 4) Ricompilare dopo gli aggiornamenti: mantenere il file .ex4 aggiornato con la build del terminale e il set di simboli del broker.
- 5) Confermare le autorizzazioni: AutoTrading (barra degli strumenti), a livello di piattaforma Consentire il trading automatico, a livello di EA Consentire il trading live e autorizzazioni DLL (se necessario).
Riferimento rapido: codici di errore MT4 ad alto impatto e loro significato
- 130 – Stop non validi: sposta SL/TP lontano dal prezzo oltre lo StopLevel del simbolo e al di fuori di qualsiasi FreezeLevel.
- 131 – Volume di trading non valido: regolare il lotto in modo che corrisponda a MinLot / MaxLot / LotStep per il simbolo.
- 132 – Mercato chiuso: effettuare operazioni solo durante l’orario di negoziazione dello strumento.
- 133 – Trading disabilitato: Il simbolo o l’account non consentono il trading; risolvere con il broker o cambiare simbolo.
- 134 – Denaro insufficiente: Aumentare il margine libero o ridurre la dimensione del lotto.
Una checklist precisa e minimale per far funzionare un EA
- 1) AutoTrading ON (verde) → Strumenti → Opzioni → Expert Advisors → Consenti trading automatico → EA Common → Consenti trading live (+ DLL se richiesto).
- 2) Accesso con password principale (non investitore).
- 3) Market Watch: mostra i simboli esatti del broker con cui fai trading; allega l’EA al grafico/intervallo di tempo corretto.
- 4) Input: imposta MaxSpread/Slippage realistici; conferma che gli input relativi a simbolo/ora/sessione riflettono le condizioni del tuo broker.
- 5) Stop/Volume: rispetta StopLevel/FreezeLevel e LotStep/MinLot.
- 6) Log: Leggi le schede Experts e Journal; correggi il codice esatto riportato (130/131/132/133/134).
- 7) Dipendenze: mantieni gli indicatori richiesti in MQL4\Indicators, le librerie in MQL4\Libraries e compila l’EA in .ex4.
- 8) Modalità normativa: se il tuo account è in FIFO, adatta di conseguenza il flusso di lavoro degli ordini del tuo EA.
Segui l’elenco in ordine. Ogni passaggio rimuove un blocco noto. Una volta che questi sono in atto, un EA progettato correttamente funzionerà e invierà ordini in condizioni di mercato normali.
- Close