EventSetMillisecondTimer

EAとインジケータのタイマーイベント生成間隔(1msec単位)をクライアントターミナルへ指示します。

EventSetMillisecondTimer

関数書式

bool  EventSetMillisecondTimer(
   int  milliseconds      // 時間(分解能:1msec)
   );

  • 引数
引数名初期値I/O詳細
milliseconds-Inタイマーイベントの発生間隔を1msec単位で指定します。
  • 戻り値

成功した場合はtrueを返します。
失敗した場合はfalseを返します。

エラーコードの確認はGetLastError()関数を使用します。

  • その他

この関数は、高分解能タイマーが必要な場合の為に使用します。
タイマーイベントが1秒間に2回以上発生させたい場合に使用しますが、
数秒周期のタイマーで十分の場合は、従来のEventSetTimer()関数を使用します。

通常、この関数はOnInit()関数で呼び出します。
タイマーイベントを処理するにはOnTimer()関数が必要です。

各EAと各インジケータは、自身のタイマーからのタイマーイベントを受信します。

作成されたタイマーがEventKillTimer()関数によって無効にされていない場合は、
MQL4アプリケーションシャットダウン時にタイマーは強制的に無効にされます。

各プログラムでタイマーは1つだけ起動する事が出来ます。
各MQL4プログラムアプリケーションとチャートは、
新しく受信した全てのイベントを配置する独自のキューを持っています。

キューが既にタイマーイベントを含んでいるか、またはタイマーイベントの処理中の場合は、
新しいタイマーイベントはキューに追加されません。

  • サンプルソース
void OnInit() {
   EventSetMillisecondTimer(1000);//1秒ごとにOnTimer関数を起動する
}

Twitterでフォローしよう

おすすめの記事