Two weeks ago, I watched BTC kiss eighty thousand four times in a row.
Then it broke. Daily-confirmed close above the level. Clean retest the next session. The kind of chart your eye reads as a trade before your brain even gets there.
I caught myself nodding at the screen. That's the pattern, right? Wait for the level. Wait for the daily-confirmed break. Get in. Trail a stop. Get out before the reversal. Every retail trading book teaches this. Every YouTube video shows it. Every prop-firm playbook starts here. It's the most obvious profitable pattern in the market.
So I built it. And tested it. And then tested it harder.
The result is one of the cleanest falsifications BearBullRadar has logged: ninety walk-forward windows across two assets and three timeframes, and the strategy beat doing-nothing in exactly zero of them.
But — and this is the part I didn't expect — the signal itself was real. That's the bit nobody talks about.
Here's the full story.
What I built
The strategy is the thing every retail chart teaches:
- Look back ninety days. Find the highest close. That's the resistance level.
- If today's close breaks resistance by more than 1%, go long.
- Exit when the close drops below a 20-bar moving average, or 5% from entry — whichever comes first.
- Wait seven days before considering another entry, so you don't churn the same level.
- No leverage in the base variant. (I tested 2× and 3× separately, more on those at the end.)
That's it. No fancy filters. No volume confirmation. No Bollinger Bands stacked on top. The hypothesis was simple: the most obvious-looking pattern, traded mechanically, should at least keep up with buy-and-hold.
Test 1 — daily bars on BTC, eleven and a half years
The first test ran on daily BTC closes from September 2014 to May 2026. Eleven and a half years. The numbers came out interesting in two opposite ways at once.
The good: 42 trades. 67% win rate. Average win 3.07× the average loss. Biggest winner +96.6%. Biggest loser -11.5%. By any per-trade measure, this is a genuinely solid performer.
The bad: the strategy returned +2,786% over the period. Buy-and-hold returned +17,595%.
So the bot makes money. It just makes much less than parking the same capital and going to sleep for eleven years.
That's where most retail backtests stop, and most articles tell you to abandon the strategy. But there's a sharper question hiding underneath.
Did the strategy actually find signal — or did it just get lucky?
For BearBullRadar's seventh test, I run a thousand random-entry simulations matched on trade-frequency and holding-period. If the real strategy's risk-adjusted return doesn't beat the 95th percentile of those random twins, we treat the "edge" as luck dressed up.
The breakout strategy's Sharpe ratio on daily BTC was 1.106. The 95th percentile of random was 0.835. Real strategy ranked at the 99th percentile.
The signal is real.
That's an important sentence to sit with. The pattern that every chart-watcher's eye spots — daily-confirmed break of a multi-month high — carries genuine information. It picks entries that are statistically distinguishable from random by a wide margin. It is not a coin-flip dressed up as a strategy.
It just can't outrun BTC's secular trend, because the SMA(20) exit hands every parabolic move back to whoever was holding through it.
The hypothesis I almost didn't test
"What about smaller timeframes?"
That was my own question, the next morning. The intuition is reasonable: maybe daily bars are too coarse. Maybe a 4-hour or 1-hour resolution catches more breakouts before the SMA(20) exit eats the trend. Maybe higher trade frequency means more compounding chances, and a smaller per-trade hold means less bull-run give-back.
It's the obvious next step. So I tested it.
Six cells: BTC and XRP, each on daily, 4-hour, and 1-hour resolution. Ninety total walk-forward windows when you sum across the cells. I added XRP because it has news-driven, less-correlated regimes than another big-cap alt — a sharper generalization probe.
Here are the receipts:
| Asset | Bars | Trades | Win% | W/L | Beats HODL or SPY | Signal real? |
|---|---|---|---|---|---|---|
| BTC | daily | 24 | 58% | 2.4 | 0% | No (rank p76) |
| BTC | 4h | 39 | 49% | 1.8 | 0% | No (rank p70) |
| BTC | 1h | 40 | 58% | 1.8 | 0% | Yes (rank p97) |
| XRP | daily | 11 | 27% | 10.3 | 0% | No (rank p85) |
| XRP | 4h | 13 | 38% | 7.3 | 0% | Yes (rank p95) |
| XRP | 1h | 15 | 47% | 3.2 | 0% | No (rank p90) |
A note on the BTC-daily row in this multi-timeframe run: the Bybit-perp data only goes back six years (vs. the eleven and a half years in the first test, which used spot data). Different sample, different baseline. That's why the same daily strategy ranked p99 in test one and p76 here. The takeaway holds either way: across both samples, daily is one of the cells that doesn't clear the random-baseline cut as cleanly as you'd hope.
Read that "Beats HODL or SPY" column carefully. Across six cells and roughly ninety walk-forward windows, the strategy beat the better of (HODL, SPY) in zero of them. Not one window. Not on BTC. Not on XRP. Not on any timeframe.
Two cells passed the random-baseline test — BTC-1h at p97, XRP-4h at p95. But "the signal is real" and "the signal beats doing nothing" are different sentences. The framework doesn't promote a strategy on the first sentence alone.
What I learned anyway
1. The pattern's information is real, but the deployment is wrong. Across multiple resolutions, the breakout strategy clearly picks entries better than random. That's a non-trivial result. The framework just shows that the SMA(20) exit gives back too much trend to make up the lost time-in-market. A different exit rule — one that lets bull-runs run — might do better. That's a follow-up test, not a rescued strategy.
(Quick aside: there's a sister strategy on the BearBullRadar live roster called Watchdog. Same conceptual family — BTC trend-following — but with a much slower trigger: SMA(100) cross instead of 90-day breakout, and a 100-bar exit instead of 20. Watchdog passed Tier 1 last week through an alternative anchor. Same family of edge. Slower. Less elegant on a chart. Actually beats benchmarks.)
2. Smaller timeframes don't fix regime-level losses. When a strategy is losing because it sits in cash through parabolic moves, faster bars don't change that math — they just churn the same losing posture more frequently. Fee drag balloons (BTC-4h paid 12% of return in taker fees, BTC-1h paid 10%), Sharpe drifts sideways, and the benchmark stays out of reach. Faster bars don't fix a strategy that's losing on regime, not on resolution.
3. XRP's profile is alt-coin classic. Across all three resolutions, XRP wins rarely (27-47% win rate) but wins enormously (W/L ratio 7-10:1 on slower bars). +177% gross on XRP-4h sounds attractive until you remember XRP HODL did better. Alts give you violent moves and lots of false starts — a brutal combination for a binary breakout strategy. The intuition that "smaller-cap = breakout-friendly" doesn't survive contact with the data either.
4. "Tier 3" doesn't mean "worthless." Variant A scores 5/16 on the BearBullRadar scoring rubric. That puts it in Tier 3 — which on this site means "paper-tracked, not real-money, methodologically interesting." The decision rule is explicit: hard-floor T1 failure means no real-money allocation, regardless of how clean the per-trade math looks. The framework caught the strategy honestly. The strategy doesn't get to argue with the framework.
What about leverage?
The first daily test also ran 2× and 3× variants. Both used the same signals as the 1× version — leverage just multiplies the position size. So:
- 1× (Variant A): +2,786% return, -42% max drawdown, score 5/16, Tier 3
- 2× (Variant B): +30,453% return, -75% max drawdown, score 9/16, Tier 2 cap
- 3× (Variant C): +107,729% return, -89% max drawdown, score 9/16, Tier 2 cap
The score lifts from 5 to 9 because leverage scales the positive Sharpe (the per-trade math is good), but the T1 hard-floor against benchmarks doesn't move — and a -89% drawdown on the 3× variant means anybody using actual leverage would have been liquidated multiple times during the historical path, even though the back-tested return looks otherworldly.
Leverage doesn't fix this strategy either. It just makes the failure modes louder.
Two methodology side-findings
While running this test I hit two callouts worth flagging:
Cluster-Removal passed for a mechanical reason. Test 6 in our suite removes a strategy's three best months and asks: how much of the headline return collapses? On all three timeframes, this strategy's shrinkage was 0% — it passed. But that's because the strategy uses a 7-day cooldown between trades, which structurally prevents trade-clusters from forming inside any 7-day window in the first place. The PASS was real but uninformative. I'm adding a methodology footnote: when a strategy's cooldown is at least as long as the cluster-window definition, T6 must be redefined or skipped. The next bot to use a long cooldown won't get the free pass.
The parameter-sensitivity FRAGILE flag is technically correct but qualitatively misleading. Tests 3 and 4 measure how much performance changes when you nudge parameters. This strategy got flagged as "FRAGILE" — a spike-ratio of 1.97× between best and worst configs. But the underlying gradient was monotonic: shorter lookback and smaller buffer linearly produced more trades and more return. There's no knife-edge to fall off; the flag's just measuring "deployed parameters didn't catch the fattest config." That's a real critique, but not the brittle-overfit story the FRAGILE label implies. A future framework version may distinguish "fragile-monotonic" from "fragile-spike."
These aren't show-stoppers. They're the kind of details you only notice when your own bot comes back with a verdict you weren't expecting.
Why I publish this anyway
This is the fifth bot I've put through BearBullRadar's full validation suite in the last seven days. Four of the others were structural-edge plays: a basis-arbitrage bot, a delta-neutral funding-carry bot, a DeFi yield-curation bot, and a slower trend-follower. Three of those passed Tier 1.
The Resistance Breakout strategy tested here is in a different bucket: a signal-driven strategy betting on chart patterns rather than structural mispricings. It's the fifth signal-driven candidate I've tested this week. None of them cleared Tier 2.
That's the brand-narrative emerging from the last seven days: when you actually subject the most-obvious crypto strategies to walk-forward, cluster-removal, and random-baseline tests, the structural edges (carry, basis, audit) survive and the signal edges (momentum, breakout, rotation) don't. The market your eye sees isn't the market that pays.
If anything, the failure of an obvious-looking pattern under formal testing is the more useful publication. There are a thousand articles about strategies that work. There are far fewer that walk through why the obvious one didn't, with the receipts.
What's next
The Resistance Breakout strategy is paper-tracked at Tier 3. No real money. No leverage. No promotion if it suddenly looks good for two months — the framework's rule is six months of forward proof for any Tier-3-to-Tier-2 move.
What it does earn: a permanent honest entry on the bots page. Same surface treatment as the Tier 1 bots, just labeled correctly. If you came to BearBullRadar looking for "best crypto strategies 2026," this bot is on the list, with its 5/16 score visible from the first scroll.
That's how the framework is supposed to work.
Update — 2026-05-06: I tested four different exits. Same answer.
After this article went up, a reader pushed back: "Your test is too HODL-biased. The SMA(20) exit kicks me out at every parabolic move. Test a slower exit and you'll get a different answer." Fair challenge.
I ran four exit variants on the same 11.6 years of BTC daily data — same entries, only the exit changed:
- E0 (baseline): SMA(20) + -5% stop
- E1: trailing 30-day-high × 0.90 + -10% stop (the "let it run until a real reversal" idea)
- E2: SMA(50) + -10% stop (slower MA, wider stop)
- E3: trailing -15% drawdown only (most aggressive let-it-run)
E2 was the strongest variant by every per-trade measure: +9,286% total return, max drawdown only -42.9%, W/L ratio 11.48. E1 and E3 actually failed the random-baseline test — random entries beat them, which means the MA filter was contributing real signal information beyond just exit timing. (Worth knowing for any future strategy that uses a moving-average exit: the MA might be carrying entry signal that you'd lose by switching to a pure trailing stop.)
The punchline. Walk-forward beat-rate vs HODL was identical 32.5% across all four variants. Not approximately — exactly. The five-percentage-point delta in beat-rate vs better-of-(HODL, SPY) is noise. The 37.5pp gap to a passing T1 score is structure.
Translation: the windows where the strategy beats HODL are the same windows regardless of exit rule — bear-onsets where holding cash beats holding through -83%. No exit rule rescues those windows. No exit rule wins new ones.
The deeper finding the original article missed: the bottleneck isn't the exit. It's the entry. When the daily close finally tags the 90-day high × 1.01, BTC has already done 50-80% of the up-leg. The strategy enters structurally late. The 60% bull-run give-back is the entry, not the exit, paying out.
Methodology footnote (candidate Lesson #27): when walk-forward beat-rates are locked across multiple parameter variants — same value to the percentage point — the entry signal is the bottleneck, not the parameters. When beat-rates vary widely across variants, parameter tuning can help. This particular pattern (32.5% locked across four exits) is the cleanest "the signal itself is the limit" diagnostic I've run on a BBR strategy.
The strategy stays Tier 3 by structural fact, not parameter choice. No follow-up tuning is going to lift it. The next research question — could the entry be timed better? — is its own investigation, and the early answer is "earlier ≠ better, more-selective might be, fewer-trades-equals-fewer-statistical-bullets is the constraint."
Final Note — same evening: I tested four entry filters too.
The natural next question after the exit-replacement test was whether the entry could be timed better — same 90-day resistance trigger, but with a conditional filter on top. I tested four filter variants on top of the strongest exit (E2, SMA-50 + -10% stop):
- F1: volume on the breakout day ≥ 2× the 20-day average
- F2: pre-breakout volatility compression (HV30 / HV90 < 0.6)
- F3: 200-day SMA rising AND price > 50-day SMA at breakout (regime filter)
- F4: F1 + F3 composite (volume + regime, both filters at once)
Every filter made the strategy worse. The walk-forward beat-rate vs HODL fell from 32.5% (unfiltered baseline) to 25-30% across all four variants. The T7 random-baseline rank collapsed from p98.1 (passing) to p86-95 (all failing). F3 — the regime filter I'd a-priori expected to help most — produced the worst HODL-beat-rate at 25.0%.
The reason F3 hurts is the instructive part. The few windows where this strategy beats HODL are bear-onsets (2018, 2022) where holding cash beats holding through a -83% drawdown. The trend-resumption filter, by definition, prevents the strategy from trading in those bear-onset regimes. So the filter eliminates the strategy's winning windows, not its losing ones. Filtering for "healthy uptrends" doesn't make the bot trade only good trends — it makes the bot stay long during drawdowns and skip the bear-onsets that were carrying half the relative performance.
That's the second smoking gun, joining Pfad C's locked-32.5%-across-exits: two orthogonal rescue attempts — one on the exit side, one on the entry side, against four different filter classes — both confirm the same diagnosis. The 90-day resistance signal has no rescue path at its own daily resolution.
The strengthened methodology lesson (Lesson #27): when parameter-variants on either side of a strategy are locked-or-worse on beat-rate, the signal class itself is the structural limit. You can stop digging.
Tier 3 verdict closed. The strategy gets no further tuning. If a future bot in the same family ever earns a tier higher than 3, it'll be a different signal class — not a better-tuned breakout.
If you'd like the next falsification to land in your inbox the day it gets logged, the Bot-Letter is at the bottom of every page. One issue per week, no affiliate links, occasional bot demoted in public.
— Dominic



