EventKillTimer 関数
この関数は、EventSetTimer関数で設定されたイベントタイマーを停止するために使われます。
通常、EventSetTimer関数がOnInit関数またはクラスコンストラクタから呼び出された場合、EventKillTimer関数はOnDeinit関数から呼び出す必要があります。
EAとインジケータは独自のタイマーで動作し、タイマーからのみイベントを受け取ります。タイマーは作成されていてもEventKillTimer関数で無効になっていない時でも、MQL4プログラムの動作が停止するとすぐに強制的に無効になります。
データ型と構成・戻り値
void EventKillTimer();
戻り値は無し。
引数 [0]
引数無し。
使用例
EventKillTimer関数によるタイマーイベントの停止
EventKillTimer関数を使ってタイマーイベントを停止させます。
5秒間隔で現在のローカル時間をエキスパートタブに表示させているものを 3回表示させてタイマーイベントを停止させます。
コード
// EventKillTimer関数によるタイマーイベントの停止
#property strict
int i=0;
void OnInit() {
EventSetTimer(5); // 5秒ごとにタイマーイベントを発生
}
void OnDeinit(const int reason) {
EventKillTimer(); // タイマーイベントを停止
ObjectsDeleteAll();
}
void OnTimer() {
if(i<3) {
Print(i+1, "回目の現在のローカル時間:", TimeLocal()); // タイマーイベント
i++;
} else {
EventKillTimer(); // タイマーイベントを停止
}
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)