Propriétés du Terminal Client

Les informations du terminal client peuvent être obtenues avec 2 fonctions : TerminalInfoInteger() et TerminalInfoString(). Pour les paramètres, ces fonctions acceptent des valeurs de ENUM_TERMINAL_INFO_INTEGER et ENUM_TERMINAL_INFO_STRING respectivement.

ENUM_TERMINAL_INFO_INTEGER

Identifiant

Description

Type

TERMINAL_BUILD

Le numéro de build du terminal client

int

TERMINAL_COMMUNITY_ACCOUNT

Le flag indique la présence des données d'autorisation de la MQL5.community dans le terminal

bool

TERMINAL_COMMUNITY_CONNECTION

Connexion à la MQL5.community

bool

TERMINAL_CONNECTED

Connexion au serveur de trades

bool

TERMINAL_DLLS_ALLOWED

Permission d'utiliser des DLL

bool

TERMINAL_TRADE_ALLOWED

Permission d'effectuer des opérations de trading

bool

TERMINAL_EMAIL_ENABLED

Permission d'envoyer des e-mails en utilisant le serveur SMTP et le login spécifiés dans les paramètres du terminal

bool

TERMINAL_FTP_ENABLED

Permission d'envoyer des rapports en utilisant le serveur FTP et le login spécifiés dans les paramètres du terminal

bool

TERMINAL_NOTIFICATIONS_ENABLED

Permission d'envoyer des notifications vers un smartphone

bool

TERMINAL_MAXBARS

Le nombre maximum de barres sur le graphique

int

TERMINAL_MQID

Le flag indique la présence de l'identifiant MetaQuotes pour les notifications Push

bool

TERMINAL_CODEPAGE

Numéro de la page de code de la langue installée sur le terminal client

int

TERMINAL_CPU_CORES

Le nombre de coeurs CPU dans le système

int

TERMINAL_DISK_SPACE

Espace disque libre pour le répertoire MQL5\Files du terminal (agent), en Mo

int

TERMINAL_MEMORY_PHYSICAL

Mémoire physique du système, en Mo

int

TERMINAL_MEMORY_TOTAL

Mémoire disponible pour le processus du terminal (agent), en Mo

int

TERMINAL_MEMORY_AVAILABLE

Mémoire libre du processus du terminal (agent), en Mo

int

TERMINAL_MEMORY_USED

Mémoire utilisée par le terminal (agent), en Mo

int

TERMINAL_X64

Indication du terminal en 64 bits

bool

TERMINAL_OPENCL_SUPPORT

La version d'OpenCL supportée dans le format 0x00010002 = 1.2.  "0" signifie qu'OpenCL n'est pas supporté

int

TERMINAL_SCREEN_DPI

La résolution d'affichage de l'écran est mesurée en nombre de Points Par Pource (PPP ou Dots Per Inch (DPI) en anglais).

Avec cette valeur, vous pouvez déterminer la taille des objets graphiques afin qu'ils apparaissent de la même façon sur des écrans ayant des résolutions différentes.

int

TERMINAL_SCREEN_LEFT

La coordonnée gauche de l'écran virtuel. Un écran virtuel est un rectangle couvrant tous les écrans. Si le système a 2 écrans ordonnés de droite à gauche, alors la coordonnée gauche de l'écran virtuel peut être sur la bordure des 2 écrans.

int

TERMINAL_SCREEN_TOP

La coordonnée supérieure de l'écran virtuel

int

TERMINAL_SCREEN_WIDTH

Largeur du terminal

int

TERMINAL_SCREEN_HEIGHT

Hauteur du terminal

int

TERMINAL_LEFT

La coordonnée gauche du terminal relativement à l'écran virtuel

int

TERMINAL_TOP

La coordonnée supérieure du terminal relativement à l'écran virtuel

int

TERMINAL_RIGHT

La coordonnée droite du terminal relativement à l'écran virtuel

int

TERMINAL_BOTTOM

La coordonnée inférieure du terminal relativement à l'écran virtuel

