Proprietà del Terminale Client

Le informazioni sul terminale client possono essere ottenute con due funzioni: TerminalInfoInteger() e TerminalInfoString(). Per i parametri, queste funzioni accettano valori ENUM_TERMINAL_INFO_INTEGER e ENUM_TERMINAL_INFO_STRING rispettivamente.

ENUM_TERMINAL_INFO_INTEGER

Identificatore

Descrizione

Tipo

TERMINAL_BUILD

Il numero di build del terminale client

int

TERMINAL_COMMUNITY_CONNECTION

Collegamento a MQL5.community

bool

TERMINAL_CONNECTED

La connessione ad un trade server

bool

TERMINAL_DLLS_ALLOWED

Il permesso di utilizzare DLL

bool

TERMINAL_TRADE_ALLOWED

Permesso per il trade

bool

TERMINAL_EMAIL_ENABLED

Il permesso di inviare e-mail utilizzando l' SMTP-server ed il login, specificato nelle impostazioni del terminale

bool

TERMINAL_FTP_ENABLED

Il permesso di inviare i reports con server FTP ed il login, specificato nelle impostazioni del terminale

bool

TERMINAL_NOTIFICATIONS_ENABLED

Permesso di inviare notifiche smartphone

bool

TERMINAL_MAXBARS

Il massimo conteggio di barre nel chart

int

TERMINAL_MQID

Il flag indica la presenza di dati ID MetaQuotes per le notifiche Push

bool

TERMINAL_CODEPAGE

Numero della pagina codice della lingua installata nel terminale client

int

TERMINAL_CPU_CORES

Il numero di CPU cores nel sistema

int

TERMINAL_DISK_SPACE

Spazio libero su disco per la cartella MQL5\Files del terminale(agente), MB

int

TERMINAL_MEMORY_PHYSICAL

Memoria fisica nel sistema, MB

int

TERMINAL_MEMORY_TOTAL

Memoria disponibile per il processo del terminale(agente), MB

int

TERMINAL_MEMORY_AVAILABLE

Memoria libera del processo del terminale(agente), MB

int

TERMINAL_MEMORY_USED

Memoria utilizzata dal terminale(agente), MB

int

TERMINAL_X64

Indicazione del "terminale 64-bit"

bool

TERMINAL_OPENCL_SUPPORT

La versione del OpenCL supportato nel formato di 0x00010002 = 1.2. "0" significa che OpenCL non è supportato

int

TERMINAL_SCREEN_DPI

La risoluzione del display informativo sullo schermo è misurata come ammontare di Punti in una linea per Inch (DPI).

Conoscendo il valore del parametro, puoi impostare la grandezza dell'oggetto grafico così che appaiono uguali su monitor con differenti caratteristiche di risoluzione.

int

TERMINAL_SCREEN_LEFT

La coordinata sinistra dello schermo virtuale. Uno schermo virtuale è un rettangolo che copre tutti i monitor. Se il sistema ha due monitor ordinati da destra a sinistra, la coordinata sinistra dello schermo virtuale può trovarsi sul bordo di due monitor.

int

TERMINAL_SCREEN_TOP

La coordinata superiore dello schermo virtuale

int

TERMINAL_SCREEN_WIDTH

Larghezza del terminale

int

TERMINAL_SCREEN_HEIGHT

Altezza del terminale

int

TERMINAL_LEFT

La coordinata sinistra del terminale relativa allo schermo virtuale

int

TERMINAL_TOP

La coordinata superiore del terminale relativa allo schermo virtuale

int

TERMINAL_RIGHT

La coordinata destra del terminale relativa allo schermo virtuale

int

TERMINAL_BOTTOM

La coordinata inferiore del terminale relativa allo schermo virtuale

int

TERMINAL_PING_LAST

L'ultimo valore ping conosciuto al trade server in millisecondi. Un secondo comprende un milione di microsecondi.

int

TERMINAL_VPS

Indicazione che il terminale è stato lanciato sul MetaTrader Virtual Hosting Server (MetaTrader VPS)

bool

L'identificatore Key

Descrizione

 

TERMINAL_KEYSTATE_LEFT

Stato del tasto "Freccia Sinistra"

int

TERMINAL_KEYSTATE_UP

Stato del tasto "Freccia Su"

int

TERMINAL_KEYSTATE_RIGHT

Stato del tasto "Freccia Destra"

int

TERMINAL_KEYSTATE_DOWN

Stato del tasto "Freccia Giu"

int

TERMINAL_KEYSTATE_SHIFT

Stato del tasto "Shift"

int

TERMINAL_KEYSTATE_CONTROL

Stato del tasto "Ctrl"

int

TERMINAL_KEYSTATE_MENU

