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

string

TERMINAL_CPU_ARCHITECTURE

Arquitectura del procesador

string

TERMINAL_OS_VERSION

Nombre del sistema operativo del usuario

string

TERMINAL_COLORTHEME_NAME

Esquema de color del terminal: Light y Dark.

string

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

 

Obtener información sobre el esquema de color del terminal #

El terminal le permite establecer esquemas de color: claro (por defecto) y oscuro. Al crear aplicaciones de usuario que tienen una interfaz gráfica para interactuar con el usuario, los desarrolladores deberán considerar el esquema de color actual del terminal. Por lo tanto, para mayor comodidad de los usuarios, se hace necesaria una adaptación dinámica de los componentes visuales utilizados en la aplicación.

Con este propósito, se han agregado funciones para determinar el esquema de color del terminal:

 

Identificador

Descripción

Tipo de propiedad

THEME_COLOR_WINDOW

Fondo de la ventana

color

THEME_COLOR_WINDOWTEXT

Texto en la ventana

color

THEME_COLOR_WINDOW

Fondo de la ventana

color

THEME_COLOR_WINDOWTEXT

Texto en la ventana

color

THEME_COLOR_BTNTEXT

Texto en los botones

color

THEME_COLOR_GRAYTEXT

Texto inactivo (desactivado)

color

THEME_COLOR_INFOTEXT

Texto en las pistas

color

THEME_COLOR_INFOBK

Fondo de las pistas

color

THEME_COLOR_3DFACE

Parte frontal de los elementos 3D

color

THEME_COLOR_3DLIGHT

Parte clara de los elementos 3D

color

THEME_COLOR_3DSHADOW

Parte oscura de los elementos 3D

color

THEME_COLOR_3DDKSHADOW

Sombra oscura de elementos 3D

color

THEME_COLOR_3DHILIGHT

Iluminación de elementos 3D

color

THEME_COLOR_HIGHLIGHT

Fondo de los elementos seleccionados

color

THEME_COLOR_HIGHLIGHTTEXT

Texto de los elementos seleccionados

color

THEME_COLOR_BTNFACE

Parte frontal de los botones

color

THEME_COLOR_BTNHILIGHT

Iluiminación de los botones

color

THEME_COLOR_BTNSHADOW

Sombra de los botones

color

THEME_COLOR_MENU

Fondo del menú

color

THEME_COLOR_MENUBAR

Fondo del panel del menú

color

THEME_COLOR_MENUTEXT

Texto del menú

color

THEME_COLOR_MENUHILIGHT

Iluminación del punto seleccionado del menú

color

THEME_COLOR_ACTIVECAPTION

Encabezado de la ventana activa

color

THEME_COLOR_INACTIVECAPTION

Encabezado de la ventana inactiva

color

THEME_COLOR_GRADIENTINACTIVECAPTION

Gradiente del encabezado de la ventana inactiva

color

THEME_COLOR_CAPTIONTEXT

Texto del encabezado de la ventana

color

THEME_COLOR_INACTIVECAPTIONTEXT

Texto del encabezado de la ventana inactiva

color

THEME_COLOR_HOTTEXT

Hipervínculos o elementos activos

color

THEME_COLOR_NONE

Color no seleccionado

color

THEME_COLOR_SEPARATOR

Separador

color

THEME_COLOR_SCROLLBACK

Barra de desplazamiento

color

THEME_COLOR_LINE1

Color de fondo de una línea impar en el Diario

color

THEME_COLOR_LINE2

Color de fondo de una línea par en el Diario

color

THEME_COLOR_GRID

Color de la cuadrícula en el Diario

color

THEME_COLOR_SUMMARY

Color de fondo de la línea final en el Diario

color

THEME_COLOR_ERROR

Color del texto sobre errores

color

THEME_COLOR_INVALID

Color del texto sobre valor no válido

color

THEME_COLOR_NEGATIVE

Color del valor negativo

color

THEME_COLOR_POSITIVE

Color del valor positivo

color

THEME_COLOR_LINK

Color del enlace

color

THEME_COLOR_LINKHOVER

Color del enlace al colocar el cursor

color

THEME_COLOR_LINKTESTER

Color de los enlaces en la caché de resultados de los anteriores inicios de simulación/optimización

color

THEME_COLOR_TEXTUP

Botón no pulsado

color

THEME_COLOR_TEXTDOWN

Botón pulsado

color

