Williams %R Calculator

Calculate Williams %R momentum from current close vs period high-low range.
Reads -100 to 0; oversold below -80, overbought above -20 for swing trades.

Williams %R

Larry Williams created %R in the 1970s. It is mathematically the inverted Stochastic: same data, different sign convention. The formula:

%R = -100 × (High_N - Close) / (High_N - Low_N)

Default lookback is 14 bars. The output runs from -100 (close at the period low) to 0 (close at the period high). Conventional zones are reversed from the Stochastic:

  • Above -20 = overbought
  • Below -80 = oversold

That negative range trips up beginners. -10 is “more overbought” than -30. Plotting it inverted (so -100 is at the top) makes more sense visually, and TradingView and most platforms do this by default.

Why use it instead of Stochastic. %R does not smooth itself; the raw value is what you get. Some traders prefer that, with fewer hidden parameters and faster signals. Others prefer Slow Stochastic for less noise. They are reading the same underlying data; the choice is taste.

Williams’ own use. Larry Williams used %R as an entry timing tool inside a larger trend system. He did not buy every -80 print. He waited for %R to cross back above -80 on a stock already in an uptrend, using the indicator for timing within an established directional bias. That two-filter approach is what made his system work.

The pre-trade trap. A -90 reading does not mean “buy now.” It means the close is at the bottom of the recent range. In a downtrend, that is normal and expected. The mistake is treating range position as a reversal signal in isolation.

Worked example. 14-period high = 105.40, low = 98.20, close = 103.10.

  • %R = -100 × (105.40 - 103.10) / (105.40 - 98.20)
  • %R = -100 × (2.30 / 7.20) = -31.94

A -31 reading is upper-third of the range, neither overbought nor oversold. Compare to Stochastic %K of 68.06 on the same data: identical information, sign flipped. The relationship is exactly %R = %K − 100, which is worth knowing because it means every %R signal has a %K equivalent and neither indicator tells you anything the other does not.

Turn the reading into prices. On that range, -20 corresponds to a close of 103.96 and -80 to 99.64. Those are levels you can put on a chart and set an alert on, which the oscillator value itself is not. When people say %R “lags”, what they usually mean is that they were watching the indicator instead of the price that produces it.

Williams’ cross, worked. Say the previous bar printed -84 and this one prints -78. That is a cross back above -80, the entry timing Williams actually used, and it only counts as a signal if the larger trend is already up. Enter your previous reading in the optional field and the calculator identifies the cross rather than leaving you to eyeball it.

Pairing with longer-term filter. %R is a fast oscillator. Use a 50- or 200-period moving average as a trend filter, then take %R signals only in the direction of that trend.


How we build and check this calculator

This calculator runs entirely in your browser, so the numbers you enter stay on your device. The math behind it is written by hand and tested against worked examples and standard references before the page goes live.

SuperGlobalCalculator is independently built and maintained. See how we build and verify our calculators.


Embed This Calculator

Copy the code below and paste it into your website or blog.
The calculator will work directly on your page.