MT5のnetting口座では、SLとTPは銘柄の合算建玉に付き、追加購入ごとの独立部分には付きません。次の約定が残数量全体の保護を変え得ます。増加・反転前に数量と注文に渡す水準を両方確認。本記事のMT5 netting例をMT4、ヘッジ口座、他製品へ自動適用しません。

SL・TPはどの数量を対象にするか

履歴の個別約定と、現在の合算建玉という二つの記録を分けます。履歴はそれぞれを保持しても、nettingの現在状態は一つの方向・数量です。買いと売りの建玉の区別も確認。注文チケットがあるだけで別々に保護された小分け部分が生まれるわけではありません。部分退出には適切な操作と残数量の確認が必要です。

SL・TPは退出条件であり、将来損失へ現金を予約した額でも正確な約定値の保証でもありません。現在建玉、待機注文パラメーター、過去約定では異なる数字があり得ます。昔の約定にSLが書かれていても、今の建玉がそのSLを持つ証拠にはなりません。

いつ水準が残り、いつ置き換わるか

MetaQuotesは増加・反転と部分決済を分けます。増加または反転は最新の約定した注文の水準を採用し、対応フィールドの0はSL・TPを削除し得ます。部分決済では既存水準を維持、全決済では建玉とともに水準がなくなります。保護削除の推奨ではなく、状態変化の仕様です。

注文画面は既存水準を自動挿入する場合があります。公式文書は、既存銘柄建玉があるときチャートパネルやMarket WatchからのOne Click Tradingで現在のSL・TPを変えないと説明しています。簡易画面に欄がないことは削除依頼の意味ではありません。独自EAの依頼が同じボタンの挙動を再現するとも限らず、実際の経路を区別します。

EAが先に増加を約定させ、次に保護変更を送るなら途中状態があります。「変更を送信」というログだけでは、その間の実エクスポージャーは確定しません。応答とサーバーの受理水準を新たに取得し、別プログラムの操作とも照合します。

増加・縮小・反転の全モデル

元の架空USD口座でEUR/USD、1lot=100,000 EUR、手数料・資金調達・滑りなし。当初買い0.20lotを1.1000で保有、SL1.0970、TP1.1060。以下は指定数量が実約定し、対応水準が受理された仮定で、実在業者の共通仕様ではありません。

  1. 増加:1.1030で0.10lotを買い、SL1.0990・TP1.1080を持つ注文が約定。合計買い0.30、加重建値(0.20×1.1000+0.10×1.1030)/0.30=1.1010。新水準は以前の0.20を含めた全0.30に付き、古い購入分だけのSLは残りません。
  2. 縮小:0.05lotを売れば買い0.25が残り、部分決済なのでSL1.0990・TP1.1080を維持します。この部分決済の0パラメーターを、増加注文の0と同じに扱いません。売りのラベルだけで新しい売建とも決めません。
  3. 反転:残る買い0.25へ1.1040で売り0.40が約定すれば0.25を決済し、売り0.15が新規に残ります。反転注文が持つSL1.1070・TP1.0980はその新売建に適用。売り0.25なら全決済で、反対建玉は残りません。

一つの建玉の4状態

横にスクロールすると図全体を確認できます。

一つのnetting建玉の4状態架空MT5netting。買い0.20を0.30へ増加、0.25へ縮小、売り0.15へ反転。増加と反転では新注文の水準、縮小では既存水準を引き継ぐ。1. 開始時点買い:0.20 lotSL 1.0970 · TP 1.10602. さらに0.10買い合計:買い0.30SL 1.0990 · TP 1.10803. 0.05売り残り:買い0.25SL・TPは変更なし4. 0.40売り残り:売り0.15SL 1.1070 · TP 1.0980
架空MT5netting。買い0.20を0.30へ増加、0.25へ縮小、売り0.15へ反転。増加と反転では新注文の水準、縮小では既存水準を引き継ぐ。

Buy・Sellの名前でなく、合算状態がどう変わったかで保護を判断します。記憶していた数量は別約定で変わり得るので、次の依頼前に現在数量と予定操作を再計算します。

増加後に金額を再計算する理由

