MQLInfoString関数の働き・役割
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/06/90ff813c94d9247cdd92d0a23509c820-1024x585.webp)
MQLInfoString関数は、MQL5環境に関する情報を取得するために使用されます。この関数を使うことで、プログラムの名前、ファイルパスなどの情報を取得することができます。
MQLInfoString関数の引数について
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/06/40c0489915ae067ea6d1a672433555c9-1024x585.webp)
MQLInfoString関数の引数構成は以下の通りです。
書式
plaintextコードをコピーするstring MQLInfoString(
ENUM_MQL_INFO_STRING property_id // プロパティの識別子
);
引数の詳細
- property_id: 取得するプロパティの識別子を指定します。ENUM_MQL_INFO_STRINGの値の一つを指定します。
ENUM_MQL_INFO_STRINGの値
- MQL_PROGRAM_NAME: プログラムの名前を取得します。
- MQL_PROGRAM_PATH: プログラムのパス(ファイルの保存場所)を取得します。
MQLInfoString関数の戻り値について
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/06/70ee5ea4dc589d31412b3629231b7ea6-1024x585.webp)
MQLInfoString関数は、指定されたプロパティの文字列情報を返します。例えば、MQL_PROGRAM_NAMEを指定すると、現在実行中のプログラムの名前が返されます。
MQLInfoString関数を使う際の注意点
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/06/152332cfdb84228d09b9f7db5ee62ef3-1024x585.webp)
MQLInfoString関数は、指定されたプロパティに対する文字列情報を返しますが、プロパティの指定が正しくない場合や取得できない場合には空の文字列が返されます。必要な情報が確実に取得できるよう、プロパティの指定には十分注意する必要があります。
MQLInfoString関数を使ったサンプルコード
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/06/4df6b10a4e662e162f5d39defe99a3f0-1024x585.webp)
以下は、MQLInfoString関数を使用してエキスパートアドバイザーの名前とパスを取得するサンプルコードです。
// スクリプトの開始時に自動的に呼び出される関数
void OnStart()
{
// エキスパートアドバイザーの名前を取得
string expert_name = MQLInfoString(MQL_PROGRAM_NAME);
// エキスパートアドバイザーのパスを取得
string expert_path = MQLInfoString(MQL_PROGRAM_PATH);
// エキスパートログに名前とパスを出力
Print("エキスパートアドバイザーの名前: ", expert_name);
Print("エキスパートアドバイザーのパス: ", expert_path);
}
サンプルコードに使われた関数や文法要素の簡単な解説
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/06/05d50f58838e5a0b0057db15c50d8f13-1024x585.webp)
OnStart関数は、スクリプトの実行が開始されたときに自動的に呼び出される関数です。
string型の変数expert_nameはMQLInfoString関数を使用して、現在実行中のエキスパートアドバイザーの名前を取得します。
string型の変数expert_pathはMQLInfoString関数を使用して、現在実行中のエキスパートアドバイザーのパスを取得します。
Print関数は、エキスパートログに文字列を出力するために使用されます。ここでは、エキスパートアドバイザーの名前とパスを出力しています。