The Street Smarts Bot
A complete field guide to what your money is (and isn't) doing
Written 2026-07-04 by Claude Fable 5, while auditing the full Street Smarts book against the code. Companion to the live dashboard.
1. Background — swing trading in one sitting
In 1996 two professional traders — Linda Bradford Raschke, a former floor trader, and Laurence Connors — published Street Smarts, a manual of short-term patterns they had traded for fifteen years. Every strategy in your bot comes from that book, or from Connors' later work.
Their world-view fits in three sentences. Markets move between support (a price floor where buyers previously showed up) and resistance (a ceiling where sellers did). Prices test these levels, and how a test resolves — holding, failing, or overshooting and snapping back — is more informative than any indicator. A swing trader doesn't predict; they place a resting order where the market must pass if the pattern is playing out, with a stop just behind the level, so being wrong costs a few ticks and being right can pay many multiples.
Every pattern in the book belongs to one of three families:
| Family | Market state | The bet |
|---|---|---|
| Tests | At a prior high/low | The breakout fails; trapped traders must exit through you |
| Retracements | Strong trend, pausing | The pullback ends; trend resumes |
| Breakout mode | Unusually quiet, coiled | Volatility is cyclical: quiet begets explosive |
2. The machine — what runs every morning
At 09:10 (Mac mini local time, ten minutes after the crypto daily candle closes), one script runs the whole day:
fetch daily candles
(completed only)
33 markets ×
all patterns
orders/ CSV
with exact triggers
capital-preservation
PASS / FAIL
dashboard deploy
+ Telegram ping
Three parallel tracks exist, and keeping them separate is a design rule, not an accident:
| Track | Markets | Status |
|---|---|---|
| Crypto | BTC, ETH, SOL, XRP, ADA | The gated forward test. Its results decide, on 2026-07-31, whether real money ever gets involved. |
| Futures | 18 contracts — S&P, bonds, crude, gold, soybeans, coffee, lean hogs… | Watch-only. Same strategies, same accounting, no gate. |
| Stocks | TSLA, NVDA, MU, COIN + 6 more volatile names | Watch-only. |
src/street_smarts_bot/strategies/, the simulation engine in
backtest.py, the gates in scripts/check_gates.py, the daily routine in
scripts/daily_paper_run.sh, the broker adapter in broker_kraken.py,
and the standing rules in CLAUDE.md.3. The strategies — intuition, rules, honest numbers
Stats are the 2-year backtest on 28 futures+stocks (or 721-day crypto where noted), $100 risked per trade, whipsaw losses booked honestly. They are hypotheses, not promises — see section 6.
Turtle Soup (Ch. 4) — fading the failed breakout
Intuition. In the 1980s the famous "Turtles" bought every 20-day high and sold every 20-day low. Their heirs — trend funds — still do. Most of those breakouts fail. When today plunges to a new 20-day low and then turns back up, every trend-follower who just sold is under water, and their exits become your fuel.
Rules (buys; sells mirrored). Today makes a new 20-day low; the prior 20-day low is at least 4 sessions old; rest a buy stop 5–10 ticks above that prior low (the bot picks inside the range by volatility), valid today only; initial stop one tick under today's low; if stopped out on day one, re-enter once next day.
Code: strategies/turtle_soup.py · 836 futures/stock trades,
16% win, PF 2.3 — the classic profile: mostly small losses, a few huge reversals pay for everything.
Turtle Soup Plus One (Ch. 5)
The same trap, sprung one day later — the market closes beyond the 20-day extreme (trapping even the cautious traders who wait for a closing confirmation), and reverses the next day. Slower, easier to plan the night before, weaker in our tests (PF 0.75 on crypto — it may not survive the review).
80-20 (Ch. 6) — the emotional-close reversal
Intuition. A day that opens at one extreme and closes hard at the other (open in the top 20% of the range, close in the bottom 20%) is an emotional day. Research the book cites: such days follow through the next morning ~85% of the time, but close beyond only ~50% — meaning the afternoon usually reverses. The trade: let the morning push a bit further (5–15 ticks), then catch the snap-back at yesterday's low. Day trade only. Needs a session open/close — meaningless on 24/7 crypto.
Code: strategies/eighty_twenty.py. This strategy hosted
the project's most dangerous bug — see section 5.
Momentum Pinball (Ch. 7)
A 3-period RSI of daily net change (the "LBR/RSI") below 30 says sellers are exhausted on a 1–2 day horizon. Next day, wait out the first hour, then buy a break of the first hour's high. Needs intraday data — handled by the TradingView webhook path, not the daily engine.
The Anti (Ch. 9) — momentum's pullback
Define trend not by price but by the slow stochastic line's slope; when the fast line pulls against it for ~3 days and then hooks back, two timeframes align and the move is often explosive. 417 trades, 29% win, PF 1.6 — marginal after fees; on probation.
Holy Grail (Ch. 10) — the name is a joke, the trade isn't
ADX above 30 marks a strong trend; the first pullback to the 20-period EMA is bought via a stop over the prior bar's high. One subtlety the original code got wrong: the ADX routinely dips during the pullback — requiring it to still be rising at the touch rejects exactly the setups the book trades.
ADX Gapper (Ch. 11) · Whiplash (Ch. 12) · Three-Day Gap (Ch. 13)
Three gap plays: a counter-trend gap that reverses into the trend (Gapper); a gap that fully reverses by the close, entered market-on-close (Whiplash); and an unfilled gap that starts to fill within three sessions (Three-Day Gap). All need real session gaps — dormant on crypto, live on the futures/stocks tracks.
ID/NR4 (Ch. 19) & HV Crabel (Ch. 20) — breakout mode
Intuition. Volatility is more predictable than price: quiet days cluster, and extreme quiet precedes explosion. An inside day that is also the narrowest range of four (ID/NR4) is a coiled spring — you don't know which way, so you rest orders on both sides and let the explosion pull you in. HV Crabel adds a filter: 6-day historical volatility under half the 100-day. These are the two strongest strategies in every universe we tested (PF 7.4 and 2.6 on futures/stocks after honest whipsaw accounting) — and the most slippage-sensitive, because their risk unit is a tiny bar.
Research track: Connors RSI2 (2009) & Turtle Trend (Donchian S1)
Two systems from outside the book, added for diversification: buy 2-period RSI < 5 above the 200-day average (mean reversion, 67% win, thin edge, heavy fee drag), and the original Turtle 20-day breakout with a 2×ATR stop — literally the opposite bet of Turtle Soup. Trend + mean-reversion + breakout rarely all fail at once; that's the point of holding all three families.
4. Money management — the part that actually decides survival
Every trade in every strategy obeys the same skeleton, hard-coded in the engine:
| Rule | Book source | In code |
|---|---|---|
| Whole position at once, never add to it | Ch. 3 rule 1 | one signal = one order |
| Protective stop resting from the moment of fill | Ch. 3 rule 2 | stop attached atomically (broker: Kraken conditional close) |
| First profitable close → stop to breakeven, then trail | Ch. 3 rule 3 | _exit_trade() swing loop |
| Range-expansion bar → take everything | Ch. 3 rule 4 | ATR-multiple exit |
| No losing position held overnight | Ch. 2 | grace 1 bar (2 for breakouts) |
Above the engine sit the gates — the layer that exists because of the CTA study. R = $100, the amount risked per trade:
Review gates (2026-07-31): ≥18 daily runs; net P&L after fees ≥ $0; 10–80 trades. All pass → a broker adapter with kill switches (48h halt at −3R day, permanent stop at 10R drawdown, 2-position cap). Any fail → another paper cycle. Thresholds may only ever tighten.
5. The two bugs — why you should distrust every backtest
Twice in this project a strategy looked brilliant until the daily-bar simulation was interrogated. Both bugs share a shape worth memorizing: silent optimism in the ambiguous cases.
Bug #1 — the stop that could never be hit
The original 80-20 code placed its protective stop one tick below the entry day's final low. But the final low isn't known until the day is over — and by construction, price never trades below its own low. The simulated stop was unhittable, and position size was computed from that hindsight stop. Result: a fabricated +$152,000 crypto backtest that evaporated the day the stop became honest.
Bug #2 — deleting the whipsaws
ID/NR4 rests orders on both sides of the bar. On the days when both sides got hit — the whipsaw days, the strategy's main cost — the simulator couldn't tell which fired first, so it skipped the trade entirely. Skipping exactly the losing days inflated the profit factor from 7.4 to 12.2. The fix books every ambiguous day as a full −1R loss.
6. Reading the numbers like an adult
Facts to hold onto whenever a dollar figure appears anywhere in this project:
Win rate is designed to be low. ~30% overall. The book's economics are many scratches and small losses paid for by a few multi-R winners; judging this system by win rate is like judging insurance by how often the house burns down.
Fees are a fixed tax per trade, and they discriminate. Measured on our own trades: futures ~0.8% of gross (cheapest, but $100-risk can't buy fractional contracts — micros only), commission-free stock brokers ~4–10%, Kraken crypto at the worst tier ~44% (Binance-tier roughly halves it). A thin-edge strategy like RSI2 loses three-quarters of its gross to fees; a fat-edge one like Turtle Trend loses an eighth.
Every backtest number you have seen is a ceiling. In-sample, slippage-free, sequence-ambiguous. The only numbers that count are on the dashboard's forward tracks, which started 2026-07-04 at exactly $0.00 — on purpose.
Expected outcome, honestly: at $100 risk, even a good result is tens of dollars a day of expectancy, arriving in lumps. Year one success = still alive, losses capped by the gates, knowing which strategies earn their slot. Compounding comes after proof, never before.
7. Quiz — five questions
Sources: Street Smarts (Raschke & Connors, 1996) — full PDF in the repo;
Short-Term Trading Strategies That Work (Connors, 2009); Way of the Turtle (Faith, 2007).
Rule-to-code mapping: docs/strategy_mapping.md. Honest results: docs/backtest_findings.md,
docs/research_track.md. Roadmap: docs/plan_to_live.md.