EA出口最適化の真実!頑丈な改善ロジックは見つかるか?

トレンド · 1 min

入口でなく「出口」を最適化(確定エッジの執行改善=過剰最適化リスク低めの狙い)。BreakoutLong に exit_mode=channel(既定・後方互換)/chandelier(ATRトレーリング)/both を追加。

本記事は「EA出口最適化の真実!頑丈な改善ロジックは見つかるか?」の検証を、はじめての方にも分かるようにまとめたものです。

図: ブレイクアウトのエントリー例(XAUUSD 日足・実データ)。直近の高値を上抜けたところで買います。

図: ブレイクアウトのエントリー例(XAUUSD 日足・実データ)。直近の高値を上抜けたところで買います。

EAの「出口」(ポジションを決済するタイミング)って、成績を左右する大事な要素ですよね。今回は、その出口のロジックを最適化することで、EAの成績がもっと安定して良くなるんじゃないか?という期待を持って検証してみました。

どんなアイデアを試したの?

これまで、EAの「入口」(ポジションを持つタイミング)を最適化する研究をいくつかしてきたんですが、なかなか頑丈な改善には繋がらなかったんです(研究55-56あたりですね)。そこで今回は視点を変えて、ポジションを閉じる「出口」の最適化に挑戦してみました! 出口の最適化は、すでに優位性(優位性(エッジ))が確認されているトレードの「執行改善」にあたるので、特定の期間にだけ成績が良くなる「過剰最適化」のリスクが比較的低いんじゃないか、という期待もあったんです。 具体的には、私たちが使っているBreakoutLongというEAに、新しい決済モードを追加して試してみました。

  • channelモード: これは今までも使っていた、特定の価格帯を抜けた時に決済する基本的な方法です。
  • chandelierモード: これは「ATRトレーリングストップ」という考え方を取り入れた決済方法です。ATR(Average True Range)は相場の変動幅を示す指標で、これを使って利益が出ている時に損切りラインを動かし、利益を確保しながら追従していくイメージですね。
  • bothモード: 上記の2つを組み合わせたものです。

どうやって試したの?

私たちは、信頼性の高いEAシリーズの一つであるrobust5のFXバージョンを使って検証を進めました。4つのFX通貨ペアを対象に、まずはH1(1時間足)の全期間でテスト。その後、H4(4時間足)でも確認し、さらに期間を分割して詳しく分析しました。 新しいchandelierモードでは、ATRの期間設定(例えばchandelier6ATRならATRの期間を6に設定)を変えながら、既存のchannelモードと比べてどうなるかを見ていったんです。

結果はどうだった?

初期はちょっと期待できそうだったけど…

H1(1時間足)の全期間でテストしてみると、chandelier6ATRが既存のchannelモードより少し良い成績を出したんです! 具体的には、リスクに対してどれだけリターンが得られたかを示すr/DD(リターン・ドローダウン比率。登山でいうと、どれだけ危険な道を通らずに頂上にたどり着けたか、みたいなイメージです)が、channel5.72に対してchandelier6ATR6.74と、改善が見られました。これはちょっと期待しちゃいますよね! しかし、すぐに問題が発覚しました。

  • chandelierのATR期間を3-4に短くしてみると、逆に成績が悪化してしまったんです。
  • さらに、時間足をH4(4時間足)に変えてみると、なんとchandelier6ATRが既存のchannelモードよりも「最悪」の成績になってしまいました。 これはつまり、「時間足やパラメータ(設定)にすごく敏感」ということ。特定の条件でしか機能しない可能性が高い、いわゆる「過剰最適化」の兆候が見え隠れし始めたんです。

期間を分けて検証したら「過剰最適化」が判明!

この「設定に敏感すぎる」という点を確認するため、今度はテスト期間を2015年〜2021年2021年〜2025年に分けて、それぞれで比較検証してみました。 すると、驚きの事実が判明したんです。 なんと、chandelier6ATRが既存のchannelモードより良かったのは、直近の2021年〜2025年の期間だけだったんです! この期間は「円安や金高の強いトレンド」が続いていた、特定の相場環境だったんですね。 一方、2015年〜2021年の期間では、既存のchannelモードの方が優秀という結果に。 これはまさに「過剰最適化」の典型例でした。全期間で見ると良さそうに見えても、実は最近の特定の相場環境(専門的には「レジーム」と呼びます)にたまたまマッチして良い結果が出ただけで、普遍的な改善ではなかった、ということなんです。

ここから学んだこと

残念ながら、今回の「出口の最適化」では、どんな相場状況でも安定して性能を上げられるような**「頑健な改善」は見つかりませんでした**。 むしろ、今私たちが使っているchannel割れによる決済方法が、期間を横断して最も安定していて優秀だった、という再確認になりました。つまり、すでに最良の選択肢だった、ということですね。 今回の結果を受けて、EAの基本的な決済ロジックは変更せず、これまで通り使い続けることにしました。新しく追加したexit_modeの引数は、後方互換性のため残しておきますが、デフォルトのchannelモードを使うのが一番良い、という結論です。 この検証から改めて分かったのは、以前の「入口」の最適化の試みと同様に、私たちが使っているEAの核となるロジック(トレンド核)は、すでにかなり洗練されていて、これ以上大きな月利の上積み余地は、価格変動という枠の中では乏しいのかもしれない、ということ。つまり、今のEAはすでにロバスト(頑丈で安定している)な最適点に近いところにいる、という再確認になったんです。

この検証のつながり

この検証は、過去の次の検証を踏まえています(前回ダメだった→今回こうした、別ロジックとの比較など)。