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です。