- Enhanced DNS failover monitor on secondary (72.62.39.24)
- Auto-promotes database: pg_ctl promote on failover
- Creates DEMOTED flag on primary via SSH (split-brain protection)
- Telegram notifications with database promotion status
- Startup safety script ready (integration pending)
- 90-second automatic recovery vs 10-30 min manual
- Zero-cost 95% enterprise HA benefit
Status: DEPLOYED and MONITORING (14:52 CET)
Next: Controlled failover test during maintenance
CRITICAL: 1-minute ATR data feed not working - Telegram bot timing out
Root cause:
- TradingView alert sends action: 'market_data_1min'
- Endpoint checked for exact match: 'market_data'
- Result: 400 Bad Request, no data cached
The fix:
- Accept both 'market_data' and 'market_data_1min'
- Prevents rejection of 1-minute TradingView alerts
- Enables fresh ATR data for manual Telegram trades
User symptom: 'long sol' → timeout → fallback to preset ATR 0.43
After fix: 'long sol' → waits for fresh 1min data → uses real ATR
Files changed:
- app/api/trading/market-data/route.ts line 64-71
- Problem: FARTCOIN signals being treated as SOL-PERP
- Root cause: Symbol normalization checked includes('SOL') before FARTCOIN
- Since TradingView may send symbols with 'SOL' in name, order matters
Files changed:
- config/trading.ts: Reordered checks (FARTCOIN before SOL)
- app/api/trading/market-data/route.ts: Added FARTCOIN mappings
Symbol matching now checks:
1. FARTCOIN/FART (most specific)
2. SOL (catch-all for Solana)
3. BTC, ETH (other majors)
4. Default fallback
This fixes TradingView alerts for FARTCOIN 5-min and 1-min data
collection being incorrectly stored as SOL-PERP in BlockedSignal table.
Status: ✅ DEPLOYED Dec 7, 2025 19:30 CET
Next FARTCOIN signal will correctly save as FARTCOIN-PERP
- Add market data cache service (5min expiry) for storing TradingView metrics
- Create /api/trading/market-data webhook endpoint for continuous data updates
- Add /api/analytics/reentry-check endpoint for validating manual trades
- Update execute endpoint to auto-cache metrics from incoming signals
- Enhance Telegram bot with pre-execution analytics validation
- Support --force flag to override analytics blocks
- Use fresh ADX/ATR/RSI data when available, fallback to historical
- Apply performance modifiers: -20 for losing streaks, +10 for winning
- Minimum re-entry score 55 (vs 60 for new signals)
- Fail-open design: proceeds if analytics unavailable
- Show data freshness and source in Telegram responses
- Add comprehensive setup guide in docs/guides/REENTRY_ANALYTICS_QUICKSTART.md
Phase 1 implementation for smart manual trade validation.