
MQL4MQL5 イベント関数
OnTimer()
- できること
- EventSetTimer() で決めた間隔ごとに呼ばれる
- 対応
- MQL4・MQL5
OnTimer() とは
EventSetTimer() や EventSetMillisecondTimer() で設定した間隔ごとに呼ばれる関数です。ティックが来ない時間帯にも処理したいとき、複数の通貨ペアを定期的に確認したいとき、画面表示を一定間隔で更新したいときに使います。
OnTimer() の書式と引数
void OnTimer()引数はありません。
戻り値
なし
OnTimer() の使い方(コード例)
MQL4・MQL5 共通
int OnInit()
{
EventSetTimer(5); // 5秒ごと
return INIT_SUCCEEDED;
}
void OnDeinit(const int reason)
{
EventKillTimer();
}
void OnTick()
{
}
void OnTimer()
{
// ティックが来なくても5秒ごとに画面左上の表示を更新する
Comment("サーバー時刻:", TimeToString(TimeCurrent(), TIME_DATE | TIME_SECONDS));
}MetaEditor でコンパイルできることを確認済みです。
OnTimer() の注意点
- EventSetTimer() を呼ばないと OnTimer() は呼ばれません。ふつうは OnInit() で開始し、OnDeinit() で EventKillTimer() を呼んで止めます。
- MT4 のストラテジーテスターでは OnTimer() は呼ばれません。MT5 のテスターでは呼ばれます。
- 前の OnTimer() の処理が終わっていないときに次の時刻が来ても、同時には実行されません。












