ターミナル情報の定数:Integer型
ターミナル情報の定数は、ターミナルの情報を取得したいときに使用します。
主に、TerminalInfoInteger関数で使用されます。
それぞれ、TerminalInfoInteger関数の property_id引数の入力値として使用されます。
またTerminalInfoInteger関数は、入力する値によって、返り値の型が異なります。
ターミナル情報の定数:Integer型(ENUM_TERMINAL_INFO_INTEGER)
| 定数 | 返り値の型 | 説明 |
| TERMINAL_BUILD | int | ターミナルのビルドバージョン |
| TERMINAL_COMMUNITY_ACCOUNT | bool | MQL5コミュニティアカウント |
| TERMINAL_COMMUNITY_CONNECTION | bool | MQL5コミュニティ接続 |
| TERMINAL_CONNECTED | bool | トレードサーバーへの接続 |
| TERMINAL_DLLS_ALLOWED | bool | DLL使用許可 |
| TERMINAL_TRADE_ALLOWED | bool | トレード許可 |
| TERMINAL_EMAIL_ENABLED | bool | E-mailの送信許可 |
| TERMINAL_FTP_ENABLED | bool | FTPの許可 |
| TERMINAL_NOTIFICATIONS_ENABLED | bool | 通知許可 |
| TERMINAL_MAXBARS | int | 表示するバーの上限数 |
| TERMINAL_MQID | bool | MetaQuotesからの通知許可 |
| TERMINAL_CODEPAGE | int | ターミナルの言語コードページ数 |
| TERMINAL_CPU_CORES | int | CPUコア数 |
| TERMINAL_DISK_SPACE | int | ドライブの空き容量(MB単位) |
| TERMINAL_MEMORY_PHYSICAL | int | 物理メモリの容量(MB単位) |
| TERMINAL_MEMORY_TOTAL | int | ターミナルで使用可能なメモリ(MB単位) |
| TERMINAL_MEMORY_AVAILABLE | int | ターミナルの空きメモリ(MB単位) |
| TERMINAL_MEMORY_USED | int | ターミナルの使用メモリ(MB単位) |
| TERMINAL_SCREEN_DPI | int | ディスプレイ解像度(DPI単位) |
| TERMINAL_PING_LAST | int | トレードサーバーへの最新のping値 |
| TERMINAL_KEYSTATE_LEFT | int | 左矢印キーの状態 |
| TERMINAL_KEYSTATE_UP | int | 上矢印キーの状態 |
| TERMINAL_KEYSTATE_RIGHT | int | 右矢印キーの状態 |
| TERMINAL_KEYSTATE_DOWN | int | 下矢印キーの状態 |
| TERMINAL_KEYSTATE_SHIFT | int | shiftキーの状態 |
| TERMINAL_KEYSTATE_CONTROL | int | controlキーの状態 |
| TERMINAL_KEYSTATE_MENU | int | menuキーの状態 |
| TERMINAL_KEYSTATE_CAPSLOCK | int | capslockキーの状態 |
| TERMINAL_KEYSTATE_NUMLOCK | int | numlockキーの状態 |
| TERMINAL_KEYSTATE_SCRLOCK | int | scroll lockキーの状態 |
| TERMINAL_KEYSTATE_ENTER | int | enterキーの状態 |
| TERMINAL_KEYSTATE_INSERT | int | insertキーの状態 |
| TERMINAL_KEYSTATE_DELETE | int | deleteキーの状態 |
| TERMINAL_KEYSTATE_HOME | int | homeキーの状態 |
| TERMINAL_KEYSTATE_END | int | endキーの状態 |
| TERMINAL_KEYSTATE_TAB | int | tabキーの状態 |
| TERMINAL_KEYSTATE_PAGEUP | int | pageupキーの状態 |
| TERMINAL_KEYSTATE_PAGEDOWN | int | pagedownキーの状態 |
| TERMINAL_KEYSTATE_ESCAPE | int | escapeキーの状態 |
ターミナル情報の定数:Integer型の使い方
主に、TerminalInfoInteger関数で使用されます。
それぞれ、TerminalInfoInteger関数の property_id引数の入力値として使用されます。
例えば、以下のように使用します。
//TerminalInfoInteger関数
//左矢印キーの状態を取得
int leftKeyState = TerminalInfoInteger( TERMINAL_KEYSTATE_LEFT );
返り値の型は 入力する定数によって変わります。
サンプルプログラム
以下は、ターミナル情報の定数(Integer型)を使用して、ターミナルの各種情報をエキスパートログに出力するサンプルプログラムです。
//+------------------------------------------------------------------+
//| ターミナル情報(Integer型)取得サンプル |
//+------------------------------------------------------------------+
void OnStart()
{
// ターミナルのビルドバージョンを取得
int build = (int)TerminalInfoInteger(TERMINAL_BUILD);
Print("ターミナルビルドバージョン: ", build);
// トレードサーバーへの接続状態を取得
bool connected = (bool)TerminalInfoInteger(TERMINAL_CONNECTED);
Print("サーバー接続状態: ", connected ? "接続中" : "未接続");
// トレード許可の状態を取得
bool tradeAllowed = (bool)TerminalInfoInteger(TERMINAL_TRADE_ALLOWED);
Print("トレード許可: ", tradeAllowed ? "許可" : "不許可");
// DLL使用許可の状態を取得
bool dllsAllowed = (bool)TerminalInfoInteger(TERMINAL_DLLS_ALLOWED);
Print("DLL使用許可: ", dllsAllowed ? "許可" : "不許可");
// 表示するバーの上限数を取得
int maxBars = (int)TerminalInfoInteger(TERMINAL_MAXBARS);
Print("表示バー上限数: ", maxBars);
// CPUコア数を取得
int cpuCores = (int)TerminalInfoInteger(TERMINAL_CPU_CORES);
Print("CPUコア数: ", cpuCores);
// 物理メモリの容量を取得(MB単位)
int memPhysical = (int)TerminalInfoInteger(TERMINAL_MEMORY_PHYSICAL);
Print("物理メモリ容量: ", memPhysical, " MB");
// ターミナルで使用可能なメモリを取得(MB単位)
int memTotal = (int)TerminalInfoInteger(TERMINAL_MEMORY_TOTAL);
Print("使用可能メモリ: ", memTotal, " MB");
// ターミナルの使用メモリを取得(MB単位)
int memUsed = (int)TerminalInfoInteger(TERMINAL_MEMORY_USED);
Print("使用中メモリ: ", memUsed, " MB");
// ディスプレイ解像度を取得(DPI単位)
int screenDpi = (int)TerminalInfoInteger(TERMINAL_SCREEN_DPI);
Print("ディスプレイ解像度: ", screenDpi, " DPI");
// トレードサーバーへの最新のping値を取得
int pingLast = (int)TerminalInfoInteger(TERMINAL_PING_LAST);
Print("最新ping値: ", pingLast, " マイクロ秒");
// ドライブの空き容量を取得(MB単位)
int diskSpace = (int)TerminalInfoInteger(TERMINAL_DISK_SPACE);
Print("ドライブ空き容量: ", diskSpace, " MB");
// E-mail送信許可の状態を取得
bool emailEnabled = (bool)TerminalInfoInteger(TERMINAL_EMAIL_ENABLED);
Print("E-mail送信許可: ", emailEnabled ? "許可" : "不許可");
// 通知許可の状態を取得
bool notifyEnabled = (bool)TerminalInfoInteger(TERMINAL_NOTIFICATIONS_ENABLED);
Print("通知許可: ", notifyEnabled ? "許可" : "不許可");
}
【補足】ターミナル情報の定数:Integer型の列挙型(ENUM_TERMINAL_INFO_INTEGER)
ターミナル情報の定数は、ENUM_TERMINAL_INFO_INTEGERという列挙型に含まれています。
列挙型は、定数群をひとまとめにしたものです。
以下のように使います。
ENUM_TERMINAL_INFO_INTEGER terminalInfoInteger = TERMINAL_KEYSTATE_LEFT;上記のようにプログラムすると、terminalInfoInteger変数に TERMINAL_KEYSTATE_LEFTの数値が代入されます。





