← EAラボ
Breakout Martin Gale EA(MQL5 Code Base

無料マーチンゲールEAをバックテスト

判定頑健なエッジ無し
出典(コード)を見る ↗

コミュニティで配布される「無料EA」を、宣伝文句ではなく実データで評価するとどうなるか。 このケースでは、MQL5 Code Base で無料公開されているマーチンゲール型EA Breakout Martin Gale Expert Advisor for MT5(作者 Mullerp04)を対象に、コードを一切改変せず、本物の .mq5 を MetaTrader 5 のストラテジーテスターでそのまま実走させました。

このEAは USD/JPY の H1 で +39.6% という見栄えのする成績を出します。 しかし結論から言えば、この数字に戦略の実力は含まれていません。 高勝率は構造から機械的に出るもので、公平なコイン(ドリフト0の相場)で回せばスプレッドの分だけ確実に負ける設計です。 USD/JPY で勝ったのは、たまたま上昇トレンドが噛んだからにすぎず、銘柄を替えればエッジは消えます。

なぜこのEAを選んだか。 自動売買セクションで示した「マーチンゲールは幾何級数で破綻する」という理論を、実在のEAで裏付ける第1弾として、マーチン型の代表を1つ取り上げたかったためです。 本EAは Code Base で閲覧2.5万・評価4.7(12件)と実際に使われており、活発に更新されている(2023年公開、2025年まで更新)ものです。恣意的に選んだ出来の悪い例(strawman)ではありません。

対象EAの構造

ソースコードから読み取れる戦略は次のとおりです。

  • 入場(ブレイクアウト): 直近バーの値幅が、その前10本の平均値幅の3倍超(異常足)で、かつ実体が値幅の50%超のとき、その足の方向へ成行。同時に持つのは1ポジションのみ。
  • 資金管理(マーチンゲール): 利確目標を金額(残高の0.1%)、損切りを金額(残高の1%)で管理。ロットは「50ポイント=5pips動けば目標利益になる」よう逆算する。小さな損切りに当たると全決済し、次の利確目標に損失を上乗せしてロットを増やし、取り返しにいく。取り返せなければ残高の10%で最終損切り。

構造上、利確は+5pips、損切りは−50pips(1:10)。勝てば小さく、負ければ10倍。これが「高勝率だが稀に大きく負ける」というマーチンゲールの形です。

重要なのは、このEAが銘柄も時間軸もコード上で指定していないことです。 エントリー判定は PERIOD_CURRENT(貼り付けたチャートの時間軸)と _Symbol(貼り付けたチャートの銘柄)で動き、入力パラメータにも銘柄・時間軸は存在しません。Code Base の説明も「the Forex market 向け」とあるだけです。

唯一の手がかりは、作者がページに掲載しているバックテスト画像です。 そこで使われているのは USD/JPY・H1・2022年7月〜2023年8月(約1年)。 ドル円が137円から145円超へ一方的に上昇した局面にあたります。 つまり作者は、このEAが最も見栄えする一隅を提示している(上昇トレンドのドル円・高い時間軸・短い期間)ことになります。 以下では、その提示された設定から少しずつ動かし、成績がどれだけ保たれるかを見ます。

方法

  • 本物の .mq5 を MetaTrader 5 のストラテジーテスターで実走(XM のデモ環境)
  • 期間 2021–2026、初期証拠金 500万円、レバレッジ 1:1000、入力はすべてデフォルト
  • モデルは「1分足OHLC」で統一。理由は再現性です。このモデルは同じ設定なら毎回まったく同じ結果になります(実測で確認)。一方「リアルティック」モデルは、MT5 が tick データを段階的にダウンロードするため実行のたびに結果が変わり、検証には向きません。ただし1分足OHLCが使うスプレッドは約1.5pips固定とやや楽観的で、実スプレッドではさらに不利になる点は割り引いて読んでください。
  • 「エッジの有無」を切り分けるため、資金管理を1文字も変えず入場だけを差し替えた対照EA(方向をコインフリップにした版、フィルタを外して毎バー入場する版)を同環境で比較

数字はすべて、再実装ではなく本物のEAの実走結果(1分足OHLCモデル)です。

結果1:一見、勝てる(USD/JPY・H1)

デフォルト設定・USD/JPY・H1 で走らせると、128トレードで最終 +39.6%。 勝率は高く、エクイティは右肩上がりに見えます。ここだけを切り取れば「優秀なEA」に見える成績です。

結果2:高勝率は「機械的」に出る

まず勝率を疑います。 このEAは利確+5pips・損切り−50pipsの1:10構造です。 相場が完全な公平コイン(ドリフト0のランダムウォーク)だと仮定すると、勝つ確率は数学的に決まります。

P(勝ち)=損切り幅利確幅+損切り幅=505+50=90.9%P(\text{勝ち}) = \frac{\text{損切り幅}}{\text{利確幅} + \text{損切り幅}} = \frac{50}{5 + 50} = 90.9\%

つまりエッジがゼロのコインでも、この構造は勝率91%を叩き出す

ただしこれはコスト無しの理論値です。 実際にはスプレッド(約1.5pips)の分だけ利確が遠く損切りが近くなるため、これを算入すると理論勝率は88.1%まで下がります。 対等に比べるには、理論側にも同じスプレッドを課す必要があります。

1トレード勝率
公平コイン(コスト無し)90.8%
公平コイン(スプレッド1.5pip込み)88.1%
実EA(USD/JPY H1・実測)89.1%

実EAの実測勝率89.1%は、ちょうど公平コインの帯(スプレッド込み88.1% 〜 コスト無し90.8%)の中に収まります。 勝ちの中央値は+6.7pips、負けの中央値は−51.0pipsで、狙いどおりの1:10構造でした。 高勝率はエッジの証拠ではありません。 同じスプレッドを課したコインと区別がつかない、機械的な数字です。

結果3:公平コインなら、スプレッド分だけ負ける

では公平コインで回すと、損益はどうなるか。 利確と損切りが確率で相殺するため、コストが無ければ期待値はちょうどゼロ(フェアゲーム)。 そこにスプレッドを入れると、その分だけ確実に沈みます。

公平コインでEAを回したモンテカルロ。コスト無しは平均ほぼ横ばい、スプレッド1.5pipありは800トレードで平均−36%まで沈む。

モンテカルロ4,000本。白線(コスト無し)はほぼ横ばい=設計上フェアゲーム。ティール線(スプレッド1.5pip)は一貫して沈み、800トレードで平均−36%。細い線の散らばりは、単一バックテストがいかにブレるかを示す(一部は右肩上がりに伸びる=「1本の運が良いだけ」の生存者バイアス)。

トレード数コスト無し+スプレッド1.5pip
100+0.0%−5.3%
300−0.1%−15.2%
500−0.1%−24.1%
800−0.6%−36.0%

しかもマーチンゲールがスプレッド損を増幅します。 取り返しにいくときに大ロットを張る=そのとき最も多くスプレッドを払うため、単純な「1.5pips×回数」より大きく削れます。 これが、コストとマイナスサムの数理の、実在EAによる姿です。

結果4:時間軸を下げるだけで崩壊

EAは時間軸を指定していないので、貼り付ける足を変えるのは正当な検証です。 同じEA・同じ銘柄・同じ期間で、時間軸だけを変えます。

時間軸を変えるだけで最終リターンが+40%から−66%まで変化する棒グラフ。

実データ(XM・USD/JPY・2021–2026)。時間軸を下げると異常足が増えて取引回数が増え、スプレッド損とマーチンの破綻曝露が上がる。

時間軸を下げるほど取引回数が増え、リターンは単調に悪化します。 H1(128回)で+40%だったのは、まだ試行が少なく、スプレッド損と破綻がじゅうぶん顕在化していないだけでした。 参考までに、公平コイン+スプレッドの理論では約680トレードで−31%前後。 実際のM5(681トレード)は理論よりさらに沈み、−66%でした。 なお全時間軸で、ロットは初期の1ロットから最大11〜18ロットまで膨張しており、増し玉が実際に作動しています。

結果5:銘柄を替えるとエッジは消える

USD/JPY での+40%は、方向シグナルの実力なのか。 入場する回数とタイミングは同じまま、方向だけをコインフリップにした版を25通りの乱数で走らせ、帰無分布を作りました。 これを4通貨で繰り返します。

4通貨の帰無分布。USD/JPYだけ原著が分布の右外、他3通貨は分布の中に埋没。

実データ(XM H1・2021–2026・方向コインフリップ25シード)。原著(アンバー線)が帰無分布を明確に上回るのは USD/JPY のみ。

銘柄原著ブレイクアウト方向ランダムの帰無平均帰無分布での原著の位置
USD/JPY+39.6%−12.2%100%タイル(唯一の外れ値)
EUR/USD−7.1%+0.5%28%タイル
EUR/GBP+0.1%−2.3%64%タイル
AUD/NZD+3.0%+0.5%〜42%タイル

方向シグナルが帰無分布を明確に上回るのは、4通貨中 USD/JPY だけ。 レンジ寄りのクロス(EUR/GBP、AUD/NZD)では、ブレイクアウト方向はコインフリップと区別がつきません。 つまり USD/JPY で見えた「エッジ」は、2021–2024 の一方向トレンドに、ブレイクアウト継続がたまたま乗っただけです。 1銘柄・1期間で得た有意性は、他のメジャー通貨で崩れます。検証の方法論が単一バックテストを信用しない理由そのものです。

結果6:フィルタは「予測」していない

このEAは「異常足フィルタに意味がある」と主張しています。 では、フィルタを完全に外した版(毎バー入場・方向コインフリップ)を、短い窓に限定して回すとどうなるか。 USD/JPY・H1・2022年7〜10月(約4か月・185〜224トレード)を、6通りの乱数で走らせました。

シードトレード数リターン
1202−26.9%
2215−6.8%
3224+14.6%
4210−36.2%
5210+10.4%
6185+31.2%

フィルタが無くても、6回中3回はプラス、最大+31%でした。 100〜200トレードに限れば、陽性のバックテストを作るのは、期間や乱数を少し変えて試すだけで容易です。

ところが同じ無フィルタEAを全期間(約5,700トレード)で回すと、今度はほぼ全損(−99.9%)。 「陽性」と「全損」を分けているのは、トレード数(試行回数)だけです。フィルタでも予測でもありません。 これは、フィルタ版の「H1(128回)で+40%、M5(679回)で−66%」とまったく同じ構造です。

作者が提示した1年のバックテストも、この「短期サンプルなら陽性を引ける」の一例にすぎません。

結論:勝つには「未来のトレンド」を事前に知る必要がある

ここまでを整理します。

  • 高勝率(89%)は機械的。エッジがゼロのコインでも91%出る
  • 公平コインで回せば、スプレッドの分だけ確実に負ける。マーチンがそれを増幅する
  • USD/JPY での+40%は、方向シグナルの実力ではない。4通貨で唯一の外れ値であり、上昇トレンドへのフィッティング
  • 時間軸を下げ、試行を増やすほど、理論どおり(あるいはそれ以下に)沈む

このEA自体のエッジはゼロです。 利益の源泉は「たまたま都合のいいトレンドが来ること」だけ。 ところが、どの銘柄で・どの時間軸で・いつ、そのトレンドが来るかを事前に当てること、それこそがエッジであり、それはEAの中には存在しません。

このEAで勝つには、「このEAに都合のいいトレンドが来る」ことを事前に知っている必要がある。だが、それを知っているなら、EAは要らない。

しかも90%の高勝率が「システムが機能している」という錯覚を与えます。 実際は、自分が予測もしていないトレンドに乗っている(あるいは逆らっている)だけ。 その錯覚は、予測しなかったトレンド転換が来た日に、口座ごと溶けます。

これは strategy-families が示したマーチンゲールの破綻構造 と、指標のメタ検証 と同じ教訓の、実在EAによる実証です。 「バックテストが良く見える」ことは、エッジがあることを意味しません。

再現方法

  1. MQL5 Code Base #46591 からEAを入手し、MetaTrader 5 でコンパイル
  2. ストラテジーテスターで モデルは「1分足OHLC」、USD/JPY・H1・2021–2026・初期証拠金500万円・レバレッジ1:1000、入力デフォルトで実走 → 約 +40%
  3. 時間軸を M15・M5 に、次に銘柄を EUR/USD・EUR/GBP・AUD/NZD に変えて再実行 → 成績が崩れることを確認

MT5 と無料EAがあれば、誰でも同じ結果を再現できます。

参考

← EAラボの一覧へ