Blog/Technical Analysis
Technical AnalysisSep 19, 202611 min read

Williams %R: Reading the -100 to 0 Momentum Scale

Williams %R measures where the close sits inside the recent high-low range and plots it from 0 to -100. The formula, the 14-bar default, the -20 and -80 bands, divergence, why extremes pin during trends, and the exact arithmetic relationship to the Stochastic Oscillator.

BL
Benjamin Loh
Founder of SnapPChart · trader and dev

Williams %R is the oscillator that runs upside down. Almost everything else in the indicator panel plots 0 to 100 with the strong readings at the top, and %R plots 0 to -100, with the strong readings still at the top and the numbers getting more negative as price weakens. That single display decision is responsible for most of the confusion around it. It is also hiding something more interesting: %R is not merely similar to the Stochastic Oscillator, it is the same measurement, and the relationship between the two is exact arithmetic rather than a rough family resemblance. Formula, bands, divergence, the trap that costs people money, and the algebra that most write-ups wave at instead of doing.

Quick Answer

Williams %R in one paragraph

Williams %R is a momentum oscillator created by Larry Williams that measures where the current close sits inside the high-low range of the last n bars, with 14 the standard look-back. It plots from 0 to -100. Readings between 0 and -20 are overbought, readings between -80 and -100 are oversold. The formula is (Highest High - Close) / (Highest High - Lowest Low) × -100. It is the Stochastic Oscillator's %K line shifted down by exactly 100.

What Is the Williams %R Indicator?

It answers one question: over the last fourteen bars, how close to the top of the range did price just close? Not how far price moved, not how fast, not in which direction over any longer horizon. Just the position of the most recent close between two numbers, the highest high and the lowest low of the window.

A reading of 0 means the close was the highest high of the entire look-back. A reading of -100 means it was the lowest low. Everything in between is a percentage of the way down from the top. -25 means the close landed a quarter of the way down the range. That is genuinely all the indicator does, and knowing that it is a position measurement rather than a strength measurement will save you from about half the mistakes people make with it.

Larry Williams introduced it in a commodities trading book in the 1970s. Sources disagree on which one and which year, with some pointing at How I Made One Million Dollars…Last Year…Trading Commodities from 1979 and others placing the concept a few years earlier, so treat the precise date as unsettled trivia rather than a fact worth repeating with confidence. Worth one clarifying note while we are on attribution: Williams also created a separate indicator called the Ultimate Oscillator, which is a different calculation entirely. Both carry his name in their branding and they get conflated in search results more often than you would expect.

What Is the Williams %R Formula?

The calculation

%R= ( Highest High − Close ) / ( Highest High − Lowest Low ) × -100

Highest High and Lowest Low are taken over the look-back period, normally 14 bars. Close is the most recent close. The output is bounded between 0 and -100 by construction, because the numerator can never exceed the denominator.

Run it on numbers, because the formula is easier to trust once you have watched it behave. Say a stock over its last fourteen daily bars has a highest high of 52.40 and a lowest low of 48.60, so the range is 3.80. Today it closes at 51.90.

The numerator is 52.40 minus 51.90, which is 0.50. Divide by 3.80 and you get 0.1316. Multiply by -100 and %R is -13.2. The close is 13 percent of the way down from the top of its two-week range, which puts it inside the overbought band. Now take the same stock closing at 49.00 instead. Numerator becomes 3.40, divided by 3.80 is 0.8947, and %R is -89.5. Same range, same denominator, and the reading has travelled most of the width of the scale purely because the close moved 2.90.

Two things fall out of that. The denominator is the whole range, so a widening range compresses the indicator and a tightening range makes it hypersensitive. And because the highest high and lowest low roll forward one bar at a time, a single extreme bar dropping out of the window can move %R sharply on a day price barely did anything. Neither is a flaw, but both are reasons a %R print should never be read in isolation from the price chart above it. The StockCharts ChartSchool entry on Williams %R works through the same arithmetic with a longer worked series if you want to see it move bar by bar.

What Are the Overbought and Oversold Levels, and Why -20 and -80?

The conventional bands sit at -20 and -80. A reading between 0 and -20 is called overbought, and a reading between -80 and -100 is called oversold. Those numbers are not mystical. They carve off the top fifth and the bottom fifth of the range, which is the same top-and-bottom-20-percent convention the Stochastic Oscillator uses at 80 and 20. The convention long predates any of the platforms shipping it as a default.

What the labels actually mean is narrower than the words suggest. Overbought on %R means the close is near the top of the last fourteen bars. It does not mean overvalued, it does not mean stretched, and it does not mean due. A stock in a clean trend will close near the top of its recent range repeatedly, which is what a trend is, and %R will sit in the overbought band the entire time.

