Expert Advisor MetaTrader 5: Guida Completa MQL5 | Manuel Trotta
⚡ Zenith Zero — il sistema completo, scopri cosa include — Scrivimi su WhatsApp →
📊 MQL5 — Expert Advisor

Expert Advisor MetaTrader 5:
Guida Completa MQL5

di Manuel Trotta · Aggiornato Aprile 2026 · Lettura: 14 min · P.IVA 14349331000

Un Expert Advisor è il cuore di qualsiasi sistema automatizzato su MetaTrader 5. Oracle v78 è un EA strutturato su 4 livelli logici separati, testato su 65.587 trade reali. Questa guida ti spiega come funziona un EA in MQL5, come è costruito Oracle, e perché l'architettura conta quanto la strategia stessa.

65.587Trade Reali
42,1%Win Rate
+0,684RExpected Value
1,44Profit Factor
13,1%Max Drawdown

Cos'è un Expert Advisor in MetaTrader 5

Un Expert Advisor (EA) è un programma scritto in linguaggio MQL5 che gira all'interno di MetaTrader 5 e automatizza completamente le decisioni di trading: apertura, gestione e chiusura delle posizioni. A differenza di uno script — che esegue un'azione singola e si ferma — un EA rimane attivo finché è collegato al grafico, reagendo ad ogni nuovo tick di prezzo, ad ogni candela che si chiude, ad ogni evento di sistema configurato.

La differenza tra un EA mediocre e uno professionale non sta nella strategia, ma nell'architettura del codice. Oracle v78 ha impiegato 15 anni e 78 versioni per arrivare a un'architettura a 4 livelli separati che garantisce robustezza statistica, gestibilità del codice e performance stabile su 19 anni di dati. Ogni modifica a un livello non propaga errori agli altri: questo è il principio di isolamento che distingue un sistema industriale da un EA amatoriale scritto in un weekend.

Differenza tra EA, Indicatore e Script

In MetaTrader 5 esistono tre tipologie principali di programmi MQL5. Gli indicatori calcolano valori e li disegnano sul grafico, ma non aprono posizioni — Oracle usa iCustom() per leggere 6 indicatori custom (Ulcer Index, ATR adattivo, Kalman Filter, Hurst Exponent, GARCH volatility, HMM state) direttamente dall'EA principale. Gli script eseguono un'operazione una volta sola (ad esempio: chiudi tutte le posizioni aperte) e poi terminano. Gli Expert Advisor sono i soli che eseguono logica continua su ogni evento di mercato — sono l'unico strumento adatto a un sistema automatizzato in produzione.

Questa distinzione ha implicazioni pratiche rilevanti: se hai un EA attaccato al grafico e carichi anche uno script, lo script può interferire con le posizioni gestite dall'EA. Oracle utilizza una variabile GlobalVariable booleana (UZ_XAUUSD_H4_LOCK) per segnalare alle utility esterne che l'EA ha il controllo esclusivo delle posizioni aperte.

Struttura Base MQL5: OnInit, OnTick, OnDeinit

Ogni Expert Advisor MQL5 è organizzato attorno a tre funzioni evento obbligatorie che il terminale MetaTrader 5 chiama automaticamente in momenti precisi del ciclo di vita dell'EA. Capire quando viene chiamata ciascuna è il primo passo per scrivere codice robusto.

// Struttura base EA MQL5 — commentata per chiarezza int OnInit() { // Chiamata UNA VOLTA all'avvio: inizializza variabili, verifica parametri, // carica dati storici, imposta timer se necessario // Ritorna INIT_SUCCEEDED oppure INIT_FAILED if(Period() != PERIOD_H4) return INIT_FAILED; EventSetTimer(60); // timer ogni 60 secondi per aggiornamenti lenti return INIT_SUCCEEDED; } void OnTick() { // Chiamata ad OGNI tick di prezzo — può essere centinaia di volte al minuto // Ottimizzare: eseguire calcoli pesanti solo su nuova candela if(!IsNewBar()) return; // filtro candela: logica solo su H4 close CalculateSignal(); // livello 1: segnale ApplyFilters(); // livello 2: filtri CalculateLotSize(); // livello 3: sizing ExecuteOrder(); // livello 4: esecuzione } void OnDeinit(const int reason) { // Chiamata alla rimozione: libera risorse, salva stato, invia notifica EventKillTimer(); GlobalVariableSet("UZ_XAUUSD_H4_ACTIVE", 0); SendNotification("Oracle v78 rimosso — reason: " + (string)reason); }

