【超入門】MQL5 EA講座第8回「OnTick関数」

MQL5でEA作ろう講座

前回

OnDeinit関数がどのように作用するのか、という事を説明しました。↓

改めて、前回の内容をおさらいをしておくと、

OnDeinit関数とはMQL5 Program FileMT5のチャート上から削除された際に、一度だけ処理を行う関数である

という事でした。(厳密さを欠いてはいますが、初心者の方はこの理解で大丈夫です)

これまで講座第5回OnInit関数前回第7回OnDeinit関数について言及してきました。

今回は、MQL5ウィザードで設定をした直後、コメントアウト部分やプロパティ命令の部分を取り除いた後、残っている部分↓

int OnInit()
  {

   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {

   
  }

void OnTick()
  {

   
  }

のうち、まだ説明をまだしていない最後の部分、OnTick関数についてお話したいと思います。

※1 「MQL5ウィザードって何だったけ?」という人は↓の記事で、MQL5ウィザードについて触れているのでご覧ください<(_ _)>

MQL5EAを実行するにあたっては、MT5メタエディターがお使いのパソコンにインストールされている必要があります。

もし、まだMT5のダウンロードが完了していない方は、

こちらからデモ口座の開設とMT5のダウンロード・インストールを完了して頂ければと思います。

スポンサーリンク
スポンサーリンク

OnTick関数とは何か?

OnTick関数EA自動売買プログラム)において最も重要な役割を果たす関数です。

役割としては、

値動きに変化があるたびに、{}内に記述されている内容を実行する関数

です。(英語の前置詞Onは「接触・関与」を表します。Tickは値動きの変化を意味する言葉です。直訳すれば「値動きの変化に基づいて」という訳です)

関数ってなんだったっけ?という方へ。

OnInit関数OnDeinit関数の記事でも解説しましたが、大事なところなので、再度おさらいをしておきましょう↓

関数とは、より簡単、かつ効率的にプログラムを動かす記述(掃除機や電気炊飯器のような家電みたいなもの)

のことです。

関数については講座記事第25回で取り扱います。

詳しく先に知りたいという方は↓

MQL5 EA講座 第25回「関数について」

をご覧ください。(先に読んでも問題はないと思います)

また

MQL5 EA講座 第5回「OnInit関数」

でもざっくりと関数について解説していますので、こちらを読んでも復習できます。

今後、皆さんがMQL5EA(自動売買プログラム)を開発していく際、ほとんどの記述(8割から9割)はこのOnTick関数

{}内に記述していくことになるでしょう。

相場というのは、値動きの集積体です。

必然的にEA(自動売買プログラム)も、「その値動きの変化に対してどう反応するか?」という内容が多くなるのは想像がつくのではないかと思います。

ではOnTick関数がどのように作用していくのか、を見ていきましょう。

OnTick関数の使い方

OnTick関数がどのように作用するのかを見るために、以下のようなコードを書きました。

void OnTick()
  {
      Print("今、値動きがありました。");
   
  }

↑で{}内に書かれているPrint関数というのは

MT5の、ツールボックス内にあるエキパートタブ内に、()内に書かれた文字データをログ出力する関数

です。

OnInit関数OnDeinit関数のときのように、Comment関数を使わないのは、値動きの変化を視覚的に確認するにはComment関数は適さないからです。

では、MQL5 Program Fileルをチャート上に挿入して、ツールボックス→エキスパートタブのログを確認してみましょう。

※「MQL5 Program Fileの挿入ってなんだっけ?」

という人は↓の記事をご覧ください。

動画にしてみました↓

↑どうでしょう?

1秒もしないうちに、エクスパートタブ欄に、ログが出力されていったのがお分かりいただけたかと思います。

値動きがあるたびに処理を行う、というOnTick関数の本質が視覚的に理解できたのではないかな、と思います。

まとめ

今回はOnTick関数についてお話ししました。この記事では以下のことをお伝えしました。↓

  • OnTick関数値動きに変化があるたびに、{}内に記述されている内容を実行する関数である。

※当サイトでは、MQL5関数の意味を辞書的感覚で調べられるよう、【MQL5リファレンス】というカテゴリーの記事も併せて執筆しています。OnTick関数について書いている記事もありますので、よろしければご覧ください↓

最後までお読みいただきありがとうございました<(_ _)>

MQL5講座 第7回「OnDeinit関数」 →MQL5講座 第9回「変数について」

—————————————————————

コメント

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