Live — Paper Trading (BTC/USDC)

SEMANTICSIGNAL LLM

An autonomous AI trading agent that reads charts, remembers outcomes, and learns from every trade — powered by Google Gemini, ChromaDB vector memory, and a multi-stage reasoning pipeline.

No other open-source bot combines chart vision, internal debate, vector memory, self-written rules, and zero-cost sentiment. This is it.
▶ Watch It Trade Live 📖 Read Full Story & Tech ⭐ Source Code ☕ Buy Me a Coffee
50+
Technical Indicators
24/7
Autonomous Trading
6
Pipeline Stages per Cycle
$0
Sentiment API Cost

How It Works

Every 4 hours, the bot executes a full analysis pipeline — from raw market data to a reasoned trading decision with SL/TP levels.

[17:00:00] [INFO] [AnalysisEngine] ── Starting 4h Market Cycle: BTC/USDC ──

# 1. Market Data Pipeline (CCXT)
Fetched 999 OHLCV candles, 50-level order book, funding rate & 24h volume

# 2. Technical Calculator (Numba JIT)
Computed 50+ technical indicators & dozens of deterministic chart patterns (RSI, MACD, ADX, ATR)

# 3. RAG Engine & Social Sentiment
Ingested RSS news feeds & Reddit community sentiment (zero API cost)

# 4. Multimodal AI Analysis (Google Gemini)
Visual Full HD candlestick chart analysis + Bull vs. Bear debate + EV framework evaluation

# 5. Risk Governance & Execution
Signal: BUY | Position: 1-3% (confidence-scaled) | SL: 2x ATR (profile-scaled) | TP: min 1.5 R:R at structure

# 6. Reflection & Memory (ChromaDB)
Outcome embedded as 768D vector experience; semantic rule base updated

[17:00:14] [INFO] [TradingStrategy] Cycle complete. Decision logged to SQLite audit trail.
🔎

Read the Market

CCXT pulls 999 candles, a 50-level order book, funding rate and 24h volume from the exchange. Numba JIT computes 50+ indicators and dozens of deterministic chart patterns in milliseconds — the bot sees both the raw numbers and their technical context.

🗣️

Reason About It

Gemini receives the Full HD chart image plus the indicator stack plus fresh news and Reddit sentiment. It argues the bull case, then the bear case, then evaluates expected value against its own trade history — and must pass a falsification check before a signal is accepted.

🛡️

Decide Safely

Every signal runs a guard chain: symbol whitelist, position cap, cooldown window, R:R gate. Stop-loss scales with ATR volatility, take-profit targets minimum 1.5 R:R. The decision, reasoning, and risk parameters are all logged to the audit trail.

🧬

Learn From It

When a trade closes, its outcome is embedded as a 768D vector in ChromaDB. The reflection engine periodically synthesizes new rules from what worked and what didn't — flagging surprising outcomes so luck isn't confused with skill. Next cycle, the bot remembers.

🧠 Core Features

Not just another trading bot. This one reasons, debates, remembers, and improves.

🤖

AI Chart Reading

Google Gemini reads candlestick charts visually AND numerically — interpreting 50+ indicators simultaneously and spotting patterns a human would miss.

A Full HD chart image with SMA, RSI and volume overlay is sent to the model alongside the raw indicator values. It sees the shape of the wicks, the volume context, the pattern structure — the same picture a human trader sees. And it's not taken on faith: every numeric claim is cross-checked against computed values.

⚔️

Bull vs Bear Internal Debate

Before every decision, the LLM argues BOTH sides. Bull case optimistic, Bear case pessimistic. Then it decides. More balanced, less emotional.

The debate is followed by an expected-value calculation using real trade history — probability of win × average win, minus probability of loss × average loss, minus fees. A falsification check then rejects any signal the LLM cannot defend. A missed +EV opportunity is treated as mathematically identical to a realized loss.

🧠

Long-Term Memory

Every closed trade is embedded as a vector in a semantic database. On the next cycle, the bot queries its own brain: "Have I seen this pattern before? What happened?"

Trade experiences, semantic rules, blocked trades, and confidence statistics live in four ChromaDB collections, embedded with BAAI/bge-base-en-v1.5 at 768 dimensions. Before each decision the brain retrieves the top-5 most similar past trades plus the rules matched to current conditions — scored by similarity, evidence quality, and timeframe freshness. The bot literally reviews its own history before acting.

🎯