The tactical fix most sources converge on is to stop treating the zone as the signal and start treating the exit from the zone as the signal. Waiting for %R to cross back up through -80 before taking a long, rather than buying the first print below it, is a small rule with a large effect on how many losing trades you take into a falling market. You give up the best fills and you avoid the trades where price simply kept going. That trade-off is the same one behind the standard RSI overbought and oversold framing, and it fails for the same reason in the same conditions.

One line, two axes. Every %R value is its %K value minus 100.

Williams %R indicator chart plotted on a 0 to -100 scale beside the identical Stochastic %K reading on a 0 to 100 scaleA single oscillator panel with two vertical axes. The left axis is labelled Williams %R and runs from 0 at the top to -100 at the bottom, with dashed band lines at -20 and -80 and the midline at -50. The right axis is labelled Stochastic %K over the same look-back and runs from 100 at the top to 0 at the bottom, with its band lines at 80 and 20 sitting on exactly the same gridlines. A shaded overbought zone spans the top band and a shaded oversold zone spans the bottom band. One oscillator line runs across both scales, starting in the oversold zone, rising through the midline into the overbought zone, falling back through to the oversold zone, then rising again and pinning near the top. The line is identical on both axes because Williams %R equals Stochastic %K minus 100.Williams %RStochastic %Ksame 14-bar look-back, same close, same range0100-2080-5050-8020-1000overbought on both scalesoversold on both scalesthe last five bars are pinned in the top band. that is a trend, not five sell signals.plotting both is plotting one line twice
A Williams %R indicator chart on the 0 to -100 scale, with the identical Stochastic %K values labelled on the right axis

How Is Williams %R Different From the Stochastic Oscillator?

This is the most-repeated claim about the indicator and also the loosest. You will read that %R is the inverse of the stochastic, or a mirror image of it, or that the two are upside down versions of each other. All of those are pointing at something real and none of them are precise. The actual relationship is one line of algebra, so here it is.

The Stochastic Oscillator's %K line is defined as (Close − Lowest Low) / (Highest High − Lowest Low) × 100. Williams %R is (Highest High − Close) / (Highest High − Lowest Low) × -100. Same denominator, and the numerators are complements: (Highest High − Close) is exactly (Highest High − Lowest Low) − (Close − Lowest Low). Substitute that in, split the fraction, and the first term is 1 while the second is %K / 100. Multiply through by -100 and you are left with:

The exact relationship

%R = %K − 100, for the same look-back period.

Not a sign flip, not a reflection. A fixed vertical shift of 100 points. A %K of 80 and a %R of -20 are the same reading with two different labels, and both of them are the overbought band.

The practical consequence is worth sitting with, because it is more interesting than the trivia. If you plot fast %K and Williams %R on the same chart with the same period, you have not added information. You have plotted one line twice on two differently labelled axes. Every swing, every extreme, every divergence appears at the same bar in both panels, because they are the same series. The thing people call inverse behaviour is entirely a property of the axis labels, not of the data.

Williams %R vs. the Stochastic Oscillator's %K, field by field
same measurement, two scales
FieldWilliams %RStochastic %K
What it measuresWhere the close sits inside the recent high-low rangeWhere the close sits inside the recent high-low range
Formula(Highest High - Close) / (Highest High - Lowest Low) x -100(Close - Lowest Low) / (Highest High - Lowest Low) x 100
Anchor pointDistance down from the period highDistance up from the period low
Output range0 to -1000 to 100
Overbought band0 to -2080 to 100
Oversold band-80 to -1000 to 20
Default look-back14 bars14 bars
Signal lineNone. A single unsmoothed line%D, normally a 3-period average of %K
Exact relationship%R = %K - 100, for the same look-back%K = %R + 100, for the same look-back
What the extreme meansA reading of 0 means the close IS the period highA reading of 100 means the close IS the period high

The one row in that table that is a genuine functional difference is the signal line. Stochastic normally ships with %D, a short moving average of %K, and a large share of stochastic strategies trigger on the %K/%D crossover rather than on the level. Williams %R is plotted raw on most platforms, which is why it is sometimes described as slightly more reactive than a fast stochastic. Everything else in the table is presentation. If you want the classic stochastic treated on its own terms, this site scores it separately in the ranked list of day trading indicators, and there is a separate write-up on Stochastic RSI, which despite the name is a different animal again because it runs the stochastic calculation over RSI rather than over price.

