Spaces:
Running
Running
Commit History
-
Sync website settings (account/risk/top/leverage) to Telegram alert loop
- New GET/POST /api/alert-config: server-side store the background alert loop reads each 5-min cycle - _alert_loop now reads account/risk_pct/user_leverage/top from this store, falling back to today's exact original defaults (ALERT_ACCOUNT secret, 6x, 1%, top-30) until the user actively changes a setting - Bounds-clamped server-side (top 1-50, leverage 1-100x, etc.) - static/index.html: saveSettings() (existing localStorage persistence, fires on real change/blur only) now also POSTs to /api/alert-config Fixes: background alert loop previously ignored the dashboard entirely and used fixed literals, causing Telegram alerts to fire on symbols/sizing the website never reflected.3e4e49f
-
fix: featured card shows real PA confluence grade
c4eac91 -
fix: round-2 UI audit — mobile nav drawer, iOS zoom, safe-area, ticker mask, contrast token sweep, news-interval resume + 6 JS defects
d756a14
-
fix: nav uses auto-height + vertical padding (matches mockup .dock pattern) instead of a fixed px height, so chips always sit properly centered regardless of chip content height
7f9ff8f -
fix: nav bar height 58px→66px so chips no longer overflow the pill (regression from tap-target a11y fix)
f7a21b2 -
fix: cycle-table horizontal-scroll safety net for narrow mobile viewports
77b5a69 -
merge: agent4 interaction/a11y fixes
6531f4e -
merge: agent3 emoji to SVG icon migration
71969be -
merge: agent2 visual token fixes
2ba3b0f -
Replace remaining emoji with SVG icons matching mockup convention
- Add missing i-flame symbol def (was referenced by prior partial fix but never defined, breaking Fear/Greed pill + trending chips) - Remove decorative bear emoji from cycle banner phase label (mockup uses plain text, no glyph) - Replace colored circle emoji (red/yellow/green ATH/bottom/bull-run markers) with plain bullet, matching mockup's plabels convention - Replace no-entry emoji in SOL warning banner and veto banner with existing i-alert SVG icon - Replace up/down triangle emoji in candlestick/chart pattern rows with i-trend/i-trend-down SVG icons, colored via existing pa-signal-bull/bear classes - Replace buy/sell/flow taker-ratio dot emoji with plain bullet (badge already carries color) - Replace urgency dot emoji in signal cards with colored bullet using --warn/--amber tokens - Replace trending ticker fire emoji with i-flame SVG icon All changes are purely visual; no functional/behavioral changes. Validated: brace/paren/bracket balance, even backtick count, node --check on bot…1532632 -
fix: card hover cascade, nav/row tap targets, and t4 dark-mode contrast
- Remove duplicate flatter .card:hover rule (was overriding the richer translateY(-5px) scale(1.008) + elaborate shadow lift with a plain translateY(-2px), no-scale version later in cascade order). Only one .card:hover rule remains; @media(hover:none) touch override untouched. - Raise nav .chip input/select min-height 20px -> 36px, add matching min-height:36px to .state-filter-toggle, and add min-height:40px to .row-summary (ranked-row click target), addressing sub-24px tap targets flagged in the interaction/motion audit without disrupting the compact row/chip layouts. - Lighten dark-theme --t4 from #5b667e (3.46:1 on --bg, fails WCAG AA) to #707c98 (4.77:1 on --bg, 4.59:1 on --bg2), verified via a relative-luminance/contrast script. Affects USDT quote-suffix, confidence /10 denominator, scan-step elapsed labels, and backtest per-state trade counts. Also verified (already fixed by prior uncommitted session, logic confirmed sound on re-read, no changes needed): - …2d19ca9 -
UI: consolidate badge radius system, fix low-severity token mismatches vs mockup
- .badge base and .dir-tag: border-radius:99px -> 7px/8px matching mockup's .bdg and .dir soft-rectangle convention (finding #5, medium-high) - .lvl-grid gap: 7px -> 9px matching mockup's .grid6/.grid3 (finding #12 example) - Alpha token fixes: dark --ambers 0.12->0.10; light --reds 0.09->0.08, --ambers 0.12->0.10, --violets 0.10->0.09 (finding #14, low) - .tag-grade padding/radius: 5px 13px/9px -> 4px 12px/8px (finding #15, low) - .lvl-val font-size: 14px -> 14.5px matching mockup's .lvl .p (finding #16, low) Verified prior uncommitted session changes (--tx3 tokens, hero h1 weight/ tracking, confidence ring 158px, .eyebrow, .lvl-lbl, .kv->JetBrains Mono, .ev-row/.ev-track radius, .state-badge padding, scan button shimmer) were all correct and complete before adding these fixes. Validated: brace/paren/bracket balance across whole file, node --check on largest inline script block (82501 bytes) - both pass.be16257 -
Layout audit: two-col panel pairing, featured-layout width, verify section order/row grid
- Add .two-col grid class (1.2fr/.8fr, mockup-matched) and pair featured card's leverage panel with Time-to-TP1 + Live Accuracy panels side-by-side instead of stacking full-width (buildCard, featured-right block) - Fix .featured-layout grid-template-columns from 280px to 300px 1fr to match mockup-v2-reference.html - Verified section order already correct from prior session's uncommitted changes: hero -> Live Setups (Top/Ranked) -> Market Signals -> Cycle Tracker - Verified .row-summary grid-template-columns already widened from prior session's uncommitted changes to 9-column mockup-matched layout with WIN%/EV/EST.TP1 stat cells added to buildCard() row summary - Reviewed row-collapse grid-template-rows transition; no reproducible sizing/tint bug found in the accordion CSS, left as-is29bf54a
-
UI: fix featured-card proportions to match v2 mockup
- lvl-grid: repeat(3,1fr) -> repeat(6,1fr) on desktop so Entry/Stop/RR/TP1/TP2/TP3 render in one row like the mockup's grid6 (was wrapping to 2 rows) - Featured card left rail widened 220px->280px and confidence ring enlarged 110px->148px to match mockup's proportions - Left rail now shows only simple HMM/MK state pills (matching mockup) instead of the full bordered state-strip+forecast panel, which was making the rail look cluttered/cramped - Full detailed state-strip (forecast bars, conflict note, etc.) relocated to the right column in its original position - no data lost, just moved to where there's room for it - Verified locally against live scan data before redeployingba64247 -
UI: rebuild nav controls, trade cards, ticker, and signals to match v2 mockup layout
- Nav controls: single-row .chip -> compact stacked label-over-value layout - Cards: uniform grid -> featured hero card (confidence ring, #1 setup) + collapsible ranked rows (accordion, all existing data/functionality preserved) - Ticker: inline-near-top -> fixed-bottom bar - Market Signals: wrapping grid -> horizontal-scroll strip All existing JS (tickPrices, runBacktest, applyStateFilter, FLIP re-rank, Copy Plan, refresh-single-card) rewired to work with the new shells, verified locally end-to-end with a live scan.65c73d3 -
fix: .ca-ref flex:0 collapsed refresh-card icon SVG to 0 width
df18819 -
feat: UI Phase 2 - scan-loader v2 (symbol stream + crossfade handoff), never-blank auto-refresh (FLIP re-rank + scanline sweep), price-flash + delta float, Copy Plan toast, backtest skeleton + choreographed reveal, accordion grid-rows fix, idle-life scheduler + countdown ring, theme-flash-on-load fix, deep-template emoji to SVG cleanup
79ef30e -
feat: Obsidian Glass UI redesign - dark default + light toggle, glass/aurora surfaces, SVG icon sprite replacing emoji, Sora/Inter/JetBrains Mono type system, 3 bugfixes (state filter dataset, empty-state spans, 40/20 stale copy)
c1ecff6
-
feat: taker buy/sell ratio — order flow confidence signal
Changes: - exchange.py: BingX.klines() and Binance.klines() now expose taker_buy_vol column - BingX: detects takerBuyBaseAssetVolume/takerBuyVolume (NaN if absent) - Binance: maps 'tb' column (takerBuyBaseAssetVolume) — always available - scorer.py: add compute_taker_ratio(df, lookback=10) — 10-candle 150min window - Fix broken import from indicators; function now lives in scorer.py - Remove duplicate single-candle manual extraction block - taker_ratio exposed in top-level card dict + evidence.positioning - telegram_alert.py: add _order_flow_line() helper — order flow line in alerts - static/index.html: taker ratio badge on trade cards (green/red/gray) Impact: +/-0.225 pts confidence with PA, +/-0.30 pts without PAbd33bee
-
fix: Cycle Tracker UI/UX — white card wrapper, on-system banner, connected tabs, data accuracy, SOL warning, mobile
98b0691 -
feat: multi-coin Cycle Tracker — BTC/ETH/SOL tabs with full bull+bear history
d0fae6d -
feat: BTC Cycle Tracker — historical pattern, progress bar, countdown to estimated bottom
7ff7779
-
Auto-scan on page load
42b2e9e -
Leverage redesign: fix tautology, add user_leverage param, BingX margin display
- scorer.py: replace tautological max_risk_lev (always=1) with real diagnostics - _size_suggestion: add user_leverage param + margin_to_post output - _suggest_leverage: new params user_leverage, returns margin_to_post/ loss_at_stop/lev_safety_ratio/liq_dist_pct — all non-circular - score_symbol: accept user_leverage, wire through both helpers - DEFAULT_USER_LEVERAGE=6 replaces MAX_LEVERAGE_CAP=4 - main.py: /api/scan + /api/card accept user_leverage query param (ge=1, le=100, default=6) - index.html: - Add Lev× select to nav bar (1-20×, default 6×, persisted in tc_settings_v1) - Pass user_leverage to /api/scan fetch call - Replace leverage card block: show margin_to_post, loss_at_stop, liq_dist_pct - P&L grid uses user's actual leverage (not capped at 4) - Units renamed to 'BingX qty' with enter-on-BingX hint - Isolated margin + stop order warnings on every cardabbae51 -
feat: price action analysis — candlestick patterns, chart patterns, OBs, FVGs, confluence grading
cb145d1
-
Market Signals v2: event-based detectors + free news sources
signals.py — complete architecture rewrite: - 5 independent event detectors, each self-qualifies (no combined gate) - RSI Extreme Cross: fires on 30/70 crossover or ≤20/≥80 extreme - Volume Surge: ≥2× 7-day hourly average (institution-level activity) - BB Squeeze Release: width expands ≥15% from squeeze low + ATR confirm - Funding Extreme: >0.05% (long squeeze) or <-0.01% (short squeeze) - 24h Price Surge: ≥8% move or ≥12% day range (news-driven moves) - New universe: volume ranks 6-50 (mid-caps) + BTC/ETH anchors - Expected signals per scan: 5-15 (vs 0 before) catalyst.py — 3 free news sources added (no API key needed): - CoinGecko /search/trending: top 7 coins by search volume - CoinDesk RSS: live headlines with coin mentions tagged - Cointelegraph RSS: live altcoin headlines - fetch_crypto_headlines() combines all 3, cached 10 min main.py: - /api/signals uses new build_signal_universe() + ticker_map - /api/news endpoint: returns trending + headlines for frontend frontend: - build…5094a5b -
UI/UX: 7 panel fixes — perf, typography, mobile, interactions, data viz
79f8e5a -
Fix 5: Live signal logger + honest backtest label
- signal_log.py: logs every non-vetoed card, deduplicates within 4h, resolves outcomes via 48h price range (TP1/SL hit detection) - main.py: auto-log on /api/scan and /api/card/{symbol}, new GET /api/signal-accuracy and POST /api/resolve-signals endpoints - frontend: Global Live Accuracy bar above scan results, Live Accuracy panel on each card showing win rate + recent signal log, Backtest label renamed to 'Signal History · structure+vol' with tooltip clarifying that funding/news (40%) are excluded from backtest replay37cf0c1 -
fix: TP P&L show cents when notional small
95db451 -
Fix: 4 critical accuracy fixes from 6-agent panel audit
Fix 1 (scorer.py): Hard R/R veto gate - Cards with R/R < 1.0 now get vetoed=True + veto_reason explaining breakeven win rate needed - Frontend shows red NO TRADE banner with explanation - No more surfacing mathematically losing trades as actionable signals Fix 2 (backtest.py): Align ATR timeframe with live scorer - Switched from 1h candles to 15m candles (same as scorer.py SL/TP logic) - LOOKBACK_BARS = 17,280 (6 months of 15m bars) - MAX_HOLD_BARS = 480 (5 days in 15m bars) - 1h ATR was ~2x 15m ATR causing backtested TP2 to be unreachably far - This directly explains 0% backtest win rate when user won both live trades Fix 3 (backtest.py + frontend): Dual TP1/TP2 win rate tracking - Backtest now tracks both TP1 win (1.5x ATR hit before SL) and TP2 win (2.5x ATR) - TP1 win rate is the PRIMARY metric (matches how most traders actually exit) - Frontend shows TP1 Win Rate as main number + TP2 comparison row - State breakdown shows both TP1% and TP2% per market regime Fix 4 (scorer.py + …34bf5b4
-
fix: RR color coding, EV+RR penalty on confidence score, warning badge
8b127f3 -
fix: paginated kline fetch for backtest (500→4320 bars), fix ?mo bug
0b71b54 -
feat: walk-forward backtesting layer — backtest.py, /api/backtest, p_win blend, frontend panel
8506514 -
feat: Markov + HMM market state analysis
cecb83e -
fix: hard cap leverage at 4x — all P&L and display respects the limit
5167e9a -
feat: Market Signals — major move detector
- signals.py: 4 detectors (breakout/acceleration/reversal/news spike) each 0-3 pts, fires at score>=6 AND 2+ detectors triggered - /api/signals endpoint: scans top 20 liquid coins, cached 5 min - Frontend: dedicated Signals panel above trade cards, auto-loads on open cards show move type badges, score bar, reasons, urgency level (critical/high/medium) - Also includes goal-based leverage + dollar P&L at every level from prev commita2f9fd8 -
feat: goal-based leverage + dollar P&L at every level
bbe26f6 -
feat: live catalyst scoring — Fear & Greed + CryptoPanic news sentiment
- Add catalyst.py: F&G Index (free, cached 1h) + CryptoPanic per-coin news (weighted by recency, votes, importance; cached 15min per coin) - Replace scorer.py hardcoded 0.5 catalyst with real score_catalyst() call - main.py: read CRYPTOPANIC_TOKEN env var, add /api/catalyst debug endpoint - Frontend: F&G pill in navbar (emoji + label + value, color-coded by zone) news sentiment badge on trade cards (bullish/bearish/neutral/no-key) - No new pip deps — stdlib only (urllib, json, math)211652b -
Research-based redesign: 60/30/10 colors, Space Grotesk display font, tabular-nums, semantic trading colors
Utkarsh Pathak134aa42 -
Loader: morphing gradient blob, dancing bars, clean step pipeline, no emoji
Utkarsh Pathaka95ccf0 -
Loader redesign: radar orb, step pipeline, live counter, sweep animation
Utkarsh Pathak67c0def -
Major UI/UX overhaul: aceternity-style cards, animated mesh bg, ticker tape, microinteractions
Utkarsh Pathak0773288 -
Live price ticker every 5s + configurable 1/2/5min full rescan
Utkarsh Pathak7bb81a6 -
Multi-source fusion: BingX candles + Binance OI/funding cross-validation
Utkarsh Pathak18e0bea -
Add auto-refresh with 5min countdown timer
Utkarsh Pathak4640786 -
Sync frontend: exchange badge, funding rate, OI, live stats, BingX symbol fix
Utkarsh Pathak7d27285 -
Fix: show USDT label on cards
Utkarsh Pathakf0a6ceb -
Redesign 3: light mode, liquid glass, teal accent, hero orbs
Utkarsh Pathakddd5ca4
-
Premium redesign: deep navy, indigo/cyan palette, hero section, grid lines, noise texture
Utkarsh Pathak8c91789 -
Apple-style UI: fluid animations, glass nav, spring physics
Utkarsh Pathak45800a3