ピボットポイントとATRを組み合わせる考え方 — 節目までの距離を変動幅で測る

チャート上に引かれた節目の水準は、それ自体では「遠い」のか「近い」のかを教えてくれません。同じ価格差でも、静かに推移している日と荒れている日ではまったく意味が変わるからです。ピボットポイントは価格軸のどこに注目点があるかを示し、ATR(Average True Range)は一定期間の平均的な変動幅を示します。前者は「場所」、後者は「ものさし」という別の性質を持つため、両者を割り算の関係で結ぶと、節目までの距離を「変動幅の何本分か」という共通単位に置き換えられます。

本記事は、方向を当てるための組み合わせではなく、距離と幅を設計するための組み合わせ としてこの2つを扱います。エントリー判断そのものより、その手前にある「どの水準を今日の対象にするか」「損切り幅をどこに置くか」を整理したい方向けの内容です。

現在価格から上下のピボット水準までの距離を、ATR1本分の目盛りで何本分かとして測る模式図

ピボットポイントの役割

ピボットポイントは、前日の高値(H)・安値(L)・終値(C)から中心値 P = (H + L + C) ÷ 3 を求め、そこから上下の水準(R1・R2・S1・S2 など)を機械的に導く手法です。計算式の種類や基本的な読み方はピボットポイントとはにまとめています。

この手法の利点は、誰が計算しても同じ値になり、当日が始まる前にすべての水準が確定していることです。裁量の入り込む余地がないため、プログラムに落とし込むうえでも扱いやすい部類に入ります。

一方で、算出された水準は スケールの情報を持ちません。R1が現在値の少し上にあるという事実だけでは、そこが今日のうちに触れられる水準なのか、届かないまま終わる水準なのかを区別できないのです。しかもピボットは前日1本のバーだけから作られるため、直近数日の値動きが荒くなっているか落ち着いているかという環境の変化も反映しません。前日が極端に狭いレンジだった翌日には、水準同士が不自然に密集して並ぶこともあります。

ATRの役割

ATRは、各バーの値幅(前日終値からの窓開けを含む)を平均した指標で、値動きの大きさだけを数値化します。詳しい成り立ちはATRとボラティリティの基礎を参照してください。

ATRの特徴は、上下どちらの方向にも中立であることです。方向を持たないぶん、損切り幅の設計やロット計算など、幅を決める用途 で使いやすい性質があります。値幅の考え方を利益確定側に応用した例はATRベースの利確幅設計でも扱っています。

限界は明快で、ATRは「どこ」を教えてくれません。今日はおおむねこれくらい動きそうだ、という規模感が分かっても、その値動きがどの価格帯で止まりやすいかは別の情報が必要です。もう一点、ATRは過去のバーの平均であるため、これから発表される経済指標のような 未来の急変を先取りはしない という前提も押さえておきます。

なぜこの組み合わせか

ピボットポイントが答えるのは「どの価格帯が注目されやすいか」、ATRが答えるのは「今日はどれくらい動きそうか」です。答える内容が重ならないため、片方の欠けている情報をもう片方が埋める形になります。具体的には、次の3つの使い道が考えられます。

1. 距離の正規化。現在値から対象水準までの価格差をATRで割ると、「ATR何本分か」という無次元の値が得られます。0.5本分なら日常的な値動きの範囲、3本分なら平常時の推移では届きにくい、という具合に、銘柄や時間足が違っても同じ物差しで比較できるようになります。

2. 「近辺」の定義。水準にどれだけ近づいたら接近とみなすかを固定値で決めると、荒い相場では常に接近判定になり、静かな相場ではいつまでも成立しません。許容幅をATRの一定割合として定義すれば、環境に応じて自動的に伸縮します。

3. バッファの設計。損切りを節目のちょうど外側に置くと、一時的な行き過ぎで反応してしまう場面が増えます。節目からさらにATRの一定割合だけ離した位置に置く、という規則にすると、余裕の取り方に一貫した基準を持たせられます。

要するに、ピボットの「スケールを持たない」弱点をATRが埋め、ATRの「場所を持たない」弱点をピボットが埋める補完関係です。一般論として、遠すぎる水準を当日の対象から外すノイズフィルターとして機能することが期待できます。

ただし、両者はどちらも過去データから作られる点で共通しています。前日が荒れた日はピボットの水準間隔が広く出て、同時にATRも膨らむため、2つの指標が同じ方向に歪む場面がある ことは意識しておく必要があります。イベント前後を別扱いにする条件を併用するかどうかも、設計時の検討事項です。

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

正解の値を示すことはできないため、考える順番と方向性だけを整理します。

ピボット側 は、計算式の種類(クラシック・フィボナッチ・カマリラなど)と、基準にする期間(日足か週足か)が主な選択肢です。日中の値動きを対象にするなら日足、数日単位で持つなら週足が参照されやすい、という程度の方向性に留めます。

