English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Türkçe
preview
Come abbiamo creato la piattaforma di trading più potente basata sull'apprendimento automatico: L'evoluzione di MQL e MetaTrader attraverso archivi, forum e nuove versioni.

Come abbiamo creato la piattaforma di trading più potente basata sull'apprendimento automatico: L'evoluzione di MQL e MetaTrader attraverso archivi, forum e nuove versioni.

MetaTrader 5 — Interviste |
274 32
MetaQuotes
MetaQuotes

Dai primi Expert Advisor all’assistente IA Agentica, MCP e OpenBLAS: Come si è evoluto l'ecosistema MQL.

La storia di MQL è la storia della sua trasformazione da un semplice linguaggio per strategie di trading in un ambiente completo di sviluppo e analisi. Oggi l'ecosistema combina MetaEditor, MQL5, Python, ONNX, l'assistente IA Agentica, il Model Context Protocol (MCP), OpenBLAS e l'infrastruttura Git di Algo Forge.

Come abbiamo creato la piattaforma di trading più potente basata sull'apprendimento automatico - MetaTrader 5


Dal linguaggio degli Expert Advisor ad un IDE

Oggigiorno, è difficile considerare MetaEditor semplicemente come un editor di codice. Include documentazione, un compilatore, un debugger, un profiler, strumenti di gestione dei progetti, integrazione con MQL5.COM, archiviazione centralizzata del codice sorgente, integrazione con Python, supporto ONNX, un assistente IA, supporto per database SQLite e la possibilità di lavorare con file CSV come tabelle modificabili. Tuttavia, questa evoluzione non è avvenuta dall'oggi al domani.

Fin dalle prime generazioni delle sue piattaforme, MetaQuotes si è mossa in un'unica direzione: offrire ai trader non solo un grafico e un pulsante di trading, ma anche la possibilità di descrivere un'idea di trading tramite codice, testarla su dati storici e metterla in pratica senza intervento umano. La storia di MQL è la storia di come un semplice linguaggio per Expert Advisor si sia gradualmente evoluto in un ambiente di ingegneria completo.

Internet non ha preservato tutto. Alcune delle vecchie pagine sono scomparse del tutto; alcune rimangono solo nella Internet Archive Wayback Machine; e alcune possono essere trovate in vecchi archivi di forum e articoli di notizie. Tuttavia, rimane materiale sufficiente per rivelare il principale percorso evolutivo:

Grafici Forex → MetaQuotes → MetaTrader → MetaTrader 4 → MetaTrader 5

Questa distinzione è importante. Gli archivi contengono vari numeri di build, designazioni di versione interne e titoli di vecchie discussioni del forum. Tuttavia, la storia pubblica della piattaforma è meglio comprensibile come una progressione di prodotti e idee piuttosto che come una sequenza di numeri di versione. Al centro di questa storia non ci sono le nuove versioni del software, bensì la graduale trasformazione di un terminale di trading in uno spazio di lavoro per sviluppatori.

Gli expert advisor sono arrivati prima del linguaggio

Il primo riferimento d'archivio al sito web MetaQuotes risale a febbraio 2001. MetaQuotes Software Corp. è stata ufficialmente costituita il 27 novembre 2000, ma le discussioni sulla futura piattaforma e sull'automazione del trading erano iniziate ancora prima. L'archivio contiene un post del forum datato 23 novembre 2000 - quattro giorni prima della registrazione formale della società.


Ciò che rende questa scoperta precoce particolarmente interessante non è né l'aspetto del sito web né i suoi dettagli tecnici. Il punto fondamentale è che MQL non esisteva ancora, mentre l'idea degli Expert Advisor era già presente. Fin dall'inizio, l'attenzione non si è concentrata solo su grafici e quotazioni, ma sulla programmazione di sistemi di trading.

Questo ha definito la direzione di tutto ciò che è seguito. Fin dal primo giorno, MetaQuotes ha concepito il terminale non come una finestra passiva per il monitoraggio del mercato, bensì come un ambiente in cui gli utenti potevano formalizzare una strategia e delegarne l'esecuzione al software.

MetaQuotes e la prima versione di MQL

La prima menzione pubblica di MQL è apparsa nel novembre 2001. Fu allora che venne rilasciata la versione 1.78 di MetaQuotes, introducendo la possibilità di creare strategie di trading personalizzate — Expert Advisor — utilizzando il MetaQuotes Language interno della piattaforma.

L'annuncio di allora delineava già la visione a lungo termine della piattaforma: Gli Expert Advisor dovevano definire la logica di trading, essere testati su dati storici, eseguire automaticamente operazioni sul conto e gestire le posizioni aperte senza intervento umano.

Secondo gli standard odierni, la prima MQL appariva decisamente modesta. Tutte le sue specifiche rientravano in una singola pagina HTML. Il linguaggio non prevedeva cicli, array o la struttura tipica di un programma completo. Per i calcoli era stato utilizzato un piccolo insieme di variabili a virgola mobile predefinite.

Tuttavia, giudicare questo traguardo basandosi esclusivamente sulla sua sintassi sarebbe errato. La vera svolta non risiedeva nell'espressività del linguaggio, bensì nel suo livello di integrazione. Gli Expert Advisor venivano eseguiti direttamente all'interno del terminale client gratuito, accedevano a serie temporali e indicatori tecnici, potevano analizzare il mercato e inviare ordini di trading al server.

Questo segnò l'emergere di un principio che sarebbe poi diventato lo standard per l'intero ecosistema MQL: una strategia di trading non è un segnale esterno che deve essere importato manualmente nel terminale, bensì un programma eseguibile all'interno della piattaforma di trading.


MetaTrader: Una nuova piattaforma, una nuova scala

Nel maggio 2002 sono iniziati i test pubblici per la nuova piattaforma MetaTrader. Non si trattava di un semplice aggiornamento estetico, bensì di una profonda riprogettazione dei componenti del server e del gestore. Gli annunci menzionavano il supporto per centinaia di strumenti, tra cui i mercati Forex, CFD, future e azionari, nuovi protocolli di comunicazione e la capacità di servire migliaia di utenti online.

Questa fase è importante nella storia di MQL per due motivi.

In primo luogo, il terminale è entrato a far parte di un ecosistema più ampio. Il trading automatizzato non era più concepito come un'applicazione autonoma, ma come un sistema integrato con un server, strumenti di gestione, un'ampia base di utenti e diverse classi di strumenti finanziari.

In secondo luogo, divenne chiaro che il vecchio linguaggio non era sufficiente. Se ci si aspettava che gli utenti non si limitassero a eseguire Expert Advisor preconfigurati, ma che descrivessero effettivamente la logica di trading, il linguaggio doveva avvicinarsi alla programmazione convenzionale.

MQL II: Il linguaggio comincia ad assomigliare a un vero linguaggio di programmazione

Nell'autunno del 2002, la versione 2.03 di MetaTrader ha introdotto una nuova versione del linguaggio: MQL II.


Non poteva più essere considerato semplicemente un insieme di formule per la creazione di Expert Advisor. La documentazione di MQL II era circa tre volte più lunga di quella di MQL originale, sebbene stesse comunque bene su una singola pagina HTML. Il linguaggio ha introdotto variabili reali, stringa e booleane, array, cicli for e while e un insieme ampliato di funzioni integrate. Tra queste figuravano le funzioni matematiche Abs, Ceil, Cos, Exp, Floor, Log, Mod, Pow, Round, Sin, Sqrt e Tan.

Quello è stato un passo avanti significativo. Gli utenti lavoravano ancora all'interno di un framework piuttosto rigido: ogni file sorgente definiva essenzialmente una funzione eseguibile che veniva eseguita al verificarsi di un tick per uno strumento finanziario. All'interno di questo framework, tuttavia, era già possibile implementare logiche più complesse e utilizzare condizioni, cicli, array e calcoli matematici.

In seguito, è diventato possibile richiamare file compilati esternamente, risolvendo parzialmente il problema dell'impossibilità di avere funzioni personalizzate all'interno di un singolo file sorgente. Internamente, l'implementazione era ancora ben lontana dai futuri MQL4 e MQL5: il codice girava su una macchina basata su stack costruita attorno alla Notazione Polacca Inversa. Per gli utenti, tuttavia, questa non era la cosa più importante. Il punto chiave era che una strategia di trading si stava gradualmente evolvendo da un insieme di condizioni a un vero e proprio programma.

In termini di sintassi, MQL II somigliava al Pascal. Anche questo è stato intenzionale. Il Pascal era considerato uno dei linguaggi più accessibili per imparare a programmare, e ciò si allineava perfettamente con la filosofia di MetaQuotes dell'epoca: ogni utente del terminale di trading avrebbe dovuto avere l'opportunità di sviluppare la propria strategia di trading.

Indicatori personalizzati: MQL va oltre gli Expert Advisor

Nella primavera del 2003, lo sviluppo di MQL ha compiuto un altro importante passo avanti. A marzo, al terminale sono stati aggiunti nuovi indicatori integrati e funzioni per la gestione dei file: FileOpen, FileClose, FileDelete, FileSize, FileTell, FileSeek, FileWrite, FileReadNumber, FileReadString e altri.

Ma la svolta decisiva arrivò nell'aprile del 2003: La versione 3.10 di MetaTrader ha introdotto il supporto per indicatori e funzioni personalizzati in MQL.


Ciò ha ampliato il ruolo del linguaggio. Fino ad allora, MQL era principalmente associato agli Expert Advisor: l'utente descriveva una strategia di trading e il terminale la eseguiva a ogni tick. Gli indicatori personalizzati hanno introdotto un caso d'uso diverso: i trader potevano ora programmare non solo le decisioni di trading, ma anche i propri metodi di analisi del mercato.

Pertanto, MQL ha iniziato a coprire due aspetti distinti del lavoro di un trader: prendere decisioni di trading e costruire strumenti analitici. Col tempo, questa combinazione sarebbe diventata standard in MetaTrader 4: Expert Advisor, indicatori, script e librerie verrebbero trattati come diversi tipi di programmi all'interno di un unico ambiente.

Una fase di transizione: Dalla semplicità a un linguaggio a tutti gli effetti

Verso la metà del 2003, era ormai chiaro che la futura piattaforma principale non poteva essere semplicemente un'estensione della vecchia architettura esistente. Servivano un nuovo prodotto, un nuovo linguaggio e un nuovo ambiente.

Nel corso del processo di sviluppo, sono state adottate soluzioni transitorie che non hanno lasciato quasi traccia su internet. Ma la direzione dei cambiamenti era chiara. Gli sviluppatori hanno deciso di abbandonare il modello "un file sorgente = una funzione", l'esecuzione basata su stack e la sintassi eccessivamente didattica. Il linguaggio del futuro sarebbe più simile ai linguaggi di tipo C, supporterebbe strutture di programma più complesse e consentirebbe agli utenti di creare non solo semplici Expert Advisor, ma anche sofisticati sistemi di trading.

Ciò segnò anche un cambiamento di filosofia. Inizialmente, l'idea era più o meno questa: ogni trader doveva essere in grado di programmare la propria strategia. Al momento dello sviluppo di MQL4, quest'idea era diventata più precisa: qualsiasi utente esperto avrebbe dovuto essere in grado di programmare una strategia di trading di qualsiasi complessità senza uscire dal terminale.

