Status des Client-Terminals

Identifikatoren zum Abrufen der Information über das Client-Terminal mit den Funktionen TerminalInfoInteger() und TerminalInfoString(). Als Parameter erwarten diese Funktionen Werte aus den Enumerationen ENUM_TERMINAL_INFO_INTEGER und ENUM_TERMINAL_INFO_STRING.

ENUM_TERMINAL_INFO_INTEGER

Identifikator

Beschreibung

Typ der Eigenschaft

TERMINAL_BUILD

Die Build-Nummer des Client-Terminals

int

TERMINAL_COMMUNITY_ACCOUNT

Das Flag zeigt das Vorhandensein von Autorisierungsdaten der QL5.community im Terminal an

bool

TERMINAL_COMMUNITY_CONNECTION

Verbindung zur MQL5.community

bool

TERMINAL_CONNECTED

Verbindung mit dem Handelsserver

bool

TERMINAL_DLLS_ALLOWED

Berechtigung, DLL zu verwenden

bool

TERMINAL_TRADE_ALLOWED

Berechtigung zu handeln

bool

TERMINAL_EMAIL_ENABLED

Berechtigung zum Senden von E-Mails über den SMTP-Server und dem Login, der in den Terminaleinstellungen festgelegt sind  

bool

TERMINAL_FTP_ENABLED

Berechtigung, Berichte via FTP zu senden an das angegebene Server für das in Terminaleinstellungen angegebene Handelskonto  

bool

TERMINAL_NOTIFICATIONS_ENABLED

Berechtigung, Benachrichtigungen auf Smartphone zu senden

bool

TERMINAL_MAXBARS

Maximale Anzahl der Bars auf dem Chart

int

TERMINAL_MQID

Das Flag zeigt das Vorhandensein von Daten der MetaQuotes-ID für das Senden von Push-Benachrichtigungen

bool

TERMINAL_CODEPAGE

Nummer der Kodeseite der Sprache, die im Client-Terminal installiert ist

int

TERMINAL_CPU_CORES

Die Anzahl der CPU-Kerne im System

int

TERMINAL_DISK_SPACE

Freier Festplattenspeicher für den Ordner MQL5\Files des Terminals (des Agenten), in MB

int

TERMINAL_MEMORY_PHYSICAL

Physikalischer Speicher im System, in Mb

int

TERMINAL_MEMORY_TOTAL

Für das Terminal (des Agenten) verfügbarer Speicher, in MB

int

TERMINAL_MEMORY_AVAILABLE

Freier Speicher für das Terminal (Agenten), in MB

int

TERMINAL_MEMORY_USED

Verwendeter Speicher des Terminals (Agent), in MB

int

TERMINAL_X64

Angabe von "64-Bit-Terminal"

bool

TERMINAL_OPENCL_SUPPORT

Die Version von unterstützten OpenCL in Form von 0x00010002 = 1.2.  "0" bedeutet, dass OpenCL nicht unterstützt wird

int

TERMINAL_SCREEN_DPI

Die Bildschirmauflösung wird in DPI (Dots per Inch) angegeben.

Wenn Sie den Wert des Parameters wissen, können Sie die Größe der Grafikobjekte so angeben, dass sie gleich auf den Monitoren mit verschiedene Auflösungen aussehen.

int

TERMINAL_SCREEN_LEFT

Die linke Koordinate des virtuellen Bildschirms. Der virtuelle Bildschirm ist das Rechteck, das alle Bildschirme umfasst. Wenn es zwei Bildschirme im System gibt und ihre Reihenfolge von rechts nach links angegeben ist, kann die linke Koordinate des virtuellen Bildschirms an der Grenze der zwei Bildschirme liegen.

int

TERMINAL_SCREEN_TOP

Die obere Koordinate des virtuellen Bildschirms

int

TERMINAL_SCREEN_WIDTH

Terminalbreite

int

TERMINAL_SCREEN_HEIGHT

Terminalhöhe

int

TERMINAL_LEFT

Die linke Koordinate des Terminals hinsichtlich des virtuellen Bildschirms

int

TERMINAL_TOP

Die obere Koordinate des Terminals hinsichtlich des virtuellen Bildschirms

int

TERMINAL_RIGHT

Die rechte Koordinate des Terminals hinsichtlich des virtuellen Bildschirms

int

TERMINAL_BOTTOM

Die untere Koordinate des Terminals hinsichtlich des virtuellen Bildschirms

int

TERMINAL_PING_LAST

Der letzte bekannte Wert des Pings zum Handelsserver in Mikrosekunden. Eine Mikrosekunde ist eine millionstel Sekunde.

int

TERMINAL_VPS

Angabe, dass das Terminal auf dem MetaTrader Virtual Hosting Server (MetaTrader VPS) gestartet wird.

bool

Identifikator der Tasten

Beschreibung

 

TERMINAL_KEYSTATE_LEFT

Status der Taste "Pfeil nach links"

int

TERMINAL_KEYSTATE_UP

Status der Taste "Pfeil nach oben"

int

TERMINAL_KEYSTATE_RIGHT

Status der Taste "Pfeil nach rechts"

int

TERMINAL_KEYSTATE_DOWN

Status der Taste "Pfeil nach unten"

int

TERMINAL_KEYSTATE_SHIFT

Status der Shift-Taste

int

TERMINAL_KEYSTATE_CONTROL

Status der Strg-Taste

int

TERMINAL_KEYSTATE_MENU

Status der Windows-Taste

int

TERMINAL_KEYSTATE_CAPSLOCK

Status der CapsLock-Taste

int

