TerminalInfoString関数の働き・役割
TerminalInfoString関数は、MQL5プログラム環境の対応するプロパティの値を返すために使用されます。プロパティは文字列型であり、TerminalInfoString関数を使用することで、端末に関する様々な情報を取得することができます。例えば、端末の名前やインストールパスなどが含まれます。
TerminalInfoString関数の引数について
TerminalInfoString関数の引数は以下の通りです。
string TerminalInfoString(
int property_id // プロパティ識別子
);
property_id
property_idはプロパティの識別子を指定します。この識別子はENUM_TERMINAL_INFO_STRING列挙型のいずれかでなければなりません。
ENUM_TERMINAL_INFO_STRING 列挙について
以下に、各識別子の役割を解説します。
TERMINAL_LANGUAGE
端末の言語を表します。この識別子を指定することで、端末が設定されている言語を取得できます。
TERMINAL_COMPANY
端末の提供会社名を表します。この識別子を指定することで、端末の会社名を取得できます。
TERMINAL_NAME
端末名を表します。この識別子を指定することで、端末の名前を取得できます。
TERMINAL_PATH
端末が起動されるフォルダを表します。この識別子を指定することで、端末の実行ファイルが存在するフォルダのパスを取得できます。
TERMINAL_DATA_PATH
端末データが格納されるフォルダを表します。この識別子を指定することで、端末データの保存場所のパスを取得できます。
TERMINAL_COMMONDATA_PATH
コンピュータにインストールされている全ての端末の共通パスを表します。この識別子を指定することで、共通データフォルダのパスを取得できます。
TERMINAL_CPU_NAME
CPU名を表します。この識別子を指定することで、端末が動作しているコンピュータのCPU名を取得できます。
TERMINAL_CPU_ARCHITECTURE
CPUアーキテクチャを表します。この識別子を指定することで、端末が動作しているコンピュータのCPUアーキテクチャを取得できます。
※CPUアーキテクチャとは、コンピューターの中心となる部品であるCPU(Central Processing Unit、中央処理装置)が、どのように設計されているかを示す型の事を言います
<参照>
・__CPU_ARCHITECTURE__
TERMINAL_OS_VERSION
ユーザーのOS名を表します。この識別子を指定することで、端末が動作しているコンピュータのOSバージョンを取得できます。
TerminalInfoString関数の戻り値について
TerminalInfoString関数は、指定されたプロパティ識別子に対応する文字列型の値を返します。例えば、TERMINAL_NAMEを指定すると、端末名が文字列として返されます。
TerminalInfoString関数を使う際の注意点
TerminalInfoString関数を使用する際には、プロパティ識別子が正しいことを確認してください。無効な識別子を指定すると、予期しない結果を招く可能性があります。また、返される値が文字列型であるため、数値型など他のデータ型として使用することはできません。
TerminalInfoString関数を使ったサンプルコード
以下に、TerminalInfoString関数を使用してENUM_TERMINAL_INFO_STRING列挙のすべての識別子を取得し、エキスパートログに出力するサンプルコードを示します。
void OnStart()
{
// TERMINAL_LANGUAGEプロパティを取得し、エキスパートログに出力します
Print("TERMINAL_LANGUAGE = ", TerminalInfoString(TERMINAL_LANGUAGE));
// TERMINAL_COMPANYプロパティを取得し、エキスパートログに出力します
Print("TERMINAL_COMPANY = ", TerminalInfoString(TERMINAL_COMPANY));
// TERMINAL_NAMEプロパティを取得し、エキスパートログに出力します
Print("TERMINAL_NAME = ", TerminalInfoString(TERMINAL_NAME));
// TERMINAL_PATHプロパティを取得し、エキスパートログに出力します
Print("TERMINAL_PATH = ", TerminalInfoString(TERMINAL_PATH));
// TERMINAL_DATA_PATHプロパティを取得し、エキスパートログに出力します
Print("TERMINAL_DATA_PATH = ", TerminalInfoString(TERMINAL_DATA_PATH));
// TERMINAL_COMMONDATA_PATHプロパティを取得し、エキスパートログに出力します
Print("TERMINAL_COMMONDATA_PATH = ", TerminalInfoString(TERMINAL_COMMONDATA_PATH));
// TERMINAL_CPU_NAMEプロパティを取得し、エキスパートログに出力します
Print("TERMINAL_CPU_NAME = ", TerminalInfoString(TERMINAL_CPU_NAME));
// TERMINAL_CPU_ARCHITECTUREプロパティを取得し、エキスパートログに出力します
Print("TERMINAL_CPU_ARCHITECTURE = ", TerminalInfoString(TERMINAL_CPU_ARCHITECTURE));
// TERMINAL_OS_VERSIONプロパティを取得し、エキスパートログに出力します
Print("TERMINAL_OS_VERSION = ", TerminalInfoString(TERMINAL_OS_VERSION));
}
サンプルコードに使われた関数や文法要素の簡単な解説
Print関数
Print関数は、指定されたメッセージをエキスパートログに出力するために使用されます。Print関数を使用することで、プログラムの動作状況や取得したデータを確認できます。デバッグや情報の表示に便利です。
TerminalInfoString関数
TerminalInfoString関数は、指定されたプロパティ識別子に対応する端末情報を文字列型で返します。TerminalInfoString関数を使用することで、MQL5プログラム環境に関する様々な情報を取得できます。
ENUM_TERMINAL_INFO_STRING列挙
ENUM_TERMINAL_INFO_STRING列挙は、TerminalInfoString関数で使用するプロパティ識別子を定義した列挙型です。各識別子は、端末に関する特定の情報を取得するために使用されます。
エキスパートログ
エキスパートログは、MQL5プログラムの実行中に発生したメッセージやエラーを表示するログです。Print関数を使用することで、プログラムの実行結果やデバッグ情報をエキスパートログに出力できます。これにより、プログラムの動作を確認しやすくなります。