int

TERMINAL_PING_LAST

La dernière valeur connue du ping à un serveur de trades en microsecondes. 1 seconde comporte 1 million de microsecondes

int

TERMINAL_VPS

Indication que le terminal est lancé sur un serveur d'Hébergement Virtuel MetaTrader (MetaTrader VPS)

bool

Identificateur de la touche

Description

 

TERMINAL_KEYSTATE_LEFT

Etat de la touche "Flèche gauche"

int

TERMINAL_KEYSTATE_UP

Etat de la touche "Flèche vers le haut"

int

TERMINAL_KEYSTATE_RIGHT

Etat de la touche "Flèche droite"

int

TERMINAL_KEYSTATE_DOWN

Etat de la touche "Flèche vers le bas"

int

TERMINAL_KEYSTATE_SHIFT

Etat de la touche "Shift"

int

TERMINAL_KEYSTATE_CONTROL

Etat de la touche "Ctrl"

int

TERMINAL_KEYSTATE_MENU

Etat de la touche "Windows"

int

TERMINAL_KEYSTATE_CAPSLOCK

Etat de la touche "Verrouillage majuscules"

int

TERMINAL_KEYSTATE_NUMLOCK

Etat de la touche "Verrouillage numérique"

int

TERMINAL_KEYSTATE_SCRLOCK

Etat de la touche "Arrêt du défilement"

int

TERMINAL_KEYSTATE_ENTER

Etat de la touche "Entrée"

int

TERMINAL_KEYSTATE_INSERT

Etat de la touche "Ins"

int

TERMINAL_KEYSTATE_DELETE

Etat de la touche "Suppr"

int

TERMINAL_KEYSTATE_HOME

Etat de la touche "Début"

int

TERMINAL_KEYSTATE_END

Etat de la touche "Fin"

int

TERMINAL_KEYSTATE_TAB

Etat de la touche "Tab"

int

TERMINAL_KEYSTATE_PAGEUP

Etat de la touche "Page précédente"

int

TERMINAL_KEYSTATE_PAGEDOWN

Etat de la touche "Page suivante"

int

TERMINAL_KEYSTATE_ESCAPE

Etat de la touche "Echap"

int

L'appel à TerminalInfoInteger(TERMINAL_KEYSTATE_XXX) retourne le même code d'état d'une touche que la fonction GetKeyState() dans MSDN.

 

Exemple de calcul du facteur de mise à l'échelle :

//--- Création d'un bouton de 1.5 pouces de largeur sur un écran
int screen_dpi = TerminalInfoInteger(TERMINAL_SCREEN_DPI); // Récupère la résolution en DPI de l'écran
int base_width = 144;                                      // La largeur de base en points pour des écrans standards avec DPI=96
int width      = (button_width * screen_dpi) / 96;         // Calcule la largeur du bouton pour l'écran de l'utilisateur (pour la résolution en DPI spécifique)
...
 
//--- Calcul du facteur d'échelle en pourcentage
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI) * 100) / 96;
//--- Utilisation du facteur d'échelle
width=(base_width * scale_factor) / 100;

Dans l'exemple ci-dessus, la ressource graphique apparaît de façon identique sur des écrans ayant des résolutions différentes. La taille des éléments de contrôle (boutons, boîtes de dialogue, etc.) correspond aux paramètres de personnalisation.

 

ENUM_TERMINAL_INFO_DOUBLE

Identifiant

Description

Type

TERMINAL_COMMUNITY_BALANCE

Solde sur la MQL5.community

double

TERMINAL_RETRANSMISSION

Pourcentage de paquets réseau retransmis dans le protocole TCP/IP pour toutes les applications et services en cours d'exécution sur un ordinateur donné. La perte de paquets se produit même sur des réseaux ultra-rapides et correctement configurés. Dans ce cas, il n'y a pas de confirmation de la livraison d'un paquet entre le destinataire et l'expéditeur, les paquets perdus sont donc renvoyés.

 

