Ultimate Oscillator 指标:公式、参数与读法

终极振荡器(Ultimate Oscillator)把三个窗口(默认 7、14、28 根K线)上测得的买方压力合成为一条 0 到 100 的线,短窗口权重 4,中窗口 2,长窗口 1。Larry Williams 于 1976 年发表该指标,用以消除单周期振荡器的尺度偏差。

Senzoukria · 指标 · Updated September 2026


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

Ultimate Oscillator 测量的是什么

一根K线的买方压力等于收盘价减去“自身最低价与前一收盘价中较低者”;真实区间则等于“自身最高价与前一收盘价中较高者”减去同一个较低值。每个窗口的平均值等于买方压力之和除以真实区间之和,因此读数是近期区间中以有利于买方的方式收盘的比例。4/2/1 的权重有明确的理由:它让每个周期覆盖相同的市场时间,因为 7 乘 4、14 乘 2、28 乘 1 都等于 28,而除数 7 就是 4 加 2 加 1。由于买方压力需要前一收盘价,窗口从第二根K线开始,因此第一个绘出的值位于三个周期中最大的那个,而不是长周期减一。如果任一窗口的真实区间之和为零,或三个周期中任一个无定义,该K线不输出任何值:绝不会发布部分平均。

公式:代码中的实现

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

Ultimate Oscillator (Larry Williams, 1976) — moyenne PONDÉRÉE 4/2/1 de trois horizons, AUCUN lissage exponentiel (sommes glissantes brutes) : BP = close − min(low, closeₚ) (« buying pressure ») TR = max(high, closeₚ) − min(low, closeₚ) (true range de Wilder) avg_N = Σ_N BP / Σ_N TR UO = 100 · (4·avg_short + 2·avg_medium + 1·avg_long) / 7 POURQUOI les poids 4/2/1 : Williams les choisit pour que chaque horizon pèse le MÊME temps de marché (7×4 = 14×2 = 28×1), ce qui neutralise le biais d'échelle des oscillateurs mono-période. Défauts 7/14/28 (l'article original). Le rapport 7 au dénominateur = 4+2+1. BP/TR n'existent PAS sur la première barre (pas de close précédent) : les fenêtres démarrent à l'indice 1, d'où un warm-up à max(short, medium, long) et non à long − 1. Σ TR NULLE sur une fenêtre (barres sans range, séance figée) → null, jamais 0 : sans amplitude, la pression acheteuse n'a pas de référence. Un seul des trois horizons indéfini → UO null (pas de moyenne amputée).

如何解读

  • 读数高于 50,表示在三个周期合计的区间中,超过一半以买方一侧收盘。低于 50 则是镜像情况。
  • 由于三个窗口必须一致这条线才会大幅移动,它转向的次数比单周期振荡器少,每次转向也包含更多长周期的成分。
  • Williams 本人的读法是先寻找与价格的背离,再看是否穿越背离时达到的水平。请把它当作在你自己图表上观察的结构,而不是这里已证实的规则。
  • 这里没有指数平滑,只有滚动求和,因此当一根大K线移出 7 根K线窗口时,线条可能明显跳动。
  • 数值消失表示某个窗口完全没有区间,在期货上这通常意味着隔夜时段陷入停滞。

参数与默认值

默认 7、14、28,即原始文章中的周期;三个参数最大分别可设 200、400 和 800。改动其中任何一个都会破坏“市场时间相等”这一性质,而固定的 4/2/1 权重正是以此为依据,因为这些权重只在 1:2:4 的比例下才平衡。在保持该比例的前提下放大周期可以保留原设计;彼此无关的周期会得到一条有效的线,但其平衡关系不同,也没有文献记载。

Ultimate Oscillator — 应用中可调的参数及其默认值。
参数类型默认值取值范围
Short periodnumber71 – 200
Medium periodnumber141 – 400
Long periodnumber281 – 800

它无法显示的内容

买方压力由收盘价和区间推导而来,既非来自成交量,也非来自发起每笔成交的一方:一根因卖方撤单而收高的K线,读数与买方吃掉每一档卖单的K线完全相同。滚动求和的边缘是硬的,因此一根有影响力的K线会突然离开计算,而不是逐渐淡出。要求三个窗口都有定义,意味着历史过短或数据缺口会压制整条线,而不只是其中一个分量。0 到 100 的边界也会把强势和温和的状况压缩到同一个上方区域。

浏览全部指标

其他语言版本

Frequently asked questions

终极振荡器为什么使用三个周期?
单周期振荡器会因所选长度不同而呈现不同的画面,而且常常只是因为一根K线移出窗口就发生变动。Larry Williams 组合了短、中、长三个窗口,使读数同时反映多个周期,而不依赖某个任意的回看长度。
4/2/1 加权有什么作用?
它让每个周期贡献的市场时间相等:7 根K线乘权重 4、14 根乘 2、28 根乘 1,都代表 28 根K线的市场活动。没有这些权重,最长的窗口仅仅因为包含更多K线就会主导平均值。除数 7 是三个权重之和。
终极振荡器中的买方压力是什么?
买方压力是收盘价减去K线最低价与前一收盘价中较低者,因此它衡量价格收在该K线可用的最低参考点之上多远。用同一窗口内买方压力之和除以真实区间之和,就把它表示为实际可用区间的一个比例。

Keep reading