ATR側 で本質的なのは、期間の長さよりも どの時間足のATRを使うか です。実行足がH1のときにH1のATRを使えば「1本のバーの平均値幅」になりますが、日足ピボットまでの距離を測るなら日足ATR、つまり「1日の平均的な値幅」を使うほうが単位の意味が揃います。期間は14が一般的で、短くすると直近の変化に敏感になり、長くすると鈍くなる、という一般的な傾向がそのまま当てはまります。

係数 は、許容幅とバッファの2つがあります。どちらもATRに対する倍率として持たせ、小さめの値から段階的に広げて挙動を見る進め方が扱いやすいでしょう。倍率を広げれば反応は減り、狭めれば反応は増えます。どの水準に落ち着かせるかは、過去データでの検証と、自分が許容できる損切り幅、そしてリスクリワード比の設計から逆算して決めていきます。決め打ちで固定せず、検証プロセスを省略しないことが前提です。

cBot化する際の考慮点

cTraderのcBotとして組む場合、押さえておきたい設計上のポイントを挙げます。

2系統のデータ: 日足のバーと実行足のバー、2つの系列を扱います。ピボットは日足から、判定は実行足から行うため、それぞれの更新タイミングが異なる点を最初に整理しておきます。

計算タイミング: ピボットは日付が変わった時点で1回再計算すれば十分です。ATRは確定足ごとの更新で足り、距離の判定だけをティックごとに行う構成にすると、無駄な計算を避けられます。

単位の扱い: 距離を pips で保持すると銘柄ごとの定義差に振り回されます。Symbol.PipSize で換算する経路は残しつつ、判定ロジック内部ではATR比の無次元値で持つほうが、他の銘柄へ流用しやすくなります。

エッジケース: 起動直後は日足の本数が不足します。ATRが NaN を返す期間もあります。加えて、ATRが極端に小さい局面では割り算がゼロ除算に近い挙動をするため、下限値のガードを入れておくと安全です。週明けや祝日を挟むときの「前日」の定義も、仕様として決めておきます。

// 例: 日足ピボットと日足ATRから、節目までの距離をATR比で求める
var daily = MarketData.GetBars(TimeFrame.Daily);
var dailyAtr = Indicators.AverageTrueRange(daily, 14, MovingAverageType.Exponential);

if (daily.Count < 2) return;                    // 前日データ不足のガード

double atr = dailyAtr.Result.Last(1);
if (double.IsNaN(atr) || atr <= Symbol.PipSize) return;  // ゼロ除算・異常値のガード

double p  = (daily.HighPrices.Last(1) + daily.LowPrices.Last(1) + daily.ClosePrices.Last(1)) / 3.0;
double r1 = 2.0 * p - daily.LowPrices.Last(1);

double distanceInAtr = (r1 - Symbol.Bid) / atr;  // 「ATR何本分か」に正規化
// この値を、対象水準の絞り込みや許容幅の判定に使う

計算負荷はどちらの指標も軽く、リソース面の心配はほとんどありません。検証段階では、算出した水準・ATR・正規化後の距離をそのままログに出し、チャート上の見え方と突き合わせておくと、パラメータを触ったときの変化が追いやすくなります。

実装の流れ

全体像を、入力から出力までの順に整理します。

  1. 入力: 対象銘柄と実行足を決め、日足と実行足の両方のバーを取得する
  2. 計算: 日付変更時にピボット水準を再計算し、確定足ごとにATRを更新する
  3. 判定: 現在値から各水準までの距離をATRで割り、当日の対象とする水準を絞り込む
  4. 設計: 対象水準の外側にATR比のバッファを置いた損切り水準を算出し、その幅から想定リスクを見積もる
  5. 出力: 条件を満たした時点をログに記録する。発注まで自動化する場合も、損切り水準をセットで送る

発注を伴わず、水準の描画と距離の記録だけを行う構成にしておくと、判断材料としての妥当性を落ち着いて検証できます。

日付変更によるピボット算出とATR更新の2系統が合流し、距離の正規化と幅の設計に至るフロー図

どう活用するか

この設計図は、立場によって使い道が変わります。

自作派の方は、Claude Code に渡す仕様書の下敷きとして、本記事のセクション構造をそのまま流用してみてください。特にエッジケースの節は、そのまま実装時のチェックリストになります。委託派の方は、ai-programming.xyz での開発相談時に「節目までの距離をATR比で正規化する構成」という前提を共有しておくと、要件の詰めが早く進みます。教育派の方は、日足バーの取得とゼロ除算ガードを自分の手で書く練習題材として扱えます。

「場所の指標 × 幅の指標」という分担は、フィボナッチやレンジ高安など、他の水準系の手法にも同じ形で応用できる考え方です。

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