クライアント端末プロパティ

クライアント端末の情報は TerminalInfoInteger() 及び TerminalInfoString() の 2 つの関数で取得出来ます。パラメータにはそれぞれ 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

仮想画面の左座標です。仮想画面はすべてのモニターをカバーする四角形です。システムに右から左に並べた2つのモニターがある場合、仮想スクリーンの左の座標は2つのモニターの境界になります。

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

Indication that the terminal is launched on the MetaTrader Virtual Hosting server (MetaTrader VPS)

bool

キー識別子

説明

 

TERMINAL_KEYSTATE_LEFT

「左矢印」キーの状態

int

TERMINAL_KEYSTATE_UP

「上矢印」キーの状態

int

TERMINAL_KEYSTATE_RIGHT

「右矢印」キーの状態

int

TERMINAL_KEYSTATE_DOWN

「下矢印」キーの状態

int

TERMINAL_KEYSTATE_SHIFT

「Shift」キーの状態

int

TERMINAL_KEYSTATE_CONTROL

「Ctrl」キーの状態

int

TERMINAL_KEYSTATE_MENU

「Windows」キーの状態

int

TERMINAL_KEYSTATE_CAPSLOCK

「CapsLock」キーの状態

int

TERMINAL_KEYSTATE_NUMLOCK

「NumLock」キーの状態

int

TERMINAL_KEYSTATE_SCRLOCK

「ScrollLock」キーの状態

int

TERMINAL_KEYSTATE_ENTER

「Enter」キーの状態

int

TERMINAL_KEYSTATE_INSERT

「Insert」キーの状態

int

TERMINAL_KEYSTATE_DELETE

「Delete」キーの状態

int

TERMINAL_KEYSTATE_HOME

「Home」キーの状態

int

TERMINAL_KEYSTATE_END

「End」キーの状態

int

TERMINAL_KEYSTATE_TAB

「Tab」キーの状態

int

TERMINAL_KEYSTATE_PAGEUP

「PageUp」キーの状態

int

TERMINAL_KEYSTATE_PAGEDOWN

「PageDown」キーの状態

int

TERMINAL_KEYSTATE_ESCAPE

「Escape」キーの状態

int

TerminalInfoInteger(TERMINAL_KEYSTATE_XXX)の呼び出しは、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値は、オペレーティングシステムから1分に1回要求されます。ターミナル自体はこの値を計算しません。

double

 

ファイル操作は 2 つのディレクトリでのみ実行でき、パスは 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_CPU_NAME

CPU名

string

TERMINAL_CPU_ARCHITECTURE

CPUアーキテクチャ

string

TERMINAL_OS_VERSION

ユーザーのOS名

string

TERMINAL_COLORTHEME_NAME

ターミナルのカラースキームの選択:ライトとダーク

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

スクリプトの実行の結果、エキスパート操作ログに次のようなメッセージが表示されます。

端末の作業フォルダのデータの取得

 

ターミナルのカラースキーム情報の取得 #

ターミナルでは、ライト(デフォルト)とダークの2種類のカラースキームがサポートされています。グラフィカルユーザーインターフェース(GUI)を持つカスタムアプリケーションを開発する際、プログラマーは現在のターミナルのカラースキームを考慮する必要があります。アプリケーションで使用されるビジュアルコンポーネントは、ユーザー体験を向上させ、視覚的一貫性を保つために、動的に適応可能であるべきです。

これをサポートするために、この言語ではターミナルのカラースキームを検出するための関数が提供されています。

  • ENUM_TERMINAL_INFO_STRING列挙体のTERMINAL_COLORTHEME_NAME値を使用すると、TerminalInfoString関数を使って現在のカラースキームの名前を取得できます。可能な値:LightおよびDark
  • ENUM_TERMINAL_INFO_INTEGER列挙体のTHEME_COLOR_*値を使用すると、TerminalInfoInteger関数を通じて特定のUI要素の色を取得できます。

 

識別子

説明

プロパティ型

THEME_COLOR_WINDOW

ウィンドウの背景

color

THEME_COLOR_WINDOWTEXT

ウィンドウのテキスト

color

THEME_COLOR_BTNTEXT

ボタンのテキスト

color

THEME_COLOR_GRAYTEXT

無効(非アクティブ)なテキスト

color

THEME_COLOR_INFOTEXT

ツールチップのテキスト

color

THEME_COLOR_INFOBK

ツールチップの背景

color

THEME_COLOR_3DFACE

3D要素の前面

color

THEME_COLOR_3DLIGHT

3D要素の明るい側

color

THEME_COLOR_3DSHADOW

3D要素の暗い側

color

THEME_COLOR_3DDKSHADOW

3D要素の暗い影

color

THEME_COLOR_3DHILIGHT

3D要素のハイライト

color

THEME_COLOR_HIGHLIGHT

選択された要素の背景

color

THEME_COLOR_HIGHLIGHTTEXT

選択された要素のテキスト

color

THEME_COLOR_BTNFACE

ボタンの前面

color

THEME_COLOR_BTNHILIGHT

ボタンのハイライト

color

THEME_COLOR_BTNSHADOW

ボタンの影

color

THEME_COLOR_MENU

メニューの背景

color

THEME_COLOR_MENUBAR

メニューバーの背景

color

THEME_COLOR_MENUTEXT

メニューのテキスト

color

THEME_COLOR_MENUHILIGHT

選択された項目のハイライト

color

THEME_COLOR_ACTIVECAPTION

アクティブウィンドウのタイトル

color

THEME_COLOR_INACTIVECAPTION

非アクティブウィンドウのタイトル

color

THEME_COLOR_GRADIENTINACTIVECAPTION

