
「Smart Loss Exit」は取引戦略ではありません。ポジションを開くことは一切ありません。 1つのチャートに設定すると、指定したポジション(手動トレードや他のEAによるもので、銘柄やマジックナンバーでフィルタリングされたもの)を監視し、5つのルールのいずれかが発動した際に、損失を抱えているポジションを決済します。利益が出ているポジションは、ルールがどう定められていても決して手をつけられません。
このアイデアは、バックテストでよく見られるパターンに由来しています。すなわち、勝率は高いものの、わずかな負けトレードがストップロスまで達してしまうため、プロフィットファクターが依然として低いという状況です。重要なのは「負けトレードを早めに決済する」ことではなく、「ストップロスに達しそうだったポジションを決済し、回復する見込みのあるポジションはそのままにしておく」ことです。 だからこそ、すべてのルールが「入力」となり、猶予期間が設けられ、すべての決済がジャーナルに記録されるのです。ジャーナルこそが、どのルールがこれら2つを区別したかを教えてくれるのです。
猶予期間。ポジションがN分(デフォルトは5分)経過するまでは、どのルールも評価されないため、通常のエントリーに伴うドローダウンは切り詰められない。
観察専用モード。実際にポジションを決済することなく、本来なら決済されていたであろうポジションとその理由をジャーナルに記録します。まずこのモードで運用し、ジャーナルからどのルールが成果を上げているかが判明したら、ルールを有効にしてください。
ルール1 — ATRの逆方向への逸脱。価格がエントリー方向とは逆方向にN × ATR以上動いた場合(選択した時間枠におけるデフォルト値は1.5 × ATR(14))。
ルール2 — 保有期間。ポジションの保有時間がN分(デフォルト240分)を超えており、依然として損失状態にある場合。
ルール3 — EMAトレンドの無効化。直近の終値バーにおいて、買いポジションの場合は高速EMAが低速EMAを下回っている、または売りポジションの場合は上回っている(デフォルト:20/50)。
ルール4 — RSIのモメンタム。直近の終値バーにおいて、RSIが損失を出している買いポジションの場合は指定レベルを下回り、損失を出している売りポジションの場合は指定レベルを上回っている(デフォルト:オフ、35/65)。
ルール5 — 損失上限。スワップや手数料を含む浮動損失が、所定の金額を上回っている場合(デフォルト:オフ)。
ルール1と2は各ティックごとにチェックされます。ルール3と4は終値バーのデータを参照するため、再描画されることはありません。ルールは上記の順序でチェックされ、最初にトリガーされたものが記録されます。
ジャーナル。エグジットが発生するたびに、MQL5\Files\SmartLossExit_journal.csv ファイルに1行が追加されます。その内容は、時刻、銘柄、チケット番号、タイプ、出来高、始値・終値、利益、保有時間(分)、最大不利変動(ピップスおよびATR単位)、および発動したルールです。 1週間後にスプレッドシートでこのファイルを開くと、例えば、1.2倍のATR分の逆行に直面したすべての取引がロスカットまで進んだことが確認できます。これが、ルール1に設定すべき数値です。
パネル。有効なルール、管理中のポジション、損失を出しているポジションの数、最悪のポジション、ATR単位での最悪の不利な変動、本日の決済、および前回の決済。
すべての決済はエキスパートログに記録され、オプションでターミナルのアラートとして表示されます。
入力
適用範囲:このチャートのシンボルのみを管理する(true) · 管理対象のマジックナンバー、0 = すべて、-1 = 手動のみ(0) · ATR / EMA / RSI の時間枠(M15) · 猶予期間(分単位)(5) · 観察のみ(false)
ルール 1 — ATR:有効 (true) · ATR 期間 (14) · 倍率 (1.5)
ルール 2 — 時間:有効 (true) · 分 (240)
ルール 3 — EMA:有効(true) · ファスト(20) · スロー(50)
ルール 4 — RSI: 有効 (false) · 期間 (14) · 損失の出ている買いポジションを (35) 未満で決済 · 損失の出ている売りポジションを (65) 以上で決済
ルール 5 — 資金管理: 有効 (false) · 口座通貨での最大損失 (50)
ジャーナルと表示:CSVジャーナルを書き込む(true) · ファイル名(SmartLossExit_journal.csv) · すべての決済時にポップアップアラートを表示(true) · パネル/コーナー/フォントサイズを表示(true/左上/10)
1ピップは、3桁および5桁の価格表示では10ポイント、それ以外の場合は1ポイントです。
推奨設定:取引が行われるチャートにインジケーターを配置すること。インジケーターの時間枠としてM15を設定すると、XAUUSDや主要通貨ペアの日中取引システムに適しています。ヘッジ口座およびネッティング口座でも動作します。
検証済み
ストラテジーテスター、EURUSD M1、MetaQuotes-Demo、10,000 USD、ヘッジ口座、猶予期間 0:
ステップ1:ATRルールのみ(0.05 × ATR)、1.00ロット買い
スマートロス・エグジット:EURUSD #2 買い 1.00ロット、-4.00の損失で決済 - ATR 0.11倍 > 0.05倍(0分、MAE 0.4ピップス)OK
ステップ2:MONEYルールのみ(上限3)、1.00ロット買い
スマートロス・エグジット:EURUSD #4 買い 1.00ロット、-25.00の損失で決済 - MONEY 25.00 > 3.00(0分、MAE 2.5ピップス)OK
ステップ3:TIMEルールのみ(2分)、買い+売り
スマートロス・エグジット:EURUSD #7 売り 0.10、-2.50の損失で決済 - TIME 2分 >= 2(2分、MAE 3.0ピップス)OK
スマートロス・エグジット:EURUSD #6 買い 0.10、-2.50の損失で決済 - 時間 2分 >= 2 (2分、MAE 3.4ピップス) OK
合格:損失ポジションはすべて決済済み、利益が出ているポジションは0件保持中
合格:ジャーナルにはヘッダーと4行が含まれている
自己診断完了:合格8件、不合格0件
その実行で作成された取引記録:
時間,銘柄,チケット番号,タイプ,出来高,始値,終値,利益,保有期間(分),MAE(ピップス),MAE(ATR),理由
2026.06.02 00:00:00,EURUSD,2,BUY,1.00,1.16317,1.16313,-4.00,0,0.4,0.11,ATR 0.11x > 0.05x
2026.06.02 00:03:00,EURUSD,4,買い,1.00,1.16336,1.16311,-25.00,0,2.5,0.79,MONEY 25.00 > 3.00
2026.06.02 00:08:00,EURUSD,7,売り,0.10,1.16304,1.16329,-2.50,2,3.0,0.95,時間 2分 >= 2
2026.06.02 00:08:00,EURUSD,6,買い,0.10,1.16329,1.16304,-2.50,2,3.4,1.07,時間 2分 >= 2
0件のエラー、0件の警告でコンパイルされました (ビルド 6198)。
注記
- 「Risk Guard」(同じ作者)との組み合わせ:Risk Guardはエントリー時のリスクサイズと上限を設定し、Smart Loss Exitはエグジット時に損失を最小限に抑えます。
- 「このチャートのシンボルのみを管理」をオフにし、マジック番号を 0 に設定すると、1 つのチャートから口座全体を管理できます。インジケーターのハンドルは、シンボルが最初に検出された際にシンボルごとに作成されます。
- ジャーナルファイルは共有モードで開かれるため、EAの実行中にスプレッドシートで読み込むことができます。
- チューニング方法:「Observe only = true」を設定して1週間稼働させてください。 ポジションは一切決済されません。ルールが発動するたびに、理由の先頭に「OBSERVE」を付加した1行のジャーナルが記録されます。それらの取引記録を実際の結果と比較し、完全な損失となったものを捕捉したルールは維持し、回復したものを捕捉したルールは緩和してから、「Observe only」をオフにしてください。