テクニカルEA化

EA運用で勝率とリスクリワードの関係をどう見るか

勝率とリスクリワードの関係を数字で理解したい

Read this for この手法を、EAの条件として分解する。

テクニカルは入口だけではなく、見送り条件、方向判定、撤退条件に分けると検証しやすくなります。

Category テクニカルEA化

win rate / EA logic

EAを海外口座で動かすなら、勝率だけを見ては危険だ。

バックテストで高勝率なのにリアルで負けるEAは、リスクリワード比(RR比)の落とし穴にハマっている可能性がある。勝率30%でも利益が出るEAもあれば、勝率90%でも破綻するEAもある。

この記事では、EA運用において勝率とリスクリワード比の関係を数字で理解し、バックテスト結果を正しく評価するための視点を解説する。

結論:期待値が全て

EAの優劣を判断する上で、勝率とRR比のどちらか一方だけを見るのは不十分だ。重要なのは、両者の組み合わせによって生まれる「期待値」がプラスになるかどうか。

期待値は以下の数式で計算できる。

期待値 = (勝率 × 平均利益)−(敗率 × 平均損失)

この期待値がプラスであれば、長期的にそのEAは利益を生む可能性が高い。逆にマイナスであれば、どんなに勝率が高く見えても、最終的には資金を減らすことになる。

上記の表からわかるように、勝率30%でもRR比が4:1であれば期待値はプラスになる。一方で、勝率90%と聞くと魅力的に感じるが、RR比が1:10(1回の勝ちが小さく、1回の負けが大きい)であれば、期待値はマイナスに転じてしまう。

なぜEA運用で重要か

EA開発では、つい「勝率を上げる」ことに注力しがちだ。しかし、勝率を上げるためにストップロス(SL)を広げると、1回の損失が大きくなり、結果的にRR比が悪化することが多い。

逆に「SLを狭くしてRR比を改善する」と、勝率が下がる傾向にある。このトレードオフの関係を理解せずにパラメータを調整すると、バックテスト上は見かけの数字が改善しても、実際の期待値は変わらない(あるいは悪化する)という落とし穴にはまる。

特に、勝率が高いEAほど危険なことがあるのは、このRR比の悪化が原因であることが多い。

仕組み・条件

損益分岐の勝率

RR比が分かれば、そのEAが利益を出すために「最低限必要な勝率」を計算できる。

損益分岐勝率 = 1 / (1 + RR比)

この損益分岐勝率を理解することで、自分のEAがどの程度の勝率を維持できれば利益が出るのか、あるいは現在の勝率で十分な余裕があるのかを客観的に判断できる。

EAの手法タイプ別の傾向

EAの手法によって、典型的な勝率とRR比の傾向がある。自分のEAがどのタイプに属するかを把握し、それに合った評価基準を持つことが重要だ。

MQL5で確認する方法

MT4/MT5のストラテジーテスター結果から、勝率、平均利益、平均損失を取得し、RR比と期待値を計算するMQL5コードの例を示す。

<span class="comment">// テスト結果から取得</span>
double total_profit = TesterStatistics(STAT_PROFIT);
double total_loss = TesterStatistics(STAT_LOSS);
double win_rate = TesterStatistics(STAT_WIN_TRADES_PERCENT); <span class="comment">// 勝率(%)</span>

<span class="comment">// 平均利益と平均損失を計算</span>
int win_count = (int)TesterStatistics(STAT_WIN_TRADES);
int loss_count = (int)TesterStatistics(STAT_LOSS_TRADES);
double avg_profit = (win_count > 0) ? total_profit / win_count : 0;
double avg_loss = (loss_count > 0) ? MathAbs(total_loss) / loss_count : 0;

<span class="comment">// RR比を計算(損失が0の場合は無限大になるため注意)</span>
double rr_ratio = (avg_loss > 0) ? avg_profit / avg_loss : 0;

<span class="comment">// 期待値を計算</span>
<span class="comment">// 勝率を小数に変換 (例: 90% -> 0.9)</span>
double win_rate_decimal = win_rate / 100.0;
double loss_rate_decimal = (100.0 - win_rate) / 100.0;
double expected_value = (win_rate_decimal * avg_profit) - (loss_rate_decimal * avg_loss);

<span class="comment">// 結果の出力例</span>
Print("勝率: ", win_rate, "%");
Print("平均利益: ", avg_profit);
Print("平均損失: ", avg_loss);
Print("リスクリワード比 (RR比): ", rr_ratio);
Print("期待値: ", expected_value);

このコードを参考に、バックテスト結果から自動的にこれらの数値を算出し、EAの評価に役立てることができる。

バックテストやリアル運用で壊れるポイント

勝率とRR比の関係を誤解していると、以下のような問題に直面しやすい。

どう確認するか

EAのバックテスト結果を評価する際は、以下の手順で勝率とRR比の関係を確認しよう。

  1. バックテストレポートから、勝率、平均利益、平均損失の数値を確認する。
  2. RR比(平均利益 ÷ 平均損失)を計算する。
  3. 期待値(勝率 × 平均利益 − 敗率 × 平均損失)を計算し、プラスであることを確認する。
  4. 損益分岐勝率を計算し、実際の勝率との間に十分な「余裕度」があるかを確認する。
  5. SL/TPの幅を変えたときに、勝率とRR比がどのように連動して変化するかを検証し、ロジックの堅牢性を確認する。特にATRを使った損切り・利確設定は、この関係を客観的に設定するのに役立つ。

これらの数値は、単独で見るのではなく、総合的に判断することが重要だ。特に期待値をEA検証でどう見るかは、この評価の核となる。

自分の検証スタンス

QuorAI Labでは、EAの期待値がプラスであることが最低条件だと考えている。勝率が低くてもRR比が良ければ、そのEAは運用候補になり得る。

ただし、勝率が30%を切るようなEAは、統計的には期待値がプラスでも、連敗が多くなる傾向がある。人間が運用する以上、メンタル的に耐えられるかどうかも重要な判断材料だ。数字上は合理的でも、心理的な現実を無視して運用を続けるのは難しい場合がある。

関連して読む

勝率が高いEAほど危ないことがある理由

高勝率EAの裏に潜むリスクと、バックテストでは見えにくい落とし穴を解説。

期待値をEA検証でどう見るか

EAの長期的な収益性を測る「期待値」の計算方法と、その重要性を解説。

PFは高ければよい数字ではない

プロフィットファクター(PF)の正しい解釈と、EA評価における注意点。

ATRを損切り幅と利確幅に使う考え方

相場の変動率に応じた損切り・利確設定で、リスクリワードを最適化する。

本記事は個人の検証メモであり、投資助言ではありません。勝率とリスクリワード比は過去データに基づく計算であり、将来の利益を保証するものではありません。EA運用にはリスクが伴います。ご自身の判断と責任において取引を行ってください。

Technical to EA この手法を、EAの条件として分解する。

テクニカルは入口だけではなく、見送り条件、方向判定、撤退条件に分けると検証しやすくなります。

参照した公式情報

免責

本記事は個人の検証メモであり、投資助言ではありません。バックテスト結果は将来の成績を保証しません。海外FXや自動売買には、法規制・レバレッジ・スプレッド拡大・約定遅延・スリッページなどのリスクがあります。条件は変わるため、最新情報は各公式ページで確認してください。