Cos'è il Netting in MetaTrader 5: Definizione e Funzionamento
In un account netting, MT5 mantiene una sola posizione aggregata per simbolo. Quando apri una posizione BUY 0,10 lotti EURUSD e poi apri un'altra BUY 0,05 lotti EURUSD, MT5 non crea due righe nel Terminale — aggiorna la singola posizione EURUSD a 0,15 lotti BUY. Il prezzo di entry viene ricalcolato come media ponderata dei due entry price originali.
Quando su un conto netting apri un ordine in direzione opposta alla posizione esistente, MT5 riduce o chiude la posizione invece di aprirne una nuova. Se hai BUY 0,10 lotti EURUSD e apri SELL 0,05 lotti EURUSD, la posizione diventa BUY 0,05 lotti EURUSD — non due posizioni indipendenti. Se apri SELL 0,15 lotti EURUSD, chiude la posizione long e apre una SELL 0,05 lotti netta.
Questa logica è ereditata dai mercati azionari e futures regolamentati, dove per definizione non puoi essere contemporaneamente long e short sullo stesso strumento (la posizione netta è ciò che conta). MT5 l'ha introdotta come opzione alternativa al modello hedging di MT4, in conformità con le aspettative di certi broker istituzionali e regolamentari.
Come MT5 Calcola il Prezzo di Entry Medio su Netting
Quando aggrega due posizioni della stessa direzione, MT5 usa la media ponderata per volume: Entry_aggregato = (Entry1 × Lotti1 + Entry2 × Lotti2) / (Lotti1 + Lotti2). Esempio: BUY 0,10 lotti XAUUSD a 2345,00 + BUY 0,05 lotti XAUUSD a 2348,00 = posizione aggregata BUY 0,15 lotti a (2345×0,10 + 2348×0,05) / 0,15 = (234,50 + 117,40) / 0,15 = 2346,60. Il SL e TP della posizione aggregata vengono calcolati rispetto all'entry medio — non ai due entry originali separatamente.
Implicazione per Oracle: se Oracle apre un secondo segnale XAUUSD H4 nella stessa direzione (es. due segnali BUY consecutivi prima che il primo raggiunga il TP), su account netting i due trade si aggregano in una posizione singola con entry medio. Il SL-to-breakeven di Oracle viene applicato all'entry medio aggregato — potenzialmente più lontano dall'entry del primo trade rispetto al caso hedging dove ogni posizione mantiene il proprio entry e il proprio SL indipendente.
Netting vs Hedging: Le 3 Differenze Strutturali che Contano per Oracle
Le differenze tra netting e hedging sono molte, ma per Oracle v78 ne contano tre in modo operativo.
Differenza 1: Posizioni Indipendenti vs Posizione Aggregata
Su account hedging, ogni ordine Oracle genera un ticket indipendente. Oracle può gestire ogni ticket separatamente: spostare il SL del ticket #12345 a breakeven senza toccare il ticket #12346, chiudere parzialmente il ticket #12346 mentre il #12345 rimane aperto, applicare ATR trailing a velocità diverse su ticket con entry distanti. Su account netting, esiste un solo ticket per simbolo — Oracle applica le modifiche di SL/TP alla posizione aggregata, che potrebbe avere caratteristiche diverse dai singoli segnali originali.
Differenza 2: Impossibilità del Cross-Asset Hedge su Netting
Il M25 Cross-Asset Correlation Hedge Engine richiede posizioni long e short simultanee su strumenti diversi ma correlati. Su XAUUSD e EURUSD, M25 può aprire BUY XAUUSD e SELL EURUSD nello stesso momento (correlazione XAUUSD-EURUSD circa +0,60). Queste sono posizioni su simboli diversi — netting non le aggrega. Ma se M25 tenta di aprire BUY XAUUSD e poi SELL XAUUSD come secondo leg di un hedge intra-simbolo (raro ma possibile in alcuni regimi), su account netting la seconda posizione riduce la prima invece di coesistere come hedge separato. Su hedging, entrambe esistono come ticket indipendenti con logica di gestione separata.
Differenza 3: Efficienza del Margine
Il netting è più efficiente sul margine per trader con posizioni bilanciate. Su account netting, una posizione BUY 0,10 lotti XAUUSD e una SELL 0,08 lotti XAUUSD ha margine calcolato sulla posizione netta (0,02 lotti BUY) — molto meno del margine per due posizioni separate su account hedging. Per trader discrezionali che fanno hedging naturale (aprono contrarian per ridurre esposizione), il netting è più efficiente in termini di margine richiesto. Per Oracle — che non fa hedging naturale intra-simbolo ma gestisce ogni segnale indipendentemente — questa efficienza non è rilevante e la gestione indipendente dei ticket vale più del risparmio di margine.
Codice MQL5: Rilevamento Account Netting e Comportamento Oracle
// Rileva tipo account all'avvio di Oracle
int OnInit()
{
long margin_mode = AccountInfoInteger(ACCOUNT_MARGIN_MODE);
if(margin_mode == ACCOUNT_MARGIN_MODE_RETAIL_NETTING)
{
Print("Oracle v78: Account NETTING rilevato");
Print(" - UlcerZenith XAUUSD H4: ATTIVO (compatibile)");
Print(" - M25 Hedge Engine: DISABILITATO (richiede hedging)");
Print(" - Multi-position management: ADATTATO per netting");
g_IsHedging = false;
g_M25Enabled = false;
}
else if(margin_mode == ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)
{
Print("Oracle v78: Account HEDGING rilevato");
Print(" - UlcerZenith XAUUSD H4: ATTIVO");
Print(" - M25 Hedge Engine: ATTIVO");
Print(" - Multi-position management: ATTIVO");
g_IsHedging = true;
g_M25Enabled = true;
}
else // ACCOUNT_MARGIN_MODE_EXCHANGE (mercati azionari)
{
Print("Oracle v78: Account EXCHANGE - non supportato");
return INIT_FAILED;
}
return INIT_SUCCEEDED;
}
// Apertura trade adattata al tipo account
bool OpenOracleTrade(string symbol, ENUM_ORDER_TYPE type,
double lots, double sl, double tp)
{
if(!g_IsHedging)
{
// Su netting: verifica posizione esistente prima di aprire
if(PositionsTotal() > 0 && PositionSelect(symbol))
{
long existing_type = PositionGetInteger(POSITION_TYPE);
if(existing_type == type)
{
// Stessa direzione: Oracle NON aggiunge — gestisce
// la posizione esistente invece di aggregare
return ManageExistingPosition(symbol);
}
}
}
// Su hedging o senza posizioni aperte: apri normalmente
return ExecuteMarketOrder(symbol, type, lots, sl, tp);
}
Oracle rileva il tipo di account in OnInit() e adatta il comportamento automaticamente. Su netting, UlcerZenith XAUUSD H4 funziona con logica adattata (una posizione alla volta, SL/TP sulla posizione aggregata). M25 viene disabilitato con messaggio esplicito nel log — non silenziosamente. Il trader sa cosa sta usando.
Quando Scegliere Account Netting: 6 Scenari con Analisi
Il netting non è inferiore all'hedging in senso assoluto — per certi tipi di sistemi e trader è la scelta corretta. Ecco i 6 scenari più comuni con la raccomandazione specifica per Oracle.
| Scenario di Trading | Tipo Sistema | Netting | Hedging | Scelta Ottimale | Impatto su Oracle |
|---|---|---|---|---|---|
| Trend following mono-direzionale | 1 strumento, 1 direzione alla volta | ✅ Ideale | ⚠️ Possibile | Netting | Oracle base funziona, M25 non serve |
| Cross-asset correlation hedge | Multi-strumento, posizioni opposte | ❌ Impossibile | ✅ Necessario | Hedging obbligatorio | M25 disabilitato su netting |
| Scalping multi-trade | Molti trade brevi stesso simbolo | ⚠️ Aggrega | ✅ Ticket separati | Hedging | Oracle non scala su netting |
| Trader EU ESMA retail | Broker regolamentato EU | ✅ Default broker EU | ⚠️ Richiede professional | Netting (per vincoli normativi) | Oracle base OK, M25 no |
| Portafoglio multi-EA stesso conto | Più EA su più simboli | ⚠️ Conflitti per simbolo | ✅ Ticket per EA | Hedging | Oracle coesiste con altri EA |
| CopyTrading mono-direzionale | 1 EA, 1 strumento principale | ✅ Sufficiente | ⚠️ Margine extra | Netting (efficienza margine) | Oracle Indicatore + EA compatibile |
Come Verificare il Tipo di Account in MT5: 3 Metodi
Sapere con certezza se il tuo conto è netting o hedging prima di configurare Oracle è fondamentale. Ci sono 3 metodi, dall'immediato al definitivo.
Metodo 1: Test Pratico (30 secondi)
Apri un trade demo sul tuo conto (es. BUY 0,01 lotti EURUSD). Poi apri immediatamente un secondo trade nella stessa direzione (BUY 0,01 lotti EURUSD). Guarda il Terminale → tab Trade: se vedi due righe con ticket diversi = hedging. Se vedi una sola riga con 0,02 lotti = netting. Chiudi tutto dopo il test. Non serve analisi tecnica — è un test visivo immediato.
Metodo 2: Lettura nella Finestra Account (senza trade)
Vai in View → Terminal → tab Trade. Click destro su qualsiasi area del tab → "Account Properties" o guarda nella finestra del Navigator → click destro sul numero conto → Proprietà. Cerca il campo "Margin Calculation" o "Account Type". I valori possibili in MT5: "Retail Netting", "Retail Hedging", "Exchange" (quest'ultimo per azioni/futures). Se non vedi questo campo, il tuo broker non lo espone direttamente nell'interfaccia.
Metodo 3: Codice MQL5 Definitivo (per sviluppatori)
In MetaEditor, crea uno script con AccountInfoInteger(ACCOUNT_MARGIN_MODE). I valori possibili: 0 = ACCOUNT_MARGIN_MODE_RETAIL_NETTING, 1 = ACCOUNT_MARGIN_MODE_RETAIL_HEDGING, 2 = ACCOUNT_MARGIN_MODE_EXCHANGE. Oracle usa questo metodo all'avvio — il tipo viene stampato nel tab Esperti del Terminale al primo caricamento dell'EA sul chart. Guarda lì: trovi "Account NETTING rilevato" o "Account HEDGING rilevato" con l'elenco dei moduli abilitati/disabilitati.
⚡ Oracle v78 — Performance Verificate 2009–2026
OnInit() e adatta il comportamento. Su account netting: UlcerZenith XAUUSD H4 attivo con logica adattata, M25 disabilitato. Su account hedging: tutti i moduli attivi incluso M25 Cross-Asset Correlation Engine. I 65.587 trade verificati 2009–2026 includono entrambi i regimi. WR 42,1%, PF 1,44, MDD 13,1%, EV +0,684R. P.IVA: 14349331000. Online dal novembre 2007.Perché M25 Cross-Asset Correlation Engine è Impossibile su Netting
Il M25 lavora aprendo posizioni su coppie di strumenti correlati in modo da catturare il riallineamento statistico delle correlazioni. La logica tipica: XAUUSD e EURUSD hanno correlazione storica +0,60. Quando la correlazione scende sotto +0,30 (divergenza dal regime), M25 apre BUY XAUUSD e contemporaneamente SELL EURUSD. Queste sono due posizioni su simboli diversi — netting non crea conflitti qui, perché netting aggrega solo posizioni sullo stesso simbolo.
Il problema emerge nella gestione della chiusura: quando M25 chiude il hedge (correlazione si riallinea), deve chiudere entrambe le gambe in modo coordinato. Su account netting, se nel frattempo Oracle ha aperto un altro trade sullo stesso simbolo (es. un nuovo segnale XAUUSD H4 nella stessa direzione del leg M25 XAUUSD), le posizioni sono aggregate — M25 non può chiudere solo la sua "gamba" senza influenzare il segnale Oracle XAUUSD. Su account hedging, i ticket sono separati e M25 chiude esattamente il suo ticket senza toccare il segnale Oracle direzionale.
Per questo M25 richiede hedging: non perché le posizioni iniziali siano sullo stesso simbolo, ma perché la gestione e chiusura coordinata dei leg nel ciclo completo del hedge richiede la separazione dei ticket che solo l'account hedging garantisce.
Account Netting su Broker EU: Cosa Aspettarti con Oracle
Se usi Oracle con un broker regolamentato ESMA (broker italiano, europeo con licenza CySEC, FCA, CONSOB), è probabile che il tuo conto retail sia netting per default. Oracle funziona con questo setup per le funzionalità core: UlcerZenith XAUUSD H4 con segnali, SL/TP automatici, notifiche push. Quello che non funziona: M25 Hedge Engine, gestione multi-posizione separata, scaling selettivo per ticket.
Per Oracle, che si basa principalmente su UlcerZenith XAUUSD H4, il netting su broker EU è accettabile. Con l'Indicatore + EA (€4.997), dove M25 è parte del valore dichiarato, è necessario un conto hedging. Rossella verifica il tipo di conto nell'onboarding e indica la configurazione corretta per ogni livello di prodotto.
"L'account netting non è sbagliato — è sbagliato per Oracle M25. Per un sistema mono-direzionale su un singolo strumento, netting e hedging danno risultati simili. Ma quando il sistema gestisce 6 posizioni hedge su 6 strumenti correlati, i ticket indipendenti dell'hedging non sono un optional — sono un requisito architetturale."— Manuel Trotta, Fondatore MTInvestments · P.IVA 14349331000
Parti con Oracle sul Conto Giusto — Rossella Ti Guida
Netting o hedging? Broker EU o offshore? Indicatore + EA o ZRL LAB Full? Rossella verifica il tuo setup e ti indica la configurazione ottimale per Oracle v78.