ROC(Rate of Change、変化率)は最もシンプルなモメンタム系指標の一つです。計算式は「(当日値 − n期前の値)÷ n期前の値 × 100」で、n期間前と比べて価格が何%変化したかを示します。
ROCがゼロより上にあれば、n期前より価格が上昇しています。ゼロより下にあれば下落しています。ゼロラインのクロスがモメンタムの方向転換の基本シグナルです。
シンプルなだけにノイズも多いです。単独で使うより、トレンドフィルター(EMA・SMAの方向)と組み合わせてモメンタムの方向確認として使うのが実務的です。
TradingViewで使えるROCスクリプト
ROC Pulse: Rate of Change with Historical Echo — 過去の同水準との比較機能
直近バーのROC値と過去を照合し、同水準のROCが発生した最新バーへ点線で結ぶ「ヒストリカルエコー」機能を持つスクリプトです。「同じROC水準のとき過去に何が起きたか」を視覚的に参照できます。

読み方と使い方
- 現在のROC水準:今の価格変化率がどの水準にあるかを確認
- ヒストリカルエコー(点線):同じROC水準が過去に発生したときのバーを参照。過去に同水準でどう動いたかを確認できる
- Max/Minマーカー:ROCの局所的な高値・安値を表示。転換点の参考になる
他のスクリプトとの違い
過去の同水準を参照できる「ヒストリカルエコー」がユニークです。「このROC水準は過去に何度か出ており、そのとき○○の動きが多かった」という統計的な視点を加えられます。
Volatility-Adjusted Rate of Change [QuantAlgo] — ATRで正規化した一貫性のあるROC
☞ Volatility-Adjusted ROC by QuantAlgo
価格変化量をATR(Average True Range)で正規化したモメンタムオシレーターです。ボラティリティが高い時期と低い時期でROCの値が大きく異なる問題を解決し、一貫した読み取りが可能になっています。

読み方と使い方
- ATR正規化されているため、ボラティリティが異なる時期の比較が容易
- 通常のROCより過熱水準が安定している。高ボラ時に過熱と誤認しにくい
- 複数通貨ペアを比較するときにも使いやすい
Rate of Change - ROC | TR — デュアルモード(ROC/ヒートマップ)
☞ Rate of Change | TR by Tiagorocha1989
ROC表示とヒートマップ表示のデュアルモードと、MA種別の選択に対応した強化版ROCです。計算式は「(当日値 - n期前値) / n期前値 × 100」の標準ROCです。

ROCを使うときに知っておくこと
期間設定でキャラクターが変わる
ROCの期間が短い(例:5〜10)と短期のモメンタムに敏感で変動が大きい。長い(例:20〜50)とトレンドの大きな方向を示しますが反応が遅くなります。日足で使う場合、14が標準的な出発点です。
ゼロラインより他のオシレーターとの組み合わせ
ROC単体のゼロラインクロスは頻繁に発生してノイズが多いです。EMA方向フィルター(上向きEMAのときだけROCのプラスシグナルを取る)、ATRフィルター(最低ボラティリティを超えているときだけ)などと組み合わせて使うのが実務的です。