{"ticker":"ROP","composite":56,"action":"WATCH","price":353.32,"change_5d":1.92,"gates":{"price":true,"catalyst":true,"flow":false,"risk":false},"gate_reasons":[{"key":"price","pass":true,"reason":"Composite 56 clears the structure bar"},{"key":"catalyst","pass":true,"reason":"EARNINGS inside window (3d)"},{"key":"flow","pass":false,"reason":"Flow weak (vol 0.3× · CMF -0.03 — need volume or positive money flow)"},{"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":53,"macd":53,"squeeze":45,"atr":39,"cmf":48,"volume":11,"momentum":65,"relStr":60},"verdict":"THIN","edge_score":45,"rr":0.8,"off_index":false,"generated_at":"2026-07-21T19:27:16.563Z","engine_version":"4.8.2","source":"analytics24-engine","docs":"https://www.analytics24.com/developers"}