Williams %R
Williams %R shows where the close sits inside the recent high–low range on an inverted −100 to 0 scale. It is the fastest of the common bounded oscillators, with no signal line and no smoothing, which makes it a scalping tool rather than a swing one.
- Default period
- 14
- Common levels
- −20 / −80
- Indicator range
- −100 to 0
示意性 — 合成数据,非实时报价。
What Williams %R tells you
Williams %R is the raw version of the same question Stochastic asks: where in the recent range did this bar close? It applies no smoothing at all, so it reaches its extremes sooner and stays there for shorter — useful when you want speed, punishing when you want reliability.
- Above −20: closes are clustering at the top of the range
- Below −80: closes are clustering at the bottom
- The scale is inverted — 0 is the strong end, −100 the weak one
- 1 Find the high–low range of the last N bars
- 2 Measure the close down from the high
- 3 Express it as −100 to 0
显示公式与计算详情
Williams %R measures the close against the top of the recent range:
- Over the last N bars, find the highest high and the lowest low.
- Measure how far the current close sits below that highest high.
- Express that distance as a percentage of the whole range, negated:
%R = −100 × (Highest High − Close) / (Highest High − Lowest Low).
A close exactly at the highest high gives 0; a close at the lowest low gives −100. No smoothing is applied at any stage — the value published on buffer 0 is the raw ratio for the current bar, which is why %R can travel from one extreme to the other in a single bar and why it produces far more extreme readings than Stochastic on the same data.
The relationship to Stochastic is exact rather than approximate: %R = %K − 100 for the unsmoothed case. They are the same measurement on two scales, and the difference in behaviour comes entirely from the smoothing Stochastic applies and %R does not.
In MQL5 the call is iWPR(symbol, period, calc_period) and it returns a handle to a single buffer. There is no applied-price argument and no signal line. Larry Williams introduced %R in the 1970s.
信号
Williams %R 提供的可回测信号 — 及每个信号适合的市场状态。
Leaving the Extreme
Builder 可实现Centreline Cross
Builder 可实现Divergence
高级逻辑MT5 实现
MetaTrader 5 实际计算和绘制的内容——本页每条规则的依据。
缓冲区
| 索引 | 缓冲区 | MT5 中的绘制方式 | 存放内容 |
|---|---|---|---|
| 0 | MAIN_LINE | Line | The %R value, from −100 (close at the bottom of the range) to 0 (close at the top). One buffer only — there is no signal line. |
平台说明
最佳适用场景 / 谨慎使用
没有任何指标具有普适优势。以下是 Williams %R 发挥作用的场景 — 以及可能误导的场景。
最佳适用场景
- Ranging markets
- Short-horizon entries
- Tight-spread instruments and sessions
- With a session or volatility filter
谨慎使用
- Strong one-way trends
- Wide-spread pairs
- Extremes as standalone entries
- Optimised levels without validation
构建 Williams %R 策略
将信号接入进场和出场规则,然后导出可编译的 MT5 EA — 无需编写代码。
- Williams %R (14)
- %R below −80 → Open Buy · SL 15 / TP 20
- %R above −20 → Open Sell
- Break-even at +10 pips, locking 2
将 Williams %R 与其他指标组合
单一指标很少独立有效。这些组合弥补了 Williams %R 的盲点。
Williams %R + Bollinger Bands
- %R below −80
- Price at lower band
- Buy
No single-flow template pairs Williams %R with Bollinger Bands — the portfolio template that holds both runs them as separate legs. Start from Williams Scalper and add band nodes with a Price node into a Compare.
打开 Builder →Williams %R + ADX
- ADX < 20
- %R below −80
- Buy
No single-flow template pairs Williams %R with ADX. Start from Williams Scalper and add an ADX node with a Compare below 20.
打开 Builder →Williams %R + ATR
- %R below −80
- ATR sets the stop distance
- Buy
No single-flow template pairs Williams %R with ATR. Add an ATR node feeding a risk-based lot or stop node.
打开 Builder →参数
在您自己的货币对和时间框架上验证的起始值 — 非保证设置。
| 参数 | 默认值 | 建议测试范围 | 功能说明 |
|---|---|---|---|
| Period | 14 | 5–30 | How many bars the high–low range is measured over. Shorter makes %R touch its extremes almost every bar; longer makes an extreme mean something. |
| Overbought / Oversold | −20 / −80 | −10 to −30 / −70 to −90 | Your levels, not indicator inputs — iWPR has no threshold argument. Remember the scale is inverted: −20 is the strong end. |
| Shift | 0 | 0–3 | Which bar back the value is read from. Shift 1 compares against a fully closed bar, which matters more here than on slower oscillators. |
初始预设
市场示例
Williams %R 有效的场景、失效的场景,以及过滤器如何改变结果。
Fade inside a session range
In a quiet London range %R drops under −80, price stalls and the short move back plays out — the horizon the scalping template is built for.
Pinned in a trend
In a directional session %R sits above −20 for most of the day. Selling every reading fights the move and pays the spread each time.
Session filter earns its keep
The same extremes appear outside the London session on a wider spread and are all skipped — on a 20-pip target the spread decides whether the trade was ever viable.
FAQ
- Is Williams %R the same as Stochastic?
- Almost. Both measure where the close sits in the recent high–low range. %R reports it on an inverted −100 to 0 scale and applies no smoothing at all; Stochastic reports 0–100 and smooths twice, and publishes a signal line. In practice %R is the faster, noisier member of the pair, which is why it shows up in scalping strategies.
- Why is the scale negative?
- Larry Williams defined it as the distance from the highest high down to the close, expressed as a negative percentage of the range. A close at the very top gives 0 and a close at the very bottom gives −100. It carries no meaning beyond the convention, but it does mean a comparison copied from a Stochastic rule will be backwards.
- What levels should I use?
- −20 and −80 are conventional and map onto Stochastic's 80/20. They are your levels, not indicator inputs — iWPR takes only a period. On a short period %R touches both extremes constantly, so widening to −10/−90 or lengthening the period usually matters more than moving the levels a little.
- Does Williams %R have an applied-price setting?
- No. The calculation needs the highest high, the lowest low and the close together, so there is no single series to pick. MQL5's iWPR takes only a period.
- Can I build a Williams %R EA without coding?
- Yes for level rules and centreline crosses — one %R node plus a Compare, with the period as an EA input. The Williams Scalper template also shows the execution filters a short-horizon strategy needs. Divergence is the exception and requires custom MQL5.
- How should I validate settings before going live?
- Backtest on quality tick data first, then run the EA on a demo account before risking money. When optimising, hold back data the search never saw and prefer settings that stay profitable across periods over the single in-sample peak — chasing that peak is overfitting the noise. On short-horizon strategies also check that the spread and execution assumptions in the test resemble your broker's, because a 20-pip target has no room for optimism.