Tag: Mean Reversion

  • Williams %R Strategy Backtest: a 62% Win Rate That Still Lost Everything

    Williams %R Strategy Backtest: a 62% Win Rate That Still Lost Everything

    “My strategy wins 65% of its trades.” It’s the most seductive line in trading — and one of the most misleading. Williams %R, Larry Williams’ 1973 oscillator, is the perfect case study. Traded the standard way — buy when %R climbs out of oversold (−80), sell when it drops out of overbought (−20) — it posts a gorgeous win rate of 54–66% on every timeframe and every coin. It also loses money on every timeframe and every coin. We ran it through the 7-Gate Protocol across six axes. Verdict: reject — and it is the site’s cleanest lesson in why win rate lies.

    Methodology

    • Data: Binance spot, Jul 2024–Jul 2026 (2 years), BTC/ETH/SOL/BNB/XRP
    • Timeframes: 5m–1D (9 buckets, incl. resampled)
    • Execution: Williams %R(14) on the closed bar, no look-ahead; long on cross up through −80, short on cross down through −20
    • Friction: 0.06%/side (real); 0-fee gross reported too. Benchmark: buy & hold
    • Six axes: timeframe, period, TP:SL, multi-coin, yearly, out-of-sample

    Gate 0 — Fidelity

    Standard Williams %R(14): −100 × (highest high − close) / (highest high − lowest low) over 14 bars, scaled −100 to 0. Long when it crosses up through −80 (leaving oversold), short when it crosses down through −20 (leaving overbought). Reproduced exactly (pass).

    The Exact Rules

    • Signal: %R crosses above −80 → long; crosses below −20 → short (stop-and-reverse, hold in between)
    • Default: period 14, thresholds −20 / −80
    Williams percent R BTC 4H equity minus 83 net, gross minus 78, no edge at all, buy and hold plus 12

    BTC 4H ends at −83%. And this time even the gross (0-fee) line is at −78% — there is no edge here at all, before or after costs. Yet the strategy won 55% of those losing trades. How?

    The Win-Rate Illusion

    Williams percent R win rate illusion, win rate 55 to 66 percent gold line but net return all negative red bars

    This one chart is the whole verdict. Across every timeframe the win rate sits at 55–66% (gold line) while the net return is deeply negative (red bars). The reason is what mean-reversion oscillators do: buying oversold and shorting overbought means fading the move. You clip a small profit most of the time as price wiggles back — a high win rate — but when the trend simply keeps going, you take one enormous loss that erases dozens of those small wins. Win rate counts how often you win; it says nothing about how much you win versus lose. Here the ratio is fatal.

    Axis 1 — Timeframe (win rate, gross, net)

    Timeframe Trades Win rate Gross Net
    5m 11,279 62% +29% −100%
    15m 3,731 61% −51% −99%
    30m 1,794 60% −25% −91%
    1h 889 60% −58% −86%
    2h 422 59% −70% −82%
    4h 202 55% −78% −83%
    6h 156 65% −30% −42%
    12h 66 55% −16% −22%
    1D 35 66% −47% −49%

    Read the win-rate column: 55–66% everywhere. Read the net column: negative everywhere. Nine timeframes, nine high-win-rate losers. The 5-minute wins 62% of 11,279 trades and still goes to −100%.

    Williams percent R net return by timeframe all negative despite high win rate, 5 minute minus 100

    Axis 2 — Period (parameter)

    %R period Trades Win rate Net PF
    7 350 57% −77% 0.81
    9 282 60% −79% 0.74
    14 (default) 202 55% −83% 0.63
    21 158 60% −62% 0.84
    28 124 65% −36% 0.98
    35 92 61% −40% 0.94

    Every %R period loses (best case −36% at period 28), and the win rate stays 55–65% throughout. There is no length at which fading extremes becomes profitable on the majors.

    Williams percent R period sensitivity all negative, no length profitable

    Axis 3 — TP:SL

    TP:SL Net PF
    1:0.5 −76% 0.54
    1:1 −77% 0.57
    1:1.5 −77% 0.58
    1:2 −77% 0.58
    1:2.5 −79% 0.56
    1:3 −78% 0.57
    1:4 −79% 0.56
    1:5 −79% 0.56

    This is the most damning sweep on the site: every single TP:SL ratio loses 75–79% with a profit factor of 0.54–0.58. You cannot fix a strategy whose losers dwarf its winners by moving the target — the problem is structural, not a tuning issue.

    Williams percent R TP:SL sensitivity every ratio loses 75 to 79 percent, profit factor 0.54 to 0.58

    Axis 4 — Five Coins

    Coin Win rate Williams %R net Buy & Hold
    BTC 54% −83% +12%
    ETH 60% −78% −40%
    SOL 61% −86% −40%
    BNB 63% −4% +17%
    XRP 65% −121% +163%

    Zero of five coins are profitable — the worst multi-market result on the site. And look at XRP: a 65% win rate and a −121% return. You kept shorting XRP every time it looked “overbought” while it tripled; you were right 65% of the time and it destroyed the account. That single row is the entire argument against win rate as a metric.

    Williams percent R five coins all lose despite 54 to 65 percent win rate, XRP 65 percent win minus 121

    Axis 5 — Yearly

    Year BTC 4H net
    2024 −62%
    2025 −45%
    2026 (to Jul) −20%

    All three years lose: −62%, −45%, −20%. Not one positive year — the only strategy on this site to fail that cleanly. Fading a trending, momentum-driven market is a structural loser regardless of the calendar.

    Axis 6 — Friction & Out-of-Sample

    Williams percent R friction gate minus 78 gross to minus 83 net, no edge

    Friction barely matters when the gross is already −78%. Out-of-sample confirms it: 1 of 5 coins positive on unseen data. There is nothing to salvage.

    The Verdict: REJECT

    • Gate 0 — Indicator fidelitypass (standard Williams %R(14), −20/−80)
    • Gate 1 — Sanitypass (signal on the closed bar, no look-ahead)
    • Gate 2 — Frictionfail (−78% even at zero fees on 4H; 5m → −100%)
    • Gate 3 — Yearly consistencyfail (all three years negative: −62 / −45 / −20)
    • Gate 4 — Out-of-samplefail (1 of 5 coins positive out-of-sample)
    • Gate 5 — Robustnessfail (every period loses; every TP:SL loses at PF 0.54–0.58)
    • Gate 6 — Multi-marketfail (0 of 5 coins positive — the worst on the site)
    • Gate 7 — vs Buy & Holdfail (0 of 5 timeframes, 0 of 5 coins)

    A 62% win rate that lost everything. Williams %R traded as an overbought/oversold reversal fades the market: it wins small and often, then hands back everything (and more) when a trend refuses to reverse. Win rate measures frequency, not expectancy — and XRP’s 65%-win, −121% row is the clearest proof you’ll ever see that the two are not the same. It fails every axis: every timeframe, every period, every TP:SL, every coin, every year. As a mechanical reversal signal, Williams %R is a reject — and a permanent reminder to look at the profit factor, never the win rate.

    FAQ

    Shouldn’t you only take %R signals with the trend?
    Adding a trend filter is a different strategy, and worth its own test — but the −20/−80 reversal is what’s taught as “the Williams %R strategy,” so that’s what we measured. A filtered version still has to beat these six gates.

    But the win rate is genuinely high — doesn’t that count for something?
    Only alongside the average win vs average loss. A 65% win rate with losers 3× the size of winners is a losing system, which is exactly what the profit factors (0.54–0.63) and the XRP row show.

    Can I replicate this?
    Yes — Williams %R(14), −20/−80 reversal, public Binance data, 0.06%/side, five coins, nine timeframes. Every table reproduces.

    See also: Stochastic, RSI 30/70, CCI, Heikin Ashi, and the conditional passes VWAP and Ichimoku (daily).


    Disclaimer: educational research, not financial advice. Past performance does not guarantee future results. Never trade money you cannot afford to lose.

  • Bollinger Band Strategy Backtest: the 60-77% Win Rate That Loses on Every Coin

    Bollinger Band Strategy Backtest: the 60-77% Win Rate That Loses on Every Coin

    Bollinger Bands are the first indicator almost everyone learns, and the pitch is irresistibly simple: price is “cheap” at the lower band and “expensive” at the upper band, and it always snaps back to the mean. So you buy the lower band, sell the upper band, and collect. It even feels right — the win rate is high, the little green wins pile up. We ran the classic band-reversion through the full 7-Gate Protocol on 2 years, 5 coins and 5 timeframes. It is a reject, and it’s a perfect case study in why win rate is the most dangerous number in trading.

    Gate 00 — Fidelity (the easy one)

    No machine learning here. A Bollinger Band is a 20-period simple moving average plus/minus two population standard deviations — identical to TradingView’s ta.bb. There is nothing to reimplement incorrectly. The interesting question isn’t whether the bands are right; it’s whether reverting to them makes money.

    The Exact Rules

    • Bands: SMA(20) ± 2× standard deviation (the universal default)
    • Entry: go long when the close is below the lower band; go short when the close is above the upper band
    • Exit: close the position when price reverts to the middle band (the SMA)
    • Execution: signal on the bar close, enter at that close; costs 0.06%/side; data Binance spot Jul 2024–Jul 2026, BTC/ETH/SOL/BNB/XRP, 5m–1D; benchmark buy & hold
    Bollinger band reversion 7-gate verdict tearsheet reject, high win rate but loses on all coins

    The win-rate trap

    Bollinger reversion five coins 4H, 61 to 77 percent win rate yet loses on all five, XRP -98 percent

    Look at the win rates: 61% to 77% across all five coins. Textbook “high probability.” And yet it loses money on all five. The worst is XRP: a 67.5% win rate and a −98% return — nearly a wipeout. This is the whole lesson of mean reversion: you win often and small (price nudges back to the mean), then lose rarely and enormously (a trend runs and never reverts). A high win rate tells you how often you win, not how much — and here the maths is upside down.

    Why it bleeds: it fights every trend

    Bollinger band reversion on BTC 4H fights every trend, shorts breaks above the band and longs drops below

    By construction, band-reversion does the exact opposite of trend-following. Every time price breaks above the upper band — the start of many real rallies — it goes short. Every time price craters below the lower band — the middle of many real crashes — it goes long, catching the falling knife. In a ranging market that’s fine. Crypto over 2024–26 was anything but ranging, and the strategy spent two years standing in front of freight trains.

    Gate 06a — Every Timeframe

    Bollinger reversion net return by timeframe, self-destructs on lower timeframes, only daily positive

    On the timeframes the “scalping” clips love, it detonates: 5-minute bars → −100% (7,600 trades, account gone), 15m → −93%, 1h → −60%, 4h → −35%. Only the daily squeaks out +18% (30 trades, one symbol) — the familiar pattern where a strategy only survives where it barely trades.

    Gate 02 — Friction

    Bollinger reversion BTC 4H negative even at zero fees, no edge

    Here’s the tell that separates this from a merely fee-sensitive strategy: on BTC 4H it is negative even with zero fees (−21%). There is no gross edge for costs to erode — the reversion premise itself is a loser in a trending asset. Fees just deepen the hole.

    Gate 05 — Parameter Robustness

    Bollinger length by standard deviation parameter sweep, only 2 of 16 positive

    Maybe a different length or band width rescues it? We swept SMA length (10–50) against band width (1.5–3.0 SD): 2 of 16 combinations positive. There is no robust setting — only a couple of lucky cells.

    Gate 04 — Out-of-Sample

    Bollinger reversion out of sample 4H mostly losses no persistent edge

    Split 18 months in / 6 months out: mostly losses, only 2 of 5 coins positive out-of-sample, profit factors flipping across the boundary. Nothing stable to carry forward.

    The Verdict: REJECT

    • Gate 0 — Indicator fidelitypass (standard SMA(20) ± 2 standard deviations, identical to TradingView’s ta.bb)
    • Gate 1 — Sanitypass (signal on the closed bar, no look-ahead)
    • Gate 2 — Frictionfail (negative even at zero fees on 4H — there is no gross edge to erode)
    • Gate 3 — Yearly consistencyfail (unstable; it only survives in ranging stretches, not trending years)
    • Gate 4 — Out-of-samplefail (2/5 positive out-of-sample)
    • Gate 5 — Robustnessfail (only 2 of 16 length × band-width cells positive)
    • Gate 6 — Multi-marketfail (loses money on all 5 coins; XRP −98% at a 67% win rate)
    • Gate 7 — vs Buy & Holdfail (a 61–77% win rate and still behind simply holding)

    “Buy the lower band, sell the upper band” has a 60–77% win rate and loses money on every coin we tested. The high win rate is exactly the trap: it hides the rare, ruinous losses that happen when a trend refuses to revert. Mean reversion is not wrong as a concept — but naked band-reversion, with no regime filter, in a trending market, is a slow-motion blow-up. XRP: 67% winners, −98% equity.

    FAQ

    Doesn’t it work with an ADX / regime filter?
    Possibly — mean reversion is meant for ranging markets, and an ADX gate to sit out trends is the standard fix. But that is a different, more complex strategy, and choosing the filter after seeing the results is curve-fitting. The point of this test is the version that’s actually taught to beginners: bands only.

    How can a 77% win rate lose money?
    Because average win << average loss. You bank many tiny reversions and occasionally hold a losing position all the way through a trend. Win rate without payoff ratio is meaningless.

    Can I replicate this?
    Yes — SMA(20) ± 2SD, public Binance data, 0.06%/side. Every number falls out of those inputs.

    See also: RSI 30/70 (the other high-win-rate mean-reversion trap), Lorentzian Classification, UT Bot, and VWAP pullback (our one conditional pass).


    Disclaimer: educational research, not financial advice. Past performance does not guarantee future results. Never trade money you cannot afford to lose.

  • RSI Strategy Backtest: I Tested the Famous 30/70 Rule on Bitcoin (It Lost 65%)

    RSI Strategy Backtest: I Tested the Famous 30/70 Rule on Bitcoin (It Lost 65%)

    Every trading YouTube channel eventually makes the same video: “Buy when RSI drops below 30, sell when it crosses 70.” It sounds logical. It looks great on cherry-picked charts. Some videos claim win rates of 80–90%.

    So I did what almost nobody does: I coded the exact rules and ran them on 2 years of real Bitcoin data — with real trading fees included.

    Spoiler: every variant lost money. One lost 65%. Here is the full breakdown, so you don’t have to pay for this lesson with your own account.

    The Exact Rules I Tested

    No vague “price action confirmation.” Rules a computer can execute:

    • Indicator: RSI(14), Wilder’s smoothing, 1-hour candles
    • Long entry: RSI crosses up through 30
    • Long exit: RSI crosses up through 70
    • Short entry (long+short variant): RSI crosses down through 70
    • Short exit: RSI crosses down through 30
    • Data: BTCUSDT, 17,500+ hourly candles (July 2024 – July 2026)
    • Fees: 0.06% per side (typical crypto futures taker fee)
    • Position size: 100% of equity per trade, starting from $10,000

    The Results

    RSI strategy backtest full tear sheet with long short trade markers bitcoin
    Variant Trades Win rate Profit factor Total return Max drawdown
    RSI 30/70 long+short 125 54.4% 0.75 −64.9% 73.1%
    RSI 30/70 long-only 62 58.1% 0.86 −27.1% 46.6%
    RSI 20/80 long+short 26 69.2% 1.05 −38.3% 73.3%
    Buy & Hold BTC +12.7%
    RSI strategy total returns after fees bar chart

    Read that table again. The strictest variant had a 69% win rate and still lost 38%. Meanwhile, doing absolutely nothing — just holding BTC — made +12.7%.

    Why a 69% Win Rate Still Loses Money

    This is the single most important lesson in this article.

    RSI mean-reversion produces many small wins and a few catastrophic losses. When you buy an oversold dip in a real downtrend, RSI doesn’t politely bounce back. It stays oversold while price keeps falling — and the strategy has no stop loss. One bad trend wipes out twenty small wins.

    RSI strategy 73 percent drawdown chart

    That’s what a 73% drawdown looks like. If you started with $10,000, at the worst point you had $2,700. Nobody keeps trading a system through that.

    The math that YouTube never shows:

    • Win rate is meaningless without payoff ratio. 69% wins × small size, 31% losses × huge size = net loss.
    • Fees compound brutally. 125 round trips × 0.12% ≈ 15% of your account gone to fees alone.
    • Buying dips fights the trend. In crypto, trends run further than RSI assumes.

    “But It Worked in That YouTube Video…”

    1. Cherry-picked windows. Any strategy looks amazing during the right 3 months. I tested a full 2-year window.
    2. No fees or slippage. Add 0.06% per side and high-frequency signals collapse.
    3. Hindsight entries. In live trading you get every RSI<30 signal, including the twenty that came before the bottom.
    RSI strategy backtest equity curve vs buy and hold bitcoin

    Same Rules, Every Timeframe: 5m to 1D

    “Maybe it just needs a lower timeframe.” I hear that every time a strategy fails. So the engine re-ran the identical rules on five timeframes — over 240,000 candles in total. Nobody gets to say I didn’t look.

    RSI strategy tested on 5m 15m 1h 4h 1d timeframes total returns
    Timeframe Trades Win rate Profit factor Total return Max drawdown
    5m 1,436 65.7% 0.99 −86.0% 88.2%
    15m 466 63.9% 1.07 −36.8% 56.1%
    1h 125 54.4% 0.75 −64.9% 73.1%
    4h 38 65.8% 0.93 −36.0% 64.0%
    1d 5 80.0% 1.13 −14.7% 66.5%

    Two things this table screams:

    • 5m is death by fees. A 65.7% win rate across 1,436 trades — and it still lost 86%. At 0.12% per round trip, the fees alone consumed more than the entire account. This is gate 02 in its purest form.
    • 1D hit an 80% win rate and still lost money. Five trades, four winners — and the single loser erased them all. Win rate tells you nothing about the size of the loss that’s coming.
    RSI strategy monthly returns heatmap by timeframe

    The monthly heatmap exposes the regime problem. In 2025 — an up-trending year — the 1h/4h/1d variants printed +22% to +39%. Then 2024 and 2026 took it all back:

    Timeframe 2024 (H2) 2025 2026 (H1)
    5m −24.9% −71.5% −34.7%
    15m −26.8% −3.5% −10.4%
    1h −64.1% +22.5% −20.2%
    4h −47.0% +38.9% −13.1%
    1d −41.4% +23.6% +17.8%

    A strategy that only works in one market regime isn’t a strategy — it’s a bet on the regime. That’s a gate 03 failure (yearly consistency), stacked on top of the gate 02 failure.

    Does a fixed take-profit save it? (TP : SL sweep)

    Maybe the RSI-70 exit is the problem. We replaced it with a fixed stop (2×ATR) and a fixed target, and swept the reward-to-risk from 1:0.5 to 1:3 on BTC 1H.

    TP : SL Trades Win rate Profit factor Net return
    1 : 0.5 254 64.6% 0.60 −48%
    1 : 1 218 42.7% 0.60 −60%
    1 : 1.5 210 34.3% 0.69 −56%
    1 : 2 203 27.6% 0.71 −56%
    1 : 2.5 197 23.4% 0.72 −56%
    1 : 3 190 20.5% 0.73 −56%

    It changes nothing. Every ratio loses 48–60% with a profit factor stuck between 0.60 and 0.73. A tight target lifts the win rate to 65%, but the losers are twice the size; a wide target trims the win rate to 20%. There is no exit that rescues a losing entry — the oversold bounce simply is not there to harvest.

    Does This Mean RSI Is Useless?

    No — it means RSI as a standalone entry signal is useless on crypto. Tools like RSI or VWAP only stop bleeding money when they’re subordinated to a trend filter with a hard stop loss — and even then they rarely beat a simple trend-following system. (Read the full VWAP backtest here — it made it much further through the gates.)

    The general rule: mean reversion without a stop loss is how accounts die slowly, then suddenly.

    The 7-Gate Scorecard

    • Gate 0 — Indicator fidelitypass (standard Wilder RSI(14))
    • Gate 1 — Sanitypass (signal on the closed bar, no look-ahead)
    • Gate 2 — Frictionfail (5-minute loses 86% on fees alone; negative on every timeframe)
    • Gate 3 — Yearly consistencyfail (positive only during 2025’s bull; loses in every other stretch)
    • Gate 4 — Out-of-samplefail (2 of 5 coins positive out-of-sample)
    • Gate 5 — Robustnessfail (every take-profit ratio from 1:0.5 to 1:3 loses)
    • Gate 6 — Multi-marketfail (0 of 5 coins profitable on 4H; XRP −977% at an 83% win rate)
    • Gate 7 — vs Buy & Holdfail (long+short −65%, long-only −27% vs BTC +12.7%)

    How I Validate Any Strategy (The 7-Gate Checklist)

    1. Code sanity — no lookahead bias, no repainting
    2. Friction — realistic fees and slippage included
    3. Yearly breakdown — profits every year, or one lucky year?
    4. Out-of-sample — does it survive data it wasn’t tuned on?
    5. Robustness — small parameter changes shouldn’t destroy it
    6. Multi-market — one coin’s fluke, or a general edge?
    7. Beats Buy & Hold — otherwise, why bother?

    The RSI 30/70 strategy fails gate 2 and never recovers. Most YouTube strategies die at the same gate.

    FAQ

    What RSI settings did you use?
    RSI(14), Wilder’s smoothing, 1H candles — the default in TradingView.

    Would a stop loss fix it?
    It reduces catastrophic losses but doesn’t create an edge. The entry itself is the problem.

    What data and code did you use?
    Public Binance OHLCV data and a Python backtester. The rules above are complete — you can replicate every number.


    Disclaimer: This is educational research, not financial advice. Past performance does not guarantee future results. Never trade money you cannot afford to lose.