ROC(変化率)とは?価格が動いていないのに、ROCが勝手に跳ねる理由
「今日は価格がほとんど動いていないのに、ROCがいきなりマイナスからプラスに跳ねたのはなぜ?」
答えは今日ではなく、12本前にあります。ROCは今日と「N本前のその1日」だけを比べます。その日が入れ替わると、ROCも一緒に変わります。入れ替わったのがたまたま急騰や急落のローソク足だったら、ROCは勝手に跳ねます。この記事ではまず7本のローソク足で一度計算し、次に 1〜4 の番号を付けた実際のチャート(ドル/円、2026年)で、この「こだま」がどう見えるかを確かめます。
この記事は MASQuant の「トレーディングアカデミー・テクニカル指標大全」シリーズの1本です。すべての指標の分類はテクニカル指標大全にまとめています。
ひと言でいうと
ROC=今日の価格が、N本前より何%上がったか下がったか。
答えてくれる問いは「ある1日と比べて、今は上がっているのか下がっているのか、差はどれだけか?」です。
ROCは「前年同月比」の伸び率のようなものです。今年5月の業績を去年5月と比べます。去年5月にたまたま特別大きな注文が1件あったら、今年5月の前年同月比はひどい数字になります。今年が悪くなったのではなく、比べる基準が特別高かったからです。ROCの数字は、半分が今日で、半分が比べる相手の日で決まります。
まず計算してみる:価格は動かないのに、ROCが跳ねる
計算しやすいように、3本のROC(今日と3本前を比べる)を使います。4日目に価格が100から90に下がり、その後はずっと90のままです(以下は説明用の整数であり、相場データではありません)。
| 日 | 終値 | 3本前の終値 | ROC(3) |
|---|---|---|---|
| 4日目 | 90 | 100 | (90 − 100)÷ 100 × 100 = −10% |
| 5日目 | 90 | 100 | −10% |
| 6日目 | 90 | 100 | −10% |
| 7日目 | 90 | 90 | (90 − 90)÷ 90 × 100 = 0% |
5日目、6日目、7日目の価格はまったく動いていません。しかし7日目になると、比べる相手の日が「下落前の100」から「下落後の90」に入れ替わり、ROCは−10%から一気に0%へ跳ね戻ります。4日目の下落はROCの中に3本分とどまり、その後一度に消えます。期間を12にすれば、12本分とどまります。
正式な計算式
よく使われるパラメーターは12です(9、10、14を使う人もいます)。
ROC =(今日の終値 − 12本前の終値)÷ 12本前の終値 × 100
0より上:12本前より高い
0より下:12本前より低い
MT5には関連する指標が2つあり、計算方法が少し違います。
- MT5のサンプルにあるROC(Rate of Change、デフォルト12):割る数が「12本前の価格」ではなく「今日の価格」です。そのため10%上昇は9.09、10%下落は−11.11と表示され、上の標準的な計算方法とは少し違います。
- MT5標準搭載のMomentum(モメンタム、デフォルト14):「今日 ÷ N本前 × 100」を計算します。100は変化なし、101は1%高いという意味です。本質はROCと同じで、0を100に置き換えただけです。
この記事のチャートは、上の標準的な計算方法を使っています。プラットフォームをまたいで数値を比べる前に、どれを使っているかを確認しましょう。
チャートで見る:ドル/円2026年、1〜4 の順に
下のチャートは、ドル/円(USDJPY)の2026年3月初めから6月下旬までの日足で、MT5の過去の価格データから取ったものです。全体の値動きは157.689→161.529。途中の4月30日に、とても大きな陰線が1本あります。グレーの背景は、その陰線がまだROCの中に残っている12本です。

