{"ticker":"RJF","composite":54,"action":"WATCH","price":168.96,"change_5d":0.91,"gates":{"price":false,"catalyst":true,"flow":true,"risk":true},"gate_reasons":[{"key":"price","pass":false,"reason":"Composite 54 below structure bar (need ≥55 or a signal flag)"},{"key":"catalyst","pass":true,"reason":"EARNINGS inside window (2d)"},{"key":"flow","pass":true,"reason":"Flow ok (vol 0.2× · CMF 0.08)"},{"key":"risk","pass":true,"reason":"R:R 1.1:1 clears risk"}],"demotion":"WATCH: price/structure gate failed (composite 54)","components":{"rsi":65,"macd":60,"squeeze":28,"atr":29,"cmf":56,"volume":8,"momentum":57,"relStr":55},"verdict":"WATCH","edge_score":36,"rr":1.1,"off_index":false,"generated_at":"2026-07-21T17:46:22.571Z","engine_version":"4.8.2","source":"analytics24-engine","docs":"https://www.analytics24.com/developers"}