La Funzione IsNewBar() — Perché Conta

Su XAUUSD in H4, MetaTrader 5 riceve in media 2.000–8.000 tick all'ora, ma Oracle deve ricalcolare la sua logica solo alla chiusura di ogni candela H4 — ovvero 6 volte al giorno. Senza il filtro IsNewBar(), l'EA eseguirebbe l'intera pipeline di calcolo decine di migliaia di volte al giorno per nessun motivo logico, con consumo CPU inutile e rischio di generare segnali multipli sulla stessa candela. Il pattern corretto prevede una variabile statica che salva il tempo di apertura dell'ultima candela processata: se il tempo corrente coincide, si esce immediatamente da OnTick().

Questo filtro vale doppio su VPS condivisi (BeeksFX, ForexVPS, IncWell) dove la CPU è distribuita tra decine di utenti: un EA ottimizzato consuma il 2–5% delle risorse rispetto a uno non filtrato. Su Oracle v78, l'intero ciclo OnTick() — inclusi i 6 iCustom() — impiega in media 4.7ms sulla candela di calcolo e meno di 0.1ms sulle candele skip.

OnTimer, OnChartEvent e OnTrade

MQL5 offre altri handler evento che MT4 non supportava a livello nativo. OnTimer() viene chiamato a intervalli regolari configurati con EventSetTimer() — Oracle lo usa per aggiornare le GlobalVariables del bridge JSON ogni 60 secondi, indipendentemente dall'arrivo di tick. OnChartEvent() intercetta click sul grafico e keypress: Oracle ZENITH EXECUTOR usa questo handler per il pulsante ENTRA (64px) e per la shortcut Alt+P del popup di conferma. OnTrade() reagisce ad ogni modifica dello stato delle posizioni — apertura, chiusura, modifica SL/TP: Oracle lo usa per aggiornare in tempo reale le GlobalVariables UZ_XAUUSD_H4_OPENTRADES e UZ_XAUUSD_H4_EQUITY_PEAK.

Differenze Strutturali EA MT4 vs MT5

Chi ha esperienza con MQL4 sa che la migrazione a MQL5 non è una semplice ricompilazione. I due linguaggi condividono sintassi C-like ma divergono profondamente nelle funzioni di trading, nella gestione delle posizioni e nel modello OOP. Oracle ha effettuato questa migrazione nel 2016 con la versione v30, un processo che ha richiesto 8 mesi di riscrittura completa e ha prodotto un sistema più stabile, più testabile e più manutenibile.

Caratteristica MQL4 (MT4) MQL5 (MT5) Impatto su Oracle v78
Modello OOP Procedurale puro Classi, ereditarietà, interfacce Architettura a livelli separati possibile
Gestione posizioni Ordini (OrderSend/Modify/Close) PositionSelect + CTrade class Netting/hedging configurabile per broker
Accesso dati storici Array iClose[]/iOpen[] CopyRates(), CopyClose() Buffer tipizzato, accesso sicuro multi-timeframe
Strategy Tester Single-thread Multi-thread + cloud Ottimizzazione Oracle: 19 anni in 8 ore vs 72 ore
GlobalVariables Solo double Double + persistence file Bridge JSON via 28 GV per simbolo
Indicatori custom iCustom() limitato iCustom() multi-buffer avanzato 6 modelli AI letti in un singolo ciclo OnTick()
Timeframe disponibili 9 timeframe 21 timeframe (M2,M3,M4,M6,M10,M12,H2,H3,H6,H8,H12) Filtri MTF più granulari su Oracle v78
Tipo dato string Limitato 63 char in GV Unicode illimitato Bridge JSON payload completo senza troncamenti

