【イベント処理】

MQL5言語では以下のようないくつかの定義済みイベントが処理が事前定義された関数により行われます。

関数

説明

OnStart

この関数は、Startイベントがスクリプト内で設定されたアクションを実行するために発生したときに呼び出されます

OnInit

MQL5プログラムが初期化されるときに、インジケーターやEAで呼び出されます。
※プログラム起動時や通貨ペア切り替え時など

OnDeinit

MQL5プログラムが初期化解除されるときに、インジケーターやEAで呼び出されます。
※プログラムをチャートから外した時など

OnTick

NewTickイベントが発生して新しい気配値が処理されるとき(価格が動く度)に、EAで呼び出されます。

OnCalculate

価格の変化が処理されるとき(価格が動く度)に、インジケーターで呼び出されます。

OnTimer

一定の時間間隔でTimerイベント中に、インジケーターやEAで呼び出されます。

OnTrade

取引サーバ上の取引操作の終了時に生成されるTrade イベント中に、EAで呼び出されます。

OnTradeTransaction

取引リクエストが処理されるときに、EAで呼び出されます。

OnBookEvent

板情報の変化し、更新処理されるときに、EAで呼び出されます。

OnChartEvent

プログラムによるチャートの変化が処理されるときに、指標やEAで呼び出されます。
※チャート上をクリック時など

OnTester

Testerイベント(ストラテジーテスター)が発生してEAをテストした後に履歴データに対してアクション実行されるときに、EAで呼び出されます。

OnTesterInit

ストラテジーテスターでの最適化に先立ち、実行読み込みされるときに、EAで呼び出されます。

OnTesterDeinit

ストラテジーテスターでの最適化の後にTesterDeinit イベント(最適化の終了)が発生したときに、EAで呼び出されます。

OnTesterPass

ストラテジーテスターでのEA最適化の際に TesterPassイベントを処理(新しいデータフレームを処理)するときに、EAで呼び出されます。