Adaptive Risk Management

ATR-scaled stop-loss and take-profit, portfolio-percentage position sizing, and risk profiles that adapt automatically to market conditions and its own track record.

Three risk modes — aggressive, conservative, neutral — switch automatically based on win rate, average P&L, and market trend strength (ADX). Position size scales with confidence: fallback sizes of 1% / 2% / 3% of capital for LOW / MEDIUM / HIGH conviction. Stop-loss distance scales with volatility (ATR), take-profit targets minimum 1.5 R:R at structure, and friction from position-size clamping is measured and reported rather than silently ignored.

📰

Zero-Cost Market Intelligence

Live news feeds (CoinDesk, CoinTelegraph, Decrypt) and Reddit community sentiment — all scraped directly. No API keys, no subscription fees.

Every 4-hour cycle ingests up to 5 top articles, scored for relevance before they reach the model. Fundamentals come from CoinGecko and DeFiLlama, plus the Alternative.me Fear & Greed index. X/Twitter was tried and dropped — without paid auth it isn't reliably scrapable, so the bot honestly runs on Reddit + RSS rather than pretending otherwise.

🛡️

Safety-First Execution

Cooldown windows prevent overtrading. Position caps, symbol whitelist, and validated SL/TP levels enforced before every order. Paper trading by default.

Every signal passes a pre-execution guard chain: symbol whitelist → maximum position size → cooldown window. If governance or risk validation can't decide safely, the system fails closed — no order, no exceptions. Soft exits trigger at candle close, hard exits check against live ticker prices at 15-minute intervals. Real exchange execution is being built as a dedicated executor service — a separate component that places and manages live orders under the same guard chain, with capital simulated until the pipeline proves itself.

📊

Full Transparency

Live WebSocket dashboard with candlestick charts, decision graphs, and the exact prompt, reasoning, and response behind every trade.

The FastAPI dashboard streams brain activity, position state, performance statistics, news, market data, and the memory bank across ten tabs. Every decision's full prompt and LLM response is visible — plus an admin console for configuration, force-analysis, and log streaming. No black boxes.

🔍

Real Market Awareness

Trains on real order book dynamics — counterparty orders, funding rate traps, liquidity squeezes. Not just abstract lines on a chart.

The system prompt teaches the LLM how real markets behave: where counterparty orders sit, how funding rates trap leveraged positions, how liquidity squeezes play out. A post-mortem is written after every closed trade and stored with the experience — so the bot learns market behavior from its own results, not from theory.

🏆 Why Nothing Else Comes Close

Freqtrade, 3Commas, Cryptohopper, Gunbot, Hummingbot — none of them do what this bot does. Here's the honest comparison.

The difference isn't one feature — it's the whole architecture. Most bots are a strategy engine: fixed rules, fixed size, no memory, no context. This bot is a reasoning system: it reads the chart as an image, recalls its own trade history, argues both market directions, and is forced to defend every signal before it's executed. Below is the same comparison every bot vendor hopes you never see.

Every Other Bot

  • Reads numbers only — blind to the actual chart
  • No memory — repeats the same mistakes every cycle
  • No debate, no self-check, no falsification
  • Fixed rules, fixed size — no ATR-aware risk
  • Paid sentiment APIs or no market context at all
  • Black box — you can't see why it traded
  • Closed source, subscription fees ($30–$100+/mo)

Semantic Signal LLM

  • Gemini sees the Full HD candlestick chart — vision + numbers
  • ChromaDB vector memory — recalls every closed trade semantically
  • Bull vs. Bear debate + EV framework + falsification check
  • ATR-scaled SL/TP, position caps, adaptive risk profiles
  • Zero-cost Reddit + RSS sentiment — no API keys
  • Full transparency — every prompt & decision visible live
  • Open source, free, self-improving (8 AI coding agents maintain the codebase)

1,270+ automated tests. Deterministic outputs. CI-ready. A trading engine engineered to the same standard as production banking software — not a weekend script.

🧭 LLM Trading Is Brand New

This is not a mature industry with proven products. It's a frontier — and that's exactly why this project exists.

⚙️

XGBoost Is Proven. LLM Isn't (Yet).

Classical ML — XGBoost, random forests, feature-engineered signals — has a real, decades-long track record in quant trading. LLM-based autonomous trading does not. That distinction matters, and we don't blur it.

📜

No Playbook Exists