La differenza più critica in produzione è il modello di gestione delle posizioni. In MT4, ogni ordine aperto è indipendente e identificato da ticket numerico. In MT5, il modello di default è netting: esiste al massimo una posizione per simbolo, e una nuova operazione nello stesso verso aggiunge volume a quella esistente. Oracle gestisce questo caso esplicitamente: se PositionSelect(_Symbol) restituisce true, l'EA verifica il volume corrente prima di aggiungere, evitando l'accumulo non intenzionale che ha causato perdite significative a trader che hanno migrato EA MT4 su MT5 senza adattamento.

Architettura Oracle v78: i 4 Livelli

Oracle v78 non è "un blocco di codice che fa trading". È un sistema strutturato a 4 livelli logici separati, dove ogni livello ha responsabilità esclusive e interfacce definite. Questa architettura è il risultato di 78 versioni evolutive e permette di modificare, ad esempio, il modello di lot sizing senza toccare una riga del codice di segnale.

📐 Architettura Oracle v78 — Pipeline Decisionale

LIVELLO 1 — SEGNALE UlcerScore = f(UI_14, ATR_Adaptive, HMM_State, Hurst_H, GARCH_σ, Copula_Rank) Segnale = LONG se UlcerScore ≥ Threshold_Long (calibrato su H4) SHORT se UlcerScore ≤ Threshold_Short FLAT altrimenti LIVELLO 2 — FILTRI (tutti devono passare per procedere) FIL_SESSION : blocco 17:00–21:00 GMT su H1 (–9.2pp WR se attivo) FIL_REVTOP : blocco REVERSAL TOP (EV negativo H1/H4 confermato) FIL_MTF_D1 : trend D1 allineato con segnale H4 FIL_VOLATIL : GARCH σ nei limiti accettabili (non in spike notizie) LIVELLO 3 — SIZING LotSize = (Equity × RiskPct) / (SL_Points × TickValue) RiskPct adattivo: 0.5% (score basso) → 1.5% (score alto) LIVELLO 4 — ESECUZIONE OrderSend con retry loop (max 3 tentativi, delay 500ms) SL = ATR × 1.5 (minimo 15 pip XAUUSD) TP = SL × 3.0 (RR 1:3, EV base +0,684R) Breakeven automatico a 1.0R ATR Trailing attivo dopo 1.5R in profitto
✅ Oracle v78 — 65.587 trade · WR 42,1% · PF 1,44 · EV +0,684R · MDD 13,1%
Pipeline completata in media 4.7ms / candela H4

Livello 1: Il Motore di Segnale

Il cuore di Oracle è lo UlcerScore, una rielaborazione matematica dell'Ulcer Index di Peter Martin (1987) estesa con 5 modelli AI. Ogni componente risponde a una domanda specifica: Hurst misura la persistenza della tendenza (H > 0.5 = trend, H < 0.5 = mean-reversion), GARCH stima la volatilità condizionale attesa, HMM identifica il regime di mercato (trending/ranging/reversing), Kalman filtra il rumore intraday su XAUUSD, Copula modella le dipendenze tra XAUUSD e le correlazioni cross-asset. Il punteggio finale è un numero continuo normalizzato 0–100, dove sopra 70 è segnale Long qualificato e sotto 30 è segnale Short qualificato.

Il risultato di ogni calcolo viene scritto nella GlobalVariable corrispondente (UZ_XAUUSD_H4_SCORE, UZ_XAUUSD_H4_HURST, etc.) in modo che il bridge JSON possa esportarlo in tempo reale al Trading OS esterno. Questo schema di 28 GV per simbolo è il punto di contatto tra il motore MQL5 e qualsiasi interfaccia esterna — dashboard web, alert Telegram, o report automatici.

Livello 2: I Filtri — Dove Si Perde Meno

I filtri di Oracle non migliorano il segnale — eliminano le condizioni in cui il segnale è statisticamente sfavorevole. Il filtro sessione (blocco 17:00–21:00 GMT) è stato aggiunto in v73 dopo l'analisi di 8.400 trade nell'orario di chiusura americana: il Win Rate in quella fascia scendeva al 32.9% contro il 44.6% medio fuori fascia, un delta di 9.2 punti percentuali che su 65.587 trade vale circa €22.000 di differenza cumulativa. Il filtro REVERSAL TOP (aggiunto in v74) ha eliminato una categoria di pattern con EV negativo documentato su H1 e H4: –0.43R per trade in questa configurazione.