TERMINAL_KEYSTATE_NUMLOCK

Status der NumLock-Taste

int

TERMINAL_KEYSTATE_SCRLOCK

Status der ScrollLock-Taste

int

TERMINAL_KEYSTATE_ENTER

Status der Enter-Taste

int

TERMINAL_KEYSTATE_INSERT

Status der Insert-Taste

int

TERMINAL_KEYSTATE_DELETE

Status der Delete-Taste

int

TERMINAL_KEYSTATE_HOME

Status der Home-Taste

int

TERMINAL_KEYSTATE_END

Status der End-Taste

int

TERMINAL_KEYSTATE_TAB

Status der Tab-Taste

int

TERMINAL_KEYSTATE_PAGEUP

Status der PageUp-Taste

int

TERMINAL_KEYSTATE_PAGEDOWN

Status der PageDown-Taste

int

TERMINAL_KEYSTATE_ESCAPE

Status der Escape-Taste

int

Der Aufruf von TerminalInfoInteger(TERMINAL_KEYSTATE_XXX) gibt den gleichen Code des Status einer Taste zurück, wie die Funktion GetKeyState() in MSDN.

 

Beispiel für die Berechnung des Skalierungsfaktors:

//--- Erstellung einer Schaltfläche mit der Breite 1,5 Zoll
int screen_dpi = TerminalInfoInteger(TERMINAL_SCREEN_DPI); // DPI des Benutzerbildschirms erhalten
int base_width = 144;                                      // Die Basisbreite in Bildschirmpunkten für die Standardmonitore mit DPI=96
int width      = (button_width * screen_dpi) / 96;         // Die Schaltflächenbreite für den Benutzermonitor berechnenSkalierungsfaktor)
...
 
//--- Skalierungsfaktor in Prozent berechnen
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI) * 100) / 96;
//--- Skalierungsfaktor verwenden
width=(base_width * scale_factor) / 100;

Mit dieser Verwendung, hat die Grafik-Ressource die gleiche Größe auf den Bildschirmen mit der unterschiedlichen Auflösung. Die Größe der Steuerelemente (Schaltflächen, Dialogfelder, etc.) entsprechen den Personalisierungsoptionen.

 

ENUM_TERMINAL_INFO_DOUBLE

Bezeichner

Beschreibung

Typ der Eigenschaft

TERMINAL_COMMUNITY_BALANCE

Kontostand des Nutzers in der MQL5.community

double

TERMINAL_RETRANSMISSION

Anteil von erneut gesendeten Netzwerkpaketen im TCP/IP Protokoll für alle laufenden Anwendungen und Dienste auf dem gegebenen PC. Auch im schnellsten und richtig konfigurierten Netzwerk kann es zu Paketverlusten kommen, als Ergebnis gibt es keine Bestätigungen über die Zustellung von Paketen zwischen dem Empfänger und dem Sender. In solchen Fällen werden die "verloren gegangenen" Pakete erneut gesendet.

 

Das ist kein Indikator der Verbindungsqualität eines konkreten Terminals zu einem konkreten Handelsserver, denn er wird für die ganze Netzwerkaktivität, einschließlich System- und Hintergrundsaktivität, berechnet.

 

Der Wert TERMINAL_RETRANSMISSION wird einmal pro Minute aus dem Betriebssystem abgerufen. Das Terminal selbst berechnet diesen Wert nicht.

double

 

Dateioperationen können nur in zwei Verzeichnissen durchgeführt werden, Pfade zu denen durch die Anforderung der Eigenschaften  TERMINAL_DATA_PATH und TERMINAL_COMMONDATA_PATH erhalten werden können.

ENUM_TERMINAL_INFO_STRING

Identifikator

Beschreibung

Typ der Eigenschaft

TERMINAL_LANGUAGE

Sprache des Terminals

string

TERMINAL_COMPANY

Name der Gesellschaft

string

TERMINAL_NAME

Terminalname

string

TERMINAL_PATH

Ordner aus dem das Terminal gestartet wird

string

TERMINAL_DATA_PATH

Ordner, in dem die Terminladaten gespeichert werden

string

TERMINAL_COMMONDATA_PATH

Gesamtordner aller Client-Terminals, die im Computer installiert werden

string

TERMINAL_CPU_NAME

CPU-Name

string

TERMINAL_CPU_ARCHITECTURE

CPU-Architektur

string

TERMINAL_OS_VERSION

Name des Betriebssystems des Nutzers

string

Zum besseren Verständnis der Pfade, die in Eigenschaften der Parameter TERMINAL_PATH, TERMINAL_DATA_PATH und TERMINAL_COMMONDATA_PATH gespeichert sind, ist es empfehlenswert, das Skript auszuführen, das diese Werte für die aktuelle Kopie des auf Ihrem Computer installierten Client-Terminals zurückgibt.

Beispiel: Das Skript gibt die Information über Terminalpfade zurück

//+------------------------------------------------------------------+
//|                                          Check_TerminalPaths.mq5 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Skript Programm Start Funktion                                   |
//+------------------------------------------------------------------+
void OnStart()
 { 
//---+
   Print("TERMINAL_PATH = ",TerminalInfoString(TERMINAL_PATH));
   Print("TERMINAL_DATA_PATH = ",TerminalInfoString(TERMINAL_DATA_PATH));
   Print("TERMINAL_COMMONDATA_PATH = ",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
  }

Als Ergebnis der Ausführung des Skripts können Sie im Expert-Journal die Einträge sehen, wie sie unten angezeigt werden.

Abgerufene Information über den Arbeitsordner des Terminals