Percentile Rank 指标:公式、参数与读法

百分位排名显示当前收盘价在最近 N 个收盘价分布中所处的位置,刻度为 0 到 100。读数 100 表示窗口中没有任何其他收盘价高于当前收盘价。

Senzoukria · 指标 · Updated September 2026


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

Percentile Rank 测量的是什么

计算时统计窗口中有多少个收盘价小于或等于当前收盘价,当前K线本身不计入,再除以 N 减一。窗口包含当前K线,但该K线不参与计数,所以这里的周期对应 TradingView ta.percentrank 中的 N 减一长度——对比图表时值得了解这一已记录的一根K线偏移。使用“小于或等于”意味着平局按有利于当前K线计算,所以完全走平的窗口返回 100 而不是 50;这是一个精确结果,因为其他每个收盘价确实都小于或等于当前收盘价。默认周期为 100,因为排名需要较长的记忆才能描述任何东西。

公式:代码中的实现

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

Rang percentile du close dans la fenêtre des N dernières barres, 0..100 : rank = 100 · #{ j ≠ i dans la fenêtre : close_j ≤ close_i } / (N−1) Convention « ≤ » (les égalités comptent), celle de `ta.percentrank` de TradingView ; la fenêtre inclut la barre courante, qui est exclue du comptage — notre N vaut donc le `length` + 1 de TradingView, écart documenté. Conséquence assumée de la règle « ≤ » : une fenêtre PLATE rend 100, pas 50 — c'est une valeur EXACTE (tous les autres closes sont bien ≤ au courant), pas un 0/0 déguisé ; le dénominateur N−1 est ≥ 1 par le garde-fou min=2. Défaut N=100 (un rang percentile a besoin d'une longue mémoire pour dire quelque chose). Warm-up → null.

如何解读

  • 读数是序数性质的:它告诉你当前收盘价超过了多少个收盘价,从不告诉你超过多少。
  • 升到 100 表示窗口内出现了新的最高收盘价,不论它只高出前高一个 tick,还是大幅跳空。
  • 价格停滞而读数上升,说明较早的更高收盘价正在滚出窗口——排名变了,价格却没变。
  • 50 左右的中间数值描述的是收盘价位于其近期分布中部,这是关于窗口形态的陈述,而不是关于方向。
  • 在长时间以相同价格成交的品种上,平局会把排名推向顶部,所以在把 100 解读为延伸之前,先检查原始价格序列。

参数与默认值

周期默认 100,可设 2 到 2000。短窗口会让排名在几乎每次摆动时都在 0 和 100 之间翻转,因为只需超过少数几个收盘价;在最小值 2 时读数只能是 0 或 100。长窗口产生一条移动缓慢的线,只有在真正的多窗口高点或低点才会到达极值。

Percentile Rank — 应用中可调的参数及其默认值。
参数类型默认值取值范围
Periodnumber1002 – 2000

它无法显示的内容

排名完全舍弃幅度,这既是它的优点也是它的盲区:高出一个 tick 的新高与大幅突破都读作 100。它还对离开窗口的数据敏感——一个旧的极值滚出窗口,即使没有任何新的价格行为,排名也会改变。它只使用收盘价,因此K线内部的高点、低点和波幅都不可见,成交量和主动方向也都不参与。最后,平局按有利于当前K线处理,在收盘价经常重复的品种上会使读数偏高。

浏览全部指标

其他语言版本

Frequently asked questions

价格图表上百分位排名为 100 意味着什么?
意味着回溯窗口中没有任何其他收盘价高于当前收盘价。由于平局按有利于当前K线计算,所有收盘价都相同的窗口也返回 100。这个读数说明当前收盘价位于其近期分布的顶部,但不说明它比其余价格高出多少。
为什么这里的百分位排名周期比 TradingView 多一根K线?
这里的窗口包含当前K线,但不把它计入比较,所以设为 N 根K线时,是把当前收盘价与其他 N 减一个收盘价比较。TradingView 的 ta.percentrank 把长度定义为参与比较的K线数,因此同样的计算在那里使用小一的数值。
百分位排名和随机指标 KD 一样吗?
不一样。随机指标衡量当前价格到窗口最低价的距离占窗口波幅的比例,因此反映幅度。百分位排名统计当前收盘价超过了多少个收盘价,因此只反映顺序——两个截然不同的价格分布可能得到相同的排名。

Keep reading