LLM trading has no decade of backtests, no academic consensus, no established best practices. The research papers on LLM agents for trading are barely two years old. Every builder is figuring it out from scratch — including us.

🚫

Anyone Claiming a Track Record Is Lying

If a vendor tells you their LLM bot has a "proven" record — they don't. The field is too young for one to exist. The only honest response is what we do: run in the open, show every trade, and let the data speak.

🎟️

A Front-Row Seat to History

You're not buying a finished product here. You're watching a new category get figured out in real time — mistakes, lessons, and all. That's a feature, not a bug.

🪞 Not a Money Machine. Honest Limitations.

Every bot has flaws. Here are ours — stated plainly, before you ask. And here's what we're doing about each one.

Where It Struggles Today

  • 4-hour cycles. LLM analysis takes time — no HFT, no scalping. It's a swing trader, not a sniper.
  • Paper trading today. Real capital is the next step — and it will behave differently than simulation.
  • No X/Twitter sentiment. Reddit + RSS only. A noisy crowd on X is invisible to it.
  • LLMs are fallible. Gemini can be wrong — the falsification check catches a lot, not everything.
  • Losses are part of the process. It trades probabilities, not certainties. Some trades lose. That's trading.
  • Not financial advice. No guarantees, no promises of returns. Anyone claiming a bot prints money is selling you something.

How Each Flaw Is Being Mitigated

  • Quality over speed. Deeper analysis beats faster analysis. Longer timeframes = fewer, better decisions.
  • Paper → real, step by step. Position caps, ATR-scaled risk, and cooldowns are built for the transition to live capital — and a dedicated executor service for live exchange orders is under active development.
  • More sources in progress. Additional sentiment channels are on the roadmap — without paying for API keys.
  • Self-correction loop. Every wrong call is embedded into memory and reviewed — the same mistake gets harder to repeat.
  • Risk-first design. EV framework, falsification checks, and 1,270+ tests exist precisely because losses are expected.
  • Transparency instead of promises. Every trade, prompt, and decision is public — judge it yourself.

The honest pitch: this is an experiment in autonomous AI trading — running in the open, with its flaws visible, and improving every cycle. If you want a money printer, this isn't it. If you want to watch a genuinely novel system learn to trade, this is the most interesting one you'll find.

🛠 Tech Stack

🐍

Python 3.13

asyncio, dependency injection, modular architecture

FastAPI + uvicorn

REST API, WebSocket streaming, middleware pipeline

🤖

Google Gemini

Chart reading, technical reasoning, trade debates

🔢

Pure Python + Numba JIT

50+ home-grown indicators, 0 external TA dependencies

🧬

ChromaDB

Vector embeddings, semantic trade memory, full-text search

📊

Vis.js + ApexCharts

Decision graphs, candlestick charts, live KPI cards

🌐

Cloudflare

Tunnel, CDN, Page Rules, zero-downtime deploys

🧪

pytest + ruff

1,270+ automated tests, zero lint errors, CI-ready

Ready to Watch the Brain Trade?

Live dashboard with real-time charts, decision graphs, and full trading transparency. No signup. Just watch the system that's being scaled to real trades.

▶ Open Live Dashboard ☕ Buy Me a Coffee

👨‍💻 About the Developer

🏭

Piotr Kurnicki (@qrak)

Open to Work — Backend / AI roles (Wrocław or remote)

Self-taught backend developer with deep AI/LLM expertise. Currently working in warehouse logistics while building autonomous AI systems after hours. My strength: I go deep rather than wide — every line of this codebase I wrote, tested, and understand.

Previously worked with enterprise SAP environments at BSH Sprzęt Gospodarstwa Domowego, where I gained enterprise software experience and learned to navigate complex business processes. Now I build AI agents that trade crypto autonomously — and right now I'm building the trade executor: the dedicated service that carries this system from paper trading to live exchange orders.

📍 Wrocław, Poland
🌍 Remote-ready
🗣 Polish (native) + English (technical)
🐍 Python 3.13, FastAPI, asyncio
🤖 LLMs, prompt engineering, ChromaDB
🛠 DI patterns, pytest, ruff, Cloudflare

Interested in: Backend Python/FastAPI, AI engineering, LLM infrastructure — ideally a role where I can apply both my AI knowledge and backend skills. No university degree, but I bring something better: a project with 1,270+ automated tests, zero lint errors, and a live dashboard you can inspect right now.

☕ Buy Me a Coffee GitHub [email protected]