下载MetaTrader 5

客户端属性

有关客户端信息包含在两种函数中,TerminalInfoInteger()TerminalInfoString()。对于参量来说,这些函数分别从ENUM_TERMINAL_INFO_INTEGER 和 ENUM_TERMINAL_INFO_STRING中接收值。

ENUM_TERMINAL_INFO_INTEGER

标识符

描述

类型

TERMINAL_BUILD

客户端构造编号

int

TERMINAL_COMMUNITY_ACCOUNT

标识表示程序端中存在MQL5.community 授权数据

bool

TERMINAL_COMMUNITY_CONNECTION

连接 MQL5.community

bool

TERMINAL_CONNECTED

连接的交易服务器

bool

TERMINAL_DLLS_ALLOWED

使用DLL许可

bool

TERMINAL_TRADE_ALLOWED

允许交易

bool

TERMINAL_EMAIL_ENABLED

在制定终端允许使用SMTP-server 和 login发送邮件

bool

TERMINAL_FTP_ENABLED

在制定终端允许使用FTP-server 和 login发送报告

bool

TERMINAL_NOTIFICATIONS_ENABLED

允许向智能手机发送通知

bool

TERMINAL_MAXBARS

图表中的最大字节

int

TERMINAL_MQID

标识表示存在MetaQuotes ID 数据 推送通知

bool

TERMINAL_CODEPAGE

在客户端建立的 语言代码页 数字

int

TERMINAL_CPU_CORES

系统的CPU 内核数量

int

TERMINAL_DISK_SPACE

程序端(代理)MQL5\Files 文件夹的空闲磁盘空间,MB

int

TERMINAL_MEMORY_PHYSICAL

系统的物理内存,MB

int

TERMINAL_MEMORY_TOTAL

程序端(代理)进程的可用内存,MB

int

TERMINAL_MEMORY_AVAILABLE

程序端(代理)进程的空闲内存,MB

int

TERMINAL_MEMORY_USED

程序端(代理)使用的内存,MB

int

TERMINAL_X64

"64-位程序端"

bool

TERMINAL_OPENCL_SUPPORT

OpenCL 支持的版本格式 0x00010002 = 1.2。 "0" 表示OpenCL 不被支持

int

TERMINAL_SCREEN_DPI

屏幕上显示信息的分辨率是以每英寸一行的点数计算的(DPI)。

知道该参数值,您可以设置图形对象的大小,以便在不同分辨率的显示器上看起来一样。

int

TERMINAL_PING_LAST

最后知道的交易服务器的微秒ping值。一秒包含一百万微秒

int

Key identifier

描述

 

TERMINAL_KEYSTATE_LEFT

State of the "Left arrow" key

int

TERMINAL_KEYSTATE_UP

State of the "Up arrow" key

int

TERMINAL_KEYSTATE_RIGHT

State of the "Right arrow" key

int

TERMINAL_KEYSTATE_DOWN

State of the "Down arrow" key

int

TERMINAL_KEYSTATE_SHIFT

State of the "Shift" key

int

TERMINAL_KEYSTATE_CONTROL

State of the "Ctrl" key

int

TERMINAL_KEYSTATE_MENU

State of the "Windows" key

int

TERMINAL_KEYSTATE_CAPSLOCK

State of the "CapsLock" key

int

TERMINAL_KEYSTATE_NUMLOCK

State of the "NumLock" key

int

TERMINAL_KEYSTATE_SCRLOCK

State of the "ScrollLock" key

int

TERMINAL_KEYSTATE_ENTER

State of the "Enter" key

int

TERMINAL_KEYSTATE_INSERT

State of the "Insert" key

int

TERMINAL_KEYSTATE_DELETE

State of the "Delete" key

int

TERMINAL_KEYSTATE_HOME

State of the "Home" key

int

TERMINAL_KEYSTATE_END

State of the "End" key

int

TERMINAL_KEYSTATE_TAB

State of the "Tab" key

int

TERMINAL_KEYSTATE_PAGEUP

State of the "PageUp" key

int

TERMINAL_KEYSTATE_PAGEDOWN

State of the "PageDown" key

int

TERMINAL_KEYSTATE_ESCAPE

State of the "Escape" key

int

Call to TerminalInfoInteger(TERMINAL_KEYSTATE_XXX) returns the same state code of a key as the GetKeyState() function in MSDN.

 

比例系数计算示例

//--- 在屏幕上创建 1.5 英寸宽的按键
int screen_dpi = TerminalInfoInteger(TERMINAL_SCREEN_DPI); // 找到用户显示器的DPI
int base_width = 144;                                      // DPI=96标准显示器的屏幕点的基本宽度
int width      = (button_width * screen_dpi) / 96;         // 为用户显示器(特别DPI)计算按键宽度
... 
 
//--- 按百分比计算比例系数
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI) * 100) / 96;
//--- 使用比例系数
width=(base_width * scale_factor) / 100;

在以上示例中,图形 资源 在不同分辨率特征的显示器上看起来一样。控制元素的大小(按键,对话框等等)对应个性化设置。

 

ENUM_TERMINAL_INFO_DOUBLE

标识符

描述

类型

TERMINAL_COMMUNITY_BALANCE

MQL5.community的结余

double

 

只能在两种目录下执行文件操作 ;使用TERMINAL_DATA_PATH 和 TERMINAL_COMMONDATA_PATH 要求特征包括相似路径。

ENUM_TERMINAL_INFO_STRING

标识符

描述

类型

TERMINAL_LANGUAGE

程序端语言

string

TERMINAL_COMPANY

公司名称

string

TERMINAL_NAME

程序端名称

string

TERMINAL_PATH

程序端文件夹启动

string

TERMINAL_DATA_PATH

程序端数据文件夹存储

string

TERMINAL_COMMONDATA_PATH

电脑中所有程序端的普通路径

string

为更好的了解路径,存储在TERMINAL_PATH, TERMINAL_DATA_PATH 和 TERMINAL_COMMONDATA_PATH参量中的属性,推荐使用脚本,它可以通过当前复制的客户端的来返回这些值。

示例:脚本返回的有关客户端路径的信息

//+------------------------------------------------------------------+
//|                                          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"
//+------------------------------------------------------------------+
//| 脚本程序启动函数                                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print("TERMINAL_PATH = ",TerminalInfoString(TERMINAL_PATH));
   Print("TERMINAL_DATA_PATH = ",TerminalInfoString(TERMINAL_DATA_PATH));
   Print("TERMINAL_COMMONDATA_PATH = ",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
  }

脚本执行的结果在Experts Journal中可以看到相关信息,如下表示:

Getting data on a working folder of the terminal


更新: 2016.02.29