平均足とRSIを組み合わせる考え方 — 方向の平滑化と過熱感で調整局面を測る設計
平均足(Heikin Ashi)は、4本値を前の足の値と平均して再計算し、値動きの向きを滑らかに描き直す手法です。一方のRSI(Relative Strength Index)は、一定期間の値上がり幅と値下がり幅の比率から、価格変動の過熱感を0〜100の範囲で数値化するオシレーターです。前者は「いまどちらを向いているか」を扱い、後者は「その動きがどこまで伸び切っているか」を扱うため、見ている軸が重なりません。
本記事では、平均足で方向のバイアスを整理したうえで、RSIで調整の深さを測るという組み合わせの考え方を、パラメータ設計とcBot実装の観点からまとめます。特定の設定が成果を約束するという話ではなく、設計を検討するための材料としてお読みください。
平均足の役割
平均足は、始値に前足の平均足の始値と終値の中間を、終値に当該足の4本値の平均を用いる、という置き換えによって描かれます。計算式そのものの解説は平均足とは何を描く手法かにまとめてありますので、ここでは役割に絞ります。
この置き換えの結果、同じ色の足が続きやすくなり、細かな上下動が視覚的に吸収されます。陽線が並んでいる区間は上方向のバイアス、陰線が並んでいる区間は下方向のバイアスがある状態として一般的に解釈されます。ロジックに落とし込むときは「色が何本続いたか」という数え上げに置き換えられるため、条件式として扱いやすい点も特徴です。
単独で使う場合の限界もあります。平滑化された足である以上、描かれる4本値は実勢価格そのものではありません。したがって、平均足の高値・安値をそのまま損切りや利食いの基準に使うと、実際の約定価格との差が問題になりやすくなります。加えて、色が続いている間はバイアスが読めても、その動きがどこまで伸びた状態なのかは、色と本数だけでは表現できません。ここが、別の軸を足したくなる理由です。
RSIの役割
RSIは、直近N本の値上がり幅の平均と値下がり幅の平均を比較し、その比率をスコア化する指標です。基本的な読み方はRSIとは何を測る指標かで扱っています。
一般的には70前後を超えると買われ過ぎ寄り、30前後を下回ると売られ過ぎ寄りの目安とされ、50を上下どちらのゾーンにいるかの境界として使う読み方もあります。値動きの伸び切り具合を一本のスコアにまとめてくれるため、「いまは押した状態なのか、伸び切った状態なのか」を条件式で表現しやすくなります。
単独で使う場合の限界は、方向感の強い局面で顕著になります。上方向に強く動いている間、RSIは高い水準に張り付いたまま推移し続けることがあり、「買われ過ぎだから反対方向へ」という読み方をすると、動きの途中で逆らう形になりがちです。逆に方向感の乏しい局面では、しきい値の出入りが頻繁になり、条件の成立回数だけが増えます。RSIが示すのはあくまで相対的な伸び具合であり、そこに方向の文脈を与えるのは別の要素の仕事だと考えると整理しやすくなります。なお、価格とRSIの高安が食い違うダイバージェンスという読み方もありますが、これも単独では判断材料として細いままです。
なぜこの組み合わせか
平均足とRSIは、互いの不足を埋め合う関係にあります。平均足は方向を整理しますが伸び具合を表現できず、RSIは伸び具合を数値化しますが方向の文脈を持ちません。片方が担当していない軸を、もう片方が担当している構図です。
この関係を使うと、押し目・戻りを条件として記述しやすくなります。整理の一例を挙げます。
- 平均足が陽線連続 + RSIが高い水準を維持 → 上方向のバイアスが続いていると読む材料
- 平均足が陽線連続 + RSIが中立域まで低下 → 方向を保ったまま調整が入っていると読む材料
- 平均足が陰線へ反転 + RSIも大きく低下 → バイアス自体が弱まった可能性を疑う材料
- 平均足の色が短い周期で入れ替わる + RSIが50前後を往復 → 方向感の乏しい局面と読む材料
ポイントは、RSIの水準を単体で「行き過ぎ」と解釈せず、平均足が示す向きとセットで意味づけしている点です。同じRSIの低下でも、平均足のバイアスが保たれているなら調整局面の候補、バイアスが崩れているなら状態変化の候補、というように解釈が分かれます。一般論として、ノイズをふるい分けるフィルターとして機能することが期待できる構成です。上位足の向きの範囲内で条件を組む発想はトレンドフィルターと逆張りの併用とも共通しています。
パラメータをどう考えるか
唯一の正解を定めるものではなく、自分の運用時間軸に合わせて検証する前提で、方向性だけ整理します。
平均足側 には調整可能なパラメータがほとんどなく、実質的な設定項目は「どの時間足に表示するか」と「何本の同色連続をバイアス成立とみなすか」の2点です。連続本数を少なくすると状態の切り替わりが早くなる代わりに反転の頻度が増え、多くすると安定する代わりに反応が遅くなります。2本か3本のどちらを起点にするかで挙動がはっきり変わるため、両方を比較する価値があります。
RSIの期間 は14が標準です。短くすると振れ幅が大きくなり条件の成立回数が増え、長くすると滑らかになり回数は減ります。短期寄りの運用なら7〜9、長めの時間軸なら14〜21あたりが検討対象になります。しきい値についても、70/30を使うか、50を基準に上下どちらのゾーンかを見るか、あるいは「一度高い水準に達した後に中立域まで戻る」という履歴条件にするかで、拾える局面が変わります。
時間足をずらす構成も選択肢です。上位足の平均足で大きな向きを固定し、下位足のRSIで調整の深さを測る形にすると、判定の役割分担がより明確になります。いずれの案も、自分の運用環境でバックテストして挙動を確認してから採用を判断してください。
cBot化する際の考慮点
cTraderのcBotとして組む場合に、あらかじめ押さえておきたい点を挙げます。
評価タイミング: 平均足は自身の前足の値を参照する再帰的な構造を持ちます。OnTickで毎回評価すると、同一バーの途中で色が入れ替わり、状態フラグが安定しません。OnBarで確定足を対象に評価する設計のほうが素直です。RSIも確定足ベースの判定と相性が良く、両者の評価タイミングを揃えておくと検証結果を読み解きやすくなります。
初期化の扱い: 起動直後は平均足の再帰計算とRSIの平均計算のどちらも十分なデータが揃っておらず、値がNaNや初期値になる期間があります。判定に入る前に本数と値の妥当性をチェックし、条件を満たすまでは評価をスキップする実装にしておくと安全です。
履歴条件の保持: 「RSIが高い水準に達した後で中立域へ戻った」といった条件は、現在値だけでは表現できません。直近の極値や、条件を満たした足のインデックスを状態として保持する必要があります。ここを場当たり的に書くと後から検証しづらくなるため、状態遷移を持つ小さなクラスに切り出しておくことをおすすめします。
// 例: 計算順序と初期化チェック
var ha = Indicators.HeikenAshi();
var rsi = Indicators.RelativeStrengthIndex(Bars.ClosePrices, 14);
double haOpen = ha.HeikinAshiOpen.Last(1);
double haClose = ha.HeikinAshiClose.Last(1);
double rsiVal = rsi.Result.Last(1);
if (double.IsNaN(haClose) || double.IsNaN(rsiVal)) return;
bool isBullishBar = haClose > haOpen;
bool isNeutralZone = rsiVal < 55 && rsiVal > 45;
// isBullishBar の連続本数と isNeutralZone を組み合わせて状態を更新する
検証の初期段階では、平均足の色・連続本数・RSI値を毎バーログに書き出しておくと、チャート上の見え方と条件式の挙動を突き合わせやすくなります。
実装の流れ
入力から出力までの流れとして整理すると、次の4段階になります。
- 入力: 対象銘柄と時間足を決め、
Barsから4本値を取得する - 計算: 平均足の4本値を再計算し、RSIを別途算出したうえで、直近N本分の系列を保持する
- 判定: 方向フラグ(同色が規定本数続いているか)と調整フラグ(RSIが規定のゾーンに入ったか)を組み合わせ、現在の状態を決める
- 出力: 決まった状態フラグを、発注ロジックや通知モジュールに引き渡す
損切りと利食いの幅については、この2指標では扱えません。値幅の設計は変動幅を測る指標に任せる構成が自然で、考え方はATRを使った利食い幅の設計にまとめてあります。
判定部分をエントリーロジックそのものにせず、状態判定レイヤー として独立させておくと、後から発注ルールだけを差し替えられます。上位足を重ねる構成に発展させたい場合は、MTF平均足スタックのような多時間足の見せ方も参考になります。
どう活用するか
自作される方は、本記事の節構造をそのまま設計メモとして使い、Claude Code に状態判定クラスから書かせていくと、条件の意図を保ったまま実装を進めやすくなります。開発を委託される方は、ai-programming.xyz への相談時に「平均足で方向、RSIで調整の深さを判定したい」という前提を先に共有しておくと、要件のすり合わせが短く済みます。学習中の方は、まず平均足の連続本数だけを数えるインジケーターを書き、そこにRSIの条件を後から重ねるという順序で進めると、それぞれの指標が何を担当しているのかを手を動かしながら確認できます。
本記事は一般的な情報提供を目的としています。投資助言ではありません。 取引判断はご自身の責任で行ってください。