Eigenschaften des laufenden MQL5-Programms

Für das Erhalten von Informationen über ein laufendes mql5-Programm werden die in ENUM_MQL_INFO_INTEGER und ENUM_MQL_INFO_STRING aufgezählten Konstanten verwendet.

Für die Funktion MQLInfoInteger()

ENUM_MQL_INFO_INTEGER

Identifikator

Beschreibung

Typ der Eigenschaft

MQL_HANDLES_USED

Die aktuelle Anzahl der aktiven Objekt-Handles. Dazu gehören sowohl dynamische (erstellt über new) als auch nicht-dynamische Objekte, globale/lokale Variablen oder Klassenmitglieder. Je mehr Handles ein Programm verwendet, desto mehr Ressourcen verbraucht es.

int

MQL_MEMORY_LIMIT

Die maximale Größe des dynamischen Speichers für ein MQL5-Programm in MB

int

MQL_MEMORY_USED

Die Größe des vom MQL5-Programm verwendeten Speichers in MB

int

MQL_PROGRAM_TYPE

Typ des MQL5-Programms

ENUM_PROGRAM_TYPE

MQL_DLLS_ALLOWED

Die Erlaubnis, DLL für das vorgegebene laufende Programm zu verwenden

bool

MQL_TRADE_ALLOWED

Die Erlaubnis zum Handeln für dasvorgegebene laufende Programm

bool

MQL_SIGNALS_ALLOWED

Die Erlaubnis für die Arbeit mit Signalen für das vorgegebene laufende Programm

bool

MQL_DEBUG

Hinweis, dass das Programm im Debugging-Modus läuft

bool

MQL_PROFILER

Hinweis, dass das Programm im Code Profiling-Modus läuft

bool

MQL_TESTER

Hinweis, dass das Programm im Tester läuft

bool

MQL_FORWARD

Hinweis, dass das Programm im Prozess des Vorwärts-Testens läuft

bool

MQL_OPTIMIZATION

Hinweis, dass das Programm im Optimierungsmodus läuft  

bool

MQL_VISUAL_MODE

Hinweis, dass das Programm im Modus des visuellen Testens läuft  

bool

MQL_FRAME_MODE

Hinweis, dass der Expert Advisor im Modus des Sammelns der Frames von Optimierungergebnissen läuft

bool

MQL_LICENSE_TYPE

Lizenztyp des EX5-Moduls. Die Lizenz bezieht sich auf das EX5-Modul, von dem aus eine Anfrage mit MQLInfoInteger (MQL_LICENSE_TYPE) gestellt wird.

ENUM_LICENSE_TYPE

MQL_STARTED_FROM_CONFIG

Gibt truezurück, wenn das Skript/Expert aus dem StartUp-Abschnitt der Konfigurationsdatei gestartet wurde. Das bedeutet, dass dieses Skript/Expert in der Konfigurationsdatei registriert wurde, mit der das Terminal gestartet wurde

bool

Für die Funktion MQLInfoString()

ENUM_MQL_INFO_STRING

Identifikator

Beschreibung

Typ der Eigenschaft

MQL_PROGRAM_NAME

Name des laufenden MQL5-Programms

string

MQL_PROGRAM_PATH

Pfad für das vorgegebene laufende Programm

string

 

Für die Abfrage der Information über den Typ des laufenden Programms werden die Werte der Aufzählung ENUM_PROGRAM_TYPE verwendet.

ENUM_PROGRAM_TYPE

Identifikator

Beschreibung

PROGRAM_SCRIPT

Skript

PROGRAM_EXPERT

Expert

PROGRAM_INDICATOR

Indikator

PROGRAM_SERVICE

Dienst (Service)

 

ENUM_LICENSE_TYPE

Identifikator

Beschreibung

LICENSE_FREE

Kostenlose Vollversion

LICENSE_DEMO

Demoversion eines kostenpflichtigen Produkts aus dem Market. Die Version funktioniert nur im Strategietester

LICENSE_FULL

Eine gekaufte lizenzierte Version erlaubt mindestens fünf Aktivierungen. Der Verkäufer kann die Anzahl der zulässigen Aktivierungen erhöhen

LICENSE_TIME

Version mit einer zeitlich begrenzten Lizenz

Beispiel:

   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");