SmartChart AI — I built a self-hosted BTC charting app that uses deterministic detectors + free LLMs for Wyckoff/SMC/VSA analysis (single Python file)

Hello,

I got tired of LLMs hallucinating Wyckoff labels on charts — calling everything “Distribution bearish” on obvious accumulations, spamming LPSY on every red candle, putting SC at the top of the range. So I built SmartChart AI with a different approach: the Python code detects, the LLM only narrates.

The key insight: LLMs are terrible detectors but excellent narrators. Asking Gemini “find Wyckoff events in this CSV” = garbage. Asking Gemini “here are pre-detected candidates with volume confirmation, validate and explain” = solid results.

Architecture:

OHLCV (Binance/MEXC) → Python indicators (ATR, rvol, swings, spreads) → Deterministic detector (Wyckoff/SMC/S&R/EMA/VSA) → LLM validates + writes summary → Post-validation (sequence check, contradiction removal, phase auto-correction) 

5 detection modes, each with its own algorithmic detector:

  • Wyckoff — SC/BC/AR/ST/Spring/UTAD/SOS/SOW/LPS with volume gates (rvol thresholds)
  • SMC/IPA — BOS, CHoCH, Order Blocks, Fair Value Gaps, Liquidity Sweeps
  • Support/Resistance — multi-touch level clustering, breakouts, retests
  • EMA — 9/21 crossovers, pullbacks, bounces
  • VSA — volume climax, no demand/supply, stopping volume, effort vs result

Works with free LLM providers: Gemini Flash, Groq (Llama 3.3 70B), Cerebras — zero API cost. Also supports Claude and GPT-4o if you have keys.

Single file, zero config:

bash

pip install flask ccxt requests python smartchart.py # Open http://localhost:5555 

The Wyckoff post-validator catches common LLM mistakes: relabels UT→SOS in accumulation context, enforces Phase A→B→C→D→E sequence, removes contradictions (Spring trumps UTAD), auto-corrects phase/bias when events don’t match.

GitHub: https://github.com/ddaavv13/smartchart

Would love feedback from anyone doing Wyckoff or SMC analysis — especially on the detection thresholds and whether the validator rules make sense for your setups.

submitted by /u/Upstairs_Heart6576 to r/mltraders
[link] [comments]

SOURCE