Stato del tasto "Windows"

int

TERMINAL_KEYSTATE_CAPSLOCK

Stato del tasto "CapsLock"

int

TERMINAL_KEYSTATE_NUMLOCK

Stato del tasto "BlocNum"

int

TERMINAL_KEYSTATE_SCRLOCK

Stato del tasto "ScrollLock"

int

TERMINAL_KEYSTATE_ENTER

Stato del tasto "Invio"

int

TERMINAL_KEYSTATE_INSERT

Stato del tasto "Ins"

int

TERMINAL_KEYSTATE_DELETE

Stato del tasto "Canc"

int

TERMINAL_KEYSTATE_HOME

Stato del tasto "Home"

int

TERMINAL_KEYSTATE_END

Stato del tasto "Fine"

int

TERMINAL_KEYSTATE_TAB

Stato del tasto "Tab"

int

TERMINAL_KEYSTATE_PAGEUP

Stato del tasto "PagSu"

int

TERMINAL_KEYSTATE_PAGEDOWN

Stato del tasto "PagGiu"

int

TERMINAL_KEYSTATE_ESCAPE

Stato del tasto "Esc"

int

La chiamata a TerminalInfoInteger(TERMINAL_KEYSTATE_XXX) restituisce lo stesso stato codice della chiave come GetKeyState() nella funzione in MSDN.

 

Esempio di calcolo del fattore di scala:

//--- Creazione di un bottone di spessore 1.5 sullo schermo
int screen_dpi = TerminalInfoInteger(TERMINAL_SCREEN_DPI); // Trova il DPI del monitor dell'utente
int base_width = 144;                                      // Lo spessore di base in punti schermo per monitor standard con DPI=96
int width      = (button_width * screen_dpi) / 96;         // Calcola lo spessore del bottone per il monitor dell'utente (per specifico DPI)
...
 
//--- Calcolo del fattore di scala come percentuale
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI) * 100) / 96;
//--- Uso del fattore di scala
width=(base_width * scale_factor) / 100;
width=(base_width * scale_factor) / 100;

Nell'esempio qui sopra, la risorsa grafica appare la stessa su monitor con caratteristiche di risoluzione differenti. La grandezza degli elementi di controllo (bottoni, finestre di dialogo, ecc.) corrisponde all'impostazione della personlizzazione.

 

ENUM_TERMINAL_INFO_DOUBLE

Identificatore

Descrizione

Tipo

TERMINAL_COMMUNITY_BALANCE

Bilancio in MQL5.community

double

TERMINAL_RETRANSMISSION

Percentuale di rispedizione dei pacchetti di rete nel protocollo TCP/IP per tutte le applicazioni e servizi in esecuzione sul computer specificato. La perdita di pacchetti si verifica anche nelle reti più veloci e configurate correttamente. In questo caso, non viene confermata la consegna del pacchetto tra il destinatario ed il mittente, pertanto i pacchetti persi vengono nuovamente inviati.

 

Non è un'indicazione della qualità della connessione tra un particolare terminale ed un trade server, poiché la percentuale viene calcolata per l'intera attività di rete, inclusa l'attività di sistema e di backgroud.

 

Il valore TERMINAL_RETRANSMISSION viene richiesto dal sistema operativo una volta al minuto. Il terminale in sè non calcola questo valore.

double

 

Le operazioni sui file possono essere eseguite solo in due directory; i percorsi corrispondenti possono essere ottenuti utilizzando la richiesta per le proprietà TERMINAL_DATA_PATH e TERMINAL_COMMONDATA_PATH.

ENUM_TERMINAL_INFO_STRING

Identificatore

Descrizione

Tipo

TERMINAL_LANGUAGE

Lingua del terminale

string

TERMINAL_COMMUNITY_ACCOUNT

Account in MQL5.community

string

TERMINAL_COMPANY

Nome della società

string

TERMINAL_NAME

Nome del terminale

string

TERMINAL_PATH

Cartella da cui viene avviato il terminale

string

TERMINAL_DATA_PATH

Cartella in cui sono memorizzati i dati dei terminali

string

TERMINAL_COMMONDATA_PATH

Percorso comune per tutti i terminali installati in un computer

string

TERMINAL_CPU_NAME

Nome CPU

string

TERMINAL_CPU_ARCHITECTURE

Architettura CPU

string

TERMINAL_OS_VERSION

Nome del Sistema Operativo dell'utente

string

TERMINAL_COLORTHEME_NAME

Schema dei colori del terminale; valori possibili: Chiaro e Scuro.

string

Per una migliore comprensione dei percorsi memorizzati nelle proprietà di TERMINAL_PATH, TERMINAL_DATA_PATH e parametri TERMINAL_COMMONDATA_PATH, si consiglia di eseguire lo script, che restituirà questi valori per la copia corrente del terminale client, installato sul computer