Worth noting what this means for the three scales side by side. RSI runs 0 to 100 and measures the size of recent gains against recent losses. Stochastic %K runs 0 to 100 and measures range position. Williams %R runs 0 to -100 and measures the same range position. Two of those three are the same thing wearing different clothes, and the one that is genuinely measuring something else is RSI.

Before you size it

The oscillator hit the band. That still leaves the question of whether the chart underneath it is any good.

Upload the screenshot and SnapPChart reads that one image against a fixed rubric, then returns a setup grade, an entry, a stop with the reasoning behind the level, targets, and the reward-to-risk those levels imply. The grade is the part worth disagreeing with before money is on it.

Grade this chart

How Do You Spot Divergence on Williams %R?

Divergence is the comparison between what price did at two swing points and what the oscillator did at the same two points. It is the one %R read that does not depend on the bands at all.

Bearish divergence is price making a higher high while %R makes a lower high. Price printed a new peak, but the close on that peak sat further down its own recent range than the close on the previous peak did. The move is still going up and the quality of the closes is deteriorating.

Bullish divergence is the mirror. Price makes a lower low while %R makes a higher low. The new low exists, but price is closing further off the bottom of its range than it was at the previous low, which is what selling running out of energy looks like before it looks like anything on the price chart.

Two honest caveats. Divergence flags weakening momentum, not a reversal, and momentum can weaken for a long time inside a trend that continues anyway. And because %R has no smoothing, it produces more candidate divergences than a smoothed oscillator will, a fair number of which resolve into nothing. Divergence is most useful when the swing points you are comparing are ones you would have marked on the price chart regardless, which means it belongs downstream of the levels you have already drawn rather than upstream of them.

Why Does Williams %R Pin at an Extreme During a Strong Trend?

Because the calculation rewards exactly the behaviour a trend produces. Every bar that closes at or near the top of the rolling window puts the numerator close to zero, and %R sits somewhere between 0 and -20 for as long as that keeps happening. In a sustained downtrend the same thing occurs at the bottom of the scale. The line can spend twenty or thirty consecutive bars in a band without the indicator being wrong about anything.

Traders read that stretch as a queue of reversal warnings and fade it repeatedly. It is the single most expensive mistake available with this indicator, and it is expensive precisely because the reasoning feels sound. Each individual print really is in the overbought zone. The flaw is that the zone was never a prediction. A pinned reading is a description of trend consistency, and TradingView's help page for Williams %R makes the same point about reading extremes as confirmation rather than as contrarian signals.

There are two workable responses. The first is the zone-exit rule from earlier: require %R to cross back out of the band before acting, which mechanically prevents you from taking the first twenty prints of a pinned stretch. The second is to decide the regime before you look at the oscillator at all, and then only take the %R reads that point with the trend. In an uptrend that means ignoring every overbought print and acting only on oversold-band exits, which converts %R from a reversal tool into a pullback-timing tool. Deciding whether a trend is established is not something an oscillator can do for you, which is the case for pairing it with a trend-strength reading such as ADX that is measuring a completely unrelated property.

What Look-Back Period Should You Use?

14 is the default nearly everywhere and there is no strong reason to move off it until you have a specific complaint. The direction of the trade-off is fixed: shorter look-backs are more sensitive and produce more signals and more noise, longer look-backs smooth the line and produce fewer false signals and more lag. There is no setting that gives you both, because sensitivity and noise are the same property seen from two angles.

Williams %R settings, what each one changes, and what it costs
look-back is in bars of whatever timeframe you are on
SettingWhat it isWhat it doesWhat it costs you
14 barsThe default on effectively every platformTwo to three weeks of daily bars, or a couple of hours of 5-minute barsNothing in particular. It is the baseline the bands were drawn around
9 or 10 barsThe common faster tuneReaches both extremes considerably more often. Reacts to a single strong barMore qualifying reads, a higher share of which are noise
5 barsScalping territoryEffectively a readout of whether the last few bars closed high or low in their rangePins at 0 and -100 constantly. The zones stop meaning anything
28 barsThe slower swing tuneSmoother line, fewer excursions to the bands, each one carries more weightLag. The extreme prints after a decent chunk of the move is behind you
50+ barsPositional / regime readDescribes where the close sits in a multi-month range rather than a swingAlmost never reaches an extreme, so there is very little to act on
Bands at -10 / -90Tightening the zones instead of the periodFilters by extremity rather than by time. Only the sharpest reads qualifyIn a strong trend the line lives up there anyway, so this helps less than it sounds
Bands at -30 / -70Widening the zonesMore qualifying reads, useful on instruments that rarely reach the standard bandsYou are now calling a mid-range close overbought, which is a stretch

