前回はテクニカル指標を利用したEA取引をご紹介しました。今回は取引の結果、状態を元に次の取引を行う仕組みのEAについてご紹介します。

建玉の決済方法に基づき、異なる行動を取ることができます。
例えば、
・StopLossで決済された場合 (取引履歴の損益の情報を判別)
-> 同じ方向に 2倍のロットで新規建て
・ TakeProfitで決済された場合 (取引履歴の損益の情報を判別)
-> 逆方向(ドテン)新規建て
・ Expireにより注文キャンセルとなった場合(時間による判断)
-> 2倍のExpire時間をセットして追加新規注文

取引履歴の取得方法について

MT5では、 履歴取引情報の取得方法として、約定済注文(Order)もしくは取引(Deal)情報を履歴情報として取得可能です。
下記のように約定前注文、保有ポジションは現在時点での情報として取り扱い、約定済の注文、取引情報は履歴情報として管理されます。

MT4では取引情報は orderselect 関数を使用して過去のポジション情報を取得します。
https://docs.mql4.com/trading/orderselect
各種プロパティを取得するには、それぞれ異なる関数を呼び出す必要があります。※リンク先のNote欄参照

MQL5.com 記事:METATRADER 5 の注文、ポジション、取引 :https://www.mql5.com/ja/articles/211
参照項目:MQL5プログラムからのトレーディング履歴へのアクセス

MQL5.comでは色々な関数を使用して履歴データを取得する方法を記載しています。ここではそのうちの一つとしてProfit情報を返す関数をサンプルEAとして紹介します。

プロパティとして取得可能な情報について
取引のプロパティ
https://www.mql5.com/ja/docs/constants/tradingconstants/dealproperties
注文のプロパティ
https://www.mql5.com/ja/docs/constants/tradingconstants/orderproperties

このような情報から、取引結果をご確認いただくことが可能です。