Estado del terminal de cliente

La información sobre el terminal de cliente se obtiene a través de estas dos funciones: TerminalInfoInteger() y TerminalInfoString(). Para parámetros, estas funciones aceptan valores de las enumeraciones ENUM_TERMINAL_INFO_INTEGER y ENUM_TERMINAL_INFO_STRING respectivamente.

ENUM_TERMINAL_INFO_INTEGER

Identificador

Descripción

Tipo de la propiedad

TERMINAL_BUILD

Número de la build del terminal

int

TERMINAL_COMMUNITY_ACCOUNT

Bandera de la presencia de los datos de autorización de MQL5.community en el terminal

bool

TERMINAL_COMMUNITY_CONNECTION

Conexión a MQL5.community

bool

TERMINAL_CONNECTED

Conexión al servidor comercial

bool

TERMINAL_DLLS_ALLOWED

Permiso de usar DLL

bool

TERMINAL_TRADE_ALLOWED

Permiso de hacer comercio

bool

TERMINAL_EMAIL_ENABLED

Permiso de enviar correo electrónico usando el servidor SMTP y nombre de usuario especificados en las configuraciones del terminal

bool

TERMINAL_FTP_ENABLED

Permiso de enviar informes a través de FTP a un servidor indicado para una cuenta comercial especificada en las configuraciones del terminal

bool

TERMINAL_NOTIFICATIONS_ENABLED

Permiso para enviar las notificaciones al smartphone

bool

TERMINAL_MAXBARS

Número máximo de barras en el gráfico

int

TERMINAL_MQID

Bandera de presencia de MetaQuotes ID para el envío de las notificaciones Push

int

TERMINAL_CODEPAGE

Número de la página de código del idioma instalado en el terminal de cliente

int

TERMINAL_CPU_CORES

Número de procesadores en el sistema

int

TERMINAL_DISK_SPACE

Tamaño de la memoria libre en el disco para la carpeta MQL5\Files del terminal (agente), en MB

int

TERMINAL_MEMORY_PHYSICAL

Tamaño de la memoria física en el sistema, en MB

int

TERMINAL_MEMORY_TOTAL

Tamaño de la memoria disponible para el proceso del terminal (agente), en MB

int

TERMINAL_MEMORY_AVAILABLE

Tamaño de la memoria libre del proceso del terminal (agente), en MB

int

TERMINAL_MEMORY_USED

Tamaño de la memoria usada por el terminal (agente), en MB

int

TERMINAL_X64

Indicación "terminal de 64 bits"

bool

TERMINAL_OPENCL_SUPPORT

Versión de OpenCL soportada en el formato 0x00010002 = 1.2.  "0" significa que OpenCL no se soporta

int

TERMINAL_SCREEN_DPI

La capacidad de resolución a la hora de mostrar información en la pantalla se mide por la cantidad de puntos por pulgada lineal de la superficie (DPI).

El conocimiento de este parámetro permite definir las dimensiones de los objetos gráficos de tal forma que parezcan iguales en monitores con diferente capacidad de resolución.

int

TERMINAL_SCREEN_LEFT

Coordenada izquierda de la pantalla virtual. La pantalla virtual es un rectángulo que abarca todo el monitor. Si en el sistema hay dos monitores y su orden se ha establecido de derecha a izquierda, la coordenada izquierda de la pantalla virtual puede encontrarse en el límite de los dos monitores.

int

TERMINAL_SCREEN_TOP

Coordenada superior de la pantalla virtual

int

TERMINAL_SCREEN_WIDTH

Anchura del terminal

int

TERMINAL_SCREEN_HEIGHT

Altura del terminal

int

TERMINAL_LEFT

Coordenada izquierda del terminal con respecto a la pantalla virtual

int

TERMINAL_TOP

Coordenada superior del terminal con respecto a la pantalla virtual

int

TERMINAL_RIGHT

Coordenada derecha del terminal con respecto a la pantalla virtual

int

TERMINAL_BOTTOM

Coordenada inferior del terminal con respecto a la pantalla virtual

int

TERMINAL_PING_LAST

Último valor conocido del ping hasta el servidor comercial en microsegundos. En un segundo hay un millón de microsegundos.

int

TERMINAL_VPS

Señal de que el terminal está siendo ejecutado en el servidor virtual MetaTrader Vitrtual Hosting (MetaTrader VPS)

bool

Identificador de la tecla

Descripción

 

TERMINAL_KEYSTATE_LEFT

Estado de la tecla "Flecha izquierda"

int

TERMINAL_KEYSTATE_UP

Estado de la tecla "Flecha arriba"

int

TERMINAL_KEYSTATE_RIGHT

Estado de la tecla "Flecha derecha"

int

TERMINAL_KEYSTATE_DOWN

Estado de la tecla "Flecha abajo"

int

TERMINAL_KEYSTATE_SHIFT

Estado de la tecla "Shift"

int

TERMINAL_KEYSTATE_CONTROL

Estado de la tecla "Ctrl"

int

TERMINAL_KEYSTATE_MENU

Estado de la tecla "Windows"

int

TERMINAL_KEYSTATE_CAPSLOCK

