ソースコード
MQL5 における OnTick と OnTimer: 応答性の高い EA の構造
EA はイベント駆動型のプログラムです。セットアップ、市場での意思決定、メンテナンスを明確に分けることで、人間の開発者と AI コーディングアシスタントの両方がより小規模で安全な変更を行うことができます。
各ハンドラーに明確な責任を与える
セットアップと入力検証には OnInit を使用し、クリーンアップには OnDeinit を使用します。 OnTick は、チャート シンボルの新しい相場イベントを受け取ります。 OnTimer は、タイマーがサブスクライブされた後にタイマー イベントを処理します。これらのエントリ ポイントは、馴染みのないソース プロジェクトを開くときに役立つアーキテクチャ マップです。
イベントキューの応答性を維持する
MQL5 は、プログラムのイベントを順番に処理します。 NewTick イベントがすでにキューに入れられているか処理されている場合、別の NewTick は追加されません。したがって、ハンドラー内での長時間のブロック作業には注意が必要です。条件を無限に待機するループは、イベント認識設計の代替にはなりません。
定期的な作業を意図的に使用する
タイマーはステータス パネルや定期的なハウスキーピングに適しています。タイマー期間を短くするとテスターの作業が増える可能性があるため、目に見える目的を果たす頻度を選択してください。タイマーは、最新の市場相場が存在することを保証するものではなく、執行品質を自動的に向上させるものでもありません。
編集前にフローをスケッチする
- 起動時に一度だけ起こることをリストします。
- 関連するすべての引用が必要なものをリストします。
- 定期的な更新のみが必要なものをリストします。
- データが利用できない場合にプログラムがどのように反応するかを定義します。
- 通常の動作と同様に、シャットダウンと再初期化をテストします。
MQLume で自分のものにしましょう
次のカスタム ビルドに明確なアーキテクチャをもたらします。 MQLume では、次のような読み取り、コンパイル、調整ができる編集可能なプロジェクトが提供されます。Quantum Titan MT5。