Allo stesso tempo, la semplicità è rimasta una priorità. Le strategie semplici dovevano rimanere semplici. Ma il limite di complessità doveva essere innalzato drasticamente.

MetaTrader 4 e MQL4: Il terminale diventa un IDE

Lo sviluppo di MetaTrader 4 è iniziato nell'estate del 2003. Nelle discussioni dell'epoca, gli sviluppatori rivelarono gradualmente le sue future funzionalità: test più avanzati, accesso a serie temporali per diversi simboli e timeframe, funzioni di trading ampliate, script, indicatori personalizzati con un gran numero di buffer di indicatori e chiamate a funzioni esterne da DLL. Il 5 febbraio 2004, è stato pubblicato un esempio di codice sorgente di un programma MQL4 affinché gli sviluppatori potessero esaminarlo.

All'inizio del 2004, era ormai chiaro che non si sarebbe trattato di un aggiornamento di poco conto. Il sistema veniva essenzialmente riscritto da zero. Ci è voluto più tempo del previsto, ma è proprio per questo che MetaTrader 4 alla fine è diventato non solo un insieme di miglioramenti, ma una nuova piattaforma.

Il 18 novembre 2004, MetaQuotes ha annunciato l'imminente rilascio della versione beta di MetaTrader 4. L'annuncio è stato significativo non solo per le sue funzionalità di trading e analisi. Per la prima volta, un singolo prodotto ha riunito un modello chiaro per il trading algoritmico di massa: il terminale, il linguaggio di programmazione MetaQuotes Language 4, l'IDE MetaEditor 4, gli Expert Advisor, gli indicatori personalizzati e gli script.


Da quel momento in poi, MetaTrader non è più stato semplicemente un terminale di trading con funzionalità di automazione. MetaTrader 4 è diventata una piattaforma che ha fornito agli sviluppatori uno spazio di lavoro dedicato.

Sul sito web MetaQuotes, la documentazione MQL4 era straordinariamente compatta: tipi di dati, operazioni ed espressioni, istruzioni, funzioni, variabili, il preprocessore e, successivamente, la sintassi del linguaggio. Tuttavia, la documentazione di riferimento completa è stata integrata in MetaEditor. Si è trattato di una decisione progettuale fondamentale: gli sviluppatori non dovevano più passare a un browser ogni volta che avevano bisogno della documentazione. Il materiale di riferimento, il codice sorgente e gli strumenti di compilazione erano tutti disponibili in un unico luogo.


MQL4 era già un linguaggio di programmazione procedurale a tutti gli effetti. Ha introdotto funzioni definite dall'utente, una struttura di programma più familiare, script per l'esecuzione una tantum, librerie sotto forma di file EX4 e la possibilità di richiamare funzioni da DLL esterne.

MetaEditor è diventato molto più di un semplice editor di testo. Offriva funzionalità di navigazione guidata, evidenziazione della sintassi, compilazione, supporto per diversi tipi di programmi MQL e documentazione integrata. A questo punto, la formula che avrebbe reso MetaTrader 4 una piattaforma ampiamente utilizzata per il trading algoritmico era ormai pienamente definita:

TERMINALE + LINGUAGGIO + EDITOR + AIUTO + TEST + COMMUNITY

Il 1° luglio 2005, dopo un lungo processo di sviluppo, MetaTrader 4 è stata rilasciata come piattaforma di trading completa. Da quel momento in poi, la storia non riguardava più solo l'evoluzione di un linguaggio di programmazione, ma anche la nascita dell'ecosistema: un sito web dedicato agli sviluppatori, Code Base, articoli, campionati di robot di trading e un'enorme comunità di utenti MQL4.

Questo sarà l'argomento della prossima parte.


MQL4.COM: La linguaggio diventa una community

Dopo il rilascio di MetaTrader 4, è apparso chiaro che la sola piattaforma non era sufficiente. Se da un lato gli utenti potevano scrivere Expert Advisor, indicatori, script e librerie, dall'altro avevano bisogno anche di documentazione, esempi, discussioni, articoli e un luogo dove condividere il codice.

L’8 novembre 2005, un sito web dedicato agli sviluppatori MQL4, MQL4.COM, venne lanciato.

Questo è stato un passo importante: MQL4 non era più solo un linguaggio integrato nel terminale di trading. Stava diventando il centro di un ecosistema di sviluppatori a sé stante. Sul sito web furono pubblicati un forum, la documentazione, il Code Base e degli articoli. In seguito, i materiali iniziarono ad essere pubblicati non solo in russo e in inglese, ma anche in cinese.

Il Code Base si riempì rapidamente di programmi già pronti. A meno di un mese dal suo lancio, il Code Base conteneva già più di 50 Expert Advisor, circa 200 indicatori, 35 script e 17 librerie. Expert Advisor, indicatori, script e librerie hanno trasformato MQL4 da un linguaggio "per addetti ai lavori" in uno strumento pratico di uso comune. Gli utenti potevano non solo scrivere programmi da zero, ma anche studiare il codice di altri, modificare soluzioni esistenti, porre domande ai loro autori e gradualmente avvicinarsi allo sviluppo software.

È significativo che già nel 2006 una delle pubblicazioni della community presentasse un Expert Advisor che utilizzava l’intelligenza artificiale — una rete neurale a singolo strato. All'epoca, questo era tutt'altro che comune. All'epoca non c'era tutto questo clamore intorno all'intelligenza artificiale e all'apprendimento automatico. Eppure l'idea stessa era già presente all'interno della community: una strategia di trading poteva essere costruita non solo sulla base di regole e indicatori, ma anche su un modello addestrabile.

Questo episodio aiuta a spiegare perché la successiva evoluzione di MQL ha portato naturalmente a Python, ONNX, Assistente IA e OpenBLAS. L'interesse per l'apprendimento automatico non è nato dal nulla. Semplicemente, ci è voluto del tempo perché la piattaforma, il linguaggio e le capacità di calcolo raggiungessero il livello necessario per supportarlo.

Campionato di trading automatizzato: Gli expert advisor salgono sul palco

La successiva tappa fondamentale è stata il Campionato di Trading Automatizzato. Il primo concorso per sistemi di trading scritti in MQL4 ha avuto luogo alla fine del 2006. Era molto più di una semplice competizione per un premio in denaro. Il campionato è servito come dimostrazione pubblica del concetto fondamentale alla base di MetaTrader 4: Gli Expert Advisor potevano operare in modo autonomo, mentre le loro prestazioni essere monitorate in tempo reale.

Al campionato del 2006 hanno partecipato complessivamente 258 sviluppatori. Il montepremi era di 80.000 dollari e la competizione è durata 12 settimane. All'epoca, si trattava di una dichiarazione pubblica di grande impatto: il trading automatizzato non era più un argomento riservato a un ristretto gruppo di programmatori. Era diventato uno spettacolo che trader, broker e sviluppatori potevano seguire con interesse.

Ma nemmeno i premi erano la parte più importante. Il campionato è servito da test di stress per l'intera infrastruttura. Gli organizzatori hanno preparato hardware server per questo, lanciato numerosi terminali, assicurato condizioni operative identiche per gli Expert Advisor e dato agli spettatori l'opportunità di monitorare i risultati online.

Questa pratica ha dato origine a numerose idee che si sono poi rivelate utili all'interno dell'ecosistema MetaTrader: controlli automatici degli Expert Advisor, protezione del software, hosting VPS, terminali client leggeri, terminali web, segnali di trading e infine, il marketplace delle applicazioni.

Nel 2007 il numero dei partecipanti è cresciuto fino a 603 e nel 2008 ha raggiunto 705. Non si trattava più di un evento isolato, ma di un'indicazione della portata raggiunta dalla community. Le persone scrivevano robot di trading, discutevano di algoritmi, confrontavano approcci, studiavano interviste con altri partecipanti e cercavano di capire perché alcuni sistemi riuscivano a sopravvivere al trading reale mentre altri si bloccavano dopo le prime settimane.

Vale anche la pena notare che le reti neurali hanno continuato a comparire nei campionati. Il vincitore del 2007, Alexander Topchilo, ha utilizzato un approccio basato sulle reti neurali nel suo Expert Advisor, sviluppando e testando inizialmente il sistema in C++ e successivamente adattandolo a MQL4. Intervista ad Alexander Topchilo (Better)

Nel 2008, Leonid Velichkovsky ha presentato un Expert Advisor che utilizzava una rete neurale addestrata in NeuroShell. Intervista a Leonid Velichkovsky (LeoV)

Si tratta di un dettaglio importante per l'intero articolo. La storia di MQL non è solo la storia della sua sintassi. È la storia di trader che cercano di introdurre nel terminale concetti sempre più complessi: da semplici regole basate su indicatori a statistiche, ottimizzazione, reti neurali e apprendimento automatico.

Il campionato non si è svolto nel 2009. MetaQuotes stava ultimando lo sviluppo della sua futura piattaforma principale, MetaTrader 5, insieme al nuovo linguaggio MQL5.

MQL5: La nuova piattaforma inizia con il linguaggio

Le discussioni sul futuro di MQL5 sono iniziate ben prima del lancio pubblico di MetaTrader 5. Già nel 2007, gli utenti di MQL4.COM discutevano attivamente di ciò che si aspettavano dal nuovo linguaggio. Una ricerca per "MQL5" nell'ottobre 2007 ha restituito più di 15 pagine di collegamenti a post sul forum di MQL4.COM. Gli utenti chiedevano prestazioni più veloci, un design più strutturato, nuove funzionalità di test, una gestione dei dati più semplice e un modello di programmazione più moderno.

Internamente, la direzione dello sviluppo fu ancora più radicale. Il nuovo linguaggio è stato progettato per allontanarsi dalla rappresentazione intermedia caratteristica di MQL4 e generare invece codice nativo. Ciò implicava un livello di prestazioni diverso e un livello diverso di requisiti architetturali per il linguaggio stesso.

La prima menzione archiviata del dominio MQL5.COM risale a novembre 2007. Il fatto stesso che fosse emerso un dominio separato dimostrava che non si trattava solo di una nuova sintassi, ma di un futuro ecosistema.


Il 31 marzo 2008, il nuovo linguaggio MQL5 è stato annunciato ufficialmente in un'intervista in cui si discuteva delle caratteristiche del linguaggio in arrivo. L'intervista in sé non è giunta fino a noi negli archivi pubblici, ma la data è significativa: ancor prima del rilascio di MetaTrader 5, gli sviluppatori avevano iniziato a preparare la community a un nuovo modello di programmazione.

Entro l’estate 2009, il sito web MQL5.COM prometteva già esplicitamente un lancio imminente.


Il 12 ottobre 2009, ebbe inizio il beta test di MetaTrader 5. Un mese dopo, il 18 novembre 2009, la versione beta di MQL5.community — un nuovo sito web per gli sviluppatori MQL5 — fù lanciato.

MQL5.community: Non solo un forum, ma un'infrastruttura.

Fin dall'inizio, MQL5.community non è stato concepito come un forum ordinario. Fu concepito come parte integrante di un ecosistema più ampio: documentazione, forum, Code Base, articoli, materiali didattici e nuovi servizi che potevano essere aggiunti con l'evoluzione della piattaforma.