Common Errors MQL5 e Come Risolverli

Gli errori di esecuzione in MQL5 sono la prima causa di frustrazione per chi sviluppa EA. La maggior parte ha cause specifiche e soluzioni definite. Oracle ha un sistema interno di error handling con logging su file e notifica push: ogni errore critico genera un'entry nel file oracle_errors.log e invia una notifica via SendNotification() all'app MetaTrader mobile.

Codice Errore Nome Causa Principale Soluzione Oracle Frequenza
ERR_TRADE_DISABLED (4109) Trading non autorizzato Parametro "Allow Live Trading" disattivato, o EA non ha permesso di operare Verifica checkbox nel tab "Common" delle proprietà EA + livello account broker Alta
ERR_MARKET_CLOSED (132) Mercato chiuso Tentativo di ordine durante il weekend o festività broker Filtro IsTradeAllowed() + check MarketInfo(SYMBOL_TRADE_MODE) Media
ERR_INVALID_STOPS (130) Stop non valido SL/TP troppo vicini al prezzo (sotto min stop level del broker) FIX-SL-MIN adattivo: SL_min = MAX(ATR×1.5, SymbolInfoInteger(SYMBOL_TRADE_STOPS_LEVEL)×Point) Media
ERR_NOT_ENOUGH_MONEY (134) Margine insufficiente Lot size richiesto supera margine disponibile Pre-check AccountFreeMargin() prima di ogni OrderSend() Bassa
ERR_REQUOTE (138) Requote Prezzo slippato tra richiesta e esecuzione (broker Market Maker) Usare broker ECN (ICMarkets Raw) — Oracle non usa Market Maker per questo motivo Bassa
ERR_TOO_MANY_ORDERS (148) Troppi ordini Limite posizioni aperte raggiunto (account o broker) Oracle limita a 1 posizione aperta per simbolo — check PositionSelect() prima di aprire Bassa
ERR_TERMINAL_OFFLINE (6) Terminale offline VPS disconnesso o terminale in modalità offline SendNotification() in OnTimer() se nessun tick in 5 minuti su XAUUSD Media

Il Pattern Retry di Oracle

Per gestire errori transitori come requote o ritardi di esecuzione, Oracle implementa un loop retry con massimo 3 tentativi e delay esponenziale: primo tentativo immediato, secondo dopo 500ms, terzo dopo 1000ms. Se dopo 3 tentativi l'ordine non è stato eseguito, Oracle registra l'errore, notifica via push e salta il segnale corrente attendendo la candela successiva. Questo approccio evita i loop infiniti che bloccano il thread MQL5 e i doppi ordini accidentali che moltiplicano il rischio in modo non controllato.

Come si prende Oracle: Manuale, Indicatore + EA, ZRL LAB Full

Oracle v78 è distribuito in 4 tier con funzionalità progressivamente più avanzate. Ogni tier è un file .ex5 compilato separatamente con licenza Knuth hash (formato UZG-XXXXXXXX-30 per il Trial a 30 giorni, account-bound per le versioni permanenti). Le differenze non sono cosmétiche: cambiano il numero di simboli gestiti, la granularità dei filtri e il modello di sizing.

Funzionalità Indicatore + EA — €4.997 ZRL LAB Full — €9.997
Simboli supportati Tutti quelli coperti dal sistema (cuore su XAUUSD) Gli stessi
Timeframe operativi H1 + H4 + D1 H1 + H4 + D1
Modelli AI attivi Tutti e sei Tutti e sei
Filtri sessione Completi Completi
Lot sizing % equity adattivo % equity adattivo
Dashboard UI Ferrari Luce completa Ferrari Luce completa
Licenza A vita, su 3 conti A vita, su 5 conti
Seguito Consulenza 1-to-1 con Andrea + installazione Gruppo e live settimanali + analisi personale + Mastermind
⚙️ Oracle v78 — Dati di Sistema EA
65.587Trade Reali Verificati
42,1%Win Rate H4
4.7msCiclo OnTick() Medio
28GlobalVariables per Simbolo

