Dalal Street Blogs provides information for educational purposes only and does not constitute investment advice. Please consult a SEBI-registered investment adviser before making any investment decisions.
CAUTION: Dalal Street Blogs publishes market news and educational content only. We do not promote, recommend or endorse any stock, and nothing here is a solicitation to buy or sell securities. Please consult a SEBI-registered adviser before investing.

Indian Stock Market News, Analysis and Trading Guides

Technical Analysis

Williams %R Indicator: Reading Overbought and Oversold Zones on NSE Stocks

Williams %R indicator: a Newton's cradle with one steel ball swung out to the edge, a symbol of momentum reaching an extreme

Photo: jarmoluk via Pixabay

By Dalal Street Blogs Editorial10 min read

Pull up almost any charting platform used by Indian traders and you’ll find the Williams %R indicator sitting a few rows below RSI and Stochastic in the indicator list. Most people skip it. That’s a pity, because it answers a very plain question that matters on every NSE chart: where did today’s close land inside the recent high-low range? Near the top, near the bottom, or somewhere in the muddy middle?

This guide walks through how %R is built, what the overbought and oversold zones really mean, a fully worked example with hypothetical numbers, and the traps that catch people who treat a reading of -90 as an automatic buy.

In this article
  1. What the Williams %R indicator measures
  2. The formula, step by step
  3. Overbought and oversold zones on %R
  4. A worked example with hypothetical numbers
  5. Three ways traders actually use %R
  6. Williams %R vs the stochastic oscillator
  7. Where the indicator lets you down
  8. Pairing %R with other tools
  9. The short version

What the Williams %R indicator measures

Larry Williams developed the indicator, and StockCharts ChartSchool describes it as a momentum indicator that is the inverse of the Fast Stochastic Oscillator. Where the stochastic measures the close relative to the lowest low of the look-back period, %R measures the close relative to the highest high.

The scale is the first thing that throws newcomers. %R does not run from 0 to 100. It runs from 0 to -100. A reading of 0 means the stock closed right at the highest high of the window. A reading of -100 means it closed at the lowest low. Everything else falls in between.

The default look-back is 14 periods. According to StockCharts, those periods can be days, weeks, months or an intraday timeframe, so the same tool works on a daily Nifty chart and on a 15-minute chart of a bank stock. On a daily chart, 14 sessions is a little under three trading weeks.

The formula, step by step

Investopedia and StockCharts give the same calculation. StockCharts writes it with the multiplier included:

  • %R = (Highest High − Close) ÷ (Highest High − Lowest Low) × −100
  • Highest High = the highest price in the look-back period
  • Lowest Low = the lowest price in the look-back period
  • Close = the most recent closing price

The multiplication by -100 is there, as StockCharts puts it, to correct the inversion and move the decimal. Investopedia’s method for building the series is simple. Record the high and low of each period. Once you have 14 periods, compute the first value. On the 15th period, drop the oldest one and use only the latest 14. Repeat every period after that.

Here’s the part that makes %R easy to understand once you see it. The fast stochastic’s %K is (Close − Lowest Low) ÷ (Highest High − Lowest Low) × 100. Do the algebra and %R works out to exactly %K minus 100. That’s why StockCharts says the two produce the exact same lines, just with different scaling. If you already read our stochastic oscillator guide, you already know how to read %R. You just have to flip the numbers in your head.

Overbought and oversold zones on %R

The traditional thresholds, per both sources, are:

  • 0 to -20: overbought. The close is near the top of the recent range.
  • -80 to -100: oversold. The close is near the bottom of the range.
  • -50: the midpoint. StockCharts treats a cross above -50 as a sign that prices are trading in the upper half of the range, and a cross below as the lower half.

StockCharts also notes that these levels can be adjusted to suit the security. A sleepy large-cap and a volatile small-cap won’t behave the same way, and there’s nothing sacred about -20 and -80.