Gli sviluppatori si sono impegnati a preservare ciò che già funzionava su MQL4.COM: discussioni, Code Base, articoli e il familiare modello di condivisione delle conoscenze. Ma il nuovo sito web era stato concepito per essere più completo. MQL5 era più complesso, MetaTrader 5 era più ambiziosa e di conseguenza, la comunità necessitava di un'infrastruttura più solida.

Un gesto importante è stata la migrazione degli account da MQL4.COM. Gli utenti non hanno dovuto ricominciare da zero: potevano accedere al nuovo sito utilizzando i loro account esistenti. Questo ha fatto da ponte tra le due epoche e ha dimostrato che MQL5 non ha scartato l'esperienza accumulata con MQL4, ma l'ha sviluppata ulteriormente a un nuovo livello.

Questo ha creato un nuovo hub: il linguaggio, la documentazione, gli articoli, il codice, il forum e i servizi futuri sono stati tutti riuniti in un unico luogo. MQL5.community non era più un componente aggiuntivo del terminale, ma parte integrante della piattaforma stessa.

MetaTrader 5 e MQL5: Il linguaggio diventa uno strumento di ingegneria

Il 1 giugno 2010 è stata rilasciata la piattaforma di trading MetaTrader 5. A differenza della generazione precedente, è stata progettata non solo per il Forex, ma anche per il trading sui mercati azionari. Ciò ha richiesto modifiche non solo al terminale, ma anche al linguaggio.

MQL5 ha rappresentato un notevole passo avanti rispetto a MQL4. Si trattava già di un linguaggio di programmazione orientato agli oggetti, simile al C++. I programmi MQL5 venivano compilati in codice nativo x86 o x64, offrendo un nuovo livello di prestazioni. Allo stesso tempo, il concetto fondamentale di MQL è rimasto invariato: gli utenti dovrebbero essere in grado di scrivere sia programmi semplici che sistemi di trading sofisticati.

Anche il modello di trading è diventato più complesso. MetaTrader 5 ha introdotto entità separate per ordini, transazioni e posizioni. Le operazioni di trading sono state avvicinate alla realtà delle infrastrutture di borsa, ma per gli sviluppatori ciò ha significato dover gestire un maggior numero di dettagli. Per cui, la libreria standard è stata sviluppata insieme al linguaggio, includendo classi di trading per semplificare il lavoro con i casi d'uso comuni.

Al momento del lancio, MQL5 contava circa 400 funzioni integrate — all'incirca lo stesso numero di funzioni che MQL4 aveva all'epoca. Ma il numero di funzioni non era il punto più importante. Ciò che contava era la direzione dello sviluppo. MQL5 è stato concepito come un linguaggio per la creazione di sistemi su larga scala: con classi, gestione degli eventi, una libreria standard, test, ottimizzazione e servizi futuri sviluppati attorno alla piattaforma.

È stata creata una sezione separata della documentazione per gli utenti MQL4 spiegando come migrare a MQL5. Era necessario: il nuovo linguaggio era più potente, ma richiedeva un modo di pensare diverso. Se MQL4 aveva reso il trading algoritmico accessibile a un pubblico di massa, MQL5 si proponeva di renderlo più orientato all'ingegneria.

Campionati MQL5: La nuova piattaforma viene sottoposta a test pubblici.

Nel 2010 è tornato l'Automated Trading Championship, questa volta come competizione per Expert Advisor MQL5. Si trattava di un passo logico: la nuova piattaforma necessitava di una dimostrazione pubblica e gli sviluppatori dovevano vedere come si comportava MQL5 non solo negli esempi della documentazione, ma in una vera e propria competizione di tre mesi tra robot di trading.

Il campionato del 2010 ha registrato 314 partecipanti. Nel 2011, ce n’erano 395, e nel 2012, 451. Queste competizioni non solo rappresentavano la continuazione della tradizione dei campionati MQL4, ma anche una vetrina per i vantaggi della nuova piattaforma: prestazioni superiori, un nuovo Strategy Tester, un modello di trading più sofisticato e la possibilità di sviluppare Expert Advisor su larga scala.

I campionati, ancora una volta, hanno assolto a molteplici scopi. Per i trader, rappresentavano un intrattenimento e un'opportunità per vedere in azione il trading automatizzato. Per gli sviluppatori, rappresentavano un banco di prova pratico per testare le idee. Per MetaQuotes, hanno generato feedback sul linguaggio, sul terminale, sullo Strategy Tester, sull'infrastruttura e sul comportamento del programma in condizioni reali. E, naturalmente, hanno contribuito a diffondere il linguaggio MQL5.

Nuovo MQL4: l'influenza inversa di MQL5

Dopo il rilascio di MetaTrader 5, si poteva pensare che lo sviluppo di MQL4 sarebbe gradualmente passato in secondo piano. Ma accadde l'esatto contrario. L'enorme base di utenti di MetaTrader 4 e il codice accumulato nel corso degli anni richiedevano un aggiornamento accurato, non un blocco.

Nel Luglio 2013, sono stati annunciati importanti cambiamenti a MetaTrader 4 e MQL4. L'idea era insolita: invece di obbligare tutti a convertire il proprio codice da MQL4 a MQL5, MetaQuotes avrebbe integrato in MQL4 il maggior numero possibile di funzionalità della nuova tecnologia.

Ciò ha portato a un compilatore unificato per MQL4 e MQL5, a un MetaEditor unificato, al supporto per nuovi strumenti di sviluppo, a una maggiore protezione per i file EX4/EX5 e alla possibilità di utilizzare il Market per le applicazioni in MetaTrader 4.

Si è trattato di una decisione importante per l'intero ecosistema. MQL4 non è rimasto un "linguaggio di vecchia generazione". Ora includeva classi, strutture, nuovi tipi di dati, gestori di eventi, un modello di compilazione più rigoroso, supporto per le risorse, nuove funzionalità grafiche e lo stesso set di strumenti di sviluppo di MQL5.

Solo un mese dopo, è stata rilasciata una versione beta dell'IDE di MetaTrader 4, che include un nuovo compilatore ed editor MQL4. Alla fine del 2013, è iniziato il test pubblico per la versione aggiornata di MetaTrader 4 con il nuovo MQL4 e il Market per le applicazioni. Il 3 febbraio 2014 è stata rilasciata la build 600 del terminale client MetaTrader 4.

Questa release ha di fatto diviso la storia di MQL4 in due ere. Il vecchio MQL4 era un linguaggio semplice, simile al C, ben adatto agli Expert Advisor e agli indicatori. La nuova versione di MQL4 si avvicinò molto a MQL5: presentava la programmazione orientata agli oggetti, un MetaEditor unificato, un nuovo compilatore e la possibilità di creare applicazioni più complesse.

Allo stesso tempo, MetaTrader 4 ha mantenuto il suo più grande vantaggio: la sua vasta base di utenti, programmi e conoscenze preesistenti non è stata abbandonata. Al contrario, al vecchio ecosistema è stata data una nuova base tecnologica.

Pertanto, MQL4 e MQL5 non sembravano più due mondi completamente diversi. Un linguaggio è nato dalla diffusa pratica del trading automatizzato, mentre l'altro è emerso dallo sforzo di costruire una piattaforma ingegneristica più rigorosa e potente. Dopo la build 600, è apparso un livello comune tra di loro: MetaEditor, il compilatore, lo stile di sviluppo, la protezione del programma e i servizi di MQL5.community.

A questo punto, la storia di MQL si era da tempo evoluta ben oltre il semplice ruolo di "linguaggio per Expert Advisor". Attorno ad esso si era formato un intero ecosistema: terminali, un editor, documentazione, Code Base, articoli, campionati, il Market, segnali, VPS e un'enorme community. Ma la fase successiva dello sviluppo richiederebbe ancora di più: dati esterni, calcolo distribuito, apprendimento automatico, matrici, reti neurali e algebra lineare avanzata.

Questo sarà l'argomento della prossima parte.


L'evoluzione di MQL5: Il linguaggio si evolve

Dopo il lancio di MetaTrader 5, lo sviluppo di MQL5 è proseguito su diversi binari paralleli. Un aspetto su cui ci si è concentrati riguardava il linguaggio stesso: stava diventando sempre più simile al C++ e più adatto a progetti su larga scala. Il secondo riguarda gli ambienti di runtime: I programmi MQL5 non erano più limitati agli Expert Advisor e agli indicatori visualizzati sui grafici. Il terzo riguardava il calcolo: Strategy Tester, l'ottimizzazione cloud, OpenCL, le matrici, Python e ONNX hanno gradualmente ampliato i limiti di ciò che si poteva fare all'interno della piattaforma.

Considerati singolarmente, questi aggiornamenti potrebbero sembrare un lungo elenco di release. Presi insieme, tuttavia, rivelano una trasformazione più importante: MQL5 si stava evolvendo da linguaggio per robot di trading in un ambiente universale per lo sviluppo, il calcolo, l'analisi dei dati e l'integrazione con tecnologie esterne.

Il linguaggio si avvicina al C++

Inizialmente, MQL5 è stato sviluppato come successore più rigoroso e veloce di MQL4. Ma già nei primi anni divenne chiaro che la sintassi di base della programmazione orientata agli oggetti non era sufficiente. Gli sviluppatori avevano bisogno di strumenti per progetti più ampi: riutilizzo del codice, algoritmi generici, ereditarietà più sicura, namespace e supporto per tipi di dati complessi.

Le risorse sono state introdotte il 19 gennaio 2011. Terminale Client MetaTrader 5 build 384. Ciò ha reso possibile incorporare immagini, dati e altri file ausiliari direttamente in un programma. In seguito, furono introdotte le variabili di risorsa: Il codice OpenCL, i dati binari o il testo possono essere inclusi in un programma MQL5 senza trasformare il progetto in una raccolta di dipendenze esterne.

Le funzioni template sono state introdotte il 16 novembre 2012, con il Terminale di Trading MetaTrader 5 build 722.

I template di classe sono stati introdotti il 23 ottobre 2015, con MetaTrader 5 build 1200: cronologia dei tick e pagamento diretto per i servizi. Questi furono passi importanti verso la programmazione generica. Lo stesso codice potrebbe essere utilizzato per diversi tipi di dati senza dover riscrivere manualmente gli algoritmi.

Nel 2016, il linguaggio ha acquisito diverse funzionalità familiari agli sviluppatori C++:

Le classi astratte sono state introdotte il 1 aprile 2016, con MetaTrader 5 build 1295.

Il casting dinamico dei tipi con dynamic_cast è stato introdotto nel giugno 2016.

Le interfacce sono state introdotte il 15 agosto 2016.

I modificatori final e override sono stati aggiunti il 16 settembre 2016 - Nuova piattaforma MetaTrader 5 build 1430: Scheda Esposizione aggiornata.

Nessuno di questi cambiamenti era puramente estetico. Hanno reso possibile la creazione di gerarchie di classi più rigorose e sicure, la definizione esplicita delle intenzioni dello sviluppatore e l'individuazione di determinate classi di errori in fase di compilazione.

I namespaces sono stati introdotti il 5 ottobre 2019 con MetaTrader 5 build 2170: Scope in MQL5, un importante aggiornamento dello Strategy Tester e hosting integrato . Questo è particolarmente importante per i progetti di grandi dimensioni e le librerie di terze parti: i nomi di classi, funzioni e variabili non entrano più in conflitto tra loro, mentre il codice può essere organizzato in moduli in modo più pulito.

