ケルトナーチャネルとRSIを組み合わせる考え方 — ボラティリティ帯と過熱感で判定を二層化する設計

チャネル系の指標だけを見てロジックを組むと、「バンドに触れたから逆張り」なのか「バンドを抜けたから順張り」なのか、同じシグナルが真逆の意味を持ってしまい判断が揺れがちです。本記事では、ATRを土台にした ケルトナーチャネル と、価格の過熱感を測る RSI(Relative Strength Index) を組み合わせ、いま見ている局面が「ブレイク寄り」なのか「反転寄り」なのかを見分けるための判定材料を整理します。あくまで設計の考え方の共有であり、特定の設定が成果を保証するという話ではありません。

ケルトナーチャネルとRSIが捉える情報の違いを上下パネルで示した模式図

ケルトナーチャネルの役割

ケルトナーチャネル(Keltner Channel)は、中心線に指数移動平均(EMA)を、その上下に ATR(Average True Range) の倍数を加減した帯を描くチャネル系インジケーターです。ATRについてはATRとは何を測る指標かも参照してください。

似た見た目のボリンジャーバンドが標準偏差で帯を作るのに対し、ケルトナーチャネルはATRで帯を作るため、ヒゲを伴う急変動に素直に反応し、帯の伸縮が比較的なめらかになる傾向があります。価格が上限を明確に超えれば「ボラティリティを伴う上放れ」を、帯の内側で推移していれば「一定の値幅に収まっている状態」を読む材料になります。

一方、ケルトナーチャネル単独では限界もあります。帯の外へ抜けたとき、それが継続的なブレイクなのか一時的な行き過ぎなのかは、帯の位置情報だけからは判断できません。中心線がEMAである以上、方向のヒントは得られますが、「買われ過ぎ・売られ過ぎ」という需給の過熱までは表現していないのが、単独使用時に残る弱点です。

RSIの役割

RSI(Relative Strength Index)は、一定期間の値上がり幅と値下がり幅の比率から、価格の過熱感を0〜100の範囲で示すオシレーター系の指標です。詳細はRSIとは何を測る指標かを参照してください。

RSIが捉えるのは「いまの値動きが一方向に偏り過ぎていないか」という需給の温度感です。価格が同じように上昇していても、RSIが高水準に張り付いているか中央付近にあるかで、その上昇の質の見え方が変わります。

ただしRSI単独にも弱点があります。強いトレンドが出ると、RSIは高水準(または低水準)に張り付いたまま推移し、「買われ過ぎだから反転する」という前提が成立しなくなります。レンジ相場では機能しやすい一方、トレンド相場では逆張りのダマシを生みやすいのが、単独使用時の限界として知られています。

なぜこの組み合わせか

ケルトナーチャネルとRSIは、観察している対象が異なります。前者は 価格の「位置」と「ボラティリティの帯」 を、後者は 需給の「過熱感」 を測ります。位置と温度感を別々の軸で捉える形になるため、両者を重ねると同じ「バンドタッチ」という現象を、より多角的に判定する材料になります。

読み分けのパターンを、いくつか並べてみます。

こうしてRSIを、ケルトナーチャネルが出すシグナルの「文脈を添える側」に回すのが、この組み合わせの狙いです。トレンドが動き出す初期段階では、価格が帯を超えてもRSIはまだ極端な領域に届いていないことが多いとされます。逆に上げ切った局面では、価格より先にRSIが過熱を表に出しやすい傾向があります。この時間差を利用すれば、見た目が同じ「帯へのタッチ」を、追随して良い場面と警戒すべき場面へ振り分けやすくなります。

ここまではあくまで設計上の見立てにすぎず、実際にどう振る舞うかは対象や相場の局面しだいで変わります。採用する前には検証工程を挟むことが前提になります。

パラメータをどう考えるか

ケルトナーチャネルとRSIには、それぞれ調整すべきパラメータがあります。両者の感応度が極端にずれると判定の整合が取りにくくなるため、バランスを意識して設計します。

時間足が上がると、帯の伸び幅もRSIの揺れ方も一緒に変化します。そのため「どこから過熱とみなすか」を一つの数字に固定するより、対象ごとに手直しする前提で組んだほうが後々扱いやすくなります。唯一の正解値が存在するわけではありません。いくつかの設定を並べて検証で比べ、狙う時間軸や銘柄にとって無理のないレンジを見つけていく作業が要になります。

cBot化する際の考慮点

cTrader上でcBotへ落とし込むときに気を配りたい点を、いくつか整理します。

判定部分のイメージを疑似コードで示します。

// 確定済みの中心EMAとATR(shift=1)
double ema = Indicators.ExponentialMovingAverage(Close, emaPeriod).Result.Last(1);
double atr = Indicators.AverageTrueRange(atrPeriod, MovingAverageType.Exponential).Result.Last(1);
double upper = ema + atr * atrMultiplier;

// RSI(過熱感)
double rsi = Indicators.RelativeStrengthIndex(Close, rsiPeriod).Result.Last(1);

// 順張り寄りの判定例: 上放れかつ過熱し切っていない
if (Close.Last(1) > upper && rsi > 50 && rsi < overboughtLevel)
{
    // 環境フィルターとリスク幅の確認を経て発注処理へ
}

ここに書いたのは骨組みだけで、実際にはシンボルごとの呼び値やスプレッド、ロット設計に合わせて細部を詰める必要があります。

実装の流れ

一連の処理を、上流から下流へ並べておきます。

環境認識からエントリー判定、リスク管理までの戦略フロー図

  1. 相場の下地を読む: 上位足がどちらを向いているか、そして帯の幅が広がりつつあるのか狭まりつつあるのかを押さえます。
  2. 入口の見極め: その足で帯を抜けたかどうかと、同じ足のRSIがどの水準にあるかを併せて見て、追随寄りか反転警戒かに振り分けます。
  3. リスク幅の設定: ATRを物差しにして、ストップと利益確定の幅をATRの何倍かで表します。
  4. 建玉の運用: 最初のストップに加え、トレーリングや保有時間の上限といった運用ルールを決めておきます。
  5. 記録と振り返り: シグナルが出た時点の帯の位置・RSIの値・抜けた向きを残し、あとで見返せるようにします。

最後の記録工程は、自分で作る場合でも開発を任せる場合でも軽視できません。「RSIによる絞り込みがどの局面で働き、どこで空振りしたか」を後日ふるいにかけるための一次データになるからです。

どう活用するか

この組み合わせは、cBotを設計するときの「ひな型」として持っておくと使い回しが効きます。片方の指標に価格の位置とボラティリティを、もう片方に需給の過熱感を担わせるという分担の構造は、ケルトナーチャネルをボリンジャーバンドへ、RSIをストキャスティクスへ置き換えても崩れません。

自分で組んでみたい方は、Claude Codeを併走させたcBot開発の下敷きにしてみてください。この記事の見出し構成をそのまま設計メモとして手元に残すと、実装中に迷ったときの拠りどころになります。

作るより相談したいという方は、ai-programming.xyz で個別の開発相談を受け付けています。ここで整理したような設計の骨子を持ち込んでいただけると、要件の擦り合わせが早く進みます。

腰を据えて学びたい方に向けては、スクールで実装の手順を一段ずつたどれるコースを用意しています。複数の戦略を見比べながら手を動かして身につける形です。

本記事は一般的な情報提供を目的としています。投資助言ではありません。 取引判断はご自身の責任で行ってください。