MetaTraderの履歴を開くと、「注文」「約定」「ポジション」という言葉が並びます。似た場面で使われるので、全部まとめて「取引の記録」と読みたくなります。
でも、この3つは同じものの言い換えではありません。注文を出しても約定しないことがあり、1つの注文が複数の約定に分かれることもあります。その約定が、ポジションを新しく作ったり、数量を変えたりします。
今回は売買方法ではなく、端末の履歴で何が起きたのかを落ち着いて追うために、依頼・結果・現在状態の3段階へ分けてみましょう。
最初に、3つの役割を一列に並べる
注文は、ブローカーへ送る「依頼」
MetaTrader 5の公式ヘルプでは、注文は金融商品を買う、または売るためにブローカーへ出す指示と説明されています。成行注文だけでなく、条件を決めて待つ注文もあります。
大切なのは、注文を送った時点と、実際の処理結果を分けることです。サーバーで条件が確認され、実行・取消・拒否などへ進むため、「注文がある」と「約定した」はまだ同じではありません。
約定は、注文が実行された「結果」
公式ヘルプでいう約定は、注文の実行によって成立した売買の記録です。待機していた注文が条件に達した場合も、その後に約定が生まれます。
履歴を見るときは、注文チケットだけで終わらず、その注文に対応する約定チケットまで確認します。ここを飛ばすと、依頼した数量と実際に処理された数量の違いを見落としやすくなります。
ポジションは、約定後に残る「現在状態」
ポジションは、現在保有している数量や方向を表す状態です。約定によって新しく開かれるだけでなく、既存ポジションの数量が増減したり、閉じられたり、口座方式によっては方向が変わったりします。
つまり、注文は依頼、約定は実行記録、ポジションはその結果として残る状態です。3つを別の箱に置くと、履歴の見え方がずいぶん静かになります。

確認1:注文チケットだけで完了と決めない
受付と実行結果は別の段階
注文を送信したあとには、価格、数量、口座の余力、銘柄の条件などがサーバー側で確認されます。注文が履歴に残っていても、状態が約定済みとは限りません。
確認するときは、注文の状態、要求数量、実行済み数量、残数量、作成時刻と完了時刻を分けます。ひとつの行だけを見て「通った」「通らなかった」と急ぐより、状態欄まで読むほうが確実です。
待機中の注文は、まだポジションではない
条件に達するまで待っている注文は、現在のポジションと同じではありません。端末の取引画面で近い場所に表示されても、保有中の状態と、将来の条件を待つ依頼では役割が違います。
画面を記録するときは「注文」と「ポジション」の列を分け、時刻も一緒に残します。あとから見返したときに、どの時点の状態だったかを追いやすくなります。
確認2:1つの注文と1つの約定を固定の組にしない
1注文が複数の約定に分かれる場合がある
MetaTrader 5の公式ヘルプは、1つの注文に対して複数の約定が対応する場合があると説明しています。必要な数量が1回で満たされず、複数回に分かれて処理される場面があるためです。
この場合、注文数だけを数えると実際の約定回数とは合いません。検証ノートでは、注文チケットを親、その下に約定チケット、約定時刻、数量、価格を並べると関係を追いやすくなります。
部分的な処理では、残数量も見る
MQL5の注文プロパティには、注文数量、約定済み数量、未約定の残数量が別々に用意されています。注文した数量と約定済み数量だけでなく、残りがどう扱われたかも確認できます。
結果が想定と違ったとき、値動きだけを原因にせず、注文の執行方針や銘柄側で許されている方式も切り分けます。端末、口座、銘柄の条件によって利用できる方式が違うためです。
確認3:ポジション数は口座方式で変わる
ネットティングは、同じ銘柄を1つの状態へまとめる
ネットティング方式では、同じ銘柄について保有できるポジションは1つです。同じ方向の約定は数量を増やし、反対方向の約定は数量を減らす、閉じる、または方向を変える働きをします。
複数の約定履歴があるのにポジション欄が1行でも、記録が消えたわけではありません。約定の積み重ねが、1つの現在状態へ集約されています。
ヘッジングは、同じ銘柄でも別々に持てる
ヘッジング方式では、同じ銘柄に複数のポジションを持てます。反対方向のポジションも別々に存在し得るため、同じ約定履歴でもポジション欄の行数はネットティング方式と一致しません。
どちらが良いという話ではなく、記録のまとまり方が違うという話です。別口座の画面と比べる前に、まず自分の口座がどちらの方式かを確認します。

履歴は、チケットで前後をつなぐ
注文・約定・ポジションの識別子を別々に残す
MetaTrader 5では、注文と約定に固有のチケットが付き、ポジションに関連する識別子も用意されています。約定には、どの注文から生まれ、どのポジションに関係するかを追うための項目があります。
スクリーンショットだけでは、行が増えた理由や並び替え前の関係が分かりにくくなります。検証ノートには、注文チケット、約定チケット、ポジション識別子を別列で残すと、あとから一本の流れへ戻せます。
時刻はサーバー時間として読む
履歴の時刻は、利用している取引サーバーの時間で表示されます。PCの日本時間やUTCと混ぜると、注文から約定までの順序や、別のログとの対応がずれることがあります。
以前の記事で触れた時刻の確認と同じく、タイムゾーンを一緒に記録しておくと安心です。チケットで関係をつなぎ、時刻で順番を確かめる。この2本立てにすると、履歴が迷子になりにくくなります。
画面を見るときの小さなチェックリスト
依頼・結果・状態のどこか
- 見ている行は注文、約定、ポジションのどれか
- 注文の状態は受付、待機、約定、取消、拒否のどれか
- 要求数量、約定済み数量、残数量を分けたか
口座固有の前提は何か
- ネットティングか、ヘッジングか
- 銘柄で許されている執行方式は何か
- 履歴時刻のタイムゾーンは何か
まとめ
注文はブローカーへ送る依頼、約定は実行された結果、ポジションはその結果として現在残っている状態です。1つの注文が複数の約定に分かれることがあり、約定後のポジションのまとまり方は口座方式によって変わります。
履歴で「あれ、数が合わない」と感じたら、数字に叱られる前に3段階へ戻ってみましょう。注文チケットから約定をたどり、最後にポジションを確認する。順番を分けるだけで、端末の行列にもちゃんと名札が付きます。
参考にした公開情報
- MetaTrader 5 Help: Basic Principles
- MetaTrader 5 Help: Executing Trades
- MQL5 Reference: Order Properties
- MQL5 Reference: Deal Properties
- MQL5 Reference: Position Properties
本記事は公開情報をもとに取引端末の記録を読み分けるための学習資料です。特定の売買、注文方法、将来の価格方向を勧めるものではありません。


コメント