Oracle v78 è un Expert Advisor MQL5 con architettura a 4 livelli (segnale → filtro → sizing → esecuzione), sviluppato in 78 versioni dal 2009 al 2026 su XAUUSD H4. Il sistema integra 6 modelli AI (Hurst, GARCH, Bayes, Kalman, HMM, Copula) letti tramite iCustom() in un singolo ciclo OnTick() filtrato su nuova candela. I 28 GlobalVariables per simbolo (naming: UZ_{Symbol}_{Period()}_{KEY}) alimentano un bridge JSON che consente il monitoraggio in tempo reale da interfacce web esterne senza modificare il core trading dell'EA. La licenza usa hashing Knuth 32-bit con XOR costante Fibonacci per protezione account-bound a 30 giorni con 5 giorni di warning e 3 giorni di grace.

Come Testare un EA Prima del Live

Mandare in produzione un EA senza un piano di test strutturato è la seconda causa principale di perdite tra i trader automatizzati — la prima è una strategia senza edge statistico. Oracle segue un protocollo di test a 4 fasi che deve essere completato prima di ogni nuovo deploy in produzione, inclusi gli aggiornamenti di versione.

Fase 1 — Compilazione pulita: zero warning nella console MQL5. Non "qualche warning non importante": zero. Ogni warning non risolto è un bug potenziale in produzione. Oracle v78 compila con 0 warning e 0 errori su MQL5 versione Build 4000+. Fase 2 — Backtest Every Tick Real: configurazione spread reale + commissione ECN ($7/lotto RT su ICMarkets) + qualità dati 99%. Fase 3 — Demo live 30 giorni: esecuzione su conto demo con stesso broker del live, stesso server, stessa latenza. Fase 4 — Live micro-lot: partenza con il 10% del capitale target per validare l'esecuzione reale contro il backtest prima di scalare.

⚠️ Red Flag: Errori Critici Prima del Deploy Live

🚩
Backtest con dati scarsi o spread fisso artificialmente basso Se il tuo backtest usa spread 0 o spread fisso minimo, i risultati sono falsati. Oracle richiede spread reale dal broker (ICMarkets H4 XAUUSD: spread medio 0.24 punti) e commissione ECN esplicita nel campo "Commission" del Strategy Tester. La differenza tra PF con spread 0 e PF con spread reale può essere 0.3–0.6 punti su sistemi scalping — per Oracle H4 è circa 0.08 punti su 19 anni di test.
🚩
EA senza error handling su OrderSend() Ogni OrderSend() che non controlla il valore di ritorno è una bomba a orologeria. In produzione, i broker restituiscono errori parziali, requote, e ritardi anche su connessioni eccellenti. Un EA senza retry loop e gestione degli errori può aprire posizioni duplicate, non aprire dove dovrebbe, o rimanere bloccato in loop infiniti consumando tutto il margine disponibile.
🚩
Ottimizzazione eccessiva sui dati in-sample Il curve-fitting è il problema più subdolo nel testing EA. Un sistema ottimizzato su 2009–2020 che non funziona su 2021–2026 non ha un edge reale: ha memorizzato il rumore storico. Oracle usa Walk-Forward Test con WFT Efficiency 0.78 per separare performance genuine da overfitting — un WFT Efficiency sotto 0.60 è indicatore di curve-fitting severo.
🚩
GMT offset non configurato correttamente I filtri di sessione Oracle sono calibrati su GMT standard: GMT+2 inverno, GMT+3 estate per server europei. Un offset errato sposta le finestre di trading di 1–2 ore, invalidando completamente il filtro sessione (il più importante in termini di impatto WR). Verifica sempre il server time del broker confrontandolo con l'orologio GMT prima di avviare Oracle su un nuovo account o broker.
"Un EA non è un indicatore che fa ordini da solo. È un sistema ingegneristico dove ogni componente ha responsabilità precise. Oracle ha impiegato 78 versioni per separare il segnale dall'esecuzione, i filtri dal sizing. Se non riesci a spiegare esattamente cosa fa ogni funzione del tuo EA, non sei pronto per il live."
— Manuel Trotta, Fondatore MTInvestments · 65.587 trade reali verificati

