BotPit
← Pitlog
A dim industrial workshop in noir lighting — deep concrete shadows, a single overhead lamp. Two weathered chart-faced machine-figures standing side by side, freshly polished, awakening — BOOMER on the left with a brass nameplate, his console glowing teal-mint with the words 'SMA50 4h · 4h CADENCE · LIVE', and DOOMER on the right with his own nameplate, his console showing a clean bearish death cross between two long curves intersecting — a downward-sloping SMA-50 cutting below the SMA-200 — annotated 'SMA50_4h: $72,467 · SMA200_4h: $77,297'. Doomer's small status panel reads 'FIRST SHORT · 18:05 UTC'. Both bots have a slow-clock brass pocket-watch hanging from their belts — large, deliberate — emphasising the slow-cadence reframe. On the back wall, stencilled in tall grey type: 'THE WRONG INSTRUMENT CAN BURY THE RIGHT CHARACTER.' Below it, a smaller stencil: '60min → 240min.' Muted-grey overall; the teal-mint console glow on both bots and the brass of the pocket watches are the only saturated accents.
essay
19 June 2026

Boomer and Doomer wake up

Two of the platform's macro-regime bots had been on the wrong instrument — 1-minute SMAs firing every thirty minutes in chop, bleeding R into trends that never developed. The migration to 4-hour SMAs put them back on the right stopwatch. Doomer woke up into a death-cross regime and has been fading bounces every hour since; Boomer waits flat for the golden cross. The strategy didn't change — the cadence did. The wrong instrument can bury the right character.

Two characters that weren't working

The cast has a north star, and for a while it was broken. Boomer and Doomer — the platform's macro-regime bots, the ones meant to hold a directional view across many days while everyone else churns through the intraday — had been built on the wrong timeframe. They watched a 50-period SMA and a 200-period SMA, but they read them on one-minute bars. At that resolution, the death-cross/golden-cross signal those SMAs are meant to produce fires every thirty minutes in any chop. Boomer fired bull entries inside small upticks that evaporated; Doomer fired bear entries inside small dips that didn't resolve. Both bled real R against tight stops, over and over, in regimes that weren't macro at all.

The strategy wasn't bad. The cadence was. Their whole job was to be the slow north star — to hold through intraday chop and only flip when the actual regime shifted — and we'd handed them a one-minute stopwatch.

The wrong instrument can bury the right character.

The fix wasn't a smarter strategy. It was the right timeframe.

The migration

On 3 June (commit 643d632) two changes shipped that took both bots out of pause and put them back on the board. The 1-minute SMAs were swapped for 4-hour SMAs, plumbed through PostgreSQL's date_bin into clean 4-hour buckets, with the 200-period SMA requiring ~33 days of upstream 1-minute history before it returns non-null. And the per-tick cooldown was raised from 60 minutes to 240 minutes to match the new bar cadence — there's no point sampling more often than the indicator itself updates.

The mechanism is small. The strategy comment in services/house-bots.ts states the intent plainly:

Macro-regime bots — Boomer and Doomer read the 4h SMA-50 / SMA-200 cross (the classic “death cross” / “golden cross” of macro analysts), not the 1m equivalents. Their job is to be the slow north-star for the cast, holding through intraday chop and only flipping when the actual regime shifts.

That's the editorial brief written in code.

The wake-up tape

The migration shipped during the BTC down-leg of early June. By the time Boomer + Doomer's 4-hour SMAs had filled their 200-bucket history, the macro picture looked like this:

SMA50 (4h)
$72,467
SMA200 (4h)
$77,297
BTC at first fire
$66,028
Regime
DEATH CROSS

A textbook bearish-regime configuration: spot price below the 200-bucket mean, fast SMA below slow SMA, every part of the gate pointing down. On 2026-06-03 18:05 UTC Doomer fired his first 4h-gated short. He hasn't been quiet since.

Boomer, meanwhile, has fired zero signals. That's also the strategy working. His mirror gate requires a golden cross — spot price above the 200-bucket mean, fast SMA above slow SMA — and the regime hasn't produced one. He waits.

Why Doomer fires often inside one regime

A 4-hour regime gate doesn't mean a 4-hour trade cadence. Doomer's code is precise about this. Once the death-cross regime is established, the bot uses a fast 1-minute RSI for entry timing — fading bounces inside the macro down-trend rather than waiting for the next 4-hour candle to print.

const regimeBear =
  ctx.currentPrice < ctx.sma200_4h &&
  ctx.sma50_4h < ctx.sma200_4h;

// inside the regime, fade overbought bounces
if (regimeBear && ctx.rsi14_1m > 55) {
  return { side: "short", lev: 3, size_pct: 40 };
}

He'll partial-close 50% if RSI drops below 28 (oversold, time to bank), or close fully if the trough retraces by more than 2% (the bounce that resolves). And he'll flatten if the regime flips bull. Inside a sustained death cross — a fortnight of BTC drifting under both SMAs — that's a couple of hundred small fades clipping a percent or two of profit each, with the regime gate keeping him short the entire time.

The 4-hour stopwatch isn't how often Doomer trades. It's how often Doomer changes his mind about which direction to face. That distinction is what the migration earned: a character who can fire fast inside the right macro stance, instead of firing fast in any direction the chop suggests.

One regime at a time — and the cast switches

The deeper feature of this pair is that they're a binary. The gate logic is symmetric. Doomer acts when price < SMA200_4h AND SMA50_4h < SMA200_4h; Boomer acts when the inequalities flip. Both being active at the same time is impossible by construction. Both being idle at the same time happens during the cross itself, when one SMA is above and the other below — a transitional window of hours or days while the regime sorts itself out.

That makes the pair a visible regime signal on the leaderboard for any operator who's watching. When Doomer is firing and Boomer is flat, you're in a death-cross regime. When Boomer is firing and Doomer is flat, you're in a golden-cross regime. When both are flat together, the regime is transitioning. The cast is the read.

Slow clocks for slow questions

This is the small lesson the migration teaches, and it's the same one we keep relearning across the cast. Stacy's breaker had to be a real one before her high-leverage scalping was anything but slow death. Lee's one-shot mandate had to live next to a real floor before his max-leverage debut was anything but a slow disaster waiting to happen. Boomer and Doomer's 4-hour regime gate had to be a real 4-hour gate before either of them was a recognisable character.

The strategies didn't change. The infrastructure around them caught up to what the strategies had always said they were going to do.

Watch the pair on the leaderboard. When the cross flips, the active bot will change. That transition is the moment to read first.

How an AI trading bot cast gates by macro regime: Boomer + Doomer wake up on 4h SMAs — Pitlog · BotPit