FXのEA(Expert Advisor、自動売買プログラム)で「勝率90%以上」というバックテスト結果を見ると、非常に優秀なシステムに見えます。しかし、勝率90%という数字だけでは、そのEAが優秀かどうかは判断できません。バックテストでは条件設定やパラメータ調整によって高い勝率を作ること自体は可能であり、重要なのは勝率ではなく、損益比率、最大ドローダウン、取引回数、テスト期間、スプレッドや手数料、フォワードテストで再現できるかといった点です。MetaTrader 5にも、過去データへの過剰適合を避けるためのフォワードテスト機能が用意されています。[参照]
- FXのEAで勝率90%は「奇跡的」とは限らない
- EAの評価では「勝率」より期待値が重要
- バックテストなら勝率90%を作りやすい理由
- MetaTraderにも過剰最適化を避けるフォワードテスト機能がある
- 勝率90%でも「ナンピン・マーチンゲール型」には特に注意
- 最大ドローダウンを見るとEAの本当の危険性が分かりやすい
- バックテストの取引回数が少ないと勝率90%の意味は薄い
- 上昇相場だけでテストしたEAは危険
- バックテストのデータ品質も重要
- スプレッド・手数料・スリッページを入れると成績が崩れるEAもある
- 「AIを使っている」ことは高性能の証明にはならない
- 優秀なEAを判断するなら確認したい項目
- 本当に強いEAならバックテスト以外でも結果が残る
- まとめ:勝率90%は高いが、それだけなら奇跡でも優秀さの証明でもない
FXのEAで勝率90%は「奇跡的」とは限らない
勝率90%という結果は確かに高い数字ですが、バックテストの世界では「ほぼあり得ない奇跡」というほど珍しいものではありません。売買ルールの作り方によっては、勝率90%以上を出すことは十分可能です。
例えば利益確定を5pips、損切りを50pipsに設定するようなEAを考えてみます。この場合、小さな利益を何度も積み重ねる一方で、たまに大きな損失を出す設計になるため、勝率は非常に高くなりやすくなります。
仮に100回取引して90回がプラス5,000円、10回がマイナス50,000円なら、勝率は90%です。しかし損益は、45万円の利益に対して50万円の損失となり、合計では5万円のマイナスです。つまり勝率90%でも負けるEAは普通に作れます。
EAの評価では「勝率」より期待値が重要
自動売買を評価するときに重要なのは、1回の取引あたり平均的にどれだけ利益が残るかという「期待値」です。
考え方を単純化すると、期待値は「勝率×平均利益-負ける確率×平均損失」で考えられます。
例えば勝率90%、平均利益1万円、平均損失5万円なら、期待値は9,000円-5,000円=4,000円となり、理論上はプラスです。一方、平均損失が10万円なら9,000円-1万円=マイナス1,000円となります。同じ勝率90%でも結果はまったく違います。
そのためEAを見る際は、勝率だけでなく平均利益、平均損失、プロフィットファクター、期待利得、最大ドローダウンなどを同時に確認する必要があります。MetaTrader 5のストラテジーテスターでも、勝ち・負けの取引数だけでなく期待利得など多数の統計値を確認できます。[参照]
バックテストなら勝率90%を作りやすい理由
バックテストでは、すでに結果が分かっている過去の価格データを使います。そのため、何度も条件を変更して最も成績のよかったパラメータを選ぶと、過去相場に極端に適合したEAが出来上がることがあります。
例えば移動平均線の期間、利確幅、損切り幅、取引時間、RSIの数値などを何百・何千通りも試し、その中から勝率92%だった設定だけを選べば、非常に優秀に見えるバックテスト結果を作ることができます。
しかし、その設定が将来の相場でも通用するとは限りません。この問題は「過剰最適化」「カーブフィッティング」「オーバーフィッティング」などと呼ばれます。
MetaTraderにも過剰最適化を避けるフォワードテスト機能がある
MetaTrader 5の公式ストラテジーテスターには、過去データへの過剰な最適化を確認するための「Forward」機能があります。テスト期間を、パラメータ調整に使う部分と、その設定を検証する部分に分割する仕組みです。[参照]
例えば2015~2023年のデータを使ってEAを最適化し、2024~2025年のデータを一切見ずにフォワードテストする、といった方法です。
最適化期間では勝率92%だったのに、未知の期間では勝率55%、損益マイナスになったのであれば、過去データに合わせすぎた可能性があります。逆に未知のデータでも似た成績が続けば、信頼性は少し高まります。
勝率90%でも「ナンピン・マーチンゲール型」には特に注意
非常に高い勝率を出すEAでよく確認したいのが、ナンピンやマーチンゲールを使っていないかという点です。
ナンピンとは、含み損になったときに同じ方向へポジションを追加して平均取得価格を近づける手法です。相場が戻れば小さな利益で決済できるため、勝率は高くなりやすくなります。
例えば99回連続で小さく利益を取り、100回目の強烈なトレンドで過去の利益をすべて失うEAでも、数字上の勝率は99%です。そのため「勝率99%」だから「安全性99%」とはまったく言えません。
特に、ロット数を負けるたびに増やす方式や、損切りをほとんど行わず含み損を長期間抱える方式では、バックテストの右肩上がり曲線だけを見て判断しないことが重要です。
最大ドローダウンを見るとEAの本当の危険性が分かりやすい
EAを評価するときに非常に重要なのが「最大ドローダウン」です。これは資産のピークから最も大きく減少した割合や金額を示します。
例えば100万円から運用を始め、一時150万円まで増えた後、90万円まで減った場合、ピーク150万円から60万円下落しているため、大きなドローダウンが発生しています。
勝率95%でも最大ドローダウン70%というEAなら、一度の不調で資金の大半を失う危険があります。逆に勝率55%でも最大ドローダウンが10%程度に抑えられ、長期的な期待値が安定してプラスなら、実運用では後者の方が扱いやすいこともあります。
バックテストの取引回数が少ないと勝率90%の意味は薄い
勝率を見るときは「何回取引した結果なのか」も非常に重要です。
例えば10回取引して9勝1敗なら勝率90%です。しかし、これだけでは偶然の可能性を十分排除できません。
100回で90勝10敗、1,000回で900勝100敗と取引数が増え、異なる相場環境でも同様の結果が続いている方が、統計的な信頼性は高くなります。
そのため「勝率90%」という数字だけを見るのではなく、バックテスト期間、総取引数、年間取引数を確認することが重要です。
上昇相場だけでテストしたEAは危険
EAのバックテスト期間には、さまざまな相場環境を含めることが理想です。
相場には、上昇トレンド、下降トレンド、レンジ、急激なボラティリティ上昇、低ボラティリティなど多様な局面があります。
例えば特定のレンジ相場だけで勝率95%だったEAでも、強いトレンドが発生すると急激に損失が拡大することがあります。そのため数か月程度のバックテストではなく、可能であれば複数年にわたり異なる市場局面を含めて検証する必要があります。
バックテストのデータ品質も重要
同じEAでも、使用する価格データやテスト方法によって結果が変わることがあります。
MetaTrader 5には「Every tick based on real ticks」「Every tick」「1 minute OHLC」「Open prices only」など複数のテスト方式があります。公式ヘルプでは、実ティックを利用する方式が実際の市場条件に近いテスト方法として案内されています。[参照]
またストラテジーテスターのレポートでは「History Quality」が表示され、価格履歴の品質も確認できます。履歴データに欠損などがある場合、バックテストの信頼性にも影響します。[参照]
スプレッド・手数料・スリッページを入れると成績が崩れるEAもある
バックテストで非常に高い勝率を出していても、実際の取引コストを入れると利益が大幅に減ることがあります。
特に数pips程度の小さな利益を何度も取るスキャルピングEAでは、スプレッド、取引手数料、約定価格のズレが成績へ大きく影響します。
MetaTrader 5では、テスト時に口座条件や手数料などを設定できるほか、ネットワーク遅延などを想定したテストも可能です。[参照]理想的な条件だけで勝率90%だったEAが、実運用では大きく成績を落とすことは珍しくありません。
「AIを使っている」ことは高性能の証明にはならない
最近は「AI搭載EA」「機械学習EA」といった表現も増えています。しかしAIを使っていること自体は、将来の利益を保証するものではありません。
AIや機械学習は大量のデータからパターンを抽出できますが、その分だけ過去データへ過剰適合する危険もあります。モデルが複雑になるほど、「過去には驚異的に当たるが未来には弱い」という状態が起こり得ます。
したがってAI型EAでも、通常のEAと同じようにアウト・オブ・サンプル検証、フォワードテスト、実運用テストが必要です。
優秀なEAを判断するなら確認したい項目
バックテスト結果を見る際は、勝率だけではなく複数の指標をセットで確認します。
| 確認項目 | 見るポイント |
|---|---|
| 勝率 | 高いほど良いとは限らない |
| 総取引回数 | 十分なサンプル数があるか |
| プロフィットファクター | 総利益と総損失のバランス |
| 平均利益・平均損失 | 1回の大敗で利益を消さないか |
| 最大ドローダウン | 資金がどれだけ減る可能性があるか |
| テスト期間 | 複数の相場環境を含むか |
| フォワードテスト | 未知のデータでも再現するか |
| 取引コスト | スプレッド・手数料を考慮しているか |
| ナンピン・マーチン | 高勝率の代わりに破綻リスクを抱えていないか |
特に「勝率90%」だけを大きく宣伝し、最大ドローダウンや平均損失、フォワード成績を公開していないEAは慎重に見るべきです。
本当に強いEAならバックテスト以外でも結果が残る
EAの性能を判断するうえで最も重要なのは、過去のデータ上で勝てたかではなく、開発後の未知の市場でも成績が再現できるかです。
例えば10年間のバックテストで勝率91%だったとしても、その10年間の価格を見ながら何度もパラメータを調整したのであれば、その結果だけでは十分ではありません。
その後の半年~1年間のフォワードテストやリアル口座で、同じロジックを変更せずに安定した結果が出ている方が価値があります。
MetaTrader自身も、最適化したパラメータを別期間で確認するフォワードテストを「over-optimization」やパラメータフィッティングへの対策として用意しています。[参照]
まとめ:勝率90%は高いが、それだけなら奇跡でも優秀さの証明でもない
FXのEAでバックテスト勝率90%以上という数字は非常に高いものの、「奇跡的でほぼ実現不可能な数字」というわけではありません。利確を小さく損切りを大きくしたり、ナンピンやマーチンゲールを採用したり、過去データに合わせて大量のパラメータを最適化したりすれば、高勝率のバックテスト結果を作ることは可能です。
そのため、EAの価値を判断するときは勝率だけでなく、期待値、平均利益と平均損失、プロフィットファクター、最大ドローダウン、取引回数、テスト期間、データ品質、スプレッド・手数料、ナンピンの有無まで確認する必要があります。
さらに重要なのがフォワードテストです。過去データで最適化した期間とは別の「未知の期間」で同じ設定を使い、同程度の成績が再現できるかを確認します。MetaTrader 5にも、この目的のフォワードテスト機能が標準搭載されています。[参照]
したがって、例えば「10年間・数千取引・最大ドローダウン10%台・プロフィットファクター2以上・実ティックを使ったバックテスト・未知期間でも同程度の成績・リアル運用でも再現」という条件で勝率90%なら、かなり注目に値する結果です。一方で「半年間・90回取引・最適化済み・ナンピンあり・フォワード実績なし」で勝率90%なら、その数字だけではほとんど評価できません。
EAを見るときの基本は、「勝率何%か」ではなく「負けたときにいくら失うのか」「過去に合わせて作っただけではないか」「未知の相場でも再現できるか」です。勝率90%という数字はスタート地点にはなりますが、それだけで最高性能のEAや将来も勝てるEAと判断することはできません。
こんにちは!利益の管理人です。このブログは投資する人を増やしたいという思いから開設し運営しています。株式投資をメインに分散投資をしています。


コメント