Live web terminal that reads the chart, volume profile and order flow for every perpetual futures listed on Delta Exchange, ranks the best setups, and talks through them like a scalper.
Pure Python 3 stdlib (no pip dependencies). Open http://localhost:8080 in a
browser — nothing else to install.
run.bat (Windows)
or:
python server.py
# then open http://localhost:8080
Every few seconds the engine pulls live data from the public Delta Exchange REST API (no API key needed):
- Focus symbol (default
BTCUSDT): 5m candles, live trades with aggressor side (taker buy/sell), ticker. - Brain read per symbol: trend (EMA 9/21/50), swing structure, momentum (RSI/MACD/Stoch), volatility (ATR, Bollinger), volume (z-score/pctile), volume profile (POC, 70% value area VAH/VAL, HVN/LVN), session VWAP, taker order-flow delta.
- Regime: TREND_UP / TREND_DOWN / SQUEEZE / VOLATILE / RANGE (with strength variants).
- Signals: trend pullback, EMA/MACD/Stoch crosses, RSI extremes, VWAP/POC reclaims, squeeze break, swing break, delta divergence, volume spike, Bollinger location.
- Trade plan: entry, stop, tp1, tp2, R:R, position size from account + risk %, and a leverage hint.
- Market scan: all 12 listed perps ranked by setup score every 90s.
- Console: the brain logs alerts — bias flips, level breaks, regime changes, scan results — and accepts commands.
| command | action |
|---|---|
<SYMBOL> |
focus a symbol, e.g. SOLUSDT |
/tf 15m |
timeframe: 1m 5m 15m 1h 4h |
/risk 5000 |
account size in USDT (default 1000) |
/riskpct 2 |
risk per trade in % (default 1) |
/scan |
force a full-market scan now |
/watch <SYM> |
add to watchlist |
/watchlist |
show watchlist |
/help |
list commands |
GET /api/state— products, focus, tf, account, status (+ news stats, F&G)GET /api/tickers— live tickers for all listed perpsGET /api/analysis— brain read for the focus symbolGET /api/tape?symbol=...— recent trades with aggressor sideGET /api/scan— ranked setupsGET /api/console?after=N— console lines with sequence idsGET /api/news— scored headlines (sentiment/relevance/macro flags) + F&GPOST /api/cmd— run a console command, e.g.{"cmd":"/tf 15m"}
- Candles:
GET /v2/history/candles— max 2000 per request; the brain uses the last ~400 of the focus TF. Delta timestamps: candles in seconds, trades in microseconds. - Aggressor side: a trade where
buyer_role == "taker"is a market buy. - US equity tokens (NVDAXUSDT, AAPLXUSDT, ...) can have thin or empty candle history outside US market hours; the engine tolerates that and skips symbols with < 30 candles.
- The frontend uses plain fetch polling (no WebSockets/SSE) so it works on locked-down browsers.
The status pill reflects live data health (from /api/state):
LIVE(green, pulsing) — fresh data flowingQUIET(amber) — no new trade for the focus symbol in 5 min (thin tape)STALE(red, fast pulse) — API failing for 60s, or no trades and no price change for 15 min (market frozen)CONNECTING/RECONNECTING— booting or feed lost
The TAPE chip in the top bar shows how long ago the last executed trade on
the focus symbol happened, colored green (< 2 min), amber (2-10 min) or red
(> 10 min).
market.py Delta Exchange REST client (urllib, retries)
indicators.py TA indicators + volume profile (pure python)
brain.py regime, signals, levels, bias, trade plan, commentary
engine.py background data pump, scan, console
server.py HTTP server on :8080
static/ index.html, style.css, app.js (canvas chart + panels)