{"ticker":"ULTA","composite":63,"action":"WATCH","price":492.4,"change_5d":4.96,"gates":{"price":true,"catalyst":false,"flow":true,"risk":false},"gate_reasons":[{"key":"price","pass":true,"reason":"Composite 63 clears the structure bar"},{"key":"catalyst","pass":false,"reason":"No dated catalyst inside the 2-week trade window"},{"key":"flow","pass":true,"reason":"Flow ok (vol 0.4× · CMF 0.08)"},{"key":"risk","pass":false,"reason":"R:R 0.8:1 fails risk gate (need ≥ 1:1 for ENTRY)"}],"demotion":"WATCH: risk gate failed (R:R 0.8:1 < 1:1)","components":{"rsi":60,"macd":100,"squeeze":55,"atr":31,"cmf":56,"volume":13,"momentum":90,"relStr":72},"verdict":"THIN","edge_score":5,"rr":0.8,"off_index":false,"generated_at":"2026-07-21T17:21:47.354Z","engine_version":"4.8.2","source":"analytics24-engine","docs":"https://www.analytics24.com/developers"}