
The Start Bots Signal category describes signals and indicators that can start a trading bot. One of the technical indicators is Williams %R.
When creating or editing any bot, there is a Start signal builder block at the bottom of settings. You can choose individual indicators, ready-made presets, and their combinations. Conditions are grouped: AND inside a group, OR between groups. The same indicator can be configured in different ways - for Long and Short, for breakouts and bounces, for level comparisons and for crosses.
What is Williams %R
Williams %R (Williams Percent Range) is a momentum oscillator developed by Larry Williams. It shows how close the current closing price is to the highest high over the selected period relative to the High–Low range. Values oscillate from −100 to 0.
The closer %R is to −100, the stronger the oversold reading: price is near the lower edge of the recent range. The closer to 0, the stronger the overbought reading. In the ELIXOAI start signal builder, Williams %R is used as an automatic bot start condition - when the oscillator enters an extreme zone or crosses a key level.
Williams %R works well in ranges and on bounces from extremes, but in strong trends it can stay below −80 or above −20 for a long time - so traders often combine it with trend filters (EMA, higher timeframe) or other oscillators.
Williams %R vs Stochastic: inverted scale
Williams %R and the Stochastic Oscillator share the same core idea - price position within the High–Low range - but display it differently:
- Stochastic uses a 0–100 scale: %K below 20 is oversold, above 80 is overbought. Higher values mean price is closer to the top of the range.
- Williams %R uses a −100–0 scale - a mirror of Stochastic. A value near −100 matches %K near 0; a value near 0 matches %K near 100. The formula is essentially the same, but the result is flipped.
- Classic levels map as follows: Stochastic < 20 ≈ Williams %R < −80; Stochastic > 80 ≈ Williams %R > −20. If you are used to Stochastic, remember the sign: −80 is lower on the %R scale than −20.
In the ELIXOAI builder both indicators are available separately. Williams %R is simpler - a single value line without %K/%D. For crosses, use cross up/down operators against −80 or −20.
How Williams %R works
The calculation shows where the close sits within the range over N candles:
%R = (Highest High − Close) / (Highest High − Lowest Low) × (−100), where Highest High and Lowest Low are extremes over the period and Close is the current closing price.
- %R < −80 - oversold: price in the lower part of the range, Long potential.
- %R > −20 - overbought: price in the upper part of the range, Short potential.
- %R around −50 - neutral zone: price roughly mid-range.
In the builder you set a comparison condition on the value output: “Williams %R less than −80,” “Williams %R crosses above −80,” and so on. The system fetches live values from the exchange via TAAPI and checks the condition on your timeframe - at candle close or every minute.
Period parameter
- Range: 1 to 300.
- Default: 14 - Williams’ classic setting, balanced for 15m–1h.
- Short period (5–9): %R reacts faster, hits −80/−20 zones more often, more noise. Useful on 5m for scalping.
- Long period (21–50): smoother %R, fewer extremes. Better for 1h–4h swing - fewer but more meaningful signals.
Williams %R(14) on 5m and on 4h are different indicators. When changing timeframe, revisit period and thresholds (−80/−20).
Ready-made presets in the builder
The builder offers two Williams %R presets with default settings. Each can be fully customized: different operator, level, period, or timeframe.
willr_value - %R < −80 (Long, oversold)
Default condition: Williams %R less than −80 (lt) on the selected timeframe (15m interval, period 14, check at bar close).
A Long signal on strong oversold conditions: price in the lower part of the recent range. The bot starts when %R drops below −80. Unlike cross up −80, no reversal is required - being in the zone is enough. For a more conservative entry, set cross up −80: leaving oversold territory.
willr_value_down - %R > −20 (Short, overbought)
Default condition: Williams %R greater than −20 (gt) on the same timeframe.
A Short signal on overbought conditions - the mirror of willr_value. The bot starts when %R rises above −20: price near the top of the range. For leaving overbought territory, set cross down −20.
Available operators- Crosses above (cross up): %R was below the level and moved above. Classic Long setup - cross up −80: start of leaving oversold.
- Crosses below (cross down): %R was above the level and dropped below. Short signal - cross down −20: leaving overbought.
- Greater than (gt): %R is strictly above the level. E.g. %R > −20 - sustained overbought for a Short filter.
- Less than (lt): %R is strictly below the level. %R < −80 - clear oversold for Long.
- Greater or equal (gte): %R is at or above the threshold. Handy for “%R ≥ −50” filter on a higher timeframe.
- Less or equal (lte): %R is at or below the threshold. Bearish context filter: %R ≤ −50 on 4h.
Levels −80 and −20 are the Stochastic 20/80 equivalent. Cross up −80 means %R left deep oversold; cross down −20 means the oscillator left overbought. In a strong trend %R can stay below −80 (uptrend with long pullbacks) or above −20 (downtrend with short bounces) for a long time - then lt/gt gives earlier entry while cross gives a more precise impulse turn.
General builder settings
- Timeframe (interval): 1m, 5m, 15m, 30m, 1h, 4h, 1d. Shorter intervals give more signals but more noise. Swing bots often use 1h–4h; scalping uses 5m–15m.
- Check mode: At candle close checks after the candle closes - fewer false triggers. Every minute checks inside the current candle - faster reaction, higher false-start risk.
- Operator: greater than, less than, crosses above, crosses below, greater or equal, and others define how the indicator value is compared to the target.
- Target value: a number (e.g. 30 for RSI), an indicator line (e.g. %D for Stochastic), or price (for Bollinger Bands).
- Condition groups: up to 3 groups with up to 5 conditions each. Example: group 1 - RSI < 30 AND price < lower band; group 2 - Stochastic < 20. The bot starts if group 1 OR group 2 is satisfied.
Setup examples for different strategies
Scalping: period 9 on 5m–15m
Goal: frequent starts on short bounces.
Long: willr_value preset, %R < −80, 5m timeframe, period 9, check at bar close.
Short: willr_value_down, %R > −20, same settings.
Filter: price above EMA 20 on 15m for Long - fewer false entries against local trend.
Swing: period 14 on 1h–4h
Goal: fewer but more meaningful moves.
Long: Williams %R cross up −80 on 4h, period 14, check at close - bot starts on a sustained exit from oversold.
Short: cross down −20 on 4h, period 14.
Period 14 on a higher TF smooths noise and signals closer to a “real” reversal.
Leaving oversold (cross up −80)
Goal: Long not at the extreme but as reversal begins.
Condition: Williams %R cross up −80 on 15m, period 14, check at close.
Short: cross down −20 on 15m.
Fewer false entries than plain lt −80, but a later entry.
Trend confirmation via EMA
Goal: Long only when bounce aligns with trend.
Group 1: Williams %R cross up −80 on 15m AND close price above EMA 50 on the same 15m.
Short: %R cross down −20 AND price below EMA 50.
EMA shows direction; %R catches the bounce from the extreme.
Williams %R + RSI
Long: Williams %R < −80 on 15m AND RSI < 30 on 15m - double oversold confirmation.
Short: %R > −20 AND RSI > 70.
RSI and %R measure momentum differently; agreement reduces false starts in weak ranges.
Williams %R + Stochastic
Long: Williams %R < −80 AND Stochastic %K < 20 on 15m - two range-type oscillators confirm the extreme (remember %R’s inverted scale).
Short: %R > −20 AND %K > 80.
Redundant on one TF but useful for noise filtering.
Williams %R + Bollinger Bands
Long: Williams %R < −80 on 15m (period 14) AND close price below lower Bollinger Band (20, 2) on the same interval.
Short: %R > −20 AND price above upper BBands.
Momentum plus volatility - a classic mean-reversion combo.
Short from overbought
Condition: willr_value_down (%R > −20) or cross down −20, period 14, 15m, check at close.
Filter: RSI > 65 in the same group - short after overbought with fading momentum confirmation.
Fits short grids at local peaks.
Pullback in trend
Group 1: Williams %R on 4h greater than −50 (period 14) AND %R cross up −80 on 15m (period 14).
Logic: higher TF is not deeply oversold; lower TF catches a local bounce. Fewer false starts against a global downtrend.
Multi-timeframe
Long: Williams %R on 4h ≥ −50 (separate condition, gte, period 14) AND %R cross up −80 on 15m (period 14).
Short: %R 4h ≤ −50 AND %R cross down −20 on 15m.
This avoids buying every local %R bounce against global oversold on the higher interval.
DCA on pullback
Long: Williams %R cross up −80 on 1h (period 14) AND RSI < 45 on 1h - impulse bounce from weakness without extreme oversold.
Short: cross down −20 AND RSI > 55.
For a DCA bot, cross up −80 is softer than strict %R < −90 - fewer false entries during ongoing drops.
Condition groups: practical example
Bot with two Long scenarios:
Group 1: Williams %R cross up −80 on 15m AND price > EMA 50 - trend bounce.
Group 2: willr_value (%R < −85) on 15m AND RSI < 25 - aggressive counter-trend.
Groups combined with OR: either scenario can start the bot. Configure Short symmetrically (willr_value_down, cross down −20).
Tip
Do not confuse the Williams %R scale with Stochastic: −80 is oversold (like Stochastic 20), and −20 is overbought (like Stochastic 80). In a strong uptrend %R can stay above −20 for a long time; in a downtrend it can stay below −80. Counter-trend signals without a filter often start the bot against the main move. Add EMA, a higher timeframe, or cross instead of lt/gt. Use check at bar close to ignore intrabar noise.