XAUXXDiario di ricerca
← Torna al diario

Come diagnosticare l'errore 130 di un EA su MT4? Metodo in quattro passi dalla distanza dello stop loss ai limiti dinamici

Con un diagramma di flusso originale in azzurro chiaro, diagnosticare passo dopo passo l'ERR_INVALID_STOPS di un EA su MT4: log, precisione delle quotazioni, MODE_STOPLEVEL e limiti dinamici, evitando di mascherare il rischio allargando lo stop loss.

Thomas · Aggiornato 2026-10-20

Autore: Thomas|Pratica EA e MT4|20 ottobre 2026

L'EA è già stato applicato al grafico e il trading automatico è attivo, ma al momento dell'invio dell'ordine compare "130", il che di solito fa pensare che il programma sia completamente guasto. La documentazione di riferimento MQL4 elenca il 130 come ERR_INVALID_STOPS: lo stop loss, il take profit, il prezzo dell'ordine pendente o il loro metodo di normalizzazione nella richiesta non sono stati accettati dal server di trading. È un indizio per la diagnosi, non un motivo per allargare ciecamente lo stop loss. Questo articolo illustra con un metodo in quattro passi quali registrazioni esaminare.

Primo passo: stabilire innanzitutto quale richiesta è fallita

Aprire il terminale MT4 o i log pertinenti del programma e annotare l'ora del server in cui si è verificato l'errore, il simbolo, la direzione dell'ordine, se l'operazione era OrderSend o OrderModify e il codice di errore restituito. Se nel log c'è solo la scritta "ordine fallito", fare in modo che l'EA registri il prezzo della richiesta, lo stop loss, il take profit e il valore restituito, senza outputtare dati sensibili come le password. Distinguere innanzitutto tra fallimento dell'apertura, fallimento della modifica dello stop loss e fallimento dell'ordine pendente; le relazioni tra i prezzi da verificare nei tre casi sono diverse.

Non "tentare la fortuna" su un conto reale inviando ripetutamente la stessa richiesta fallita. I tentativi ripetuti possono generare carico aggiuntivo e, dopo un cambiamento delle condizioni di mercato, potrebbero improvvisamente riuscire creando posizioni indesiderate. Riprodurre prima in ambiente demo e conservare la versione dei parametri e le quotazioni della piattaforma di quel momento.

Secondo passo: verificare Bid, Ask, Point e Digits

MarketInfo di MQL4 permette di leggere Bid, Ask, Point e Digits del simbolo corrente. Point rappresenta una delle unità minime di visualizzazione della quotazione, Digits indica il numero di decimali; a quanti dollari corrispondano "10 punti" va calcolato in base al Point effettivo del simbolo, senza confondere i codici dell'oro e le precisioni di broker diversi. Prima di passare il prezzo occorre inoltre normalizzarlo in base al numero di cifre corrispondente.

Esempio puramente matematico: se un simbolo demo ha Point pari a 0,01 e distanza minima di 50 point, la distanza calcolata è di 0,50 unità di quotazione; con un simbolo con Point pari a 0,001 sarebbe 0,05. I numeri non rappresentano le regole contrattuali di alcuna piattaforma reale oggi. Quando si consultano i log, salvare anche i prezzi di acquisto e vendita, per evitare di verificare con il prezzo di vendita il lato che dovrebbe fare riferimento al prezzo di acquisto, o viceversa.

Terzo passo: controllare MODE_STOPLEVEL e il tipo di ordine

La documentazione ufficiale di OrderSend spiega che stop loss e take profit non possono essere troppo vicini al prezzo di mercato; anche il prezzo di apertura prestabilito di un ordine pendente non può essere troppo vicino al mercato corrente. È possibile interrogare la distanza minima pubblica con MarketInfo(Symbol(),MODE_STOPLEVEL), espressa in point. Poi, a seconda che l'ordine sia di acquisto, di vendita o di un determinato tipo di ordine pendente, verificare separatamente la direzione del prezzo, la distanza e la normalizzazione, invece di applicare un offset fisso a tutti gli ordini.

![Diagramma didattico in quattro passi per la diagnosi dell'errore 130 di un EA su MT4, non uno screenshot di piattaforma reale](/media/201800aa-1111-4444-8888-123456789abc.png)

L'immagine sopra è uno schema di flusso originale, senza quotazioni o dati di conto reali. La distanza minima è solo il confine tecnico entro cui il server accetta l'ordine, non equivale a una distanza di stop loss ragionevole dal punto di vista della strategia. Se per aggirare il 130 si allontana lo stop loss, il rischio per singola operazione originariamente previsto aumenterà; occorre prima ricalcolare la dimensione della posizione e, se necessario, rinunciare all'operazione.

Quarto passo: anche un ritorno 0 non permette di affermare che non ci siano limiti

La documentazione ufficiale MQL4 su MODE_STOPLEVEL avverte espressamente: un ritorno 0 può significare che non esiste una distanza minima fissa, oppure che il server adotta un limite dinamico che il terminale non è in grado di rappresentare direttamente. In quest'ultimo caso può comunque restituire 130. Pertanto "se restituisce 0 si può mettere lo stop loss a ridosso del prezzo" non è valido. Quando il mercato cambia bruscamente, l'aggiornamento delle quotazioni, le variazioni dello spread e le regole lato server possono rendere inefficaci distanze calcolate in precedenza.

Se la formula del codice corrisponde al log di quel momento e si incontra ancora il 130, conservare ora del fallimento, simbolo, parametri dell'ordine e versione della piattaforma, consultare le specifiche del simbolo e i limiti degli ordini del broker e verificare con il supporto tecnico della piattaforma. Non dedurre le regole di questo conto dal Point e dallo StopLevel di altre piattaforme, e tanto meno mascherare la vera causa del fallimento eliminando lo stop loss.

Ordine di verifica dopo la correzione

Eseguire prima in un conto demo un caso minimo riproducibile: con lo stesso simbolo registrare i quattro parametri di quotazione e lo StopLevel, inviare una singola richiesta di test, controllare la risposta del server e lo stato dell'ordine. Poi testare il comportamento con variazioni rapide dei prezzi o in diverse sessioni di trading. Verificare che il programma abbia un meccanismo di arresto o raffreddamento dopo un fallimento e che non apra posizioni duplicate durante i tentativi. Infine verificare che il budget di rischio, lo spread e la perdita accettabile siano ancora conformi al piano originale.

Il punto centrale della diagnosi dell'errore 130 è "perché la richiesta è stata rifiutata", non "come forzarla a essere eseguita". I risultati di esecuzione dell'EA dipendono anche dalla logica della strategia, dalla rete e dall'esecuzione della piattaforma; nessuna correzione garantisce profitti o evita perdite. Il trading con leva può causare perdite significative.

原创MT4 EA错误130排查流程,非真实平台截图
原创MT4 EA错误130排查流程,非真实平台截图
Avvertenza: le operazioni con leva possono causare perdite rilevanti. I contenuti sono destinati alla ricerca e alla formazione, senza garanzie di rendimento. Le performance passate non prevedono risultati futuri.
WECHAT

Connect with Thomas

Gold research · Trading reviews · MT4 discussions

WeChat ID:xauxx666
Open QR image

Scan with WeChat to add. On mobile, open and save the image, then select it from your album in WeChat Scan.

Thomas’s WeChat QR code, ID xauxx666