このブログはMQL5を使って、MT5のエキスパートアドバイザー(EA)、インディケーター、スクリプトを開発する皆さんに向けて役に立つ情報を共有させて頂きます。

MT5がこれから急速に普及していくと期待されるものの、MQL5に関する情報コンテンツはまだまだ少ないと言われています。そのため、MetaQuotesはMQL5コミュニティ(https://www.mql5.com)というMQL5の利用者コミュニティにて豊富なコンテンツと情報交換の場を提供しております。更に、このブログでは日本の利用者のために特化したMQL5に関するコンテンツを増やしていこうと思います。

そして第一回ですが、MQL5を使う前に、まずMT5では注文、約定、建玉はどのように保存されているか、MT4との違いなど、前提となる知識を整理します。

取引情報の取扱い

MQL5でプログラミングを始める前に、MT4とMT5の取引データの違いを確認します。
MT5では取引情報に約定の概念が加わり、 口座履歴に表示される取引履歴も異なります。 MT4の場合、1注文番号、1列の表示データで表現されていましたが、 MT5の場合にはより詳細な情報を表示することができます。
取引約定情報が加わることでサーバー間での処理時間を知ることなども詳細に知ることが可能となり、より詳細かつ効率的に自動取引ツール、EAを作成することができます。

例 : ポジションオープン時のデータ状態

注文: ユーザーが操作し、取引サーバーに送ったデータ
取引: 取引サーバーによって処理された注文情報 ※
ポジション:約定の結果、売買が成立した取引情報

※MetaTrader 5からは新規に取引というデータ概念が登場しました。

MQL5参照リンク:MQL5.com: https://www.mql5.com/ja/articles/211

MT4 : MQL4とMT5 : MQL5取引に関する関数の違い

また、MT5ではすべての注文処理が一つの関数に集約されました。 要するに、成行、指値、変更、決済、キャンセルといったリクエストは全てトレーダーから出した「注文」であり、其々「注文」の内容が異なると、MT5で見直した考えです。

MQL5ではこのような関数や取引データの取扱に関するMQL4からの変更点があります。

MetaTrader5上での取引情報を確認しよう

成行注文によりポジションをオープンし、ポジションを持ちます。





USDJPY を1 ロット成行買いで新規注文し、111.012円で約定した場合

[ツールボックス ] – [取引]
[オープン中のポジション、約定前の指値注文、逆指値注文はこちらに表示されます。MT4同様注文、チケット、ポジション約定時間、数量、約定価格が表示されます。

[ツールボックス ] – [口座履歴]
取引履歴には4種類の表示方法があります。

[ 注文と約定]
MT4と違い、注文と約定は2行になります。

注文: ユーザーが操作し、取引サーバーに送信したデータ
約定: 取引サーバーによって処理された内容


1行目は注文を送信した情報として注文時間、銘柄、チケット(Order ID)、注文のタイプ、 1ロット、 価格(Market: 成行注文のため)と表示されます。
2行目には注文情報に対する約定取引情報として約定時間、チケット(Deal ID)、in(新規ポジションオープン)、ロット、成行注文約定時の価格が2行面に注文情報に対する取引約定情報として表現されます。
※左に表示されるアイコンは買:青色、売:赤色となります。

[ 取引一覧 ]
口座履歴には注文がサーバーで 約定処理をした注文の履歴が表示されます。
この場合には注文番号(OrderID)、USDJPY、買注文、注文価格内容(成行の場合にはMarketと表示)、発注時間、状況(filled成立/cancelled不成立)といった情報が確認できます。 MT4にはありません

[ ポジション一覧 ]
MT4にはないポジション履歴の一覧です。
クローズしていないため、ポジション履歴はありません 。



先程約定した USDJPY 1.0 ロットの買いポジションを成行で決済注文し、111.054円で約定した場合

[ 注文と約定]
MT4と違い新規と決済は2つの注文として表示され、それぞれの約定情報も含め合計4行になります。

注文: 取引者が出した要求
約定: 要求に対する応答

1行目 – 新規注文
2行目 – 新規注文の約定(in)
3行目 – 決済注文
4行目 – 決済注文の約定(out)
MT4にはないin」と「out」の概念は新規と決済を表しています。
チケットに表示される数字はそれぞれの注文ID(Order ID)取引ID(Deal ID)を表わしています。

[注文一覧]
注文のみ表示され、状況欄でfilled / cancelled など情報で約定結果分かりますが、新規か決済か、また約定価格が分かりません。

”価格”には注文内容が表示されるため、成行注文の場合には価格に”market”と表示されます。

[取引一覧]
約定のみ表示され、注文時の価格が分かりません。

[ポジション一覧]
決済したので、ポジション履歴が表示されます。
新規約定時間、決済約定時間、新規約定価格、決済約定価格を確認できます。
MT4の取引履歴と似ています

以上、MT5の取引履歴の見方はよく分かりましたか。次回からは、プログラミングの話を始めますよ。