イベントのタイマーを停止 EventKillTimer 関数

関数

イベント操作関数

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();                                      // タイマーイベントを停止
   }
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました