클라이언트 터미널 속성

클라이언트 터미널에 대한 정보는 두 가지 기능으로 얻을 수 있습니다: 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-서버 및 사용자명을 사용하여 이메일을 보낼 수 있는 권한

bool

TERMINAL_FTP_ENABLED

터미널 설정에 지정된 FTP-서버 및 사용자명을 사용하여 보고서를 보낼 수 있는 권한

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

0x00010002 = 1.2 형식의 지원되는 OpenCL 버전.  "0"은 OpenCL이 지원되지 않음을 의미합니다

int

TERMINAL_SCREEN_DPI

화면의 정보 디스플레이 해상도는 인치당 한 줄에 있는 도트 수(DPI)로 측정됩니다.

매개변수 값을 알고 있으면 해상도 특성이 다른 모니터에서 동일하게 보이도록 그래픽 개체의 크기를 설정할 수 있습니다.

int

TERMINAL_SCREEN_LEFT

가상 화면의 왼쪽 좌표. 가상 화면은 모든 모니터를 대신하는 사각형입니다. 시스템에 두 대의 모니터가 우측에서 좌측으로 정렬되어 있으면 가상 화면의 좌측 좌표가 두 대의 모니터 경계이 있을 수 있습니다.

int

TERMINAL_SCREEN_TOP

가상 화면의 상단 좌표

int

TERMINAL_SCREEN_WIDTH

터미널 너비

int

TERMINAL_SCREEN_HEIGHT

터미널 높이

int

TERMINAL_LEFT

가상 화면에 상대적인 터미널의 좌측 좌표

int

TERMINAL_TOP

가상 화면에 상대적인 터미널의 상단 좌표

int

TERMINAL_RIGHT

가상 화면에 상대적인 터미널의 우측 좌표

int

TERMINAL_BOTTOM

가상 화면에 상대적인 터미널의 하단 좌표

int

TERMINAL_PING_LAST

거래 서버에 대한 ping의 알려진 마지막 값(마이크로초). 1초는 100만 마이크로초 입니다.

int

TERMINAL_VPS

터미널이 MetaTrader 가상 호스팅 서버 (MetaTrader VPS)에서 시작되었음을 나타냅니다

bool

키 식별자

설명

 

TERMINAL_KEYSTATE_LEFT

"왼쪽 화살표" 키의 상태

int

TERMINAL_KEYSTATE_UP

"위쪽 화살표" 키의 상태

int

TERMINAL_KEYSTATE_RIGHT

"오른쪽 화살표" 키의 상태

int

TERMINAL_KEYSTATE_DOWN

"아래쪽 화살표" 키의 상태

int

TERMINAL_KEYSTATE_SHIFT

"시프트" 키의 상태

int

TERMINAL_KEYSTATE_CONTROL

"컨트롤" 키의 상태

int

TERMINAL_KEYSTATE_MENU

"윈도우" 키의 상태

int

TERMINAL_KEYSTATE_CAPSLOCK

"캡스락" 키의 상태

int

TERMINAL_KEYSTATE_NUMLOCK

"넘버락" 키의 상태

int

TERMINAL_KEYSTATE_SCRLOCK

"스크롤락" 키의 상태

int

TERMINAL_KEYSTATE_ENTER

"엔터" 키의 상태

int

TERMINAL_KEYSTATE_INSERT

"인서트" 키의 상태

int

TERMINAL_KEYSTATE_DELETE

"딜리트" 키의 상태

int

TERMINAL_KEYSTATE_HOME

"홈" 키의 상태

int

TERMINAL_KEYSTATE_END

"엔드" 키의 상태

int

TERMINAL_KEYSTATE_TAB

"탭" 키의 상태

int

TERMINAL_KEYSTATE_PAGEUP

"페이지업" 키의 상태

int

TERMINAL_KEYSTATE_PAGEDOWN

"페이지다운" 키의 상태

int

TERMINAL_KEYSTATE_ESCAPE

"esc" 키의 상태

int

TerminalInfoInteger(TERMINAL_KEYSTATE_XXX) 호출 시 MSDN의 GetKeyState()함수와 동일한 키 상태 코드가 반환됩니다.

 

예제 - 스케일 팩터 계산:

//--- 화면에 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_RETRANSMISSION

지정된 컴퓨터에서 실행 중인 모든 애플리케이션 및 서비스에 대한 TCP/IP 프로토콜 재연결 네트워크 패킷 백분율입니다. 패킷 손실은 가장 빠르고 올바르게 구성된 네트워크에서도 발생합니다. 이 경우 수신자와 보낸 사람 사이에 패킷 전달이 확인되지 않으므로 손실된 패킷이 재전송됩니다.

 

시스템 및 백그라운드 작업을 포함한 전체 네트워크 작업에 대해 백분율이 계산되므로 특정 터미널과 거래 서버간의 연결 품질을 나타내는 것은 아닙니다.

 

TERMINAL_RETRANSMISSION 값은 분당 한 번씩 운영 시스템에 요청됩니다. 터미널 자체는 이 값을 계산하지 않습니다.

double

 

파일 작업은 두개의 디렉토리에서만 수행할 수 있으며 TERMINAL_DATA_PATH 및 TERMINAL_COMMONDATA_PATH 속성 요청을 사용하여 해당 경로를 가져올 수 있습니다.

ENUM_TERMINAL_INFO_STRING

식별자

설명

유형

TERMINAL_LANGUAGE

터미너�l 언어

string

TERMINAL_COMPANY

회사 이름

string

TERMINAL_NAME

터미널 이름

string

TERMINAL_PATH

터미널이 시작되는 폴더

string

TERMINAL_DATA_PATH

터미널 테이터가 저장되는 폴더

string

TERMINAL_COMMONDATA_PATH

컴퓨터에 설치된 모든 터미널의 공통 경로

string

TERMINAL_CPU_NAME

CPU 명

string

TERMINAL_CPU_ARCHITECTURE

CPU 아키텍쳐

string

TERMINAL_OS_VERSION

사용자 운영체제 명

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));
  }

엑스퍼트 저널에서 스크립트를 실행하면 다음과 같은 메시지가 표시됩니다:

터미널의 작업 폴더에 대한 데이터를 가져오기