Now the important bit. “Overbought” on %R is a description of position, not a forecast. Investopedia is blunt about it: overbought means the price is near the highs of its recent range, oversold means it’s near the lows, and neither means the price will reverse. StockCharts goes further and says securities can become overbought and stay overbought during a strong uptrend, because closes that keep landing near the top of the range reflect sustained buying pressure.

A %R reading of -5 tells you buyers closed the stock near its best level of the last three weeks. That’s strength. Shorting it purely because a line crossed -20 is fighting the very thing the indicator just reported.

A worked example with hypothetical numbers

Let’s run %R on an imaginary NSE stock. These prices are made up to show the arithmetic, not taken from any real company. Assume that over the last 14 sessions the highest high is ₹1,240 and the lowest low is ₹1,120. The range is ₹120. To keep things clean, we’ll hold that range fixed for the first few days.

Day Close (₹) Highest High − Close (₹) ÷ Range (₹120) Williams %R
1 1,228 12 0.10 -10
2 1,216 24 0.20 -20
3 1,174 66 0.55 -55
4 1,132 108 0.90 -90
5 1,186 54 0.45 -45

Walk through it. On Day 1 the stock closes ₹12 below the top of its range, so %R is -10, deep in overbought territory. By Day 2 it slips to -20, sitting right on the line. On Day 3 the close falls to ₹1,174 and %R drops to -55. That’s a move below -50 after an overbought reading, which StockCharts describes as confirming a downturn.

Day 4 is the scary one. The close of ₹1,132 is just ₹12 above the bottom of the range, and %R prints -90. Oversold. Plenty of traders would buy here. Day 5 shows why patience can pay: the stock bounces to ₹1,186 and %R climbs back above -50 to -45. On the StockCharts approach, that move above -50 is the confirmation of an upturn after the oversold reading, not the -90 print itself.

Quick cross-check with the stochastic. On Day 2, fast %K would be (1,216 − 1,120) ÷ 120 × 100 = 80. Subtract 100 and you get -20, the same as %R. The two really are one line on two scales.

When the window moves and price doesn’t

Now a twist that trips people up. Investopedia points out that as periods go by, the present price relative to the highs and lows in the look-back window changes even if the price hasn’t moved. Suppose on Day 6 the old ₹1,240 high drops out of the 14-session window. The new highest high is ₹1,205, the low is still ₹1,120, and the stock closes flat at ₹1,186.

The new range is ₹85. Highest high minus close is ₹19. Divide 19 by 85 and you get about 0.224, so %R is roughly -22. On Day 5 it was -45. The stock didn’t move a rupee, yet %R jumped more than 20 points towards overbought, purely because an old high fell off the back of the window. If you didn’t know that, you might read Day 6 as a burst of fresh buying. It isn’t.

Williams %R is a ruler laid across the last 14 sessions. Move the ruler and the reading changes, whether or not the stock did anything new.

Three ways traders actually use %R

1. The -50 confirmation

Rather than buying the moment %R goes below -80, wait for it to come back above -50. Rather than selling the moment it tops -20, wait for a drop below -50. StockCharts calls this a prudent approach for anyone trying to catch tops and bottoms. You give up a slice of the move. In exchange you skip many of the trades where “oversold” simply became “more oversold”.

2. Momentum failure

This is the signal StockCharts seems to like best. A strong stock tends to push %R above -20 again and again, because it takes buying pressure to close near the top of the range. When a stock that has done this repeatedly suddenly rallies but can’t get %R back above -20, that failure shows momentum is fading. A later drop below -50 adds weight to the warning. The mirror image works at the bottom: a beaten-down stock that pulls back but holds above -80 on the next dip is quietly showing strength.

Divergence is a cousin of this idea. Investopedia notes that when price hits a new high but %R fails to make a new high, momentum may be weakening, and some traders use that as an exit point on a long position.

3. Trade with the bigger trend

StockCharts suggests two scans built around this. For longs, look for stocks trading above their 200-day moving average, where %R has dipped below -80 and then crossed back above -50. That’s a pullback and recovery inside a long-term uptrend. For shorts, flip it: stocks below the 200-day average where %R popped above -20 and then fell back below -50.

