FX EAの最大ドローダウン許容範囲と正しい管理方法|何%まで許容すべきか完全解説
最終更新: 2026年6月
EA(Expert Advisor)を運用していると、避けては通れない問いがある。「このドローダウンは許容できる範囲なのか、それとも止めるべきなのか」というやつだ。
先に結論を出してしまう。一般的な目安として、EA運用における最大ドローダウン(MDD)の許容範囲は20〜30%程度とされることが多い。ただしこの数字は運用資金の規模、レバレッジ設定、ブローカーのロスカット水準によって個人差が大きい。あくまで出発点の目安として捉えてほしい。
本記事では、MDDの定義と計算式から、許容範囲の根拠、回復コストの非対称性、MQL4による自動停止実装までを扱う。筆者はアルゴリズム取引の現場で複数のEAポートフォリオを管理してきた。そこで身についた数理的な視点を軸に整理した。
最大ドローダウン(MDD)とは何か
MDDの定義と計算式(相対DD・絶対DDの違い)
最大ドローダウン(Maximum Drawdown、以下MDD)とは、資産曲線が過去の高値から最も深く落ち込んだ幅を指す。直感的には「最も運が悪かったときの損失幅」だが、数理的には資産の時系列 ${V_t}$ に対して次のように定義される。
$$ \text{MDD} = \max_{0 \le s \le t} \left( \frac{\max_{0 \le u \le s} V_u - V_s}{\max_{0 \le u \le s} V_u} \right) $$
つまり、ある時点 $s$ までの資産最大値と現在値の差を、その最大値で割った比率の最大値だ。
MetaTraderのバックテストレポートで表示されるのは主に2種類ある。
**相対ドローダウン(Relative Drawdown)**は、初期証拠金を基準にした下落率だ。例えば100万円から始めて80万円まで下落すれば、相対DDは20%となる。EA評価では相対DDが使われることが多い。
**絶対ドローダウン(Absolute Drawdown)**は、運用中の最高資産額を基準にした下落幅の絶対値だ。「いくら減ったか」という金額ベースの数字になる。
運用実務では相対DDを主な指標として扱い、「バックテスト期間中のMDDが何%だったか」をEA評価の出発点にする。
バックテストとフォワードでのMDDの乖離が起きる理由
バックテストのMDDが15%だったEAが、フォワード(実運用)では30%を超えた——こういった事例は珍しくない。
原因は複数ある。最も根本的なのは**過学習(オーバーフィット)**だ。バックテストはヒストリーデータに最適化されているため、見ていないデータでは本来の損失分布が顔を出す。
さらに、バックテストでは再現できない摩擦コストが実運用には存在する。スプレッドの動的拡大、スリッページ、サーバーのレイテンシ、約定拒否といったものだ。これらはシステマティックにフォワードのパフォーマンスを悪化させ、MDDを押し上げる。
筆者が以前検証した複数のEAでは、バックテストMDDの1.5〜2.5倍程度のフォワードMDDが観測されるケースが多かった。この経験則から、バックテストMDDに1.5〜2倍の安全係数を乗じてフォワードでの期待MDDを見積もることを勧めている(あくまで筆者の経験に基づく目安であり、EAの特性によって大きく異なる)。
EA運用で許容できるMDDの目安
一般的な許容範囲(20〜30%)の根拠
EAコミュニティや国内外のトレード教材において、「MDDの許容ラインは20〜30%」という数字がよく使われる。この数字の背景には何があるのか。
一つは心理的な継続可能性だ。人間は損失に対して利益の約2倍の感情的インパクトを受けるとされる(プロスペクト理論の損失回避バイアス)。30%を超える含み損を抱えながら自動売買を信頼し続けることは、大多数の個人投資家にとって現実的に難しい。
もう一つは回復コストの非対称性だ。次のセクションで詳述するが、30%を超えると回復に必要なリターンが急激に増加する。20〜30%という目安は、この非対称性が「まだ現実的な回復圏内」に留まる境界線に近い水準だ。
ただし、この数字はあくまで一般論だ。個人のリスク許容度、運用資金全体に対する比率、他資産との分散状況によって適切な水準は変わる。
運用資金規模とレバレッジによって変わる許容MDD
許容MDDは固定した数字ではなく、運用環境に応じて設計するものだ。
ここで押さえておきたいのは、「EA運用に充てる資金」と「総資産」を分けて管理するという発想だ。例えば総資産500万円のうち100万円をEA運用に割り当てた場合、EAの口座上のMDDが50%(50万円)であっても、総資産に対する影響は10%に過ぎない。
レバレッジも絡む話だ。高レバレッジ設定ではMDDの絶対金額が同じでも発生頻度と深度が変わる。一般的に、ロット設定が大きいほど短期間での深刻なドローダウンが起きやすい。ロスカットラインとMDDの間に十分な「クッション」を確保することが、設計段階から求められる。
ロスカットラインとMDDの安全距離の計算式と数値例
ロスカットが発動するMDD水準を事前に把握することは、EA運用の基本だ。
ブローカーのロスカットは通常、証拠金維持率(Margin Level)が一定水準(例:20〜50%)を下回ったときに発動する。
仮にロスカット水準が証拠金維持率20%のブローカーで、初期証拠金100万円、必要証拠金が10万円の場合を考える。
証拠金維持率 = (純資産 ÷ 必要証拠金) × 100%
ロスカット発動時の純資産 = 10万円 × 20% = 2万円
→ 損失許容額 = 100万円 - 2万円 = 98万円
→ ロスカットMDD ≒ 98%
この例は極端だが、複数ポジションを同時保有するEAでは必要証拠金の合計が増え、ロスカット発動ラインが大幅に上昇する。ナンピン系EAを高ロット設定で動かした場合、MDDが40〜50%の水準でロスカットが発動するケースもある。
安全距離の目安として、「設定した許容MDD × 2」を超えた水準でロスカットが発動するよう設計することを勧める(例:許容MDD 25%なら、ロスカット発動は50%MDD以降になるよう証拠金を確保)。ロスカットの詳細なルールはブローカーごとに異なるため、必ず各社の規定を確認すること。
MDDが大きいEAを使い続けるリスク
ドローダウン回復に必要なリターンの非対称性
EA運用において最も見落とされがちな数理的事実がある。
損失と回復に必要なリターンは対称ではない。損失率を $d$、回復に必要なリターン率を $r$ とすると:
$$ r = \frac{d}{1 - d} $$
具体的な数値で示す。
| 損失率(MDD) | 回復に必要なリターン | |---|---| | 10% | 11.1% | | 20% | 25.0% | | 30% | 42.9% | | 40% | 66.7% | | 50% | 100.0% | | 60% | 150.0% |
-30%からの回復には+42.9%(約+43%)が必要になる。-50%なら元本に戻すために+100%が必要だ。
何を意味するか。MDDが深くなるほど、同じEAが過去と同じパフォーマンスを発揮し続けたとしても、回復にかかる時間が指数関数的に長くなる。資金効率が著しく落ちる。
30%という許容ラインが意識される理由の一つは、この+43%という回復コストが「現実的に達成可能な上限に近い」という感覚的な閾値と一致しているからだと筆者は見ている。
ナンピン・マーチン系EAが高MDDになりやすい構造的な理由
ナンピン(逆張りナンピン)とマーチンゲールは、含み損のポジションに対して追加発注することで平均取得単価を下げる(または逆方向に大きく賭ける)戦略だ。
この戦略が高MDDになりやすい理由は構造的にシンプルだ。
通常のEAは損切りによって損失を確定し、資産曲線のドローダウンを「浅く・早く」に設計する。一方、ナンピン系は損切りを行わずポジションを積み増すため、相場が一方向に伸びる局面で含み損が雪だるま式に拡大する。MDDの累積速度が通常のEAとは根本的に異なる。
さらに問題なのは、MDDの確率分布の「裾」が重い点だ。通常の局面では小さな利益を積み重ねMDDも浅い一方、稀に発生するトレンド相場で一気に深刻なドローダウンに陥る。バックテスト期間中にそういった相場が含まれていなければ、バックテストMDDは過小評価される。
ナンピン系EAの評価については、過去の最大ドローダウンだけでなく「ドローダウンの発生頻度」と「回復期間の分布」も合わせて確認してほしい。Myfxbookなどのトラッキングツールで実績データを確認する習慣をつけたい(Myfxbookの読み方については関連記事を参照)。
MDDを管理するための実践的な対策
最大ロット制限の設定
MDDを制御する最も直接的な手段は、最大ロットの上限設定だ。
ロット数を増やせば期待リターンも増えるが、MDDも比例して拡大する。固定ロットか変動ロット(資金比例)かにかかわらず、「この口座でこのEAに使う最大ロットはXXXlot」という上限を明示的に設定する。
特にナンピン系EAでは、ナンピンの最大回数(MaxCount)と1回あたりのロット増分を制限することがMDD管理の核心となる。MaxCountの設定と安全なリスク管理については別記事で詳しく解説している。
複数EA分散によるMDD平滑化の効果
相関の低い複数のEAを組み合わせることで、ポートフォリオ全体のMDDを平滑化できる。分散投資の原理をEA運用に適用したものだ。
2つのEAを運用するケースを考えると、各EAのMDDが25%であっても、両者の損益の相関が低ければ、両方が同時に最大ドローダウンに陥る確率は低くなり、ポートフォリオ全体のMDDは25%を下回る。
ただし、相関は市場環境によって変動する。特に急激な相場変動(リスクオフ局面、重要経済指標発表後など)では、普段は無相関に見えたEA同士が同時にドローダウンに陥ることがある。複数EA運用の詳細については、EAポートフォリオ管理の記事で詳しく解説しているので参照してほしい。
MDDトリガー時の自動停止設定(MQL4コード例)
許容MDDを超えた時点でEAを自動停止するのは、感情的な判断を排除するうえで有効な手段だ。以下はMQL4での実装例だ。
//+------------------------------------------------------------------+
// MDD監視・自動停止ロジック(サンプル)
// ※ 実運用前に必ずバックテストおよびデモ口座で動作確認すること
//+------------------------------------------------------------------+
input double MaxDrawdownPercent = 25.0; // 許容MDD(%)
double initialBalance = 0;
double peakBalance = 0;
//--- 初期化時に残高を記録
void OnInit()
{
initialBalance = AccountBalance();
peakBalance = AccountBalance();
}
//--- ティックごとにMDDをチェック
void OnTick()
{
double currentBalance = AccountBalance();
// ピーク更新
if (currentBalance > peakBalance)
peakBalance = currentBalance;
// 現在のドローダウン率を計算
double currentDD = 0;
if (peakBalance > 0)
currentDD = (peakBalance - currentBalance) / peakBalance * 100.0;
// 許容MDDを超えたら全ポジションを閉じてEA停止
if (currentDD >= MaxDrawdownPercent)
{
Print("MDD上限到達: ", DoubleToStr(currentDD, 2), "% - EA停止処理を開始");
CloseAllPositions();
ExpertRemove(); // EAをチャートから削除
}
}
//--- 全ポジションを成行決済
void CloseAllPositions()
{
for (int i = OrdersTotal() - 1; i >= 0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_BUY)
OrderClose(OrderTicket(), OrderLots(), Bid, 3, Red);
else if (OrderType() == OP_SELL)
OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
}
}
}
このコードは動作の概念を示すサンプルだ。実際の運用に組み込む前に、デモ口座での動作確認とブローカー環境への適合確認を必ず行ってほしい。スプレッドや約定タイミングの差異によって、意図した通りに動作しない場合がある。
許容MDDを超えたときの判断フロー
一時停止 vs 完全撤退の判断基準
許容MDDを超えた時点で、2つの選択肢がある。一時停止(稼働を止めて様子を見る)と完全撤退(そのEAの運用を終了する)だ。
筆者が判断の基準として重視するのは次の問いだ。
「現在のドローダウンはバックテストの最大MDDの範囲内か、それとも超えているか」
バックテストMDDの範囲内であれば、EAが設計通りに動いているが運悪くドローダウン局面に入っているだけの可能性がある。この場合は一時停止して相場環境を確認する選択が合理的だ。
バックテストMDDを大きく超えている場合(目安として1.5倍以上)は、EAのロジックが現在の相場環境に適合していない、またはそもそもバックテストが過学習していた可能性が高い。完全撤退を真剣に検討すべき段階だ。
一時停止を選ぶ場合は、再稼働の条件を事前に設定しておいてほしい。「〇週間後に相場環境を再評価する」「ドローダウンがXX%回復したら再稼働する」といった具体的な条件を決めずに再稼働すると、感情的な判断が入り込む。
過去の最大MDDを参考にした継続判断
EA評価において、バックテスト期間全体のMDDだけでなく**ドローダウンの持続期間(DD Duration)**も重要な指標だ。
あるEAが一度MDDを記録した後、どれくらいの期間で回復したか。これが1〜2ヶ月であれば、現在のドローダウンが同程度の期間続いていても焦る必要はないかもしれない。ただ過去の最長回復期間を超えてもドローダウンが続くようであれば、環境変化が起きている可能性を疑うべきだ。
MDDの発生タイミングも確認したい。特定の相場イベント(中央銀行の政策変更、地政学的リスクの高まりなど)とMDDが一致しているなら、そのEAが特定の相場環境に弱いことが分かる。現在の相場環境と照らし合わせて判断材料にできる。
よくある質問(FAQ)
Q: MDDが30%を超えたEAは使うべきでないですか?
A: 30%はあくまで目安であり、絶対的な禁止ラインではありません。ただし-30%からの回復には+43%のリターンが必要になる点を理解したうえで、そのEAのドローダウン回復実績と現在の相場環境を踏まえて判断してください。バックテストMDDの1.5倍を超えた場合は、ロジックの有効性そのものを疑うべき段階に入ります。
Q: バックテストとフォワードのMDD、どちらを重視すべきですか?
A: 判断の優先度はフォワードMDDが上です。バックテストは過去データへの最適化が含まれるため、フォワードの実績が存在するならそちらを基準にしてください。フォワードデータが少ない場合は、バックテストMDDに1.5〜2倍の安全係数を掛けた数値を期待フォワードMDDとして使うのが現実的です(あくまで目安)。
Q: 証拠金の何%をMDD許容ラインに設定すべきですか?
A: 一般的には証拠金の20〜30%が目安として使われますが、これはEA運用に充てている資金の割合によっても変わります。総資産の一部だけをEA運用に割いているなら、EA口座上のMDDを30〜40%まで許容することも設計としては成立します。重要なのは「EA口座が全損しても総資産への影響が許容できる範囲か」を先に確認することです。ロスカットのルールはブローカーごとに異なるため、設定前に各社の規定を必ず確認してください。
Q: ナンピンEAのMDDはなぜ急に跳ね上がるのですか?
A: ナンピン系EAはポジションを損切りせず積み増すため、相場が一方向に伸び続ける局面で含み損が乗数的に拡大します。通常の局面ではMDDが小さく見えるのは、含み損を「隠した」状態でのみ動いているためです。一度トレンド相場に捕まると、それまで積み上げた小さな利益をすべて消しても追いつかない深さのドローダウンが短期間で発生します。バックテスト期間に強いトレンド相場が含まれていない場合、この構造的リスクが過小評価される点に注意が必要です。
免責事項: 本記事はFX取引に関する情報提供を目的としており、特定の投資を推奨するものではありません。FX取引には元本割れのリスクがあり、過去のバックテスト成績は将来の利益を保証するものではありません。投資判断はご自身の責任で行ってください。
