Williams %R

A momentum oscillator on a −100 to 0 scale. Essentially an inverted stochastic — same mechanics, different sign convention, same use cases.

Updated 2026-05-24
6 min read
beginner

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.

Placeholder · Video / Clip

Williams %R (14) on MES 5m

Author hint: MES 5m, dark theme, ~60-bar window. Williams %R (14) plotted in a sub-panel with horizontal lines at -20 and -80. Show a stretch where %R cycles between the two extremes. ≤ 8 seconds, no audio. Save to /public/images/guide/indicators/williams-r/chart.mp4.

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

SettingDefaultRangeNotes
Period142–500Lookback 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

HandleTypePlottedNotes
%R ValueNumericAlwaysThe oscillator line (−100 to 0).
SlopeNumericOn selectBar-over-bar change in %R.
Placeholder · Screenshot

Williams %R node — default state

Author hint: The Williams %R node on a fresh canvas with default Period=14. Both output handles labeled. Dark theme. Tight crop. Save to /public/images/guide/indicators/williams-r/node.png.

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.

Key Takeaway

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.

Placeholder · Screenshot

Williams %R mean-reversion entry with slope confirmation

Author hint: Node graph showing Williams %R Value feeding a < -80 comparison, with the Slope output feeding a > 0 comparison, into an AND gate, into an Entry node. Save to /public/images/guide/indicators/williams-r/setup-01.png.

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.
Common Misconception
Myth
Williams %R is a different indicator from Stochastic.
Reality
They're mathematically the same indicator with different sign conventions. Every signal generated by one can be generated by the other at matching periods. Pick by which scale you find easier to read, not by hoping one captures different information.