MarketInOut Stock Screener Log In | Sign Up

Williams %R

By MarketInOut · Updated October 30, 2026

Williams %R (read “percent R”) is a momentum oscillator that shows where the latest close sits within the high–low range of the last N bars. It runs from 0 at the top of the range to −100 at the bottom. Larry Williams developed it, and it is one of the fastest-reacting of the common overbought/oversold indicators.

%R is closely related to the stochastic oscillator: it is the unsmoothed stochastic %K turned upside down and shifted by 100 points (%R = %K − 100). The two lines have the same shape; only the scale differs.

How it is calculated

%R = (Highest high over N bars - Close) / (Highest high - Lowest low) x -100

The standard period is 14 bars. A close at the very top of the 14-bar range gives 0, a close at the very bottom gives −100, and a close in the middle gives −50. Because there is no smoothing, %R jumps as soon as the close moves within the range, which makes it quick but noisy.

How to read it

  • Overbought and oversold. Readings from 0 to −20 are traditionally called overbought and readings from −80 to −100 oversold. They mean the close is near the top or bottom of the recent range. In a strong trend %R can stay in one zone for weeks, so a reading alone is not a reason to sell or buy.
  • Wait for the turn. A more careful signal is %R leaving the zone: rising back above −80 after an oversold reading, or falling back below −20 after an overbought one. That shows the close has started to move away from the extreme.
  • Trend pullbacks. Many traders use only the side that agrees with the trend: oversold readings as pullback entries when price is above a rising long-term average, overbought readings as rally exits or short entries in a downtrend.
  • Momentum failure. When %R reaches the overbought zone, drops out, and then fails to get back above −20 on the next rally, upward momentum is fading. The mirror pattern near −80 warns that selling is drying up.
  • Divergence. Price makes a new low while %R makes a higher low, or price makes a new high while %R makes a lower high. Treat it as a warning, not a timing signal.

Settings and common mistakes

  • Period. 14 is the usual default. Short periods (5 to 10) produce many extreme readings and suit short-term trading; longer periods (20 to 28) react more slowly and reach the extremes less often.
  • Forgetting the negative scale. −10 is high (overbought) and −90 is low (oversold). Formulas and alerts written as “%R < 20” are always true and screen nothing useful.
  • Fading every extreme. Because %R is unsmoothed, it hits 0 or −100 often. Combine it with a trend filter or a second indicator rather than trading every touch.

SPY (S&P 500 ETF), daily, with Williams %R(14).

Live chart: SPY (S&P 500 ETF), daily, with Williams %R(14). The chart updates every trading day.

Screen for it on MarketInOut

Williams %R is built into our formula language as wpr(period), on its native 0 to −100 scale. Oversold stocks that are still above their 200-day average:

exch(nyse,nasdaq) and type(stock) and price > 1 and advol(21) > 1
and price > sma(200) and wpr(14) < -80

Stocks whose %R just rose back out of the oversold zone:

exch(nyse,nasdaq) and type(stock) and price > 1 and advol(21) > 1
and wpr(14) ca -80

Related: Stochastic oscillator, Relative Strength Index (RSI), Moving averages.




Disclaimer - Privacy Policy - Terms of Service - Cookies - FAQ - Affiliates - Blog