THEME_COLOR_BACKUP

Color de los botones "BUY" y "SELL" en la ventana "One Click Trading" al aumentar el precio propuesto

color

THEME_COLOR_BACKDOWN

Color de los botones "BUY" y "SELL" en la ventana "One Click Trading" al disminuir el precio propuesto

color

THEME_COLOR_CLOSE

Botón de la operación "Close"

color

THEME_COLOR_BUY

Botón de la operación "BUY"

color

THEME_COLOR_SELL

Botón de la operación "SELL"

color

THEME_COLOR_DEPOSIT

Color del botón "Deposit"

color

THEME_COLOR_WITHDRAWAL

Color del botón "Withdrawal"

color

THEME_COLOR_BID

Color de la línea "Bid"

color

THEME_COLOR_ASK

Color de la línea "Ask"

color

THEME_COLOR_STOPS

Color de la línea "Stop"

color

THEME_COLOR_STOPS_RED

Iluminación del valor StopLoss al darse en un valor negativo de beneficio en la pestaña Trading

color

THEME_COLOR_STOPS_GREEN

Iluminación del valor StopLoss al darse en un valor positivo de beneficio en la pestaña Trading

color

THEME_COLOR_CONFIRM

Color del botón "Accept" en la ventana de envío de órdenes

color

THEME_COLOR_REQUOTE

Color del botón "Requote"  en la ventana de envío de órdenes

color

THEME_COLOR_REJECT

Color del botón "Reject"  en la ventana de envío de órdenes

color

THEME_COLOR_NOTIFICATION

Color del texto sobre los cambios del servidor en la ventana de envío de órdenes

color

THEME_COLOR_RATING

Color de la franja de clasificación en el sistema de formación

color

THEME_COLOR_BOOK_BUY

Color de fondo de los niveles de compra en la Profundidad de mercado

color

THEME_COLOR_BOOK_SELL

Color de fondo de los niveles de venta en la Profundidad de mercado

color

THEME_COLOR_BOOK_LAST

Color de la última transacción en la Profundidad de mercado

color

THEME_COLOR_BOOK_STOP

Color del nivel de StopLoss en la Profundidad de mercado

color

THEME_COLOR_BOOK_SPREAD

Color de fondo de los niveles de spread en la Profundidad de mercado

color

THEME_COLOR_TICKS_BID

Color de la línea Bid del gráfico de ticks en la ventana de envío de órdenes

color

THEME_COLOR_TICKS_ASK

Color de la línea Ask del gráfico de ticks en la ventana de envío de órdenes

color

THEME_COLOR_TICKS_LAST

Color de la línea Last del gráfico de ticks en la ventana de envío de órdenes

color

THEME_COLOR_TICKS_CROSS

Color de la retícula en el gráfico de ticks en la ventana de envío de órdenes

color

THEME_COLOR_TICKS_SL

Color de la línea StopLoss en el gráfico de ticks en la ventana de envío de órdenes

color

THEME_COLOR_TICKS_TP

Color de la línea TakeProfit en el gráfico de ticks en la ventana de envío de órdenes

color

THEME_COLOR_TESTER_START

Color del botón "Start" de la simulación/optimización

color

THEME_COLOR_TESTER_STOP

Color del botón "Stop" de la simulación/optimización

color

THEME_COLOR_TESTER_START_FRAME

Color del marco del botón "Start" de la simulación/optimización

color

THEME_COLOR_TESTER_STOP_FRAME

Color del marco del botón "Stop" de la simulación/optimización

color

THEME_COLOR_TESTER_PROGRESS

Color de la barra de progreso de la simulación/optimización

color

THEME_COLOR_TESTER_BALANCE

Color de la línea de Balance en el simulador de estrategias

color

THEME_COLOR_TESTER_EQUITY

Color de la línea de Equidad en el simulador de estrategias

color

THEME_COLOR_TESTER_MARGIN

Color del gráfico de carga del depósito en el simulador de estrategias

color

THEME_COLOR_PROFILER_CALL

Color de la línea de código con la llamada al realizar el Perfilado

color

THEME_COLOR_PROFILER_CALLSEL

Color de la línea de código destacada con la llamada al realizar el Perfilado

color

THEME_COLOR_PROFILER_LINE

Color de la línea en el Diario de Perfilado

color

THEME_COLOR_PROFILER_LINESEL

Color de la línea destacada en el Diario de Perfilado

color