MQL5からMQL4への移植
MQL4からMQL5への移植については多くの情報があるのですが、その逆は少ないと思います。MQL5でできて、MQL4でできない(難しい)ことは結構あります。
①OnTrade()・・・・この関数は Trade イベントの発生時に呼ばれます。 このイベントは 出された注文、ポジション、注文履歴 と約定履歴の表を変更する時に発生します。取引活動(未決注文を出す、注文を出す、ポジションの決済、ストップ設定、未決注文トリガ)が行われると、注文履歴や約定履歴及びポジションと現在の注文のリストがそれに応じて変更されます。
MT5のみの機能で、EAの自動売買、ストップロス、テイクプロフィットでの決済時など正確なタイミングを検知でき、自作の損益、ポジション表示等を更新できます。
これをMT4で行うには、OnTimer()、OnTick()等で行うか、独自のクラスを作成することになります。OnTimer()では最小1秒スパン、OnTick()は不定期(取引の少ない場合は数分待つことも)。独自のクラスを作成する場合は。
が参考になるかと思います。
MT5版の裁量取引支援ユーティリティー MotionEをMT4へ移植
■ Motion E for MT4 ■
