MQL5

MQL5学習メモ

Pocket

(完全に自分用のメモ書きなので、意味不明だと思いますが悪しからず……)

MT5で等間隔(数値による間隔の設定ができるもの)に複数のトレンドラインを引きたいと思ってMQL5を齧り中。

インディケータ表示用のプログラムの構造

  • property 部分
  • OnInit 関数
  • OnCalculate関数
  • OnDeinit関数(必須ではない)

 

この4つがメインとして記述する部分。

 

OnInit 関数

この関数は、Initイベントが発生するときに指標やEAで呼び出され、実行中のMQL5プログラムを初期化するのに使用されます。(リファレンスより)

プログラムが呼び出されたときに実行される関数。

OnStart関数というのもあるが、違いがよくわからない。

リファレンスへのリンク

 

OnCalculate 関数

この関数は、Calculateイベントが発生して価格の変化が処理されるときに、指標で呼び出されます。この関数の型は 2 つあります。1つの指標内では1つだけ使用できます。(リファレンスより)

価格が動くたびに呼び出される関数。

リファレンスへのリンク

 

OnDeinit 関数

この関数はDeinitイベントが発生するときに指標やEAで呼び出され、実行中のMQL5プログラムの初期化を解除するのに使用されます(リファレンスより)

 

Deinitイベントというのは

グローバル変数が初期化解除されプログラム(エキスパートアドバイザーまたはカスタム指標)がアンロードされる前に、クライアント端末はプログラムに Deinit イベントを送信します。Deinit はまた、クライアント端末の閉鎖時、チャートの閉鎖時、セキュリティ及び/または時間軸の変更直前、プログラムの再コンパイル成功時、入力パラメータの変更時、及び口座変更時に生成されます。

チャートを閉じたり、時間軸を変更する前に呼び出し、メモリを解放しておくための関数(のようだ)。

リファレンスへのリンク

 

ObjectCreate 関数

トレンドラインや水平線、長方形等の図形(=オブジェクト)をチャート上に描画する際にはObjectCreate関数を使うようだ。

Object指向ということで、各図形を一つのオブジェクトとして扱っているのだろう。

リファレンスへのリンク