A momentum oscillator that measures the current close's position within the high-low range on a −100 to 0 scale. Mechanically nearly identical to Stochastic %K, but with the sign convention flipped — values near 0 mean overbought, values near −100 mean oversold.
Williams %R (14) on MES 5m
What it measures
- Position within the range. Same fundamental measurement as Stochastic — where the current close sits relative to the highest high and lowest low over the lookback.
- Sign convention. Williams chose −100 (close at the low) to 0 (close at the high), which inverts visual intuition compared to most oscillators.
- Single-line simplicity. No signal line, no histogram — just one value and its slope.
Formula
How AlgoLift computes it
%R = ((HighestHigh − Close) / (HighestHigh − LowestLow)) × −100
The lookback is the period parameter (default 14). The negative sign produces the −100 to 0 range.
Mathematically equivalent to Stochastic's Raw %K minus 100. The two indicators give the same information with different sign conventions — every conclusion drawn from one applies to the other.
Developed by Larry Williams.
Inputs in AlgoLift
| Setting | Default | Range | Notes |
|---|---|---|---|
| Period | 14 | 2–500 | Lookback in bars for the high-low range. |
Recommended periods
- 5–9 (fast): Short-term scalping. Very sensitive.
- 14 (default): Standard. Good for intraday day-trading.
- 20–28: Smoother readings for swing setups.
Outputs in AlgoLift
| Handle | Type | Plotted | Notes |
|---|---|---|---|
| %R Value | Numeric | Always | The oscillator line (−100 to 0). |
| Slope | Numeric | On select | Bar-over-bar change in %R. |
Williams %R node — default state
How to read it
- %R above −20: Close is near the top of the range — overbought.
- %R below −80: Close is near the bottom of the range — oversold.
- %R near −50: Close is at the midpoint of the range — neutral.
- Rising %R: Closes are climbing toward the high of the range.
- Falling %R: Closes are dropping toward the low of the range.
The −20 / −80 thresholds are conventions, not rules. Some traders use −25 / −75 to filter out marginal extremes.
Williams %R and Stochastic %K measure the same thing with different sign conventions. Pick the one whose visual intuition you prefer — the underlying signal is identical at matching periods.
Best in / worst in
Best in range-bound markets and short-term cyclical instruments. The single-line simplicity makes %R cleaner to read than the two-line Stochastic when you only need the extreme detection.
Worst in sustained trends — same failure mode as Stochastic, since the math is the same. %R can stay above −20 for many bars in a strong uptrend.
Three setups
1. Mean-reversion entry in a range
Use %R extremes as direct entry triggers — only valid when you know the market is range-bound.
- Long: %R < −80 AND %R slope > 0 (turning back up).
- Short: %R > −20 AND %R slope < 0 (turning back down).
The slope requirement filters out entries during the initial dive into the extreme.
Williams %R mean-reversion entry with slope confirmation
2. %R as a pullback timer in a trend
Like the Stochastic setup — let a trend filter set direction, use %R for entry timing.
- Long (uptrend): Price > EMA(50) AND %R was < −75 in the last 3 bars AND %R is now > −60 (rising back through the midline).
- Short (downtrend): Symmetric with %R thresholds flipped.
3. %R crossover with smoothed %R
Apply a Moving Average Modifier to the %R output to create a signal line. Trade %R crossing its own moving average.
- Long: %R crosses above its 3-bar SMA from the oversold zone.
- Short: %R crosses below its 3-bar SMA from the overbought zone.
This converts the single-line indicator into a Stochastic-like two-line system.
Advanced patterns in AlgoLift
%R as a regime-aware entry filter. Combine with a KAMA Efficiency Ratio check: only allow %R-based mean-reversion entries when KAMA's ER < 0.3 (market is chopping). When ER > 0.5 (market is trending), the %R extremes lose their reversal meaning — skip the trade.
%R-driven trailing stop. In a long trade, use a Set Exit Condition that closes the position the first time %R drops below −50 (close fell back to the midline). Acts as a momentum-based trailing exit without requiring ATR tuning.
%R for scale-out logic. Wire Set Target Profit with a fractional position size to exit 50% of the position when %R first reaches −20. Let the rest run with a trailing stop. The pattern captures cyclical-style profits without forcing a full exit on every extreme.
Common mistakes
- Forgetting the sign. Williams %R is bounded between −100 and 0. New users sometimes wire it expecting 0–100 like Stochastic and get inverted signals.
- Treating −20 / −80 as universal. Threshold choice depends on the period. Faster periods produce more extreme readings; you may need −15 / −85 to filter false signals at short periods.
- Using on trending instruments without a trend filter. Same failure mode as Stochastic — selling every overbought reading in an uptrend produces continuous losses.