One thing the table cannot capture is that the look-back interacts with the timeframe rather than replacing it. 14 bars on a 5-minute chart is 70 minutes of tape, which on a liquid name is a reasonable window. 14 bars on a 1-minute chart during the first half hour is a window that contains the open, which means the highest high is probably a spike nobody wants to be measured against. Think in minutes and hours, not in bars.

Can Williams %R Be Used in Algorithmic Trading?

It is one of the easier indicators to systematise, and that is most of the reason it shows up as often as it does in systematic work. The calculation is four numbers and one division, it needs no recursive state the way an exponential average does, it is bounded on both ends so it never needs normalising, and it produces a clean binary condition out of the box: is the value above -20, is it below -80.

The common systematic use is mean reversion. Buy when %R drops below -80 and crosses back up, sell or exit when it climbs above -20, hold otherwise. That rule is trivially codeable in a few lines and it is also where the naive version of it falls apart, for exactly the reason covered above. A mean-reversion rule applied without a regime filter is a machine for shorting strength. Most published treatments of %R as a strategy pair the signal with a trend filter, a longer moving average, or a volatility condition, and the filter is doing more of the work than the oscillator is.

The other systematic use is as a model input. %R turns up as one feature among many in academic work on price direction, including a random forest study on stock direction prediction and a neural network stacking model for cryptocurrency prices. Both feed %R into the model alongside a set of other technical inputs. Neither claims %R alone predicts anything, and reading them as an endorsement of the indicator would be a misreading. What they do establish is that it is a normal, unexciting feature to include when you want a bounded range-position signal, which is a more honest recommendation than most strategy pages will give you.

Where Williams %R Fits on a Real Chart

It is a timing input near the end of a decision, not the start of one. The order that works is regime, then direction, then level, then timing. Establish whether the tape is trending or rotating. Pick a side. Mark the price you would act at, which has to come from structure rather than from any oscillator, since %R cannot give you a price to enter at or a price to be wrong at. Only then does the band read matter, and all it does is help you pick the bar.

Skipping those first three steps and entering off a band print alone is the most common way this indicator loses money, and it is an easy mistake to make because the band print is the only part that produces a discrete, obvious-looking event. That ordering, and the broader argument for treating indicators as a layer on top of structure rather than a substitute for it, is the spine of the technical analysis overview. The related question of how many independent signals you want lined up before committing is covered in the piece on how much confluence is enough, and it applies here with a wrinkle: %R and a fast stochastic do not count as two.

Acting on a Williams %R read without fooling yourself
the line is trivial to read, the context is where the money goes
You decided whether you are in a trend or a range before looking at the panelPASS
%R crossed back out of the band rather than merely entering itPASS
The read points the same way as the trend you already identifiedPASS
You have an entry and an invalidation price that came from structure, not from %RPASS
You know your look-back number and which way the axis is drawnPASS
Shorting because the line has been sitting above -20 for twenty barsWATCH
Counting %R and a 14-period fast stochastic as two confirming signalsWATCH
Taking a -52 reading as a mild version of a signalWATCH

What a chart grader can and cannot see here

Worth being straight about, since this site sells a tool. SnapPChart has no Williams %R field. It does not calculate %R, does not track the look-back window, and carries no dedicated state for it the way it does for the moving average stack, the VWAP relationship, or the MACD cross. What it does is read a chart screenshot you upload, so if you plot %R before taking that screenshot, the visible line is part of what the analysis sees, as an oscillator sitting high or low inside a sub-panel. That is geometry, not a verified value. It cannot confirm that %R crossed back above -80 two bars ago the way it confirms something drawn on the price chart itself, and I would rather say that plainly than let you assume otherwise. Which indicator states a screenshot-based read carries and which it only infers from shape is the subject of the wider guide to how AI reads a chart, and a neutral description of what a single chart read covers sits on the AI chart analysis page. If a %R cross is the reason you are taking the trade, verifying that cross stays your job.

The short version to act on

Williams %R measures where the close sits in the last 14 bars and plots it 0 to -100, with bands at -20 and -80. It is the Stochastic Oscillator's %K minus 100, so running both is running one line twice. Treat the exit from a band as the signal, never the entry into it, and never fade a pinned reading in a trend. Divergence is the read that does not depend on the bands. Shorter look-backs buy sensitivity with noise, longer ones buy reliability with lag, and there is no setting that avoids the trade.

Frequently Asked Questions

What does a Williams %R reading of -50 tell you?