Il tipo di dati complex è stato aggiunto il 21 maggio 2021 con MetaTrader 5 build 2940: Posizionamento delle vetrine dei Servizi MQL5 nell'area di lavoro e design aggiornato. Non si trattava più di una funzionalità "per Expert Advisor", ma di un passo avanti verso il calcolo ingegneristico e scientifico. I numeri complessi vengono utilizzati nell'analisi spettrale, nell'algebra lineare, nell'elaborazione dei segnali e in numerosi metodi numerici.

I tipi matrix e vector sono stati aggiunti il 28 gennaio 2022 - MetaTrader 5 build 3180: Vettori e matrici in MQL5 e usabilità migliorata. Ciò ha rappresentato un ulteriore passo avanti verso il calcolo ingegneristico e scientifico, ponendo le basi per l'integrazione con ONNX e il futuro utilizzo della libreria OpenBLAS.

I tipi di dati complexf, vectorcf e matrixcf sono stati aggiunti il 27 settembre 2024. MetaTrader 5 build 4570: Miglioramenti alla versione Web e integrazione di OpenBLAS in MQL5 .

MQL5 stava gradualmente acquisendo le caratteristiche di un linguaggio adatto non solo a scrivere la logica di trading, ma anche a costruire grandi librerie, moduli computazionali, wrapper di modelli e codice infrastrutturale.


Lo Strategy Tester come ambiente di calcolo

Una linea di sviluppo separata è correlata allo Strategy Tester. Lo Strategy Tester è sempre stato fondamentale in MetaTrader: senza test storici, il trading automatizzato si riduce a una serie di congetture. Ma in MQL5, lo Strategy Tester ha iniziato ad andare oltre il semplice test di un Expert Advisor.

Nel 2012 sono stati introdotti i gestori di eventi OnTesterInit, OnTesterDeinit e OnTesterPass, insieme alle funzioni per lavorare con i data frame: FrameAdd, FrameFirst, FrameNext e FrameInputs. Ciò consentiva agli agenti di test di inviare al terminale non solo un singolo risultato finale, ma anche dati arbitrari.

È facile sottovalutare l'importanza di questo aggiornamento. In pratica, ha trasformato l'ottimizzazione in un processo computazionale più flessibile. Un Expert Advisor non solo può restituire il criterio di ottimizzazione, ma anche trasmettere una serie di risultati intermedi, statistiche, metriche personalizzate o dati per ulteriori analisi.

Insieme alla MQL5 Cloud Network, ciò ha aperto le porte al calcolo distribuito. Formalmente, tutto rimaneva all'interno dell'infrastruttura dello Strategy Tester, ma in pratica MQL5 aveva acquisito un meccanismo per l'elaborazione parallela di attività che non dovevano necessariamente limitarsi alle tradizionali analisi dei parametri di un robot di trading.

Questo è un altro esempio di una tendenza generale: gli strumenti originariamente creati per il trading algoritmico si stanno gradualmente rivelando utili per una gamma più ampia di scenari computazionali.


MQL5 va oltre il grafico

Il modello di programma MQL classico era legato a un grafico: un Expert Advisor opera su un simbolo, un indicatore viene visualizzato in una finestra e uno script esegue un'azione una tantum. MQL5 ha gradualmente ampliato questo modello.

Il supporto per OpenCL venne aggiunto il 3 febbraio 2012, con il Terminale di Trading MetaTrader 5 build 581. Ciò ha reso possibile l'utilizzo del calcolo parallelo sui dispositivi disponibili e l'accelerazione di attività particolarmente adatte all'elaborazione di grandi quantità di dati.

Le funzioni per lavorare con i simboli personalizzati sono state aggiunte il 20 dicembre 2017 - MetaTrader 5 build 1730: progetti in MetaEditor e strumenti sintetici. Gli sviluppatori hanno acquisito la capacità di creare i propri simboli, popolarli con dati storici, aggiornare i tick e costruire strumenti sintetici. Questo era importante per la ricerca: le idee potevano essere testate non solo su dati standard dei broker, ma anche su serie temporali personalizzate, strumenti aggregati e set di quotazioni specializzati.

Il supporto nativo per le librerie .NET sono state aggiunte il 26 ottobre 2018 - MetaTrader 5 build 1930: Finestre di grafici flottanti e librerie .NET in MQL5 . MetaEditor ha automatizzato parte del processo di importazione delle funzioni, offrendo agli sviluppatori un modo più semplice per utilizzare codice esterno senza dover scrivere manualmente wrapper complessi.

Il 21 febbraio 2019 è stato introdotto un nuovo tipo di programma MQL5, Servizi (programmi non associati ad alcun grafico), con MetaTrader 5 build 2005: Calendario economico, programmi MQL5 come servizi e un'API per il linguaggio R . Un servizio può essere eseguito in background, avviarsi insieme al terminale ed eseguire attività infrastrutturali. Questo cambia radicalmente il concetto di programma MQL: non deve più essere necessariamente un Expert Advisor, un indicatore o uno script.

Anche le funzioni di rete per stabilire connessioni TCP sono state aggiunte il 21 febbraio 2019, nell'aggiornamento della build 2005 di MetaTrader 5. Un programma MQL5 ha acquisito la capacità di scambiare dati con sistemi esterni tramite socket, a condizione che gli indirizzi pertinenti fossero esplicitamente autorizzati nelle impostazioni del terminale. Ciò ha ampliato la gamma di scenari di integrazione: fonti di dati personalizzate, servizi locali, analisi esterne e scambio di dati tra applicazioni.

Il supporto al database e il supporto per DirectX è stato aggiunto il 6 dicembre 2019, con MetaTrader 5 build 2265: Funzioni DirectX per la visualizzazione 3D in MQL5 e configurazione dei simboli nello Strategy Tester . Questi aggiornamenti possono sembrare scollegati, ma condividono un'idea comune: MQL5 non era più limitato alle chiamate di funzioni di trading e ai buffer degli indicatori. Ha acquisito strumenti per l'archiviazione dei dati, la visualizzazione, l'integrazione esterna e l'elaborazione in background.


Python: Un ponte verso l'analisi dei dati e l'apprendimento automatico.

Il 14 giugno 2019, è stata aggiunta l'integrazione con Python a MetaTrader 5: Integrazione con Python, supporto per il Market e i Segnali in Wine (Linux/macOS) e importanti ottimizzazioni dello Strategy Tester in MetaTrader 5 build 2085. Rappresentava uno dei ponti più importanti tra la piattaforma di trading e il più ampio mondo dell'analisi dei dati.

A quel punto, Python era già diventato lo strumento standard per l'apprendimento automatico, la statistica, l'elaborazione dei dati e la visualizzazione. Il supporto per Python ha reso possibile recuperare i dati da MetaTrader 5 e utilizzarli in flussi di lavoro di ricerca esterni: creazione di modelli, test di ipotesi, preparazione di set di dati, analisi dei risultati e successivo inserimento delle informazioni ricavate nella piattaforma di trading.

Ancora una volta, si può osservare la stessa logica di sviluppo. MetaTrader non si propone di sostituire completamente il mondo esterno. La piattaforma, invece, offre agli sviluppatori un ponte: i dati e l'infrastruttura di trading rimangono nel terminale, mentre i flussi di lavoro di ricerca e apprendimento automatico possono essere eseguiti dove esiste già un ricco ecosistema di librerie.

ONNX: I modelli di apprendimento automatico arrivano su MQL5

Il passo successivo ha avvicinato ulteriormente l'apprendimento automatico alla piattaforma. Il 10 marzo 2023, MetaTrader 5 ha aggiunto il supporto per ONNX, un formato aperto per lo scambio di modelli di apprendimento automatico - MetaTrader 5 build 3620: Miglioramenti al terminale web, supporto ONNX e moltiplicazione di matrici accelerata in MQL5 .

Il concetto ONNX si adatta perfettamente a una piattaforma come MetaTrader. È possibile addestrare il modello al di fuori del terminale — ad esempio in Python utilizzando librerie familiari — per poi esportarlo in ONNX e utilizzarlo all'interno di un programma MQL5. Questo separa due compiti: l'addestramento del modello e la sua applicazione nella logica di trading.

Questa è una semplificazione notevole per gli sviluppatori. Non è necessario riscrivere manualmente una rete neurale in MQL5 o costruire l'intera infrastruttura di addestramento all'interno del terminale. Per la preparazione del modello si possono utilizzare strumenti esterni, mentre MQL5 può concentrarsi sull'integrazione del modello in un Expert Advisor, un indicatore o un'applicazione di ricerca.

Pertanto, il consolidato interesse della comunità MQL per le reti neurali ha assunto una forma tecnologica più matura. Mentre gli Expert Advisor basati su reti neurali erano esperimenti isolati condotti da appassionati tra il 2006 e il 2008, ONNX ha fornito agli sviluppatori un metodo standard per integrare i modelli addestrati in MQL5.

Assistente IA: Da un prompt a un agente a tutti gli effetti

La prima versione dell’Assistente IA è apparsa in MetaEditor il 14 giugno 2023. Ha già abbreviato il percorso da una domanda al codice: uno sviluppatore poteva evidenziare un frammento di codice, chiedere una spiegazione, ricevere l'implementazione di una funzione o una correzione, e quindi integrare manualmente il risultato nel programma. Questo era utile, ma dal punto di vista meccanico rappresentava comunque un'evoluzione del formato tradizionale della chat: una domanda, una risposta testuale, copia e verifica.

Il 24 luglio 2026, in MetaTrader 5 build 6060, la piattaforma è passata ad un modello diverso. Il terminale e MetaEditor hanno ottenuto il supporto integrato per il Model Context Protocol (MCP) e l'intelligenza artificiale agentica. L'Assistente IA non si limita più a generare testo: è in grado di pianificare una sequenza di azioni e richiamare gli strumenti forniti dalla piattaforma — come leggere dati, trovare e modificare file, creare progetti, analizzare l'ambiente di trading e restituire risultati strutturati.

Gli sviluppatori hanno descritto esplicitamente la differenza: invece della modalità "domanda-risposta-copia", ormai obsoleta, la piattaforma ha introdotto un agente a tutti gli effetti, capace di svolgere compiti complessi. Ciò rappresenta un cambiamento di scala significativo. L'Assistente non è più solo un generatore di frammenti di codice MQL5; sta diventando parte integrante del flusso di lavoro di sviluppatori e trader.

Impostazioni dell'Assistente IA e MCP in MetaTrader 5


MCP: Un ponte standard tra l'intelligenza artificiale e MetaTrader

Il Model Context Protocol (MCP) è uno standard aperto attraverso il quale un agente di intelligenza artificiale si connette ai dati e alle funzioni di un'applicazione. Per MetaTrader, questo significa che il terminale e MetaEditor non sono semplici finestre con una chat aperta al loro interno, ma veri e propri fornitori di strumenti specializzati. Anziché ricevere una descrizione astratta della piattaforma, il modello ottiene un'interfaccia programmatica controllata per operazioni specifiche.

