MARKET
9/25 8:27 時点|ドル円158.78▼-7 pips|ドル円 予想レンジ158.41 〜 159.23|ドル円 上の節目158.90▲|ドル円 下の節目157.80▼|ユーロドル1.1378▼-2 pips|ユーロドル 予想レンジ1.1351 〜 1.1408|ユーロドル 上の節目1.1403▲|ユーロドル 下の節目1.1359▼|きょうの指標重要指標なし|

OnTick ― 値段が動くたびに呼ばれる、EAの本体処理|MQL4/MQL5リファレンス

MQLリファレンス›関数イベントハンドラOnTick
(‘both’, ‘MQL4 / MQL5 両対応’)イベントハンドラEA専用

OnTick値段が動くたびに呼ばれる、EAの本体処理

値段が動く(新しいティックが来る)たびに呼ばれる。EAのエントリー・決済判断など、本体の処理はほぼすべてここに書く。

1書式

void OnTick();

書式はMQL4・MQL5で同じ。戻り値の無い(void)関数。

2引数

無し。

3戻り値

戻り値は無し(void)。この回の処理を途中で切り上げたいだけならreturn;で抜ける。

4使用例

static datetime lastBarTime = 0;

void OnTick()
{
   datetime t0 = iTime(NULL, 0, 0);
   if(t0 == lastBarTime) return;   // 同じ足の中の再訪なら何もしない
   lastBarTime = t0;

   // ここに、足が確定するたびの判定を書く
}

MetaEditorでコンパイル0エラー・0警告を確認済み。

5MQL4→MQL5の違い

🔁 差分

インジケーターの本体処理はMQL4・MQL5ともOnTickではなくOnCalculateに書く(OnTickはEA専用)。値の計算そのものはOnCalculate、画面上の見た目の後処理だけOnTick、という役割分担を混同しないこと。

6よくある罠

⚠ 実務で踏んだもの
  • 1ティックごとに何度も呼ばれる。足が確定したときだけ処理したいなら、iTime(...,0)が前回と変わったかを見て間引く(使用例の書き方が定番)。
  • 重い処理(大量のファイル書き込み・WebRequest等)を毎ティック書くと、値段の追随や約定が遅れる原因になる。頻度を落とすか、OnTimerに移す。

7関連する関数

MORNING BRIEF平日 毎朝7時までに更新

今日はどこを見ればいいか。

ドル円とユーロドルの主要ライン・予想高値安値を、平日の朝に図1枚にまとめています。

朝刊を見る→
9/25 8:27 時点ドル円158.78▼-7 pipsドル円 予想レンジ158.41 〜 159.23ドル円 上の節目158.90▲ドル円 下の節目157.80▼ユーロドル1.1378▼-2 pipsユーロドル 予想レンジ1.1351 〜 1.1408ユーロドル 上の節目1.1403▲ユーロドル 下の節目1.1359▼きょうの指標重要指標なし
REI-FX&BO OFFICIAL LINE

ツールのダウンロードパスワードは
公式LINEで、すぐ届きます。

友だち追加の自動返信でパスワードをお送りします。
新しいツールの公開や、検証でわかったことも先にお知らせします。

全ツールのパスワード新作ツールをいち早く配信は月1〜2回だけ
LINEで友だち追加 パスワードを受け取る ›

追加後にひとことメッセージをいただけると、ツールづくりの参考にします。