Proprietà dell' Esecuzione di Programmi MQL5

Per ottenere informazioni sul programma MQL5 attualmente in esecuzione, vengono utilizzate le costanti di ENUM_MQL_INFO_INTEGER e ENUM_MQL_INFO_STRING.

Per la funzione MQLInfoInteger

ENUM_MQL_INFO_INTEGER

Identificatore

Descrizione

Tipo

MQL_HANDLES_USED

The current number of active object handles. These include both dynamic (created via new) and non-dynamic objects, global/local variables or class members. The more handles a program uses, the more resources it consumes.

int

MQL_MEMORY_LIMIT

Eventuale quantità massima di memoria dinamica per MQL5 programma in MB

int

MQL_MEMORY_USED

La grandezza della memoria utilizzata dal MQL5 programma in MB

int

MQL_PROGRAM_TYPE

Tipo di programma MQL5

ENUM_PROGRAM_TYPE

MQL_DLLS_ALLOWED

Il permesso di utilizzare DLL per un determinato programma eseguito

bool

MQL_TRADE_ALLOWED

Il permesso al trade per un determinato programma eseguito

bool

MQL_SIGNALS_ALLOWED

Il permesso di modificare i Segnali per un determinato programma eseguito

bool

MQL_DEBUG

Indicazione che il programma sta girando in modalità debugging

bool

MQL_PROFILER

Indicazione che il programma sta girando in modalità profiling del codice

bool

MQL_TESTER

Indicazione che il programma sta girando nel tester

bool

MQL_FORWARD

Indication that the program is running in the forward testing process

bool

MQL_OPTIMIZATION

Indicazione che il programma sta girando in modalità ottimizzazione

bool

MQL_VISUAL_MODE

Indicazione che il programma sta girando in modalità testing visuale

bool

MQL_FRAME_MODE

Indicazione che l'Expert advisor sta girando in in modalità raccolta frames dei risultati di ottimizzazione

bool

MQL_LICENSE_TYPE

Tipo di licenza del modulo EX5. La licenza si riferisce al modulo EX5, da cui viene effettuata una richiesta utilizzando MQLInfoInteger (MQL_LICENSE_TYPE).

ENUM_LICENSE_TYPE

MQL_STARTED_FROM_CONFIG

Restituisce true se lo script/expert è stato avviato dalla sezione StartUp del file di configurazione. Questo significa che questo script/expert è stato registrato nel file di configurazione con cui è stato avviato il terminale.

bool

Per la funzioneMQLInfoString

ENUM_MQL_INFO_STRING

Identificatore

Descrizione

Tipo

MQL_PROGRAM_NAME

Nome del programma MQL5 eseguito

string

MQL5_PROGRAM_PATH

Percorso per il programma eseguito dato

string

 

Per informazioni sul tipo di programma in esecuzione, vengono utilizzati i valori di ENUM_PROGRAM_TYPE.

ENUM_PROGRAM_TYPE

Identificatore

Descrizione

PROGRAM_SCRIPT

Script

PROGRAM_EXPERT

Expert

PROGRAM_INDICATOR

Indicatore

PROGRAM_SERVICE

Servizio

 

ENUM_LICENSE_TYPE

Identificatore

Descrizione

LICENSE_FREE

Una versione gratuita ed illimitata

LICENSE_DEMO

Una versione di prova di un prodotto dal Market. Funziona solo nello strategy tester

LICENSE_FULL

Una versione di licenza acquistata che permette almeno 5 attivazioni. Il venditore può incrementare il numero consentito di attivazioni

LICENSE_TIME

Una versione con termini di licenza limitati

Esempio:

   ENUM_PROGRAM_TYPE mql_program=(ENUM_PROGRAM_TYPE)MQLInfoInteger(MQL_PROGRAM_TYPE);
   switch(mql_program)
     {
      case PROGRAM_SCRIPT:
        {
         Print(__FILE__+" is script");
         break;
        }
      case PROGRAM_EXPERT:
        {
         Print(__FILE__+" is Expert Advisor");
         break;
        }
      case PROGRAM_INDICATOR:
        {
         Print(__FILE__+" is custom indicator");
         break;
        }
      default:Print("MQL5 type value is ",mql_program);
   //---
   Print("MQLInfoInteger(MQL_MEMORY_LIMIT)="MQLInfoInteger(MQL_MEMORY_LIMIT), " MB");
   Print("MQLInfoInteger(MQL_MEMORY_USED)="MQLInfoInteger(MQL_MEMORY_USED), " MB");
   Print("MQLInfoInteger(MQL_HANDLES_USED)="MQLInfoInteger(MQL_HANDLES_USED), " handles");