In MetaEditor, un agente può recuperare informazioni sull'area di lavoro, cercare file e testo, leggere e modificare il codice sorgente, creare nuovi programmi, controllare la sintassi, compilare singoli file e creare progetti. Nel terminale, ha accesso ai dati di mercato, ai grafici aperti, ai parametri del conto, alle posizioni, agli ordini e alla cronologia di trading. I singoli server MCP possono aggiungere fonti esterne, come quotazioni pubbliche, notizie e altri dati per l'analisi.

Questa architettura funziona in entrambe le direzioni. L'assistente IA integrato utilizza gli strumenti MetaTrader e MetaEditor MCP, ma gli stessi server possono essere collegati a sistemi agentici esterni compatibili con il protocollo, tra cui OpenAI Codex, Claude Code e altre soluzioni. Gli utenti non sono quindi vincolati a una singola interfaccia o modello: la piattaforma fornisce gli strumenti e l'agente viene selezionato in base al compito da svolgere.

Il sistema supporta le chiavi API personali degli utenti per OpenAI, Anthropic, Gemini, DeepSeek, Ollama e altri provider compatibili. Per gli utenti che accedono con il proprio account MQL5.community, il piano gratuito MQL5 Lite viene attivato automaticamente: le impostazioni dell'Assistente IA vengono sincronizzate tra il terminale e MetaEditor.

L’Assistente IA nel terminale di trading

L'assistente integrato in MetaTrader 5 opera all'interno del terminale stesso. Può spiegare la situazione attuale di un particolare strumento, esaminare le quotazioni storiche, visualizzare gli strumenti del Market Watch, analizzare le posizioni aperte e la cronologia delle transazioni, identificare le operazioni rischiose e generare un report.

L'assistente IA analizza la cronologia di trading in MetaTrader 5


Grazie alla connessione con strumenti di rete, l'agente può combinare i dati interni del terminale con informazioni esterne. Uno degli scenari illustrati nell'annuncio mostrava l'assistente che recuperava le ultime notizie su uno strumento, esaminava il materiale passo dopo passo e lo confrontava con le quotazioni. Non si tratta più di una singola richiesta a una fonte di riferimento, bensì di un'analisi in più fasi in cui l'agente raccoglie autonomamente le parti necessarie del contesto.

Le operazioni di trading sono soggette a controlli separati. Nelle impostazioni, è possibile disattivarli completamente, consentirli o richiedere la conferma manuale. Le richieste di rete e le operazioni da riga di comando possono essere controllate separatamente. I suggerimenti dell'assistente hanno scopo puramente informativo: la decisione finale e la responsabilità delle operazioni di trading spettano all'utente.

Assistente IA in MetaEditor

In MetaEditor, l'agente può creare un nuovo programma MQL5 a partire da una descrizione in linguaggio naturale, analizzare un progetto esistente, individuare errori, suggerire correzioni, effettuare il refactoring del codice, migliorarne la leggibilità e spiegare un algoritmo complesso. La differenza principale rispetto alla prima versione è che il risultato non si limita necessariamente al testo della chat: l'agente può creare o modificare un file, eseguire la compilazione e verificare il risultato.

L'assistente IA crea e compila un programma MQL5 in MetaEditor


Per le basi di codice di grandi dimensioni, questo è particolarmente essenziale. L'assistente può cercare definizioni e utilizzi di identificatori in più file, leggere i moduli include correlati, tenere conto della struttura del progetto ed eseguire l'attività come una serie di operazioni. La cronologia delle richieste viene salvata nella scheda "Chat" del Navigatore, in modo che la collaborazione con l'agente diventi parte integrante del progetto anziché un suggerimento di programmazione isolato.

La build 6060 ha anche migliorato l'editor stesso: i blocchi di codice ora possono essere ripiegati e tutte le occorrenze di un identificatore selezionato vengono evidenziate. Queste caratteristiche non sono direttamente correlate all'intelligenza artificiale, ma rafforzano lo stesso scenario — l'analisi e la manutenzione di progetti su larga scala.

Dalla scrittura del codice al ciclo "Sviluppo - Test - Miglioramento"

L'area di sviluppo più importante riguarda lo Strategy Tester. Le risposte nel descrivono il target del flusso di lavoro automatizzato:

  1. sviluppare una strategia basata sulle esigenze del trader;
  2. Esecuzione di test e ottimizzazione dei parametri;
  3. analizzare il report, modificare il codice o le impostazioni e rieseguire il test;
  4. Interrompere l'attività in caso di fallimento o una volta ottenuto un risultato accettabile;
  5. presentare la versione finale e un report all'utente.

Questo scenario va distinto dalla promessa che "l'intelligenza artificiale troverà una strategia redditizia". Un agente può automatizzare il ciclo di ingegneria e testare più ipotesi, ma non può eliminare l'overfitting, gli errori nei dati di origine, l'instabilità del mercato o la necessità di una validazione indipendente. Il valore di MCP in questo caso risiede altrove: il tester, il compilatore, i file di progetto e i risultati dell'ottimizzazione possono essere collegati in un'unica sequenza controllata di azioni.

Durante la fase di beta testing, questo flusso di lavoro è stato gradualmente ampliato, con l'aggiunta e la configurazione continua di singoli strumenti di alto livello dello Strategy Tester. Pertanto, il ciclo completamente autonomo qui descritto dovrebbe essere considerato come una direzione per lo sviluppo del sistema agentico, piuttosto che come una garanzia che qualsiasi compito complesso possa già essere eseguito senza l'intervento dell'utente.

Sicurezza: Fornire all'agente gli strumenti, non un accesso illimitato al computer.

Maggiore è il numero di azioni che un agente può compiere, più importanti diventano i confini ben definiti. L'accesso si basa sul principio delle autorizzazioni esplicite. La directory di lavoro MQL5 è disponibile per le operazioni con i file sorgente, mentre le directory di test e di log possono essere limitate all'accesso in sola lettura. L'accesso al profilo utente è abilitato separatamente. Anche le attività di trading, l'accesso alla rete e la riga di comando sono controllati da impostazioni separate.

Le operazioni da riga di comando — come PowerShell, Python e altri processi esterni — sono particolarmente potenti e potenzialmente pericolose, pertanto sono chiaramente indicate nell'interfaccia e possono essere disabilitate separatamente. Questa modalità trasforma l'assistente in un agente generico, ma allo stesso tempo aumenta la potenziale superficie di attacco.

Nel corso delle discussioni con i trader sul forum, gli sviluppatori hanno anche sottolineato l'importanza dei backup e del controllo delle versioni. Per lo sviluppo agentico, Git non è solo una comodità, ma un meccanismo di sicurezza fondamentale: le modifiche devono essere visibili, confrontabili e reversibili. Qui, la nuova architettura IA si integra perfettamente con MQL5 Algo Forge.

Istruzioni e competenze richieste per il progetto

Non è sufficiente che un agente veda i file; deve anche comprendere le regole dello specifico codice sorgente. A tale scopo, nella directory MQL5\Profiles\Agents vengono utilizzati i file di istruzioni per MetaEditor e MetaTrader. Gli utenti possono sostituire le istruzioni predefinite con le proprie per definire lo stile di codifica, le convenzioni di denominazione, le procedure di convalida e altri requisiti permanenti.

Poiché questi file si trovano all'interno dell'area MQL5, possono essere archiviati insieme ai progetti in Algo Forge. Il repository può quindi contenere non solo il codice sorgente e il file README, ma anche istruzioni per l'IA: come compilare il progetto, quali file non devono essere modificati, quali test eseguire e in quale formato presentare il risultato.

Nel corso delle discussioni sul forum, gli sviluppatori hanno anche introdotto istruzioni locali per singoli progetti e competenze — procedure specializzate e riutilizzabili per l'agente. Questo dimostra la direzione in cui si sta evolvendo il sistema: da una chat generica a un partecipante digitale personalizzabile al progetto, che conosce gli strumenti della piattaforma e le regole di un team specifico.

Matrici e vettori: Preparazione di MQL5 per l'algebra lineare avanzata

Per l'apprendimento automatico, la statistica e i metodi numerici, classi, modelli e integrazioni esterne da soli non bastano. È inoltre essenziale disporre di un metodo pratico per lavorare con vettori, matrici e operazioni di base dell'algebra lineare.

Il 28 gennaio 2022, MQL5 ha introdotto i tipi matrix e vector. Si trattò di un cambiamento importante non solo dal punto di vista sintattico. Le matrici e i vettori non sono stati concepiti come semplici array, bensì come oggetti dotati di proprietà e metodi propri.

Un vettore ha acquisito una dimensione, mentre una matrice ha acquisito dimensioni di righe e colonne, e attorno a questi concetti ha iniziato a svilupparsi una serie di metodi distinti. Gli sviluppatori hanno acquisito un modo più naturale di scrivere codice computazionale: creare matrici, trasporle, moltiplicarle, calcolare decomposizioni, risolvere sistemi di equazioni e lavorare con norme, ranghi e altre caratteristiche numeriche.

A questo punto, MQL5 era già notevolmente diverso dal linguaggio che era nato con una semplice logica di Expert Advisor ad ogni tick. Il linguaggio ora includeva strutture per modelli matematici, mentre la piattaforma offriva collegamenti a Python, ONNX, OpenCL e all'ottimizzazione cloud.

Ma una vera base numerica richiede più di un semplice tipo di matrice conveniente. Era inoltre necessaria una libreria di algebra lineare collaudata su cui poter fare affidamento nell'implementazione di metodi complessi. Per questo motivo, il passo successivo fondamentale è stata l'integrazione di OpenBLAS.

Questo sarà l'argomento della prossima parte.


Perché OpenBLAS?

Con l'introduzione di matrici, vettori, numeri complessi, ONNX e scenari di apprendimento automatico in MQL5, la domanda successiva è diventata inevitabile: quale fondamento matematico dovrebbe venire dopo?

È possibile scrivere manualmente i singoli metodi. È possibile aggiungere alcune operazioni veloci per le matrici. È possibile limitarsi alla moltiplicazione, alla scomposizione e alla risoluzione di sistemi di equazioni. Ma questo approccio porta rapidamente a una serie di funzioni disparate, difficili da sviluppare, testare e manutenere.

Una piattaforma come MetaTrader 5 necessitava di qualcosa di più di "una semplice libreria veloce". È necessaria una base standard per l'algebra lineare: ampia, collaudata, portatile e adatta all'espansione graduale dei metodi MQL5.

Prima di scegliere OpenBLAS, sono state prese in considerazione anche altre opzioni: ALGLIB, LIBXSMM, Eigen e oneMKL. Ciascuno ha i suoi punti di forza, ma l'obiettivo di MQL5 era più ampio del semplice velocizzare una singola operazione o coprire una singola classe di algoritmi.

ALGLIB si distingue come un versatile toolkit numerico: ottimizzazione, approssimazione, algebra lineare, statistica e altri algoritmi. Tuttavia, per il ruolo di livello fondamentale all'interno di una piattaforma, non conta solo l'insieme delle funzionalità, ma anche il modello di licenza, le edizioni della libreria, i termini di distribuzione, la prevedibilità dell'integrazione e il supporto a lungo termine.

