Documentazione sul Linguaggio del Trading automatico

Riferimento MQL5

MetaQuotes Language 5 (MQL5) è un linguaggio ad alto-livello progettato per lo sviluppo di indicatori tecnici, robot di trading e applicazioni di utilità, che automatizzano il trading finanziario. MQL5 è stato sviluppato da MetaQuotes per la loro piattaforma di trading. La sintassi del linguaggio è molto vicina al C++, consentendo ai programmatori di sviluppare applicazioni nello stile di programmazione orientata agli oggetti (OOP).

Oltre al linguaggio MQL5, il pacchetto della piattaforma di trading include anche il MetaEditor IDE con strumenti di scrittura del codice estremamente avanzati, quali templates, snippet, debugging, profiling e strumenti di completamento automatico, così come MQL5 Storage che abilita il controllo delle versioni dei file.

Il supporto al linguaggio è disponibile sul sito Web MQL5 Algotrading community, che contiene un numero enorme di CodeBase gratuito e una pletora di articoli. Questi articoli coprono tutti gli aspetti del trading moderno, tra cui reti neurali, statistiche e analisi, trading ad alta frequenza, arbitraggio, testing ed ottimizzazione delle strategie di trading, utilizzo di robot di automazione di trading e altro ancora.

Gli sviluppatori di programmi di trading e MQL5 possono comunicare sul forum, ordinare e sviluppare applicazioni usando il servizio Freelance, così come acquistare e vendere programmi protetti nel Market di applicazioni di trading automatico.

Il linguaggio MQL5 fornisce specializzate funzioni di trading e predefiniti gestori di eventi per aiutare i programmatori a sviluppare Expert Advisors (EA), che controllano automaticamente i processi di trading seguendo specifiche regole di trading. Oltre agli EA, MQL5 consente lo sviluppo personalizzato di indicatori tecnici, script e librerie.

Questo riferimento al linguaggio MQL5 contiene funzioni, operazioni, parole riservate ed altre costruzioni del linguaggio, suddivisi in categorie. Il riferimento fornisce anche le descrizioni delle classi della Libreria Standard utilizzate per lo sviluppo di strategie di trading, pannelli di controllo, grafica personalizzata e abilitazione dell'accesso ai file.

Inoltre, il CodeBase contiene la libreria di analisi numerica ALGLIB, che può essere utilizzata per risolvere vari problemi matematici.

 

Libro Algo Trading

Iniziare a imparare qualcosa di nuovo è sempre una sfida. Per assistere i principianti, abbiamo pubblicato due libri completi sulla programmazione MQL5, progettati per chiunque desideri padroneggiare la creazione di robot di trading e applicazioni per il trading algoritmico.

Questi libri offrono una presentazione sistematica e strutturata del materiale per facilitare in modo significativo il processo di apprendimento. Gli esempi di codice dettagliati, che spiegano la creazione passo-passo dei robot e delle applicazioni per il trading, consentono una comprensione più approfondita delle sfumature algoritmiche del trading. I libri includono numerosi esercizi pratici per contribuire a rafforzare le conoscenze acquisite e sviluppare competenze di programmazione in ambienti di trading reali.

"MQL5 Programming for Traders" è il tutorial più completo e dettagliato su MQL5, adatto per programmatori di tutti i livelli. I principianti impareranno le basi: il libro introduce gli strumenti di sviluppo e i concetti di base della programmazione. Sulla base di questo materiale, creerai, compilerai ed eseguirai la tua prima applicazione nella piattaforma di trading MetaTrader 5. Gli utenti con esperienza in altri linguaggi di programmazione possono passare immediatamente alla parte applicativa: creazione di robot di trading e applicazioni analitiche in MQL5.

"Neural Networks for Algorithmic Trading with MQL5" è una guida all'utilizzo di metodi di apprendimento automatico nei robot di trading per la piattaforma MetaTrader 5. Sarai progressivamente introdotto ai fondamenti delle reti neurali e alla loro applicazione nel trading algoritmico. Man mano che avanzi, costruirai e addestrerai la tua soluzione IA, aggiungendo gradualmente nuove funzionalità. Oltre a imparare MQL5, acquisirai competenze di programmazione in Python e OpenCL ed esplorerai i metodi integrati matriciali e vettoriali, che consentono la soluzione di problemi matematici complessi con codice conciso ed efficiente.

 

