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.
 

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