威廉姆斯 %R(Williams R)的计算方法

威廉姆斯 R 计算公式的输入、回溯周期限制与验证方法。

威廉姆斯 %R(Williams R)的计算方法

直接答案:威廉姆斯 %R 公式

威廉姆斯 %R(常写作“Williams R”或“%R”)是一种震荡指标,用于将当前收盘价与近期交易区间进行比较。标准计算使用长度为 N 根K线的回溯周期。

公式(标准形式): [ \text{威廉姆斯 %R} = -100 \times \frac{H_{N} - C}{H_{N} - L_{N}} ]

其中:

  • (C) = 最近的收盘价(即当前计算K线的收盘价)
  • (H_{N}) = 最近 N 根K线中的最高高价(包括当前K线)
  • (L_{N}) = 最近 N 根K线中的最低低价(包括当前K线)

输出范围(可计算时): 当 (H_{N} \neq L_{N}) 时,结果通常介于 −100 和 0 之间。

机制与定义:输入参数的含义

要逐步计算威廉姆斯 %R,可将其视为滚动区间内的归一化位置。

  1. 选择回溯周期(N)。

    • 示例假设用于说明:(N = 14) 根K线。
    • N 的选择会影响指标对新高或新低的响应速度。
  2. 在这些 N 根K线中找出滚动极值。

    • (H_{N}) 是窗口内“高价”的最大值。
    • (L_{N}) 是窗口内“低价”的最小值。
  3. 将当前收盘价与区间进行比较。

    • 分子 (H_{N} - C) 衡量当前收盘价低于窗口最高高价的程度。
    • 分母 (H_{N} - L_{N}) 衡量窗口的总区间大小。
  4. 缩放为带负号的震荡指标。

    • 乘以 −100 可将归一化位置表示在 −100 到 0 的范围内。

一个简单的计算示例(含明确假设)

假设你在某根K线上计算该指标,参数如下:

  • 回溯周期 (N = 5)
  • (C = 1.2000)
  • 最近 5 根K线的最高高价 (H_{N} = 1.2100)
  • 最近 5 根K线的最低低价 (L_{N} = 1.1950)

计算:

  • (H_{N} - C = 1.2100 - 1.2000 = 0.0100)
  • (H_{N} - L_{N} = 1.2100 - 1.1950 = 0.0150)

然后:

  • (\frac{H_{N}-C}{H_{N}-L_{N}} = \frac{0.0100}{0.0150} = 0.6667)
  • (\text{威廉姆斯 %R} = -100 \times 0.6667 \approx -66.67)

从纯数学角度解释:

  • 如果 (C) 更接近 (H_{N}),分数更小,指标值趋近于 0。
  • 如果 (C) 更接近 (L_{N}),分数更大,指标值趋近于 −100。

局限性与风险:计算可能失败或误导的情况

威廉姆斯 %R 在数学上简单明了,但实际使用中依赖于影响计算结果的细节。

1) 区间坍缩时的除零错误

如果在最近 N 根K线中:

  • (H_{N} = L_{N})

则分母 (H_{N} - L_{N}) 等于 0,公式无定义。这种情况可能发生在价格在窗口内无波动时(例如,在流动性不足期间或数据异常后)。此时,平台可能显示“不可用”、空白值或采用其他处理方式。

2) 回溯周期选择影响响应速度

由于 (H_{N}) 和 (L_{N}) 来自滚动窗口,不同的 N 值会影响:

  • 新的极值进入/离开窗口的频率
  • 价格变动后指标的移动速度

这是一种参数敏感性,而非对未来预测准确性的保证。

3) 数据定义:高价、低价和收盘价的来源

威廉姆斯 %R 直接依赖于K线的 高价低价收盘价。实际上,不同提供商在构建K线时可能存在差异:

  • 数据是基于买卖中间价、最后成交价还是其他数据源
  • 交易时段如何切换
  • 在有缺口的时间框架下如何选择“收盘价”

即使使用相同的公式,不同的输入数据也可能导致绘图结果不同。

4) 历史关系不意味着未来结果

即使计算出的震荡指标值与已知的历史行为一致,也不能保证未来类似条件会产生相同结果。市场状况可能变化,指标只是价格数据的转换,而非未来方向的直接度量。

5) 解读 %R 时未考虑计算区间

一种常见错误是只关注震荡指标值,而未检查其是否基于有意义的区间。

  • 早期K线可能没有足够历史数据来计算 (H_{N}) 和 (L_{N})。
  • 如果窗口内波动率异常低,微小的价格差异可能导致类似百分比的大幅变化。

验证与后续问题:如何自行验证

你可以仅使用公式和所需输入独立验证威廉姆斯 %R。

  1. 选择一个时间框架和图表上的某根K线。
  2. 确定你要测试的回溯周期 (N)。
  3. 手动确定该窗口内的 (H_{N})(最高高价)和 (L_{N})(最低低价)。
  4. 读取或记录同一K线的收盘价 (C)。
  5. 代入公式: (\text{威廉姆斯 %R} = -100 \times \frac{H_{N} - C}{H_{N} - L_{N}})
  6. 确认你的计算值是否与图表工具显示的结果一致(允许四舍五入误差)。

如果不一致,通常是因为以下处理方式不同:

  • 窗口包含(极值是否包含当前K线)
  • K线构建(高价/低价/收盘价的定义方式)
  • 缺失数据或未定义情况的处理方式

你可以比较不同设置(例如,改变 (N))以观察灵敏度变化,或分析该指标与其他动量震荡指标的关系。

外汇和差价合约交易具有重大风险。FoxiForex的信息仅用于教育,不构成个人财务建议。赞助内容会被清楚标注。