TickAtlas
oscillator 10 min read Updated 2026-03-21

Williams %R (Williams %R)

Williams %R is a momentum oscillator identical to the inverse of the Stochastic Oscillator. It ranges from 0 to -100, measuring how close the closing price is to the highest high of the lookback period.

TL;DR

  • Williams %R is a oscillator indicator used in technical analysis
  • Above -20 is overbought; below -80 is oversold. Similar interpretation to Stochastic but inverted scale.
  • Best timeframes: M15, H1, H4
  • Skip to API docs →

What is Williams %R?

Williams %R is a momentum oscillator identical to the inverse of the Stochastic Oscillator. It ranges from 0 to -100, measuring how close the closing price is to the highest high of the lookback period.

How Williams %R is Calculated

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

Default period: 14

How to Interpret Williams %R

Above -20 is overbought; below -80 is oversold. Similar interpretation to Stochastic but inverted scale.

Trading Strategies Using Williams %R

Strategy 1: Williams %R Extremes

Trade reversals from overbought/oversold zones.

Entry Rules

Buy when %R crosses above -80. Sell when %R crosses below -20.

Exit Rules

Exit at opposite extreme or use trailing stop.

Combining Williams %R with Other Indicators

Williams %R works best when combined with complementary indicators:

  • Williams %R + Stochastic: Combine for stronger confluence signals
  • Williams %R + RSI: Combine for stronger confluence signals
  • Williams %R + CCI: Combine for stronger confluence signals

Williams %R Across Different Timeframes

Williams %R works across all 7 timeframes but performs best on M15, H1, H4 for most trading styles.

M15 H1 H4

Learn about all 7 timeframes →

Accessing Williams %R via TickAtlas API

GET https://tickatlas.com/v1/indicator

Python Example

python
import requests

url = "https://tickatlas.com/v1/indicator"
headers = {"X-API-Key": "YOUR_API_KEY"}
params = {
  "symbol": "EURUSD",
  "indicator": "Williams_R_14",
  "timeframe": "H1"
}

response = requests.get(url, headers=headers, params=params)
data = response.json()
print(data)

Sample Response

200 OK
{
  "symbol": "EURUSD",
  "indicator": "Williams_R_14",
  "timeframe": "H1",
  "timestamp": "2026-03-21T14:00:00Z",
  "value": 58.43,
  "signal": "neutral"
}

Common Mistakes to Avoid

  1. 1

    Confusing the inverted scale (0 to -100 instead of 0 to 100)

  2. 2

    Trading against strong trends based solely on extreme readings

Frequently Asked Questions

How is Williams %R different from Stochastic?

They are mathematically equivalent but with inverted scales. Williams %R = -100 + Stochastic %K. The main difference is visual representation.

Continue learning

Ready to use Williams %R data in your application?

Start your free trial and access real-time Williams %R data across 7 timeframes.