Trading Scanner
A scanner that keeps the strategy and the data apart.
It watches thousands of symbols across multiple timeframes and flags high-probability breakout setups the moment they form, live, on an ordinary PC with no paid data feed.
market: crypto (live) | symbols watched: 2,800+ | mode: A (scalp) BB alignment pass breakout candle pass volume spike pass MA alignment pass >> SIGNAL logged + charted + pushed same engine, swap one adapter, and it runs a whole second market
The strategy is proprietary, so the interesting part to show is the engineering. The core holds the indicators, the gate logic and the signal detection, and it knows nothing about where the candles come from. Each data feed is an adapter behind one interface, so a crypto exchange and an equities market both plug into the exact same engine without a single change to strategy code. That was the one decision locked on day one, and it paid for itself the day a second market was added: the whole thing was an adapter, not a rewrite.
It is built test-first, phase by phase. A phase is not done until its tests pass, and the suite now runs to 140-plus cases over the indicator math and the multi-gate logic. Every locked choice is written up as a short decision record with its reasoning, so a cold session can continue the build identically instead of re-arguing settled questions. Rather than gate the project behind a paid market-data API, I reverse-engineered a public source into a working adapter that pulls a full market of listings plus intraday data, live, for free.
Because the two halves were kept apart, the data half could be opened up on its own. The ingestion and indicator engine is now public as market-data-scanner: the async exchange adapters, the candle model, the rolling store that rejects still-forming, duplicate and out-of-order candles, and 49 standard-library tests. The strategy is not in it. Carving it out was its own piece of work, because "no strategy leaked" is a claim you have to actually verify: I excluded the signal logic, the config and the whole theory folder, then scrubbed every reference to the strategy out of the surviving comments and re-scanned to zero before pushing.
- ports-and-adapters architecture
- real-time systems
- test-driven development
- API reverse-engineering
- decision-record discipline
- Python
multi-week build
What it actually took. The temptation on a project like this is to weld the strategy straight onto the first data feed that works, because it is faster on day one. I made myself keep them apart even when it felt like overkill, and the discipline only looked smart later. Holding an architecture line before you can see the payoff is the actual skill here, not the indicators. It also turned out to be what let me publish half of it without publishing any of the part that is not mine to share.
github.com/byun-alex/market-data-scanner → the data engine. The scanner it sits under stays private.