Ce n'est pas une indication de la qualité de la connexion entre un terminal particulier et un serveur de trades, puisque le pourcentage est calculé pour l'activité réseau en entier, incluant les activités système et en arrière plan.

 

La valeur de TERMINAL_RETRANSMISSION est demandé au système d'exploitation toutes les minutes. Le terminal lui-même ne calcule pas cette valeur.

double

 

Les opérations sur les fichiers ne peuvent être effectuées que dans 2 répertoires ; les chemins correspondants peuvent être obtenus en demandant les propriétés TERMINAL_DATA_PATH et TERMINAL_COMMONDATA_PATH.

ENUM_TERMINAL_INFO_STRING

Identifiant

Description

Type

TERMINAL_LANGUAGE

Langue du terminal

string

TERMINAL_COMPANY

Nom de la société

string

TERMINAL_NAME

Nom du terminal

string

TERMINAL_PATH

Répertoire à partir duquel le terminal est exécuté

string

TERMINAL_DATA_PATH

Répertoire dans lequel les données du terminal sont stockées

string

TERMINAL_COMMONDATA_PATH

Chemin commun de tous les terminaux installés sur un ordinateur

string

TERMINAL_CPU_NAME

Nom du CPU

string

TERMINAL_CPU_ARCHITECTURE

Architecture CPU

string

TERMINAL_OS_VERSION

Nom du système d'exploitation de l'utilisateur

string

TERMINAL_COLORTHEME_NAME

Terminal color scheme; valeurs possibles : Clair et Sombre.

string

Pour une meilleure compréhension des chemins, stockés dans les propriétés des paramètres TERMINAL_PATH, TERMINAL_DATA_PATH et TERMINAL_COMMONDATA_PATH, il est recommandé d'exécuter le script, qui retournera ces valeurs pour la copie actuelle du terminal client installée sur votre ordinateur

Exemple : Script returnant les chemins du terminal client

