まくまく投資ノート
更新: / 作成:

MQL では、C/C++ と同様に #define ディレクティブを使って独自のマクロを定義することができます。 現在のファイル名を示す __FILE__ や、行番号を示す __LINE__ なども同様に使用することができます。 次の例では、現在のファイル名と行番号、指定したメッセージを表示するマクロを定義しています。

HelloEa.mq5
#define DEBUG(text) Print(__FILE__, "(", __LINE__, "): ", text)

void OnTick() {
    DEBUG("Hello, Expert Advisor");
}

関数名を取得するための __FUNCTION__ なども便利です。

Print(__FUNCTION__);  // => "OnTick()"
Print(__FUNCSIG__);   // => "void OnTick()"

関連記事

まくまく投資ノート
サイトマップまくへのメッセージ