LIBXSMM eccelle nelle operazioni specializzate su matrici dense e sparse, in particolare nei problemi che coinvolgono matrici di piccole dimensioni e primitive di deep learning. Ciò lo rende uno strumento utile, ma con un ambito di applicazione più limitato. Funziona bene in situazioni in cui è necessario ottenere il massimo da una specifica classe di operazioni, ma non sostituisce una solida base orientata a LAPACK per una vasta gamma di metodi di algebra lineare.

Eigen è un'eccellente libreria di template C++ per matrici, vettori, risolutori numerici e algoritmi correlati. Ma Eigen è fondamentalmente un approccio C++: una libreria header-only, template, template di espressione e una stretta integrazione con il codice C++. Per l'integrazione interna della piattaforma MQL5, era necessario un approccio diverso: un livello computazionale stabile che potesse fungere da base per l'implementazione dei metodi matrix, matrixf, matrixc e matrixcf.

È stato preso in considerazione anche il progetto oneMKL. Si tratta di una potente libreria matematica con una lunga storia, forti capacità di ottimizzazione e un'ampia gamma di funzionalità. Ma la velocità non è l'unica cosa che conta in un prodotto basato su piattaforma. Tra i fattori chiave figurano la portabilità, il grado di dipendenza da un fornitore specifico, le condizioni di distribuzione, il controllo sull'integrazione e la prevedibilità del comportamento in diverse configurazioni utente.

OpenBLAS si è dimostrato il compromesso più adatto. Si tratta di una libreria BLAS open-source e ottimizzata che offre prestazioni elevate nelle operazioni di base dell'algebra lineare e funge da fondamento per metodi più complessi. Per MQL5, il fattore chiave è stato proprio la sua capacità di coprire tutte le attività di LAPACK: non solo una singola operazione veloce, ma una solida base per SVD, autovalori, risoluzione di sistemi di equazioni lineari, problemi dei minimi quadrati, fattorizzazioni e affinamento delle soluzioni.

In altre parole, la scelta di OpenBLAS è stata una decisione ingegneristica, non estetica. L'obiettivo era quello di gettare le basi per sviluppare sistematicamente metodi matematici per MQL5: dalle operazioni di base sulle matrici ad algoritmi numerici sempre più complessi.

OpenBLAS in MQL5: Dalle matrici a una solida base numerica

Il 27 settembre 2024, l'integrazione nativa di OpenBLAS è stata introdotta nella MetaTrader 5 build 4570. Allo stesso tempo, MQL5 ha acquisito nuovi tipi di dati per supportare i calcoli con numeri complessi utilizzando dati in virgola mobile:

  • complexf — un numero complesso che utilizza dati float;
  • vectorcf — un vettore contenente elementi di tipo complexf;
  • matrixcf — una matrice contenente elementi di tipo complexf.

A prima vista, potrebbe sembrare un dettaglio tecnico. In realtà, si tratta di un livello importante per le future funzionalità matematiche di MQL5. MQL5 includeva già matrici, vettori, numeri complessi e metodi matriciali. Ma OpenBLAS richiedeva un insieme più completo di tipi: dati reali e complessi, double e float, e diverse varianti di matrici e vettori.

MQL5, pertanto, offre molto di più di un semplice "metodo SVD" o di un "metodo degli autovalori". Fornisce le basi su cui costruire famiglie di algoritmi per diversi tipi di dati e diversi problemi numerici.

I primi metodi OpenBLAS in MQL5 erano relativi alla decomposizione ai valori singolari e al calcolo degli autovalori. Questo è stato un punto di partenza naturale. La decomposizione ai valori singolari (SVD) e i problemi agli autovalori sono alla base di un vasto numero di algoritmi pratici: dall'analisi di stabilità e dalla riduzione della dimensionalità all'apprendimento automatico, alla statistica, all'elaborazione dei segnali e alla costruzione di modelli.

Sono state aggiunte diverse varianti algoritmiche per SVD: divide et impera, QR, QR con pivoting, bisezione, Jacobi di alto livello, Jacobi di basso livello e metodi per matrici bidiagonali. Questo è importante perché i metodi numerici raramente offrono un'unica soluzione "ottimale" per ogni situazione. Un metodo rapido potrebbe risultare meno preciso su dati mal condizionati, mentre un approccio più stabile potrebbe essere computazionalmente più oneroso. La piattaforma dovrebbe offrire agli sviluppatori la possibilità di scegliere.

I metodi basati sugli autovalori affrontano una diversa classe di problemi. Vengono utilizzati per analizzare matrici quadrate, matrici simmetriche ed hermitiane, stabilità dei sistemi, caratteristiche spettrali e numerose procedure computazionali impiegate in statistica, ottimizzazione e modellazione.

La sezione OpenBLAS della documentazione MQL5 ha continuato ad espandersi nel tempo. Questo è un punto importante: l'integrazione di OpenBLAS non è una release una tantum, ma una direzione di sviluppo continua. I metodi matriciali e vettoriali stanno acquisendo gradualmente sempre più funzionalità applicabili a diversi tipi di matrici: matrix, matrixf, matrixc e matrixcf.

Il passo logico successivo prevede metodi per affinare le soluzioni, stimare gli errori, migliorare la stabilità numerica e apportare ulteriori fattorizzazioni. È proprio così che si costruisce una solida base matematica: non saltando dal "nulla" al "tutto", ma affrontando gradualmente un numero sempre crescente di problemi standard di LAPACK.

Perché questo è importante per uno sviluppatore MQL

Per un trader comune, OpenBLAS potrebbe sembrare qualcosa di distante: una libreria per matematici, ingegneri e specialisti di calcolo scientifico. Ma all'interno dell'ecosistema MQL, il suo arrivo ha implicazioni molto concrete.

Gli sviluppatori possono creare modelli più complessi direttamente in MQL5. Anziché limitarsi a richiamare un indicatore, confrontare due valori e inviare un ordine, possono lavorare con i dati sotto forma di array, vettori e matrici. Possono calcolare decomposizioni, risolvere sistemi di equazioni, valutare la stabilità e utilizzare metodi che in precedenza dovevano essere implementati in Python, C++ o librerie di terze parti.

Ciò non rende obsoleti Python, ONNX o gli strumenti esterni. Al contrario, stanno iniziando a completarsi a vicenda in modo più efficace. Python è particolarmente adatto alla ricerca, all'addestramento di modelli e alla preparazione dei dati. ONNX è comodo per portare un modello addestrato nel terminale. OpenBLAS fornisce a MQL5 una solida base numerica per i casi in cui è necessario eseguire calcoli all'interno della piattaforma.

Di conseguenza, MetaTrader 5 sta gradualmente diventando un ambiente in cui gli utenti non solo possono fare trading e testare Expert Advisor, ma anche costruire un flusso di lavoro computazionale completo:

  • recuperare i dati di mercato;
  • preparare caratteristiche e matrici;
  • utilizzare un modello ONNX;
  • eseguire calcoli numerici utilizzando matrici/vettori;
  • testare l'idea nello Strategy Tester;
  • parallelizzare l'ottimizzazione;
  • integrare il risultato in un Expert Advisor, un indicatore o un servizio.

Ecco perché OpenBLAS non dovrebbe essere considerato isolatamente, ma in combinazione con le fasi precedenti: MQL5, MetaEditor, Python, ONNX, matrici, vettori e assistente IA.

Assistente IA Agentico, MCP e OpenBLAS: Tre livelli di un singolo ambiente di ingegneria

A prima vista, l'assistente IA agentico, MCP e OpenBLAS sembrano appartenere a parti diverse della piattaforma. L'assistente IA gestisce l'intento dell'utente, MCP collega il modello agli strumenti e OpenBLAS esegue gli algoritmi numerici. Insieme, tuttavia, formano un flusso di lavoro computazionale coerente.

L'assistente IA è responsabile di formulare e scomporre il compito: comprendere la richiesta, creare un piano, selezionare le azioni e interpretare i risultati. MCP fornisce all'agente un accesso controllato al terminale, al MetaEditor, ai progetti, al mercato, alla cronologia di trading e ai dati esterni. OpenBLAS, operazioni su matrici/vettori, ONNX e altre tecnologie forniscono al programma MQL5 la potenza di calcolo necessaria per implementare il modello stesso.

In passato, gli sviluppatori dovevano passare manualmente dall'editor alla documentazione di aiuto, al forum, allo Strategy Tester, a un notebook Python e alle librerie esterne. Alcuni di questi cambi di contesto possono essere descritti come un'unica attività: esaminare il progetto, modificare il codice, compilare il programma, preparare i dati, eseguire l'analisi e produrre un report. L'agente non sostituisce il compilatore, lo Strategy Tester o la libreria matematica, ma li collega.

Ecco perché MCP non è meno importante del modello linguistico stesso. Senza strumenti specializzati, anche un modello potente rimane un semplice interlocutore. Grazie a MCP, si acquisisce la capacità di operare all'interno della piattaforma, rimanendo entro i limiti delle autorizzazioni impostate dall'utente.

Algo Forge: Il codice diventa un progetto

Un ambiente di sviluppo moderno necessita di un ulteriore livello, essenziale per qualsiasi progetto serio: il controllo di versione, la cronologia delle modifiche, la collaborazione e la pubblicazione del progetto come repository dinamico. All'interno dell'ecosistema MQL, MQL5 Algo Forge ha gradualmente assunto questo ruolo.

Il predecessore di Algo Forge era MQL5 Storage — un repository online per il codice sorgente MQL4/MQL5 integrato in MetaEditor. Risolveva già un problema importante: gli sviluppatori potevano archiviare il proprio codice in un repository sicuro, visualizzare la cronologia delle modifiche, ripristinare le versioni precedenti e lavorare a progetti di gruppo direttamente dall'editor.

Tuttavia, il repository precedente era basato su Subversion ed era diventato obsoleto. La sua logica funzionava bene per l'archiviazione e la sincronizzazione del codice sorgente, ma lo sviluppo moderno richiede di più: una cronologia locale, operazioni veloci, branch per la sperimentazione, unione delle modifiche, lavoro offline e collaborazione trasparente tra più sviluppatori su un singolo progetto.

Il 6 giugno 2025, MetaTrader 5 build 5100 ha introdotto un repository per il codice sorgente completamente riprogettato: MQL5 Storage è passato da Subversion a Git e, allo stesso tempo, è stato lanciato un nuovo portale per la gestione dei progetti online — MQL5 Algo Forge.

Questo rappresenta un punto di svolta importante. Mentre Code Base rispondeva alla domanda "Dove posso trovare un esempio già pronto?", Algo Forge risponde a una domanda diversa: "Come gestisco un progetto in continua evoluzione?" Un Expert Advisor o una libreria complessi non sono più costituiti da un singolo file MQ5. Potrebbero aver incluso file, configurazioni di test, set di parametri, modelli, documentazione, un file README, script di supporto, una cronologia degli esperimenti e diversi rami di sviluppo.

Git cambia il modo in cui lavori con questo tipo di codice. Uno sviluppatore può creare un ramo separato per una nuova idea, testarla nello Strategy Tester, confrontare le modifiche, ripristinare uno stato precedente, unire un esperimento riuscito alla versione principale e caricare il risultato in un repository cloud. La cronologia del progetto non è più conservata nella memoria dell'autore né in cartelle con nomi come "final_new_2". Diventa parte integrante dell'IDE stesso.

