Picture two surfers in the water.
The first one paddles out, sees a small wave, and tries to ride it. Then the second wave comes — also small. He rides that too. Then a third. He's having fun, harvesting whatever the ocean throws at him. Then the horizon darkens. A real wave is forming — twenty meters tall, coming fast. The first surfer panics, paddles half-heartedly, gets caught under it, and tumbles for thirty seconds in the wash. He surfaces dazed. The wave is gone. He's back to riding small chop.
The second surfer is sitting calmly on her board, scanning the horizon. She also rides the small chop. But the moment that twenty-meter wave forms, she stops trying to surf it. She paddles up onto the beach and watches the giant pass. Then she walks back into the water and resumes harvesting the small ones.
Same ocean. Same surfboards. The only difference: the second surfer looks at the horizon. Over six months, she catches more total rides AND has fewer wipeouts.
The standard Bybit Spot Grid bot is the first surfer. The Surfer 🏄 — the bot we're introducing in this piece — is the second one. Same grid mechanics, same trading logic, with one extra rule: check the horizon before you paddle.
Here's what that one rule did to the math.
In our first Bot Reviews piece, I ran 1'961 separate tests on Bybit's standard Spot Grid Trading bot and reached an honest verdict: Skip it. In bull-dominated markets, it loses to just-holding-BTC by a wide structural margin.
But the analysis surfaced something interesting. The pure bot wasn't randomly bad — it was bad in a very specific, predictable way. So I built my own version, added one simple regime filter, and re-ran the tests.
The result: a measurable, statistically robust improvement that beats just-holding-BTC by about 1% per month — with lower drawdown, not higher.
I'm calling this bot The Surfer 🏄. Here's why, what it does, and what we found.
The whole story in one sentence: A standard grid bot bleeds money in bull rallies; if you switch it off during confirmed bull rallies (using a simple 20-day vs 100-day moving average rule) and let it run in chop and bear, the bot beats just-holding-BTC by about 1% per month with smaller worst-case drops than just holding.
Why "The Surfer"
In the original article we used a metaphor: the standard grid bot is the tortoise that occasionally gets hit by a truck. It earns small wins most months, then loses huge in rare bad months when BTC blows past its price range.
The Surfer is the tortoise that learned to look up.
It surfs the small chop waves like the original — buy low, sell high, harvest the wiggles. But when it sees a tsunami coming (a confirmed bull rally), it paddles out of the water and just holds BTC for the ride. When the tsunami passes and the water gets choppy again, it paddles back in.
That's it. One filter rule. The mechanics of the underlying grid bot don't change.
The Filter (Plain Language)
Here's the entire rule:
If the 20-day average BTC price is more than 2% above the 100-day average → just hold BTC.
Otherwise → run the grid bot.
That's the whole thing.
In a confirmed uptrend, the 20-day average climbs faster than the 100-day average. When the gap exceeds 2%, the market is in a sustained bull run — and that's the only environment where the standard grid bot consistently loses.
In sideways markets and bear markets, the 20-day average stays close to or below the 100-day average. That's when the grid bot harvests well, so we let it run.
The whole filter, in plain words: "If the recent average has pulled clearly above the longer average, we're in a bull run — just hold BTC. Otherwise, the market is choppy or falling — let the grid harvest it." That's it. No black box, no AI, no signal subscription.
The Surfer checks this rule each day at the open. When it switches modes, it rebalances at the new bar's open price (paying the standard 0.1% trading fee).
This isn't a new idea — we've been using a similar cycle filter on our own DM+LD live bot for months. We just applied the same logic, inverted, to Bybit's grid.
What We Tested
Same simulator we used in the first article. Same realistic assumptions:
- Bybit's documented 0.1% trading fee per side
- Initial-buy capital cap matching real Bybit behavior
- Stops trading on range break (no auto-reposition)
- Mode-switch fees fully accounted for
What's new this time:
- Continuous-equity simulation: instead of averaging 969 isolated 30-day windows, we ran one single equity curve from July 2023 through April 2026 — closer to how a real user would deploy The Surfer.
- Out-of-sample (OOS) validation: split the data 60/40, found the best parameters on the first 60%, then validated them on the last 40% (which the parameter search had never seen).
- Cross-asset validation on ETH: 4.8 years of Ethereum data including the brutal 2022 bear market.
Result 1: The Surfer on BTC (2.7 years)
Three numbers tell the story:
| Strategy | Final Return | Yearly Average | Worst Drop |
|---|---|---|---|
| Just holding BTC | +158.68% | +41.5% | −49.5% |
| Standard Bybit grid bot | +132.87% | +36.2% | n/a |
| The Surfer (best config) | +228.48% | +54.4% | −33.3% |
If you'd put $10'000 into each on July 25, 2023:
- Just holding BTC → $25'870 today, with a temporary drop to $13'070 along the way
- Standard grid bot → $23'290 today (worse than just holding)
- The Surfer → $32'850 today, with a temporary drop to only $6'670
Higher return AND smaller worst-case drop than just holding BTC.
What this means in dollars: Same starting capital, same time period, same market. The Surfer ends up with about 27% more money than just-holding — and during the worst stretch, the temporary loss on your screen would have been less than half as ugly. That's the whole pitch.
The Surfer made 7 mode switches over the 2.7-year period — about 2.5 per year. That's a realistic, low-frequency rebalance, not a trigger-happy whipsaw machine.
Result 2: Per-Month Honesty Check
The cumulative number above can be misleading on its own — it depends on a specific compounding sequence. So we also checked: in the typical 30-day window, how does The Surfer compare to just holding?
We ran 869 separate 30-day tests across the dataset:
| Pure Grid Bot | The Surfer | Just Holding BTC | |
|---|---|---|---|
| Average month return | +3.09% | +4.40% | +3.26% |
| Typical month: bot wins vs holding | 66% | 60% | n/a |
| Worst month vs holding | −34% worse | −16% worse | 0% |
| Spread between best and worst months | 6.1% | 4.6% (smaller) | — |
Per-month average: The Surfer is +1.14% ahead of just holding. That's the cleanest, most-conservative way to state the alpha — not subject to compounding tricks.
In dollars: if you put $10'000 into The Surfer for a typical month, you end with about $114 more than someone who just held BTC for the same month.
Remember: The win isn't from finding more small waves — both surfers find the same chop. The win is from not wiping out. Look at the worst-month row: pure grid wipes out −34%. The Surfer wipes out −16%. Half the wipeout = better average over time.
Is +1.14% per Month "A Lot"? (Yes — Here's the Reference)
We get asked this often: how do these numbers compare to known benchmarks?
| Reference point | Typical excess return per month |
|---|---|
| The Surfer (this work) | +1.14% |
| Active hedge funds (industry target) | +0.5 to +1.0% |
| S&P 500 long-term excess over inflation | +0.5 to +0.8% |
| Our DM+LD bot (live, real money) | +0.6 to +1.0% in-sample |
| Most commercial trading bots | 0% to slightly negative |
+1.14% per month is on the high end of what systematic, rules-based strategies achieve. Especially with lower drawdown than the benchmark — that's rare. Usually you trade higher return for higher risk; The Surfer does the opposite.
The unusual part: In finance, you almost always pay for higher returns with higher risk. The Surfer has both higher returns AND lower risk than the benchmark. That's not free lunch — it's because the standard grid bot was leaving money on the table in a very specific, predictable way, and the filter just stops doing the dumb thing.
Result 3: Out-of-Sample Validation (the strict test)
A backtest can always look great on the period you tuned it on. The honest question is: does it still work on data the parameter search never saw?
We split the BTC dataset 60/40:
- In-sample: July 2023 to March 2025 (599 days, dominated by ETF rally)
- Out-of-sample: March 2025 to April 2026 (400 days, ended in a sharp correction)
Process: find the 5 best Surfer configurations on the in-sample period, then run those exact same configurations on the out-of-sample period — no peeking, no re-tuning.
Out-of-sample result for the top config:
| Final Return | vs Just Holding | |
|---|---|---|
| Just holding BTC | −10.34% | 0% |
| Standard Bybit grid bot | −3.05% | +7.29% |
| The Surfer (top IS config) | +4.57% | +14.91% |
All 5 in-sample top configs produced positive out-of-sample alpha. The strategy didn't break in the unseen data. That's the strongest validation we can run on a single dataset.
Remember: The OOS period happened to be net-bearish (BTC down 10%). That's exactly the environment where The Surfer is supposed to outperform — surfer paddled to shore in the bull run before, then came back into chop water once the rally ended. The data confirms the surfer caught it right.
Result 4: Cross-Asset Validation on Ethereum (4.8 years)
The biggest concern with any backtest finding: maybe it just works on one asset by luck. Does it transfer?
We re-ran everything on ETHUSDT from July 2021 to April 2026 — 4.8 years that include the full 2022 bear market (ETH dropped from $4'957 to $881, a −82% crash).
ETH was net-flat over the period: $2'197 → $2'350. Lots of swings, no overall direction. Classic chop-friendly territory for grid bots.
| Strategy | Final Return on ETH | Worst Drop |
|---|---|---|
| Just holding ETH | +6.89% | −79.3% |
| Standard grid bot (no filter) | +55.39% | n/a |
| The Surfer (best config) | +83.73% | −67.2% |
A few things stand out:
-
The standard grid bot already worked well on ETH (+48% better than just holding). Why? Because ETH was choppy, which is the bot's home turf. Our original "skip the standard grid" verdict was specifically about bull-dominated markets like BTC 2023-2026. On chop-dominated markets, the standard bot is fine.
-
The Surfer still added more on top. Pure grid: +48% excess. The Surfer: +77% excess. Mostly from a tweak we didn't emphasize enough yet — see "the second discovery" below.
-
Lower drawdown again (−67% vs −79% for holding). The structural cash cushion held up through the 2022 bear.
Out-of-sample on ETH (the unseen last 700 days, which were a sharp ETH correction): The Surfer +16.58% vs just holding −23.55% = +40% excess. The filter didn't break in the bear.
The Second Discovery: Asymmetric Capital
While testing The Surfer, we noticed something that has nothing to do with the cycle filter itself.
The standard grid bot splits your money roughly 50% BTC / 50% USDT when it sets up. We tried other splits:
| Money split when in grid mode | BTC final return | Worst drop |
|---|---|---|
| 100% BTC / 0% USDT (= just holding) | +158.68% | −49.5% |
| 80% BTC / 20% USDT | +178.28% | −44.5% |
| 70% BTC / 30% USDT | +188.20% | −42.3% |
| 60% BTC / 40% USDT | +198.18% | −40.1% |
| 50% BTC / 50% USDT (Bybit's default) | +208.22% | −37.8% |
| 30% BTC / 70% USDT | +228.48% | −33.3% |
Less BTC, more cash → higher return AND lower drawdown. Counter-intuitive but consistent.
The mechanism: in grid mode, more cash means more buying power for dips, which means more fills, which means more harvested wiggles. The bot doesn't NEED BTC inventory to make money in grid mode — most of its earning happens on the buy-then-sell side, not by holding BTC.
In bull-mode (when The Surfer switches to "just hold"), the BTC ratio doesn't matter — we hold whatever we have.
This single change is responsible for a big chunk of the alpha on ETH and a meaningful chunk on BTC.
Remember: The surfer's secret isn't fancier surfboards. It's using less wax when the water is choppy. Counter-intuitive but the data is unambiguous: in grid mode, more cash = more buying power = more harvested waves.
The Honest Limitations
Real talk on what we don't know yet:
- Two assets, six years of data total. That's better than most affiliate-blog reviews, but it's still a finite sample. We'd want to see this work across 10+ assets and a full crypto cycle (2017→2024) before claiming bulletproof.
- Extreme bear markets. Our worst test was the 2022 ETH crash (−82%). A 2018-style 18-month-long grind-down hasn't been tested. If the cycle filter false-fires repeatedly during a slow bleed, the rebalancing fees could hurt.
- Implementation friction. Real Bybit users can't run The Surfer natively — Bybit doesn't offer "switch off grid based on a moving-average rule." This requires custom code (which we have) or manual monitoring. Most retail users won't actually get this alpha because they won't implement it.
- The "no future leak" claim depends on doing the moving averages right. We use moving averages computed only on data up to the previous day. We're confident, but a third-party code review is on the to-do list.
What We're Going to Do Next
- Track The Surfer live as a Bot Lab experiment with virtual $10'000 starting capital. Updates weekly. You can watch it on our Bot Lab page — it'll live next to the other 23 experiments we run.
- Run it on more assets (SOL, ADA, mid-caps) to test universality.
- Try alternative filters (200-day MA, Bollinger Band squeeze, on-chain regime detection).
- After 3 months of clean live-tracked equity curve, we'll consider a small real-money pilot. That's our standard hybrid methodology — simulation alpha is necessary but not sufficient evidence to deploy real capital.
This is what we mean by "Hybrid methodology." We don't deposit real money on day one and risk losing it. We don't refuse to test in reality either. We simulate first, validate live for a quarter on small virtual capital, then maybe go small with real money if the live curve matches the simulated one.
Honest Disclosure
Affiliate relationship: Still none. As of this article's publication, BearBullRadar has zero affiliate relationship with Bybit. We don't earn anything if you sign up. We may add disclosed affiliate links later for products we positively review; we will never add them to skip-verdict products.
Real-money exposure: None on The Surfer — yet. A small real-money pilot is possible in three months if the live-tracked equity curve confirms the simulation. Our other live bots are tracked openly on the bots page.
Code: The complete simulator (/bot-sims/bots/surfer.py), the rolling-window analysis, the OOS split, and the ETH validation scripts are kept in our internal /bot-sims/ framework. We'll publish a public mini-repo once the Bot-Reviews series has shipped 5+ articles.
Related reading:
- Bybit Spot Grid Trading: We Built It in Python — the original test that exposed the structural problem
- Why Any Trading Strategy Must Beat HODL — the benchmark every bot review uses
- Live ≠ Backtest — why we never deploy real money on simulation alone
Coming next in the Bot Reviews series:
- Bitget Copy Trading: We simulated copying the top 20 lead traders. Here's the real return after survivorship bias.
- The 1% Telegram bot fee is a lie: real take-rate of BananaGun, Photon, Trojan compared.
- Bybit Futures Grid Neutral: Monte Carlo on the liquidation probability nobody publishes.
Subscribe to the Bot-Letter to get each review the day it lands.




