BreakEvenTrailingMarket
- Utilità
- Versione: 1.0
BreakEven Trailing è un'utilità per MetaTrader 5 che gestisce lo stop loss delle posizioni già aperte. Sposta lo stop loss al punto di pareggio e lo trascina dietro al prezzo, così non è necessario seguire il grafico per proteggere un profitto in corso.
L'EA non apre posizioni e non le chiude con ordini a mercato. Modifica soltanto lo stop loss delle posizioni esistenti. L'uscita avviene quando il prezzo raggiunge lo stop loss impostato dall'EA.
COSA FA
- Sposta lo stop loss al prezzo di apertura, oppure al prezzo di apertura più uno scostamento scelto, quando la posizione raggiunge un profitto definito in pips.
- Trascina lo stop loss a distanza fissa dietro al prezzo corrente quando la posizione raggiunge un profitto definito in pips.
- Pareggio e trailing si attivano e disattivano separatamente e possono essere usati insieme.
- Funziona con posizioni BUY e SELL.
- Non sposta mai uno stop loss esistente su un livello peggiore. Lo stop loss si muove solo nella direzione che protegge più profitto.
- Mantiene invariato il take profit esistente quando modifica lo stop loss.
- Mostra sul grafico le impostazioni correnti, il tipo di conto e lo stato di funzionamento.
QUALI POSIZIONI VENGONO GESTITE
L'EA gestisce tutte le posizioni del simbolo del grafico su cui è applicato.
- I magic number non vengono controllati. Vengono gestite le posizioni aperte manualmente, da un altro EA o dalla copia di operazioni.
- Le posizioni di altri simboli non vengono mai modificate.
- Gli ordini pendenti non vengono mai modificati.
- Viene modificato solo lo stop loss. Volume, take profit e direzione della posizione restano invariati.
Poiché l'EA non filtra per magic number, non eseguire contemporaneamente due programmi che modificano lo stop loss dello stesso simbolo: si sovrascriverebbero a vicenda. Applica l'EA a un solo grafico per simbolo.
CONTI HEDGING E NETTING
Su un conto hedging ogni posizione viene gestita separatamente in base al suo ticket. Due posizioni sullo stesso simbolo possono avere livelli di pareggio diversi, perché ciascuna ha il proprio prezzo di apertura.
Su un conto netting la piattaforma mantiene una sola posizione aggregata per simbolo. Più esecuzioni vengono unite in un'unica posizione con un prezzo medio di apertura, e tale prezzo medio è il riferimento del pareggio. Su un conto netting non è possibile avere livelli di pareggio distinti per ogni esecuzione, e una nuova esecuzione modifica il prezzo medio di apertura dell'intera posizione. L'EA rilegge la posizione aggregata a ogni tick, quindi lavora sempre sul prezzo medio più recente.
Il tipo di conto rilevato è mostrato nel pannello del grafico come Hedging o Netting.
COME VIENE SCELTO LO STOP LOSS
Quando pareggio e trailing sono entrambi attivi, le due condizioni possono verificarsi nello stesso momento. In tal caso l'EA non invia due richieste di modifica. A ogni tick esegue i passaggi seguenti:
1. Calcola il candidato di pareggio: prezzo di apertura più o meno lo scostamento nella direzione del profitto.
2. Calcola il candidato di trailing: prezzo corrente meno o più la distanza di trailing.
3. Arrotonda ciascun candidato al passo di prezzo del simbolo, sempre dal lato che non avvicina lo stop loss al prezzo corrente più di quanto richiesto.
4. Verifica ciascun candidato separatamente rispetto a stops level e freeze level del simbolo.
5. Confronta i candidati validi e invia solo quello che protegge più profitto: lo stop loss più alto per una posizione BUY, quello più basso per una posizione SELL.
Se un candidato non può essere impostato per una restrizione del broker, viene usato l'altro quando è valido. Un candidato non viene mai sostituito da un livello peggiore pur di far passare la modifica.
RESTRIZIONI DEL BROKER
Molti broker non accettano uno stop loss troppo vicino al prezzo corrente, e alcuni bloccano la modifica della posizione mentre il prezzo si trova in una zona di freeze. L'EA controlla stops level e freeze level prima di inviare la richiesta e legge il codice di ritorno del server di trading dopo l'invio.
Quando lo stop loss non può essere impostato, l'EA attende e riprova al tick successivo. Non sposta lo stop loss su un livello peggiore e non disattiva la funzione. Il motivo è indicato nel pannello del grafico, così si capisce se l'EA sta aspettando il mercato o se il server ha rifiutato la richiesta.
Si noti che alcuni broker dichiarano uno stops level pari a zero e applicano comunque una restrizione dinamica lato server. In tal caso l'esito finale è deciso dal codice di ritorno del server di trading, che l'EA riporta nel pannello e nel log.
PARAMETRI DI INPUT
Pareggio
- Enable break-even (predefinito true). Attiva o disattiva la funzione di pareggio.
- Profit to trigger break-even, in pips (predefinito 10.0). Profitto flottante che la posizione deve raggiungere prima dello spostamento dello stop loss.
- Offset beyond open price, in pips (predefinito 0.0). Distanza dal prezzo di apertura nella direzione del profitto. Utile per coprire spread, commissioni e swap.
Trailing stop
- Enable trailing stop (predefinito true). Attiva o disattiva la funzione di trailing.
- Profit to start trailing, in pips (predefinito 15.0). Profitto flottante necessario per avviare il trailing.
- Distance from price to stop, in pips (predefinito 10.0). Distanza mantenuta tra il prezzo corrente e lo stop loss durante il trailing.
Pannello del grafico
- Show settings and status on chart (predefinito true).
- Panel font size (predefinito 12). I valori sono limitati all'intervallo da 8 a 24.
I valori vengono verificati all'avvio dell'EA. Se un valore non può funzionare, l'EA lo segnala e non si avvia. Se una combinazione è consentita ma insolita, l'EA si avvia e scrive un avviso nel log. I casi sono due: uno scostamento maggiore della soglia di pareggio, per cui lo stop loss potrà essere impostato solo dopo un ulteriore avanzamento del prezzo, e una soglia di avvio del trailing minore della distanza di trailing, per cui il primo trailing stop può risultare peggiore del prezzo di apertura.
PANNELLO DEL GRAFICO
Il pannello mostra versione, simbolo, tipo di conto, stato delle due funzioni con le relative impostazioni, numero di posizioni BUY e SELL gestite, numero di modifiche effettuate nel tick corrente e stato attuale.
Valori di stato:
- ACTIVE: l'EA sta monitorando le posizioni.
- WAITING: NO POSITION: nessuna posizione sul simbolo corrente.
- WAITING: NO QUOTE: non sono ancora disponibili bid e ask validi.
- WAITING: STOP LEVEL: lo stop loss candidato è più vicino al prezzo di quanto consentito dal broker.
- BLOCKED: FREEZE LEVEL: il prezzo si trova nella zona in cui il broker non consente modifiche.
- WAITING: MARKET CLOSED, WAITING: PRICE OFF, WAITING: PRICE CHANGED, WAITING: TOO MANY REQUESTS: condizioni temporanee di mercato o del server.
- ALL FUNCTIONS OFF: entrambe le funzioni sono disattivate.
- AUTO TRADING OFF, EA TRADING DISABLED, ACCOUNT TRADE DISABLED, EXPERT TRADE DISABLED, SERVER AUTO TRADING OFF, DISCONNECTED: il trading non è consentito nel terminale, per questo EA o su questo conto, oppure il terminale non è connesso.
- ERROR: INVALID STOPS, ERROR: TRADE DISABLED, ERROR: SYMBOL SETTINGS, ERROR: MODIFY FAILED: la richiesta è stata rifiutata. Il codice di ritorno viene scritto nel log.
Gli errori ripetuti sullo stesso ticket vengono registrati solo alla prima occorrenza, al cambio del codice di ritorno e poi una volta al minuto, per mantenere il log leggibile. Quando una posizione si ripristina dopo un errore viene scritta una riga di ripristino.
DEFINIZIONE DI PIP E SIMBOLI SUPPORTATI
Tutte le distanze si impostano in pips, non in points.
- Simboli quotati con 3 o 5 decimali: un pip equivale a dieci points.
- Simboli quotati con 2 o 4 decimali: un pip equivale a un point.
Questa definizione segue la quotazione standard del forex. Metalli, indici e criptovalute sono fuori dall'ambito supportato dalla versione 1.00, perché la definizione di pip per questi strumenti non è uniforme tra i broker. Su tali simboli il calcolo funzionerebbe comunque, ma il significato di un pip potrebbe non corrispondere alle attese: verifica le distanze risultanti su un conto demo prima dell'uso.
COSA SIGNIFICA QUI PAREGGIO
Il pareggio in questo EA è il prezzo di apertura della posizione registrato dalla piattaforma. Non include commissioni, swap, slippage né la differenza tra bid e ask al momento dell'uscita. Una posizione chiusa esattamente al prezzo di apertura non garantisce quindi un risultato esattamente pari a zero.
Se vuoi che lo stop loss copra anche i tuoi costi operativi, imposta lo scostamento oltre il prezzo di apertura su un valore coerente con tali costi sul tuo conto.
COME USARLO
1. Applica l'EA al grafico del simbolo da gestire. Il timeframe è libero: l'EA lavora a ogni tick e non dipende dal timeframe.
2. Attiva il trading algoritmico nel terminale.
3. Imposta soglie e distanze in pips in base al tuo stile operativo e all'escursione tipica del simbolo.
4. Verifica che il pannello mostri ACTIVE con una posizione aperta e WAITING: NO POSITION quando non ce ne sono.
5. Apri un grafico per simbolo. Non applicare l'EA due volte allo stesso simbolo.
L'EA può restare sul grafico in modo permanente. Non fa nulla finché non ci sono posizioni sul simbolo.
REQUISITI
- MetaTrader 5. Testato sulla build 5836 del terminale.
- Trading algoritmico attivo nel terminale e per l'EA.
- Un conto che consenta la modifica dello stop loss delle posizioni aperte.
- Non vengono usati DLL, WebRequest, file esterni né connessione a internet.
TEST
La versione 1.00 è stata testata su un conto demo di un broker retail.
- Test di calcolo: 46 controlli automatici superati. Coprono BUY e SELL, pareggio, trailing, entrambe le funzioni insieme, il tick precedente all'attivazione e l'attivazione esatta, un candidato che viola lo stops level ed entrambi i candidati che lo violano, la protezione di uno stop loss esistente, il freeze level applicato a stop loss e take profit, simboli con 2, 3, 4 e 5 decimali e l'arrotondamento al passo di prezzo nella direzione corretta.
- Test di integrazione con l'API di trading su conto hedging: pareggio eseguito per BUY e per SELL con codice di ritorno 10009 (richiesta completata), take profit esistente conservato, nessuna richiesta fallita. Sono stati elaborati circa 360.000 tick.
DOMANDE FREQUENTI
L'EA apre o chiude operazioni?
No. Modifica soltanto lo stop loss di posizioni già esistenti. La posizione viene chiusa dal broker quando il prezzo raggiunge quello stop loss.
Funziona con le operazioni di un altro EA o di un segnale?
Sì. I magic number non vengono controllati, quindi viene gestita qualsiasi posizione sul simbolo. Per lo stesso motivo, non usarlo insieme a un altro programma che modifica lo stop loss dello stesso simbolo.
Cosa succede se il terminale è chiuso?
Con il terminale chiuso l'EA non può lavorare. I livelli di stop loss già impostati restano sul server e continuano a essere validi, perché sono ordini lato server.
Posso usare il pareggio senza il trailing?
Sì. Ogni funzione ha il proprio interruttore. Se sono entrambe disattivate l'EA resta inattivo e mostra ALL FUNCTIONS OFF.
Perché lo stop loss non si muove anche se il profitto è stato raggiunto?
Il motivo più comune è una restrizione del broker. Controlla il pannello: WAITING: STOP LEVEL significa che lo stop loss richiesto è più vicino al prezzo di quanto consentito e che l'EA attende una distanza valida invece di impostare uno stop peggiore.
Funziona su un conto netting?
Sì. Su un conto netting esiste una posizione aggregata per simbolo e il prezzo medio di apertura viene usato come riferimento del pareggio.
VERSIONE
1.00 - Prima versione.
