ピボットポイントとADXを組み合わせる考え方 — トレンド強度で節目を「反発」と「通過」に読み分ける
ピボットポイントのような水平の節目を使うロジックで、いちばん判断が割れるのは「価格が節目に届いたとき、そこで折り返すと見るのか、抜けていくと見るのか」という場面です。同じR1への到達でも、静かな日には戻りの上限になり、方向の出た日には通過点にすぎないことがあります。本記事では、この二択を ADX(平均方向性指数) に判定させる組み合わせを取り上げます。
ここでのADXの役割は、売買の方向を決めることではありません。節目の扱い方を切り替えるスイッチ として使います。ADXが低い局面では節目を反発の候補として、ADXが上昇している局面では節目を通過点として読む、というモード切り替えの設計です。節目系のcBotを自作したい方、開発委託の要件を整理したい方に向けた考え方の共有であり、特定の設定が成果を保証するという話ではありません。
ピボットポイントの役割
ピボットポイントは、前日の高値・安値・終値から当日の基準水準を機械的に求めるレベル系の指標です。中心のP(ピボット)の上下に、レジスタンス候補のR1〜R3、サポート候補のS1〜S3が並びます。算出方法はピボットポイントの基礎で解説しています。
計算式が固定で誰が引いても同じ水準になるため、多くの参加者が同じ線を意識している可能性があり、日中の値動きの目安として使われやすいと考えられます。日付が変わった時点で水準が確定するので、「この水準に来たら判定する」という待ち伏せ型の設計と相性が良い点も特徴です。
単独使用時の限界は、水準に意味づけができない ことです。ピボットは「どこに節目があるか」は示しても、「その節目が今日どう機能しそうか」は語りません。折り返しを前提にしたロジックはトレンドの日に節目を次々と抜かれて逆行に巻き込まれやすく、突破を前提にしたロジックは静かな日にダマシのブレイクを繰り返し拾いがちです。前提をどちらか一方に固定すると、相場の性格が変わった日にロジック全体が噛み合わなくなります。
ADXの役割
ADX(Average Directional Index)は、方向に関係なくトレンドの強さだけを0〜100の範囲で示す指標です。上昇の勢いを表す+DI、下落の勢いを表す-DIの差から算出され、値が高いほど一方向への動きが続いていることを表します。基本はADXでトレンドの強さを測るにまとめています。
この組み合わせで注目するのは、ADXの 水準と傾き です。低位で横ばいなら方向感の乏しい局面、しきい値を超えて上向きなら一方向への動きが強まりつつある局面と読む材料になります。
単独使用時の限界は2つあります。1つは、ADX自体は方向を持たないため、売買の向きは+DIと-DIの位置関係など別の情報で補う必要があること。もう1つは、平滑化を重ねた計算のため反応が遅く、トレンドの初動ではまだ低い値を示しやすいことです。また、ADXは「強さ」を語っても「どこで」を語らないため、エントリーや損切りの位置の目安にはなりません。
なぜこの組み合わせか
ピボットとADXは、互いの欠けている部分をちょうど埋め合う関係にあります。ピボットは 場所 を持っていても 局面の性格 を持たず、ADXは 局面の性格 を持っていても 場所 を持ちません。この2つを重ねると、「どの水準で」「どちらの読み方をするか」を同時に決められるようになります。
読み分けは、次の3つのモードに整理できます。
- 反発観察モード(ADXが低位): 方向感の乏しい局面と読み、R1・S1を折り返しの候補として観察する。Pを挟んだ往復を想定した設計に向く
- 通過観察モード(ADXがしきい値超えかつ上向き): 一方向の動きが強まっている局面と読み、節目を抜けた後の定着を観察する。+DIと-DIの位置関係で、どちら向きの通過を見るかを決める
- 判定保留(その中間): どちらの読み方にも根拠が薄い局面として、判定そのものを行わない
ポイントは3つ目の 判定保留 を明示的に持つことです。しきい値1本で二択にすると、境界付近でモードが頻繁に入れ替わり、同じ日に反発狙いと突破狙いの判定が混在しかねません。中間帯を「何もしない領域」として設けることで、モードの切り替わりにヒステリシス(戻りにくさ)を持たせ、ノイズフィルターとして機能することが期待できます。
なお、ADXは遅れて反応するため、トレンドの初動で節目を抜けた最初の動きは反発観察モードのまま迎えることがあります。この組み合わせは初動を捉える設計ではなく、局面の性格がある程度はっきりしてから節目の扱いを決める設計だと理解しておくと、期待値の置き方を誤りにくくなります。判断の誤りについてはブレイクアウトとダマシの基礎も参考になります。
パラメータをどう考えるか
設定の論点は、ADX側に集中します。
- ADXの期間: 14が広く使われる標準的な値です。短くすると切り替わりが早くなる代わりに、モードが揺れやすくなります。
- しきい値の置き方: 一般には20前後を低位、25前後をトレンドの目安とする見方があります。本記事の構成では、この2本を「反発観察の上限」と「通過観察の下限」に割り当て、間を判定保留とする形が自然です。
- 傾きの見方: 現在値と数本前の値を比べるだけでも、上向きか横ばいかの判定に使えます。比較する本数は判定足の長さに合わせて決めます。
- ADXを測る時間足: ピボットが日次の水準なので、判定足と同じ足で測るのか、1時間足など一段上の足で局面を測るのかで性格が変わります。
どの値にも正解はありません。目的を決めたうえで複数の組み合わせをバックテストで見比べ、特に「判定保留にどれだけの時間が割り当てられるか」を確認しておくと、設定の偏りに気づきやすくなります。
cBot化する際の考慮点
設計ドキュメントとして、実装時に押さえたい点を整理します。
- 計算タイミングの分離: ピボット群は日付が変わった最初のバーで一度だけ計算して保持し、ADXのモード判定はOnBarで確定足ごとに行います。毎ティック判定すると、足の途中でモードが揺れる原因になります。
- モードの保持: 判定したモードはフィールドに保持し、ログにも残します。モードが切り替わった時刻を記録しておくと、後からの検証が格段に楽になります。
- 日またぎの扱い: 日付変更直後はピボットが新しくなる一方、ADXは前日からの流れを引き継いだ値です。日の初めのモードが「前日の局面」を反映している点は、仕様として把握しておきます。
- 本数の下限: ADXは平滑化を重ねるため、期間の数倍の本数がないと値が安定しにくい傾向があります。起動直後は判定を止めておく条件を入れます。
- ポジション管理との連携: モードごとに損切りの考え方が変わります。反発観察では節目の外側、通過観察では抜けた節目の内側への戻りを基準にする、といった設計上の対応関係を決めておきます。
判定部分の骨組みを疑似コードで示します。
private DirectionalMovementSystem _dms;
protected override void OnStart()
{
_dms = Indicators.DirectionalMovementSystem(AdxPeriod);
}
protected override void OnBar()
{
if (Bars.Count < AdxPeriod * 3) return; // 値が安定するまで判定しない
double adx = _dms.ADX.Last(1); // 確定足で評価
bool rising = adx > _dms.ADX.Last(1 + SlopeBars);
if (adx < RangeThreshold)
_mode = Mode.Reversal; // 節目を反発の候補として観察
else if (adx > TrendThreshold && rising)
_mode = Mode.Breakout; // 節目を通過点として観察
else
_mode = Mode.Neutral; // 判定保留
// 保持済みのP・R1・S1と現在値の距離を見て、モード別の判定へ
}
実運用では、シンボルごとの呼び値・スプレッド・ロット設計に合わせて細部を詰める必要があります。
実装の流れ
処理を上流から並べると、次のようになります。
- 日替わりでピボットを計算: 前日の高値・安値・終値からP・R1・S1などを求めて保持します。
- ADXでモードを判定: 確定足のADXの水準と傾きから、反発観察・通過観察・判定保留のいずれかを決めます。
- モード別の節目判定: 反発観察なら節目付近での折り返し、通過観察なら節目を抜けた後の定着を確認します。判定保留ではここをスキップします。
- リスク幅の設定と記録: モードに応じた損切りの基準を当て、判定時のモード・水準・ADXの値をログに残します。
分岐を3つに分けておくことで、どのモードで判定が多く発生し、どのモードで空振りが多いかを後から切り分けて検証できます。
どう活用するか
この組み合わせの本質は、「場所を示す指標」と「局面の性格を示す指標」の役割分担にあります。ピボットを前日高値・安値やラウンドナンバーに、ADXを別のトレンド強度系の指標に置き換えても、モード切り替えという骨格はそのまま使えます。方向フィルターで節目を選別する考え方はピボットポイントと移動平均の組み合わせで扱っているので、読み比べると設計の違いが見えやすくなります。
自分で組んでみたい方は、Claude Codeを併走させた開発の下敷きとして、この記事の構成を設計メモ代わりに使ってみてください。実装を相談したい方は、ai-programming.xyzで個別の開発相談を受け付けています。体系的に学びたい方には、スクールで設計から実装までを順に学べるコースも用意しています。
本記事は一般的な情報提供を目的としています。投資助言ではありません。 取引判断はご自身の責任で行ってください。