Zenith Zero — il sistema completo

65.587 trade reali · WR 42,1% · PF 1,44 · aspettativa +0,684R · drawdown max storico 13,1% con rischio 1% · Oracle v78. Cosa include, prezzo e rate: tutto nella pagina. Performance storiche verificabili, non garanzia di risultati futuri.

SCOPRI ZENITH ZERO → PARLA CON ROSSELLA
✅ Nota Tecnica: Compatibilità Broker Oracle v78 è testato e ottimizzato su ICMarkets Raw (spread 0.08 pip media EURUSD, $7/lotto RT commissione, server LD4 Londra) e Pepperstone Razor. Funziona su qualsiasi broker MT5 ECN con account in modalità netting o hedging purché il GMT offset del server sia correttamente configurato (GMT+2 inverno, GMT+3 estate).

Configurazione Ottimale EA per XAUUSD H4

XAUUSD ha caratteristiche tecniche specifiche che richiedono configurazione dedicata rispetto alle coppie forex standard. Il valore del pip è diverso, i requisiti di margine sono più alti, la volatilità è strutturalmente più alta, e il mercato è influenzato da correlazioni cross-asset (USD Index, Treasury yields, sentiment risk-on/risk-off) che i sistemi puramente forex non modellano. Oracle gestisce queste specificità a livello architetturale nel Livello 1 e nel Livello 3.

Il calcolo del lot size su XAUUSD richiede attenzione particolare: il TickValue per XAUUSD standard è $10 per 1 punto (0.01 lotti = $0.10/punto), ma varia per account denominati in EUR o GBP a causa del cambio dinamico. Oracle usa AccountInfoDouble(ACCOUNT_CURRENCY_PROFIT) per normalizzare il calcolo indipendentemente dalla valuta del conto. Un errore in questo calcolo causa position sizing incorrette che possono eccedere il rischio target del 30–50% in mercati volatili.

GlobalVariables: il Sistema Nervoso di Oracle

Le GlobalVariables di MT5 sono variabili double condivise tra tutti i programmi MQL5 attivi nel terminale — EA, indicatori, script. Oracle le usa come sistema nervoso del suo ecosistema: ogni candela, il motore principale scrive i propri output in 28 GV con naming strutturato (UZ_{Symbol}_{Period()}_{KEY}), dove Symbol è es. XAUUSD, Period() è H4 (=16388), e KEY è il nome del dato (SCORE, HURST, SIGNAL, LOTS, etc.). Un EA companion (ZENITH EXECUTOR) legge queste GV per costruire la dashboard visiva e il popup di conferma manuale. Un terzo EA (ZENITH RELAY) le esporta in formato JSON su file per il bridge web.

Questa architettura a microservizi — poco diffusa nel mondo MT5 amatoriale — permette di aggiornare la UI senza toccare il core trading, di aggiungere nuovi simboli senza modificare il codice esistente, e di esporre i dati in tempo reale a sistemi esterni come il Trading OS web senza nessuna dipendenza di rete diretta dall'EA.

Domande Frequenti sugli Expert Advisor in MT5

Un EA MetaTrader 5 funziona anche con il PC spento? +

No. MetaTrader 5 e l'Expert Advisor hanno bisogno del terminale attivo e connesso a internet per operare. Se chiudi MT5 o il PC va in standby, l'EA smette di eseguire logica e non genera nuovi segnali né gestisce le posizioni aperte. La soluzione professionale è un VPS (Virtual Private Server) che gira 24/7 indipendentemente dal tuo PC. Oracle in produzione gira su VPS dedicati (BeeksFX o IncWell in data center NY4/LD4) con uptime 99.9% garantito. Il costo tipico è €20–40/mese — il minore dei costi operativi rispetto al rischio di perdere posizioni aperte senza gestione. Come ulteriore protezione, Oracle invia notifiche push via SendNotification() se non riceve tick validi entro 5 minuti su XAUUSD, allertando il trader di un problema di connessione prima che diventi critico.

Posso usare lo stesso EA MT4 su MetaTrader 5? +