1日で2.38%下落(2026年4月30日)。この日の下げ幅は平均真の値幅(ATR)の約4.5倍で、この期間でいちばん大きな1本でした。
ROCも下がる:+0.58%から−1.38%へ。今日大きく下がったのだから、12本前と比べればマイナスになるのは当然です。ここは理屈どおりです。
12本後、価格はほとんど動かない(2026年5月18日、+0.01%)。この日の終値は158.773。前日とほぼ同じです。
それなのにROCは−1.00%から+1.42%へ、1日で2.42ポイント跳ねる。理由は、比べる相手の日が入れ替わったことです。前日は下落前の価格と比べていましたが、この日は4月30日の大幅下落後の終値(156.554)と比べています。今日は何も起きていないのに、ROCはまるで大陽線が出たかのように見えます。これがROCの「こだま」です。
これは実際の過去の値動きで、ROCの性格を説明するためのものであり、一般法則ではありません。銘柄、時間足、期間を変えれば、数字はすべて変わります。
見えるもの・意味すること
| 見えるもの | ふつう意味すること | ただし注意 |
|---|---|---|
| ROCが0より上 | N本前より高い | 1点と比べているだけで、その間ずっと上がっていたという意味ではない |
| ROCが0より下 | N本前より低い | 同上 |
| ROCがマイナスからプラスに転じる | 今の価格がN本前を上回った | 「比べる相手の日」が入れ替わっただけかもしれず、今日上がったとは限らない(チャートの 4) |
| 価格は高値を更新したのに、ROCは前回より低い | 上昇の勢いが落ちている | 反転するという意味ではなく、N本前との差が縮まっただけ |
| 価格は横ばいなのに、ROCが急に大きく跳ねる | N本前のとても大きなローソク足が抜けたばかり | N本さかのぼって探してみれば、たいてい原因が見つかる |
実際の使い方:3つの例
例1:モメンタムのフィルターとして
ルールは「ROC(12)が0より大きいときだけ買う」と書けます。つまり「今は12本前より高い」ときだけ、トレンド方向の注文を出すということです。これがいちばん単純で、いちばんよくある使い方です。
例2:どの銘柄が強いかを比べる
ROCはパーセントなので、価格水準の違う銘柄でもそのまま比べられます。たとえば金、銀、株価指数の直近20本のROCを並べて見て、いちばん強いものだけを買います。
例3:こだまによるダマシを避ける
ルールが「ROCがマイナスからプラスに転じたらエントリー」なら、「その日の終値も前日より高いこと」という条件を加えられます。チャートの 4 のような「価格は動かず、基準が入れ替わっただけ」のプラス転換は、これで弾かれます。
3つの例はどれも、次のことを覚えておく必要があります。ROCが比べるのは2点だけ。今日の1点とN本前の1点で、その間に何が起きたかは見ていません。N本前のその日が特別であればあるほど、ROCは勝手に跳ねやすくなります。
よくある誤用
1. ROCがプラスに転じたら、今日上がったと思う
チャートの 4 では、価格は0.01%しか上がっていないのに、ROCは−1.00%から+1.42%に跳ねました。プラスに転じた原因は、12本前の大陰線が計算範囲から抜けたことで、今日買いが入ったからではありません。
2. プラットフォームの違うROCの数字をそのまま比べる
標準的な計算方法はN本前の価格で割り、MT5のサンプルのROCは今日の価格で割り、MT5のMomentumは100を中心にしています。同じ「10%上昇」でも、3つはそれぞれ10、9.09、110と表示されます。
3. 期間を気軽に変える
ROC(9)とROC(14)では比べる相手の日が違い、こだまが現れるタイミングも違います。期間を変えればシグナルの位置も変わるので、そのまま流用せず、検証し直す必要があります。
よくある質問
ROC指標とは何ですか?
ROC(Rate of Change、変化率)はモメンタム系の指標で、今日の価格がN本前より何%上がったか下がったかを計算します。よく使われる期間は12です。0より上ならN本前より高く、0より下なら低いということです。
ROCとMomentumの違いは?
本質は同じで、どちらも今日とN本前を比べます。ROCは0が中心で単位は%、MT5標準搭載のMomentumは「今日 ÷ N本前 × 100」で、100が中心です。
ROCはなぜ急に跳ねるのですか?
比べる相手の日が毎日入れ替わるからです。N本前に特別大きなローソク足があると、それが計算範囲から抜ける日に、ROCは大きく跳ねます。その日の価格がほとんど動いていなくてもです。
MT5にROCはありますか?
MT5のインストール時に付いてくるサンプル指標(Examplesフォルダ)にRate of Changeがあり、デフォルトの期間は12です。今日の価格で割るので、数値は標準的な計算方法と少し違います。MT5の指標一覧に標準搭載されているのはMomentumです。
まとめ
ROCはとても直接的です。今日がN本前より何%上がったか。弱点も同じくらい直接的です。比べる基準が毎日入れ替わり、基準の日が特別であるほど、数字は勝手に跳ねます。
ですから本当に問うべきは、「ROCがマイナスからプラスに転じる」をエントリールールに使ったとき、そのうち何回が、実は12本前のその日が入れ替わっただけだったのか?です。この問いには、ひとつの過去の値動きでは答えられません。ルールを多くの相場でバックテストする必要があります。
まだ自分のルールがなく、指標を1つずつ組み合わせるところから始めたくない? MASQuant のストラテジージーニーなら、まず投資スタイルを1つ選ぶだけで、AIが相場を分析して銘柄を選び、候補の戦略を一度に3つ出してくれます。どれも過去のデータでバックテスト済みで、リターンと元本の最大ドローダウンを並べて確認したうえで、MT5に導入するかどうかをあなたが決めます。
すでに自分のアイデアがあるなら、条件を1つの文にまとめて、たとえば「ROC(12)が0より大きく、しかもその日の終値が前日より高いときだけ買う」として、AIストラテジーアシスタントに渡し、ボタンを押せばバックテストが始まります。バックテスト環境にはスプレッド、スリッページ、市場流動性の変化、執行遅延といった実際の市場の摩擦が含まれています(使い方はAIストラテジーアシスタントの使い方をご覧ください)。さらに「その日の終値が前日より高い」を外してもう一度実行すれば、こだまによるダマシがどれだけあったかがわかります。バックテストが教えてくれるのは「このルールが過去の相場でどうだったか」であり、将来の保証ではありません。
アイデアは、検証されて初めて戦略になる。
本文のチャートはMT5プラットフォームの過去の価格データ(日足。プラットフォームによって価格や日足の区切り方が少し異なるため、数値が完全に一致しない場合があります)から取り、指標はプログラムで標準的な計算方法に従って算出しています。例に使った整数は相場データではありません。過去の値動きは指標の性格を説明するためだけに使っており、将来の値動きを示すものではありません。
リスク開示:CFDはハイリスクの金融商品であり、急速に資金を失う可能性があります。過去の実績は将来の結果を保証するものではなく、すべての戦略とバックテストは参考情報であり、投資助言ではありません。取引前に当社のリスク開示条項を十分にご確認ください。



