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.
La storia dell'evoluzione tecnica di MQL: dai linguaggi limitati MQL e MQL II, passando per MQL4 procedurale, fino a MQL5 orientato agli oggetti con compilazione nativa, ricche API e un ambiente di sviluppo completo. Qui illustriamo le principali funzionalità del linguaggio e le sue integrazioni con Python, OpenCL, ONNX, OpenBLAS, database, DirectX, l'assistente IA agentica e il Model Context Protocol (MCP), che collega i sistemi di intelligenza artificiale con il terminale, MetaEditor, i dati di mercato, le operazioni di trading e gli strumenti di sviluppo. Questo articolo esamina materiali d'archivio sulle origini di MetaQuotes e MetaTrader, il lancio di MQL4.COM e MQL5.COM, i campionati, Algo Forge e il loro impatto sull'ecosistema.
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.
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.
L'articolo è dedicato all'architettura basata sugli eventi in MQL5 e descrive il passaggio dal modello monolitico OnTick all'elaborazione distribuita. Prenderemo in considerazione eventi predefiniti e personalizzati, servizi e messaggistica tra programmi, nonché errori architetturali comuni. Un esempio pratico dimostra come organizzare le interazioni tra indicatori e un Expert Advisor (EA) per ridurre il carico, migliorare la leggibilità e semplificare la manutenzione.
Scopri come creare un percorso di migrazione pratico da CPU a GPU in MQL5 utilizzando OpenCL. Ci concentreremo sull'inizializzazione del contesto, sull'organizzazione del buffer, sui batch di grandi dimensioni, sull'avvio del kernel e sulla minimizzazione degli scambi di dati. Verranno inoltre esaminati gli errori più comuni e i modi per eliminarli. Un esempio con i pattern di candele illustra il vantaggio pratico di questo approccio.
L'articolo presenta un approccio sistematico al trading di notizie in MetaTrader 5 utilizzando il calendario economico integrato: struttura dei dati, funzioni API, regole di sincronizzazione temporale e filtraggio degli eventi. Vengono descritti metodi di caching e aggiornamento incrementale senza sovraccaricare il server. L'articolo fornisce anche un meccanismo funzionante per esportare la cronologia in una risorsa .EX5 per test deterministici utilizzando lo stesso algoritmo.
L'articolo dimostra come l'integrazione tra Python e MetaTrader 5 combini la flessibilità della ricerca e l'esecuzione dei trade in un unico flusso di lavoro. Python viene utilizzato per l'analisi dei dati, la selezione delle feature e l'addestramento dei modelli, mentre MetaTrader 5 viene utilizzato per i test e l'automazione del trading. Questo approccio semplifica il trasferimento delle soluzioni nella pratica, aumenta la riproducibilità e rende lo sviluppo dei sistemi di trading più rapido e strutturato.
L'articolo presenta un set minimo di funzionalità per la gestione di un registro di trading in MQL5 utilizzando SQLite: una struttura di tabelle per transazioni, segnali, eventi, indici, istruzioni preparate e gestione delle operazioni, nonché query SQL analitiche standard. Vengono illustrate l'integrazione con la dashboard delle statistiche in MetaTrader 5 e il lavoro con il database tramite MetaEditor. Questo approccio consente di automatizzare il registro, accelerare i calcoli ed eseguire analisi senza complicare il codice dell'EA.
Come funziona il trading di portafoglio sul Forex? Come si possono sintetizzare la teoria del portafoglio di Markowitz per l'ottimizzazione delle proporzioni del portafoglio e il modello VaR per l'ottimizzazione del rischio di portafoglio? Creiamo un codice in base alla teoria del portafoglio, che da un lato ci consentirà di ottenere un basso rischio e, dall'altro, una redditività accettabile a lungo termine.
Alla scoperta di un nuovo mondo sul trading automatizzato con grafici a barre 3D. Come si presenta un robot di trading applicato a barre di prezzo multidimensionali? I cluster "gialli" delle barre 3D sono in grado di prevedere le inversioni di trend? Cosa si intende per trading multidimensionale?
L'articolo si sofferma sui grafici dei prezzi 3D multivariati e sulla loro creazione. Esamineremo inoltre come le barre 3D prevedono le inversioni di prezzo e come Python e MetaTrader 5 ci consentono di visualizzare queste barre volumetriche in tempo reale.
Modelli di regressione non lineare nei mercati finanziari: È possibile prevedere i mercati finanziari? Consideriamo la possibilità di creare un modello per la previsione dei prezzi della coppia EUR/USD e di realizzare due robot basati su questo, utilizzando Python e MQL5.
Come applicare le regole predittive dell'analisi dei dati di vendita al dettaglio dei supermercati al mercato Forex reale? Che relazione c'è tra l'acquisto di biscotti, latte e pane e le transazioni in borsa? L'articolo illustra un approccio innovativo al trading algoritmico basato sull'utilizzo delle regole di associazione.
L'articolo esplora la possibilità di migliorare la previsione dei prezzi basata sull'analisi dei volumi di scambio, integrando i principi dell'analisi tecnica con l'architettura delle reti neurali LSTM. Particolare attenzione è dedicata all'individuazione e all'interpretazione dei volumi anomali, all'utilizzo del clustering, alla creazione di caratteristiche basate sui volumi e alla loro definizione nel contesto dell'apprendimento automatico.
Qual è la relazione tra le condizioni meteorologiche e il mercato Forex? La teoria economica classica ha a lungo ignorato l'influenza di fattori come le condizioni meteorologiche sul comportamento del mercato. Ma tutto è cambiato. Proviamo a individuare delle correlazioni tra le condizioni meteorologiche e l'andamento delle valute agricole sul mercato.
Esistono modelli e regolarità che si ripetono nel mercato Forex? Ho deciso di creare un mio sistema di analisi dei pattern utilizzando Python e MetaTrader 5. Una sorta di simbiosi tra matematica e programmazione per conquistare il Forex.
In questo articolo creeremo un sistema di arbitraggio che rimane lecito agli occhi dei broker, crea migliaia di prezzi sintetici sul mercato Forex, li analizza e opera con successo per ottenere profitti.
Le posizioni di pianeti e stelle influenzano i mercati finanziari? Armiamoci di statistiche e big data e intraprendiamo un viaggio emozionante nel mondo in cui stelle e grafici azionari si intersecano.
Creeremo un indicatore basato sul Quadrato del 9 di Gann, costruito squadrando tempo e prezzo. Prepareremo il codice e testeremo l'indicatore nella piattaforma su differenti intervalli di tempo.
Questa è la seconda parte dell'articolo dedicato all'implementazione del modello di tabella in MQL5 utilizzando il paradigma architettonico MVC (Model-View-Controller). L'articolo discute lo sviluppo di classi di tabella e della sua intestazione basate su un modello di tabella creato in precedenza. Le classi sviluppate costituiranno la base per l'ulteriore implementazione dei componenti View e Controller, che saranno discussi nei seguenti articoli.
In questo articolo, esaminiamo il processo di sviluppo di un modello di tabella in MQL5 utilizzando il modello architettonico MVC (Model-View-Controller) per separare la logica dei dati, la presentazione e il controllo, consentendo un codice strutturato, flessibile e scalabile. Consideriamo l'implementazione di classi per la costruzione di un modello di tabella, compreso l'uso di liste collegate per la memorizzazione dei dati.
Continueremo a sviluppare i progetti Simple Candles e Adwizard, descrivendo anche gli aspetti più fini dell'uso del sistema di controllo di versione e del repository MQL5 Algo Forge.
Come utilizzare i dati economici della Banca Mondiale per le previsioni? Cosa succede quando si combinano modelli di intelligenza artificiale ed economia?
Questo articolo esplora le potenzialità del modello Value at Risk (VaR) per l'ottimizzazione di portafogli multi valuta. Utilizzando la potenza di Python e le funzionalità di MetaTrader 5, dimostriamo come implementare l'analisi VaR per un'efficiente allocazione del capitale e gestione delle posizioni. Dalle basi teoriche all'implementazione pratica, l'articolo copre tutti gli aspetti dell'applicazione di uno dei più robusti sistemi di calcolo del rischio - il VaR - nel trading algoritmico.
Esaminiamo come è possibile iniziare a integrare nel proprio progetto, codice esterno proveniente da qualsiasi repository dell'archivio MQL5 Algo Forge. In questo articolo ci occupiamo finalmente di questo promettente, ma più complesso, compito: come collegare e utilizzare praticamente le librerie di repository di terze parti all'interno di MQL5 Algo Forge.
Continuiamo la nostra immersione nella teoria del caos nei mercati finanziari. Questa volta prenderò in considerazione la sua applicabilità all'analisi delle valute e di altri asset.
La teoria del caos può essere applicata ai mercati finanziari? In questo articolo considereremo come la teoria del caos convenzionale e i sistemi caotici siano differenti dal concetto proposto da Bill Williams.
In questo articolo, consideriamo uno dei possibili approcci per organizzare la memorizzazione del codice sorgente del progetto in un repository pubblico. Distribuiremo il codice attraverso diversi rami per stabilire regole chiare e convenienti per lo sviluppo del progetto.
Quando si lavora su progetti in MetaEditor, gli sviluppatori si trovano spesso a dover gestire le versioni del codice. MetaQuotes ha recentemente annunciato la migrazione a GIT e il lancio di MQL5 Algo Forge con funzionalità di controllo delle versioni del codice e di collaborazione. In questo articolo discuteremo come utilizzare in modo più efficiente i nuovi strumenti e quelli già esistenti.
Quando si crea un qualsiasi sistema di trading, c'è un compito che dobbiamo affrontare in modo efficace. Questo compito è l'inserimento degli ordini o la gestione automatica degli ordini da parte del sistema di trading creato, perché è fondamentale in qualsiasi sistema. In questo articolo troverete quindi la maggior parte degli argomenti che dovete comprendere per creare il vostro sistema di trading in termini di inserimento degli ordini in modo efficiente.
Conosciamo tutti l'importanza per molti trader dell'indicatore Media Mobile. Esistono altri tipi di Media Mobile che possono essere utili nel trading; in questo articolo le identificheremo e faremo un semplice confronto tra ognuno di loro e il tipo di media mobile semplice più popolare per vedere quale può mostrare i risultati migliori.
Stiamo introducendo MQL5 Algo Forge - un portale dedicato agli sviluppatori di trading algoritmico. Combina la potenza di Git con un'interfaccia intuitiva per gestire e organizzare i progetti all'interno dell'ecosistema MQL5. Qui è possibile seguire autori interessanti, formare team e collaborare a progetti di trading algoritmico.
Qualsiasi programma in qualsiasi linguaggio di programmazione ha una struttura specifica. In questo articolo, imparerete le parti essenziali della struttura del programma MQL5, comprendendo le basi della programmazione di ogni parte della struttura del programma MQL5 che può essere molto utile quando creiamo il nostro sistema di trading MQL5 o strumento di trading che può essere eseguito nella MetaTrader 5.
Le funzioni sono elementi critici in qualsiasi linguaggio di programmazione, aiutano gli sviluppatori ad applicare il concetto di (DRY), che significa non ripetersi, e molti altri vantaggi. In questo articolo troverete molte altre informazioni sulle funzioni e su come creare le nostre funzioni in MQL5 con semplici applicazioni che possono essere utilizzate o richiamate in qualsiasi sistema per arricchire il vostro sistema di trading senza complicare le cose.
Continuiamo la serie di articoli sullo sviluppo di un robot di trading in Python e MQL5. In questo articolo creeremo un algoritmo di trading in Python.
Continuiamo la serie di articoli sullo sviluppo di un robot di trading in Python e MQL5. Oggi risolveremo il problema della selezione e dell'addestramento di un modello, del suo test, dell'implementazione della convalida incrociata, della ricerca a griglia, nonché il problema dell'ensemble di modelli.
Sviluppo di un robot di trading basato sull'apprendimento automatico: Una guida dettagliata. Il primo articolo della serie tratta della raccolta e della preparazione dei dati e delle caratteristiche. Il progetto è stato implementato utilizzando il linguaggio di programmazione e le librerie Python, nonché la piattaforma MetaTrader 5.