No, non direttamente. MQL4 e MQL5 sono linguaggi diversi — condividono una sintassi C-like ma le API di trading sono completamente incompatibili. Un EA scritto in MQL4 con le funzioni OrderSend()/OrderModify()/OrderClose() non compilerà su MQL5 senza riscrittura. MetaQuotes ha fornito negli anni un "compatibility layer" parziale, ma per sistemi complessi come Oracle la strada è la riscrittura nativa. Oracle ha effettuato questa migrazione nel 2016-2017 (dalla versione v29 a v30) con una riscrittura completa durata 8 mesi: il risultato è un codice più solido, testabile in multi-thread, e capace di gestire le nuove funzionalità MT5 come gli eventi OnTimer, OnTrade e i 21 timeframe disponibili contro i 9 di MT4.

Come funziona la licenza dell'EA Oracle? +

Oracle usa un sistema di licenza account-bound basato su hashing Knuth 32-bit con costante XOR Fibonacci. All'avvio, l'EA verifica che il numero di account MT5 corrente sia autorizzato nella whitelist compilata nel file .ex5. La chiave, in formato UZ-XXXXXXXX, codifica l'account autorizzato e la data di scadenza a 30 giorni. L'EA verifica la scadenza via GlobalVariable con timestamp, mostra un warning a 5 giorni dalla scadenza, e mantiene un grace period di 3 giorni dopo la scadenza prima di bloccarsi. Questa architettura evita dipendenze da server di licenza esterni che potrebbero causare blocchi imprevisti in produzione — l'EA funziona autonomamente anche senza connessione internet per la verifica della licenza.

Qual è la differenza tra EA netting e EA hedging su MT5? +

In modalità netting (default MT5 per broker forex europei), esiste al massimo una posizione aperta per simbolo: se hai una posizione Long da 1 lotto su XAUUSD e l'EA apre un'altra Long da 0.5 lotti, il risultato è una singola posizione Long da 1.5 lotti. In modalità hedging (disponibile su alcuni broker o account specifici), ogni ordine è indipendente: puoi avere contemporaneamente Long e Short sullo stesso simbolo. Oracle v78 è progettato per entrambe le modalità: la funzione ExecuteOrder() verifica PositionSelect() prima di aprire, e in modalità hedging può mantenere posizioni parziali aperte mentre gestisce nuovi segnali. La modalità hedging è quella usata in produzione su broker come ICMarkets con account Pro — permette una gestione del rischio più granulare con l'Indicatore + EA e ZRL LAB Full di Oracle.

Quanto costa sviluppare un Expert Advisor professionale? +

Il costo varia enormemente in base alla complessità. Un EA semplice con logica di segnale standard (MA crossover, RSI threshold) può essere sviluppato in 20–40 ore di lavoro da uno sviluppatore MQL5 con esperienza. Un sistema complesso come Oracle — con 6 modelli AI, architettura a 4 livelli, sistema di licenza custom, UI CCanvas, bridge JSON, e 19 anni di testing validati — è un progetto pluriennale. In alternativa all'acquisto di EA custom su MQL5 Market (€50–€5.000, ma senza dati di testing verificati e spesso con curve fitting), Oracle, con l'Indicatore + EA a €4.997, dà accesso a un sistema con 65.587 trade reali documentati, win rate 42,1%, PF 1,44, MDD 13,1% — numeri che la stragrande maggioranza degli EA in vendita non può esibire con dati reali verificati.

Disclaimer MiFID II — P.IVA 14349331000
Il trading su strumenti finanziari comporta un elevato livello di rischio e potrebbe non essere adatto a tutti gli investitori. Le performance passate non sono indicative dei risultati futuri. I dati Oracle v78 (65.587 trade, WR 42,1%, PF 1,44, MDD 13,1%, EV +0,684R) si riferiscono a risultati storici verificati su XAUUSD H4 dal 2009 al 2026 e non costituiscono garanzia di performance futura. Nessun contenuto di questo sito costituisce consulenza finanziaria ai sensi della Direttiva MiFID II. Operare con leva finanziaria comporta il rischio di perdere più del capitale investito. Investire solo capitale che si è disposti a perdere. Manuel Trotta / MTInvestments — P.IVA 14349331000.