Paper trade Bitcoin with a chart-reading LLM agent that writes its own rules

A solo developer has run a self-built agent that paper trades BTC/USDC every four hours since December 2025; after 11 closed trades it sits at a 36% win rate and +0.09% on $10,000 of simulated capital.

Done withCustom agentinReddit· Oct 25, 2026

What they did

The author, a developer in Wrocław, built Semantic Signal, a paper-trading agent for BTC/USDC on the four-hour timeframe. Each cycle it pulls about 1,000 candles, computes 79 indicators, renders a candlestick chart image, reads a handful of news items from RSS and Reddit feeds, and recalls three similar past trades plus learned rules and post-mortems from a ChromaDB store. A model (DeepSeek by default, with Gemini, OpenRouter and a local server as fallbacks) then returns one decision with a stop, a target and a size. Every few closed trades it writes new rules about what worked and what it got wrong, and those rules fade over a couple of weeks unless evidence keeps them. Code caps each position at 10% of capital and limits it to whitelisted symbols. After ten months and 501 commits the author re-audited every claim in an earlier post against the code.

How it went

At the time of writing the public dashboard showed 11 closed trades, a 36.4% win rate, +0.09% P&L and $10,008.54 of paper capital, at about $6 of model cost for the current session. The author calls eleven trades noise, not a track record. The audit retired several earlier claims: the chart is 1080p not 4K, there is no Kelly sizing, six execution guards were really two, and the bot was never free to run because model calls cost money. A hand-written chart pattern detector was deleted after the model read the chart images better on the author's sample.

Worth knowing

No real money is involved; a separate executor last touched an exchange testnet in August 2026 and profitability is unproven. The expected-value check is only a prompt instruction, so the model can still propose a trade the math argues against. The author stresses that the 2,400 tests prove the plumbing, not the model's judgement.

Try it

With Custom agent· 10 parts to fill in

Build me a paper-trading agent for [asset pair] on the [timeframe] chart. Each cycle, fetch recent candles from [exchange or data API], compute [indicators], pull a few headlines from [news feeds], and recall the most similar past trades from a local store. Ask [model] for one decision: buy, sell or hold, with a stop, a target, a size, and one price level that would prove the call wrong; if it cannot name one, hold. Enforce in code a cap of [percent] of capital per position and a symbol whitelist. Simulate fees of [fee] per side on [starting capital] of fake money and log every decision. Never place a real order. Stop after the first [number] closed trades and show me the win rate, P&L and cost so far.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related