Algo Forge aggiunge a tutto questo una dimensione sociale. Gli sviluppatori possono esplorare i progetti pubblici, seguire gli autori, creare team, effettuare il fork dei progetti, clonare i repository, visualizzare file, commit e branch, preparare la documentazione e condividere i progetti online. Per l'ecosistema MQL, ciò significa un passaggio dalla condivisione di singoli file di codice sorgente a una vera e propria cultura di sviluppo collaborativo.

Ciò è particolarmente importante per articoli e materiali didattici. Il codice sorgente di un articolo non dovrebbe risiedere esclusivamente in un archivio o in un insieme di file allegati. Può essere configurato come un progetto in Algo Forge, con una struttura chiara, un file README.md, che conserva la cronologia delle modifiche e offre ai lettori non solo del testo, ma un punto di accesso funzionante. L'articolo spiega il concetto, mentre il repository lo dimostra in pratica.

MetaEditor sta quindi ampliando ancora una volta il suo ruolo. Inizialmente era un luogo dove scrivere e compilare codice. Poi sono arrivati la documentazione, i progetti, il debug, la profilazione, l'assistente IA e le integrazioni. Ora, un flusso di lavoro Git completo fa anch'esso parte del quadro: cronologia, branch, commit, sincronizzazione e collaborazione.

In quest'ottica, Algo Forge non è un "servizio collaterale" separato, bensì la continuazione della stessa linea di sviluppo. Un programma MQL si è evoluto da un semplice Expert Advisor basato su un singolo grafico a un progetto di ingegneria che può essere versionato, discusso, sviluppato da un team, pubblicato e mantenuto per anni.

Da Expert Advisor ad un ambiente di ingegneristico

Osservando l'intera storia, l'evoluzione di MQL appare straordinariamente coerente.

Prima ancora che esistesse un linguaggio di programmazione completo, sono arrivati gli Expert Advisor. Poi arrivò il primo MQL: una breve pagina di documentazione, alcune variabili e la possibilità di eseguire una strategia di trading direttamente nel terminale. MQL II è stato seguito con cicli, array, tipi di dati e funzioni matematiche. Gli indicatori personalizzati hanno ampliato il linguaggio oltre quello degli Expert Advisor.

MetaTrader 4 ha riunito tutto questo in un modello per il mercato di massa: il terminale, MQL4, MetaEditor, la documentazione, gli Expert Advisor, gli indicatori, gli script, le librerie e i test. MQL4.COM ha aggiunto la community, il Code Base e gli articoli. I campionati hanno dimostrato che il trading automatizzato può essere pubblico, competitivo e su larga scala.

MetaTrader 5 e MQL5 hanno innalzato il livello di complessità. La programmazione orientata agli oggetti, il codice nativo, la libreria standard, un nuovo modello di trading, uno Strategy Tester migliorato, l'ottimizzazione cloud e MQL5.community hanno trasformato il linguaggio in uno strumento di ingegneria più rigoroso.

Successivamente, MQL5 ha influenzato l'evoluzione di MQL4: un compilatore unificato, un MetaEditor unificato, un nuovo linguaggio, la protezione dei programmi e il Market per le applicazioni. Il consolidato prodotto destinato al mercato di massa ha ricevuto una nuova base tecnologica.

MQL5 ha quindi iniziato ad andare oltre il tradizionale Expert Advisor: OpenCL, simboli personalizzati, .NET, servizi, funzioni di rete, SQLite, DirectX, Python, ONNX, matrici e vettori. Tutto ciò ha gradualmente ampliato la nozione di cosa potesse essere un programma MQL.

Assistente IA agentica, Model Context Protocol (MCP) e OpenBLAS non sono aggiunte casuali a questa storia. Ne rappresentano la logica continuazione, poiché si basano sullo stesso principio già evidente nel 2001: dare agli utenti maggiore autonomia all'interno della piattaforma.

Ai tempi, autonomia significava la capacità di scrivere un Expert Advisor e inviare un'operazione di trading senza intervento umano. Oggi, il significato è molto più ampio: assegnare un compito a un agente in linguaggio naturale, garantirgli un accesso controllato agli strumenti tramite MCP, scrivere e compilare codice, utilizzare un modello di machine learning esterno, eseguire calcoli di algebra lineare numerica, testare il sistema su dati storici e lanciarlo nell'infrastruttura MetaTrader.

Non una storia di versioni, ma la storia di un'idea.

È facile trasformare la storia di MQL in un lungo elenco di date, numeri di build e nomi di funzioni. Ma questo non coglie il punto principale.

Questa non è una storia su come una sintassi ne abbia sostituita un'altra. Non si tratta nemmeno di una storia su come, gradualmente, siano state aggiunte sempre più voci al menu del terminale.

È la storia di come la piattaforma di trading abbia gradualmente integrato al suo interno sempre più lavoro di uno sviluppatore. Innanzitutto è arrivata l'esecuzione dell'Expert Advisor. Poi c'è il linguaggio. Poi l’editor. Quindi documentazione, test, Code Base, articoli, campionati, Market, ottimizzazione cloud, integrazioni esterne, apprendimento automatico, assistente IA, algebra lineare numerica e gestione del progetto tramite Algo Forge.

In questo senso, il moderno MetaEditor non è semplicemente il discendente di una vecchia finestra di modifica di Expert Advisor. È il punto di integrazione per l'intero ecosistema MQL: il linguaggio, la documentazione, i progetti, il debug, la profilazione, i modelli, i metodi matematici, l'assistenza agentica, gli strumenti MCP e l'infrastruttura Git per lo sviluppo collaborativo.

Ecco perché il percorso dai primi Expert Advisor all'assistente IA agentica, MCP e OpenBLAS non appare come una serie di eventi isolati, ma come un'unica linea di sviluppo continua. Fin dall'inizio, MetaQuotes non si è limitata a costruire un terminale per monitorare il mercato, ma ha creato un ambiente in cui un'idea di trading si trasforma in un programma e un programma diventa un processo ingegneristico gestibile.

Quest'idea continua a guidare l'evoluzione di MQL.

Tradotto dal russo da MetaQuotes Ltd.
Articolo originale: https://www.mql5.com/ru/articles/22768

Ultimi commenti | Vai alla discussione (32)
Miguel Angel Vico Alba
Miguel Angel Vico Alba | 20 set 2026 a 09:09
Alexey Volchanskiy #:
Ho scoperto MT4 per la prima volta nel 2007. Un’amica mi aveva chiesto di aiutarla a prendere confidenza con la piattaforma, dato che in alcuni “corsi per super-trader” tenuti in una losca “cucina” di trading a San Pietroburgo, cercavano solo di spillarle soldi con la scusa di una “gestione super-redditizia” )). Ho scaricato il terminale, ho notato che c’era una sorta di abbozzo di linguaggio simile al C, mi sono incuriosito e mi sono messo all’opera. All’epoca, MT4 non disponeva di strutture né di definizioni adeguate simili a quelle del C, e l’editor andava facilmente in crash durante il copia-incolla. Ma era possibile collegare DLL in C++, e mi misi subito all’opera per sviluppare strategie utilizzandole. Quindi, abbiamo sicuramente fatto molta strada nel corso degli anni. È un peccato che il tester di MT5 sia rimasto un figlio illegittimo, non amato, con tutto l’affetto dei genitori rivolto alle reti neurali e alle librerie matematiche.
Grazie per il tuo commento, Alexey. Mi ha riportato alla mente parecchi ricordi, perché anch’io ho scoperto la piattaforma intorno al 2007/2008, quando la crisi dei subprime si stava trasformando in una crisi finanziaria globale e molti di noi si sono ritrovati improvvisamente senza lavoro. Nel mio caso, MetaTrader è diventato una sorta di valvola di sfogo in quegli anni.

Ricordo ancora quando ho scoperto MT4, MQL4, gli indicatori, gli EA, gli script, le DLL... Per chi di noi era interessato alla programmazione, era un mondo completamente nuovo da esplorare.

Ad ogni modo, volevo soprattutto ringraziarti per il commento, perché mi ha riportato immediatamente a quel periodo.

E sono d’accordo con te: MetaQuotes ha fatto molta strada da allora, con decisioni azzeccate ma anche la sua buona dose di passi falsi. MT5 ne è probabilmente l’esempio migliore. All’inizio molti di noi si chiedevano perché ne avessimo bisogno, ma col tempo è diventato chiaro che era molto più di un semplice sostituto di MT4.

Guardando indietro, è davvero notevole quanto sia cambiato tutto, pur mantenendo gran parte dello spirito originale della piattaforma.

Alexey Volchanskiy
Alexey Volchanskiy | 20 set 2026 a 10:26
Miguel Angel Vico Alba #:
Grazie per il tuo commento, Alexey. Mi ha riportato alla mente molti ricordi, perché anch’io ho scoperto questa piattaforma intorno al 2007–2008, quando la crisi dei mutui subprime si è trasformata in una crisi finanziaria globale e molti di noi si sono ritrovati improvvisamente senza lavoro. Nel mio caso, MetaTrader è diventato in quegli anni una sorta di ancora di salvezza.

Ricordo ancora quando ho scoperto MT4, MQL4, gli indicatori, gli expert advisor, gli script, i file DLL... Per chi di noi era interessato alla programmazione, era un mondo completamente nuovo da esplorare.

In ogni caso, volevo innanzitutto ringraziarti per il commento, perché mi ha riportato immediatamente a quel periodo.

E sono d’accordo con te: da allora MetaQuotes ha percorso una strada molto lunga, costellata sia di soluzioni di successo che di una certa dose di passi falsi. MT5 ne è forse l’esempio migliore. All’inizio molti di noi si chiedevano a cosa servisse, ma col tempo è diventato chiaro che è molto più di un semplice sostituto di MT4.

Guardando indietro, è sorprendente quanto sia cambiato, pur conservando gran parte dello spirito originale della piattaforma.

A mio parere, avrebbero dovuto introdurre subito in MT5 la modalità di hedging e sarebbe diventata leader mondiale nel Forex nella seconda metà degli anni 2010. Ma la posizione del CEO era inequivocabile: sarebbe stata leader nel trading in borsa. Quante discussioni accese ci sono state sul forum su questo argomento! E mi sono ricordato di quando, nel dicembre 2012, tenevo corsi in presenza presso RoboForex, e poi mi hanno proposto di gestire una discussione sul forum dedicata a MQL4 proprio quando era appena uscita la build 600 con l’OOP! Caspita, all’epoca ho davvero spopolato: quella discussione era la più seguita in assoluto.
Miguel Angel Vico Alba
Miguel Angel Vico Alba | 20 set 2026 a 10:48
Alexey Volchanskiy #:
A mio parere, avrebbero dovuto introdurre subito una modalità di copertura su MT5, e sarebbe diventato il leader mondiale nel Forex nella seconda metà degli anni 2010. Ma la posizione dell’amministratore delegato era chiara: doveva essere il leader nel trading in borsa. Sul forum c’erano discussioni infinite su questo argomento! E mi sono ricordato di come, nel dicembre 2012, tenessi corsi in presenza presso RoboForex, e poi mi chiesero di aprire un thread sul loro forum riguardo a MQL4 – proprio quando era stata rilasciata la build 600 con la programmazione orientata agli oggetti (OOP)! Caspita, all’epoca mi ci sono davvero dedicato con impegno: quel thread è stato il più popolare.
Sì, penso che la questione dell’hedging sia un ottimo esempio di come MetaQuotes abbia talvolta operato nel corso degli anni.

