Lo slippage è la differenza tra il prezzo richiesto o osservato e quello a cui l’ordine viene effettivamente eseguito. Può essere positivo o negativo. La latenza è soltanto una delle cause: incidono anche movimento del mercato, liquidità, dimensione dell’ordine e gestione del server.
Slippage, latenza e requote non sono la stessa cosa
Lo slippage è uno scostamento di prezzo. La latenza è il ritardo tra una richiesta e la risposta del server. Un requote compare quando il prezzo richiesto non è più disponibile e la modalità di esecuzione ne propone un altro. Il rifiuto dell’ordine è ancora diverso: può dipendere da volume, stop, mercato chiuso, autorizzazioni o margine insufficiente.
| Evento | Che cosa si osserva | Dato utile |
|---|---|---|
| Slippage | Il prezzo di esecuzione è diverso da quello richiesto. | Richiesta, esecuzione e spread nello stesso istante. |
| Latenza | L’ordine o la modifica richiedono più tempo. | Orari del terminale e report del broker. |
| Requote | Viene proposto un nuovo prezzo. | Messaggio nel Journal e modalità di esecuzione. |
| Rifiuto | Il server non accetta la richiesta. | Codice errore, parametri e specifiche. |
Interpretare i dati insieme al modello di esecuzione del conto. Cambiamenti persistenti su richieste comparabili rientrano nel monitoraggio e nella rivalidazione dell’EA; una singola esecuzione favorevole o sfavorevole non giustifica nuovi parametri.
Per confrontare i simboli in modo coerente, consulta la guida alle coppie per scalping, alle sessioni e ai costi completi.
Prima di interpretare un rapporto di operazioni molto brevi, verifica dati, tempi dei segnali ed esecuzione nel backtest di scalping MT4.
Applica questi controlli alla strategia di pullback EMA su M1 con trend M5 chiuso, comprese le regole di annullamento alla prima quotazione e dopo i costi.
Per un’ipotesi diversa, consulta la strategia M5 di breakout del micro-range fisso, con prima chiusura esterna, scadenza e rifiuto dopo i costi.
Un’altra ipotesi di price action è la strategia di falso breakout e rientro M1, con rientro e conferma immediati separati, annullamento del ritardo e uscite eseguibili fisse.
Perché un ordine automatico può ottenere un risultato diverso
Tra il calcolo del segnale e l’esecuzione, il prezzo può muoversi. Il volume disponibile al miglior livello può essere limitato, soprattutto durante notizie, rollover o cambi di sessione. Il broker può aggregare quotazioni, applicare un markup, controllare stop e margine, quindi instradare o internalizzare l’ordine. Ogni passaggio può aggiungere tempo o modificare il prezzo eseguibile.
La distanza tra VPS e server è importante, ma un ping basso non misura la coda, il bridge, la risposta del fornitore di liquidità o il tempo impiegato dall’EA. Un lotto elevato o più ordini simultanei possono produrre risultati diversi da una piccola operazione di prova.
Misura una distribuzione, non una singola operazione
- Sincronizza l’orologio del VPS e conserva Experts e Journal.
- Registra simbolo, direzione, tipo, prezzo richiesto, prezzo di esecuzione, lotto e orari.
- Salva lo spread Bid/Ask al momento della richiesta e identifica rollover e notizie programmate.
- Separa ingressi a mercato, attivazioni di ordini pendenti, chiusure e modifiche degli stop.
- Calcola slippage positivo e negativo, mediana e valori estremi.
- Confronta demo e conto reale solo quando impostazioni, tempistiche ed entità giuridica del broker sono equivalenti.
Esecuzioni favorevoli e sfavorevoli possono compensarsi nella media, mentre poche molto sfavorevoli causano gran parte del danno. Esamina anche percentili e casi peggiori. La convenzione di segno è definita più avanti.
Riduci l’impatto senza snaturare la strategia
Non allargare ogni tolleranza in modo indiscriminato. Una deviazione eccessiva può accettare prezzi peggiori; una troppo stretta può generare continui tentativi o impedire l’uscita. Il limite corretto dipende dall’orizzonte, dal vantaggio atteso e dal modello di rischio. Un VPS più veloce non può risolvere la scarsa liquidità.
Errori di interpretazione frequenti
Non attribuire ogni perdita a manipolazioni del broker, non confrontare grafici Bid con esecuzioni di acquisto e non giudicare una schermata senza il prezzo Ask contemporaneo. Non confrontare un ordine demo con uno reale inviato secondi dopo, né presumere che un VPS più veloce risolva la scarsa liquidità. Ricostruisci l’evento completo da log e storico del conto.
La gestione sicura degli errori è importante quanto un’esecuzione normale: l’EA deve evitare cicli incontrollati di nuovi tentativi, ordini duplicati e guasti silenziosi dopo una disconnessione.
Usa una sola convenzione di segno per confrontare le esecuzioni
Definisci slippage positivo come costo avverso. Per BUY calcola prezzo eseguito − prezzo richiesto; per SELL, prezzo richiesto − prezzo eseguito. Valori negativi indicano miglioramento di prezzo. Chiudere una posizione BUY è un’operazione SELL; chiudere una SELL è una BUY.
BUY ipotetico: richiesto 1.10020, eseguito 1.10035. La differenza avversa è 0.00015: 15 point con Point = 0.00001, oppure 1.5 pip se un pip vale 0.00010. Specifica le unità prima di confrontare altri strumenti.
Misura l’intervallo e chiarisci gli esiti incerti
Per la latenza osservata dal terminale, misura dall’invio della richiesta alla ricezione dell’esito usando lo stesso orologio. Ping, ritardo fra segnale e richiesta e processamento del server sono intervalli diversi. Non sottrarre timestamp di macchine non sincronizzate chiamando il risultato latenza di esecuzione.
Il parametro slippage/deviation di MT4 non garantisce universalmente un prezzo; l’effetto dipende dal contesto. Requote, rifiuto e timeout sono esiti differenti. Dopo un esito incerto, confronta ordini e cronologia prima di un tentativo limitato. Confronta distribuzioni con segno e trade mancanti separatamente, includendo estremi avversi oltre alla media.
La documentazione ufficiale di OrderSend spiega prezzi richiesti, slippage e gestione degli errori.
Riferimenti ufficiali
MetaTrader spiega l’esecuzione delle richieste e riporta i parametri controllati dal broker nelle specifiche del simbolo. Collega ciascun messaggio del log al modo di esecuzione e alle specifiche di quel simbolo.