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

MQL5InfoInteger 関数の引数に MQL5_PROGRAM_TYPE を指定すると、その関数の呼び出し元がスクリプトなのか、EA なのか、インジケーターなのかを調べることができます。

// 実行中のプログラムが「スクリプト」かどうかを調べます
bool isCalledFromScript() {
    return MQL5InfoInteger(MQL5_PROGRAM_TYPE) == PROGRAM_SCRIPT;
}

// 実行中のプログラムが「EA」かどうかを調べます
bool isCalledFromEa() {
    return MQL5InfoInteger(MQL5_PROGRAM_TYPE) == PROGRAM_EXPERT;
}

// 実行中のプログラムが「インジケーター」かどうかを調べます
bool isCalledFromIndicator() {
    return MQL5InfoInteger(MQL5_PROGRAM_TYPE) == PROGRAM_INDICATOR;
}

関連記事

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