Estado de la tecla "CapsLock"

int

TERMINAL_KEYSTATE_NUMLOCK

Estado de la tecla "NumLock"

int

TERMINAL_KEYSTATE_SCRLOCK

Estado de la tecla "ScrollLock"

int

TERMINAL_KEYSTATE_ENTER

Estado de la tecla "Enter"

int

TERMINAL_KEYSTATE_INSERT

Estado de la tecla "Insert"

int

TERMINAL_KEYSTATE_DELETE

Estado de la tecla "Delete"

int

TERMINAL_KEYSTATE_HOME

Estado de la tecla "Home"

int

TERMINAL_KEYSTATE_END

Estado de la tecla "End"

int

TERMINAL_KEYSTATE_TAB

Estado de la tecla "Tab"

int

TERMINAL_KEYSTATE_PAGEUP

Estado de la tecla "PageUp"

int

TERMINAL_KEYSTATE_PAGEDOWN

Estado de la tecla "PageDown"

int

TERMINAL_KEYSTATE_ESCAPE

Estado de la tecla "Escape"

int

La llamada de TerminalInfoInteger(TERMINAL_KEYSTATE_XXX) retorna el mismo código de estado de una tecla que la función GetKeyState() de MSDN.

 

Ejemplo de cálculo del coeficiente de escala:

//--- creamos un botуn con una anchura de 1.5 pulgadas en la pantalla
int screen_dpi = TerminalInfoInteger(TERMINAL_SCREEN_DPI); // obtenemos los puntos por pulgada (DPI) del monitor del usuario
int base_width = 144;                                      // anchura bбsica en puntos de la pantalla para los monitores estбndar con DPI=96
int width      = (button_width * screen_dpi) / 96;         // calculamos la anchura del botуn para el monitor del usuario (teniendo en cuenta su DPI)
...
 
//--- cбlculo del coeficiente de escala en tanto por ciento
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI) * 100) / 96;
//--- uso del coeficiente de escala
width=(base_width * scale_factor) / 100;

Usando el recurso gráfico de esta forma, tendrá el mismo tamaño a simple vista en monitores con diferentes capacidades de resolución. Además, las dimensiones de los elementos de control (botones, ventanas de diálogo, etc) se corresponderán con los ajustes de la personalización.

 

ENUM_TERMINAL_INFO_DOUBLE

Identificador

Descripción

Tipo de la propiedad

TERMINAL_COMMUNITY_BALANCE

Balance del usuario en MQL5.community

double

 

Porcentaje de paquetes de red nuevamente enviados en protocolo TCP/IP para todos los servicios y aplicaciones iniciados en la computadora dada. Incluso en la red más rápida y mejor configurada tienen lugar pérdidas de paquetes y, como consecuencia, no se da la confirmación de la entrega de los paquetes entre el receptor y el emisor. En tales casos, el paquete "perdido" es enviado de nuevo.

 

No es un índice de calidad de la conexión de un terminal concreto a un servidor comercial concreto, puesto que se calcula para toda la actividad de la red, incluyendo la actividad sistémica y la actividad de fondo.

 

El índice TERMINAL_RETRANSMISSION se solicita una vez por minuto desde el sistema operativo. El propio terminal no calcula este índice.

 

 

Las operaciones de archivos pueden realizarse sólo en dos directorios; las rutas correspondientes se puede obtener llamando a las propiedades de TERMINAL_DATA_PATH y TERMINAL_COMMONDATA_PATH.

ENUM_TERMINAL_INFO_STRING

Identificador

Descripción

Tipo de la propiedad

TERMINAL_LANGUAGE

Idioma del terminal

string

TERMINAL_COMPANY

Nombre de la empresa

string

TERMINAL_NAME

Nombre del terminal

string

TERMINAL_PATH

Carpeta de la que se inicia el terminal

string

TERMINAL_DATA_PATH

Carpeta donde se almacenan los datos del terminal

string

TERMINAL_COMMONDATA_PATH

Carpeta general de todos los terminales de cliente instalados en el ordenador

string

TERMINAL_CPU_NAME

Nombre del procesador

 

TERMINAL_CPU_ARCHITECTURE

Arquitectura del procesador

 

TERMINAL_OS_VERSION

Nombre del sistema operativo del usuario

 

Para mejor entendimiento de las rutas que se guardan en las propiedades de los parámetros TERMINAL_PATH, TERMINAL_DATA_PATH y TERMINAL_COMMONDATA_PATH, se recomienda ejecutar el script que devolverá estos valores para la copia del terminal instalada en su ordenador.

Ejemplo: Script devuelve la información sobre las rutas del terminal de cliente

//+------------------------------------------------------------------+
//|                                          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"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print("TERMINAL_PATH = ",TerminalInfoString(TERMINAL_PATH));
   Print("TERMINAL_DATA_PATH = ",TerminalInfoString(TERMINAL_DATA_PATH));
   Print("TERMINAL_COMMONDATA_PATH = ",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
  }

Como resultado de su ejecución, en el Registro de Asesores Expertos aparecerán los mensajes parecidos a los que vienen más abajo.

Obtención de información sobre la carpeta operacional del terminal