
EAは常に動き続けているわけではなく、イベントが発生したタイミングでMT4から呼び出されます。イベントが発生しなければ何もしません。
EAでは以下のイベントハンドラー関数があります。
| 戻り値の型 | 関数名 | 引数 | コメント |
| int | OnInit | 無し | EAがチャートに追加されたタイミングで動作。初期化処理などに使います。 |
| void | OnDeinit | const int reason | EAがチャートから削除されたタイミングで動作。 |
| void | OnTick | 無し | EAのメイン。新しいtickが発生するたびに動作する。 |
| void | OnTimer | 無し | EventSetTimer関数で秒数を指定すると定期実行される。あまり使わない。 |
| double | OnTester | 無し | バックテスト終了時に動作する。 |
| void | OnChartEvent | const int id, const long &lparam, const double &dparam, const string &sparam | ユーザーがチャートを操作したときに動作する。あまり使わない。 |
このテキストで使うのはOnInit, OnDeinit, OnTickだけです。メインはOnTickです。