【最強?】FXはCCIだけで勝てる?←AI検証┆本当の使い方・RSIとの違いも。

インジケーター

結論

CCIだけでは長期的に勝ち続けるのは難しい。

AI検証では、CCI逆張りやゼロライン手法はPF0.91〜0.97のほぼトントン。

一方、CCIを2本(短期20・長期50)+RSIを組み合わせるとPFは1.09へ改善。

CCI単体は弱いが、CCI2本 × RSI + リスクリワード設計で勝てるに変わる。

CCIとは何か

CCIは、価格が移動平均からどれだけ乖離しているかを正規化して示すオシレーター。

    ・+100以上:強い上昇乖離(買われすぎ)
    ・-100以下:強い下降乖離(売られすぎ)
    ・0付近:バイアス不明瞭

整列度や偏りをとらえるのが得意だが、ボラの大小や転換のタイミングは単体では測りづらい。

AIによる検証┆CCI 単体(逆張り)

使用AI:ChatGPT Pro(統計モジュール搭載)

データ:Axioryヒストリカルデータ(USDJPY/5分足)

CCIだけで勝てるかどうかを検証してください。
条件:
・環境 : MT4
・通貨ペア:USDJPY
・期間:2021年1月〜2025年8月
・時間足:5分足
 - datetimeをユニーク化(重複削除)
 - 欠損を補うために「全1分足の時系列インデックス」を生成し、足りない部分は直前値で補完
 - そこから改めて5分足にリサンプリング
・設定値:デフォルト
・売買ルール:逆張り
・決済:反対シグナル
・資金管理:固定ロット
出力内容:
①総トレード数
②勝率
③平均リスクリワード比
④トータル損益 
⑤プロフィットファクター(PF)

結果

    ① 総トレード数:585
    ② 勝率:62.56%
    ③ 平均リスクリワード比(平均利幅/平均損失幅):0.55
    ④ トータル損益(pips):-2080.20
    ⑤ プロフィットファクター(PF):0.91

勝率は高いが、取れる値幅が小さすぎてスプレッド負け。逆張りは勝って負ける典型。

勝てないケース①┆ゼロライン手法の検証

インジケーター設定
CCI(期間14がデフォルト)
基準線は「0ライン」
エントリー条件
買いエントリー(LONG)
直前のCCIが0以下で、現在足でCCIが0を上抜けしたとき。
売りエントリー(SHORT)
直前のCCIが0以上で、現在足でCCIが0を下抜けしたとき。
(つまり「0ラインをクロスした瞬間」にポジションを取る)
決済条件
反対シグナルが出たときに決済
→ 常に「ドテン」型(買い保有中に0を下抜けたら即ショートへ切り替え、売り保有中に0を上抜けたら即ロングへ切り替え)

結果

    ① 総トレード数:292
    ② 勝率:61.99%
    ③ 平均リスクリワード比:0.59
    ④ トータル損益(pips):-463.70
    ⑤ プロフィットファクター(PF):0.97

サインは増えるが、レンジの小動きに振り回される。やはり単体は弱い。

勝てないケース②┆CCI2本 順張り(TP/SL固定)

設定値
CCI20・CCI50
利確(TP):20 pips 固定
損切(SL):20 pips 固定<

結果

    ① 総トレード数:10,485
    ② 勝率:50.76%
    ③ 平均リスクリワード比:1.0
    ④ トータル損益(pips):+3,180
    ⑤ プロフィットファクター(PF):1.03

逆張り単体よりもやや改善し、トータル損益はプラス、PFも1.03と少しだけ優位性が出ています。

AIによる再検証┆CCI 2本 + RSI (逆張り)

失敗パターンから、

    ドテン → TP/SL固定
    逆張り → 順張り
    CCI1本 → CCI2本
    単体 → 相性のいいインジケーターの組み合わせ

上記で再検証を行った。

CCI20・CCI50を±150に強化した順張り+RSI

設定値
CCI20・CCI50(RSI>60 / RSI<40)
利確(TP):40 pips 固定
損切(SL):20 pips 固定
    ① 総トレード数:4544
    ② 勝率:35.26%
    ③ 平均リスクリワード比:2.00
    ④ トータル損益(pips):5240.00
    ⑤ プロフィットファクター(PF):1.09

「勝率を犠牲にして高RRで拾う」スタイルに。

典型的な順張りスイング型×高RRトレードに近い挙動となりました。

CCIとRSIの違い

    CCI:価格の乖離を測る(相場がどれだけ片寄っているか)。
    RSI:上昇/下落の相対的な強さを測る(押し引きの勢い)。

実務的には、CCIで方向の偏りを掴み、RSIで今まさに動いているかを判定する使い分けが合理的。

なぜ、CCI単体では勝てないのか?

タイミングが鈍る

乖離は見えるがいま動くかは分からない。

レンジで誤作動

±100や0クロスは小刻みな往復で削られやすい。