Esempio: Lo script restituisce le informazioni riguardo i percorsi del terminale 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"
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script                                         |
//+--------------------------------------------------------------------------------+
voidOnStart()
  {
//---
   Print("TERMINAL_PATH = ",TerminalInfoString(TERMINAL_PATH));
   Print("TERMINAL_DATA_PATH = ",TerminalInfoString(TERMINAL_DATA_PATH));
   Print("TERMINAL_COMMONDATA_PATH = ",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
  }

Come risultato dell'esecuzione dello script nel Journal degli Experts si vedrà un messaggio, come il seguente:

TERMINAL_SCREEN_HEIGHTOttenere dati su una cartella di lavoro del terminale

 

Ottenere Informazioni sullo Schema dei Colori del Terminale #

Il terminale supporta due schemi di colore: Chiaro (predefinito) e Scuro. Quando si sviluppano applicazioni personalizzate con interfacce utente grafiche, i programmatori dovrebbero prendere in considerazione lo schema di colori corrente dei terminali. I componenti visivi utilizzati nell'applicazione dovrebbero essere dinamicamente adattabili per migliorare l'esperienza dell'utente e mantenere la coerenza visiva.

Per supportare questo, il linguaggio fornisce funzioni per la rilevazione dello schema dei colori del terminale:

 

Identificatore

Descrizione

Tipo di proprietà

THEME_COLOR_WINDOW

Sfondo della finestra

color

THEME_COLOR_WINDOWTEXT

Testo nella finestra

color

THEME_COLOR_BTNTEXT

Testo del pulsante

color

THEME_COLOR_GRAYTEXT

Testo inattivo (disabilitato)

color

THEME_COLOR_INFOTEXT

Descrizione testo

color

THEME_COLOR_INFOBK

Descrizione sfondo

color

THEME_COLOR_3DFACE

Faccia frontale degli elementi 3D

color

THEME_COLOR_3DLIGHT

Lato illuminato degli elementi 3D

color

THEME_COLOR_3DSHADOW

Lato all'ombra degli elementi 3D

color

THEME_COLOR_3DDKSHADOW

Ombra scura degli elementi 3D

color

THEME_COLOR_3DHILIGHT

Evidenziazione di elementi 3D

color

THEME_COLOR_HIGHLIGHT

Sfondo degli elementi selezionati

color

THEME_COLOR_HIGHLIGHTTEXT

Testo degli elementi selezionati

color

THEME_COLOR_BTNFACE

Lato anteriore del pulsante

color

THEME_COLOR_BTNHILIGHT

Evidenziazione pulsante

color

THEME_COLOR_BTNSHADOW

Ombra pulsante

color

THEME_COLOR_MENU

Sfondo del menu

color

THEME_COLOR_MENUBAR

Sfondo della barra dei menu

color

THEME_COLOR_MENUTEXT

Testo del menu

color

THEME_COLOR_MENUHILIGHT

Evidenziazione della voce di menu selezionata

color

THEME_COLOR_ACTIVECAPTION

Titolo della finestra attiva

color

THEME_COLOR_INACTIVECAPTION

Titolo della finestra inattiva

color

THEME_COLOR_GRADIENTINACTIVECAPTION

Gradiente del titolo della finestra inattiva

color

THEME_COLOR_CAPTIONTEXT

Testo del titolo della finestra

color

THEME_COLOR_INACTIVECAPTIONTEXT

Testo del titolo della finestra inattiva

color

THEME_COLOR_HOTTEXT

Collegamenti ipertestuali o elementi attivi

color

THEME_COLOR_NONE

Colore non selezionato

color

THEME_COLOR_SEPARATOR

Separatore

color

THEME_COLOR_SCROLLBACK

Barra di scorrimento

color

THEME_COLOR_LINE1

Colore di sfondo delle righe dispari nel Journal

color

THEME_COLOR_LINE2

Colore di sfondo delle righe pari nel Journal

color

THEME_COLOR_GRID

Colore della griglia nel Journal

color

THEME_COLOR_SUMMARY

Colore di sfondo della riga del riepilogo nel Journal

color

THEME_COLOR_ERROR

Colore del testo del messaggio di errore

color

THEME_COLOR_INVALID

Valore colore testo non valido

color

THEME_COLOR_NEGATIVE

Valore colore negativo

color

THEME_COLOR_POSITIVE

Valore colore positivo

color

THEME_COLOR_LINK

Colore del link

color

THEME_COLOR_LINKHOVER

Colore del link hover

color

THEME_COLOR_LINKTESTER

Colore del link dai risultati memorizzati nella cache dei precedenti test/ottimizzazioni

color

THEME_COLOR_TEXTUP

Stato "Pulsante rilasciato"

color

THEME_COLOR_TEXTDOWN

Stato "Pulsante premuto"

color

THEME_COLOR_BACKUP

Colore dei pulsanti "BUY" e "SELL" in "One Click Trading" quando la quotazione aumenta

color

THEME_COLOR_BACKDOWN

Colore dei pulsanti "BUY" e "SELL" in "One Click Trading" quando la quotazione scende

color

THEME_COLOR_CLOSE

Colore del pulsante operazione "Chiudi"

color

THEME_COLOR_BUY

Colore pulsante operazione "BUY"

color

THEME_COLOR_SELL

Colore del pulsante operazione "SELL"

color

THEME_COLOR_DEPOSIT

Colore del pulsante "Deposita"

color

THEME_COLOR_WITHDRAWAL

Colore del pulsante "Prelievo"

color

THEME_COLOR_BID

Colore della linea del bid

color

THEME_COLOR_ASK

Colore della linea dell'ask

color

THEME_COLOR_STOPS

Colore della linea di stop

color

THEME_COLOR_STOPS_RED

Valore StopLoss evidenziato quando il profitto è negativo (scheda Trade)

color

THEME_COLOR_STOPS_GREEN

Valore StopLoss evidenziato quando il profitto è positivo (scheda Trade)

color

THEME_COLOR_CONFIRM

Colore del pulsante "Accetta" nella finestra di invio dell'ordine

color

THEME_COLOR_REQUOTE

Colore del pulsante "Requote" nella finestra di invio dell'ordine

color

THEME_COLOR_REJECT

Colore del pulsante "Reject" nella finestra di invio dell'ordine

color

THEME_COLOR_NOTIFICATION

Colore di una notifica di modifica dal server nella finestra di invio dell'ordine

color

THEME_COLOR_RATING

Colore della barra di valutazione nel sistema di apprendimento

color

THEME_COLOR_BOOK_BUY

Colore di sfondo dei livelli di acquisto nel Depth of Market

color

THEME_COLOR_BOOK_SELL

Colore di sfondo dei livelli di vendita nel Depth of Market

color

THEME_COLOR_BOOK_LAST

Colore dell'ultimo trade nel Depth of Market

color

THEME_COLOR_BOOK_STOP

Colore del livello di StopLoss nel Depth of Market

color

THEME_COLOR_BOOK_SPREAD

Colore di sfondo dei livelli all'interno dello spread nel Depth of Market

color

THEME_COLOR_TICKS_BID

Colore della linea del bid sul grafico tick nella finestra di invio ordine

color

THEME_COLOR_TICKS_ASK

Colore della linea dell'ask sul grafico tick nella finestra di invio ordine

color

THEME_COLOR_TICKS_LAST

Colore della linea del Last sul grafico tick nella finestra di invio ordine

color

THEME_COLOR_TICKS_CROSS

Il colore del mirino sul grafico tick nella finestra di invio dell'ordine

color

THEME_COLOR_TICKS_SL

Colore della linea di StopLoss sul grafico tick nella finestra di invio ordine

color

THEME_COLOR_TICKS_TP

Colore della linea di TakeProfit sul grafico tick nella finestra di invio ordine

color

THEME_COLOR_TESTER_START

Colore del pulsante "Inizio" nei test/ottimizzazione

color

THEME_COLOR_TESTER_STOP

Colore del pulsante "Fine" nei test/ottimizzazione

color

THEME_COLOR_TESTER_START_FRAME

Colore del bordo del pulsante "Inizio" nei test/ottimizzazione

color

THEME_COLOR_TESTER_STOP_FRAME

Colore del bordo del pulsante "Fine" nei test/ottimizzazione

color

THEME_COLOR_TESTER_PROGRESS

Colore della barra di avanzamento nei test/ottimizzazione

color

THEME_COLOR_TESTER_BALANCE

Colore della linea del Saldo nel Tester di Strategia

color

THEME_COLOR_TESTER_EQUITY

Colore della linea dell'Equity nel Tester di Strategia

color

THEME_COLOR_TESTER_MARGIN

Colore del grafico del carico di deposito nel tester di strategia

color

THEME_COLOR_PROFILER_CALL

Colore della linea di codice con una chiamata durante la Profilazione

color

THEME_COLOR_PROFILER_CALLSEL

Colore della linea di codice selezionata con una chiamata durante la Profilazione

color

THEME_COLOR_PROFILER_LINE

Colore della linea nel Profiler Journal

color

THEME_COLOR_PROFILER_LINESEL

Colore della linea selezionato nel Profiler Journal

color