Stop level e freeze level: perché non puoi piazzare lo SL
Contenuti
- Se non riesci a piazzare lo SL, non è detto che sia colpa dell'EA
- Come funziona: le due «distanze minime»
- Stop level
- Freeze level
- «0» non significa assenza di limiti
- Durante i dati macro la distanza si allarga
- Procedura di verifica e checklist
- Il controllo della distanza minima lato EA
- Limiti e avvertenze
- Riepilogo
Se non riesci a piazzare lo SL, non è detto che sia colpa dell'EA
Vado subito al punto. Nella maggior parte dei casi in cui lo SL non si piazza o non si riesce a spostare, la causa non è la logica dell'EA ma la «distanza minima» stabilita dalle specifiche del simbolo. In MT5 esistono lo «stop level», che stabilisce quanto SL e TP devono stare lontani dal prezzo corrente, e il «freeze level», che vieta le modifiche quando il prezzo si avvicina a SL, TP o a un ordine pendente.
Il problema è che questa distanza non è sempre la stessa. Uno SL che di solito passa senza problemi può essere rifiutato solo subito dopo la pubblicazione di un dato macro. Quando sviluppiamo un EA, controlliamo sempre questa distanza prima di inviare l'ordine. In questo articolo trovi il meccanismo, la procedura di verifica e i limiti delle contromisure lato EA.
Confronto broker consigliati →
🎁 Scarica EA gratis📧 Corso email gratuito (8 email) + pacchetto di 13 indicatori MT5 riservato agli iscritti
* Privacy rigorosamente protetta. Potete cancellarvi in qualsiasi momento.
Come funziona: le due «distanze minime»
Stop level
Lo stop level (SYMBOL_TRADE_STOPS_LEVEL) è la distanza minima in punti tra il prezzo corrente e SL/TP. Si misura dal Bid per le posizioni long e dall'Ask per quelle short, cioè dal prezzo di riferimento per la chiusura. Se provi a impostare uno SL più vicino di questa distanza, il server rifiuta l'ordine e MT5 restituisce il codice «Invalid stops» (10016).
Freeze level
Il freeze level (SYMBOL_TRADE_FREEZE_LEVEL) è la distanza entro cui, quando il prezzo si avvicina a SL, TP o al prezzo di un ordine pendente, quell'ordine non può più essere modificato né cancellato. Quando un EA con trailing stop prova a spostare lo SL poco prima della chiusura e viene rifiutato, di solito la causa è questa. Il codice restituito è «Frozen» (10029).
| Voce | Significato | Operazioni coinvolte | Codice di rifiuto principale |
|---|---|---|---|
| Stop level | Distanza minima tra prezzo corrente e SL/TP | Impostazione di SL/TP all'apertura, modifica dello SL | Invalid stops (10016) |
| Freeze level | Distanza entro cui le modifiche sono vietate quando il prezzo si avvicina a SL, TP o a un ordine pendente | Modifica di SL/TP, modifica o cancellazione di ordini pendenti | Frozen (10029) |
«0» non significa assenza di limiti
Anche se nelle specifiche lo stop level risulta 0, non è detto che si possa piazzare lo SL a qualsiasi distanza. Sembra che alcuni broker, con valore 0, applichino lato server altre regole (per esempio una distanza basata sullo spread). Non siamo in grado di verificare l'implementazione di ogni broker, quindi adottiamo un approccio prudente: «0 = almeno lo spread di distanza».
Durante i dati macro la distanza si allarga
Stop level e freeze level non sono valori fissi e possono cambiare a discrezione del broker. Alcuni broker li ampliano temporaneamente prima e dopo i dati macro importanti, subito dopo l'apertura del lunedì o nella fascia oraria del rollover. Nelle stesse fasce lo spread si allarga a sua volta, quindi lo SL di una posizione short, misurato dall'Ask, deve stare ancora più lontano di quanto richieda il movimento reale del prezzo.
In altre parole, anche se in condizioni normali giudichi «questa distanza va bene» guardando le specifiche, nel momento più importante l'ordine può essere rifiutato. Con un EA progettato in modo che l'ingresso passi anche senza SL, si rischia di restare con una posizione senza protezione.
Procedura di verifica e checklist
Controlla i seguenti punti sul conto che usi.
- Apri le specifiche del simbolo: nella finestra Market Watch, clic destro sul simbolo → «Specifiche». Annota i valori di «Stop level» e «Freeze level» (l'unità è il punto).
- Converti i punti in prezzo: XAUUSD e USDJPY hanno un valore del punto diverso, quindi controlla le cifre decimali e converti in differenza di prezzo.
- Confrontali con la distanza SL dell'EA: verifica che la distanza SL usata nelle impostazioni o nella logica dell'EA sia nettamente superiore alla somma di stop level e spread.
- Ricontrolla prima e dopo i dati macro: apri la stessa schermata poco prima della pubblicazione e verifica se i valori cambiano. Se un broker lo faccia o meno si capisce solo guardando di persona.
- Controlla i log: nelle schede «Operazioni» ed «Esperti» verifica se compaiono «Invalid stops» o «Frozen». Come individuare la causa di un ordine rifiutato è spiegato anche in Know-how su EA e MT5.
Per la configurazione dell'EA vera e propria consulta la guida alla configurazione dell'EA; per le differenze nelle condizioni di trading tra i broker, il confronto dei broker FX.
Il controllo della distanza minima lato EA
Nei nostri EA, prima di inviare un ordine, eseguiamo i controlli in quest'ordine:
- Leggiamo ogni volta stop level, freeze level e spread di quel momento (non usiamo i valori letti una sola volta all'avvio)
- La distanza minima è «il maggiore tra stop level e freeze level» più lo spread e un piccolo margine
- Se lo SL è più vicino di questa distanza, saltiamo l'ingresso senza allargare lo SL di nostra iniziativa
Non progettiamo l'allargamento automatico dello SL perché, allargandolo, la perdita per singola operazione supera quella prevista dal progetto. Se il lotto viene calcolato a ritroso dalla distanza SL, allargare solo lo SL fa saltare la percentuale di rischio. Saltare l'ingresso riduce le occasioni, ma riteniamo sia meglio che assumersi un rischio non previsto.
Limiti e avvertenze
Questo controllo non previene tutti i problemi.
- Difficile da riprodurre nel backtest: per quanto ne sappiamo, lo strategy tester di MT5 usa l'impostazione attuale delle specifiche del simbolo e non riproduce gli ampliamenti di distanza avvenuti in passato durante i dati macro. Più lo SL dell'EA è corto, più la differenza tra test e risultati reali può essere ampia. Per esempio GOLD TRIPWIRE ha un tempo medio di detenzione di appena 0:21:12 nel backtest, quindi lo consideriamo tra i tipi più esposti a queste differenze.
- Saltare gli ingressi cambia i risultati: tra le operazioni saltate dal controllo ce ne saranno anche di vincenti. Con il controllo attivo, le operazioni eseguite sono diverse da quelle del backtest.
- Le condizioni cambiano anche al momento dell'invio: tra il superamento del controllo e l'arrivo al server le condizioni possono variare, quindi i rifiuti non si azzerano del tutto.
- Anche lo SL può subire slippage: pur riuscendo a piazzare lo SL, se il mercato cambia bruscamente l'esecuzione può avvenire a un prezzo peggiore dello SL. Il controllo della distanza minima non è una misura contro lo slippage.
Riepilogo
- Nella maggior parte dei casi, se lo SL non si piazza la causa è lo stop level (distanza minima) o il freeze level (distanza in cui le modifiche sono vietate) delle specifiche del simbolo
- In caso di rifiuto, il codice restituito è «Invalid stops» o «Frozen»
- Uno stop level pari a 0 non significa «nessun limite»: mantieni almeno la distanza dello spread
- Alcuni broker allargano distanza e spread prima e dopo i dati macro, e l'ordine può essere rifiutato proprio nel momento più importante
- Il nostro approccio lato EA: leggere ogni volta i valori del momento, controllare e, se la distanza non basta, saltare l'ingresso senza allargare lo SL
- Il backtest riproduce con difficoltà le variazioni passate della distanza: più lo SL dell'EA è corto, più bisogna fare attenzione alle differenze nell'operatività reale
Correlati
2026-05-18
Gestione del Drawdown negli EA MT5
2026-11-06
MT5: codici di rifiuto ordini e come diagnosticarli
2026-11-04
MagicNumber: gestire più EA sullo stesso conto
2026-11-02
Ordini e posizioni MT5: evitare errori con il netting
📧 Corso email gratuito (8 email) + pacchetto di 13 indicatori MT5 riservato agli iscritti
* Privacy rigorosamente protetta. Potete cancellarvi in qualsiasi momento.
Hai domande su EA o Forex?
Puoi pubblicarle sul forum di trading di Nattzy (registrazione gratuita). Sono benvenute anche domande che vanno oltre questo articolo: impostazioni degli EA, scelta del broker e altro.
Chiedi su Nattzy ↗