(‘both’, ‘MQL4 / MQL5 両対応’)OnTimer
EventSetTimerOnTimerを一定間隔で呼び出す設定をする
値動き(ティック)とは関係なく、決まった秒数ごとにOnTimerを呼び出すよう設定する。値動きが止まっている時間帯でも定期的に何かを確認したいときに使う。
1書式
bool EventSetTimer(
int seconds // 呼び出す間隔(秒)
);
書式はMQL4・MQL5で同じ。OnInitの中で呼ぶのが定番。
2引数
| 引数 | 内容 |
|---|---|
| seconds | OnTimerを呼び出す間隔(秒) |
3戻り値
成功でtrue。
4使用例
int OnInit()
{
EventSetTimer(60); // 1分おきにOnTimerを呼ぶ
return(INIT_SUCCEEDED);
}
void OnTimer()
{
Print("1分経過。ティックが無くても呼ばれる");
}
MetaEditorでコンパイル0エラー・0警告を確認済み。
6よくある罠
⚠ 実務で踏んだもの
OnDeinitでEventKillTimerを呼び忘れると、EAを外したあともタイマーが残り続けることがある。設定したら解除も必ずセットで書く。