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.
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.
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 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.
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.
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.
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.
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.
In questo articolo mostrerò la prima parte dei miglioramenti che mi hanno permesso non solo di chiudere l'intera catena di automazione per il trading su MetaTrader 4 e 5, ma anche di fare qualcosa di molto più interessante. D'ora in poi, questa soluzione mi consente di automatizzare completamente sia la creazione di EA che l'ottimizzazione, nonché di minimizzare i costi di manodopera per trovare configurazioni di trading efficaci.
L'apprendimento automatico è diventato un metodo popolare per lo sviluppo di strategie. Sebbene sia stata posta maggiore enfasi sulla massimizzazione della redditività e dell'accuratezza delle previsioni, l'importanza dell'elaborazione dei dati utilizzati per costruire i modelli predittivi non ha ricevuto molta attenzione. In questo articolo consideriamo l'utilizzo del concetto di entropia per valutare l'adeguatezza degli indicatori da utilizzare nella costruzione di modelli predittivi, come documentato nel libro Testing and Tuning Market Trading Systems di Timothy Masters.
In questo articolo di riferimento, esamineremo gli indicatori standard della categoria Indicatori di trend. Creeremo template pronti all'uso per utilizzare gli indicatori negli EA - dichiarazione e impostazione dei parametri, inizializzazione e deinizializzazione degli indicatori, nonché ricezione dei dati e segnali dai buffer degli indicatori negli EA.
In questo articolo esamineremo gli indicatori standard della categoria Volume e gli indicatori di Bill Williams. Creeremo template pronti all'uso per utilizzare gli indicatori negli EA - dichiarazione e impostazione dei parametri, inizializzazione e deinizializzazione degli indicatori, nonché ricezione dei dati e segnali dai buffer degli indicatori negli EA.
L'articolo prende in considerazione gli indicatori standard della categoria degli oscillatori. Creeremo template pronti all'uso per il loro utilizzo negli EA - dichiarazione e impostazione dei parametri, inizializzazione e deinizializzazione degli indicatori, nonché ricezione dei dati e segnali dai buffer degli indicatori negli EA.
L'articolo descrive i principi, i metodi e le possibilità di utilizzo dell'Algoritmo Elettromagnetico in vari problemi di ottimizzazione. L'algoritmo EM è un efficiente strumento di ottimizzazione in grado di lavorare con grandi quantità di dati e funzioni multidimensionali.
L'algoritmo Saplings Sowing and Growing up (SSG) si ispira a uno degli organismi più resistenti del pianeta, che dimostra un'eccezionale capacità di sopravvivenza in un'ampia varietà di condizioni.
Questo articolo sarà una sorta di intervista a me stesso, in cui vi racconterò come ho mosso i primi passi nel linguaggio MQL5. Vi mostrerò come potete diventare un ottimo programmatore MQL5. Vi spiegherò le basi necessarie per raggiungere questo traguardo. L'unico prerequisito è la volontà di imparare.
In questo articolo, studierò e testerò il più potente algoritmo di ottimizzazione - la ricerca dell’armonia (HS), ispirata al processo di ricerca dell'armonia sonora perfetta. Quale algoritmo è ora leader nella nostra valutazione?
GSA è un algoritmo di ottimizzazione della popolazione ispirato alla natura inanimata. Grazie alla legge di gravità di Newton implementata nell'algoritmo, l'alta affidabilità della modellazione dell'interazione dei corpi fisici ci permette di osservare l'incantevole danza dei sistemi planetari e degli ammassi galattici. In questo articolo prenderò in considerazione uno degli algoritmi di ottimizzazione più interessanti e originali. È previsto anche un simulatore del movimento degli oggetti spaziali.
La strategia di foraggiamento del batterio E. coli ha ispirato gli scienziati a creare l'algoritmo di ottimizzazione BFO. L'algoritmo contiene idee originali e approcci promettenti all'ottimizzazione e merita ulteriori studi.
In questo articolo, prenderò in considerazione un semplice modello per la creazione di un robot MetaTrader universale che può essere utilizzato su più grafici, pur essendo allegato a un solo grafico, senza la necessità di configurare ogni istanza del robot su ogni singolo grafico.
In questo articolo scopriremo come far parlare la piattaforma MetaTrader 5. E se rendessimo l'EA più divertente? Il trading sui mercati finanziari è spesso troppo noioso e monotono, ma possiamo rendere questo lavoro meno faticoso. Notare che questo progetto può essere pericoloso per chi ha problemi di dipendenza. Tuttavia, in generale, rende le cose meno noiose.
In questo articolo esploreremo l'applicazione di tutti i modelli di classificazione disponibili nella libreria Scikit-Learn per risolvere il compito di classificazione del set di dati Iris di Fisher. Cercheremo di convertire questi modelli in formato ONNX e di utilizzare i modelli risultanti nei programmi MQL5. Inoltre, confronteremo l'accuratezza dei modelli originali con le loro versioni ONNX sull'intero set di dati Iris.
L'articolo dà una rapida occhiata alla libreria di analisi numerica ALGLIB 3.19, alle sue applicazioni e ai nuovi algoritmi che possono migliorare l'efficienza dell'analisi dei dati finanziari.
In questo articolo, vi mostrerò come calcolare il profitto o la perdita totale di qualsiasi trade, comprese le commissioni e gli swap. Fornirò il modello matematico più accurato e lo utilizzerò per scrivere il codice e confrontarlo con lo standard. Inoltre, cercherò anche di entrare all'interno della funzione principale di MQL5 per calcolare il profitto e di arrivare in fondo a tutti i valori necessari dalla specifica.
C'è ancora un compito per la quale il nostro sistema di ordini non è all'altezza, ma FINALMENTE lo scopriremo. MetaTrader 5 fornisce un sistema di ticket che consente di creare e correggere i valori degli ordini. L’idea è quella di avere un Expert Advisor che renda lo stesso sistema di ticket più veloce ed efficiente.
Passiamo ad un sistema di ordini più completo direttamente sul grafico. In questo articolo mostrerò un modo per correggere il sistema degli ordini, o meglio, per renderlo più intuitivo.
Oggi porteremo il nostro sistema di ordini ad un livello superiore. Ma prima di ciò, dobbiamo risolvere alcuni problemi. Ora abbiamo alcune domande che riguardano il modo in cui vogliamo lavorare e le cose che facciamo durante la giornata di trading.
La sorprendente abilità delle piante infestanti di sopravvivere in un'ampia varietà di condizioni è diventata l'idea per un potente algoritmo di ottimizzazione. IWO è uno dei migliori algoritmi tra quelli esaminati precedentemente.
La regressione ha il compito di prevedere un valore reale da un esempio non catalogato. Le cosiddette metriche di regressione vengono utilizzate per valutare l'accuratezza delle previsioni del modello di regressione.
La programmazione orientata agli oggetti consente di creare un codice più compatto che sia facile da leggere e da modificare. Qui di seguito vedremo l'esempio di tre modelli ONNX.
Qui descriveremo solo uno degli aspetti dell'apprendimento automatico - le funzioni di attivazione. Nelle reti neurali artificiali, una funzione di attivazione del neurone calcola il valore di un segnale di output in base ai valori di un segnale di input o di un insieme di segnali di input. Ci addentreremo nei meccanismi interni del processo.
In questo articolo, faremo il passo finale verso le prestazioni dell'EA. Preparatevi quindi a una lunga lettura. Per rendere il nostro Expert Advisor affidabile, per prima cosa rimuoveremo dal codice tutto ciò che non fa parte del sistema di trading.
In questo articolo prenderò in considerazione il metodo di ottimizzazione dell'Algoritmo Firefly(FA). Grazie alla modifica, l'algoritmo si è trasformato da outsider a vero leader della classifica.