RRの設計負け

逆張りは勝率が高くても伸びないためPFが伸びない。

勢い(RSI)とRR設計が足りないのが根本原因。

CCIの本当の使い方とは?

・指値の根拠ではなく、仕掛けの許可証として使う。
・CCI×CCI=偏りの強さ、RSI=勢いの有無。両方が揃う波だけを取る。
・RRを利多め(1.5〜2.0)に設定し、勝ちを太くする。

TradingViewで使えるインジケーター

//@version=5
indicator("CCI2×RSI Momentum Filter (USDJPY 5m向け)", overlay=true, timeframe="", timeframe_gaps=true)

//======== Inputs =========
srcH   = input.source(high,  "High")
srcL   = input.source(low,   "Low")
srcC   = input.source(close, "Close")

cciLenS = input.int(20,  "CCI Short Length", minval=2)
cciLenL = input.int(50,  "CCI Long  Length", minval=2)
cciThr  = input.int(150, "CCI Threshold (±)", minval=50, step=10)

rsiLen  = input.int(14,  "RSI Length", minval=2)
rsiLong = input.float(60, "RSI Long Min", minval=0, maxval=100, step=0.5)
rsiShort= input.float(40, "RSI Short Max", minval=0, maxval=100, step=0.5)

plotSignals  = input.bool(true, "チャート上にエントリー矢印を表示")
useSession   = input.bool(false, "時間帯フィルタを使う(例:欧州+NY)")
sess         = input.session("1600-0500", "取引時間(ローカル)", inline="sess")
_            = input.string("", "", inline="sess") // spacer

//======== Core Calc =========
// 典型価格を作って ta.cci(source, length) に渡すのが正
tp = (srcH + srcL + srcC) / 3.0
cciS = ta.cci(tp, cciLenS)
cciL = ta.cci(tp, cciLenL)
rsi  = ta.rsi(srcC, rsiLen)

// CCI ±threshold 条件
cciLongOK  = cciS >  cciThr and cciL >  cciThr
cciShortOK = cciS < -cciThr and cciL < -cciThr

// RSI フィルタ
rsiLongOK  = rsi > rsiLong
rsiShortOK = rsi < rsiShort

// 時間帯フィルタ(任意)
inSess = useSession ? not na(time(timeframe.period, sess)) : true

// エントリーシグナル(確定バーで判定)
longSig  = cciLongOK  and rsiLongOK  and inSess
shortSig = cciShortOK and rsiShortOK and inSess

//======== Plot signals on price =========
plotshape(plotSignals and longSig,  title="LONG Signal",  style=shape.triangleup,   location=location.belowbar, color=color.new(color.lime, 0), size=size.tiny, text="L")
plotshape(plotSignals and shortSig, title="SHORT Signal", style=shape.triangledown, location=location.abovebar, color=color.new(color.red,  0), size=size.tiny, text="S")

// 背景ハイライト(任意)
bgcolor(useSession and not inSess ? color.new(color.gray, 85) : na)

//======== Alert Conditions =========
alertcondition(longSig,  title="LONG",  message="CCI20/50 > +Threshold 且つ RSI>上限 → LONG")
alertcondition(shortSig, title="SHORT", message="CCI20/50 < -Threshold 且つ RSI<下限 → SHORT")

// 参考用にCCIを薄く重ね描画(価格パネル)
plot(cciS, title="CCI Short", color=color.new(color.aqua,   70))
plot(cciL, title="CCI Long",  color=color.new(color.orange, 70))
hline( cciThr, "CCI +Threshold", color=color.new(color.teal,   40))
hline(-cciThr, "CCI -Threshold", color=color.new(color.maroon, 40))
hline(0,       "CCI 0",          color=color.new(color.gray,   60))

まとめ│CCIだけで勝てるのか?勝てないのか?

    ・CCI単体では勝てない。
    ・CCIを2本(20と50)使って、強いトレンドだけ狙う。
    ・RSIを加えて「勢いがある方向」だけで仕掛ける。
    ・TP/SLは20pips対40pipsなど、リスクリワードを広めに。

この組み合わせで、AI検証ではPF1.09(プラス期待値)を達成。

数値的には小さな差でも、長期で見れば大きな違いになります。

CCIだけでは勝てない。しかし、CCI2本 + RSIを組み合わせることで、勝てる。

参考 : 「RSIだけで勝てる?

    特典&ご案内

    今回の検証は Axioryのヒストリカルデータを使用しました。
    AXIORY口座を利用しない場合、同じ結果は再現できません)

    詳細データや手法はPDFにまとめ、
    
今だけ【メルマガ登録者限定】で無償配布しています。
    さらに、FX手法をAIで作る方法、EA化する方法を公開しています。

    ▶︎ 無料で今すぐ手に入れる(次回より有償化予定)
    ※この条件での配布は今回限り。
再配布は一切行いません。