StockCharts also mentions a longer setting for trend context. A 125-day %R covers around six months, and it treats readings above -50 on that setting as consistent with an uptrend and below -50 as consistent with a downtrend. You can keep a 14-day %R for timing and a 125-day %R for direction on the same chart.

Williams %R vs the stochastic oscillator

Since the lines are the same shape, the real differences are cosmetic and practical. Investopedia lists them:

  • Scale: %R runs 0 to -100 with overbought above -20 and oversold below -80. The fast stochastic runs 0 to 100 with overbought above 80 and oversold below 20.
  • Lines: %R is a single line. The stochastic has %K plus %D, a three-period simple moving average of %K, which allows crossover signals.
  • Sensitivity: Investopedia describes %R as generally more responsive to price changes, which can mean earlier signals but also more false signals in choppy markets.

If you like crossovers, StockCharts notes you can add a 3-day SMA to %R as a signal line, which gets you most of the way to a stochastic anyway. Pick whichever scale your eyes read faster. Using both on one chart just shows you the same information twice.

Where the indicator lets you down

Every oscillator has weak spots, and %R’s are well documented.

  • Strong trends. In a powerful rally, %R can hug the 0 to -20 zone for weeks. Each “overbought” sell signal is a losing trade. Investopedia actually flips this around: overbought readings help confirm an uptrend, since a strong uptrend should regularly push prices to or past prior highs.
  • Too many signals. Investopedia warns the indicator can be too responsive, giving false signals where %R turns up from oversold but price fails to follow.
  • The rolling window. As our Day 6 example showed, the reading can change sharply when an old high or low drops out, without any new trading.
  • No stop level. %R tells you where the close sits in a range. It doesn’t tell you where you’re wrong. That has to come from price structure.

StockCharts adjusts sensitivity through the look-back. A longer setting, like the 28-day %R in one of its examples, makes the indicator less sensitive. A shorter one makes it twitchier.

Pairing %R with other tools

Investopedia suggests a few companions. RSI tends to be smoother than %R and can cut down on false signals. MACD can confirm the trend that %R hints at. Bollinger Bands show whether the market is trending or ranging. ADX tells you whether a trend has real strength; our explainer on ADX and trend strength covers how to read it. StockCharts adds volume, chart patterns and breakouts to that list.

A sensible routine for a swing trade on a daily NSE chart might look like this:

  1. Decide the trend first. Is the stock above or below its 200-day moving average? Does the Aroon indicator or ADX show a trend at all?
  2. In an uptrend, wait for %R to drop below -80 on a pullback.
  3. Act only when %R climbs back above -50 and price confirms with a higher close or a break of a short-term resistance level.
  4. Place the stop below the swing low of the pullback, not at some %R value.
  5. Watch for momentum failure on the way up. If %R stops reaching -20 on rallies, tighten the stop.

None of this makes %R a crystal ball. Investopedia notes its accuracy depends on the security, the market conditions and the time frame, and suggests backtesting and multiple time frames to make it more robust. That’s good advice for any indicator. For the wider toolkit, including support, resistance and chart patterns, see our guide to technical analysis for Indian stocks.

The short version

Williams %R takes one number, the close, and tells you where it landed inside the last 14 periods’ range, on a scale from 0 at the top to -100 at the bottom. Readings above -20 say the stock is closing near its highs. Readings below -80 say it’s closing near its lows. Both describe what happened. Neither promises what comes next.

Used with patience, waiting for the -50 cross, watching for momentum failure and keeping to the side of the bigger trend, it’s a quick, honest read on short-term strength. Used as a blind buy-below-80, sell-above-20 rule, it will hand you plenty of losing trades in a trending market.

Disclaimer: This article is for information and education only and is not investment advice. The worked example uses a hypothetical stock and hypothetical numbers. Technical indicators can give false signals. Please consult a SEBI-registered investment adviser before making any investment or trading decision.

Leave a Reply

Join the conversation

Commenting is open to registered readers. Sign up with just your email — no password needed, and it takes under a minute.

Sign up to comment Log in