前回は
OnDeinit関数がどのように作用するのか、という事を説明しました。↓
改めて、前回の内容をおさらいをしておくと、
OnDeinit関数とはMQL5 Program FileがMT5のチャート上から削除された際に、一度だけ処理を行う関数である
という事でした。(厳密さを欠いてはいますが、初心者の方はこの理解で大丈夫です)
これまで講座第5回でOnInit関数、前回第7回でOnDeinit関数について言及してきました。
今回は、MQL5ウィザードで設定をした直後、コメントアウト部分やプロパティ命令の部分を取り除いた後、残っている部分↓
int OnInit()
{
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
}
のうち、まだ説明をまだしていない最後の部分、OnTick関数についてお話したいと思います。
※1 「MQL5ウィザードって何だったけ?」という人は↓の記事で、MQL5ウィザードについて触れているのでご覧ください<(_ _)>
※MQL5でEAを実行するにあたっては、MT5・メタエディターがお使いのパソコンにインストールされている必要があります。
もし、まだMT5のダウンロードが完了していない方は、
こちらからデモ口座の開設とMT5のダウンロード・インストールを完了して頂ければと思います。
OnTick関数とは何か?
OnTick関数はEA(自動売買プログラム)において最も重要な役割を果たす関数です。
役割としては、
値動きに変化があるたびに、{}内に記述されている内容を実行する関数
です。(英語の前置詞Onは「接触・関与」を表します。Tickは値動きの変化を意味する言葉です。直訳すれば「値動きの変化に基づいて」という訳です)
※関数ってなんだったっけ?という方へ。
OnInit関数やOnDeinit関数の記事でも解説しましたが、大事なところなので、再度おさらいをしておきましょう↓
関数とは、より簡単、かつ効率的にプログラムを動かす記述(掃除機や電気炊飯器のような家電みたいなもの)
のことです。
詳しく先に知りたいという方は↓
をご覧ください。(先に読んでも問題はないと思います)
また
でもざっくりと関数について解説していますので、こちらを読んでも復習できます。
今後、皆さんがMQL5でEA(自動売買プログラム)を開発していく際、ほとんどの記述(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関数についてお話ししました。この記事では以下のことをお伝えしました。↓
※当サイトでは、MQL5の関数の意味を辞書的感覚で調べられるよう、【MQL5リファレンス】というカテゴリーの記事も併せて執筆しています。OnTick関数について書いている記事もありますので、よろしければご覧ください↓
最後までお読みいただきありがとうございました<(_ _)>
MQL5講座 第7回「OnDeinit関数」← →MQL5講座 第9回「変数について」
—————————————————————
コメント