Articoli sullo sviluppo di applicazioni per il trading

Articoli MQL5 sono un'eccellente risorsa per esplorare tutto il potenziale del linguaggio, coprendo una vasta gamma di attività pratiche del trading algoritmico. Per una facile navigazione, tutti gli articoli sono classificati in sezioni come Esempi, Expert Advisor, Apprendimento Automatico e altro. Ogni mese, decine di nuovi articoli sono pubblicati sul sito web della MQL5 Algotrading community scritti da trader per altri trader. Leggi e discuti questi articoli per padroneggiare il trading algoritmico moderno. Per i principianti, abbiamo compilato una lista di 16 articoli raccomandati per una rapida immersione in MQL5.
 

Tipi di applicazioni MQL5

I programmi MQL5 sono suddivisi in cinque tipi specializzati basati sulle attività di automazione del trading che implementano:

  • Un Expert Advisor è un sistema di trading automatico collegato ad un grafico-chart. Un Expert Advisor contiene gestori(handlers) di evento per gestire eventi predefiniti che attivano l'esecuzione di elementi di strategia di trading appropriati. Ad esempio, un evento di inizializzazione e deinizializzazione del programma, nuovi ticks, eventi timer, modifiche alla profondità di mercato(Depth of Market), eventi chart e personalizzati.
    Oltre a calcolare i segnali di trading in base alle regole implementate, gli Expert Advisors possono anche eseguire automaticamente le operazioni e inviarle direttamente ad un server di trading. Gli Expert Advisors sono memorizzati in <Directory_del_Terminale>\MQL5\Experts.
  • Un Indicatore personalizzato è un indicatore tecnico sviluppato da un utente in aggiunta agli indicatori standard integrati nella piattaforma di trading. Gli indicatori personalizzati, oltre a quelli standard, non possono fare il trade automaticamente, ma implementano solo funzioni analitiche. Gli indicatori personalizzati possono utilizzare i valori di altri indicatori per i calcoli e possono essere chiamati da Expert Advisors.
    Gli indicatori personalizzati sono memorizzati in <Directory_del_Terminale>\MQL5\Indicators.
  • Uno Script è un programma per una singola esecuzione di un'azione. A differenza degli Expert Advisors, gli script non gestiscono alcun evento tranne per i trigger(inneschi), inizializzazione e deinitializzazione. Un codice di script deve contenere la funzione di gestore di OnStart. Gli script sono memorizzati in <Directory_del_Terminale>\MQL5\Scripts.
  • Servizio è un programma che, a differenza degli indicatori, degli Expert Advisors e degli script, non richiede di essere associato ad un chart per funzionare. Come gli script, i servizi non gestiscono alcun evento tranne che per l'attivazione(innesco/trigger). Per avviare un servizio, il suo codice dovrebbe contenere la funzione dell handler OnStart. I servizi non accettano altri eventi tranne Start, ma sono in grado di inviare eventi personalizzati ai charts usando EventChartCustom. I servizi sono memorizzati in <Directory_del_Terminale>\MQL5\Services.
  • Una Libreriaè un insieme di funzioni personalizzate. Le librerie sono destinate a memorizzare e distribuire algoritmi comunemente usati di programmi personalizzati.
    Le librerie sono memorizzate in <Directory_del_Terminale>\MQL5\Libraries.
  • Un file Include è un testo di sorgente dei blocchi più utilizzati di programmi personalizzati. Tali file possono essere inclusi nei testi dei sorgenti di Expert Advisors, script, indicatori personalizzati e librerie nella fase di compilazione. L'uso di file inclusi è più preferibile rispetto all'uso delle librerie a causa di un carico aggiuntivo che si verifica quando si chiamano le funzioni della libreria.
    I file Include possono essere memorizzati nella stessa directory in cui si trova il file originale. In questo caso viene usata la direttiva #include con le virgolette. Un'altra opzione è quella di memorizzare i file include nella <Directory_del_Terminale>\MQL5\Include. In questo caso #include deve essere usato con parentesi angolari.

 

© 2000-2024, MetaQuotes Ltd