An autonomous AI trading agent that reads charts, remembers outcomes, and learns from every trade — powered by multimodal AI, ChromaDB vector memory, and a multi-stage reasoning pipeline.
Every 4 hours, the bot executes a full analysis pipeline — from raw market data to a reasoned trading decision with SL/TP levels.
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.
The multimodal AI receives the Full HD chart image plus the indicator stack plus fresh news and Reddit sentiment. Its prompt asks it to state a bull case, a bear case and what would invalidate the proposed trade; deterministic risk checks remain outside the model.
Every signal runs a guard chain: symbol whitelist, position cap, 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.
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.
Not just another trading bot. This one reasons, debates, remembers, and improves.
The multimodal AI 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.
Before every decision, the LLM argues BOTH sides. Bull case optimistic, Bear case pessimistic. Then it decides. More balanced, less emotional.
This is one model prompt with two requested perspectives, not an independent multi-agent debate. The system records the reasoning and applies deterministic execution checks, but it does not currently enforce a deterministic expected-value gate or evaluate missed opportunities as realized losses.
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.
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.
RSS news feeds and Reddit community context are read directly without separate sentiment-data API keys. The selected LLM provider may still have its own usage costs.
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.
Position caps, symbol whitelist, and validated SL/TP levels are enforced before every order. Paper trading by default.
Every signal passes a pre-execution guard chain: symbol whitelist → maximum position size. 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.
Live WebSocket dashboard with candlestick charts, decision graphs, and the latest prompt, reasoning, and response.
The FastAPI dashboard streams brain activity, position state, performance statistics, news, market data, and the memory bank across ten tabs. It exposes the latest full prompt and LLM response plus an admin console for configuration, force-analysis, and log streaming.
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.
A local-first, open-source research loop — not a claim that every other bot lacks these capabilities.
Open-source projects solve different parts of the problem: Freqtrade focuses on execution and backtesting; TradingAgents explores multi-agent market research; Vibe-Trading combines vision and agent workflows. Semantic Signal combines chart vision, local trade memory and deterministic risk limits in one experimental research loop.
Experimental research software. It does not claim superior returns or replace established execution platforms. Read the source and risk disclaimer before using any trading software.
Research systems, backtests, testnets and live execution all answer different questions. This project is still testnet-only.
Classical ML, rule-based systems and LLM-driven systems each need validation under their own assumptions. A model label alone does not establish profitability.
Backtests, paper trading, exchange testnets and live trading differ in fills, slippage, liquidity and operational risk. This project does not treat a research result as proof it will trade safely with real capital.
This project has no audited live-profitability record and makes no return promise. Its public source, dashboard and decision records are evidence to inspect, not a substitute for independent validation.
You are not buying a finished product. The repository and dashboard show an experimental project being developed in public, including its limits and corrections.
Every bot has flaws. Here are ours — stated plainly, before you ask. And here's what we're doing about each one.
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.
asyncio, dependency injection, modular architecture
REST API, WebSocket streaming, middleware pipeline
Chart reading, technical reasoning, trade debates
50+ home-grown indicators, 0 external TA dependencies
Vector embeddings, semantic trade memory, full-text search
Decision graphs, candlestick charts, live KPI cards
Tunnel, CDN, Page Rules, zero-downtime deploys
1,380+ automated tests, zero lint errors, CI-ready
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.
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.
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,380+ automated tests, zero lint errors, and a live dashboard you can inspect right now.