📡swing_news_sentiment.py fetches today's news headlines for each Nifty 500 sector
🤖Claude LLM scores each sector: positive / mild_positive / neutral / cautious / negative
📊Technical scan scores stocks on: RSI, MACD, Bollinger, volume surge, 20-DMA position, momentum
🎯Combines tech score + sentiment score → top candidates with entry, stop, T1 (1.5×R), T2 (2.5×R), R/R ratio
🔀History blending: 40% today's signal + 60% 7-day rolling average → smooths out single-day noise
📤Results posted to Railway: /signals/upload (swing_news_sentiment) + /swing/candidates/upload
SCAN_DAYS = 1 (today's news only, blended with history)
ATR_MULT = 2.0 (stop = entry − 2×ATR)
T1 = entry + 1.5 × risk
T2 = entry + 2.5 × risk