Da un punto di vista tecnico, posso comprendere la decisione iniziale. Se MT5 era destinato ad andare oltre il Forex al dettaglio e a diventare una vera piattaforma multi-asset, con il trading in borsa come parte importante, allora il modello di netting aveva perfettamente senso.

Il problema è che, a quel punto, MT4 aveva già un enorme ecosistema attorno a sé, con trader e sviluppatori che facevano affidamento su ordini indipendenti, hedging, Magic Numbers e strategie multiple eseguite sullo stesso simbolo. Per molti utenti del Forex, passare a MT5 inizialmente non sembrava tanto un guadagno quanto una rinuncia a parte della flessibilità di cui già disponevano.

Quindi, a mio parere, MetaQuotes aveva ragione sulla direzione da prendere, ma probabilmente è stata troppo rigida nella transizione. Supportare fin dall’inizio sia il netting che l’hedging avrebbe reso il passaggio da MT4 molto più agevole. Se ricordo bene, hanno finalmente aggiunto l’hedging nel 2016, spiegando all’epoca che MT5 era stato originariamente progettato intorno al modello di netting e che l’hedging veniva aggiunto pensando ai trader Forex: https://www.mql5.com/it/articles/2299

Su scala molto più ridotta, la vicenda della modalità scura mi ricorda un po’ la stessa cosa. L’abbiamo richiesta pubblicamente per anni e, internamente, continuavamo a sottolineare ogni volta che ne avevamo l’occasione che sarebbe stata una buona aggiunta. La concorrenza ce l’aveva già, sì, ma non si trattava solo di stare al passo con le altre piattaforme. Chi di noi trascorre la maggior parte della giornata davanti al terminale ne risentiva davvero agli occhi. 😋

Ci è voluto molto tempo, ma alla fine è arrivata.

È una cosa che ho visto più di una volta con MetaQuotes. Possono essere molto testardi su certe decisioni, anche quando gli utenti chiedono qualcosa da anni. A volte quella testardaggine è frustrante.

Ma penso anche che sia giusto dire che quella stessa testardaggine ha un altro lato. Hanno sempre avuto un’idea molto chiara di dove volessero portare la piattaforma e, senza quella tenacia, probabilmente non avremmo l’MT5 che abbiamo oggi: una vera piattaforma multi-asset, un linguaggio molto più potente, lo Strategy Tester e gli agenti distribuiti, OpenCL, l’integrazione con Python, le librerie matematiche e tutto ciò che è venuto dopo.

Quindi sì, ci sono stati degli errori, e a volte cose che probabilmente avrebbero dovuto arrivare molto prima. Ma dietro molte di quelle decisioni c’era anche una visione a lungo termine.

E scusate se mi sono dilungato un po’. Chi mi conosce sa già che prima o poi finisco sempre per entrare in “modalità coccodrillo”… Sergey❤️😋


Vitaliy Kuznetsov
Vitaliy Kuznetsov | 20 set 2026 a 11:28

Il boom del Forex e dell’infobusiness è avvenuto più o meno nello stesso periodo.

E nel 2016 la tendenza ha iniziato a rafforzarsi. Tutti conoscevano MT5, ma un'enorme quantità di programmi era già stata sviluppata per MT4. Così si è diffusa attivamente quella piattaforma su cui c'era già un ampio bagaglio di esperienza.


E un cambiamento radicale potrebbe verificarsi grazie all’intelligenza artificiale e alla conversione gratuita da MT4 a MT5.

Cioè, se venisse pubblicizzata la funzione di trasferimento del codice da MT4 a MT5 gratuitamente con un solo clic. E qualche dato statistico.

Ad esempio: «Abbiamo selezionato dal codice sorgente 100 esempi di indicatori: grafici, oscillatori, di tendenza, con frecce, con dashboard, multivaluta. E 100 esempi di expert advisor. Nell’80-90% dei casi il codice è stato riscritto con un solo clic e non ha richiesto ulteriori modifiche». Questo sarebbe un segnale incredibilmente forte. L’essenziale è la semplicità (un solo clic) e la percentuale di risultato. In futuro, sarà possibile aggiornare questo benchmark. Penso che nelle prossime versioni dell’IA la percentuale di trasferimento riuscito raggiungerà il 99%. Sarà una vittoria schiacciante di MT5 su MT4, ma cosa ne sarà del settore nel suo complesso è tutta un’altra questione.

Alexey Volchanskiy
Alexey Volchanskiy | 21 set 2026 a 08:54
Vitaliy Kuznetsov di programmi era già stata sviluppata per MT4. Così si è diffusa attivamente proprio quella realtà in cui c’era già un ricco bagaglio di esperienze.


E un cambiamento radicale potrebbe verificarsi grazie all’intelligenza artificiale e alla conversione gratuita da MT4 a MT5.

Cioè, se venisse pubblicizzata la funzione di trasferimento del codice da MT4 a MT5 gratuitamente con un solo clic. E qualche dato statistico.

Ad esempio: «Abbiamo selezionato dal codice sorgente 100 esempi di indicatori: grafici, oscillatori, di tendenza, con frecce, con dashboard, multivaluta. E 100 esempi di expert advisor. Nell’80-90% dei casi il codice è stato riscritto con un solo clic e non ha richiesto ulteriori modifiche». Questo sarebbe un segnale incredibilmente forte. L’essenziale è la semplicità (un solo clic) e la percentuale di risultato. In futuro, sarà possibile aggiornare questo benchmark. Penso che nelle prossime versioni dell’IA l’indice di trasferimento riuscito raggiungerà il 99%. Sarà una vittoria schiacciante di MT5 su MT4, ma cosa ne sarà del settore nel suo complesso è tutta un’altra questione.

Personalmente, ho percepito la tendenza crescente di interesse per l’algotrading nel 2010. All’epoca mi sono dimesso dal ruolo di Project Manager in una discreta azienda straniera e ho deciso che, grazie al Forex, non sarei morto di fame. E per non annoiarmi, ho aperto un sito web e ho iniziato a scrivere articoli su MQL4, per poi tenere webinar sulla programmazione. Da non confondere con gli “info-truffatori”: solo programmazione, niente vendita di “Santi Graal”, niente sistemi Martin )). E senza alcuna pubblicità sono arrivati migliaia di iscritti. Molti dicevano che una risorsa del genere fosse una rarità, anche se io mi valutavo con modestia. E poi, di comune accordo, sono stati LORO STESSI a chiedermi di organizzare per loro un corso a pagamento su MQL4, ma con compiti a casa, webinar 2-3 volte alla settimana e un forum privato. E hanno proposto loro stessi un prezzo di 200 dollari a corso per utente. C’era un tipo intraprendente che ha organizzato un gruppo di 25 persone. Insomma, erano le persone stesse a chiedere di essere istruite a pagamento! E per di più sulla programmazione, non su varie sciocchezze come riconoscere le onde di Wolfe dopo una settimana di bevute.

Di recente ho pubblicato degli annunci per lezioni private su MQL5. Nessuna risposta! Invece sui forum c’è un sacco di lamentele del tipo: «Ma io ho comprato l’oro, perché doveva salire, invece il mio broker l’ha fatto crollare e si è mangiato il mio deposito di 100 dollari, ah-ah-ah. Dove si trova un broker decente?» Ho la sensazione che la comunità dei trader stia subendo un rapido degrado.

Mi riferisco alle tendenze e solo a quelle.

La potenza di MetaTrader 5: Dal debug passo-passo alla protezione dei file EX5 in un ambiente integrato La potenza di MetaTrader 5: Dal debug passo-passo alla protezione dei file EX5 in un ambiente integrato
Questo articolo esamina un approccio completo allo sviluppo di algoritmi di trading: dalla configurazione del progetto e del debug della logica, alla protezione del prodotto finito. Esploreremo gli strumenti integrati di MetaEditor, tra cui il debug passo-passo tramite tick reali, la profilazione delle prestazioni e l'integrazione diretta con le DLL C++ per velocizzare i calcoli. L'articolo spiega anche come proteggere la proprietà intellettuale utilizzando MQL5 Cloud Protector. L'applicazione delle tecniche descritte trasformerà lo sviluppo degli Expert Advisor da una ricerca caotica di soluzioni in un processo sistematico, riducendo significativamente il tempo necessario per sviluppare una strategia.
Visualizzazione 3D senza librerie esterne: come MetaTrader 5 mostra i risultati dell'ottimizzazione tramite MQL5 + DX11 Visualizzazione 3D senza librerie esterne: come MetaTrader 5 mostra i risultati dell'ottimizzazione tramite MQL5 + DX11
L'articolo descrive l'applicazione pratica di DirectX 11 e degli strumenti MQL5 integrati per la creazione di visualizzazioni 3D e interfacce interattive in MetaTrader 5. L'attenzione si concentra sull'efficienza cognitiva - la capacità dei grafici 3D e delle scene interattive strutturate per facilitare la comprensione dei dati di ottimizzazione, dei cluster di liquidità e degli scenari di trading multidimensionali. Vengono discussi in dettaglio i principi fondamentali della pipeline DX, il funzionamento degli shader, l'associazione degli eventi del mouse e della tastiera e i limiti tecnologici oggettivi. L'articolo è destinato agli sviluppatori MQL5 e ai trader algoritmici che sono pronti a trasformare le metriche delle strategie in paesaggi analitici 3D comprensibili, dove l'aspetto visivo accelera il processo decisionale.
Dalle matrici ai modelli: Come costruire una pipeline di machine learning in MQL5 ed esportarla nel formato ONNX Dalle matrici ai modelli: Come costruire una pipeline di machine learning in MQL5 ed esportarla nel formato ONNX
L'articolo descrive la configurazione di una pipeline di machine learning coordinata in MetaTrader 5 con separazione dei ruoli: Python addestra ed esporta il modello in ONNX, MQL5 riproduce la normalizzazione e la PCA tramite matrice/vettore ed esegue l'inferenza. Questo approccio rende stabili e verificabili i dati di input del modello, e lo strategy tester di MetaTrader 5 fornisce metriche per analizzare il comportamento del sistema.
MetaTrader 5: Costruire un mercato su misura per la propria strategia — grafici Renko, Range ed Equal-Volume, simboli sintetici e stress test con simboli personalizzati. MetaTrader 5: Costruire un mercato su misura per la propria strategia — grafici Renko, Range ed Equal-Volume, simboli sintetici e stress test con simboli personalizzati.
In questo articolo, mostriamo come utilizzare le API dei simboli personalizzati di MetaTrader 5 per trasformare il terminale in un costruttore di dati per creare grafici Renko, Range ed Equal-Volume non basati sul tempo e per costruire strumenti sintetici. Analizzeremo l'aggregazione dei tick e la modifica dello storico per gli stress test (allargamento dello spread, variazioni del livello di stop) tenendo conto delle limitazioni della piattaforma. Inoltre, avrete modo di esercitarvi nella gestione di CiCustomSymbol e nell'instradamento degli ordini verso un simbolo reale tramite il wrapper CustomOrder con frammenti di codice predefiniti.