ROC 指标:公式、参数与读法

变动率(Rate of Change,ROC)把从 N 根K线前的收盘价到当前收盘价的变动,表示为那个较早收盘价的百分比。默认回看为 12 根K线,当价格恰好回到参考水平时,线条穿越零轴。

Senzoukria · 指标 · Updated September 2026


ROC 动量, 显示在图表下方的独立面板中.

ROC 测量的是什么

公式只涉及两个价格:当前收盘价和回看起点的收盘价,后者作为分母。由于结果是百分比,它可以在不同品种和不同价格水平之间比较,而同一组中的原始动量差值做不到这一点。参考收盘价为零时——这只会出现在历史数据的填充位上,绝不会出现在有成交的K线上——比值未定义,此时不绘制数值,而不是把除以零的问题掩盖在一个很大的数字后面。窗口填满之前不会出现任何数值。

公式:代码中的实现

这不是别处常见的定义,而是所发布代码实际计算的内容,记录在实现旁边:

ROC % : 100·(close − close[i−N])/close[i−N]. Référence nulle (close = 0, historique de remplissage) → null — pas de division par zéro déguisée. Défaut N=12 (convention classique du ROC quotidien).

如何解读

  • 数值大小是参考收盘价的百分比,因此参考价格越低,同样的绝对变动读数越大。
  • 穿越零轴标记的是当前收盘价越过 N 根K线前价位的时刻,方向不限。
  • 窗口任一端移动时线条都会变化:即使当前K线走平,只要一根大的参考K线移出窗口,读数仍会改变。
  • 由于没有平滑,该序列与底层收盘价一样充满噪音,这正是 KST 震荡指标先平滑四条这样的序列再合并的原因。
  • 应把读数与同一品种在相同周期和相同K线周期下的历史进行比较;股指期货与波动剧烈的加密货币交易对,百分比范围差别很大。

参数与默认值

周期默认为 12,可设为 1 到 200。周期为 1 时,指标就是相邻K线的百分比变化。周期越长,衡量的是更大跨度上的位移,反应更慢,参考K线滚出窗口时的影响也更明显。

ROC — 应用中可调的参数及其默认值。
参数类型默认值取值范围
Periodnumber121 – 200

它无法显示的内容

变动率只知道两个点,对两点之间的路径一无所知:平稳的上涨和在同一收盘价结束的剧烈来回会给出同样的数字。分母是单独一根历史K线,因此一个不具代表性的参考——尖刺、跳空、中断后的第一笔成交——会扭曲每一个读数,直到它离开窗口。百分比形式在参考价格很低时也会放大读数。它不包含成交量、成交规模和主动方信息;而跨期货合约换月时,百分比失去意义,因为两个收盘价属于不同的合约。

浏览全部指标

其他语言版本

Frequently asked questions

变动率指标如何计算?
用当前收盘价减去 N 根K线前的收盘价,除以那个较早的收盘价,再乘以 100。默认回看为 12 根K线。结果是百分比,因此可以在价格水平不同的品种之间直接比较。
变动率为负是什么意思?
当前收盘价低于 N 根K线前的收盘价,低出的幅度就是这个百分比。它描述的是窗口内的净变化,对价格如何到达这里一无所知——稳步下跌,与先上涨再更大幅下跌,可以产生同样的负值。
日内图表用什么变动率周期合适?
默认的 12 根K线来自日线惯例,并沿用到任何周期,因为计算统计的是K线数量而不是时间。在较短的日内K线上,12 根K线的回看只覆盖很短的时间,因此选择取决于对该品种和交易时段而言,回看多远的比较才有意义,并不存在放之四海而皆准的数字。

Keep reading