{"ticker":"TMO","composite":45,"action":"WATCH","price":521.84,"change_5d":-2.29,"gates":{"price":false,"catalyst":true,"flow":true,"risk":false},"gate_reasons":[{"key":"price","pass":false,"reason":"Composite 45 below structure bar (need ≥55 or a signal flag)"},{"key":"catalyst","pass":true,"reason":"EARNINGS inside window (3d)"},{"key":"flow","pass":true,"reason":"Flow ok (vol 1.2× · CMF 0.27)"},{"key":"risk","pass":false,"reason":"R:R 0.9:1 fails risk gate (need ≥ 1:1 for ENTRY)"}],"demotion":"WATCH: risk gate failed (R:R 0.9:1 < 1:1)","components":{"rsi":56,"macd":30,"squeeze":49,"atr":34,"cmf":72,"volume":44,"momentum":32,"relStr":43},"verdict":"THIN","edge_score":41,"rr":0.9,"off_index":false,"generated_at":"2026-07-21T19:32:03.254Z","engine_version":"4.8.2","source":"analytics24-engine","docs":"https://www.analytics24.com/developers"}