(‘both’, ‘MQL4 / MQL5 両対応’)イベントハンドラ後片付け
OnDeinit外れる直前に呼ばれる、後片付け処理
EA・インジケーターがチャートから外れる直前に呼ばれる。タイマーの停止・自分で描いたオブジェクトの削除など、後片付けをここに書く。
1書式
void OnDeinit(
const int reason // 外れた理由
);
書式はMQL4・MQL5で同じ。MQL4は同じ理由をUninitializeReason()でも取得できる。
2引数
| 引数 | 内容 |
|---|---|
| reason | 外れた理由。REASON_REMOVE(手動で外した)・REASON_CHARTCLOSE(チャートを閉じた)・REASON_PARAMETERS(パラメータ変更)等 |
3戻り値
戻り値は無し(void)。
4使用例
int OnInit() { EventSetTimer(60); return(INIT_SUCCEEDED); }
void OnTick() {}
void OnDeinit(const int reason)
{
EventKillTimer();
ObjectsDeleteAll(0, "mypanel_");
Print("終了理由: ", reason);
}
MetaEditorでコンパイル0エラー・0警告を確認済み。
6よくある罠
⚠ 実務で踏んだもの
reasonがREASON_PARAMETERSのときは、パラメータ変更による再起動であり、この直後にまたOnInitから始まる。「完全に終了する」場合と混同すると、保持しておきたい状態を誤って消してしまう。OnDeinitの中で新しく描画オブジェクトを作っても、ほぼ意味が無い。このあとすぐチャートから消える(あるいは既に消えかけている)タイミングのため。
7関連する関数
MORNING BRIEF平日 毎朝7時までに更新
今日はどこを見ればいいか。
ドル円とユーロドルの主要ライン・予想高値安値を、平日の朝に図1枚にまとめています。
朝刊を見る→9/25 8:27 時点ドル円158.78▼-7 pipsドル円 予想レンジ158.41 〜 159.23ドル円 上の節目158.90▲ドル円 下の節目157.80▼ユーロドル1.1378▼-2 pipsユーロドル 予想レンジ1.1351 〜 1.1408ユーロドル 上の節目1.1403▲ユーロドル 下の節目1.1359▼きょうの指標重要指標なし