Recent posts
Copy accuracy vs the source
What the source reported for each trade we copied, against what we actually got. Pips are
worked out from his stated prices, not the number he writes, which is sometimes a running total.
Why signals didn't become trades
Add an account
Tracked accounts
Auto-approve
Auto-approve trades
When on, any signal that already passed every validation and risk check executes
immediately with no click needed — including signals that would otherwise need
review (missing stop/target, low confidence). It never affects
observe
mode, which still never submits an order. All validation, risk, and circuit-breaker
checks still apply unconditionally either way.
Submit a post manually
Shipped
- Manual/JSON, webhook, and full X API v2 input adapters, plus a companion browser extension for one-click capture from x.com
- Rule-based pre-filter + OpenAI structured-output post classification, given the author's recent posts and glossary as context
- Structured signal extraction with hard-coded (not just prompted) safeguards — every evidence fragment must appear verbatim in the source post, and an instrument the post doesn't itself state always goes to human review
- A context engine that only pulls in prior posts with an explicit, labelled reason
- Deterministic signal validation (staleness, instrument mapping, SL/TP logic, market hours, conflicting positions) independent of the risk manager's numeric thresholds
- Fallback risk model: when a post gives no stop or target, a protective stop and a 1.5R target are computed and attached to the order at fill
- Risk manager + circuit breaker — daily/weekly loss limits, consecutive losses (with a cooldown that lifts on its own), API-error and order-rejection rates, and reconciliation mismatches — plus a manual kill switch
- Signal-driven position management: close, stop-move, and target-move posts act on the open trade they refer to (partial closes go to a proposal for manual sizing)
- Operator-only manual Close button on every open trade
- Broker reconciliation that halts trading when local records and OANDA disagree, picks up positions from limit orders that fill later, and a script to adopt orphaned positions
- Health monitoring on the dashboard: stalled ingestion, exhausted X API credits, and a warning whenever auto-approve is off
- Copy-accuracy ledger: for each trade, the source's reported entry, exit, and pips against ours — slippage, delay, and how often our stop fired on a trade he closed in profit
- A report of why signals didn't become trades, grouped by reason with example posts, including signals that passed every check but never reached the broker
- A replay test that re-runs stored posts through the current prompts and lists every decision a prompt change would flip, before it's deployed
- Three approval modes (observe / approval / practice_auto) and a live auto-approve toggle
- OANDA v20 practice-only broker integration — hard-refuses to construct against the live endpoint
- Full dashboard: Posts, Proposals, Trades, Metrics, Accounts, Submit & Settings
- Database-backed audit trail of every post, classification, signal, proposal, order, and trade (PostgreSQL in production, SQLite locally)
- 247 passing unit/integration tests, OpenAI and OANDA both mocked
- Operator-gated public hosting — this page
Next
- Email/push notifications when ingestion stops, the circuit breaker trips, or a proposal is waiting for approval — today these only show on the dashboard
- Database hosting that doesn't expire (the current free tier is deleted every 30 days)
- Keep the kill switch on across restarts — it currently resets whenever the app redeploys
- Store tracked accounts in the database, so changes made on the Accounts tab survive a redeploy
- Better extraction of posts that restate the trader's running average price, which are still sometimes dropped
- Broader instrument-alias coverage as real usage surfaces gaps
Future
- Count several positions stopped out by the same price move as one loss toward the consecutive-loss halt
- Partial-close sizing: read how much to close from the post, so partial closes can execute automatically
- Calibrate the fallback stop and target distances against realised results
- Image/vision analysis for posts whose meaning depends entirely on an attached chart, currently forced to human review instead
- Non-English post support (currently routed to
too_ambiguousrather than guessed at) - Support for additional practice/paper brokers beyond OANDA
- Backtesting and richer analytics against historical proposals
Deliberately not on this list: real-money live trading. This project's design treats that
as an unapproved, out-of-scope decision, not a checkbox to tick off later.