非アクティブウィンドウのタイトルのグラデーション

color

THEME_COLOR_CAPTIONTEXT

ウィンドウタイトルのテキスト

color

THEME_COLOR_INACTIVECAPTIONTEXT

非アクティブウィンドウタイトルのテキスト

color

THEME_COLOR_HOTTEXT

ハイパーリンクまたはアクティブな要素

color

THEME_COLOR_NONE

色が未選択

color

THEME_COLOR_SEPARATOR

区切り文字

color

THEME_COLOR_SCROLLBACK

スクロールバー

color

THEME_COLOR_LINE1

操作ログの奇数行の背景色

color

THEME_COLOR_LINE2

操作ログの偶数行の背景色

color

THEME_COLOR_GRID

操作ログのグリッドの色

color

THEME_COLOR_SUMMARY

操作ログのサマリー行の背景色

color

THEME_COLOR_ERROR

エラーメッセージテキストの色

color

THEME_COLOR_INVALID

無効な値のテキストの色

color

THEME_COLOR_NEGATIVE

負の値の色

color

THEME_COLOR_POSITIVE

正の値の色

color

THEME_COLOR_LINK

リンクの色

color

THEME_COLOR_LINKHOVER

リンクのホバー色

color

THEME_COLOR_LINKTESTER

以前のテスト/最適化実行のキャッシュ結果からのリンク色

color

THEME_COLOR_TEXTUP

「ボタンが離された」状態

color

THEME_COLOR_TEXTDOWN

「ボタンが押された」状態

color

THEME_COLOR_BACKUP

「ワンクリック取引」の価格が上昇したときの[BUY]ボタンと[SELL]ボタンの色

color

THEME_COLOR_BACKDOWN

「ワンクリック取引」の価格が下降したときの[BUY]ボタンと[SELL]ボタンの色

color

THEME_COLOR_CLOSE

[決済]操作のボタンの色

color

THEME_COLOR_BUY

[買い]操作のボタンの色

color

THEME_COLOR_SELL

[売り]操作のボタンの色

color

THEME_COLOR_DEPOSIT

[入金]ボタンの色

color

THEME_COLOR_WITHDRAWAL

[出金]ボタンの色

color

THEME_COLOR_BID

ビッドラインの色

color

THEME_COLOR_ASK

アスクラインの色

color

THEME_COLOR_STOPS

ストップラインの色

color

THEME_COLOR_STOPS_RED

利益がマイナスのときのストップロス値のハイライト([取引]タブ)

color

THEME_COLOR_STOPS_GREEN

利益がプラスのときのストップロス値のハイライト([取引]タブ)

color

THEME_COLOR_CONFIRM

注文送信ウィンドウにおける[承諾]ボタンの色

color

THEME_COLOR_REQUOTE

注文送信ウィンドウにおける[リクオーツ]ボタンの色

color

THEME_COLOR_REJECT

注文送信ウィンドウにおける[却下]ボタンの色

color

THEME_COLOR_NOTIFICATION

注文送信ウィンドウにおける、サーバーからの変更通知の色

color

THEME_COLOR_RATING

学習システムにおける評価バーの色

color

THEME_COLOR_BOOK_BUY

気配値表示における買いレベルの背景色

color

THEME_COLOR_BOOK_SELL

気配値表示における売りレベルの背景色

color

THEME_COLOR_BOOK_LAST

気配値表示における直近取引の色

color

THEME_COLOR_BOOK_STOP

気配値表示におけるストップロスレベルの色

color

THEME_COLOR_BOOK_SPREAD

気配値表示におけるスプレッド内のレベルの背景色

color

THEME_COLOR_TICKS_BID

注文送信ウィンドウ内のティックチャートにおけるビッドラインの色

color

THEME_COLOR_TICKS_ASK

注文送信ウィンドウ内のティックチャートにおけるアスクラインの色

color

THEME_COLOR_TICKS_LAST

注文送信ウィンドウ内のティックチャートにおけるラストラインの色

color

THEME_COLOR_TICKS_CROSS

注文送信ウィンドウ内のティックチャートにおけるクロスヘアの色

color

THEME_COLOR_TICKS_SL

注文送信ウィンドウ内のティックチャートにおけるストップロスラインの色

color

THEME_COLOR_TICKS_TP

注文送信ウィンドウ内のティックチャートにおけるテイクプロフィットラインの色

color

THEME_COLOR_TESTER_START

テスト/最適化における[開始]ボタンの色

color

THEME_COLOR_TESTER_STOP

テスト/最適化における[終了]ボタンの色

color

THEME_COLOR_TESTER_START_FRAME

テスト/最適化における[開始]ボタンの枠線の色

color

THEME_COLOR_TESTER_STOP_FRAME

テスト/最適化における[終了]ボタンの枠線の色

color

THEME_COLOR_TESTER_PROGRESS

テスト/最適化におけるプログレスバーの色

color

THEME_COLOR_TESTER_BALANCE

ストラテジーテスターにおけるバランスラインの色

color

THEME_COLOR_TESTER_EQUITY

ストラテジーテスターにおけるエクイティラインの色

color

THEME_COLOR_TESTER_MARGIN

ストラテジーテスターにおけるデポジットロードグラフの色

color

THEME_COLOR_PROFILER_CALL

プロファイリング中の呼び出しがあるコード行の色

color

THEME_COLOR_PROFILER_CALLSEL

プロファイリング中に呼び出しがある選択されたコード行の色

color

THEME_COLOR_PROFILER_LINE

プロファイラー操作ログでの行の色

color

THEME_COLOR_PROFILER_LINESEL

プロファイラー操作ログで選択された行の色

color