TRADING ENGINE
A scanner + LLM decision layer on Bybit futures, shipped across four levels — grid proof-of-concept, quantitative scanner, Claude-gated decision layer, and a reflection loop that feeds closed-trade learnings back into the next call. Built to answer one question on a 90-day backtest: can an LLM add real edge as a veto layer on top of a quantitative scanner?
Evolution
Four levels, shipped end-to-end — Grid PoC, Scanner, LLM Gate, Reflection Loop.
Scanner
Three setup detectors, running on 4h candles. Score 70+ gets escalated.
Every 4 hours the scanner walks the Top-20 futures market. Setups crossing score 70 get handed to the LLM gate.
LLM Gate
Claude approves or rejects — with specific reasons, not generic caution.
Claude sees the setup, the market context, and recent trade history — and returns a go / no_go with reasoning.
The Decision Layer
The LLM gate didn't find trades — it approved or rejected setups the scanner had already qualified. The system prompt was unapologetic about the default: go, not caution.
You are an aggressive crypto trading analyst. Your job:
find reasons to TAKE trades, not avoid them.
The default answer should be "go" unless you find a
SPECIFIC reason to reject.
Decision framework:
- Score 80+: say "go" unless news directly contradicts
- Score 60-79: say "go" if sentiment is neutral or supportive
- Only say "no_go" for SPECIFIC reasons: breaking news,
extreme crowding (funding > 0.05%), or a clear catalyst
against direction.Return · backtest
Profit Factor
Max Drawdown
Win Rate
Reflection
Every closed trade became an atomic note — and the bot re-read its own reflections on the next call.
A trade closes. Claude writes a post-mortem. The learning becomes an atomic note — same shape as the Second Brain vault.
Key Decisions
- →The Thesis
Can an LLM add edge as a veto layer on top of a quantitative scanner? In the 90-day backtest the answer was yes — when the scanner did the heavy lifting and the LLM only rejected on specific, concrete reasons. Within that window, default "go" outperformed default "cautious."
- →Claude as gate, not oracle
The LLM didn't find trades. It approved or rejected setups the scanner had already qualified. Cheaper, faster, and the failure mode was "missed trade" instead of "bad trade."
- →Bybit over Binance
Lower fees on perpetuals and a futures-first API kept the execution layer simple. Taker fee 0.055% was cheap enough that short holds stayed profitable.
- →Post-mortems as atomic notes
Same pattern as the Second Brain vault. Each closed trade produced one learning, one reflection, both structured for retrieval. Not just logs — context the LLM re-read on the next decision.