Skip to main content

Same system, three different traders

Published: May 26, 20264 min read
#algo-trading#crypto#build-in-public#risk-management#paper-trading#trader-7
Three-period performance comparison: Pre-Sprint 120 at 41.2% win rate +$964, Sprint 120-136 at 24.4% win rate -$217, Post-Sprint 136 at 47.6% win rate +$321.

Forty-one trades into a rule change I hadn't tested, the LONG side of my trading system had a 14.3% win rate. It lost $456 in five weeks.

The same system, running the same LLMs, reading the same market data, had just finished a 114-trade stretch at 41.2% win rate and $964 in profit.

Same code. Same infrastructure. Same coins. The only difference: one removed rule.

Three traders, one codebase

I've been running Trader-7 (a paper-trading system that uses Claude and DeepSeek to generate and validate crypto trades) for six months. The data now splits cleanly into three periods, and each one behaves like a completely different trader.

Period 1: The disciplined one (114 trades, pre-Sprint 120)

  • 41.2% win rate
  • +$964 profit
  • LONG: 33.9% WR, +$127
  • SHORT: 48.3% WR, +$837

This was the system with all its guardrails intact. A minimum distance rule kept LONGs away from extended trends. The R:R floor rejected anything below 2.0:1. The system was patient, selective, and slightly SHORT-biased.

Period 2: The gambler (41 trades, Sprint 120 to 136)

  • 24.4% win rate
  • -$217 loss
  • LONG: 14.3% WR, -$456
  • SHORT: 35.0% WR, +$239

Sprint 120 removed the SMA50 distance rule. The reasoning sounded good: "it's blocking the most profitable zone." That claim was never tested. The actual data showed the zone had zero trades. We couldn't know if it was profitable because we'd never let a trade go there.

The SHORTs kept working. They didn't care about the removed rule. The LONGs collapsed. Fourteen percent win rate. Every seven LONG trades, one won and six lost. The system was still generating signals, still validating R:R ratios, still managing position sizes. But without the distance floor, it was chasing extended moves and getting stopped out.

Period 3: The recovering one (21 trades, post-Sprint 136)

  • 47.6% win rate
  • +$321 profit
  • LONG: 70.0% WR, +$276
  • SHORT: 27.3% WR, +$45

Sprint 136 restored the rule. LONGs went from 14.3% to 70.0%. The system didn't get smarter. It stopped doing the stupid thing.

What the numbers actually say

The interesting part isn't that removing a rule broke the system. That's obvious in hindsight. The interesting part is what each period reveals about where edge comes from.

Period 1's SHORTs carried the portfolio at 48.3% win rate and $837. The LONGs were mediocre at 33.9% but net positive. The system made money because it was selective about when to take LONG positions.

Period 2's SHORTs still worked. They dropped to 35% but stayed profitable at +$239. The damage was entirely on the LONG side. One removed constraint turned a cautious long trader into a reckless one.

Period 3 is where it gets genuinely interesting. LONGs are now the star performer at 70%. SHORTs have dropped to 27.3% but are still positive. The per-coin breakdown tells the story:

  • BTC: 5 trades, 60% WR, +$115
  • XRP: 11 trades, 54.5% WR, +$182
  • ETH: 5 trades, 20% WR, +$24

BTC and XRP are carrying. ETH is barely positive. SOL is excluded entirely (Sprint 137 hard-banned it after persistent losses).

The lesson I keep relearning

Rules aren't constraints. They're the edge.

The algo doesn't have intuition. It can't feel when a trade is "too extended" or when the setup is "not quite right." The rules are the system's judgment. Remove one and you don't free the system to be smarter. You remove the thing that made it smart.

Sprint 120 cost $217 in direct losses and about five weeks of dead time. The fix took one line of code and twenty minutes to deploy. But finding the problem took four weeks of log analysis, hypothesis testing, and data forensics.

The system is now at $1,039 total profit, 32% win rate overall, Sharpe 0.63. Since the fix: 47.4% win rate, +$293, Sharpe 4.66.

I run a /hypothesis-test command now before touching any rule. It queries the production database and shows exactly what the rule has been doing. If I'd had that before Sprint 120, the data would have shown "zero trades in this zone, you cannot claim it's profitable."

Five minutes of SQL would have saved five weeks and $217.

Where things stand

Two open positions right now: BTC LONG at $76,450 and XRP LONG at $1.36. BTC is trading at $77,000, XRP flat. The system is in WEAK_BULL regime with BTC about 1% above its 50-day moving average.

The gate stack rejected every new proposal today. R:R ratios came in at 1.0-1.9:1, below the 2.0 momentum floor. Confidence was moderate. The system looked at the market eleven times, decided eleven times that the existing positions were enough, and did nothing.

That patience is the edge. It's also the thing that feels most uncomfortable to watch.

Share this post