テクニカルEA化

RSI 30/70をそのままEAに入れる危険

「RSIが30を下回ったら買い、70を上回ったら売り」——教科書の基本戦略。

しかしこれをそのままEAにすると、ほぼ確実に負ける。理由は3つ。

結論

そのまま実装が負ける理由:

  1. トレンド相場でRSIが張り付く: 強い上昇では70以上に長く滞在する。70で売るたびに損切りされる。
  2. レンジ判定がない: RSI逆張りはレンジでのみ有効だが、判定がなければ「常にエントリーするEA」になる。
  3. 決済条件が曖昧: RSI 30で買った後、いつ決済するのかが定義されていない。

なぜEA運用で重要か

RSI逆張りは裁量では機能する場面がある。それは裁量トレーダーが暗黙にレンジ判定や決済判断をしているから。EAにはその暗黙知がないため、明示的なルールを追加しないと機能しない。

仕組み・条件

そのまま実装の典型結果(参考)

EURUSD M15、2021〜2025年:

→ ほぼ損益分岐点以下。スプレッドと手数料で負ける。

改善に必要な追加条件

// NG: そのまま実装
if(rsi_value < 30.0) Buy();
if(rsi_value > 70.0) Sell();

// OK: レンジ判定 + 決済条件 + トレンドフィルター
double adx_value = GetADX();
bool is_range = (adx_value < 25.0);
if(is_range && rsi_value < 30.0)
{
    Buy();
    SetSL(ATR * 1.5);
    SetTP(ATR * 1.0);
}

最低限追加したい条件:

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

どう確認するか

  1. RSI 30/70「のみ」のPFを計算する(フィルターなし)
  2. ADXフィルター追加後のPFと比較する
  3. レンジ月とトレンド月に分けてPFを見る
  4. RSI閾値を変えてもPFが安定するか確認する
  5. 「そのまま実装」でPF1.0を超えないなら、その銘柄にRSI逆張りが合っていない可能性を検討する

自分の検証スタンス

RSI逆張りEAの開発は「RSI 30/70のPFが1.0を超えるか」を確認するところから始める。超えないなら、フィルターで救えるレベルではない。

RSI逆張りはレンジでのみ機能する限定的な手法であり、万能ではない。その前提を受け入れた上で、レンジ判定フィルターを組み合わせる。

参照した公式情報

免責

本記事は個人の検証メモであり、投資助言ではありません。テクニカル指標の効果は相場環境によって変動します。