MagicNumber: gestire più EA sullo stesso conto
Contenuti
In sintesi: il MagicNumber è il "cartellino" dell'EA. Non duplicarlo mai all'interno di un conto
Se su un unico conto fai girare più EA, la prima cosa da decidere è l'assegnazione dei MagicNumber. Il MagicNumber è il numero applicato a ordini e posizioni per indicare "quale EA li ha generati". Molti EA si basano su questo numero per stabilire quali sono le proprie posizioni.
Se i numeri sono duplicati, un EA può scambiare le posizioni di un altro EA per le proprie e chiuderle o modificarne gli stop di sua iniziativa. Non compare alcun errore e, a schermo, entrambi gli EA sembrano funzionare normalmente: è un problema difficile da notare.
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: come fa un EA a riconoscere "le proprie posizioni"
In MT5, quando un EA invia un ordine, può associargli un MagicNumber numerico. Questo valore resta registrato nella posizione (POSITION_MAGIC) e nello storico delle operazioni (DEAL_MAGIC). Per gli ordini inviati manualmente, di norma è 0.
Un EA tipico, quando conta o gestisce le posizioni, le filtra così:
- il simbolo coincide con quello del proprio grafico?
- il MagicNumber coincide con il valore impostato nell'EA?
Solo le posizioni che soddisfano entrambe le condizioni vengono trattate come "proprie". Il punto importante è che MT5 stesso non impedisce di duplicare il MagicNumber. Il numero è una semplice convenzione: rispettarla dipende da chi gestisce il conto e da come è scritto l'EA.
Cosa succede in caso di duplicati
Se due EA operano sullo stesso simbolo con lo stesso MagicNumber, possono verificarsi, ad esempio, queste situazioni:
- Entrate bloccate: un EA con "massimo 1 posizione" conta anche la posizione dell'altro EA come propria e rinuncia a nuove entrate
- Chiusura di posizioni altrui: quando scatta il segnale di uscita, vengono chiuse anche le posizioni dell'altro EA
- Sovrascrittura degli stop: il trailing stop sposta anche lo SL delle posizioni dell'altro EA
- Calcolo errato dei lotti: negli EA che determinano il lotto in base al numero di posizioni aperte, l'esposizione risulta maggiore del previsto
Nulla di tutto ciò emerge nel backtest, perché nel tester gli EA vengono eseguiti uno alla volta. Questa è una delle cause dello scarto tra i risultati dei test e l'operatività reale.
Tracciamento delle chiusure parziali
Con gli EA che usano le chiusure parziali, bisogna prestare attenzione anche a come si ricostruiscono i dati. Su un conto hedging, anche dopo una chiusura parziale l'identificativo della posizione (POSITION_IDENTIFIER) non cambia e resta registrato nelle operazioni di chiusura dello storico come DEAL_POSITION_ID. Per aggregare in seguito i risultati di ciascun EA, il metodo più affidabile è filtrare per MagicNumber e poi raggruppare per questo ID di posizione.
Va però considerato che il MagicNumber registrato nell'operazione di chiusura può essere quello di chi ha inviato l'ordine di chiusura. Se chiudi manualmente una parte di una posizione aperta da un EA, quell'operazione avrà numero 0 e, aggregando solo per MagicNumber, i conti potrebbero non tornare. Anche il campo commento può essere riscritto dal broker o dal server, quindi non è un riferimento affidabile per l'identificazione.
Checklist prima della configurazione
| Cosa verificare | Come verificarlo | Rischio se trascurato |
|---|---|---|
| I MagicNumber dei vari EA sono tutti diversi? | Elencali dalla schermata dei parametri di ciascun EA e annotali | Interferenze nelle chiusure e nelle modifiche dello SL |
| Se usi lo stesso EA su più grafici, hai assegnato numeri diversi? | Usa numeri distinti anche per simboli o timeframe diversi | Scambi di posizioni negli EA che non guardano il simbolo |
| Il conto è di tipo hedging? | Controlla le informazioni del conto | Sui conti netting le posizioni sullo stesso simbolo vengono sommate in una sola e non si possono separare con il numero |
| Hai cambiato il numero mentre l'EA era in funzione? | Prima di cambiarlo, verifica che non ci siano posizioni aperte | Le posizioni esistenti restano senza gestione |
| Stai mescolando operatività manuale ed EA? | Opera manualmente su un conto separato | Aggregazioni sfalsate e registrazioni mancanti per le chiusure manuali |
Se adotti una regola semplice, come "una fascia di cifre per ogni EA", sarà più facile orientarsi quando in seguito esaminerai lo storico. Dove si trova la schermata di configurazione è spiegato in Come configurare un EA.
Limiti e avvertenze
Anche con MagicNumber diversi, alcune interferenze non si evitano. Lo dico con franchezza.
- Non funziona con gli EA che ignorano il MagicNumber: gli EA che filtrano solo per simbolo, o che gestiscono tutte le posizioni del conto, interferiscono anche con numeri diversi. Se aggiungi EA di terzi, non possiamo sapere come sono costruiti.
- Conflitti sui valori predefiniti: molti EA vengono distribuiti con il valore di default. È più che possibile che EA di sviluppatori diversi abbiano per caso lo stesso valore iniziale. Controlla sempre il valore di persona.
- EA che operano su più simboli: quando un solo EA gestisce più simboli, come ATLAS o TRINITY, si finisce per condividere gli stessi simboli con altri EA. Anche con numeri diversi il margine è comune, quindi resta possibile che i drawdown si sommino nello stesso momento.
- La gestione del capitale non viene separata: il numero separa solo la gestione delle posizioni. Margin level e stop out si determinano sull'intero conto. Se un EA perde molto, trascina con sé anche gli altri.
Se vuoi evitare le interferenze con certezza, la soluzione più semplice è un conto separato per ciascun EA. La progettazione dei numeri va intesa come la precauzione minima quando decidi di far girare tutto sullo stesso conto.
Riepilogo
- Il MagicNumber è l'identificativo dell'EA registrato in ordini, posizioni e storico; MT5 non impedisce i duplicati
- Con i duplicati possono verificarsi entrate bloccate, chiusura di posizioni di altri EA, sovrascrittura dello SL e calcolo errato dei lotti. Nel backtest non emergono
- Le chiusure parziali si tracciano combinando MagicNumber e ID della posizione. Le chiusure manuali possono sfalsare le registrazioni
- Sui conti netting non si possono separare le posizioni con il numero. Con più EA usa un conto hedging
- Anche con numeri diversi il margine resta condiviso. Per evitare le interferenze con certezza, separa i conti
Altri consigli operativi sono raccolti in Know-how su EA e MT5.
Correlati
2026-10-02
Monitoraggio Quotidiano degli EA in Esecuzione
2026-11-02
Ordini e posizioni MT5: evitare errori con il netting
2026-10-29
OnTick e OnTimer in MQL5: come usarli nel design di un EA
2026-10-20
Il fuso orario del server rompe il filtro orario dell'EA
📧 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 ↗