Every AI Trading Bot Claims Dynamic Regime Detection. Here is What It Actually Looks Like in Production.
Every AI Trading Bot Claims "Dynamic Regime Detection." Here's What It Actually Looks Like in Production.
Date: March 28, 2026 Author: Jamie Watters Project: Trader-7 — LLM-Powered Crypto Trading System
Search "AI crypto trading bot" in March 2026 and every platform leads with the same pitch: dynamic regime detection, adaptive position sizing, market-aware strategy rotation. Cryptonomist's latest ranking puts SaintQuant at #1 for "AI-driven trend following with dynamic regime detection." Coin Bureau's roundup highlights bots that "recognise when conditions favour different approaches." DarkBot promises "volatility-aware position sizing" that scales automatically.
None of them publish a Sharpe ratio. None of them show a single trade log. None of them tell you what happens at 3am when ADX is 17 and Bitcoin is oscillating around its 50-day moving average.
I can. Because I've been building Trader-7 — a multi-LLM trading system — in public for four months. And the last 48 hours produced the clearest demonstration of regime-adaptive trading I've seen: 14 cycles of silence, followed by two precision entries that hit take-profit within hours, while the system's per-coin restrictions blocked 11 marginal signals on my worst-performing asset.
Here's what regime detection actually looks like when real money is on the line.
What "Regime Detection" Means in Practice
The industry definition is vague. "The bot detects market regimes and adjusts." Great. Adjusts what? Based on what signal? With what confidence threshold?
In Trader-7, regime detection is a four-layer system:
- Global Regime: STRONG_BULL, WEAK_BULL, WEAK_BEAR, STRONG_BEAR — determined by BTC's position relative to its 50-day moving average and the rate of change
- Ranging Detector: Counts regime flips in a 24-hour window. Three or more flips = ranging market = elevated entry threshold
- ADX Trend Strength: Below 18, the market is directionless. No entries regardless of what the LLM thinks. For SOL specifically, the threshold is 25 — because SOL has zero winners in the 18-25 ADX band across 24 trades
- Trend Deceleration: After a regime flip, the system tracks peak SMA50 distance. When current distance retreats 15%+ from peak, a graduated confidence penalty (up to -10 points) is applied. This catches stale-momentum entries — the kind that look like trend-following but are actually late to the party
Each layer operates independently. A trade must pass all four to proceed. Here's what that looked like this week.
48 Hours of Regime-Adaptive Trading
Hours 1-15: The Ranging Block
The system deployed on March 26 at 12:24 UTC. Bitcoin was at $69,350, drifting lower. A SHORT signal would have seemed reasonable.
The system said no. Three regime flips in the prior 24 hours (WEAK_BULL → WEAK_BEAR → WEAK_BULL → WEAK_BEAR) had triggered the ranging detector. Every cycle produced the same log line:
[SMA50_FLOOR] SMA50 distance 1.73% < 3.5% (RANGING, 3 flips in 24h) — no new entries
For 15 consecutive hours, the system watched Bitcoin fall $900 and did nothing. The signal generator wasn't even called — the ranging block fires before the expensive LLM calls, saving API costs while preventing entries.
This is the hardest part of regime detection: knowing when NOT to trade. Two weeks earlier, the system entered three correlated LONGs during a similar ranging period. All three stopped out. Total damage: -$120. The ranging detector exists because of that exact failure.
Estimated savings: $90-120 (avoided 2-3 ranging-market losses at ~$40 average)
Hour 18: Signals Emerge, Filters Hold
By 18:30 UTC, the regime flips had aged out of the 24-hour window. The ranging block cleared. DeepSeek generated SHORT signals: BTC @ 85%, ETH @ 88%, SOL @ 90%.
But the strategist (Claude Opus 4.6) was in defensive stance — 45% confidence in its own bearish read, which translates to a 75% minimum confidence threshold for entries. The signals looked good, but the system's macro layer wasn't convinced yet.
SOL's signal was the highest confidence at 90%, but it hit the per-coin restriction: 80% minimum confidence for SOL entries. Even at 90% raw confidence, after the trend deceleration penalty (-10 points), effective confidence dropped to 80% — right at the threshold. But other factors blocked the full pipeline.
No trades. The system waited.
Hour 19: SOL Gets Blocked (First of 11 Times)
The next cycle produced SOL SHORT @ 75%. Below the 80% floor.
[SOL_RESTRICT] SOL-PERP confidence 75% < 80% (SOL requires elevated confidence — 34% all-time WR)
This happened 11 times over the next 30 hours. SOL signals at 70%, 72%, 75%, 78% — all blocked. SOL fell 8.6% during this period. Every one of those SHORTs would have been profitable in isolation.
But SOL's all-time win rate at sub-80% confidence is roughly 25%. Over 11 trades at half-sizing (~$1,200 notional each), the expected value calculation is brutal: 3 wins × $15 average + 8 losses × -$31 average = -$203 expected loss.
The filter doesn't care that this particular batch would have worked. It cares about the distribution. Estimated savings: ~$200.
Hour 20: The Window Opens
March 27, 07:47 UTC. ADX climbed to 28. The strategist's confidence in the bearish read rose to 62%. DeepSeek generated BTC SHORT @ 85%.
This signal passed every layer:
- Global regime: WEAK_BEAR (confirmed)
- Ranging detector: flips aged out, entry allowed
- ADX: 28 > 18 threshold (real trend, not noise)
- Deceleration: no penalty (fresh entry after ranging period)
- Confidence: 85% > 75% defensive threshold
Trade #221 opened. BTC-PERP SHORT @ $68,534, 3.1x leverage.
Three hours later, TP1 hit at $67,274. The system closed 50% and activated a trailing stop on the remainder. The trailing stop tightened six times over the next four hours as BTC continued falling:
$67,484 → $67,073 → $66,780 → $66,742 → $66,518
Final close at $66,518 via trailing stop. BTC had moved from $68,534 to $66,285 — a 3.3% move. The system captured 2.94% of it. 89% capture ratio. Total PnL: +$120.
Hour 21: ETH Follows
One hour after BTC, ETH passed at 80% confidence with ADX 32 (strong trend). Trade #222: ETH-PERP SHORT @ $2,044. Early harvest triggered at 2.3 hours (+$57 partial), trailing stop closed the remainder at $2,002. Total PnL: +$58.
Hour 40: SOL Finally Passes
March 28, 04:46 UTC. For the first time since the restrictions were deployed, SOL cleared every filter:
- Confidence: 85% (vs 80% floor) — the highest SOL signal in the entire session
- ADX: 42.86 (vs 25 threshold) — nearly double the minimum
- Direction: SHORT in trending_down (not the blocked LONG pattern)
- Deceleration penalty: -10 points → effective confidence 75%, still above 72% moderate threshold
The system opened the trade — but at half size:
[COIN_SIZE] SOL-PERP position reduced to 50% — $2371.20 → $1185.60 (per-coin performance adjustment)
Eleven blocks. Then one approval. Not a ban — a quality gate. The one signal that passed had the highest confidence, the highest ADX, the right direction, and the right regime. Trade #224 is currently open.
The Deceleration Filter in Action
By cycle 37 (March 28, 01:37), the bearish trend had been running 24+ hours. The deceleration filter applied a -10 point confidence penalty to reflect the ageing momentum:
| Signal | Raw Confidence | After Penalty | Result |
|---|---|---|---|
| BTC SHORT | 75% | 75% (no penalty) | Passed |
| SOL SHORT | 82% | 72% | Passed (barely) |
| XRP SHORT | 78% | 68% | Blocked |
Without the deceleration filter, XRP would have opened at 78% — a seemingly reasonable signal. But 78% confidence in a stale trend is not the same as 78% in a fresh one. The system's last losing streak included three trades entered 5-7 cycles after a regime flip, all of which stopped out. The deceleration filter prevents that exact pattern.
The Numbers Nobody Else Publishes
Here's Trader-7's actual performance alongside what the industry claims:
| Metric | Industry Bots (2026) | Trader-7 |
|---|---|---|
| Regime detection | "Dynamic" (no details) | 4-layer (regime + ranging + ADX + deceleration) |
| Adaptive sizing | "Volatility-aware" (no details) | Confidence tiers + regime multipliers + per-coin sizing |
| Per-asset restrictions | Not mentioned anywhere | SOL: ADX 25, 80% confidence, 50% sizing |
| Published Sharpe ratio | None | 3.60 (3.96 since baseline) |
| Published win rate | None | 39% (42.9% since baseline) |
| Published PnL | None | +$1,136 (+37.9%) on $3,000 |
| Trade logs | None | Every cycle logged with timestamps |
The capital is deliberately small — $3,000 of paper trading money. The dollar amounts are modest. But +37.9% in four months annualises to roughly 680%. A Sharpe of 3.60 would be exceptional at any scale. The point of paper trading is to validate the strategy before scaling, and the strategy is validating.
What This Actually Costs
Regime detection in Trader-7 isn't a black box. It's a stack of specific, testable rules with clear log markers:
| Defence Layer | Times Fired (48h) | Estimated Impact |
|---|---|---|
| SMA50 ranging block | 14 cycles | ~$90 saved |
| SOL confidence floor | 11 blocks | ~$200 saved |
| Deceleration penalty | 4 blocks | ~$50 saved |
| Trailing stops | 2 trades closed | +$178 earned |
| SOL position halving | 2 trades sized | Risk halved on weakest asset |
That's roughly $340 of value generated by the filter stack in 48 hours — avoiding bad trades and maximising good ones. On $3,000 capital. In a market that most bots would have traded blindly in both directions.
The Honest Caveat
Every trading system looks good during a trending market. Trader-7 has been SHORT for two days during a bearish move — of course it's performing well. The real test is what happens when:
- The trend reverses suddenly and both open positions hit stops
- The market enters a prolonged range where the system sits idle for weeks
- SOL generates an 85% signal that passes every filter and then stops out
102 trades is a small sample. Two good days don't validate an architecture. The regime detection stack is sound — each layer addresses a specific, documented failure mode — but sound architecture and profitable outcomes are different things on different timescales.
What I can say with confidence: the system knows when it doesn't know. And in a market where every bot claims to be intelligent, knowing when to do nothing might be the most intelligent thing of all.
The recent build-in-public series: Sprint 116-125 Retrospective
Trader-7 is my personal AI-powered trading system. I'm building it in public — including the failures — to document what LLM-powered quantitative trading actually looks like in production. Not marketing copy. Not hypothetical backtests. Real trades, real logs, real numbers.
Follow along at jamiewatters.work or @Jamie_within on X.