インサイドバーとATRを組み合わせる考え方 — はらみ足の値幅を変動幅で選別する設計
インサイドバー(はらみ足)は、1本前のローソク足の高値と安値の範囲内に、次の足がすっぽり収まった形を指します。値動きが一時的に縮んだことを示す形で、その後に範囲を抜ける動きを観察する起点として使われます。ただし形の条件だけで拾うと、もともと値幅の小さい時間帯にも大量に出現し、どれを観察対象にすべきか判断しづらくなります。
本記事では、形を検出するインサイドバーと、変動幅を測るATRを役割分担させる考え方を、cBotとして実装する視点から整理します。あくまで設計の参考であり、特定の設定が成果を保証するという話ではありません。
インサイドバーの役割
インサイドバーは2本の足で構成されます。先に出る大きい足を 母線(マザーバー)、その範囲内に収まる次の足を 子線 と呼びます。子線の高値が母線の高値以下、かつ子線の安値が母線の安値以上であれば成立です。ローソク足そのものの読み方はローソク足の基礎にまとめています。
この形が示すのは「方向」ではなく「一時停止」です。母線で大きく動いたあと、次の足では高値も安値も更新できなかったという事実だけを表しています。そのため、母線の高値・安値が次の動きを測る基準線として扱われます。
単独使用時の限界は、形の条件が相対比較だけで成り立っている 点です。母線が大きく動いた足でも、ほとんど動いていない足でも、子線が内側にあれば同じインサイドバーとして数えられます。閑散とした時間帯では小さな足同士のはらみ足が連続して現れ、範囲を少し抜けただけで判定が成立してしまいます。形だけでは「意味のある収縮かどうか」を区別できません。
ATR の役割
ATR(Average True Range)は、一定期間の値幅の平均を示す指標です。方向は一切示さず、「いまの相場は1本あたりどの程度動いているか」という物差しだけを提供します。基礎は別記事のATRとはを参照してください。
単独使用時の限界は明確で、ATRは売買の向きもタイミングも教えてくれません。値が大きければ変動が大きい、小さければ静かという状態を数値にするだけで、それ自体からシグナルは生まれません。また過去の平均である以上、急な変動の直後には実態より小さい値、変動が収まった直後には実態より大きい値を示す時間差があります。「測る道具」としては優秀でも、何を測るかは別に用意する必要があります。
なぜこの組み合わせか
インサイドバーの弱点は値幅そのものの大きさを見ていないこと、ATRの弱点は測る対象を持たないことでした。両者を組み合わせると、形で候補を拾い、物差しで候補をふるいにかける二段構成になります。ATRの使いどころは主に3つあります。
母線の値幅の選別: 母線の値幅(高値−安値)をATRで割り、比率を出します。比率が小さすぎる母線は、普段の1本分にも満たない小動きの中のはらみ足であり、観察対象から外す判断材料になります。逆に比率が極端に大きい母線は、指標発表などの突発的な足である場合が多く、範囲が広すぎて基準線として扱いにくいため、上限側も設ける設計が検討されます。
ブレイク判定のバッファ: 母線の高値・安値をわずかに超えただけで戻る動きは珍しくありません。母線の高値にATRの一定割合を足した位置を判定線にすると、ヒゲだけの抜けをある程度ふるい落とせます。固定の値幅ではなくATR連動にしておくと、銘柄や時間足が変わっても同じ考え方で運用できます。ダマシの一般的な性質はブレイクアウトとダマシで扱っています。
損切り幅の見積もり: 母線の反対側を損切りの基準にする場合、母線の値幅がそのままリスク幅になります。これをATRと比べておくと、ロット計算の前に「許容できる幅かどうか」を機械的に判定できます。
一般論として、ATRがノイズフィルターとして機能する関係になりますが、ふるいを厳しくすれば候補の数は減ります。条件を絞るほど検証に使える標本も少なくなる点は、設計段階から意識しておきたいところです。
パラメータをどう考えるか
唯一の正解はなく、検証を前提に方向性だけ整理します。
ATRの期間 は14が標準として参照されます。短くすると直近の変動に敏感になり、選別の基準そのものが足ごとに揺れやすくなります。長くすると基準は安定しますが、相場の変化への追随が遅れます。
母線の値幅比率の範囲 は、下限と上限の2つで考えます。下限を上げるほど小さなはらみ足が除外され、上限を下げるほど突発的な大陽線・大陰線が除外されます。どの水準が適切かは銘柄と時間足で変わるため、まずは比率の分布をログに出して眺めるところから始めるのが現実的です。
バッファの係数 は、小さいほど判定が早く、大きいほど判定が遅くなる代わりにヒゲ抜けを拾いにくくなります。有効期限(成立から何本以内の抜けを対象にするか)も併せて決めます。
時間足については、短期足ほど出現数は多いもののノイズも多く、長期足ほど出現数が減る傾向があります。いずれもバックテストで、自分の銘柄・時間帯での挙動を確認するプロセスは省略しないでください。
cBot化する際の考慮点
インサイドバーはcTraderの標準インジケーターとしては用意されていないため、バーの値から自前で判定します。設計ポイントを挙げます。
確定足で判定する: OnBarが呼ばれた時点で、Last(1) が確定したばかりの足、Last(2) がその1本前です。形成途中の足(Last(0))を子線として扱うと、足が伸びた瞬間に成立が取り消されるため、判定は確定足同士で行います。
同値の扱いを決める: 子線の高値が母線の高値と同じ場合を成立とみなすかどうかで、検出数が変わります。<= と < のどちらを採るかを仕様として明記します。
ATRの参照位置を揃える: 母線の値幅と比べるATRは、母線が確定した時点の値を使うのが筋です。最新値を使うと、母線自身の値幅がATRに含まれる度合いが変わります。どのインデックスを参照するかを固定しておきます。
状態を保持する: 成立と抜けは別の足で起こります。母線の高値・安値、成立からの経過本数を変数に持ち、期限切れや新しいはらみ足の成立で上書き・破棄するルールを決めます。子線がさらに次の足を内包する連続パターンで、基準を最初の母線のまま維持するかどうかも論点です。
// 例: 確定足でのインサイドバー判定とATRによる選別
var atr = Indicators.AverageTrueRange(14, MovingAverageType.Simple);
double motherHigh = Bars.HighPrices.Last(2);
double motherLow = Bars.LowPrices.Last(2);
double childHigh = Bars.HighPrices.Last(1);
double childLow = Bars.LowPrices.Last(1);
double atrValue = atr.Result.Last(2); // 母線確定時点のATR
if (double.IsNaN(atrValue) || atrValue <= 0) return;
bool isInside = childHigh <= motherHigh && childLow >= motherLow;
double ratio = (motherHigh - motherLow) / atrValue;
// MinRatio / MaxRatio / BufferK はパラメータとして外に出す
bool sizeOk = ratio >= MinRatio && ratio <= MaxRatio;
double upperLine = motherHigh + atrValue * BufferK;
double lowerLine = motherLow - atrValue * BufferK;
// isInside && sizeOk のとき、判定線と経過本数を状態として保持する
起動直後はATRの計算に必要な本数が揃っていない場合があるため、NaNとゼロ除算の確認は判定の前に済ませます。
実装の流れ
全体像を、検出から出力までの順序で整理します。
- 形の検出: 確定した2本の足を比べ、インサイドバーが成立しているかを判定する
- 値幅の選別: 母線の値幅をATRで割り、比率が設定範囲に入っているかを確認する。範囲外なら破棄
- 判定線の保持: 母線の高値・安値にATR連動のバッファを加えた上下の判定線と、経過本数を記録する
- 抜けの監視: 以降の確定足の終値が判定線を超えたかを確認する。期限を過ぎたら破棄
- 出力: 上抜け候補 / 下抜け候補 / 待機 をログや通知に送る
抜けの判定を終値で行うか、高値・安値で行うかでも性格が変わります。最初は通知までの構成で動かし、チャート上の形と突き合わせて検出が意図どおりかを確認してから、自動化の範囲を検討する進め方が検証として堅実です。
どう活用するか
この設計図は目的別に活用できます。
自作派の方は、Claude Codeを使ったcBot開発の設計メモとして、同値の扱い・ATRの参照位置・状態の破棄ルールの3点を先に決めてから実装に入ると、後戻りが少なくなります。委託派の方は、ai-programming.xyz への開発相談の際に「インサイドバーをATR比率で選別し、抜けを通知したい」のように前提を伝えると要件定義がスムーズです。教育派の方は、スクールの演習として、標準インジケーターに頼らずバーの値だけで形を判定する題材に向いています。
チャート上でまず形の出方を目で確認したい場合は、Inside Bar Pattern Marker の紹介記事も参考になります。形を物差しで選別するという構図は、他のローソク足パターンにもそのまま展開できる基本形です。
本記事は一般的な情報提供を目的としています。投資助言ではありません。 取引判断はご自身の責任で行ってください。