- Esecuzione dei Programmi
- Permesso di Trade
- Eventi Terminale Client
- Risorse
- Chiamata delle funzioni importate
- Errori di Runtime
- Testare Strategie di Trading
Permesso di Trade
Automazione del Trade
Il linguaggio MQL5 fornisce un gruppo speciale di funzioni di trading progettate per lo sviluppo di sistemi di trading automatizzati. I programmi sviluppati per il trading automatizzato senza intervento umano sono chiamati Expert Advisor o robot di trading. Per creare un Expert Advisor in MetaEditor, avvia MQL5 Wizard e seleziona una delle due opzioni:
- Expert Advisor (modello) - consente di creare un template con funzioni di gestione eventi già pronte che devono essere integrate con tutte le funzionalità necessarie tramite programmazione.
- Expert Advisor (generato) - ti consente di sviluppare un robot di trading a tutti gli effettisemplicemente selezionando i moduli necessari: modulo segnali di trading, modulo gestione del denaro e modulo trailing stop.

Le funzioni di trading possono funzionare solo con Expert Advisor e script. Il trading non è consentito per gli indicatori.
Verifica dell'Autorizzazione per Eseguire il Trading Automatizzato
Per poter sviluppare un Expert Advisor affidabile in grado di lavorare senza intervento umano, è necessario organizzare una serie di controlli importanti. Innanzitutto, dovremmo verificare programmaticamente se il trading è consentito. Si tratta di un controllo di base indispensabile quando si sviluppa qualsiasi sistema automatizzato.
Verifica dell'autorizzazione per eseguire il trading automatizzato nel terminale
Le impostazioni del terminale ti forniscono la possibilità di consentire o vietare il trading automatizzato per tutti i programmi.

Puoi cambiare l'opzione di trading automatizzato direttamente sul pannello Standard del terminale:
- trading automatizzato abilitato, è consentito l'uso delle funzioni di trading nelle applicazioni avviate.
- trading automatizzato disabilitato, le applicazioni in esecuzione non sono in grado di eseguire funzioni di trading.
Esempio di controllo:
if (!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
|
Verifica se il trading è consentito per un determinato Expert Advisor/script in esecuzione
È possibile consentire o vietare il trading automatizzato per un determinato programma al momento dell'avvio. Per fare ciò, utilizzare la casella di controllo speciale nelle proprietà del programma.

Esempio di controllo:
if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
|
Verifica se è consentito il trading per qualsiasi Expert Advisor/script per il conto attuale
Il trading automatizzato può essere disabilitato sul lato del server di trading. Esempio di controllo:
if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
|
Se il trading automatizzato è disabilitato per un conto di trading, le operazioni di trading di Expert Advisor/script non vengono eseguite.
Verifica se è consentita il trading per il conto attuale
In alcuni casi, tutte le operazioni di trading sono disabilitate per un determinato conto di trading – non è possibile eseguire né il trading manuale né quello automatizzato. Esempio di controllo quando è stata utilizzata una password investitore per connettersi a un conto di trading:
if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
|
AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) può restituire false nei seguenti casi:
- nessuna connessione al server di trade. Ciò può essere verificato utilizzando TerminalInfoInteger(TERMINAL_CONNECTED);
- conto di trading passato alla modalità di sola lettura (inviato all'archivio);
- il trading sul conto è disabilitato sul lato server di trading;
- la connessione a un conto di trading è stata eseguita in modalità Investitore.
Vedi anche
Proprietà del Terminale Client, Proprietà dell'Account, Proprietà di un Programma MQL5 in Esecuzione