Uninitialization reason の種類

MetaTrader 4
GogoJungle
2019/08/02 21:38
14

EAやインジケーターを利用していると、様々タイミングでOnInit関数やOnDeinit関数が実行されます。
OnInit関数、OnDeinit関数が実行された理由は項目ごとに番号が割り振られており、公式ドキュメントでは、 Uninitialization reason code と表現されています。
Uninitialization reason code 調べることでなぜOnInit、OnDeinitが実行されたかを知ることができます。

Uninitialization reason code の確認

Uninitialization reason code はUninitializeReason関数を実行することで知ることが可能です。

int UninitializeReason();

OnDeinit関数内では、引数として渡されたreasonの値が Uninitialization reason code となっております。

void OnDeinit(const int reason){

}

Uninitialization reason code の意味

Uninitialization reason code は0~9の10種類存在します。

REASON_PROGRAM

EAがExpertRemove関数を実行したことでEAが終了となる場合のコード。
値は0

REASON_REMOVE

プログラムがチャートから削除された場合のコード。
値は1

REASON_RECOMPILE

実行中のプログラムに対してメタエディターなどで修正を加え、コンパイルを行った場合のコード。
値は2

REASON_CHARTCHANGE

プログラム実行中のチャートの通貨ペアまたは時間足が変更となった場合のコード。
値は3

REASON_CHARTCLOSE

プログラム実行中のチャートが閉じられた場合のコード。
値は4

REASON_PARAMETERS

プログラム実行中にパラメータを変更した場合のコード。
値は5

REASON_ACCOUNT

アカウントの切り替えなどで取引サーバーへ再接続が行われた場合のコード。
値は6

REASON_TEMPLATE

プログラム実行中のチャートに対してテンプレートの適用が行われた場合のコード。
値は7

REASON_INITFAILED

OnInitの結果が0またはINIT_SUCCEEDED以外だった場合のコード。
値は8

REASON_CLOSE

MT4が終了された場合のコード。
値は9

コメント

関連項目

検索結果がありません。