当初20,000 EUR×(1.1000−1.0970)=60 USDがSLまでの予定価格損失です。増加後30,000×(1.1010−1.0990)=60 USDも同額ですが、この数値の組み合わせによる偶然で、nettingの一般性質ではありません。古いSL1.0970を保てば120 USDになります。

縮小後は25,000×0.0020=50 USD、反転後の新売建は15,000×(1.1070−1.1040)=45 USD。これは残るエクスポージャーそれぞれの尺度で、以前の実現益を足し戻しません。実損失には費用や違う約定値もあり、口座通貨・契約仕様も必要です。同じSL価格でも数量が変われば金額は変わります。

円の例:変更予定の200円と、受理された保護は別

別の架空USD/JPY nettingで、買い1,000 USD建値150.00・SL149.50を保有。独自EAが150.20で1,000 USDを追加し、SL=0、TP=0を渡して増加約定したとします。合計2,000 USD、加重建値150.10ですが、この経路では現在SLが削除された状態です。後からSL150.00を変更依頼する計画なら、その水準どおりの価格損失は(150.10−150.00)×2,000=200円。ただし送信前・未受理の予定値は有効な保護ではありません。

さらに架空条件として現在Bid150.15、最小ストップ距離0.20円、価格刻み0.01円とします。SL150.00は距離0.15円しかなく、ここで仮定した距離条件に適合しません。149.95へ遠ざければ距離0.20円となっても、建値との差は0.15円×2,000=300円。費用なしのリスク予算250円を超えます。他の受理条件も別にあり、「通る価格」だけで計画適合とは言えません。

当初の1,000×0.50=500円という別状態と、新予定200円、遠ざけた300円を混ぜないでください。現在の建玉・保護を確認し、必要なら利用可能な削減方法を検討するための説明で、実口座へ保護なし注文やストップ拡大を勧める演習ではありません。

応答のあとに照合する値

銘柄、方向、残数量、加重建値、現在S/L・T/Pを事前計画と比較します。MQL5 OrderSendがtrueでも約定の確認ではなく、resultのretcode、必要な外部コード、イベントと口座状態を確認。不明応答は仮定で反復する理由になりません。注文・変更の拒否原因も使います。

SLがないなら現状を評価し、単に受理させるために遠ざけません。拒否理由、気配、銘柄条件を記録。SLだけ変えるつもりの依頼でもTPを確認し、誤って0で上書きしないようにします。有効な変更でもリスク計画へ反する場合があります。

前後状態と注文・約定IDを残します。POSITION_IDENTIFIERはnettingの反転でも履歴を結び付ける識別子として維持され、POSITION_TICKETは変わり得ます。別チケットだけで全く無関係な履歴とは決めません。同じ口座とサーバーから識別情報を読み、別ログインの画面を前後比較に使いません。

予定ストップと受理条件を分ける

予定ストップと受理条件を分ける架空USDJPY追加後2,000USD、建値150.10、Bid150.15、最小距離0.20円、費用なし。仮定に基づく計算予定SL150.00200円遠ざけた149.95300円EA追加注文のSL=0削除された状態
予定ストップと受理条件を分ける. 架空USDJPY追加後2,000USD、建値150.10、Bid150.15、最小距離0.20円、費用なし。

受理条件を満たすことと、リスク計画を満たすことは別です。

小さな画面では横にスクロールするか、図を拡大できます。数値と要点は下のテキストにも記載しています。

予定SL150.00
200円 – 金額は予算250円内でも距離0.15円で不適合。未受理は保護でない。
遠ざけた149.95
300円 – 距離0.20円でも予算250円を超える。他条件も別確認。
EA追加注文のSL=0
削除された状態 – チャートのOneClick既存水準維持と同じにしない。

一致するデモで操作を分ける

netting確認済みデモで小さい許可数量を使い、状態前・依頼・予想・サーバー応答・実状態後の表を用意。増加、縮小、反転は別々に試し、各確認後に数量とSL・TPを読みます。注文画面、簡易パネル、独自EAを区別し、本番資金でこの実験をしません。差を説明してから次へ進み、以前のSLが生きていると推測しないでください。MT5と口座方式の全体像にも戻れます。