The promise I made
In the stress-test post I said the one thing I hadn't tested was the recovery: what happens when Bitcoin climbs back above its 200-day average and the strategy has to get back in. I promised to write up whatever happened, good or bad.
It's bad. Here's the full write-up.
Six and a half months after launching v2 on a ~$101K paper account, the strategy is down 11.4%. Holding the same six coins at the same target weights would be up 0.8%. Holding just Bitcoin would be up 3.3%. That's a 12-point gap, in a market that went nowhere.
What the gate actually did
First, the part that worked. The macro gate's job is to keep the book in cash while Bitcoin is below its 200-day average. It did exactly that.
By early June every position had been stopped out and the book sat at $94,121 in cash. Over the next eleven weeks Bitcoin fell from the low $70Ks to about $58,500 at the start of July. The strategy didn't touch it. No knife-catching, no "buy the dip" heroics. Eighty-eight days of doing nothing, which is the discipline I wrote about in June.
On August 20 Bitcoin closed at $71,582, back above its 200-day average of $68,972. The gate opened.
What the wait cost
Then the strategy didn't buy anything for ten days.
A separate rule had put the book in a 30-day "risk-off" mode on July 31, and that timer didn't expire until August 30. The gate said go. The timer said wait. The timer won. By the time the first order went in, Bitcoin was at $78,950, about 10% above where the gate had opened.
That's one cost. The bigger one is what the round trip looked like for every position:
Sold in May/June (stops)
BTC $73,323 · ETH $1,874 · SOL $81.79 · LINK $9.00 · AVAX $8.28
Bought back in Aug/Sep
BTC ~$79,000 · ETH $2,509 · SOL $106.24 · LINK $11.70 · AVAX $11.25
Every position was bought back higher than it was sold: 8% higher for Bitcoin and around 30% higher for the rest. Sitting out the bottom was great. Paying a 30% premium to get back in wiped out most of what that saved.
And then it happened again
After re-entering, the book spent September and early October slowly rebuilding toward its target weights. Then on October 8 four trailing stops fired in one day (LINK, ETH, AVAX, DOGE), which flipped the book back into risk-off. SOL stopped out on October 14. Bitcoin stopped out this morning at $77,378.
As of today the strategy is 100% cash again, at $89,386, even though Bitcoin is still above its 200-day average. The gate is open. The book is in cash anyway.
The verdict on the gate
The gate is not why I lost money. Over this cycle it did what it's built to do: it kept me out of a 20%+ drawdown in Bitcoin and opened at a reasonable price.
The losses came from everything bolted on around the gate:
- A re-entry rule that only buys once a coin is 12% above where I last sold it. That rule is built to buy back higher than it sold. It does that every time.
- A stale risk-off timer that overrode an open gate for ten days during the sharpest part of the recovery.
- Rotation buys into coins that were one bad afternoon away from hitting their own stops.
The live max drawdown is now -17.6% from the May peak. The backtest said about -13%. Real markets found a path the backtest didn't.
I keep relearning the same lesson. The one rule I can explain in a sentence is working. The six rules I added to be clever are where the money went.
One honest footnote on the gate itself. It opened with Bitcoin at $69K, already about 18% above the July low near $58.5K, so the 200-day line gives up the first leg of every recovery by design. Over this exact window, holding the basket from late June would have made +35%. Nothing that waits for a trend signal catches that, and that's the price of skipping the crash before it.
What changes
I replayed this exact window, late June to today, starting from the real account's state: $94,121 in cash, gate closed. The replay of my current rules came out at -3.1%, close to the live account's -5.0%. Then I switched on each proposed fix one at a time.
Current rules (replayed)
-3.1% return, -9.5% max drawdown, 60 trades.
With three fixes
+9.5% return, -9.9% max drawdown, 39 trades. Same gate, same stops, about 12.6 points better.
The three fixes that earned their place:
- An opening gate clears the risk-off timer. This alone was worth almost 7 points.
- Re-entry is anchored to the low since I sold, not to the sale price.
- No buying into a coin that's about to hit its own stop.
Three other ideas I was confident about didn't help at all. I write about those in the post on stop-losses, and about why the two biggest fixes were really rule conflicts in the post on agents that follow every rule.
The gate stays exactly as it is. The other changes go into the live agent before the current risk-off timer expires on November 7. One caveat: this is a single 125-day window, so I'll also run the fixes through the full-year bear-market data before trusting them through the next crash.
The live numbers are on the dashboard. This one stings, but I said I'd publish it either way.
Comments
Leave a comment
My AI Agent Followed Every Rule Perfectly. That Was the Problem.
516 runs. 188 trades, each with a written justification, and not one rule broken. And a strategy that kept fighting itself. What six months of an autonomous trading agent taught me about rules versus intent.
I Blamed My Stop-Losses. The Backtest Blamed My Buy-Backs.
Fourteen trailing stops in six months, every round trip a loss, and I was sure the stops were the problem. Then I tested it. My favorite fix made things worse, and the real leak was the rule that bought me back in.
Opus 4.8 Stress-Tested My Crypto Strategy. Then It Made Me Admit I Was Wrong.
Two months ago I published a backtest claiming my crypto strategy returned +35%. This week I sat down with Opus 4.8 to pressure-test that claim — and the honest answer was more humbling, more robust, and a better story than the one I'd told.