//+----------------------------------------------------------------------------------------------------+
//|                                          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"
//+----------------------------------------------------------------------------------------------------+
//| Fonction de démarrage du script                                                                    |
//+----------------------------------------------------------------------------------------------------+
void OnStart()
  {
//---
   Print("TERMINAL_PATH = ",TerminalInfoString(TERMINAL_PATH));
   Print("TERMINAL_DATA_PATH = ",TerminalInfoString(TERMINAL_DATA_PATH));
   Print("TERMINAL_COMMONDATA_PATH = ",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
  }

Le résultat de l'exécution du script apparaît dans le Journal des Experts sous la forme suivante :

Récupérer des données d'un répertoire de travail du terminal

 

 

Retourne les Informations sur les Couleurs du Terminal #

Le terminal prend en charge deux schémas de couleurs : Clair (par défaut) et Sombre. Lors du développement d'applications personnalisées avec des interfaces utilisateur graphiques, les programmeurs doivent tenir compte du schéma de couleurs du terminal actuel. Les composants visuels utilisés dans l'application doivent pouvoir s'adapter dynamiquement pour améliorer l'expérience utilisateur et maintenir la cohérence visuelle.

Pour pouvoir le faire, le langage offre des fonctions pour détecter le schéma de couleurs du terminal :

 

Identifiant

Description

Type de propriété

THEME_COLOR_WINDOW

Couleur d'arrière plan de la fenêtre

color

THEME_COLOR_WINDOWTEXT

Texte dans la fenêtre

color

THEME_COLOR_BTNTEXT

Texte du bouton

color

THEME_COLOR_GRAYTEXT

Texte inactif (désactivé)

color

THEME_COLOR_INFOTEXT

Texte d'infobulle

color

THEME_COLOR_INFOBK

Arrière plan de l'infobulle

color

THEME_COLOR_3DFACE

Face avant des éléments 3D

color

THEME_COLOR_3DLIGHT

Côté éclairé des éléments 3D

color

THEME_COLOR_3DSHADOW

Côté dans l'ombre des éléments 3D

color

THEME_COLOR_3DDKSHADOW

Ombre foncée des éléments 3D

color

THEME_COLOR_3DHILIGHT

Surbrillance des éléments 3D

color

THEME_COLOR_HIGHLIGHT

Arrère plan des éléments sélectionnés

color

THEME_COLOR_HIGHLIGHTTEXT

Texte des éléments sélectionnés

color

THEME_COLOR_BTNFACE

Face avant du bouton

color

THEME_COLOR_BTNHILIGHT

Surbrillance du bouton

color

THEME_COLOR_BTNSHADOW

Ombre du bouton

color

THEME_COLOR_MENU

Arrière plan du menu

color

THEME_COLOR_MENUBAR

Arrière plan de la barre de menu

color

THEME_COLOR_MENUTEXT

Texte du menu

color

THEME_COLOR_MENUHILIGHT

Surbrillance de l'élément sélectionné du menu

color

THEME_COLOR_ACTIVECAPTION

Titre de la fenêtre active

color

THEME_COLOR_INACTIVECAPTION

Titre d'une fenêre inactive

color

THEME_COLOR_GRADIENTINACTIVECAPTION

Dégradé du titre d'une fenêtre inactive

color

THEME_COLOR_CAPTIONTEXT

Texte du titre de la fenêtre

color

THEME_COLOR_INACTIVECAPTIONTEXT

Texte du titre d'une fenêtre inactive

color

THEME_COLOR_HOTTEXT

Hyperliens ou éléments actifs

color

THEME_COLOR_NONE

Couleur non sélectionnée

color

THEME_COLOR_SEPARATOR

Séparateur

color

THEME_COLOR_SCROLLBACK

Barre de défilement

color

THEME_COLOR_LINE1

Couleur d'arrière plan des lignes impaires dans le Journal

color

THEME_COLOR_LINE2

Couleur d'arrière plan des lignes paires dans le Journal

color

THEME_COLOR_GRID

Couleur de la grille dans le Journal

color

THEME_COLOR_SUMMARY

Couleur d'arrière plan des lignes du résumé dans le Journal

color

THEME_COLOR_ERROR

Couleur du texte des messages d'erreur

color

THEME_COLOR_INVALID

Couleur de texte pour une valeur invalide

color

THEME_COLOR_NEGATIVE

Couleur de valeur négative

color

THEME_COLOR_POSITIVE

Couleur de valeur positive

color

THEME_COLOR_LINK

Couleur pour les liens

color

THEME_COLOR_LINKHOVER

Couleur lors du passage du curseur au-dessus d'un lien

color

THEME_COLOR_LINKTESTER

Couleur de lien depuis les résultats précédents mis en cache lors des précédentes exécutions de tests/optimisations

color

THEME_COLOR_TEXTUP

Etat "bouton relâché"

color

THEME_COLOR_TEXTDOWN

Etat "bouton appuyé"

color

THEME_COLOR_BACKUP

Couleur des boutons "ACHETER" et "VENDRE" dans le panneau de "Trading En Un Clic" lorsque la cotation augmente

color

THEME_COLOR_BACKDOWN

Couleur des boutons "ACHETER" et "VENDRE" dans le panneau de "Trading En Un Clic" lorsque la cotation diminue

color

THEME_COLOR_CLOSE

Couleur du bouton de l'opération "Clôturer"

color

THEME_COLOR_BUY

Couleur du bouton de l'opération "ACHETER"

color

THEME_COLOR_SELL

Couleur du bouton de l'opération "VENDRE"

color

THEME_COLOR_DEPOSIT

Couleur du bouton "Dépôt"

color

THEME_COLOR_WITHDRAWAL

Couleur du bouton de l'opération "Retrait"

color

THEME_COLOR_BID

Couleur de la ligne de l'Offre

color

THEME_COLOR_ASK

Couleur de la ligne de la Demande

color

THEME_COLOR_STOPS

Couleur de la ligne de Stop

color

THEME_COLOR_STOPS_RED

Surbrillance de la valeur du StopLoss lorsque le profit est négatif (onglet Trade)

color

THEME_COLOR_STOPS_GREEN

Surbrillance de la valeur du StopLoss lorsque le profit est positif (onglet Trade)

color

THEME_COLOR_CONFIRM

Couleur du bouton "Accepter" dans la fenêtre d'envoi de l'ordre

color

THEME_COLOR_REQUOTE

Couleur du bouton "Requote" dans la fenêtre d'envoi de l'ordre

color

THEME_COLOR_REJECT

Couleur du bouton "Rejeter" dans la fenêtre d'envoi de l'ordre

color

THEME_COLOR_NOTIFICATION

Couleur de la notification de changement depuis le serveur dans la fenêtre d'envoi de l'ordre

color

THEME_COLOR_RATING

Couleur de la barre de notations dans le système d'apprentissage

color

THEME_COLOR_BOOK_BUY

Couleur d'arrière plan des niveaux d'achat dans le Depth of Market

color

THEME_COLOR_BOOK_SELL

Couleur d'arrière plan des niveaux de vente dans le Depth of Market<segment 0194 ¶>

color

THEME_COLOR_BOOK_LAST

Couleur de la dernière transaction dans le Depth of Market

color

THEME_COLOR_BOOK_STOP

Couleur du niveau du StopLoss dans le Depth of Market

color

THEME_COLOR_BOOK_SPREAD

Couleur d'arrière plan des niveaux dans le spread dans le Depth of Market

color

THEME_COLOR_TICKS_BID

Couleur de la ligne de l'Offre du graphique des ticks dans la fenêtre d'envoi d'un ordre

color

THEME_COLOR_TICKS_ASK

Couleur de la ligne de la Demande du graphique des ticks dans la fenêtre d'envoi d'un ordre

color

THEME_COLOR_TICKS_LAST

Couleur de la ligne du prix Last du graphique des ticks dans la fenêtre d'envoi d'un ordreLast line color on the tick chart in the order submission window

color

THEME_COLOR_TICKS_CROSS

Couleur de la croix du curseur du graphique des ticks dans la fenêtre d'envoi d'un ordre

color

THEME_COLOR_TICKS_SL

Couleur de la ligne du StopLoss du graphique des ticks dans la fenêtre d'envoi d'un ordre

color

THEME_COLOR_TICKS_TP

Couleur de la ligne du TakeProfit du graphique des ticks dans la fenêtre d'envoi d'un ordre

color

THEME_COLOR_TESTER_START

Couleur du bouton "Démarrer" dans les tests/optimisations

color

THEME_COLOR_TESTER_STOP

Couleur du bouton "Stopper" dans les tests/optimisations

color

THEME_COLOR_TESTER_START_FRAME

Couleur de la bordure du bouton "Démarrer" dans les tests/optimisations

color

THEME_COLOR_TESTER_STOP_FRAME

Couleur de la bordure du bouton "Stopper" dans les tests/optimisations

color

THEME_COLOR_TESTER_PROGRESS

Couleur de la barre de progression dans les tests/optimisations

color

THEME_COLOR_TESTER_BALANCE

Couleur de la ligne du solde dans le Testeur de Stratégie

color

THEME_COLOR_TESTER_EQUITY

Couleur de la ligne des fonds dans le Testeur de Stratégie

color

THEME_COLOR_TESTER_MARGIN

Couleur du graphique de chargement du dépôt dans le Testeur de Stratégie

color

THEME_COLOR_PROFILER_CALL

Couleur de la ligne de code avec un appel pendant le Profilage

color

THEME_COLOR_PROFILER_CALLSEL

Couleur de ligne de code sélectionnée avec un appel pendant le Profilage

color

THEME_COLOR_PROFILER_LINE

Couleur de ligne dans le Journal du Profiler

color

THEME_COLOR_PROFILER_LINESEL

Couleur de la ligne sélectionnée dans le Journal du Profiler

color