That the close landed exactly halfway between the highest high and the lowest low of the look-back window, and almost nothing else. The midpoint is the least informative reading the indicator produces, because a close sitting in the middle of its recent range is the default state of a market that is not doing anything in particular. It is also where %R spends a lot of its time on a chart that is chopping. The practical consequence is that mid-range readings are not weak signals to be acted on carefully, they are the absence of a signal. If your rule involves a %R number between roughly -35 and -65, the number is not what is driving the decision, something else on the chart is, and you should be honest with yourself about what that something is.

Why does Williams %R look different on two charting platforms?

Three reasons, and all three are display decisions rather than different math. First, the look-back: 14 is the near-universal default but some platforms ship 10 or 20, and the line changes shape materially between them. Second, the axis direction: a handful of platforms flip the panel so that -100 sits at the top and 0 at the bottom, which makes the same data look like a completely different indicator until you read the scale labels. Third, the scale itself: some implementations plot the absolute value, or add 100 to the output, so the panel reads 0 to 100 and looks like a stochastic. Check the look-back number and the axis labels before you compare your chart against anyone else's screenshot.

Does Williams %R work on any timeframe and instrument?

Mechanically yes, since the calculation only needs a high, a low and a close for each bar, and that is true of a 1-minute chart on a large-cap and a weekly chart on a commodity alike. Practically it degrades where the high-low range is unreliable. On a thin, low-volume name a single bad print can set the highest high for the next fourteen bars, and every %R value in that window is then measured against a price nobody actually traded size at. The same problem shows up on very low timeframes during the dead middle of a session, where the range is so compressed that %R swings the full width of the scale on a couple of ticks. The indicator is not broken in those conditions, it is faithfully reporting a range that is not worth measuring.

Does Williams %R have a signal line like the Stochastic Oscillator?

No, and that is the one real functional difference between the two. The Stochastic Oscillator normally ships with a %D line, a short moving average of %K, and most stochastic strategies key off the crossover between them rather than the raw level. Williams %R is plotted as a single unsmoothed line on nearly every platform, which is why it is often described as slightly more reactive than a fast stochastic. Whether that is an advantage depends entirely on what you are doing with it. Without a second line you have no crossover event, so your trigger has to come from the level, from the zone exit, or from something outside the indicator. Some traders add a short moving average of %R to manufacture one. That is a reasonable thing to do, but be clear that you have rebuilt the stochastic at that point.

Is Williams %R a leading or lagging indicator?

It is often marketed as leading, and the argument is that because it has no smoothing it reacts to a change in close position immediately rather than a few bars later. That is true relative to a smoothed oscillator, but it does not make the indicator leading in any useful sense. Every input is a bar that has already closed. The highest high and lowest low come from the past fourteen bars, and the close is the most recent completed one. %R can tell you that momentum has already shifted before a moving average will, which is a timing advantage of a bar or two. It cannot tell you that momentum is about to shift, and treating the distinction as academic is how people end up early, then wrong, then out.

Disclaimer

This article is for educational and informational purposes only and is not investment, financial or trading advice. The Williams %R formula, the 14-period default look-back, the -20 and -80 bands, and the attribution to Larry Williams are the conventional published formulations reproduced by charting platforms and reference sources; the publication date of the original book is reported inconsistently across sources and is deliberately not stated here as fact. The alternative look-back periods and band placements quoted are configurations commonly cited in that literature rather than tested or recommended parameters, and no combination of them is claimed to be profitable. The academic papers referenced use Williams %R as one input feature among several and make no claim about the indicator in isolation. Nothing here is backtested performance and no results are claimed or implied. Indicator readings describe what price has already done and do not predict what it will do next. Day trading and active trading carry a substantial risk of loss and are not suitable for every investor. SnapPChart grades a static chart screenshot you upload and returns a setup grade, entry, stop, targets and reasoning for that single image; it does not calculate Williams %R or any oscillator value, does not track indicator states it has not been shown, does not scan the market, and does not track your account, positions or P&L. It can only account for indicators that are visibly drawn on the image you upload. Do your own analysis, size positions so that being wrong is survivable, and consider speaking to a licensed financial professional about your own circumstances before trading.

BL
Benjamin Loh
Founder of SnapPChart · trader and dev

Writes about AI-assisted day trading, technical analysis, and the systems traders actually use to stay disciplined.

A %R reading tells you where the close sits in a range. It never tells you whether the chart is worth trading.

The same -85 print shows up on a clean pullback into a level that has held four times and on a name that is bleeding out with no bid underneath it. The oscillator cannot separate them because it only sees four numbers per bar. Upload the screenshot and SnapPChart reads that one image against a fixed rubric, then returns a setup grade, an entry, a stop with the reasoning behind the level, targets, and the reward-to-risk those levels imply.

Grade your setupNo card required