【MQL4定数】ターミナル情報の定数:Integer型(ENUM_TERMINAL_INFO_INTEGER)

【辞書】MQLリファレンス

ターミナル情報の定数:Integer型

ターミナル情報の定数は、ターミナルの情報を取得したいときに使用します。

主に、TerminalInfoInteger関数で使用されます。

それぞれ、TerminalInfoInteger関数の property_id引数の入力値として使用されます。

またTerminalInfoInteger関数は、入力する値によって、返り値の型が異なります。

 

ターミナル情報の定数:Integer型(ENUM_TERMINAL_INFO_INTEGER)

定数返り値の型説明
TERMINAL_BUILDintターミナルのビルドバージョン
TERMINAL_COMMUNITY_ACCOUNTboolMQL5コミュニティアカウント
TERMINAL_COMMUNITY_CONNECTIONboolMQL5コミュニティ接続
TERMINAL_CONNECTEDboolトレードサーバーへの接続
TERMINAL_DLLS_ALLOWEDboolDLL使用許可
TERMINAL_TRADE_ALLOWEDboolトレード許可
TERMINAL_EMAIL_ENABLEDboolE-mailの送信許可
TERMINAL_FTP_ENABLEDboolFTPの許可
TERMINAL_NOTIFICATIONS_ENABLEDbool通知許可
TERMINAL_MAXBARSint表示するバーの上限数
TERMINAL_MQIDboolMetaQuotesからの通知許可
TERMINAL_CODEPAGEintターミナルの言語コードページ数
TERMINAL_CPU_CORESintCPUコア数
TERMINAL_DISK_SPACEintドライブの空き容量(MB単位)
TERMINAL_MEMORY_PHYSICALint物理メモリの容量(MB単位)
TERMINAL_MEMORY_TOTALintターミナルで使用可能なメモリ(MB単位)
TERMINAL_MEMORY_AVAILABLEintターミナルの空きメモリ(MB単位)
TERMINAL_MEMORY_USEDintターミナルの使用メモリ(MB単位)
TERMINAL_SCREEN_DPIintディスプレイ解像度(DPI単位)
TERMINAL_PING_LASTintトレードサーバーへの最新のping値
TERMINAL_KEYSTATE_LEFTint左矢印キーの状態
TERMINAL_KEYSTATE_UPint上矢印キーの状態
TERMINAL_KEYSTATE_RIGHTint右矢印キーの状態
TERMINAL_KEYSTATE_DOWNint下矢印キーの状態
TERMINAL_KEYSTATE_SHIFTintshiftキーの状態
TERMINAL_KEYSTATE_CONTROLintcontrolキーの状態
TERMINAL_KEYSTATE_MENUintmenuキーの状態
TERMINAL_KEYSTATE_CAPSLOCKintcapslockキーの状態
TERMINAL_KEYSTATE_NUMLOCKintnumlockキーの状態
TERMINAL_KEYSTATE_SCRLOCKintscroll lockキーの状態
TERMINAL_KEYSTATE_ENTERintenterキーの状態
TERMINAL_KEYSTATE_INSERTintinsertキーの状態
TERMINAL_KEYSTATE_DELETEintdeleteキーの状態
TERMINAL_KEYSTATE_HOMEinthomeキーの状態
TERMINAL_KEYSTATE_ENDintendキーの状態
TERMINAL_KEYSTATE_TABinttabキーの状態
TERMINAL_KEYSTATE_PAGEUPintpageupキーの状態
TERMINAL_KEYSTATE_PAGEDOWNintpagedownキーの状態
TERMINAL_KEYSTATE_ESCAPEintescapeキーの状態

 

ターミナル情報の定数: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の数値が代入されます。