{"type":"snapshot","id":"f1be65395309","ts":"2026-08-28T13:30:05+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"237b3253f42c","ts":"2026-08-28T13:30:05+00:00","symbol":"XLAB","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"6b12cf0cbc0d","ts":"2026-08-28T13:30:05+00:00","symbol":"KLAR","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"5fdd861a9142","ts":"2026-08-28T13:30:05+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"1b218e3f96d4","ts":"2026-08-28T13:30:05+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"66887bb8c279","ts":"2026-08-28T13:30:05+00:00","symbol":"NVAX","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"6423ccca3d16","ts":"2026-08-28T13:30:05+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"ce6ff790c34a","ts":"2026-08-28T13:30:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"d0df7be6109b","ts":"2026-08-28T13:30:05+00:00","symbol":"F","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"527df92cf2c1","ts":"2026-08-28T13:30:05+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"ec21b913a62f","ts":"2026-08-28T13:30:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"c7352f3ffede","ts":"2026-08-28T13:30:05+00:00","symbol":"TGB","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"e2663e0f04ef","ts":"2026-08-28T13:30:05+00:00","symbol":"BB","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"58722c40bcf1","ts":"2026-08-28T13:30:05+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"7972e2a3967f","ts":"2026-08-28T13:30:05+00:00","symbol":"QS","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"6a914684c5e9","ts":"2026-08-28T13:30:05+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"298af5127bcd","ts":"2026-08-28T13:30:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"8f58b59ffce9","ts":"2026-08-28T13:30:05+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"b04620ebac17","ts":"2026-08-28T13:30:05+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"199881a4f23d","ts":"2026-08-28T13:30:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"0acef61a4083","ts":"2026-08-28T13:30:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"03da2bbcdc61","ts":"2026-08-28T13:30:05+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"a2f8e6cba6de","ts":"2026-08-28T13:30:05+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"fa6c222f1e2c","ts":"2026-08-28T13:30:05+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"c492868c2a64","ts":"2026-08-28T13:30:05+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"fb72f278457c","ts":"2026-08-28T13:30:05+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"46c65da5a0ac","ts":"2026-08-28T13:30:05+00:00","symbol":"ONDS","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"65fd54ea0af9","ts":"2026-08-28T13:30:05+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"add2a6dc0758","ts":"2026-08-28T13:30:05+00:00","symbol":"BETR","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"41f87bff12cf","ts":"2026-08-28T13:30:25+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"insufficient bar data","plan":{"state":null,"setup":null,"stop":null,"target":null,"target_label":null,"reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":null,"vwap":null,"ext_from_open_pct":null,"max_ext_allowed_pct":null,"volume_pace":null,"trend":null,"recent_slope_pct":null,"volatility":null},"error":"no_bars_today"}
{"type":"snapshot","id":"6e56f4d0161c","ts":"2026-08-28T13:32:05+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.56 below VWAP $8.81","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.5589,"vwap":8.8082,"ext_from_open_pct":-3.83,"max_ext_allowed_pct":4.0,"volume_pace":25.099,"trend":"negative","recent_slope_pct":-1.1662,"volatility":"high"},"price":8.5589,"volume":{"bars":2,"last_bar_volume":39136.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":163,"trade_rate":5.433333,"buy_vol":5995.0,"sell_vol":21351.0,"unclassified_vol":0.0,"imbalance":-0.561545,"bid":8.55,"ask":8.56,"spread_pct":0.116891,"quote_size_imbalance":null,"quote_age_s":2.084313},"context":{"vwap":8.809038,"price_vs_vwap_pct":-2.839561,"ema9":8.72008,"ema20":8.741043,"ema_stack":false,"ema_warm":false,"hod":9.18,"dist_to_hod_pct":-6.765795,"dist_to_hod_atr":1.222982,"atr":0.507857,"spread_atr":0.019691,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"110a57c8fe25","ts":"2026-08-28T13:32:05+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.03 below VWAP $6.12","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":6.03,"vwap":6.1152,"ext_from_open_pct":-2.74,"max_ext_allowed_pct":4.0,"volume_pace":8.646,"trend":"negative","recent_slope_pct":-1.0703,"volatility":"high"},"price":6.03,"volume":{"bars":2,"last_bar_volume":13383.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":88,"trade_rate":2.933333,"buy_vol":1266.0,"sell_vol":2404.0,"unclassified_vol":0.0,"imbalance":-0.310082,"bid":6.02,"ask":6.03,"spread_pct":0.165975,"quote_size_imbalance":null,"quote_age_s":9.252},"context":{"vwap":6.115957,"price_vs_vwap_pct":-1.405447,"ema9":6.13376,"ema20":6.147505,"ema_stack":false,"ema_warm":false,"hod":6.2,"dist_to_hod_pct":-2.741935,"dist_to_hod_atr":2.902439,"atr":0.058571,"spread_atr":0.170732,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"b3fae614d9e2","ts":"2026-08-28T13:32:05+00:00","symbol":"KLAR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.02,"vwap":14.8036,"ext_from_open_pct":0.67,"max_ext_allowed_pct":4.0,"volume_pace":28.427,"trend":"positive","recent_slope_pct":1.2251,"volatility":"high"},"price":15.02,"volume":{"bars":2,"last_bar_volume":185349.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":664,"trade_rate":22.133333,"buy_vol":75463.0,"sell_vol":58159.0,"unclassified_vol":0.0,"imbalance":0.1295,"bid":14.98,"ask":15.04,"spread_pct":0.399734,"quote_size_imbalance":null,"quote_age_s":0.481054},"context":{"vwap":14.800493,"price_vs_vwap_pct":1.483105,"ema9":14.727,"ema20":14.689286,"ema_stack":true,"ema_warm":false,"hod":15.07,"dist_to_hod_pct":-0.331785,"dist_to_hod_atr":0.130719,"atr":0.3825,"spread_atr":0.156863,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"74ba25de848e","ts":"2026-08-28T13:32:05+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.48,"vwap":5.4657,"ext_from_open_pct":0.18,"max_ext_allowed_pct":5.0,"volume_pace":7.188,"trend":"positive","recent_slope_pct":0.137,"volatility":"medium"},"price":5.48,"volume":{"bars":2,"last_bar_volume":61850.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":17130.0,"sell_vol":45.0,"unclassified_vol":0.0,"imbalance":0.99476,"bid":5.47,"ask":5.48,"spread_pct":0.182648,"quote_size_imbalance":null,"quote_age_s":0.062146},"context":{"vwap":5.465659,"price_vs_vwap_pct":0.262392,"ema9":5.467,"ema20":5.465952,"ema_stack":true,"ema_warm":false,"hod":5.48,"dist_to_hod_pct":0.0,"dist_to_hod_atr":0.0,"atr":0.029286,"spread_atr":0.341463,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"4e438398b75c","ts":"2026-08-28T13:32:05+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.41 below VWAP $6.55","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":6.41,"vwap":6.5487,"ext_from_open_pct":-4.19,"max_ext_allowed_pct":4.0,"volume_pace":6.771,"trend":"negative","recent_slope_pct":-0.5444,"volatility":"high"},"price":6.41,"volume":{"bars":2,"last_bar_volume":27705.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":1532.0,"sell_vol":4951.0,"unclassified_vol":0.0,"imbalance":-0.527379,"bid":6.42,"ask":6.48,"spread_pct":0.930233,"quote_size_imbalance":null,"quote_age_s":0.776407},"context":{"vwap":6.550907,"price_vs_vwap_pct":-2.150952,"ema9":6.48024,"ema20":6.480271,"ema_stack":false,"ema_warm":false,"hod":6.78,"dist_to_hod_pct":-5.457227,"dist_to_hod_atr":1.172476,"atr":0.315571,"spread_atr":0.190131,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"a25664c728e8","ts":"2026-08-28T13:32:05+00:00","symbol":"NVAX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.07 below VWAP $9.17","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":9.07,"vwap":9.1737,"ext_from_open_pct":-1.2,"max_ext_allowed_pct":5.0,"volume_pace":8.555,"trend":"negative","recent_slope_pct":-0.9596,"volatility":"medium"},"price":9.07,"volume":{"bars":2,"last_bar_volume":61220.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":231,"trade_rate":7.7,"buy_vol":15763.0,"sell_vol":20854.0,"unclassified_vol":0.0,"imbalance":-0.139034,"bid":9.05,"ask":9.1,"spread_pct":0.550964,"quote_size_imbalance":null,"quote_age_s":0.141435},"context":{"vwap":9.180136,"price_vs_vwap_pct":-1.199724,"ema9":9.204,"ema20":9.225476,"ema_stack":false,"ema_warm":false,"hod":9.3,"dist_to_hod_pct":-2.473118,"dist_to_hod_atr":1.672727,"atr":0.1375,"spread_atr":0.363636,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"24bee4c7173d","ts":"2026-08-28T13:32:05+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.41 below VWAP $11.43","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.41,"vwap":11.4336,"ext_from_open_pct":-0.61,"max_ext_allowed_pct":4.0,"volume_pace":4.987,"trend":"flat","recent_slope_pct":-0.0622,"volatility":"medium"},"price":11.41,"volume":{"bars":2,"last_bar_volume":29080.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":16607.0,"sell_vol":6701.0,"unclassified_vol":0.0,"imbalance":0.425004,"bid":11.39,"ask":11.43,"spread_pct":0.35057,"quote_size_imbalance":null,"quote_age_s":0.235707},"context":{"vwap":11.434042,"price_vs_vwap_pct":-0.210266,"ema9":11.42022,"ema20":11.422305,"ema_stack":false,"ema_warm":false,"hod":11.51,"dist_to_hod_pct":-0.86881,"dist_to_hod_atr":0.779597,"atr":0.128271,"spread_atr":0.311839,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"f3653b937be4","ts":"2026-08-28T13:32:05+00:00","symbol":"F","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.18,"vwap":14.1589,"ext_from_open_pct":0.42,"max_ext_allowed_pct":3.0,"volume_pace":1.094,"trend":"flat","recent_slope_pct":0.0353,"volatility":"low"},"price":14.18,"volume":{"bars":2,"last_bar_volume":45282.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":4799.0,"sell_vol":372.0,"unclassified_vol":0.0,"imbalance":0.856121,"bid":14.17,"ask":14.19,"spread_pct":0.141044,"quote_size_imbalance":null,"quote_age_s":0.645325},"context":{"vwap":14.158829,"price_vs_vwap_pct":0.149528,"ema9":14.172,"ema20":14.170952,"ema_stack":true,"ema_warm":false,"hod":14.19,"dist_to_hod_pct":-0.070472,"dist_to_hod_atr":0.150538,"atr":0.066429,"spread_atr":0.301075,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"013c2a326b91","ts":"2026-08-28T13:32:05+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.97","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":10.964,"vwap":10.9683,"ext_from_open_pct":-0.05,"max_ext_allowed_pct":4.0,"volume_pace":5.954,"trend":"negative","recent_slope_pct":-0.0501,"volatility":"low"},"price":10.964,"volume":{"bars":2,"last_bar_volume":65046.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":113,"trade_rate":3.766667,"buy_vol":19665.0,"sell_vol":17890.0,"unclassified_vol":0.0,"imbalance":0.047264,"bid":10.97,"ask":10.98,"spread_pct":0.091116,"quote_size_imbalance":null,"quote_age_s":0.213845},"context":{"vwap":10.968267,"price_vs_vwap_pct":-0.038903,"ema9":10.974,"ema20":10.974524,"ema_stack":false,"ema_warm":false,"hod":10.98,"dist_to_hod_pct":-0.145719,"dist_to_hod_atr":0.541324,"atr":0.029557,"spread_atr":0.338328,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"4bc04a0a7b29","ts":"2026-08-28T13:32:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.3899,"vwap":5.3623,"ext_from_open_pct":0.75,"max_ext_allowed_pct":3.0,"volume_pace":2.954,"trend":"positive","recent_slope_pct":0.2778,"volatility":"medium"},"price":5.3899,"volume":{"bars":2,"last_bar_volume":52219.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":99,"trade_rate":3.3,"buy_vol":8603.0,"sell_vol":13807.0,"unclassified_vol":0.0,"imbalance":-0.232218,"bid":5.38,"ask":5.39,"spread_pct":0.185701,"quote_size_imbalance":null,"quote_age_s":0.015591},"context":{"vwap":5.362152,"price_vs_vwap_pct":0.517483,"ema9":5.367,"ema20":5.363333,"ema_stack":true,"ema_warm":false,"hod":5.4,"dist_to_hod_pct":-0.187037,"dist_to_hod_atr":0.169341,"atr":0.059643,"spread_atr":0.167665,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"48b205f8d544","ts":"2026-08-28T13:32:05+00:00","symbol":"TGB","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.70 below VWAP $9.78","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":9.7,"vwap":9.7809,"ext_from_open_pct":-0.51,"max_ext_allowed_pct":3.0,"volume_pace":1.807,"trend":"negative","recent_slope_pct":-0.615,"volatility":"medium"},"price":9.7,"volume":{"bars":2,"last_bar_volume":10612.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":3048.0,"sell_vol":4706.0,"unclassified_vol":0.0,"imbalance":-0.213825,"bid":9.68,"ask":9.7,"spread_pct":0.206398,"quote_size_imbalance":null,"quote_age_s":0.390583},"context":{"vwap":9.783105,"price_vs_vwap_pct":-0.849475,"ema9":9.806,"ema20":9.813333,"ema_stack":false,"ema_warm":false,"hod":9.82,"dist_to_hod_pct":-1.221996,"dist_to_hod_atr":1.16263,"atr":0.103214,"spread_atr":0.193772,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"4c37e95ae90e","ts":"2026-08-28T13:32:05+00:00","symbol":"BB","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.57 below VWAP $8.60","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.5699,"vwap":8.6006,"ext_from_open_pct":-0.35,"max_ext_allowed_pct":4.0,"volume_pace":6.519,"trend":"negative","recent_slope_pct":-0.3505,"volatility":"medium"},"price":8.5699,"volume":{"bars":2,"last_bar_volume":68863.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":145,"trade_rate":4.833333,"buy_vol":17436.0,"sell_vol":13629.0,"unclassified_vol":0.0,"imbalance":0.122549,"bid":8.55,"ask":8.58,"spread_pct":0.350263,"quote_size_imbalance":null,"quote_age_s":0.110644},"context":{"vwap":8.602004,"price_vs_vwap_pct":-0.37321,"ema9":8.608,"ema20":8.619524,"ema_stack":false,"ema_warm":false,"hod":8.66,"dist_to_hod_pct":-1.040416,"dist_to_hod_atr":0.750833,"atr":0.12,"spread_atr":0.25,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"ed07b9900ab4","ts":"2026-08-28T13:32:05+00:00","symbol":"QS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.962,"vwap":5.9171,"ext_from_open_pct":1.39,"max_ext_allowed_pct":4.0,"volume_pace":2.663,"trend":"positive","recent_slope_pct":0.5218,"volatility":"medium"},"price":5.962,"volume":{"bars":2,"last_bar_volume":74609.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":21103.0,"sell_vol":14415.0,"unclassified_vol":0.0,"imbalance":0.188299,"bid":5.95,"ask":5.97,"spread_pct":0.33557,"quote_size_imbalance":null,"quote_age_s":0.036787},"context":{"vwap":5.916922,"price_vs_vwap_pct":0.761844,"ema9":5.912,"ema20":5.905714,"ema_stack":true,"ema_warm":false,"hod":5.97,"dist_to_hod_pct":-0.134003,"dist_to_hod_atr":0.131765,"atr":0.060714,"spread_atr":0.329412,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"22da5ef1e232","ts":"2026-08-28T13:32:05+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.39 below VWAP $5.40","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.39,"vwap":5.3996,"ext_from_open_pct":-0.37,"max_ext_allowed_pct":4.0,"volume_pace":3.875,"trend":"flat","recent_slope_pct":0.0928,"volatility":"high"},"price":5.39,"volume":{"bars":2,"last_bar_volume":66574.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":40961.0,"sell_vol":9554.0,"unclassified_vol":0.0,"imbalance":0.621736,"bid":5.38,"ask":5.4,"spread_pct":0.371058,"quote_size_imbalance":null,"quote_age_s":5.608316},"context":{"vwap":5.399664,"price_vs_vwap_pct":-0.178979,"ema9":5.382,"ema20":5.380952,"ema_stack":true,"ema_warm":false,"hod":5.45,"dist_to_hod_pct":-1.100917,"dist_to_hod_atr":0.774194,"atr":0.0775,"spread_atr":0.258065,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"b4c481367a73","ts":"2026-08-28T13:32:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":13.55,"vwap":13.5123,"ext_from_open_pct":0.37,"max_ext_allowed_pct":3.0,"volume_pace":2.445,"trend":"positive","recent_slope_pct":0.1478,"volatility":"medium"},"price":13.55,"volume":{"bars":2,"last_bar_volume":3415.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":25,"trade_rate":0.833333,"buy_vol":1091.0,"sell_vol":972.0,"unclassified_vol":0.0,"imbalance":0.057683,"bid":13.55,"ask":13.58,"spread_pct":0.221157,"quote_size_imbalance":null,"quote_age_s":2.886053},"context":{"vwap":13.511325,"price_vs_vwap_pct":0.286243,"ema9":13.517,"ema20":13.513333,"ema_stack":true,"ema_warm":false,"hod":13.545,"dist_to_hod_pct":0.036914,"dist_to_hod_atr":-0.126126,"atr":0.039643,"spread_atr":0.756757,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"6e9eb7db3945","ts":"2026-08-28T13:32:05+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.085,"vwap":5.056,"ext_from_open_pct":0.49,"max_ext_allowed_pct":3.0,"volume_pace":1.875,"trend":"positive","recent_slope_pct":0.4438,"volatility":"high"},"price":5.085,"volume":{"bars":2,"last_bar_volume":43412.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":17501.0,"sell_vol":8779.0,"unclassified_vol":0.0,"imbalance":0.331887,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":5.992253},"context":{"vwap":5.055966,"price_vs_vwap_pct":0.574243,"ema9":5.049,"ema20":5.044286,"ema_stack":true,"ema_warm":false,"hod":5.1,"dist_to_hod_pct":-0.294118,"dist_to_hod_atr":0.189189,"atr":0.079286,"spread_atr":0.126126,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"ffce8e5d4721","ts":"2026-08-28T13:32:05+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.43 below VWAP $10.50","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":10.4302,"vwap":10.496,"ext_from_open_pct":-0.94,"max_ext_allowed_pct":4.0,"volume_pace":3.167,"trend":"negative","recent_slope_pct":-0.2928,"volatility":"medium"},"price":10.4302,"volume":{"bars":2,"last_bar_volume":168148.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":145,"trade_rate":4.833333,"buy_vol":14997.0,"sell_vol":36987.0,"unclassified_vol":0.0,"imbalance":-0.423015,"bid":10.43,"ask":10.44,"spread_pct":0.095831,"quote_size_imbalance":null,"quote_age_s":0.48929},"context":{"vwap":10.496389,"price_vs_vwap_pct":-0.630585,"ema9":10.47912,"ema20":10.485552,"ema_stack":false,"ema_warm":false,"hod":10.55,"dist_to_hod_pct":-1.135545,"dist_to_hod_atr":1.517828,"atr":0.078929,"spread_atr":0.126697,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"863351155d36","ts":"2026-08-28T13:32:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.125,"vwap":11.11,"ext_from_open_pct":-0.13,"max_ext_allowed_pct":4.0,"volume_pace":6.577,"trend":"positive","recent_slope_pct":0.2021,"volatility":"high"},"price":11.125,"volume":{"bars":2,"last_bar_volume":37391.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":4482.0,"sell_vol":4637.0,"unclassified_vol":0.0,"imbalance":-0.016997,"bid":11.11,"ask":11.14,"spread_pct":0.269663,"quote_size_imbalance":null,"quote_age_s":1.023461},"context":{"vwap":11.109893,"price_vs_vwap_pct":0.135975,"ema9":11.08908,"ema20":11.084376,"ema_stack":true,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-0.508858,"dist_to_hod_atr":0.515699,"atr":0.110336,"spread_atr":0.271897,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"d0b90f11c417","ts":"2026-08-28T13:32:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.2532,"vwap":7.2295,"ext_from_open_pct":1.02,"max_ext_allowed_pct":3.0,"volume_pace":2.292,"trend":"flat","recent_slope_pct":0.0221,"volatility":"medium"},"price":7.2532,"volume":{"bars":2,"last_bar_volume":32315.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":11118.0,"sell_vol":6639.0,"unclassified_vol":0.0,"imbalance":0.252239,"bid":7.25,"ask":7.26,"spread_pct":0.137836,"quote_size_imbalance":null,"quote_age_s":0.365155},"context":{"vwap":7.228499,"price_vs_vwap_pct":0.34172,"ema9":7.25198,"ema20":7.250943,"ema_stack":true,"ema_warm":false,"hod":7.26,"dist_to_hod_pct":-0.093664,"dist_to_hod_atr":0.080555,"atr":0.084414,"spread_atr":0.118463,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"9ff7d15c6b8e","ts":"2026-08-28T13:32:05+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.17,"vwap":7.1535,"ext_from_open_pct":0.42,"max_ext_allowed_pct":4.0,"volume_pace":2.813,"trend":"positive","recent_slope_pct":0.1745,"volatility":"medium"},"price":7.17,"volume":{"bars":2,"last_bar_volume":27345.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":93,"trade_rate":3.1,"buy_vol":12745.0,"sell_vol":4334.0,"unclassified_vol":0.0,"imbalance":0.492476,"bid":7.17,"ask":7.18,"spread_pct":0.139373,"quote_size_imbalance":null,"quote_age_s":0.456365},"context":{"vwap":7.153054,"price_vs_vwap_pct":0.236904,"ema9":7.15002,"ema20":7.14739,"ema_stack":true,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.139276,"dist_to_hod_atr":0.202928,"atr":0.049279,"spread_atr":0.202928,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"32ad5b21a2ea","ts":"2026-08-28T13:32:05+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.07,"vwap":8.0186,"ext_from_open_pct":1.13,"max_ext_allowed_pct":4.0,"volume_pace":2.816,"trend":"positive","recent_slope_pct":0.4976,"volatility":"high"},"price":8.07,"volume":{"bars":2,"last_bar_volume":10240.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":4792.0,"sell_vol":3002.0,"unclassified_vol":0.0,"imbalance":0.229664,"bid":8.05,"ask":8.08,"spread_pct":0.371978,"quote_size_imbalance":null,"quote_age_s":3.26202},"context":{"vwap":8.018608,"price_vs_vwap_pct":0.640906,"ema9":8.003,"ema20":7.99619,"ema_stack":true,"ema_warm":false,"hod":8.09,"dist_to_hod_pct":-0.247219,"dist_to_hod_atr":0.169697,"atr":0.117857,"spread_atr":0.254545,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"bf28e7946936","ts":"2026-08-28T13:32:05+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.9101,"vwap":5.8995,"ext_from_open_pct":0.51,"max_ext_allowed_pct":5.0,"volume_pace":3.629,"trend":"positive","recent_slope_pct":0.1712,"volatility":"high"},"price":5.9101,"volume":{"bars":2,"last_bar_volume":45337.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":86,"trade_rate":2.866667,"buy_vol":13000.0,"sell_vol":8987.0,"unclassified_vol":0.0,"imbalance":0.182517,"bid":5.91,"ask":5.92,"spread_pct":0.169062,"quote_size_imbalance":null,"quote_age_s":0.304984},"context":{"vwap":5.899451,"price_vs_vwap_pct":0.180508,"ema9":5.89192,"ema20":5.890862,"ema_stack":true,"ema_warm":false,"hod":5.93,"dist_to_hod_pct":-0.335582,"dist_to_hod_atr":0.412741,"atr":0.048214,"spread_atr":0.207407,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"4a7297d8d33b","ts":"2026-08-28T13:32:05+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":9.765,"vwap":9.6603,"ext_from_open_pct":1.51,"max_ext_allowed_pct":4.0,"volume_pace":2.445,"trend":"positive","recent_slope_pct":0.6119,"volatility":"high"},"price":9.765,"volume":{"bars":2,"last_bar_volume":73295.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":191,"trade_rate":6.366667,"buy_vol":25221.0,"sell_vol":5990.0,"unclassified_vol":0.0,"imbalance":0.616161,"bid":9.76,"ask":9.77,"spread_pct":0.102407,"quote_size_imbalance":null,"quote_age_s":0.363878},"context":{"vwap":9.65743,"price_vs_vwap_pct":1.113853,"ema9":9.6685,"ema20":9.656714,"ema_stack":true,"ema_warm":false,"hod":9.7662,"dist_to_hod_pct":-0.012287,"dist_to_hod_atr":0.010837,"atr":0.110729,"spread_atr":0.090311,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"72727e69d9fa","ts":"2026-08-28T13:32:05+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.93 below VWAP $10.04","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":9.93,"vwap":10.0382,"ext_from_open_pct":-0.5,"max_ext_allowed_pct":4.0,"volume_pace":22.15,"trend":"negative","recent_slope_pct":-0.8013,"volatility":"high"},"price":9.93,"volume":{"bars":2,"last_bar_volume":4490.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":1015.0,"sell_vol":1368.0,"unclassified_vol":0.0,"imbalance":-0.148133,"bid":9.85,"ask":10.01,"spread_pct":1.611279,"quote_size_imbalance":null,"quote_age_s":10.083647},"context":{"vwap":10.03819,"price_vs_vwap_pct":-1.077786,"ema9":10.058,"ema20":10.074762,"ema_stack":false,"ema_warm":false,"hod":10.1799,"dist_to_hod_pct":-2.454837,"dist_to_hod_atr":0.783508,"atr":0.31895,"spread_atr":0.501646,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"26f23836e046","ts":"2026-08-28T13:32:05+00:00","symbol":"ONDS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.685,"vwap":8.6005,"ext_from_open_pct":1.46,"max_ext_allowed_pct":3.0,"volume_pace":1.657,"trend":"positive","recent_slope_pct":0.4927,"volatility":"high"},"price":8.685,"volume":{"bars":2,"last_bar_volume":101359.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":156,"trade_rate":5.2,"buy_vol":26344.0,"sell_vol":22277.0,"unclassified_vol":0.0,"imbalance":0.083647,"bid":8.68,"ask":8.69,"spread_pct":0.115141,"quote_size_imbalance":null,"quote_age_s":8.271914},"context":{"vwap":8.599942,"price_vs_vwap_pct":0.989057,"ema9":8.6164,"ema20":8.607652,"ema_stack":true,"ema_warm":false,"hod":8.71,"dist_to_hod_pct":-0.287026,"dist_to_hod_atr":0.343036,"atr":0.072879,"spread_atr":0.137215,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"35d11e304912","ts":"2026-08-28T13:32:05+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.41 below VWAP $13.50","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":13.415,"vwap":13.4962,"ext_from_open_pct":-0.85,"max_ext_allowed_pct":4.0,"volume_pace":4.11,"trend":"negative","recent_slope_pct":-0.3162,"volatility":"medium"},"price":13.415,"volume":{"bars":2,"last_bar_volume":55823.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":2965.0,"sell_vol":3329.0,"unclassified_vol":0.0,"imbalance":-0.057833,"bid":13.41,"ask":13.42,"spread_pct":0.074543,"quote_size_imbalance":null,"quote_age_s":0.407689},"context":{"vwap":13.496351,"price_vs_vwap_pct":-0.602766,"ema9":13.482,"ema20":13.491429,"ema_stack":false,"ema_warm":false,"hod":13.56,"dist_to_hod_pct":-1.069322,"dist_to_hod_atr":1.598425,"atr":0.090714,"spread_atr":0.110236,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"0905523d5cd3","ts":"2026-08-28T13:32:05+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.91% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.57,"vwap":14.4481,"ext_from_open_pct":0.69,"max_ext_allowed_pct":4.0,"volume_pace":2.653,"trend":"positive","recent_slope_pct":0.611,"volatility":"high"},"price":14.57,"volume":{"bars":2,"last_bar_volume":3522.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":477.0,"sell_vol":7.0,"unclassified_vol":0.0,"imbalance":0.971074,"bid":14.52,"ask":14.8,"spread_pct":1.909959,"quote_size_imbalance":null,"quote_age_s":6.413847},"context":{"vwap":14.448131,"price_vs_vwap_pct":0.843493,"ema9":14.42224,"ema20":14.406819,"ema_stack":true,"ema_warm":false,"hod":14.7999,"dist_to_hod_pct":-1.553389,"dist_to_hod_atr":0.976843,"atr":0.23535,"spread_atr":1.189717,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"989ebb20510d","ts":"2026-08-28T13:32:10+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.15,"vwap":8.1233,"ext_from_open_pct":-1.15,"max_ext_allowed_pct":4.0,"volume_pace":3.315,"trend":"positive","recent_slope_pct":0.4914,"volatility":"high"},"price":8.15,"volume":{"bars":2,"last_bar_volume":16896.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":10.0,"sell_vol":900.0,"unclassified_vol":0.0,"imbalance":-0.978022,"bid":8.14,"ask":8.2,"spread_pct":0.734394,"quote_size_imbalance":null,"quote_age_s":13.746056},"context":{"vwap":8.123213,"price_vs_vwap_pct":0.329755,"ema9":8.09008,"ema20":8.079614,"ema_stack":true,"ema_warm":false,"hod":8.27,"dist_to_hod_pct":-1.451028,"dist_to_hod_atr":0.477286,"atr":0.251421,"spread_atr":0.238643,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"9f91b08ab9e7","ts":"2026-08-28T13:32:10+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":10.97,"vwap":10.9683,"ext_from_open_pct":0.0,"max_ext_allowed_pct":4.0,"volume_pace":5.725,"trend":"flat","recent_slope_pct":-0.0228,"volatility":"low"},"price":10.97,"volume":{"bars":2,"last_bar_volume":65046.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":98,"trade_rate":3.266667,"buy_vol":18175.0,"sell_vol":16583.0,"unclassified_vol":0.0,"imbalance":0.045802,"bid":10.97,"ask":10.98,"spread_pct":0.091116,"quote_size_imbalance":null,"quote_age_s":5.213845},"context":{"vwap":10.968267,"price_vs_vwap_pct":0.015801,"ema9":10.974,"ema20":10.974524,"ema_stack":false,"ema_warm":false,"hod":10.98,"dist_to_hod_pct":-0.091075,"dist_to_hod_atr":0.338328,"atr":0.029557,"spread_atr":0.338328,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"db40d549d545","ts":"2026-08-28T13:32:10+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.71% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.71,"vwap":14.6404,"ext_from_open_pct":1.45,"max_ext_allowed_pct":5.0,"volume_pace":6.098,"trend":"positive","recent_slope_pct":0.3067,"volatility":"high"},"price":14.71,"volume":{"bars":2,"last_bar_volume":2033.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":9,"trade_rate":0.3,"buy_vol":72.0,"sell_vol":1501.0,"unclassified_vol":0.0,"imbalance":-0.908455,"bid":14.5,"ask":14.75,"spread_pct":1.709402,"quote_size_imbalance":null,"quote_age_s":10.006176},"context":{"vwap":14.640441,"price_vs_vwap_pct":0.475114,"ema9":14.63358,"ema20":14.626467,"ema_stack":true,"ema_warm":false,"hod":14.8,"dist_to_hod_pct":-0.608108,"dist_to_hod_atr":0.303622,"atr":0.296421,"spread_atr":0.843394,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"ef735a2b0276","ts":"2026-08-28T13:32:15+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.44,"vwap":11.4339,"ext_from_open_pct":-0.35,"max_ext_allowed_pct":5.0,"volume_pace":4.622,"trend":"flat","recent_slope_pct":0.0692,"volatility":"medium"},"price":11.44,"volume":{"bars":2,"last_bar_volume":29080.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":3822.0,"sell_vol":6385.0,"unclassified_vol":0.0,"imbalance":-0.251102,"bid":11.42,"ask":11.46,"spread_pct":0.34965,"quote_size_imbalance":null,"quote_age_s":0.217721},"context":{"vwap":11.434042,"price_vs_vwap_pct":0.052108,"ema9":11.42022,"ema20":11.422305,"ema_stack":false,"ema_warm":false,"hod":11.51,"dist_to_hod_pct":-0.608167,"dist_to_hod_atr":0.545718,"atr":0.128271,"spread_atr":0.311839,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"e749b3799447","ts":"2026-08-28T13:32:15+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.13,"vwap":5.0954,"ext_from_open_pct":1.99,"max_ext_allowed_pct":4.0,"volume_pace":4.663,"trend":"positive","recent_slope_pct":0.2929,"volatility":"high"},"price":5.13,"volume":{"bars":2,"last_bar_volume":10122.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":4.0,"sell_vol":100.0,"unclassified_vol":0.0,"imbalance":-0.923077,"bid":5.12,"ask":5.14,"spread_pct":0.389864,"quote_size_imbalance":null,"quote_age_s":23.243778},"context":{"vwap":5.095216,"price_vs_vwap_pct":0.682683,"ema9":5.1071,"ema20":5.103381,"ema_stack":true,"ema_warm":false,"hod":5.14,"dist_to_hod_pct":-0.194553,"dist_to_hod_atr":0.12963,"atr":0.077143,"spread_atr":0.259259,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"4626f56a9bc5","ts":"2026-08-28T13:32:15+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.89 below VWAP $5.90","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.895,"vwap":5.8995,"ext_from_open_pct":0.26,"max_ext_allowed_pct":5.0,"volume_pace":3.401,"trend":"flat","recent_slope_pct":0.0433,"volatility":"high"},"price":5.895,"volume":{"bars":2,"last_bar_volume":45337.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":97,"trade_rate":3.233333,"buy_vol":13386.0,"sell_vol":7790.0,"unclassified_vol":0.0,"imbalance":0.264261,"bid":5.89,"ask":5.9,"spread_pct":0.169635,"quote_size_imbalance":null,"quote_age_s":0.282635},"context":{"vwap":5.899451,"price_vs_vwap_pct":-0.075448,"ema9":5.89192,"ema20":5.890862,"ema_stack":true,"ema_warm":false,"hod":5.93,"dist_to_hod_pct":-0.590219,"dist_to_hod_atr":0.725926,"atr":0.048214,"spread_atr":0.207407,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"284096ccbc94","ts":"2026-08-28T13:32:20+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.34% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.15,"vwap":8.1233,"ext_from_open_pct":-1.15,"max_ext_allowed_pct":4.0,"volume_pace":3.078,"trend":"positive","recent_slope_pct":0.4914,"volatility":"high"},"price":8.15,"volume":{"bars":2,"last_bar_volume":16896.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":0.0,"sell_vol":500.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":8.14,"ask":8.25,"spread_pct":1.342282,"quote_size_imbalance":null,"quote_age_s":2.636332},"context":{"vwap":8.123213,"price_vs_vwap_pct":0.329755,"ema9":8.09008,"ema20":8.079614,"ema_stack":true,"ema_warm":false,"hod":8.27,"dist_to_hod_pct":-1.451028,"dist_to_hod_atr":0.477286,"atr":0.251421,"spread_atr":0.437512,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"97536e96b98d","ts":"2026-08-28T13:32:20+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.43 below VWAP $11.43","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.4258,"vwap":11.4338,"ext_from_open_pct":-0.47,"max_ext_allowed_pct":5.0,"volume_pace":4.457,"trend":"flat","recent_slope_pct":0.007,"volatility":"medium"},"price":11.4258,"volume":{"bars":2,"last_bar_volume":29080.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":3712.0,"sell_vol":6086.0,"unclassified_vol":0.0,"imbalance":-0.242294,"bid":11.42,"ask":11.46,"spread_pct":0.34965,"quote_size_imbalance":null,"quote_age_s":0.803946},"context":{"vwap":11.434042,"price_vs_vwap_pct":-0.072082,"ema9":11.42022,"ema20":11.422305,"ema_stack":false,"ema_warm":false,"hod":11.51,"dist_to_hod_pct":-0.731538,"dist_to_hod_atr":0.656421,"atr":0.128271,"spread_atr":0.311839,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"d8de65dae851","ts":"2026-08-28T13:32:20+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.11 below VWAP $11.11","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.105,"vwap":11.1101,"ext_from_open_pct":-0.31,"max_ext_allowed_pct":5.0,"volume_pace":6.061,"trend":"flat","recent_slope_pct":0.1121,"volatility":"high"},"price":11.105,"volume":{"bars":2,"last_bar_volume":37391.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":6163.0,"sell_vol":4944.0,"unclassified_vol":0.0,"imbalance":0.109751,"bid":11.1,"ask":11.11,"spread_pct":0.09005,"quote_size_imbalance":null,"quote_age_s":0.527243},"context":{"vwap":11.109893,"price_vs_vwap_pct":-0.044045,"ema9":11.08908,"ema20":11.084376,"ema_stack":true,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-0.687719,"dist_to_hod_atr":0.696964,"atr":0.110336,"spread_atr":0.090632,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"25b48473254c","ts":"2026-08-28T13:32:20+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.15 below VWAP $7.15","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.1468,"vwap":7.1532,"ext_from_open_pct":0.1,"max_ext_allowed_pct":3.0,"volume_pace":2.545,"trend":"flat","recent_slope_pct":0.0126,"volatility":"medium"},"price":7.1468,"volume":{"bars":2,"last_bar_volume":27345.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":80,"trade_rate":2.666667,"buy_vol":3034.0,"sell_vol":6170.0,"unclassified_vol":0.0,"imbalance":-0.340721,"bid":7.14,"ask":7.15,"spread_pct":0.139958,"quote_size_imbalance":null,"quote_age_s":0.522138},"context":{"vwap":7.153054,"price_vs_vwap_pct":-0.087433,"ema9":7.15002,"ema20":7.14739,"ema_stack":false,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.462396,"dist_to_hod_atr":0.673721,"atr":0.049279,"spread_atr":0.202928,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"e686787d7e1d","ts":"2026-08-28T13:32:20+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.8999,"vwap":5.8996,"ext_from_open_pct":0.34,"max_ext_allowed_pct":4.0,"volume_pace":3.296,"trend":"flat","recent_slope_pct":0.0848,"volatility":"high"},"price":5.8999,"volume":{"bars":2,"last_bar_volume":45337.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":97,"trade_rate":3.233333,"buy_vol":14719.0,"sell_vol":7258.0,"unclassified_vol":0.0,"imbalance":0.339491,"bid":5.89,"ask":5.9,"spread_pct":0.169635,"quote_size_imbalance":null,"quote_age_s":0.045261},"context":{"vwap":5.899451,"price_vs_vwap_pct":0.007611,"ema9":5.89192,"ema20":5.890862,"ema_stack":true,"ema_warm":false,"hod":5.93,"dist_to_hod_pct":-0.507589,"dist_to_hod_atr":0.624296,"atr":0.048214,"spread_atr":0.207407,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"1c14eafa3d26","ts":"2026-08-28T13:32:25+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.44,"vwap":11.4339,"ext_from_open_pct":-0.35,"max_ext_allowed_pct":4.0,"volume_pace":4.323,"trend":"flat","recent_slope_pct":0.0692,"volatility":"medium"},"price":11.44,"volume":{"bars":2,"last_bar_volume":29080.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":22,"trade_rate":0.733333,"buy_vol":3708.0,"sell_vol":940.0,"unclassified_vol":0.0,"imbalance":0.595525,"bid":11.42,"ask":11.46,"spread_pct":0.34965,"quote_size_imbalance":null,"quote_age_s":0.7617},"context":{"vwap":11.434042,"price_vs_vwap_pct":0.052108,"ema9":11.42022,"ema20":11.422305,"ema_stack":false,"ema_warm":false,"hod":11.51,"dist_to_hod_pct":-0.608167,"dist_to_hod_atr":0.545718,"atr":0.128271,"spread_atr":0.311839,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"a0fe69fc1f5d","ts":"2026-08-28T13:32:25+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.89 below VWAP $5.90","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.89,"vwap":5.8994,"ext_from_open_pct":0.17,"max_ext_allowed_pct":4.0,"volume_pace":3.244,"trend":"flat","recent_slope_pct":0.0008,"volatility":"high"},"price":5.89,"volume":{"bars":2,"last_bar_volume":45337.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":130,"trade_rate":4.333333,"buy_vol":19419.0,"sell_vol":10251.0,"unclassified_vol":0.0,"imbalance":0.308999,"bid":5.88,"ask":5.89,"spread_pct":0.169924,"quote_size_imbalance":null,"quote_age_s":1.138014},"context":{"vwap":5.899451,"price_vs_vwap_pct":-0.160201,"ema9":5.89192,"ema20":5.890862,"ema_stack":false,"ema_warm":false,"hod":5.93,"dist_to_hod_pct":-0.674536,"dist_to_hod_atr":0.82963,"atr":0.048214,"spread_atr":0.207407,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"01f7cd54a794","ts":"2026-08-28T13:32:30+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.42 below VWAP $11.43","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.42,"vwap":11.4337,"ext_from_open_pct":-0.52,"max_ext_allowed_pct":4.0,"volume_pace":4.192,"trend":"flat","recent_slope_pct":-0.0184,"volatility":"medium"},"price":11.42,"volume":{"bars":2,"last_bar_volume":29080.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":3708.0,"sell_vol":1549.0,"unclassified_vol":0.0,"imbalance":0.410691,"bid":11.41,"ask":11.44,"spread_pct":0.262582,"quote_size_imbalance":null,"quote_age_s":0.006148},"context":{"vwap":11.434042,"price_vs_vwap_pct":-0.122808,"ema9":11.42022,"ema20":11.422305,"ema_stack":false,"ema_warm":false,"hod":11.51,"dist_to_hod_pct":-0.781929,"dist_to_hod_atr":0.701637,"atr":0.128271,"spread_atr":0.233879,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"384d2839ee85","ts":"2026-08-28T13:32:35+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.4,"vwap":5.3993,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":4.0,"volume_pace":3.331,"trend":"positive","recent_slope_pct":0.1855,"volatility":"high"},"price":5.4,"volume":{"bars":2,"last_bar_volume":66574.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":129,"trade_rate":4.3,"buy_vol":8002.0,"sell_vol":13930.0,"unclassified_vol":0.0,"imbalance":-0.27029,"bid":5.39,"ask":5.4,"spread_pct":0.185357,"quote_size_imbalance":null,"quote_age_s":1.237008},"context":{"vwap":5.399664,"price_vs_vwap_pct":0.006218,"ema9":5.382,"ema20":5.380952,"ema_stack":true,"ema_warm":false,"hod":5.45,"dist_to_hod_pct":-0.917431,"dist_to_hod_atr":0.645161,"atr":0.0775,"spread_atr":0.129032,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"cf6c3bad9cf6","ts":"2026-08-28T13:32:35+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.12,"vwap":11.1102,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":4.0,"volume_pace":5.555,"trend":"positive","recent_slope_pct":0.1796,"volatility":"high"},"price":11.12,"volume":{"bars":2,"last_bar_volume":37391.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":78,"trade_rate":2.6,"buy_vol":5917.0,"sell_vol":7131.0,"unclassified_vol":0.0,"imbalance":-0.093041,"bid":11.11,"ask":11.14,"spread_pct":0.269663,"quote_size_imbalance":null,"quote_age_s":0.001836},"context":{"vwap":11.109893,"price_vs_vwap_pct":0.09097,"ema9":11.08908,"ema20":11.084376,"ema_stack":true,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-0.553573,"dist_to_hod_atr":0.561015,"atr":0.110336,"spread_atr":0.271897,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"bbfe551b475e","ts":"2026-08-28T13:32:35+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.16,"vwap":7.1534,"ext_from_open_pct":0.28,"max_ext_allowed_pct":4.0,"volume_pace":2.323,"trend":"flat","recent_slope_pct":0.1048,"volatility":"medium"},"price":7.16,"volume":{"bars":2,"last_bar_volume":27345.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":3324.0,"sell_vol":2388.0,"unclassified_vol":0.0,"imbalance":0.163866,"bid":7.16,"ask":7.17,"spread_pct":0.139567,"quote_size_imbalance":null,"quote_age_s":0.001875},"context":{"vwap":7.153054,"price_vs_vwap_pct":0.097104,"ema9":7.15002,"ema20":7.14739,"ema_stack":true,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.278552,"dist_to_hod_atr":0.405856,"atr":0.049279,"spread_atr":0.202928,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"fd5d8101559a","ts":"2026-08-28T13:32:35+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.9,"vwap":5.8995,"ext_from_open_pct":0.34,"max_ext_allowed_pct":4.0,"volume_pace":3.062,"trend":"flat","recent_slope_pct":0.0856,"volatility":"high"},"price":5.9,"volume":{"bars":2,"last_bar_volume":45337.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":105,"trade_rate":3.5,"buy_vol":11149.0,"sell_vol":9293.0,"unclassified_vol":0.0,"imbalance":0.090793,"bid":5.9,"ask":5.91,"spread_pct":0.169348,"quote_size_imbalance":null,"quote_age_s":0.001437},"context":{"vwap":5.899451,"price_vs_vwap_pct":0.009306,"ema9":5.89192,"ema20":5.890862,"ema_stack":true,"ema_warm":false,"hod":5.93,"dist_to_hod_pct":-0.505902,"dist_to_hod_atr":0.622222,"atr":0.048214,"spread_atr":0.207407,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"4d05671fb65a","ts":"2026-08-28T13:32:40+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.4399,"vwap":11.4338,"ext_from_open_pct":-0.35,"max_ext_allowed_pct":4.0,"volume_pace":3.951,"trend":"flat","recent_slope_pct":0.0687,"volatility":"medium"},"price":11.4399,"volume":{"bars":2,"last_bar_volume":29080.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":22,"trade_rate":0.733333,"buy_vol":694.0,"sell_vol":2138.0,"unclassified_vol":0.0,"imbalance":-0.509887,"bid":11.41,"ask":11.44,"spread_pct":0.262582,"quote_size_imbalance":null,"quote_age_s":1.16716},"context":{"vwap":11.434042,"price_vs_vwap_pct":0.051234,"ema9":11.42022,"ema20":11.422305,"ema_stack":false,"ema_warm":false,"hod":11.51,"dist_to_hod_pct":-0.609036,"dist_to_hod_atr":0.546497,"atr":0.128271,"spread_atr":0.233879,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"855193c9117e","ts":"2026-08-28T13:32:40+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.39 below VWAP $5.40","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.395,"vwap":5.3992,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":5.0,"volume_pace":3.402,"trend":"flat","recent_slope_pct":0.1392,"volatility":"high"},"price":5.395,"volume":{"bars":2,"last_bar_volume":66574.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":178,"trade_rate":5.933333,"buy_vol":17939.0,"sell_vol":21997.0,"unclassified_vol":0.0,"imbalance":-0.101613,"bid":5.39,"ask":5.41,"spread_pct":0.37037,"quote_size_imbalance":null,"quote_age_s":0.201198},"context":{"vwap":5.399664,"price_vs_vwap_pct":-0.08638,"ema9":5.382,"ema20":5.380952,"ema_stack":true,"ema_warm":false,"hod":5.45,"dist_to_hod_pct":-1.009174,"dist_to_hod_atr":0.709677,"atr":0.0775,"spread_atr":0.258065,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"a238a5895fc0","ts":"2026-08-28T13:32:45+00:00","symbol":"BB","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.645,"vwap":8.6036,"ext_from_open_pct":0.52,"max_ext_allowed_pct":5.0,"volume_pace":5.993,"trend":"flat","recent_slope_pct":0.0872,"volatility":"medium"},"price":8.645,"volume":{"bars":2,"last_bar_volume":68863.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":239,"trade_rate":7.966667,"buy_vol":74560.0,"sell_vol":20281.0,"unclassified_vol":0.0,"imbalance":0.572316,"bid":8.64,"ask":8.65,"spread_pct":0.115674,"quote_size_imbalance":null,"quote_age_s":1.569085},"context":{"vwap":8.602004,"price_vs_vwap_pct":0.499842,"ema9":8.608,"ema20":8.619524,"ema_stack":false,"ema_warm":false,"hod":8.66,"dist_to_hod_pct":-0.17321,"dist_to_hod_atr":0.125,"atr":0.12,"spread_atr":0.083333,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"2cf54881fffc","ts":"2026-08-28T13:32:50+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.2,"vwap":8.1273,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":4.0,"volume_pace":2.689,"trend":"positive","recent_slope_pct":0.7973,"volatility":"high"},"price":8.2,"volume":{"bars":2,"last_bar_volume":16896.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":39,"trade_rate":1.3,"buy_vol":3364.0,"sell_vol":3477.0,"unclassified_vol":0.0,"imbalance":-0.016518,"bid":8.16,"ask":8.21,"spread_pct":0.610874,"quote_size_imbalance":null,"quote_age_s":0.64764},"context":{"vwap":8.123213,"price_vs_vwap_pct":0.945275,"ema9":8.09008,"ema20":8.079614,"ema_stack":true,"ema_warm":false,"hod":8.27,"dist_to_hod_pct":-0.846433,"dist_to_hod_atr":0.278417,"atr":0.251421,"spread_atr":0.198869,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"57a02efc4155","ts":"2026-08-28T13:32:50+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.4,"vwap":5.3995,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":5.0,"volume_pace":3.239,"trend":"positive","recent_slope_pct":0.1855,"volatility":"high"},"price":5.4,"volume":{"bars":2,"last_bar_volume":66574.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":11561.0,"sell_vol":17201.0,"unclassified_vol":0.0,"imbalance":-0.196092,"bid":5.39,"ask":5.41,"spread_pct":0.37037,"quote_size_imbalance":null,"quote_age_s":0.715077},"context":{"vwap":5.399664,"price_vs_vwap_pct":0.006218,"ema9":5.382,"ema20":5.380952,"ema_stack":true,"ema_warm":false,"hod":5.45,"dist_to_hod_pct":-0.917431,"dist_to_hod_atr":0.645161,"atr":0.0775,"spread_atr":0.258065,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"78eb1a5bc4f8","ts":"2026-08-28T13:32:50+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.10 below VWAP $11.11","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.1001,"vwap":11.1098,"ext_from_open_pct":-0.36,"max_ext_allowed_pct":4.0,"volume_pace":5.18,"trend":"flat","recent_slope_pct":0.0901,"volatility":"high"},"price":11.1001,"volume":{"bars":2,"last_bar_volume":37391.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":84,"trade_rate":2.8,"buy_vol":2240.0,"sell_vol":8497.0,"unclassified_vol":0.0,"imbalance":-0.582751,"bid":11.1,"ask":11.13,"spread_pct":0.269906,"quote_size_imbalance":null,"quote_age_s":1.179476},"context":{"vwap":11.109893,"price_vs_vwap_pct":-0.08815,"ema9":11.08908,"ema20":11.084376,"ema_stack":true,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-0.731539,"dist_to_hod_atr":0.741374,"atr":0.110336,"spread_atr":0.271897,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"d9410319e9e8","ts":"2026-08-28T13:32:55+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.47% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.13,"vwap":8.1282,"ext_from_open_pct":-1.39,"max_ext_allowed_pct":3.0,"volume_pace":2.77,"trend":"flat","recent_slope_pct":0.3687,"volatility":"high"},"price":8.13,"volume":{"bars":2,"last_bar_volume":16896.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":3455.0,"sell_vol":7350.0,"unclassified_vol":0.0,"imbalance":-0.360481,"bid":8.13,"ask":8.25,"spread_pct":1.465201,"quote_size_imbalance":null,"quote_age_s":2.78422},"context":{"vwap":8.123213,"price_vs_vwap_pct":0.083547,"ema9":8.09008,"ema20":8.079614,"ema_stack":true,"ema_warm":false,"hod":8.27,"dist_to_hod_pct":-1.692866,"dist_to_hod_atr":0.556834,"atr":0.251421,"spread_atr":0.477286,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"4ad7e7b65281","ts":"2026-08-28T13:32:55+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.115,"vwap":11.1102,"ext_from_open_pct":-0.22,"max_ext_allowed_pct":4.0,"volume_pace":5.048,"trend":"flat","recent_slope_pct":0.1571,"volatility":"high"},"price":11.115,"volume":{"bars":2,"last_bar_volume":37391.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":2239.0,"sell_vol":5800.0,"unclassified_vol":0.0,"imbalance":-0.442966,"bid":11.1,"ask":11.13,"spread_pct":0.269906,"quote_size_imbalance":null,"quote_age_s":4.698061},"context":{"vwap":11.109893,"price_vs_vwap_pct":0.045965,"ema9":11.08908,"ema20":11.084376,"ema_stack":true,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-0.598288,"dist_to_hod_atr":0.606331,"atr":0.110336,"spread_atr":0.271897,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"79d0036c1c20","ts":"2026-08-28T13:33:00+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.06 below VWAP $11.11","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.06,"vwap":11.1071,"ext_from_open_pct":-0.72,"max_ext_allowed_pct":4.0,"volume_pace":5.149,"trend":"flat","recent_slope_pct":-0.0906,"volatility":"high"},"price":11.06,"volume":{"bars":2,"last_bar_volume":37391.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":102,"trade_rate":3.4,"buy_vol":2528.0,"sell_vol":20062.0,"unclassified_vol":0.0,"imbalance":-0.776184,"bid":11.05,"ask":11.07,"spread_pct":0.180832,"quote_size_imbalance":null,"quote_age_s":0.006804},"context":{"vwap":11.109893,"price_vs_vwap_pct":-0.449089,"ema9":11.08908,"ema20":11.084376,"ema_stack":false,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-1.090155,"dist_to_hod_atr":1.10481,"atr":0.110336,"spread_atr":0.181265,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"0f0c7e7154f2","ts":"2026-08-28T13:33:00+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.15 below VWAP $7.15","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.1477,"vwap":7.1533,"ext_from_open_pct":0.11,"max_ext_allowed_pct":3.0,"volume_pace":2.063,"trend":"flat","recent_slope_pct":0.0189,"volatility":"medium"},"price":7.1477,"volume":{"bars":2,"last_bar_volume":27345.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":91,"trade_rate":3.033333,"buy_vol":3561.0,"sell_vol":6349.0,"unclassified_vol":0.0,"imbalance":-0.281332,"bid":7.14,"ask":7.15,"spread_pct":0.139958,"quote_size_imbalance":null,"quote_age_s":0.00773},"context":{"vwap":7.153054,"price_vs_vwap_pct":-0.074851,"ema9":7.15002,"ema20":7.14739,"ema_stack":false,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.449861,"dist_to_hod_atr":0.655457,"atr":0.049279,"spread_atr":0.202928,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"c0e8c92a57af","ts":"2026-08-28T13:33:00+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.90 below VWAP $5.90","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.8985,"vwap":5.8995,"ext_from_open_pct":0.31,"max_ext_allowed_pct":3.0,"volume_pace":2.694,"trend":"flat","recent_slope_pct":0.0729,"volatility":"high"},"price":5.8985,"volume":{"bars":2,"last_bar_volume":45337.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":83,"trade_rate":2.766667,"buy_vol":6362.0,"sell_vol":6013.0,"unclassified_vol":0.0,"imbalance":0.028202,"bid":5.89,"ask":5.9,"spread_pct":0.169635,"quote_size_imbalance":null,"quote_age_s":0.008473},"context":{"vwap":5.899451,"price_vs_vwap_pct":-0.01612,"ema9":5.89192,"ema20":5.890862,"ema_stack":true,"ema_warm":false,"hod":5.93,"dist_to_hod_pct":-0.531197,"dist_to_hod_atr":0.653333,"atr":0.048214,"spread_atr":0.207407,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"5cfd683e41a9","ts":"2026-08-28T13:33:05+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.43 below VWAP $11.43","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.4326,"vwap":11.4343,"ext_from_open_pct":-0.41,"max_ext_allowed_pct":4.0,"volume_pace":3.524,"trend":"flat","recent_slope_pct":0.0664,"volatility":"medium"},"price":11.4326,"volume":{"bars":3,"last_bar_volume":10732.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":4173.0,"sell_vol":2162.0,"unclassified_vol":0.0,"imbalance":0.317443,"bid":11.43,"ask":11.45,"spread_pct":0.174825,"quote_size_imbalance":null,"quote_age_s":0.167041},"context":{"vwap":11.434265,"price_vs_vwap_pct":-0.014559,"ema9":11.427176,"ema20":11.425419,"ema_stack":true,"ema_warm":false,"hod":11.51,"dist_to_hod_pct":-0.672459,"dist_to_hod_atr":0.620076,"atr":0.124823,"spread_atr":0.160226,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"3b8f783ced64","ts":"2026-08-28T13:33:05+00:00","symbol":"BB","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.6468,"vwap":8.6049,"ext_from_open_pct":0.54,"max_ext_allowed_pct":4.0,"volume_pace":5.475,"trend":"flat","recent_slope_pct":0.2178,"volatility":"medium"},"price":8.6468,"volume":{"bars":3,"last_bar_volume":132414.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":186,"trade_rate":6.2,"buy_vol":49042.0,"sell_vol":17128.0,"unclassified_vol":0.0,"imbalance":0.482303,"bid":8.64,"ask":8.67,"spread_pct":0.34662,"quote_size_imbalance":null,"quote_age_s":1.293797},"context":{"vwap":8.604578,"price_vs_vwap_pct":0.49069,"ema9":8.61784,"ema20":8.623112,"ema_stack":false,"ema_warm":false,"hod":8.665,"dist_to_hod_pct":-0.21004,"dist_to_hod_atr":0.149443,"atr":0.121786,"spread_atr":0.246334,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"ad5671073625","ts":"2026-08-28T13:33:05+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.918,"vwap":14.8725,"ext_from_open_pct":2.88,"max_ext_allowed_pct":4.0,"volume_pace":16.79,"trend":"positive","recent_slope_pct":0.841,"volatility":"high"},"price":14.918,"volume":{"bars":3,"last_bar_volume":77786.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":6753.0,"sell_vol":5027.0,"unclassified_vol":0.0,"imbalance":0.14652,"bid":14.81,"ask":14.93,"spread_pct":0.806994,"quote_size_imbalance":null,"quote_age_s":2.11244},"context":{"vwap":14.871933,"price_vs_vwap_pct":0.309758,"ema9":14.714844,"ema20":14.665841,"ema_stack":true,"ema_warm":false,"hod":15.22,"dist_to_hod_pct":-1.984231,"dist_to_hod_atr":0.945126,"atr":0.319534,"spread_atr":0.375547,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"f5213c88a61c","ts":"2026-08-28T13:33:05+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.40 below VWAP $5.40","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.4,"vwap":5.4005,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":4.0,"volume_pace":3.054,"trend":"positive","recent_slope_pct":0.1575,"volatility":"high"},"price":5.4,"volume":{"bars":3,"last_bar_volume":52623.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":124,"trade_rate":4.133333,"buy_vol":16158.0,"sell_vol":17316.0,"unclassified_vol":0.0,"imbalance":-0.034594,"bid":5.39,"ask":5.41,"spread_pct":0.37037,"quote_size_imbalance":null,"quote_age_s":2.686884},"context":{"vwap":5.400397,"price_vs_vwap_pct":-0.007355,"ema9":5.3886,"ema20":5.384195,"ema_stack":true,"ema_warm":false,"hod":5.45,"dist_to_hod_pct":-0.917431,"dist_to_hod_atr":0.674699,"atr":0.074107,"spread_atr":0.26988,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"2739effb90bc","ts":"2026-08-28T13:33:05+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.1597,"vwap":7.1532,"ext_from_open_pct":0.28,"max_ext_allowed_pct":3.0,"volume_pace":2.021,"trend":"flat","recent_slope_pct":0.0303,"volatility":"medium"},"price":7.1597,"volume":{"bars":3,"last_bar_volume":18041.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":80,"trade_rate":2.666667,"buy_vol":1716.0,"sell_vol":7592.0,"unclassified_vol":0.0,"imbalance":-0.631285,"bid":7.13,"ask":7.14,"spread_pct":0.140154,"quote_size_imbalance":null,"quote_age_s":0.401925},"context":{"vwap":7.15326,"price_vs_vwap_pct":0.090028,"ema9":7.149556,"ema20":7.14742,"ema_stack":true,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.28273,"dist_to_hod_atr":0.41756,"atr":0.048616,"spread_atr":0.205694,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"2806cf632ede","ts":"2026-08-28T13:33:10+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.27% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.94,"vwap":14.873,"ext_from_open_pct":3.03,"max_ext_allowed_pct":5.0,"volume_pace":16.441,"trend":"positive","recent_slope_pct":0.8852,"volatility":"high"},"price":14.94,"volume":{"bars":3,"last_bar_volume":77786.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":6454.0,"sell_vol":3783.0,"unclassified_vol":0.0,"imbalance":0.260916,"bid":14.85,"ask":15.04,"spread_pct":1.271328,"quote_size_imbalance":null,"quote_age_s":0.016546},"context":{"vwap":14.871933,"price_vs_vwap_pct":0.457688,"ema9":14.714844,"ema20":14.665841,"ema_stack":true,"ema_warm":false,"hod":15.22,"dist_to_hod_pct":-1.839685,"dist_to_hod_atr":0.876276,"atr":0.319534,"spread_atr":0.594616,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"a0193cae7e07","ts":"2026-08-28T13:33:10+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.14 below VWAP $7.15","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.1378,"vwap":7.1531,"ext_from_open_pct":-0.03,"max_ext_allowed_pct":3.0,"volume_pace":1.977,"trend":"flat","recent_slope_pct":-0.0615,"volatility":"medium"},"price":7.1378,"volume":{"bars":3,"last_bar_volume":18041.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":80,"trade_rate":2.666667,"buy_vol":1924.0,"sell_vol":8501.0,"unclassified_vol":0.0,"imbalance":-0.630887,"bid":7.13,"ask":7.14,"spread_pct":0.140154,"quote_size_imbalance":null,"quote_age_s":0.894859},"context":{"vwap":7.15326,"price_vs_vwap_pct":-0.216126,"ema9":7.149556,"ema20":7.14742,"ema_stack":false,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.587744,"dist_to_hod_atr":0.86803,"atr":0.048616,"spread_atr":0.205694,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"239c6b8f2700","ts":"2026-08-28T13:33:10+00:00","symbol":"ONDS","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.60 below VWAP $8.60","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.595,"vwap":8.604,"ext_from_open_pct":0.41,"max_ext_allowed_pct":3.0,"volume_pace":1.229,"trend":"flat","recent_slope_pct":-0.0897,"volatility":"high"},"price":8.595,"volume":{"bars":3,"last_bar_volume":86921.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":241,"trade_rate":8.033333,"buy_vol":16889.0,"sell_vol":37973.0,"unclassified_vol":0.0,"imbalance":-0.38431,"bid":8.59,"ask":8.6,"spread_pct":0.116347,"quote_size_imbalance":null,"quote_age_s":0.392861},"context":{"vwap":8.604089,"price_vs_vwap_pct":-0.105633,"ema9":8.6171,"ema20":8.608819,"ema_stack":false,"ema_warm":false,"hod":8.71,"dist_to_hod_pct":-1.320321,"dist_to_hod_atr":1.56703,"atr":0.073387,"spread_atr":0.136263,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"bdeeb36dbe2b","ts":"2026-08-28T13:33:15+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.2,"vwap":8.1304,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":2.543,"trend":"positive","recent_slope_pct":0.4538,"volatility":"high"},"price":8.2,"volume":{"bars":3,"last_bar_volume":15191.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":980.0,"sell_vol":9551.0,"unclassified_vol":0.0,"imbalance":-0.813883,"bid":8.16,"ask":8.21,"spread_pct":0.610874,"quote_size_imbalance":null,"quote_age_s":4.814005},"context":{"vwap":8.129184,"price_vs_vwap_pct":0.87113,"ema9":8.102064,"ema20":8.086318,"ema_stack":true,"ema_warm":false,"hod":8.27,"dist_to_hod_pct":-0.846433,"dist_to_hod_atr":0.290071,"atr":0.24132,"spread_atr":0.207194,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"30825bf1bde3","ts":"2026-08-28T13:33:15+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.04,"vwap":14.8754,"ext_from_open_pct":3.72,"max_ext_allowed_pct":5.0,"volume_pace":16.12,"trend":"positive","recent_slope_pct":1.0857,"volatility":"high"},"price":15.04,"volume":{"bars":3,"last_bar_volume":77786.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":3807.0,"sell_vol":1790.0,"unclassified_vol":0.0,"imbalance":0.360372,"bid":14.92,"ask":15.05,"spread_pct":0.867534,"quote_size_imbalance":null,"quote_age_s":1.127774},"context":{"vwap":14.871933,"price_vs_vwap_pct":1.130095,"ema9":14.714844,"ema20":14.665841,"ema_stack":true,"ema_warm":false,"hod":15.22,"dist_to_hod_pct":-1.182654,"dist_to_hod_atr":0.56332,"atr":0.319534,"spread_atr":0.406842,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"c15cdaccb6a8","ts":"2026-08-28T13:33:30+00:00","symbol":"BB","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.69,"vwap":8.6105,"ext_from_open_pct":1.05,"max_ext_allowed_pct":4.0,"volume_pace":5.318,"trend":"positive","recent_slope_pct":0.3678,"volatility":"medium"},"price":8.69,"volume":{"bars":3,"last_bar_volume":132414.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":195,"trade_rate":6.5,"buy_vol":40846.0,"sell_vol":27791.0,"unclassified_vol":0.0,"imbalance":0.190204,"bid":8.68,"ask":8.7,"spread_pct":0.23015,"quote_size_imbalance":null,"quote_age_s":0.006313},"context":{"vwap":8.604578,"price_vs_vwap_pct":0.992748,"ema9":8.61784,"ema20":8.623112,"ema_stack":false,"ema_warm":false,"hod":8.665,"dist_to_hod_pct":0.288517,"dist_to_hod_atr":-0.205279,"atr":0.121786,"spread_atr":0.164223,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"8b3512f0e786","ts":"2026-08-28T13:33:30+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.18% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.11,"vwap":14.8965,"ext_from_open_pct":4.21,"max_ext_allowed_pct":4.0,"volume_pace":16.492,"trend":"positive","recent_slope_pct":1.2257,"volatility":"high"},"price":15.11,"volume":{"bars":3,"last_bar_volume":77786.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":85,"trade_rate":2.833333,"buy_vol":9349.0,"sell_vol":4988.0,"unclassified_vol":0.0,"imbalance":0.304178,"bid":15.1,"ask":15.28,"spread_pct":1.18499,"quote_size_imbalance":null,"quote_age_s":0.006095},"context":{"vwap":14.871933,"price_vs_vwap_pct":1.600781,"ema9":14.714844,"ema20":14.665841,"ema_stack":true,"ema_warm":false,"hod":15.22,"dist_to_hod_pct":-0.722733,"dist_to_hod_atr":0.344251,"atr":0.319534,"spread_atr":0.56332,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"dd7e220dc1b9","ts":"2026-08-28T13:33:30+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.5229,"vwap":5.4034,"ext_from_open_pct":2.09,"max_ext_allowed_pct":4.0,"volume_pace":2.761,"trend":"positive","recent_slope_pct":0.836,"volatility":"high"},"price":5.5229,"volume":{"bars":3,"last_bar_volume":52623.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":99,"trade_rate":3.3,"buy_vol":8084.0,"sell_vol":7392.0,"unclassified_vol":0.0,"imbalance":0.044714,"bid":5.38,"ask":5.4,"spread_pct":0.371058,"quote_size_imbalance":null,"quote_age_s":3.149913},"context":{"vwap":5.400397,"price_vs_vwap_pct":2.268404,"ema9":5.3886,"ema20":5.384195,"ema_stack":true,"ema_warm":false,"hod":5.45,"dist_to_hod_pct":1.337615,"dist_to_hod_atr":-0.983711,"atr":0.074107,"spread_atr":0.26988,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"8fba52f6ebab","ts":"2026-08-28T13:33:30+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.23 below VWAP $7.23","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.2326,"vwap":7.2336,"ext_from_open_pct":0.73,"max_ext_allowed_pct":3.0,"volume_pace":1.637,"trend":"flat","recent_slope_pct":-0.0719,"volatility":"medium"},"price":7.2326,"volume":{"bars":3,"last_bar_volume":57543.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":3461.0,"sell_vol":20226.0,"unclassified_vol":0.0,"imbalance":-0.707772,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.133837},"context":{"vwap":7.233132,"price_vs_vwap_pct":-0.007355,"ema9":7.253584,"ema20":7.251805,"ema_stack":false,"ema_warm":false,"hod":7.2799,"dist_to_hod_pct":-0.649734,"dist_to_hod_atr":0.582366,"atr":0.08122,"spread_atr":0.123122,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"02e45acd3296","ts":"2026-08-28T13:33:35+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.25,"vwap":7.2339,"ext_from_open_pct":0.97,"max_ext_allowed_pct":3.0,"volume_pace":1.604,"trend":"flat","recent_slope_pct":0.0001,"volatility":"medium"},"price":7.25,"volume":{"bars":3,"last_bar_volume":57543.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":2298.0,"sell_vol":20110.0,"unclassified_vol":0.0,"imbalance":-0.794895,"bid":7.25,"ask":7.26,"spread_pct":0.137836,"quote_size_imbalance":null,"quote_age_s":0.461587},"context":{"vwap":7.233132,"price_vs_vwap_pct":0.233204,"ema9":7.253584,"ema20":7.251805,"ema_stack":false,"ema_warm":false,"hod":7.2799,"dist_to_hod_pct":-0.41072,"dist_to_hod_atr":0.368134,"atr":0.08122,"spread_atr":0.123122,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"77fb893f3a42","ts":"2026-08-28T13:33:35+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.1595,"vwap":7.1529,"ext_from_open_pct":0.27,"max_ext_allowed_pct":4.0,"volume_pace":1.867,"trend":"flat","recent_slope_pct":0.0295,"volatility":"medium"},"price":7.1595,"volume":{"bars":3,"last_bar_volume":18041.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":118,"trade_rate":3.933333,"buy_vol":4677.0,"sell_vol":13801.0,"unclassified_vol":0.0,"imbalance":-0.493776,"bid":7.15,"ask":7.16,"spread_pct":0.139762,"quote_size_imbalance":null,"quote_age_s":0.273787},"context":{"vwap":7.15326,"price_vs_vwap_pct":0.087232,"ema9":7.149556,"ema20":7.14742,"ema_stack":true,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.285515,"dist_to_hod_atr":0.421673,"atr":0.048616,"spread_atr":0.205694,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"5262754ad657","ts":"2026-08-28T13:33:40+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.39 below VWAP $5.40","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.3945,"vwap":5.4027,"ext_from_open_pct":-0.29,"max_ext_allowed_pct":4.0,"volume_pace":2.721,"trend":"flat","recent_slope_pct":0.127,"volatility":"high"},"price":5.3945,"volume":{"bars":3,"last_bar_volume":52623.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":84,"trade_rate":2.8,"buy_vol":17918.0,"sell_vol":5191.0,"unclassified_vol":0.0,"imbalance":0.550738,"bid":5.39,"ask":5.41,"spread_pct":0.37037,"quote_size_imbalance":null,"quote_age_s":1.686547},"context":{"vwap":5.400397,"price_vs_vwap_pct":-0.109199,"ema9":5.3886,"ema20":5.384195,"ema_stack":true,"ema_warm":false,"hod":5.45,"dist_to_hod_pct":-1.018349,"dist_to_hod_atr":0.748916,"atr":0.074107,"spread_atr":0.26988,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"4f388967b8a9","ts":"2026-08-28T13:33:45+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.4904,"vwap":11.4401,"ext_from_open_pct":0.09,"max_ext_allowed_pct":4.0,"volume_pace":3.33,"trend":"positive","recent_slope_pct":0.2179,"volatility":"medium"},"price":11.4904,"volume":{"bars":3,"last_bar_volume":10732.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":124,"trade_rate":4.133333,"buy_vol":17087.0,"sell_vol":12009.0,"unclassified_vol":0.0,"imbalance":0.174526,"bid":11.49,"ask":11.5,"spread_pct":0.086994,"quote_size_imbalance":null,"quote_age_s":0.21449},"context":{"vwap":11.434265,"price_vs_vwap_pct":0.490939,"ema9":11.427176,"ema20":11.425419,"ema_stack":true,"ema_warm":false,"hod":11.51,"dist_to_hod_pct":-0.170287,"dist_to_hod_atr":0.157022,"atr":0.124823,"spread_atr":0.080113,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"c2eef9b307e6","ts":"2026-08-28T13:33:50+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.405,"vwap":5.4035,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.646,"trend":"flat","recent_slope_pct":0.1853,"volatility":"high"},"price":5.405,"volume":{"bars":3,"last_bar_volume":52623.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":108,"trade_rate":3.6,"buy_vol":18900.0,"sell_vol":7956.0,"unclassified_vol":0.0,"imbalance":0.407507,"bid":5.4,"ask":5.41,"spread_pct":0.185014,"quote_size_imbalance":null,"quote_age_s":0.742636},"context":{"vwap":5.400397,"price_vs_vwap_pct":0.085231,"ema9":5.3886,"ema20":5.384195,"ema_stack":true,"ema_warm":false,"hod":5.45,"dist_to_hod_pct":-0.825688,"dist_to_hod_atr":0.607229,"atr":0.074107,"spread_atr":0.13494,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"309ba67de676","ts":"2026-08-28T13:33:55+00:00","symbol":"ONDS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.61,"vwap":8.6026,"ext_from_open_pct":0.58,"max_ext_allowed_pct":3.0,"volume_pace":1.135,"trend":"flat","recent_slope_pct":-0.0376,"volatility":"high"},"price":8.61,"volume":{"bars":3,"last_bar_volume":86921.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":250,"trade_rate":8.333333,"buy_vol":19836.0,"sell_vol":56369.0,"unclassified_vol":0.0,"imbalance":-0.479404,"bid":8.6,"ask":8.62,"spread_pct":0.232288,"quote_size_imbalance":null,"quote_age_s":0.317386},"context":{"vwap":8.604089,"price_vs_vwap_pct":0.068703,"ema9":8.6171,"ema20":8.608819,"ema_stack":false,"ema_warm":false,"hod":8.71,"dist_to_hod_pct":-1.148106,"dist_to_hod_atr":1.362635,"atr":0.073387,"spread_atr":0.272527,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"1b305c338d86","ts":"2026-08-28T13:34:00+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $7.98 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.2297,"vwap":8.086,"ext_from_open_pct":3.13,"max_ext_allowed_pct":3.0,"volume_pace":2.576,"trend":"positive","recent_slope_pct":1.0523,"volatility":"high"},"price":8.2297,"volume":{"bars":3,"last_bar_volume":56689.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":138,"trade_rate":4.6,"buy_vol":16523.0,"sell_vol":12350.0,"unclassified_vol":0.0,"imbalance":0.144529,"bid":8.2,"ask":8.23,"spread_pct":0.365186,"quote_size_imbalance":null,"quote_age_s":0.176693},"context":{"vwap":8.059147,"price_vs_vwap_pct":2.116271,"ema9":8.0404,"ema20":8.014649,"ema_stack":true,"ema_warm":false,"hod":8.21,"dist_to_hod_pct":0.239951,"dist_to_hod_atr":-0.163472,"atr":0.12051,"spread_atr":0.248942,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"dd9d21df1b7c","ts":"2026-08-28T13:34:00+00:00","symbol":"ONDS","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.60 below VWAP $8.60","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.6,"vwap":8.6019,"ext_from_open_pct":0.47,"max_ext_allowed_pct":3.0,"volume_pace":1.126,"trend":"flat","recent_slope_pct":-0.0723,"volatility":"high"},"price":8.6,"volume":{"bars":3,"last_bar_volume":86921.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":189,"trade_rate":6.3,"buy_vol":23944.0,"sell_vol":45655.0,"unclassified_vol":0.0,"imbalance":-0.311944,"bid":8.59,"ask":8.61,"spread_pct":0.232558,"quote_size_imbalance":null,"quote_age_s":0.002962},"context":{"vwap":8.604089,"price_vs_vwap_pct":-0.047521,"ema9":8.6171,"ema20":8.608819,"ema_stack":false,"ema_warm":false,"hod":8.71,"dist_to_hod_pct":-1.262916,"dist_to_hod_atr":1.498898,"atr":0.073387,"spread_atr":0.272527,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"417c163d7355","ts":"2026-08-28T13:34:05+00:00","symbol":"F","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.21 below VWAP $14.22","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.2128,"vwap":14.2186,"ext_from_open_pct":0.66,"max_ext_allowed_pct":4.0,"volume_pace":5.931,"trend":"positive","recent_slope_pct":0.1131,"volatility":"low"},"price":14.2128,"volume":{"bars":4,"last_bar_volume":2086455.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":1712,"trade_rate":57.066667,"buy_vol":816742.0,"sell_vol":1268101.0,"unclassified_vol":0.0,"imbalance":-0.216495,"bid":14.21,"ask":14.22,"spread_pct":0.070348,"quote_size_imbalance":null,"quote_age_s":1.492573},"context":{"vwap":14.218516,"price_vs_vwap_pct":-0.040204,"ema9":14.191288,"ema20":14.180495,"ema_stack":true,"ema_warm":false,"hod":14.26,"dist_to_hod_pct":-0.330996,"dist_to_hod_atr":0.708045,"atr":0.066662,"spread_atr":0.15001,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"ddf5e20c68df","ts":"2026-08-28T13:34:05+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.39 below VWAP $5.40","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.395,"vwap":5.4036,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":3.0,"volume_pace":2.501,"trend":"flat","recent_slope_pct":0.0856,"volatility":"high"},"price":5.395,"volume":{"bars":4,"last_bar_volume":35882.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":3932.0,"sell_vol":6145.0,"unclassified_vol":0.0,"imbalance":-0.219609,"bid":5.39,"ask":5.4,"spread_pct":0.185357,"quote_size_imbalance":null,"quote_age_s":1.015457},"context":{"vwap":5.40362,"price_vs_vwap_pct":-0.15953,"ema9":5.39212,"ema20":5.386291,"ema_stack":true,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.315812,"dist_to_hod_atr":1.625907,"atr":0.078664,"spread_atr":0.127123,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"f84e18ff7b8f","ts":"2026-08-28T13:34:05+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.53 below VWAP $13.53","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":13.53,"vwap":13.533,"ext_from_open_pct":0.22,"max_ext_allowed_pct":3.0,"volume_pace":2.519,"trend":"flat","recent_slope_pct":0.0332,"volatility":"medium"},"price":13.53,"volume":{"bars":4,"last_bar_volume":51358.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":77,"trade_rate":2.566667,"buy_vol":31392.0,"sell_vol":17378.0,"unclassified_vol":0.0,"imbalance":0.287349,"bid":13.52,"ask":13.54,"spread_pct":0.14782,"quote_size_imbalance":null,"quote_age_s":1.505312},"context":{"vwap":13.532511,"price_vs_vwap_pct":-0.018553,"ema9":13.53368,"ema20":13.52257,"ema_stack":false,"ema_warm":false,"hod":13.59,"dist_to_hod_pct":-0.441501,"dist_to_hod_atr":1.45102,"atr":0.04135,"spread_atr":0.483673,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"878dfaa50621","ts":"2026-08-28T13:34:05+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.14 below VWAP $7.15","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.14,"vwap":7.1533,"ext_from_open_pct":0.0,"max_ext_allowed_pct":3.0,"volume_pace":1.689,"trend":"flat","recent_slope_pct":-0.0161,"volatility":"medium"},"price":7.14,"volume":{"bars":4,"last_bar_volume":21048.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":2470.0,"sell_vol":5756.0,"unclassified_vol":0.0,"imbalance":-0.399465,"bid":7.13,"ask":7.15,"spread_pct":0.280112,"quote_size_imbalance":null,"quote_age_s":0.478997},"context":{"vwap":7.153359,"price_vs_vwap_pct":-0.186754,"ema9":7.153365,"ema20":7.149437,"ema_stack":false,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.557103,"dist_to_hod_atr":0.827172,"atr":0.048358,"spread_atr":0.413586,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"062a4f76ff57","ts":"2026-08-28T13:34:05+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.1796,"vwap":8.0879,"ext_from_open_pct":2.5,"max_ext_allowed_pct":3.0,"volume_pace":2.572,"trend":"positive","recent_slope_pct":0.6814,"volatility":"high"},"price":8.1796,"volume":{"bars":4,"last_bar_volume":43098.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":136,"trade_rate":4.533333,"buy_vol":14895.0,"sell_vol":14738.0,"unclassified_vol":0.0,"imbalance":0.005298,"bid":8.16,"ask":8.18,"spread_pct":0.244798,"quote_size_imbalance":null,"quote_age_s":1.050617},"context":{"vwap":8.085955,"price_vs_vwap_pct":1.158119,"ema9":8.07826,"ema20":8.03513,"ema_stack":true,"ema_warm":false,"hod":8.23,"dist_to_hod_pct":-0.612394,"dist_to_hod_atr":0.428511,"atr":0.117617,"spread_atr":0.170044,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"827e8cedd929","ts":"2026-08-28T13:34:10+00:00","symbol":"ONDS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.6077,"vwap":8.602,"ext_from_open_pct":0.56,"max_ext_allowed_pct":4.0,"volume_pace":1.198,"trend":"flat","recent_slope_pct":-0.0779,"volatility":"high"},"price":8.6077,"volume":{"bars":4,"last_bar_volume":151146.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":268,"trade_rate":8.933333,"buy_vol":100720.0,"sell_vol":59520.0,"unclassified_vol":0.0,"imbalance":0.257114,"bid":8.6,"ask":8.61,"spread_pct":0.116212,"quote_size_imbalance":null,"quote_age_s":0.012939},"context":{"vwap":8.601938,"price_vs_vwap_pct":0.066986,"ema9":8.61368,"ema20":8.607979,"ema_stack":false,"ema_warm":false,"hod":8.71,"dist_to_hod_pct":-1.174512,"dist_to_hod_atr":1.398586,"atr":0.073145,"spread_atr":0.136714,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"401e47217f0b","ts":"2026-08-28T13:34:15+00:00","symbol":"ONDS","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.60 below VWAP $8.60","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.6,"vwap":8.6017,"ext_from_open_pct":0.47,"max_ext_allowed_pct":4.0,"volume_pace":1.195,"trend":"flat","recent_slope_pct":-0.0958,"volatility":"high"},"price":8.6,"volume":{"bars":4,"last_bar_volume":151146.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":300,"trade_rate":10.0,"buy_vol":112910.0,"sell_vol":40123.0,"unclassified_vol":0.0,"imbalance":0.475629,"bid":8.6,"ask":8.61,"spread_pct":0.116212,"quote_size_imbalance":null,"quote_age_s":0.187039},"context":{"vwap":8.601938,"price_vs_vwap_pct":-0.022529,"ema9":8.61368,"ema20":8.607979,"ema_stack":false,"ema_warm":false,"hod":8.71,"dist_to_hod_pct":-1.262916,"dist_to_hod_atr":1.503856,"atr":0.073145,"spread_atr":0.136714,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"df5b34d3da48","ts":"2026-08-28T13:34:20+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":13.5375,"vwap":13.5332,"ext_from_open_pct":0.28,"max_ext_allowed_pct":3.0,"volume_pace":2.379,"trend":"flat","recent_slope_pct":0.0443,"volatility":"medium"},"price":13.5375,"volume":{"bars":4,"last_bar_volume":51358.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":21550.0,"sell_vol":16388.0,"unclassified_vol":0.0,"imbalance":0.136064,"bid":13.52,"ask":13.54,"spread_pct":0.14782,"quote_size_imbalance":null,"quote_age_s":9.043358},"context":{"vwap":13.532511,"price_vs_vwap_pct":0.036869,"ema9":13.53368,"ema20":13.52257,"ema_stack":true,"ema_warm":false,"hod":13.59,"dist_to_hod_pct":-0.386313,"dist_to_hod_atr":1.269643,"atr":0.04135,"spread_atr":0.483673,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"192483a2cfec","ts":"2026-08-28T13:34:20+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $7.98 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.23,"vwap":8.09,"ext_from_open_pct":3.13,"max_ext_allowed_pct":3.0,"volume_pace":2.459,"trend":"positive","recent_slope_pct":0.8044,"volatility":"high"},"price":8.23,"volume":{"bars":4,"last_bar_volume":43098.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":79,"trade_rate":2.633333,"buy_vol":7643.0,"sell_vol":3429.0,"unclassified_vol":0.0,"imbalance":0.3806,"bid":8.2,"ask":8.23,"spread_pct":0.365186,"quote_size_imbalance":null,"quote_age_s":0.300823},"context":{"vwap":8.085955,"price_vs_vwap_pct":1.781422,"ema9":8.07826,"ema20":8.03513,"ema_stack":true,"ema_warm":false,"hod":8.23,"dist_to_hod_pct":0.0,"dist_to_hod_atr":0.0,"atr":0.117617,"spread_atr":0.255066,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"24103b153f9e","ts":"2026-08-28T13:34:25+00:00","symbol":"F","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.23,"vwap":14.2188,"ext_from_open_pct":0.78,"max_ext_allowed_pct":4.0,"volume_pace":5.591,"trend":"positive","recent_slope_pct":0.1373,"volatility":"low"},"price":14.23,"volume":{"bars":4,"last_bar_volume":2086455.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":427,"trade_rate":14.233333,"buy_vol":45873.0,"sell_vol":110184.0,"unclassified_vol":0.0,"imbalance":-0.412099,"bid":14.23,"ask":14.24,"spread_pct":0.070249,"quote_size_imbalance":null,"quote_age_s":0.378577},"context":{"vwap":14.218516,"price_vs_vwap_pct":0.080765,"ema9":14.191288,"ema20":14.180495,"ema_stack":true,"ema_warm":false,"hod":14.26,"dist_to_hod_pct":-0.210379,"dist_to_hod_atr":0.450029,"atr":0.066662,"spread_atr":0.15001,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"31910b6fac77","ts":"2026-08-28T13:34:25+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.07,"vwap":14.9401,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":15.01,"trend":"positive","recent_slope_pct":0.9199,"volatility":"high"},"price":15.07,"volume":{"bars":4,"last_bar_volume":28213.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":81,"trade_rate":2.7,"buy_vol":1836.0,"sell_vol":4590.0,"unclassified_vol":0.0,"imbalance":-0.428571,"bid":15.0,"ask":15.14,"spread_pct":0.928998,"quote_size_imbalance":null,"quote_age_s":6.935633},"context":{"vwap":14.933582,"price_vs_vwap_pct":0.913495,"ema9":14.803875,"ema20":14.712904,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-2.522009,"dist_to_hod_atr":1.15067,"atr":0.338846,"spread_atr":0.413167,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"36f2932add3d","ts":"2026-08-28T13:34:25+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.22,"vwap":8.0905,"ext_from_open_pct":3.01,"max_ext_allowed_pct":4.0,"volume_pace":2.424,"trend":"positive","recent_slope_pct":0.78,"volatility":"high"},"price":8.22,"volume":{"bars":4,"last_bar_volume":43098.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":81,"trade_rate":2.7,"buy_vol":6259.0,"sell_vol":3577.0,"unclassified_vol":0.0,"imbalance":0.272672,"bid":8.2,"ask":8.22,"spread_pct":0.243605,"quote_size_imbalance":null,"quote_age_s":2.590309},"context":{"vwap":8.085955,"price_vs_vwap_pct":1.657751,"ema9":8.07826,"ema20":8.03513,"ema_stack":true,"ema_warm":false,"hod":8.23,"dist_to_hod_pct":-0.121507,"dist_to_hod_atr":0.085022,"atr":0.117617,"spread_atr":0.170044,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"559f41483895","ts":"2026-08-28T13:34:40+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.26% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.045,"vwap":14.9445,"ext_from_open_pct":3.76,"max_ext_allowed_pct":4.0,"volume_pace":14.517,"trend":"positive","recent_slope_pct":0.8867,"volatility":"high"},"price":15.045,"volume":{"bars":4,"last_bar_volume":28213.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":1521.0,"sell_vol":2816.0,"unclassified_vol":0.0,"imbalance":-0.298593,"bid":14.95,"ask":15.14,"spread_pct":1.262878,"quote_size_imbalance":null,"quote_age_s":0.431653},"context":{"vwap":14.933582,"price_vs_vwap_pct":0.746087,"ema9":14.803875,"ema20":14.712904,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-2.683717,"dist_to_hod_atr":1.22445,"atr":0.338846,"spread_atr":0.560727,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"ace4b4ff9251","ts":"2026-08-28T13:34:55+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.405,"vwap":5.4034,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.146,"trend":"flat","recent_slope_pct":0.1226,"volatility":"high"},"price":5.405,"volume":{"bars":4,"last_bar_volume":35882.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":81,"trade_rate":2.7,"buy_vol":5716.0,"sell_vol":4465.0,"unclassified_vol":0.0,"imbalance":0.122876,"bid":5.4,"ask":5.41,"spread_pct":0.185014,"quote_size_imbalance":null,"quote_age_s":0.004128},"context":{"vwap":5.40362,"price_vs_vwap_pct":0.025531,"ema9":5.39212,"ema20":5.386291,"ema_stack":true,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.134748,"dist_to_hod_atr":1.498784,"atr":0.078664,"spread_atr":0.127123,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"cc212789f56e","ts":"2026-08-28T13:34:55+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.1599,"vwap":7.1535,"ext_from_open_pct":0.28,"max_ext_allowed_pct":4.0,"volume_pace":1.443,"trend":"flat","recent_slope_pct":0.0395,"volatility":"medium"},"price":7.1599,"volume":{"bars":4,"last_bar_volume":21048.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":2253.0,"sell_vol":1806.0,"unclassified_vol":0.0,"imbalance":0.110126,"bid":7.15,"ask":7.16,"spread_pct":0.139762,"quote_size_imbalance":null,"quote_age_s":0.973804},"context":{"vwap":7.153359,"price_vs_vwap_pct":0.091437,"ema9":7.153365,"ema20":7.149437,"ema_stack":true,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.279944,"dist_to_hod_atr":0.415654,"atr":0.048358,"spread_atr":0.206793,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"97993dddfb44","ts":"2026-08-28T13:35:00+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $7.98 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.29,"vwap":8.1265,"ext_from_open_pct":3.88,"max_ext_allowed_pct":3.0,"volume_pace":2.737,"trend":"positive","recent_slope_pct":0.9504,"volatility":"high"},"price":8.29,"volume":{"bars":4,"last_bar_volume":43098.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":250,"trade_rate":8.333333,"buy_vol":39702.0,"sell_vol":21074.0,"unclassified_vol":0.0,"imbalance":0.306503,"bid":8.27,"ask":8.29,"spread_pct":0.241546,"quote_size_imbalance":null,"quote_age_s":0.890972},"context":{"vwap":8.085955,"price_vs_vwap_pct":2.523449,"ema9":8.07826,"ema20":8.03513,"ema_stack":true,"ema_warm":false,"hod":8.23,"dist_to_hod_pct":0.72904,"dist_to_hod_atr":-0.510132,"atr":0.117617,"spread_atr":0.170044,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"9e6dbc187d7e","ts":"2026-08-28T13:35:05+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.40 below VWAP $5.40","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.4002,"vwap":5.4035,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":4.0,"volume_pace":2.09,"trend":"flat","recent_slope_pct":0.0285,"volatility":"high"},"price":5.4002,"volume":{"bars":5,"last_bar_volume":18645.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":91,"trade_rate":3.033333,"buy_vol":8134.0,"sell_vol":4608.0,"unclassified_vol":0.0,"imbalance":0.276723,"bid":5.4,"ask":5.41,"spread_pct":0.185014,"quote_size_imbalance":null,"quote_age_s":4.996227},"context":{"vwap":5.403468,"price_vs_vwap_pct":-0.060472,"ema9":5.395696,"ema20":5.388549,"ema_stack":true,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.221659,"dist_to_hod_atr":1.632069,"atr":0.075181,"spread_atr":0.133013,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"92ed5ce15985","ts":"2026-08-28T13:35:10+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.9175,"vwap":14.8356,"ext_from_open_pct":-0.02,"max_ext_allowed_pct":4.0,"volume_pace":16.106,"trend":"flat","recent_slope_pct":-0.1205,"volatility":"high"},"price":14.9175,"volume":{"bars":5,"last_bar_volume":165645.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":346,"trade_rate":11.533333,"buy_vol":30797.0,"sell_vol":59880.0,"unclassified_vol":0.0,"imbalance":-0.320732,"bid":14.9,"ask":14.92,"spread_pct":0.134138,"quote_size_imbalance":null,"quote_age_s":1.142683},"context":{"vwap":14.835254,"price_vs_vwap_pct":0.554395,"ema9":14.816824,"ema20":14.746659,"ema_stack":true,"ema_warm":false,"hod":15.07,"dist_to_hod_pct":-1.011944,"dist_to_hod_atr":0.464675,"atr":0.328186,"spread_atr":0.060941,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"4e3870056dc0","ts":"2026-08-28T13:35:10+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.12 below VWAP $5.12","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.12,"vwap":5.12,"ext_from_open_pct":1.79,"max_ext_allowed_pct":4.0,"volume_pace":4.585,"trend":"flat","recent_slope_pct":-0.1286,"volatility":"high"},"price":5.12,"volume":{"bars":5,"last_bar_volume":1222.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":1483.0,"sell_vol":4127.0,"unclassified_vol":0.0,"imbalance":-0.471301,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":1.046984},"context":{"vwap":5.119327,"price_vs_vwap_pct":0.013144,"ema9":5.121155,"ema20":5.112152,"ema_stack":false,"ema_warm":false,"hod":5.1793,"dist_to_hod_pct":-1.144942,"dist_to_hod_atr":0.820536,"atr":0.07227,"spread_atr":0.13837,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"ee2ffe13845b","ts":"2026-08-28T13:35:10+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.405,"vwap":5.4035,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.064,"trend":"flat","recent_slope_pct":0.0463,"volatility":"high"},"price":5.405,"volume":{"bars":5,"last_bar_volume":18645.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":84,"trade_rate":2.8,"buy_vol":8818.0,"sell_vol":4739.0,"unclassified_vol":0.0,"imbalance":0.300878,"bid":5.4,"ask":5.41,"spread_pct":0.185014,"quote_size_imbalance":null,"quote_age_s":2.344376},"context":{"vwap":5.403468,"price_vs_vwap_pct":0.02836,"ema9":5.395696,"ema20":5.388549,"ema_stack":true,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.134748,"dist_to_hod_atr":1.568223,"atr":0.075181,"spread_atr":0.133013,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"cae7267fd402","ts":"2026-08-28T13:35:20+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.125,"vwap":5.1202,"ext_from_open_pct":1.89,"max_ext_allowed_pct":4.0,"volume_pace":4.481,"trend":"flat","recent_slope_pct":-0.1091,"volatility":"high"},"price":5.125,"volume":{"bars":5,"last_bar_volume":1222.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":1886.0,"sell_vol":4239.0,"unclassified_vol":0.0,"imbalance":-0.384163,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":1.823434},"context":{"vwap":5.119327,"price_vs_vwap_pct":0.110813,"ema9":5.121155,"ema20":5.112152,"ema_stack":true,"ema_warm":false,"hod":5.1793,"dist_to_hod_pct":-1.048404,"dist_to_hod_atr":0.751351,"atr":0.07227,"spread_atr":0.13837,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"38d8c894ba5e","ts":"2026-08-28T13:35:20+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.39 below VWAP $5.40","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.395,"vwap":5.4034,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":3.0,"volume_pace":2.036,"trend":"flat","recent_slope_pct":0.0093,"volatility":"high"},"price":5.395,"volume":{"bars":5,"last_bar_volume":18645.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":87,"trade_rate":2.9,"buy_vol":10194.0,"sell_vol":7496.0,"unclassified_vol":0.0,"imbalance":0.152516,"bid":5.39,"ask":5.4,"spread_pct":0.185357,"quote_size_imbalance":null,"quote_age_s":0.545447},"context":{"vwap":5.403468,"price_vs_vwap_pct":-0.156706,"ema9":5.395696,"ema20":5.388549,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.315812,"dist_to_hod_atr":1.701236,"atr":0.075181,"spread_atr":0.133013,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"0485b7e5fc18","ts":"2026-08-28T13:35:20+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.2699,"vwap":8.1437,"ext_from_open_pct":3.63,"max_ext_allowed_pct":4.0,"volume_pace":2.915,"trend":"positive","recent_slope_pct":0.6456,"volatility":"high"},"price":8.2699,"volume":{"bars":5,"last_bar_volume":76009.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":315,"trade_rate":10.5,"buy_vol":44679.0,"sell_vol":36472.0,"unclassified_vol":0.0,"imbalance":0.101132,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":0.117213},"context":{"vwap":8.126485,"price_vs_vwap_pct":1.764786,"ema9":8.120608,"ema20":8.059403,"ema_stack":true,"ema_warm":false,"hod":8.29,"dist_to_hod_pct":-0.242461,"dist_to_hod_atr":0.170647,"atr":0.117787,"spread_atr":0.169798,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"c88f7026ce5e","ts":"2026-08-28T13:35:25+00:00","symbol":"F","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.21 below VWAP $14.22","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.2101,"vwap":14.2194,"ext_from_open_pct":0.64,"max_ext_allowed_pct":4.0,"volume_pace":4.949,"trend":"flat","recent_slope_pct":0.0714,"volatility":"low"},"price":14.2101,"volume":{"bars":5,"last_bar_volume":158731.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":384,"trade_rate":12.8,"buy_vol":42675.0,"sell_vol":99381.0,"unclassified_vol":0.0,"imbalance":-0.399181,"bid":14.21,"ask":14.22,"spread_pct":0.070348,"quote_size_imbalance":null,"quote_age_s":0.632551},"context":{"vwap":14.219255,"price_vs_vwap_pct":-0.064385,"ema9":14.19905,"ema20":14.185219,"ema_stack":true,"ema_warm":false,"hod":14.26,"dist_to_hod_pct":-0.34993,"dist_to_hod_atr":0.75393,"atr":0.066187,"spread_atr":0.151088,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"7526106978d3","ts":"2026-08-28T13:35:25+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.95,"vwap":14.9474,"ext_from_open_pct":3.1,"max_ext_allowed_pct":5.0,"volume_pace":12.893,"trend":"flat","recent_slope_pct":0.3048,"volatility":"high"},"price":14.95,"volume":{"bars":5,"last_bar_volume":9952.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":1021.0,"sell_vol":272.0,"unclassified_vol":0.0,"imbalance":0.579273,"bid":14.95,"ask":15.1,"spread_pct":0.998336,"quote_size_imbalance":null,"quote_age_s":0.345232},"context":{"vwap":14.9468,"price_vs_vwap_pct":0.021406,"ema9":14.83744,"ema20":14.737551,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-3.29821,"dist_to_hod_atr":1.455432,"atr":0.350343,"spread_atr":0.428152,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"1adf1c7c8759","ts":"2026-08-28T13:35:25+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.23 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.2299,"vwap":7.236,"ext_from_open_pct":0.69,"max_ext_allowed_pct":3.0,"volume_pace":1.236,"trend":"flat","recent_slope_pct":-0.0827,"volatility":"medium"},"price":7.2299,"volume":{"bars":5,"last_bar_volume":39236.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":110,"trade_rate":3.666667,"buy_vol":8095.0,"sell_vol":13992.0,"unclassified_vol":0.0,"imbalance":-0.26699,"bid":7.22,"ask":7.23,"spread_pct":0.138408,"quote_size_imbalance":null,"quote_age_s":2.833028},"context":{"vwap":7.235917,"price_vs_vwap_pct":-0.083158,"ema9":7.255878,"ema20":7.253283,"ema_stack":false,"ema_warm":false,"hod":7.2799,"dist_to_hod_pct":-0.686823,"dist_to_hod_atr":0.677439,"atr":0.073807,"spread_atr":0.135488,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"35e296da322d","ts":"2026-08-28T13:35:25+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.13 below VWAP $7.15","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.135,"vwap":7.1526,"ext_from_open_pct":-0.07,"max_ext_allowed_pct":3.0,"volume_pace":1.442,"trend":"flat","recent_slope_pct":-0.0809,"volatility":"medium"},"price":7.135,"volume":{"bars":5,"last_bar_volume":16262.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":11055.0,"sell_vol":17848.0,"unclassified_vol":0.0,"imbalance":-0.235028,"bid":7.13,"ask":7.14,"spread_pct":0.140154,"quote_size_imbalance":null,"quote_age_s":0.088929},"context":{"vwap":7.153547,"price_vs_vwap_pct":-0.259268,"ema9":7.154692,"ema20":7.150443,"ema_stack":false,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.626741,"dist_to_hod_atr":0.956505,"atr":0.047046,"spread_atr":0.212557,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"0ee6eece0923","ts":"2026-08-28T13:35:25+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $7.98 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.225,"vwap":8.1443,"ext_from_open_pct":3.07,"max_ext_allowed_pct":3.0,"volume_pace":2.99,"trend":"positive","recent_slope_pct":0.5367,"volatility":"high"},"price":8.225,"volume":{"bars":5,"last_bar_volume":76009.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":216,"trade_rate":7.2,"buy_vol":37889.0,"sell_vol":32122.0,"unclassified_vol":0.0,"imbalance":0.082373,"bid":8.21,"ask":8.24,"spread_pct":0.364742,"quote_size_imbalance":null,"quote_age_s":0.808592},"context":{"vwap":8.126485,"price_vs_vwap_pct":1.212272,"ema9":8.120608,"ema20":8.059403,"ema_stack":true,"ema_warm":false,"hod":8.29,"dist_to_hod_pct":-0.784077,"dist_to_hod_atr":0.551844,"atr":0.117787,"spread_atr":0.254697,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"6bd9bbef0d5d","ts":"2026-08-28T13:35:30+00:00","symbol":"F","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.235,"vwap":14.2218,"ext_from_open_pct":0.81,"max_ext_allowed_pct":5.0,"volume_pace":6.095,"trend":"positive","recent_slope_pct":0.1064,"volatility":"low"},"price":14.235,"volume":{"bars":5,"last_bar_volume":158731.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":670,"trade_rate":22.333333,"buy_vol":619193.0,"sell_vol":144031.0,"unclassified_vol":0.0,"imbalance":0.622572,"bid":14.23,"ask":14.24,"spread_pct":0.070249,"quote_size_imbalance":null,"quote_age_s":0.009044},"context":{"vwap":14.219255,"price_vs_vwap_pct":0.11073,"ema9":14.19905,"ema20":14.185219,"ema_stack":true,"ema_warm":false,"hod":14.26,"dist_to_hod_pct":-0.175316,"dist_to_hod_atr":0.377721,"atr":0.066187,"spread_atr":0.151088,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"f5ee81a86f75","ts":"2026-08-28T13:35:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.515,"vwap":5.3985,"ext_from_open_pct":3.08,"max_ext_allowed_pct":3.0,"volume_pace":2.169,"trend":"positive","recent_slope_pct":0.533,"volatility":"medium"},"price":5.515,"volume":{"bars":5,"last_bar_volume":99093.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":295,"trade_rate":9.833333,"buy_vol":72402.0,"sell_vol":54292.0,"unclassified_vol":0.0,"imbalance":0.142943,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.005316},"context":{"vwap":5.386178,"price_vs_vwap_pct":2.391721,"ema9":5.40016,"ema20":5.381371,"ema_stack":true,"ema_warm":false,"hod":5.47,"dist_to_hod_pct":0.822669,"dist_to_hod_atr":-0.784992,"atr":0.057325,"spread_atr":0.174443,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"9d9396bca4bb","ts":"2026-08-28T13:35:30+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.255,"vwap":8.1488,"ext_from_open_pct":3.45,"max_ext_allowed_pct":4.0,"volume_pace":3.026,"trend":"positive","recent_slope_pct":0.6095,"volatility":"high"},"price":8.255,"volume":{"bars":5,"last_bar_volume":76009.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":293,"trade_rate":9.766667,"buy_vol":40752.0,"sell_vol":25712.0,"unclassified_vol":0.0,"imbalance":0.226288,"bid":8.24,"ask":8.26,"spread_pct":0.242424,"quote_size_imbalance":null,"quote_age_s":0.330609},"context":{"vwap":8.126485,"price_vs_vwap_pct":1.581435,"ema9":8.120608,"ema20":8.059403,"ema_stack":true,"ema_warm":false,"hod":8.29,"dist_to_hod_pct":-0.422195,"dist_to_hod_atr":0.297147,"atr":0.117787,"spread_atr":0.169798,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"d270d1d952e3","ts":"2026-08-28T13:35:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.505,"vwap":5.4005,"ext_from_open_pct":2.9,"max_ext_allowed_pct":3.0,"volume_pace":2.201,"trend":"positive","recent_slope_pct":0.4964,"volatility":"medium"},"price":5.505,"volume":{"bars":5,"last_bar_volume":99093.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":307,"trade_rate":10.233333,"buy_vol":75089.0,"sell_vol":69919.0,"unclassified_vol":0.0,"imbalance":0.035653,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.21628},"context":{"vwap":5.386178,"price_vs_vwap_pct":2.206061,"ema9":5.40016,"ema20":5.381371,"ema_stack":true,"ema_warm":false,"hod":5.47,"dist_to_hod_pct":0.639854,"dist_to_hod_atr":-0.610549,"atr":0.057325,"spread_atr":0.174443,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":0},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"fff7f4195816","ts":"2026-08-28T13:35:35+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.4% above open $7.98 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.255,"vwap":8.1489,"ext_from_open_pct":3.45,"max_ext_allowed_pct":3.0,"volume_pace":2.984,"trend":"positive","recent_slope_pct":0.6095,"volatility":"high"},"price":8.255,"volume":{"bars":5,"last_bar_volume":76009.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":283,"trade_rate":9.433333,"buy_vol":34949.0,"sell_vol":25650.0,"unclassified_vol":0.0,"imbalance":0.153451,"bid":8.25,"ask":8.26,"spread_pct":0.121139,"quote_size_imbalance":null,"quote_age_s":0.453937},"context":{"vwap":8.126485,"price_vs_vwap_pct":1.581435,"ema9":8.120608,"ema20":8.059403,"ema_stack":true,"ema_warm":false,"hod":8.29,"dist_to_hod_pct":-0.422195,"dist_to_hod_atr":0.297147,"atr":0.117787,"spread_atr":0.084899,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":1},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"912c24e9ca20","ts":"2026-08-28T13:35:40+00:00","symbol":"F","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.22 below VWAP $14.22","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.2174,"vwap":14.2204,"ext_from_open_pct":0.69,"max_ext_allowed_pct":5.0,"volume_pace":5.942,"trend":"positive","recent_slope_pct":0.0817,"volatility":"low"},"price":14.2174,"volume":{"bars":5,"last_bar_volume":158731.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":645,"trade_rate":21.5,"buy_vol":616913.0,"sell_vol":121739.0,"unclassified_vol":0.0,"imbalance":0.670375,"bid":14.21,"ask":14.22,"spread_pct":0.070348,"quote_size_imbalance":null,"quote_age_s":0.345683},"context":{"vwap":14.219255,"price_vs_vwap_pct":-0.013046,"ema9":14.19905,"ema20":14.185219,"ema_stack":true,"ema_warm":false,"hod":14.26,"dist_to_hod_pct":-0.298738,"dist_to_hod_atr":0.643636,"atr":0.066187,"spread_atr":0.151088,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"6ec8d6e07941","ts":"2026-08-28T13:35:45+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.44 below VWAP $11.45","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.44,"vwap":11.4458,"ext_from_open_pct":-0.35,"max_ext_allowed_pct":3.0,"volume_pace":2.57,"trend":"flat","recent_slope_pct":0.0957,"volatility":"medium"},"price":11.44,"volume":{"bars":5,"last_bar_volume":34123.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":344.0,"sell_vol":1764.0,"unclassified_vol":0.0,"imbalance":-0.673624,"bid":11.44,"ask":11.46,"spread_pct":0.174672,"quote_size_imbalance":null,"quote_age_s":0.067124},"context":{"vwap":11.445476,"price_vs_vwap_pct":-0.047843,"ema9":11.445633,"ema20":11.434854,"ema_stack":false,"ema_warm":false,"hod":11.5177,"dist_to_hod_pct":-0.674614,"dist_to_hod_atr":0.663785,"atr":0.117056,"spread_atr":0.170858,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"0c9f8b0b9b52","ts":"2026-08-28T13:35:45+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.59% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.24,"vwap":14.9631,"ext_from_open_pct":5.1,"max_ext_allowed_pct":5.0,"volume_pace":13.11,"trend":"positive","recent_slope_pct":0.6898,"volatility":"high"},"price":15.24,"volume":{"bars":5,"last_bar_volume":9952.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":11402.0,"sell_vol":492.0,"unclassified_vol":0.0,"imbalance":0.917269,"bid":15.0,"ask":15.24,"spread_pct":1.587302,"quote_size_imbalance":null,"quote_age_s":2.424372},"context":{"vwap":14.9468,"price_vs_vwap_pct":1.961621,"ema9":14.83744,"ema20":14.737551,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-1.42239,"dist_to_hod_atr":0.627671,"atr":0.350343,"spread_atr":0.685043,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"6eea7af7d9a3","ts":"2026-08-28T13:35:50+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.4528,"vwap":11.4458,"ext_from_open_pct":-0.24,"max_ext_allowed_pct":3.0,"volume_pace":2.537,"trend":"flat","recent_slope_pct":0.118,"volatility":"medium"},"price":11.4528,"volume":{"bars":5,"last_bar_volume":34123.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":331.0,"sell_vol":1985.0,"unclassified_vol":0.0,"imbalance":-0.714162,"bid":11.44,"ask":11.46,"spread_pct":0.174672,"quote_size_imbalance":null,"quote_age_s":0.290859},"context":{"vwap":11.445476,"price_vs_vwap_pct":0.063991,"ema9":11.445633,"ema20":11.434854,"ema_stack":true,"ema_warm":false,"hod":11.5177,"dist_to_hod_pct":-0.563481,"dist_to_hod_atr":0.554436,"atr":0.117056,"spread_atr":0.170858,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"159625aa3028","ts":"2026-08-28T13:35:50+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.075,"vwap":14.9586,"ext_from_open_pct":3.97,"max_ext_allowed_pct":5.0,"volume_pace":12.924,"trend":"flat","recent_slope_pct":0.4711,"volatility":"high"},"price":15.075,"volume":{"bars":5,"last_bar_volume":9952.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":11283.0,"sell_vol":298.0,"unclassified_vol":0.0,"imbalance":0.948536,"bid":15.0,"ask":15.15,"spread_pct":0.995025,"quote_size_imbalance":null,"quote_age_s":0.042393},"context":{"vwap":14.9468,"price_vs_vwap_pct":0.857706,"ema9":14.83744,"ema20":14.737551,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-2.489667,"dist_to_hod_atr":1.098638,"atr":0.350343,"spread_atr":0.428152,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"fa5d2f8e4276","ts":"2026-08-28T13:35:55+00:00","symbol":"F","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.225,"vwap":14.2211,"ext_from_open_pct":0.74,"max_ext_allowed_pct":4.0,"volume_pace":5.729,"trend":"positive","recent_slope_pct":0.0924,"volatility":"low"},"price":14.225,"volume":{"bars":5,"last_bar_volume":158731.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":526,"trade_rate":17.533333,"buy_vol":606167.0,"sell_vol":78730.0,"unclassified_vol":0.0,"imbalance":0.770097,"bid":14.22,"ask":14.23,"spread_pct":0.070299,"quote_size_imbalance":null,"quote_age_s":0.440637},"context":{"vwap":14.219255,"price_vs_vwap_pct":0.040402,"ema9":14.19905,"ema20":14.185219,"ema_stack":true,"ema_warm":false,"hod":14.26,"dist_to_hod_pct":-0.245442,"dist_to_hod_atr":0.528809,"atr":0.066187,"spread_atr":0.151088,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"5031a1e92851","ts":"2026-08-28T13:35:55+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.06% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.08,"vwap":14.9591,"ext_from_open_pct":4.0,"max_ext_allowed_pct":5.0,"volume_pace":12.77,"trend":"flat","recent_slope_pct":0.4777,"volatility":"high"},"price":15.08,"volume":{"bars":5,"last_bar_volume":9952.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":11559.0,"sell_vol":287.0,"unclassified_vol":0.0,"imbalance":0.951545,"bid":15.0,"ask":15.16,"spread_pct":1.061008,"quote_size_imbalance":null,"quote_age_s":1.019182},"context":{"vwap":14.9468,"price_vs_vwap_pct":0.891158,"ema9":14.83744,"ema20":14.737551,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-2.457325,"dist_to_hod_atr":1.084367,"atr":0.350343,"spread_atr":0.456696,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["spread"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":false,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"b9834c407294","ts":"2026-08-28T13:35:55+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.2399,"vwap":7.2363,"ext_from_open_pct":0.83,"max_ext_allowed_pct":3.0,"volume_pace":1.173,"trend":"flat","recent_slope_pct":-0.0551,"volatility":"medium"},"price":7.2399,"volume":{"bars":5,"last_bar_volume":39236.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":4533.0,"sell_vol":12948.0,"unclassified_vol":0.0,"imbalance":-0.48138,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.459226},"context":{"vwap":7.235917,"price_vs_vwap_pct":0.055042,"ema9":7.255878,"ema20":7.253283,"ema_stack":false,"ema_warm":false,"hod":7.2799,"dist_to_hod_pct":-0.549458,"dist_to_hod_atr":0.541951,"atr":0.073807,"spread_atr":0.135488,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"298d5cf03a52","ts":"2026-08-28T13:36:00+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.43 below VWAP $11.45","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.43,"vwap":11.4457,"ext_from_open_pct":-0.44,"max_ext_allowed_pct":3.0,"volume_pace":2.481,"trend":"flat","recent_slope_pct":0.0783,"volatility":"medium"},"price":11.43,"volume":{"bars":5,"last_bar_volume":34123.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":1192.0,"sell_vol":2221.0,"unclassified_vol":0.0,"imbalance":-0.301494,"bid":11.43,"ask":11.44,"spread_pct":0.087451,"quote_size_imbalance":null,"quote_age_s":0.00596},"context":{"vwap":11.445476,"price_vs_vwap_pct":-0.135214,"ema9":11.445633,"ema20":11.434854,"ema_stack":false,"ema_warm":false,"hod":11.5177,"dist_to_hod_pct":-0.761437,"dist_to_hod_atr":0.749214,"atr":0.117056,"spread_atr":0.085429,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":-2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"537897a1666d","ts":"2026-08-28T13:36:00+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.2451,"vwap":8.1555,"ext_from_open_pct":3.32,"max_ext_allowed_pct":4.0,"volume_pace":2.994,"trend":"positive","recent_slope_pct":0.5855,"volatility":"high"},"price":8.2451,"volume":{"bars":5,"last_bar_volume":76009.0,"baseline_avg":null,"bar_rvol":null,"raw_accel":null,"smooth_accel":null,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":101,"trade_rate":3.366667,"buy_vol":25248.0,"sell_vol":4427.0,"unclassified_vol":0.0,"imbalance":0.701634,"bid":8.24,"ask":8.26,"spread_pct":0.242424,"quote_size_imbalance":null,"quote_age_s":1.160798},"context":{"vwap":8.126485,"price_vs_vwap_pct":1.459611,"ema9":8.120608,"ema20":8.059403,"ema_stack":true,"ema_warm":false,"hod":8.29,"dist_to_hod_pct":-0.541616,"dist_to_hod_atr":0.381197,"atr":0.117787,"spread_atr":0.169798,"own_change_pct":null,"rel_strength_pct":{"SPY":null,"IWM":null}},"vas":{"raw":null,"score":null,"components":{"rvol":null,"accel":null,"momentum":null,"imbalance":2},"missing":["rvol","accel","momentum"],"volume_pressure":null},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","bar_rvol","rel_strength","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":null,"spread":true,"rel_strength":null,"not_decelerating":null}}}
{"type":"snapshot","id":"bc06235b5014","ts":"2026-08-28T13:36:05+00:00","symbol":"KLAR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.9998,"vwap":14.8646,"ext_from_open_pct":0.53,"max_ext_allowed_pct":4.0,"volume_pace":17.833,"trend":"flat","recent_slope_pct":0.1771,"volatility":"high"},"price":14.9998,"volume":{"bars":6,"last_bar_volume":394711.0,"baseline_avg":273871.0,"bar_rvol":1.44123,"raw_accel":1.382873,"smooth_accel":-0.397632,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":536,"trade_rate":17.866667,"buy_vol":65850.0,"sell_vol":117776.0,"unclassified_vol":0.0,"imbalance":-0.282781,"bid":14.99,"ask":15.0,"spread_pct":0.066689,"quote_size_imbalance":null,"quote_age_s":0.221262},"context":{"vwap":14.86242,"price_vs_vwap_pct":0.924343,"ema9":14.849459,"ema20":14.768882,"ema_stack":true,"ema_warm":false,"hod":15.07,"dist_to_hod_pct":-0.465826,"dist_to_hod_atr":0.223546,"atr":0.31403,"spread_atr":0.031844,"own_change_pct":2.217673,"rel_strength_pct":{"SPY":2.212491,"IWM":2.359243}},"vas":{"raw":null,"score":null,"components":{"rvol":0,"accel":-2,"momentum":null,"imbalance":-1},"missing":["momentum"],"volume_pressure":-0.407553},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"aa41f45cc45e","ts":"2026-08-28T13:36:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.4513,"vwap":11.4457,"ext_from_open_pct":-0.25,"max_ext_allowed_pct":3.0,"volume_pace":2.456,"trend":"flat","recent_slope_pct":-0.0326,"volatility":"medium"},"price":11.4513,"volume":{"bars":6,"last_bar_volume":7816.0,"baseline_avg":55609.0,"bar_rvol":0.140553,"raw_accel":-0.770946,"smooth_accel":-0.617219,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":2091.0,"sell_vol":2251.0,"unclassified_vol":0.0,"imbalance":-0.036849,"bid":11.45,"ask":11.46,"spread_pct":0.087298,"quote_size_imbalance":null,"quote_age_s":0.817538},"context":{"vwap":11.445691,"price_vs_vwap_pct":0.049008,"ema9":11.442506,"ema20":11.434392,"ema_stack":true,"ema_warm":false,"hod":11.5177,"dist_to_hod_pct":-0.576504,"dist_to_hod_atr":0.58402,"atr":0.113695,"spread_atr":0.087955,"own_change_pct":0.050769,"rel_strength_pct":{"SPY":0.045587,"IWM":0.192339}},"vas":{"raw":null,"score":null,"components":{"rvol":-2,"accel":-2,"momentum":null,"imbalance":0},"missing":["momentum"],"volume_pressure":-0.005179},"shadow":{"decision":"FAIL","failed":["imbalance","bar_rvol"],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"5d733c9bb03c","ts":"2026-08-28T13:36:05+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.08,"vwap":5.0682,"ext_from_open_pct":0.4,"max_ext_allowed_pct":4.0,"volume_pace":0.858,"trend":"flat","recent_slope_pct":-0.1493,"volatility":"high"},"price":5.08,"volume":{"bars":6,"last_bar_volume":32722.0,"baseline_avg":73517.8,"bar_rvol":0.445089,"raw_accel":0.780358,"smooth_accel":-0.728978,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":72,"trade_rate":2.4,"buy_vol":10877.0,"sell_vol":1030.0,"unclassified_vol":0.0,"imbalance":0.826993,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":0.238667},"context":{"vwap":5.068178,"price_vs_vwap_pct":0.233261,"ema9":5.079146,"ema20":5.063111,"ema_stack":true,"ema_warm":false,"hod":5.14,"dist_to_hod_pct":-1.167315,"dist_to_hod_atr":0.86201,"atr":0.069605,"spread_atr":0.143668,"own_change_pct":0.771825,"rel_strength_pct":{"SPY":0.766643,"IWM":0.913395}},"vas":{"raw":null,"score":null,"components":{"rvol":-2,"accel":-2,"momentum":null,"imbalance":2},"missing":["momentum"],"volume_pressure":0.368086},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"57449afa5f84","ts":"2026-08-28T13:36:05+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.21 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.21,"vwap":7.236,"ext_from_open_pct":0.42,"max_ext_allowed_pct":3.0,"volume_pace":1.156,"trend":"flat","recent_slope_pct":-0.1655,"volatility":"medium"},"price":7.21,"volume":{"bars":6,"last_bar_volume":38849.0,"baseline_avg":92907.6,"bar_rvol":0.418147,"raw_accel":-0.009863,"smooth_accel":-0.714685,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":2931.0,"sell_vol":7342.0,"unclassified_vol":0.0,"imbalance":-0.429378,"bid":7.21,"ask":7.22,"spread_pct":0.1386,"quote_size_imbalance":null,"quote_age_s":0.108266},"context":{"vwap":7.236297,"price_vs_vwap_pct":-0.363399,"ema9":7.252702,"ema20":7.252018,"ema_stack":false,"ema_warm":false,"hod":7.2799,"dist_to_hod_pct":-0.960178,"dist_to_hod_atr":0.981548,"atr":0.071214,"spread_atr":0.140422,"own_change_pct":-0.137931,"rel_strength_pct":{"SPY":-0.143113,"IWM":0.003639}},"vas":{"raw":null,"score":null,"components":{"rvol":-2,"accel":-2,"momentum":null,"imbalance":-2},"missing":["momentum"],"volume_pressure":-0.179543},"shadow":{"decision":"FAIL","failed":["imbalance","bar_rvol","rel_strength"],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":null}}}
{"type":"snapshot","id":"04a1549f00e1","ts":"2026-08-28T13:36:10+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.44 below VWAP $11.45","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":11.44,"vwap":11.4457,"ext_from_open_pct":-0.35,"max_ext_allowed_pct":3.0,"volume_pace":2.443,"trend":"flat","recent_slope_pct":-0.0524,"volatility":"medium"},"price":11.44,"volume":{"bars":6,"last_bar_volume":7816.0,"baseline_avg":55609.0,"bar_rvol":0.140553,"raw_accel":-0.770946,"smooth_accel":-0.617219,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":2674.0,"sell_vol":3019.0,"unclassified_vol":0.0,"imbalance":-0.060601,"bid":11.43,"ask":11.45,"spread_pct":0.174825,"quote_size_imbalance":null,"quote_age_s":0.048223},"context":{"vwap":11.445691,"price_vs_vwap_pct":-0.049719,"ema9":11.442506,"ema20":11.434392,"ema_stack":false,"ema_warm":false,"hod":11.5177,"dist_to_hod_pct":-0.674614,"dist_to_hod_atr":0.683408,"atr":0.113695,"spread_atr":0.17591,"own_change_pct":0.050769,"rel_strength_pct":{"SPY":0.045587,"IWM":0.192339}},"vas":{"raw":null,"score":null,"components":{"rvol":-2,"accel":-2,"momentum":null,"imbalance":0},"missing":["momentum"],"volume_pressure":-0.008518},"shadow":{"decision":"FAIL","failed":["imbalance","bar_rvol"],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"5a29e866a871","ts":"2026-08-28T13:36:10+00:00","symbol":"F","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.21 below VWAP $14.22","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":14.215,"vwap":14.2222,"ext_from_open_pct":0.67,"max_ext_allowed_pct":4.0,"volume_pace":5.548,"trend":"flat","recent_slope_pct":0.0253,"volatility":"low"},"price":14.215,"volume":{"bars":6,"last_bar_volume":810715.0,"baseline_avg":494995.0,"bar_rvol":1.637825,"raw_accel":4.107477,"smooth_accel":12.298726,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":202,"trade_rate":6.733333,"buy_vol":21786.0,"sell_vol":30662.0,"unclassified_vol":0.0,"imbalance":-0.169234,"bid":14.21,"ask":14.22,"spread_pct":0.070348,"quote_size_imbalance":null,"quote_age_s":0.099149},"context":{"vwap":14.222194,"price_vs_vwap_pct":-0.050584,"ema9":14.20696,"ema20":14.190303,"ema_stack":true,"ema_warm":false,"hod":14.26,"dist_to_hod_pct":-0.315568,"dist_to_hod_atr":0.695883,"atr":0.064666,"spread_atr":0.154641,"own_change_pct":0.484121,"rel_strength_pct":{"SPY":0.478939,"IWM":0.625691}},"vas":{"raw":null,"score":null,"components":{"rvol":1,"accel":3,"momentum":null,"imbalance":-1},"missing":["momentum"],"volume_pressure":-0.277176},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"aa12be91caa1","ts":"2026-08-28T13:36:15+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.47 below VWAP $5.47","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.4662,"vwap":5.4695,"ext_from_open_pct":-0.07,"max_ext_allowed_pct":4.0,"volume_pace":3.651,"trend":"flat","recent_slope_pct":-0.0504,"volatility":"medium"},"price":5.4662,"volume":{"bars":6,"last_bar_volume":138124.0,"baseline_avg":144100.8,"bar_rvol":0.958523,"raw_accel":2.834094,"smooth_accel":-0.679434,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":2.73825},"flow":{"window_s":30,"trades":103,"trade_rate":3.433333,"buy_vol":24933.0,"sell_vol":78127.0,"unclassified_vol":0.0,"imbalance":-0.516146,"bid":5.46,"ask":5.47,"spread_pct":0.182983,"quote_size_imbalance":null,"quote_age_s":1.23348},"context":{"vwap":5.469572,"price_vs_vwap_pct":-0.061644,"ema9":5.474715,"ema20":5.470591,"ema_stack":false,"ema_warm":false,"hod":5.49,"dist_to_hod_pct":-0.433515,"dist_to_hod_atr":0.896292,"atr":0.026554,"spread_atr":0.376593,"own_change_pct":0.365965,"rel_strength_pct":{"SPY":0.360783,"IWM":0.507535}},"vas":{"raw":null,"score":null,"components":{"rvol":-1,"accel":-2,"momentum":null,"imbalance":-2},"missing":["momentum"],"volume_pressure":-0.494738},"shadow":{"decision":"FAIL","failed":["imbalance","bar_rvol"],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"df030d479327","ts":"2026-08-28T13:36:15+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.16,"vwap":14.9634,"ext_from_open_pct":4.55,"max_ext_allowed_pct":5.0,"volume_pace":12.232,"trend":"flat","recent_slope_pct":0.1586,"volatility":"high"},"price":15.16,"volume":{"bars":6,"last_bar_volume":13270.0,"baseline_avg":28658.4,"bar_rvol":0.463041,"raw_accel":0.3334,"smooth_accel":-0.510735,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":0.231136},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":1830.0,"sell_vol":375.0,"unclassified_vol":0.0,"imbalance":0.659864,"bid":15.01,"ask":15.16,"spread_pct":0.994365,"quote_size_imbalance":null,"quote_age_s":2.387157},"context":{"vwap":14.961461,"price_vs_vwap_pct":1.327004,"ema9":14.901812,"ema20":14.777718,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-1.939857,"dist_to_hod_atr":0.864896,"atr":0.346747,"spread_atr":0.432592,"own_change_pct":3.688782,"rel_strength_pct":{"SPY":3.6836,"IWM":3.830352}},"vas":{"raw":null,"score":null,"components":{"rvol":-2,"accel":-2,"momentum":null,"imbalance":2},"missing":["momentum"],"volume_pressure":0.305544},"shadow":{"decision":"FAIL","failed":["bar_rvol","spread"],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"888ada2e778c","ts":"2026-08-28T13:36:20+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.15 below VWAP $8.16","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.1497,"vwap":8.1567,"ext_from_open_pct":2.13,"max_ext_allowed_pct":4.0,"volume_pace":3.04,"trend":"positive","recent_slope_pct":-0.0793,"volatility":"high"},"price":8.1497,"volume":{"bars":6,"last_bar_volume":96139.0,"baseline_avg":61529.4,"bar_rvol":1.562489,"raw_accel":0.264837,"smooth_accel":0.141646,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":1.412252},"flow":{"window_s":30,"trades":180,"trade_rate":6.0,"buy_vol":30136.0,"sell_vol":18979.0,"unclassified_vol":0.0,"imbalance":0.227161,"bid":8.12,"ask":8.15,"spread_pct":0.368777,"quote_size_imbalance":null,"quote_age_s":0.576139},"context":{"vwap":8.155544,"price_vs_vwap_pct":-0.071655,"ema9":8.145506,"ema20":8.077088,"ema_stack":true,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.810843,"dist_to_hod_atr":1.290343,"atr":0.116481,"spread_atr":0.257553,"own_change_pct":3.192741,"rel_strength_pct":{"SPY":3.187559,"IWM":3.334311}},"vas":{"raw":null,"score":null,"components":{"rvol":1,"accel":1,"momentum":null,"imbalance":1},"missing":["momentum"],"volume_pressure":0.354936},"shadow":{"decision":"INCOMPLETE","failed":[],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"1ca38b669be3","ts":"2026-08-28T13:36:30+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.1646,"vwap":8.1572,"ext_from_open_pct":2.31,"max_ext_allowed_pct":4.0,"volume_pace":2.976,"trend":"positive","recent_slope_pct":-0.043,"volatility":"high"},"price":8.1646,"volume":{"bars":6,"last_bar_volume":96139.0,"baseline_avg":61529.4,"bar_rvol":1.562489,"raw_accel":0.264837,"smooth_accel":0.141646,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":1.007323},"flow":{"window_s":30,"trades":150,"trade_rate":5.0,"buy_vol":12632.0,"sell_vol":18358.0,"unclassified_vol":0.0,"imbalance":-0.184769,"bid":8.14,"ask":8.18,"spread_pct":0.490196,"quote_size_imbalance":null,"quote_age_s":1.839977},"context":{"vwap":8.155544,"price_vs_vwap_pct":0.111042,"ema9":8.145506,"ema20":8.077088,"ema_stack":true,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.631325,"dist_to_hod_atr":1.162425,"atr":0.116481,"spread_atr":0.343405,"own_change_pct":3.192741,"rel_strength_pct":{"SPY":3.187559,"IWM":3.334311}},"vas":{"raw":null,"score":null,"components":{"rvol":1,"accel":1,"momentum":null,"imbalance":-1},"missing":["momentum"],"volume_pressure":-0.2887},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"d501970e455f","ts":"2026-08-28T13:36:35+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.06% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.1,"vwap":14.9639,"ext_from_open_pct":4.14,"max_ext_allowed_pct":5.0,"volume_pace":11.663,"trend":"flat","recent_slope_pct":0.0792,"volatility":"high"},"price":15.1,"volume":{"bars":6,"last_bar_volume":13270.0,"baseline_avg":28658.4,"bar_rvol":0.463041,"raw_accel":0.3334,"smooth_accel":-0.510735,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":0.140333},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":1793.0,"sell_vol":459.0,"unclassified_vol":0.0,"imbalance":0.592362,"bid":15.01,"ask":15.17,"spread_pct":1.060305,"quote_size_imbalance":null,"quote_age_s":2.285083},"context":{"vwap":14.961461,"price_vs_vwap_pct":0.925973,"ema9":14.901812,"ema20":14.777718,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-2.327958,"dist_to_hod_atr":1.037933,"atr":0.346747,"spread_atr":0.461432,"own_change_pct":3.688782,"rel_strength_pct":{"SPY":3.6836,"IWM":3.830352}},"vas":{"raw":null,"score":null,"components":{"rvol":-2,"accel":-2,"momentum":null,"imbalance":2},"missing":["momentum"],"volume_pressure":0.274288},"shadow":{"decision":"FAIL","failed":["bar_rvol","spread"],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"b615e5733f84","ts":"2026-08-28T13:37:00+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.1396,"vwap":14.9654,"ext_from_open_pct":4.41,"max_ext_allowed_pct":5.0,"volume_pace":11.062,"trend":"flat","recent_slope_pct":0.1316,"volatility":"high"},"price":15.1396,"volume":{"bars":6,"last_bar_volume":13270.0,"baseline_avg":28658.4,"bar_rvol":0.463041,"raw_accel":0.3334,"smooth_accel":-0.510735,"accel_momentum":null,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":24,"trade_rate":0.8,"buy_vol":189.0,"sell_vol":1202.0,"unclassified_vol":0.0,"imbalance":-0.728253,"bid":15.01,"ask":15.16,"spread_pct":0.994365,"quote_size_imbalance":null,"quote_age_s":0.005907},"context":{"vwap":14.961461,"price_vs_vwap_pct":1.190653,"ema9":14.901812,"ema20":14.777718,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-2.071812,"dist_to_hod_atr":0.923729,"atr":0.346747,"spread_atr":0.432592,"own_change_pct":3.688782,"rel_strength_pct":{"SPY":3.635005,"IWM":3.827134}},"vas":{"raw":null,"score":null,"components":{"rvol":-2,"accel":-2,"momentum":null,"imbalance":-2},"missing":["momentum"],"volume_pressure":-0.337211},"shadow":{"decision":"FAIL","failed":["imbalance","bar_rvol","spread"],"missing":["vas","not_decelerating"],"rules":{"vas":null,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"bc709e797731","ts":"2026-08-28T13:37:05+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.52% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.0101,"vwap":14.9664,"ext_from_open_pct":3.52,"max_ext_allowed_pct":5.0,"volume_pace":11.02,"trend":"flat","recent_slope_pct":-0.0874,"volatility":"high"},"price":15.0101,"volume":{"bars":7,"last_bar_volume":3690.0,"baseline_avg":26093.666667,"bar_rvol":0.141414,"raw_accel":-0.721929,"smooth_accel":-0.750889,"accel_momentum":-0.240154,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":1405.0,"sell_vol":1236.0,"unclassified_vol":0.0,"imbalance":0.063991,"bid":15.01,"ask":15.24,"spread_pct":1.520661,"quote_size_imbalance":null,"quote_age_s":3.439745},"context":{"vwap":14.965416,"price_vs_vwap_pct":0.298581,"ema9":14.94937,"ema20":14.812183,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-2.909463,"dist_to_hod_atr":1.326394,"atr":0.339115,"spread_atr":0.678236,"own_change_pct":3.075321,"rel_strength_pct":{"SPY":3.021543,"IWM":3.213672}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.009049},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread"],"missing":["not_decelerating"],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"162fdb247cec","ts":"2026-08-28T13:37:05+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":10.529,"vwap":10.4852,"ext_from_open_pct":0.0,"max_ext_allowed_pct":3.0,"volume_pace":1.705,"trend":"flat","recent_slope_pct":0.2367,"volatility":"medium"},"price":10.529,"volume":{"bars":7,"last_bar_volume":137590.0,"baseline_avg":323593.333333,"bar_rvol":0.425194,"raw_accel":-0.127105,"smooth_accel":0.586632,"accel_momentum":1.108088,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":310,"trade_rate":10.333333,"buy_vol":77604.0,"sell_vol":73771.0,"unclassified_vol":0.0,"imbalance":0.025321,"bid":10.52,"ask":10.53,"spread_pct":0.095012,"quote_size_imbalance":null,"quote_age_s":0.341683},"context":{"vwap":10.483043,"price_vs_vwap_pct":0.438393,"ema9":10.474834,"ema20":10.479127,"ema_stack":false,"ema_warm":false,"hod":10.55,"dist_to_hod_pct":-0.199052,"dist_to_hod_atr":0.280571,"atr":0.074847,"spread_atr":0.133605,"own_change_pct":0.862895,"rel_strength_pct":{"SPY":0.809118,"IWM":1.001247}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.010766},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":["not_decelerating"],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"a2ec1deb92c2","ts":"2026-08-28T13:37:20+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.4762,"vwap":5.4696,"ext_from_open_pct":0.11,"max_ext_allowed_pct":5.0,"volume_pace":3.299,"trend":"flat","recent_slope_pct":-0.0347,"volatility":"medium"},"price":5.4762,"volume":{"bars":7,"last_bar_volume":113174.0,"baseline_avg":143104.666667,"bar_rvol":0.790848,"raw_accel":-0.180635,"smooth_accel":0.863652,"accel_momentum":1.543086,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":0.904226},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":38374.0,"sell_vol":4870.0,"unclassified_vol":0.0,"imbalance":0.774766,"bid":5.47,"ask":5.48,"spread_pct":0.182648,"quote_size_imbalance":null,"quote_age_s":0.159541},"context":{"vwap":5.469579,"price_vs_vwap_pct":0.121054,"ema9":5.473492,"ema20":5.470401,"ema_stack":true,"ema_warm":false,"hod":5.49,"dist_to_hod_pct":-0.251366,"dist_to_hod_atr":0.52188,"atr":0.026443,"spread_atr":0.378174,"own_change_pct":-0.116895,"rel_strength_pct":{"SPY":-0.170672,"IWM":0.021457}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.612722},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":["not_decelerating"],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":null}}}
{"type":"snapshot","id":"a82d7ddfd250","ts":"2026-08-28T13:37:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.515,"vwap":5.4179,"ext_from_open_pct":3.08,"max_ext_allowed_pct":3.0,"volume_pace":2.024,"trend":"positive","recent_slope_pct":0.3885,"volatility":"medium"},"price":5.515,"volume":{"bars":7,"last_bar_volume":77470.0,"baseline_avg":167087.833333,"bar_rvol":0.463648,"raw_accel":-0.574015,"smooth_accel":0.242668,"accel_momentum":0.51465,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":1.504442},"flow":{"window_s":30,"trades":206,"trade_rate":6.866667,"buy_vol":73365.0,"sell_vol":52322.0,"unclassified_vol":0.0,"imbalance":0.167424,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.005219},"context":{"vwap":5.407796,"price_vs_vwap_pct":1.98239,"ema9":5.434102,"ema20":5.401939,"ema_stack":true,"ema_warm":false,"hod":5.52,"dist_to_hod_pct":-0.09058,"dist_to_hod_atr":0.082342,"atr":0.060722,"spread_atr":0.164684,"own_change_pct":1.76089,"rel_strength_pct":{"SPY":1.707113,"IWM":1.899241}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.077626},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":["not_decelerating"],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"52085e91956a","ts":"2026-08-28T13:37:40+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.46 below VWAP $5.47","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.465,"vwap":5.4693,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":4.0,"volume_pace":3.446,"trend":"flat","recent_slope_pct":-0.0756,"volatility":"medium"},"price":5.465,"volume":{"bars":7,"last_bar_volume":113174.0,"baseline_avg":143104.666667,"bar_rvol":0.790848,"raw_accel":-0.180635,"smooth_accel":0.863652,"accel_momentum":1.543086,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":1.430456},"flow":{"window_s":30,"trades":128,"trade_rate":4.266667,"buy_vol":23540.0,"sell_vol":91762.0,"unclassified_vol":0.0,"imbalance":-0.591681,"bid":5.46,"ask":5.47,"spread_pct":0.182983,"quote_size_imbalance":null,"quote_age_s":0.222746},"context":{"vwap":5.469579,"price_vs_vwap_pct":-0.083715,"ema9":5.473492,"ema20":5.470401,"ema_stack":false,"ema_warm":false,"hod":5.49,"dist_to_hod_pct":-0.455373,"dist_to_hod_atr":0.945435,"atr":0.026443,"spread_atr":0.378174,"own_change_pct":-0.116895,"rel_strength_pct":{"SPY":-0.170672,"IWM":0.021457}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.46793},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":["not_decelerating"],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":null}}}
{"type":"snapshot","id":"1836692cda3a","ts":"2026-08-28T13:37:40+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.51,"vwap":5.4184,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":2.011,"trend":"positive","recent_slope_pct":0.3703,"volatility":"medium"},"price":5.51,"volume":{"bars":7,"last_bar_volume":77470.0,"baseline_avg":167087.833333,"bar_rvol":0.463648,"raw_accel":-0.574015,"smooth_accel":0.242668,"accel_momentum":0.51465,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":1.297994},"flow":{"window_s":30,"trades":204,"trade_rate":6.8,"buy_vol":78981.0,"sell_vol":57731.0,"unclassified_vol":0.0,"imbalance":0.155436,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.349236},"context":{"vwap":5.407796,"price_vs_vwap_pct":1.88993,"ema9":5.434102,"ema20":5.401939,"ema_stack":true,"ema_warm":false,"hod":5.52,"dist_to_hod_pct":-0.181159,"dist_to_hod_atr":0.164684,"atr":0.060722,"spread_atr":0.164684,"own_change_pct":1.76089,"rel_strength_pct":{"SPY":1.707113,"IWM":1.899241}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.072068},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":["not_decelerating"],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"b261d05a519e","ts":"2026-08-28T13:37:45+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.16,"vwap":14.9889,"ext_from_open_pct":4.55,"max_ext_allowed_pct":5.0,"volume_pace":11.242,"trend":"flat","recent_slope_pct":0.1111,"volatility":"high"},"price":15.16,"volume":{"bars":7,"last_bar_volume":3690.0,"baseline_avg":26093.666667,"bar_rvol":0.141414,"raw_accel":-0.721929,"smooth_accel":-0.750889,"accel_momentum":-0.240154,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":1.025127},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":398.0,"sell_vol":1949.0,"unclassified_vol":0.0,"imbalance":-0.660844,"bid":15.13,"ask":15.19,"spread_pct":0.395778,"quote_size_imbalance":null,"quote_age_s":4.420469},"context":{"vwap":14.965416,"price_vs_vwap_pct":1.300224,"ema9":14.94937,"ema20":14.812183,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-1.939857,"dist_to_hod_atr":0.884361,"atr":0.339115,"spread_atr":0.176931,"own_change_pct":3.075321,"rel_strength_pct":{"SPY":3.021543,"IWM":3.213672}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.093452},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":["not_decelerating"],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"b29814e939f2","ts":"2026-08-28T13:37:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.5174,"vwap":5.4199,"ext_from_open_pct":3.13,"max_ext_allowed_pct":3.0,"volume_pace":2.0,"trend":"positive","recent_slope_pct":0.3972,"volatility":"medium"},"price":5.5174,"volume":{"bars":7,"last_bar_volume":77470.0,"baseline_avg":167087.833333,"bar_rvol":0.463648,"raw_accel":-0.574015,"smooth_accel":0.242668,"accel_momentum":0.51465,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":1.180201},"flow":{"window_s":30,"trades":163,"trade_rate":5.433333,"buy_vol":28496.0,"sell_vol":37452.0,"unclassified_vol":0.0,"imbalance":-0.135804,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.377628},"context":{"vwap":5.407796,"price_vs_vwap_pct":2.02677,"ema9":5.434102,"ema20":5.401939,"ema_stack":true,"ema_warm":false,"hod":5.52,"dist_to_hod_pct":-0.047101,"dist_to_hod_atr":0.042818,"atr":0.060722,"spread_atr":0.164684,"own_change_pct":1.76089,"rel_strength_pct":{"SPY":1.707113,"IWM":1.899241}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.062965},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":["not_decelerating"],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"c024c4543fee","ts":"2026-08-28T13:37:50+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.6% above open $14.50 (max 4%: volume pace strong, buying normal)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.16,"vwap":14.9894,"ext_from_open_pct":4.55,"max_ext_allowed_pct":4.0,"volume_pace":11.149,"trend":"flat","recent_slope_pct":0.1111,"volatility":"high"},"price":15.16,"volume":{"bars":7,"last_bar_volume":3690.0,"baseline_avg":26093.666667,"bar_rvol":0.141414,"raw_accel":-0.721929,"smooth_accel":-0.750889,"accel_momentum":-0.240154,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":0.94262},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":832.0,"sell_vol":1846.0,"unclassified_vol":0.0,"imbalance":-0.378641,"bid":15.13,"ask":15.19,"spread_pct":0.395778,"quote_size_imbalance":null,"quote_age_s":9.420469},"context":{"vwap":14.965416,"price_vs_vwap_pct":1.300224,"ema9":14.94937,"ema20":14.812183,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-1.939857,"dist_to_hod_atr":0.884361,"atr":0.339115,"spread_atr":0.176931,"own_change_pct":3.075321,"rel_strength_pct":{"SPY":3.021543,"IWM":3.213672}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.053545},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":["not_decelerating"],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"fb5c7fbc9a9e","ts":"2026-08-28T13:37:50+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.14 below VWAP $8.16","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.1403,"vwap":8.1597,"ext_from_open_pct":2.01,"max_ext_allowed_pct":3.0,"volume_pace":2.691,"trend":"flat","recent_slope_pct":-0.3331,"volatility":"high"},"price":8.1403,"volume":{"bars":7,"last_bar_volume":51520.0,"baseline_avg":67297.666667,"bar_rvol":0.765554,"raw_accel":-0.464109,"smooth_accel":1.032846,"accel_momentum":0.8912,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":0.33052},"flow":{"window_s":30,"trades":106,"trade_rate":3.533333,"buy_vol":4956.0,"sell_vol":7641.0,"unclassified_vol":0.0,"imbalance":-0.213146,"bid":8.12,"ask":8.16,"spread_pct":0.4914,"quote_size_imbalance":null,"quote_age_s":0.017539},"context":{"vwap":8.159254,"price_vs_vwap_pct":-0.232303,"ema9":8.155405,"ema20":8.088318,"ema_stack":false,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.924096,"dist_to_hod_atr":1.35977,"atr":0.117446,"spread_atr":0.340581,"own_change_pct":1.738051,"rel_strength_pct":{"SPY":1.684274,"IWM":1.876403}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.163175},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":["not_decelerating"],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"53cd9ae402e7","ts":"2026-08-28T13:38:00+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.16,"vwap":8.16,"ext_from_open_pct":2.26,"max_ext_allowed_pct":3.0,"volume_pace":2.642,"trend":"flat","recent_slope_pct":-0.285,"volatility":"high"},"price":8.16,"volume":{"bars":7,"last_bar_volume":51520.0,"baseline_avg":67297.666667,"bar_rvol":0.765554,"raw_accel":-0.464109,"smooth_accel":1.032846,"accel_momentum":0.8912,"rvol_3bar":null,"trend_3bar":"INSUFFICIENT","projected_rvol":null},"flow":{"window_s":30,"trades":114,"trade_rate":3.8,"buy_vol":3548.0,"sell_vol":7332.0,"unclassified_vol":0.0,"imbalance":-0.347794,"bid":8.14,"ask":8.17,"spread_pct":0.367872,"quote_size_imbalance":null,"quote_age_s":0.577838},"context":{"vwap":8.159254,"price_vs_vwap_pct":0.009141,"ema9":8.155405,"ema20":8.088318,"ema_stack":true,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.686747,"dist_to_hod_atr":1.192034,"atr":0.117446,"spread_atr":0.255436,"own_change_pct":1.738051,"rel_strength_pct":{"SPY":1.700283,"IWM":1.851422}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.266255},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":["not_decelerating"],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":null}}}
{"type":"snapshot","id":"fda5043e75c3","ts":"2026-08-28T13:38:05+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.1899,"vwap":14.9898,"ext_from_open_pct":4.76,"max_ext_allowed_pct":5.0,"volume_pace":10.83,"trend":"flat","recent_slope_pct":0.289,"volatility":"high"},"price":15.1899,"volume":{"bars":8,"last_bar_volume":20835.0,"baseline_avg":22893.142857,"bar_rvol":0.910098,"raw_accel":2.640391,"smooth_accel":-0.674043,"accel_momentum":0.076845,"rvol_3bar":[0.463041,0.141414,0.910098],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":893.0,"sell_vol":522.0,"unclassified_vol":0.0,"imbalance":0.262191,"bid":15.13,"ask":15.19,"spread_pct":0.395778,"quote_size_imbalance":null,"quote_age_s":2.002256},"context":{"vwap":14.989722,"price_vs_vwap_pct":1.335438,"ema9":14.991496,"ema20":14.845308,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-1.746454,"dist_to_hod_atr":0.794369,"atr":0.339892,"spread_atr":0.176526,"own_change_pct":0.798543,"rel_strength_pct":{"SPY":0.760775,"IWM":0.911914}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.238619},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"abc667a399cb","ts":"2026-08-28T13:38:05+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.0889,"vwap":5.0695,"ext_from_open_pct":0.57,"max_ext_allowed_pct":4.0,"volume_pace":0.712,"trend":"flat","recent_slope_pct":-0.0415,"volatility":"high"},"price":5.0889,"volume":{"bars":8,"last_bar_volume":26658.0,"baseline_avg":59852.428571,"bar_rvol":0.445395,"raw_accel":0.428924,"smooth_accel":0.194471,"accel_momentum":0.622145,"rvol_3bar":[0.445089,0.279623,0.445395],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":4182.0,"sell_vol":714.0,"unclassified_vol":0.0,"imbalance":0.708333,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":1.469768},"context":{"vwap":5.06946,"price_vs_vwap_pct":0.383474,"ema9":5.079054,"ema20":5.065834,"ema_stack":true,"ema_warm":false,"hod":5.14,"dist_to_hod_pct":-0.994163,"dist_to_hod_atr":0.779533,"atr":0.065552,"spread_atr":0.15255,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.037768,"IWM":0.113371}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.315488},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9b61f2715e60","ts":"2026-08-28T13:38:05+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.14 below VWAP $8.16","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.14,"vwap":8.1594,"ext_from_open_pct":2.01,"max_ext_allowed_pct":4.0,"volume_pace":2.73,"trend":"flat","recent_slope_pct":-0.4693,"volatility":"high"},"price":8.14,"volume":{"bars":8,"last_bar_volume":19761.0,"baseline_avg":65043.714286,"bar_rvol":0.303811,"raw_accel":-0.61644,"smooth_accel":-0.047646,"accel_momentum":-1.080493,"rvol_3bar":[1.562489,0.765554,0.303811],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":120,"trade_rate":4.0,"buy_vol":22057.0,"sell_vol":8641.0,"unclassified_vol":0.0,"imbalance":0.437032,"bid":8.12,"ask":8.14,"spread_pct":0.246002,"quote_size_imbalance":null,"quote_age_s":0.039889},"context":{"vwap":8.159978,"price_vs_vwap_pct":-0.244835,"ema9":8.156324,"ema20":8.095145,"ema_stack":false,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.927711,"dist_to_hod_atr":1.368522,"atr":0.116914,"spread_atr":0.171065,"own_change_pct":-0.3663,"rel_strength_pct":{"SPY":-0.404068,"IWM":-0.252929}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.132775},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"d910d899afb6","ts":"2026-08-28T13:38:10+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"extended +5.0% above open $14.50 (max 4%: volume pace strong, buying normal)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":15.225,"vwap":14.9928,"ext_from_open_pct":5.0,"max_ext_allowed_pct":4.0,"volume_pace":10.854,"trend":"flat","recent_slope_pct":0.3353,"volatility":"high"},"price":15.225,"volume":{"bars":8,"last_bar_volume":20835.0,"baseline_avg":22893.142857,"bar_rvol":0.910098,"raw_accel":2.640391,"smooth_accel":-0.674043,"accel_momentum":0.076845,"rvol_3bar":[0.463041,0.141414,0.910098],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":2153.0,"sell_vol":1496.0,"unclassified_vol":0.0,"imbalance":0.180049,"bid":15.13,"ask":15.2,"spread_pct":0.461589,"quote_size_imbalance":null,"quote_age_s":0.281123},"context":{"vwap":14.989722,"price_vs_vwap_pct":1.569598,"ema9":14.991496,"ema20":14.845308,"ema_stack":true,"ema_warm":false,"hod":15.4599,"dist_to_hod_pct":-1.519415,"dist_to_hod_atr":0.691101,"atr":0.339892,"spread_atr":0.205948,"own_change_pct":0.798543,"rel_strength_pct":{"SPY":0.760775,"IWM":0.911914}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.163863},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"82c4fbb1960f","ts":"2026-08-28T13:38:25+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.175,"vwap":8.16,"ext_from_open_pct":2.44,"max_ext_allowed_pct":4.0,"volume_pace":2.672,"trend":"flat","recent_slope_pct":-0.3837,"volatility":"high"},"price":8.175,"volume":{"bars":8,"last_bar_volume":19761.0,"baseline_avg":65043.714286,"bar_rvol":0.303811,"raw_accel":-0.61644,"smooth_accel":-0.047646,"accel_momentum":-1.080493,"rvol_3bar":[1.562489,0.765554,0.303811],"trend_3bar":"DECELERATING","projected_rvol":1.122556},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":26350.0,"sell_vol":4588.0,"unclassified_vol":0.0,"imbalance":0.703407,"bid":8.16,"ask":8.19,"spread_pct":0.366972,"quote_size_imbalance":null,"quote_age_s":0.476903},"context":{"vwap":8.159978,"price_vs_vwap_pct":0.184088,"ema9":8.156324,"ema20":8.095145,"ema_stack":true,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.506024,"dist_to_hod_atr":1.069158,"atr":0.116914,"spread_atr":0.256598,"own_change_pct":-0.3663,"rel_strength_pct":{"SPY":-0.404068,"IWM":-0.252929}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.213703},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"53996121338a","ts":"2026-08-28T13:38:30+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.14 below VWAP $8.16","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.14,"vwap":8.1592,"ext_from_open_pct":2.01,"max_ext_allowed_pct":4.0,"volume_pace":2.726,"trend":"flat","recent_slope_pct":-0.4693,"volatility":"high"},"price":8.14,"volume":{"bars":8,"last_bar_volume":19761.0,"baseline_avg":65043.714286,"bar_rvol":0.303811,"raw_accel":-0.61644,"smooth_accel":-0.047646,"accel_momentum":-1.080493,"rvol_3bar":[1.562489,0.765554,0.303811],"trend_3bar":"DECELERATING","projected_rvol":1.408653},"flow":{"window_s":30,"trades":74,"trade_rate":2.466667,"buy_vol":34626.0,"sell_vol":11186.0,"unclassified_vol":0.0,"imbalance":0.511656,"bid":8.12,"ask":8.16,"spread_pct":0.4914,"quote_size_imbalance":null,"quote_age_s":0.013488},"context":{"vwap":8.159978,"price_vs_vwap_pct":-0.244835,"ema9":8.156324,"ema20":8.095145,"ema_stack":false,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.927711,"dist_to_hod_atr":1.368522,"atr":0.116914,"spread_atr":0.342131,"own_change_pct":-0.3663,"rel_strength_pct":{"SPY":-0.404068,"IWM":-0.252929}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.155447},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"3b02ea03feab","ts":"2026-08-28T13:38:40+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.538,"vwap":5.4284,"ext_from_open_pct":3.51,"max_ext_allowed_pct":4.0,"volume_pace":1.949,"trend":"positive","recent_slope_pct":0.3289,"volatility":"medium"},"price":5.538,"volume":{"bars":8,"last_bar_volume":174224.0,"baseline_avg":154285.285714,"bar_rvol":1.129233,"raw_accel":1.248922,"smooth_accel":0.293017,"accel_momentum":0.050349,"rvol_3bar":[1.108009,0.463648,1.129233],"trend_3bar":"MIXED","projected_rvol":0.851669},"flow":{"window_s":30,"trades":119,"trade_rate":3.966667,"buy_vol":10372.0,"sell_vol":16466.0,"unclassified_vol":0.0,"imbalance":-0.227066,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.713213},"context":{"vwap":5.421373,"price_vs_vwap_pct":2.151244,"ema9":5.452282,"ema20":5.413659,"ema_stack":true,"ema_warm":false,"hod":5.53,"dist_to_hod_pct":0.144665,"dist_to_hod_atr":-0.130568,"atr":0.061271,"spread_atr":0.16321,"own_change_pct":2.125693,"rel_strength_pct":{"SPY":2.087926,"IWM":2.239064}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":1,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.25641},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4d120b0b5725","ts":"2026-08-28T13:38:45+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.545,"vwap":5.4304,"ext_from_open_pct":3.64,"max_ext_allowed_pct":3.0,"volume_pace":1.961,"trend":"positive","recent_slope_pct":0.3543,"volatility":"medium"},"price":5.545,"volume":{"bars":8,"last_bar_volume":174224.0,"baseline_avg":154285.285714,"bar_rvol":1.129233,"raw_accel":1.248922,"smooth_accel":0.293017,"accel_momentum":0.050349,"rvol_3bar":[1.108009,0.463648,1.129233],"trend_3bar":"MIXED","projected_rvol":0.93764},"flow":{"window_s":30,"trades":146,"trade_rate":4.866667,"buy_vol":23454.0,"sell_vol":20112.0,"unclassified_vol":0.0,"imbalance":0.076711,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.83093},"context":{"vwap":5.421373,"price_vs_vwap_pct":2.280362,"ema9":5.452282,"ema20":5.413659,"ema_stack":true,"ema_warm":false,"hod":5.53,"dist_to_hod_pct":0.271248,"dist_to_hod_atr":-0.244815,"atr":0.061271,"spread_atr":0.16321,"own_change_pct":2.125693,"rel_strength_pct":{"SPY":2.087926,"IWM":2.239064}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":1,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.086625},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"24a56005bd97","ts":"2026-08-28T13:38:45+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.53 below VWAP $13.55","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":13.53,"vwap":13.5472,"ext_from_open_pct":0.22,"max_ext_allowed_pct":3.0,"volume_pace":2.084,"trend":"flat","recent_slope_pct":-0.0269,"volatility":"medium"},"price":13.53,"volume":{"bars":8,"last_bar_volume":22152.0,"baseline_avg":25821.285714,"bar_rvol":0.857897,"raw_accel":0.232104,"smooth_accel":-0.51887,"accel_momentum":-0.130321,"rvol_3bar":[0.06387,0.662739,0.857897],"trend_3bar":"ACCELERATING","projected_rvol":3.336679},"flow":{"window_s":30,"trades":185,"trade_rate":6.166667,"buy_vol":20505.0,"sell_vol":38729.0,"unclassified_vol":0.0,"imbalance":-0.307661,"bid":13.52,"ask":13.54,"spread_pct":0.14782,"quote_size_imbalance":null,"quote_age_s":1.702114},"context":{"vwap":13.545186,"price_vs_vwap_pct":-0.112117,"ema9":13.565043,"ema20":13.543043,"ema_stack":false,"ema_warm":false,"hod":13.61,"dist_to_hod_pct":-0.587803,"dist_to_hod_atr":1.942689,"atr":0.04118,"spread_atr":0.485672,"own_change_pct":0.220913,"rel_strength_pct":{"SPY":0.183145,"IWM":0.334284}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.263942},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"892272afa3dd","ts":"2026-08-28T13:39:00+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.16,"vwap":8.1597,"ext_from_open_pct":2.26,"max_ext_allowed_pct":4.0,"volume_pace":2.639,"trend":"flat","recent_slope_pct":-0.4203,"volatility":"high"},"price":8.16,"volume":{"bars":8,"last_bar_volume":19761.0,"baseline_avg":65043.714286,"bar_rvol":0.303811,"raw_accel":-0.61644,"smooth_accel":-0.047646,"accel_momentum":-1.080493,"rvol_3bar":[1.562489,0.765554,0.303811],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":32,"trade_rate":1.066667,"buy_vol":11188.0,"sell_vol":1876.0,"unclassified_vol":0.0,"imbalance":0.712799,"bid":8.14,"ask":8.16,"spread_pct":0.245399,"quote_size_imbalance":null,"quote_age_s":3.105474},"context":{"vwap":8.159978,"price_vs_vwap_pct":0.000264,"ema9":8.156324,"ema20":8.095145,"ema_stack":true,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.686747,"dist_to_hod_atr":1.197457,"atr":0.116914,"spread_atr":0.171065,"own_change_pct":-0.3663,"rel_strength_pct":{"SPY":-0.410357,"IWM":-0.159675}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.216556},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"5dba4ad79a6c","ts":"2026-08-28T13:39:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":7.2423,"vwap":7.2324,"ext_from_open_pct":0.87,"max_ext_allowed_pct":4.0,"volume_pace":1.283,"trend":"flat","recent_slope_pct":0.0064,"volatility":"medium"},"price":7.2423,"volume":{"bars":9,"last_bar_volume":16718.0,"baseline_avg":102879.125,"bar_rvol":0.162501,"raw_accel":-0.436896,"smooth_accel":2.010184,"accel_momentum":0.261748,"rvol_3bar":[3.456073,0.261958,0.162501],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":9752.0,"sell_vol":1689.0,"unclassified_vol":0.0,"imbalance":0.704746,"bid":7.24,"ask":7.25,"spread_pct":0.138026,"quote_size_imbalance":null,"quote_age_s":0.183233},"context":{"vwap":7.23239,"price_vs_vwap_pct":0.137024,"ema9":7.244064,"ema20":7.247604,"ema_stack":false,"ema_warm":false,"hod":7.2799,"dist_to_hod_pct":-0.516491,"dist_to_hod_atr":0.594833,"atr":0.063211,"spread_atr":0.1582,"own_change_pct":-0.34298,"rel_strength_pct":{"SPY":-0.387036,"IWM":-0.136355}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.114522},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"034d2993b37d","ts":"2026-08-28T13:39:05+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.15 below VWAP $8.16","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.15,"vwap":8.1597,"ext_from_open_pct":2.13,"max_ext_allowed_pct":4.0,"volume_pace":2.616,"trend":"flat","recent_slope_pct":-0.2752,"volatility":"high"},"price":8.15,"volume":{"bars":9,"last_bar_volume":58876.0,"baseline_avg":59383.375,"bar_rvol":0.991456,"raw_accel":1.979404,"smooth_accel":-0.39531,"accel_momentum":-0.347664,"rvol_3bar":[0.765554,0.303811,0.991456],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":10416.0,"sell_vol":1899.0,"unclassified_vol":0.0,"imbalance":0.691596,"bid":8.14,"ask":8.16,"spread_pct":0.245399,"quote_size_imbalance":null,"quote_age_s":1.284971},"context":{"vwap":8.159731,"price_vs_vwap_pct":-0.119255,"ema9":8.157059,"ema20":8.101322,"ema_stack":false,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.807229,"dist_to_hod_atr":1.334954,"atr":0.112363,"spread_atr":0.177994,"own_change_pct":-0.846932,"rel_strength_pct":{"SPY":-0.890989,"IWM":-0.640307}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.685687},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f18c918fc7b6","ts":"2026-08-28T13:39:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":13.5535,"vwap":13.5437,"ext_from_open_pct":0.4,"max_ext_allowed_pct":3.0,"volume_pace":2.116,"trend":"flat","recent_slope_pct":-0.0855,"volatility":"medium"},"price":13.5535,"volume":{"bars":9,"last_bar_volume":79801.0,"baseline_avg":25362.625,"bar_rvol":3.146401,"raw_accel":2.602429,"smooth_accel":0.587578,"accel_momentum":1.106448,"rvol_3bar":[0.662739,0.857897,3.146401],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":240,"trade_rate":8.0,"buy_vol":24815.0,"sell_vol":35776.0,"unclassified_vol":0.0,"imbalance":-0.180901,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":2.281215},"context":{"vwap":13.543722,"price_vs_vwap_pct":0.072192,"ema9":13.554035,"ema20":13.539896,"ema_stack":false,"ema_warm":false,"hod":13.61,"dist_to_hod_pct":-0.415136,"dist_to_hod_atr":1.22571,"atr":0.046096,"spread_atr":0.21694,"own_change_pct":-0.295203,"rel_strength_pct":{"SPY":-0.339259,"IWM":-0.088578}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.569189},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"010ad8f45b95","ts":"2026-08-28T13:39:20+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.51 below VWAP $13.54","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":13.51,"vwap":13.5436,"ext_from_open_pct":0.07,"max_ext_allowed_pct":3.0,"volume_pace":2.081,"trend":"flat","recent_slope_pct":-0.1497,"volatility":"medium"},"price":13.51,"volume":{"bars":9,"last_bar_volume":79801.0,"baseline_avg":25362.625,"bar_rvol":3.146401,"raw_accel":2.602429,"smooth_accel":0.587578,"accel_momentum":1.106448,"rvol_3bar":[0.662739,0.857897,3.146401],"trend_3bar":"ACCELERATING","projected_rvol":0.259871},"flow":{"window_s":30,"trades":97,"trade_rate":3.233333,"buy_vol":10673.0,"sell_vol":6123.0,"unclassified_vol":0.0,"imbalance":0.270898,"bid":13.51,"ask":13.53,"spread_pct":0.147929,"quote_size_imbalance":null,"quote_age_s":1.945241},"context":{"vwap":13.543722,"price_vs_vwap_pct":-0.24899,"ema9":13.554035,"ema20":13.539896,"ema_stack":false,"ema_warm":false,"hod":13.61,"dist_to_hod_pct":-0.734754,"dist_to_hod_atr":2.169398,"atr":0.046096,"spread_atr":0.43388,"own_change_pct":-0.295203,"rel_strength_pct":{"SPY":-0.339259,"IWM":-0.088578}},"vas":{"raw":7,"score":8.8,"components":{"rvol":3,"accel":2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.852353},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"906a87574b9d","ts":"2026-08-28T13:39:20+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.16,"vwap":8.1596,"ext_from_open_pct":2.26,"max_ext_allowed_pct":3.0,"volume_pace":2.587,"trend":"flat","recent_slope_pct":-0.2507,"volatility":"high"},"price":8.16,"volume":{"bars":9,"last_bar_volume":58876.0,"baseline_avg":59383.375,"bar_rvol":0.991456,"raw_accel":1.979404,"smooth_accel":-0.39531,"accel_momentum":-0.347664,"rvol_3bar":[0.765554,0.303811,0.991456],"trend_3bar":"MIXED","projected_rvol":0.441336},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":4123.0,"sell_vol":5164.0,"unclassified_vol":0.0,"imbalance":-0.112092,"bid":8.13,"ask":8.16,"spread_pct":0.368324,"quote_size_imbalance":null,"quote_age_s":0.479658},"context":{"vwap":8.159731,"price_vs_vwap_pct":0.003298,"ema9":8.157059,"ema20":8.101322,"ema_stack":true,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.686747,"dist_to_hod_atr":1.245957,"atr":0.112363,"spread_atr":0.266991,"own_change_pct":-0.846932,"rel_strength_pct":{"SPY":-0.890989,"IWM":-0.640307}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.111134},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"615fb186f0b0","ts":"2026-08-28T13:39:25+00:00","symbol":"BB","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.7083,"vwap":8.6903,"ext_from_open_pct":1.26,"max_ext_allowed_pct":4.0,"volume_pace":3.821,"trend":"flat","recent_slope_pct":-0.1848,"volatility":"medium"},"price":8.7083,"volume":{"bars":9,"last_bar_volume":100365.0,"baseline_avg":150863.25,"bar_rvol":0.665271,"raw_accel":0.004263,"smooth_accel":-0.240913,"accel_momentum":-0.046197,"rvol_3bar":[0.570349,0.631973,0.665271],"trend_3bar":"ACCELERATING","projected_rvol":0.391602},"flow":{"window_s":30,"trades":146,"trade_rate":4.866667,"buy_vol":6122.0,"sell_vol":20037.0,"unclassified_vol":0.0,"imbalance":-0.531939,"bid":8.7,"ask":8.71,"spread_pct":0.114877,"quote_size_imbalance":null,"quote_age_s":2.506105},"context":{"vwap":8.689706,"price_vs_vwap_pct":0.213978,"ema9":8.736148,"ema20":8.693317,"ema_stack":false,"ema_warm":false,"hod":8.83,"dist_to_hod_pct":-1.378256,"dist_to_hod_atr":1.105198,"atr":0.110116,"spread_atr":0.090813,"own_change_pct":0.072093,"rel_strength_pct":{"SPY":0.028037,"IWM":0.278718}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.353884},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"909b5babfa2f","ts":"2026-08-28T13:39:30+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.15 below VWAP $8.16","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.155,"vwap":8.1595,"ext_from_open_pct":2.19,"max_ext_allowed_pct":3.0,"volume_pace":2.568,"trend":"flat","recent_slope_pct":-0.263,"volatility":"high"},"price":8.155,"volume":{"bars":9,"last_bar_volume":58876.0,"baseline_avg":59383.375,"bar_rvol":0.991456,"raw_accel":1.979404,"smooth_accel":-0.39531,"accel_momentum":-0.347664,"rvol_3bar":[0.765554,0.303811,0.991456],"trend_3bar":"MIXED","projected_rvol":0.482694},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":5574.0,"sell_vol":8758.0,"unclassified_vol":0.0,"imbalance":-0.22216,"bid":8.14,"ask":8.17,"spread_pct":0.367872,"quote_size_imbalance":null,"quote_age_s":0.477247},"context":{"vwap":8.159731,"price_vs_vwap_pct":-0.057979,"ema9":8.157059,"ema20":8.101322,"ema_stack":false,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.746988,"dist_to_hod_atr":1.290456,"atr":0.112363,"spread_atr":0.266991,"own_change_pct":-0.846932,"rel_strength_pct":{"SPY":-0.890989,"IWM":-0.640307}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.220262},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6746dfdbc537","ts":"2026-08-28T13:39:35+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.175,"vwap":8.1597,"ext_from_open_pct":2.44,"max_ext_allowed_pct":4.0,"volume_pace":2.569,"trend":"flat","recent_slope_pct":-0.214,"volatility":"high"},"price":8.175,"volume":{"bars":9,"last_bar_volume":58876.0,"baseline_avg":59383.375,"bar_rvol":0.991456,"raw_accel":1.979404,"smooth_accel":-0.39531,"accel_momentum":-0.347664,"rvol_3bar":[0.765554,0.303811,0.991456],"trend_3bar":"MIXED","projected_rvol":0.561485},"flow":{"window_s":30,"trades":73,"trade_rate":2.433333,"buy_vol":10615.0,"sell_vol":8735.0,"unclassified_vol":0.0,"imbalance":0.097158,"bid":8.15,"ask":8.19,"spread_pct":0.489596,"quote_size_imbalance":null,"quote_age_s":0.239496},"context":{"vwap":8.159731,"price_vs_vwap_pct":0.187127,"ema9":8.157059,"ema20":8.101322,"ema_stack":true,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.506024,"dist_to_hod_atr":1.112462,"atr":0.112363,"spread_atr":0.355988,"own_change_pct":-0.846932,"rel_strength_pct":{"SPY":-0.890989,"IWM":-0.640307}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.096328},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b3149cc5d04c","ts":"2026-08-28T13:39:40+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.15 below VWAP $8.16","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.1512,"vwap":8.1596,"ext_from_open_pct":2.15,"max_ext_allowed_pct":3.0,"volume_pace":2.609,"trend":"flat","recent_slope_pct":-0.2723,"volatility":"high"},"price":8.1512,"volume":{"bars":9,"last_bar_volume":58876.0,"baseline_avg":59383.375,"bar_rvol":0.991456,"raw_accel":1.979404,"smooth_accel":-0.39531,"accel_momentum":-0.347664,"rvol_3bar":[0.765554,0.303811,0.991456],"trend_3bar":"MIXED","projected_rvol":0.829121},"flow":{"window_s":30,"trades":77,"trade_rate":2.566667,"buy_vol":10641.0,"sell_vol":21968.0,"unclassified_vol":0.0,"imbalance":-0.347358,"bid":8.15,"ask":8.2,"spread_pct":0.611621,"quote_size_imbalance":null,"quote_age_s":0.152965},"context":{"vwap":8.159731,"price_vs_vwap_pct":-0.104549,"ema9":8.157059,"ema20":8.101322,"ema_stack":false,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.792771,"dist_to_hod_atr":1.324275,"atr":0.112363,"spread_atr":0.444985,"own_change_pct":-0.846932,"rel_strength_pct":{"SPY":-0.890989,"IWM":-0.640307}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.34439},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f28ebfb2c725","ts":"2026-08-28T13:39:45+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":13.5509,"vwap":13.5432,"ext_from_open_pct":0.38,"max_ext_allowed_pct":3.0,"volume_pace":2.027,"trend":"flat","recent_slope_pct":-0.0893,"volatility":"medium"},"price":13.5509,"volume":{"bars":9,"last_bar_volume":79801.0,"baseline_avg":25362.625,"bar_rvol":3.146401,"raw_accel":2.602429,"smooth_accel":0.587578,"accel_momentum":1.106448,"rvol_3bar":[0.662739,0.857897,3.146401],"trend_3bar":"ACCELERATING","projected_rvol":0.378142},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":1058.0,"sell_vol":4286.0,"unclassified_vol":0.0,"imbalance":-0.604042,"bid":13.46,"ask":13.48,"spread_pct":0.148478,"quote_size_imbalance":null,"quote_age_s":0.102834},"context":{"vwap":13.543722,"price_vs_vwap_pct":0.052995,"ema9":13.554035,"ema20":13.539896,"ema_stack":false,"ema_warm":false,"hod":13.61,"dist_to_hod_pct":-0.43424,"dist_to_hod_atr":1.282114,"atr":0.046096,"spread_atr":0.43388,"own_change_pct":-0.295203,"rel_strength_pct":{"SPY":-0.339259,"IWM":-0.088578}},"vas":{"raw":4,"score":6.9,"components":{"rvol":3,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.900558},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"08b2226efab1","ts":"2026-08-28T13:39:45+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":8.2,"vwap":8.1608,"ext_from_open_pct":2.76,"max_ext_allowed_pct":3.0,"volume_pace":2.593,"trend":"flat","recent_slope_pct":-0.1528,"volatility":"high"},"price":8.2,"volume":{"bars":9,"last_bar_volume":58876.0,"baseline_avg":59383.375,"bar_rvol":0.991456,"raw_accel":1.979404,"smooth_accel":-0.39531,"accel_momentum":-0.347664,"rvol_3bar":[0.765554,0.303811,0.991456],"trend_3bar":"MIXED","projected_rvol":0.772652},"flow":{"window_s":30,"trades":94,"trade_rate":3.133333,"buy_vol":11558.0,"sell_vol":22216.0,"unclassified_vol":0.0,"imbalance":-0.315568,"bid":8.16,"ask":8.2,"spread_pct":0.488998,"quote_size_imbalance":null,"quote_age_s":0.416723},"context":{"vwap":8.159731,"price_vs_vwap_pct":0.49351,"ema9":8.157059,"ema20":8.101322,"ema_stack":true,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.204819,"dist_to_hod_atr":0.889969,"atr":0.112363,"spread_atr":0.355988,"own_change_pct":-0.846932,"rel_strength_pct":{"SPY":-0.890989,"IWM":-0.640307}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.312872},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a6155fb04c20","ts":"2026-08-28T13:39:50+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.46 below VWAP $13.54","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":13.46,"vwap":13.542,"ext_from_open_pct":-0.3,"max_ext_allowed_pct":3.0,"volume_pace":2.025,"trend":"flat","recent_slope_pct":-0.2237,"volatility":"medium"},"price":13.46,"volume":{"bars":9,"last_bar_volume":79801.0,"baseline_avg":25362.625,"bar_rvol":3.146401,"raw_accel":2.602429,"smooth_accel":0.587578,"accel_momentum":1.106448,"rvol_3bar":[0.662739,0.857897,3.146401],"trend_3bar":"ACCELERATING","projected_rvol":0.444418},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":1521.0,"sell_vol":5675.0,"unclassified_vol":0.0,"imbalance":-0.577265,"bid":13.44,"ask":13.47,"spread_pct":0.222965,"quote_size_imbalance":null,"quote_age_s":0.935162},"context":{"vwap":13.543722,"price_vs_vwap_pct":-0.618164,"ema9":13.554035,"ema20":13.539896,"ema_stack":false,"ema_warm":false,"hod":13.61,"dist_to_hod_pct":-1.102131,"dist_to_hod_atr":3.254097,"atr":0.046096,"spread_atr":0.650819,"own_change_pct":-0.295203,"rel_strength_pct":{"SPY":-0.339259,"IWM":-0.088578}},"vas":{"raw":4,"score":6.9,"components":{"rvol":3,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.816308},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7d2c65d9a504","ts":"2026-08-28T13:39:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":null,"target":null,"target_label":"","reward_risk":null,"pos_in_5d_range_pct":null,"room_to_5d_high_atr":null},"price":5.555,"vwap":5.4474,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":2.013,"trend":"positive","recent_slope_pct":0.3077,"volatility":"medium"},"price":5.555,"volume":{"bars":9,"last_bar_volume":125516.0,"baseline_avg":156777.625,"bar_rvol":0.800599,"raw_accel":-0.279571,"smooth_accel":-0.106914,"accel_momentum":-0.399931,"rvol_3bar":[0.463648,1.129233,0.800599],"trend_3bar":"MIXED","projected_rvol":1.434778},"flow":{"window_s":30,"trades":103,"trade_rate":3.433333,"buy_vol":66097.0,"sell_vol":44183.0,"unclassified_vol":0.0,"imbalance":0.198712,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.250306},"context":{"vwap":5.431837,"price_vs_vwap_pct":2.267425,"ema9":5.471826,"ema20":5.426644,"ema_stack":true,"ema_warm":false,"hod":5.55,"dist_to_hod_pct":0.09009,"dist_to_hod_atr":-0.0836,"atr":0.059809,"spread_atr":0.1672,"own_change_pct":2.330555,"rel_strength_pct":{"SPY":2.286499,"IWM":2.537181}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.159089},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"45a9f5a2f466","ts":"2026-08-28T13:40:05+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.0476,"target":5.625,"target_label":"range_20d_high","reward_risk":6.01,"pos_in_5d_range_pct":49.3,"room_to_5d_high_atr":1.03},"price":5.13,"vwap":5.1256,"ext_from_open_pct":1.99,"max_ext_allowed_pct":3.0,"volume_pace":2.841,"trend":"flat","recent_slope_pct":-0.1707,"volatility":"high"},"price":5.13,"volume":{"bars":10,"last_bar_volume":410.0,"baseline_avg":7466.222222,"bar_rvol":0.054914,"raw_accel":-0.869135,"smooth_accel":-0.634138,"accel_momentum":0.194287,"rvol_3bar":[0.082474,0.39124,0.054914],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":633.0,"sell_vol":1725.0,"unclassified_vol":0.0,"imbalance":-0.463104,"bid":5.12,"ask":5.14,"spread_pct":0.389864,"quote_size_imbalance":null,"quote_age_s":1.33841},"context":{"vwap":5.125259,"price_vs_vwap_pct":0.092493,"ema9":5.141863,"ema20":5.128202,"ema_stack":false,"ema_warm":false,"hod":5.1793,"dist_to_hod_pct":-0.951866,"dist_to_hod_atr":0.867825,"atr":0.056809,"spread_atr":0.352059,"own_change_pct":0.194932,"rel_strength_pct":{"SPY":0.163844,"IWM":0.288337}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.025431},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a0f6d4ec7695","ts":"2026-08-28T13:40:05+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"held 180.0s, plan says WATCH; stop 10.40, target 10.66 (prev_day_high), R:R 1.19; R:R 1.19 < 2.0 at 10.52; breakout: 1-min close > 10.56 on >= 401718 sh","plan":{"state":"WATCH","setup":"","stop":10.3999,"target":10.66,"target_label":"prev_day_high","reward_risk":1.19,"pos_in_5d_range_pct":84.2,"room_to_5d_high_atr":0.3},"price":10.5186,"vwap":10.4893,"ext_from_open_pct":-0.1,"max_ext_allowed_pct":3.0,"volume_pace":1.471,"trend":"flat","recent_slope_pct":-0.0055,"volatility":"medium"},"price":10.5186,"volume":{"bars":10,"last_bar_volume":71120.0,"baseline_avg":289666.666667,"bar_rvol":0.245524,"raw_accel":-0.76633,"smooth_accel":-0.082691,"accel_momentum":-0.141629,"rvol_3bar":[0.752434,1.057434,0.245524],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":66,"trade_rate":2.2,"buy_vol":11549.0,"sell_vol":11031.0,"unclassified_vol":0.0,"imbalance":0.022941,"bid":10.51,"ask":10.52,"spread_pct":0.095102,"quote_size_imbalance":null,"quote_age_s":0.288989},"context":{"vwap":10.489243,"price_vs_vwap_pct":0.279881,"ema9":10.494035,"ema20":10.488243,"ema_stack":true,"ema_warm":false,"hod":10.55,"dist_to_hod_pct":-0.29763,"dist_to_hod_atr":0.470347,"atr":0.066759,"spread_atr":0.149792,"own_change_pct":0.62201,"rel_strength_pct":{"SPY":0.590921,"IWM":0.715415}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.005632},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a5158a4ed107","ts":"2026-08-28T13:40:05+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":10.8902,"target":11.29,"target_label":"premarket_high","reward_risk":1.0,"pos_in_5d_range_pct":-4.1,"room_to_5d_high_atr":1.54},"price":11.09,"vwap":11.0685,"ext_from_open_pct":-0.45,"max_ext_allowed_pct":4.0,"volume_pace":3.136,"trend":"flat","recent_slope_pct":0.2185,"volatility":"high"},"price":11.09,"volume":{"bars":10,"last_bar_volume":18238.0,"baseline_avg":68564.555556,"bar_rvol":0.265997,"raw_accel":-0.169717,"smooth_accel":-0.662741,"accel_momentum":-1.345969,"rvol_3bar":[0.390582,0.295284,0.265997],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":67,"trade_rate":2.233333,"buy_vol":2344.0,"sell_vol":3932.0,"unclassified_vol":0.0,"imbalance":-0.253027,"bid":11.09,"ask":11.1,"spread_pct":0.090131,"quote_size_imbalance":null,"quote_age_s":0.803806},"context":{"vwap":11.068451,"price_vs_vwap_pct":0.194689,"ema9":11.062946,"ema20":11.06739,"ema_stack":false,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-0.821864,"dist_to_hod_atr":1.00834,"atr":0.09114,"spread_atr":0.109721,"own_change_pct":0.361664,"rel_strength_pct":{"SPY":0.330576,"IWM":0.455069}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.067305},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"9370da80ca8d","ts":"2026-08-28T13:40:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":7.1769,"target":7.39,"target_label":"prev_day_high","reward_risk":1.45,"pos_in_5d_range_pct":75.0,"room_to_5d_high_atr":0.39},"price":7.2639,"vwap":7.2343,"ext_from_open_pct":1.17,"max_ext_allowed_pct":3.0,"volume_pace":1.227,"trend":"flat","recent_slope_pct":0.1212,"volatility":"medium"},"price":7.2639,"volume":{"bars":10,"last_bar_volume":56671.0,"baseline_avg":93305.666667,"bar_rvol":0.607369,"raw_accel":1.429477,"smooth_accel":-0.719929,"accel_momentum":-2.730113,"rvol_3bar":[0.261958,0.162501,0.607369],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":117,"trade_rate":3.9,"buy_vol":19496.0,"sell_vol":17342.0,"unclassified_vol":0.0,"imbalance":0.058472,"bid":7.26,"ask":7.27,"spread_pct":0.137646,"quote_size_imbalance":null,"quote_age_s":1.211605},"context":{"vwap":7.234241,"price_vs_vwap_pct":0.409984,"ema9":7.248251,"ema20":7.249261,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.221154,"dist_to_hod_atr":0.260054,"atr":0.06191,"spread_atr":0.161524,"own_change_pct":0.068871,"rel_strength_pct":{"SPY":0.037782,"IWM":0.162275}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.035514},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"19ceb7303e3c","ts":"2026-08-28T13:40:05+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":7.0529,"target":7.2,"target_label":"premarket_high","reward_risk":0.54,"pos_in_5d_range_pct":9.9,"room_to_5d_high_atr":1.64},"price":7.1486,"vwap":7.1401,"ext_from_open_pct":0.12,"max_ext_allowed_pct":3.0,"volume_pace":1.593,"trend":"flat","recent_slope_pct":0.1396,"volatility":"medium"},"price":7.1486,"volume":{"bars":10,"last_bar_volume":41168.0,"baseline_avg":67079.666667,"bar_rvol":0.613718,"raw_accel":-0.380345,"smooth_accel":0.017561,"accel_momentum":-3.018087,"rvol_3bar":[1.248027,0.989235,0.613718],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":11040.0,"sell_vol":15807.0,"unclassified_vol":0.0,"imbalance":-0.177562,"bid":7.14,"ask":7.15,"spread_pct":0.139958,"quote_size_imbalance":null,"quote_age_s":0.203074},"context":{"vwap":7.140097,"price_vs_vwap_pct":0.119086,"ema9":7.140117,"ema20":7.143698,"ema_stack":false,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.437326,"dist_to_hod_atr":0.698632,"atr":0.044945,"spread_atr":0.222494,"own_change_pct":-0.27933,"rel_strength_pct":{"SPY":-0.310418,"IWM":-0.185925}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.108973},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"a4323f67c523","ts":"2026-08-28T13:40:10+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.14 below VWAP $7.14","plan":{"state":"PASS","setup":"","stop":7.0443,"target":7.2,"target_label":"premarket_high","reward_risk":0.63,"pos_in_5d_range_pct":8.6,"room_to_5d_high_atr":1.66},"price":7.14,"vwap":7.1401,"ext_from_open_pct":0.0,"max_ext_allowed_pct":3.0,"volume_pace":1.581,"trend":"flat","recent_slope_pct":0.1155,"volatility":"medium"},"price":7.14,"volume":{"bars":10,"last_bar_volume":41168.0,"baseline_avg":67079.666667,"bar_rvol":0.613718,"raw_accel":-0.380345,"smooth_accel":0.017561,"accel_momentum":-3.018087,"rvol_3bar":[1.248027,0.989235,0.613718],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":10549.0,"sell_vol":16019.0,"unclassified_vol":0.0,"imbalance":-0.205887,"bid":7.14,"ask":7.15,"spread_pct":0.139958,"quote_size_imbalance":null,"quote_age_s":0.607713},"context":{"vwap":7.140097,"price_vs_vwap_pct":-0.001361,"ema9":7.140117,"ema20":7.143698,"ema_stack":false,"ema_warm":false,"hod":7.18,"dist_to_hod_pct":-0.557103,"dist_to_hod_atr":0.889977,"atr":0.044945,"spread_atr":0.222494,"own_change_pct":-0.27933,"rel_strength_pct":{"SPY":-0.310418,"IWM":-0.185925}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.126356},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"effa929fac73","ts":"2026-08-28T13:40:15+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"held 420.0s, plan says WATCH; stop 7.93, target 8.53 (premarket_high), R:R 0.81; R:R 0.81 < 2.0 at 8.26; breakout: 1-min close > 8.30 on >= 42345 sh","plan":{"state":"WATCH","setup":"","stop":7.9256,"target":8.53,"target_label":"premarket_high","reward_risk":0.81,"pos_in_5d_range_pct":46.7,"room_to_5d_high_atr":0.96},"price":8.26,"vwap":8.1941,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":1.754,"trend":"flat","recent_slope_pct":0.0242,"volatility":"high"},"price":8.26,"volume":{"bars":10,"last_bar_volume":5205.0,"baseline_avg":30788.555556,"bar_rvol":0.169056,"raw_accel":-0.323775,"smooth_accel":-0.936581,"accel_momentum":-0.135816,"rvol_3bar":[0.067043,0.029702,0.169056],"trend_3bar":"MIXED","projected_rvol":0.012212},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":94.0,"sell_vol":401.0,"unclassified_vol":0.0,"imbalance":-0.620202,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":0.917981},"context":{"vwap":8.194074,"price_vs_vwap_pct":0.804559,"ema9":8.221428,"ema20":8.169968,"ema_stack":true,"ema_warm":false,"hod":8.29,"dist_to_hod_pct":-0.361882,"dist_to_hod_atr":0.182102,"atr":0.164743,"spread_atr":0.121401,"own_change_pct":-0.241838,"rel_strength_pct":{"SPY":-0.272926,"IWM":-0.148433}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.104849},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2969f61d8580","ts":"2026-08-28T13:40:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.5% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4596,"target":5.57,"target_label":"prev_day_high","reward_risk":0.46,"pos_in_5d_range_pct":46.6,"room_to_5d_high_atr":1.54},"price":5.535,"vwap":5.45,"ext_from_open_pct":3.46,"max_ext_allowed_pct":3.0,"volume_pace":1.998,"trend":"positive","recent_slope_pct":0.199,"volatility":"medium"},"price":5.535,"volume":{"bars":10,"last_bar_volume":216605.0,"baseline_avg":153304.111111,"bar_rvol":1.412911,"raw_accel":0.725716,"smooth_accel":0.440598,"accel_momentum":0.547512,"rvol_3bar":[1.129233,0.800599,1.412911],"trend_3bar":"MIXED","projected_rvol":0.845457},"flow":{"window_s":30,"trades":129,"trade_rate":4.3,"buy_vol":89229.0,"sell_vol":22318.0,"unclassified_vol":0.0,"imbalance":0.599846,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.342611},"context":{"vwap":5.447576,"price_vs_vwap_pct":1.604815,"ema9":5.48646,"ema20":5.437916,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.44964,"dist_to_hod_atr":0.438041,"atr":0.057072,"spread_atr":0.175216,"own_change_pct":1.556777,"rel_strength_pct":{"SPY":1.525688,"IWM":1.650182}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.847528},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2d7da217a110","ts":"2026-08-28T13:40:25+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":14.6551,"target":20.99,"target_label":"range_20d_high","reward_risk":22.91,"pos_in_5d_range_pct":135.6,"room_to_5d_high_atr":-0.25},"price":14.92,"vwap":14.8895,"ext_from_open_pct":0.0,"max_ext_allowed_pct":4.0,"volume_pace":13.669,"trend":"flat","recent_slope_pct":-0.127,"volatility":"high"},"price":14.92,"volume":{"bars":10,"last_bar_volume":187191.0,"baseline_avg":236190.666667,"bar_rvol":0.792542,"raw_accel":0.595274,"smooth_accel":-0.418627,"accel_momentum":0.036024,"rvol_3bar":[0.379375,0.467407,0.792542],"trend_3bar":"ACCELERATING","projected_rvol":0.421043},"flow":{"window_s":30,"trades":151,"trade_rate":5.033333,"buy_vol":20816.0,"sell_vol":23741.0,"unclassified_vol":0.0,"imbalance":-0.065646,"bid":14.9,"ask":14.92,"spread_pct":0.134138,"quote_size_imbalance":null,"quote_age_s":0.146571},"context":{"vwap":14.888846,"price_vs_vwap_pct":0.209243,"ema9":14.91917,"ema20":14.835318,"ema_stack":true,"ema_warm":false,"hod":15.07,"dist_to_hod_pct":-0.995355,"dist_to_hod_atr":0.597423,"atr":0.251079,"spread_atr":0.079656,"own_change_pct":0.10057,"rel_strength_pct":{"SPY":0.069482,"IWM":0.193975}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.052027},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3a7a0e343b49","ts":"2026-08-28T13:40:25+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.16 below VWAP $8.16","plan":{"state":"PASS","setup":"","stop":8.0101,"target":8.465,"target_label":"prev_day_high","reward_risk":2.01,"pos_in_5d_range_pct":84.6,"room_to_5d_high_atr":0.66},"price":8.161,"vwap":8.1613,"ext_from_open_pct":2.27,"max_ext_allowed_pct":3.0,"volume_pace":2.507,"trend":"flat","recent_slope_pct":-0.0526,"volatility":"high"},"price":8.161,"volume":{"bars":10,"last_bar_volume":40367.0,"baseline_avg":59327.0,"bar_rvol":0.680415,"raw_accel":-0.314373,"smooth_accel":-0.467944,"accel_momentum":-0.072633,"rvol_3bar":[0.303811,0.991456,0.680415],"trend_3bar":"MIXED","projected_rvol":0.510162},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":3320.0,"sell_vol":13297.0,"unclassified_vol":0.0,"imbalance":-0.600409,"bid":8.16,"ask":8.21,"spread_pct":0.610874,"quote_size_imbalance":null,"quote_age_s":1.277378},"context":{"vwap":8.160804,"price_vs_vwap_pct":0.0024,"ema9":8.162647,"ema20":8.109291,"ema_stack":false,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.674699,"dist_to_hod_atr":1.263042,"atr":0.110052,"spread_atr":0.454332,"own_change_pct":-1.266586,"rel_strength_pct":{"SPY":-1.297674,"IWM":-1.173181}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.408528},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e8897649329b","ts":"2026-08-28T13:40:35+00:00","symbol":"CRML","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.0137,"target":8.465,"target_label":"prev_day_high","reward_risk":1.99,"pos_in_5d_range_pct":84.8,"room_to_5d_high_atr":0.65},"price":8.1646,"vwap":8.1612,"ext_from_open_pct":2.31,"max_ext_allowed_pct":3.0,"volume_pace":2.472,"trend":"flat","recent_slope_pct":-0.0438,"volatility":"high"},"price":8.1646,"volume":{"bars":10,"last_bar_volume":40367.0,"baseline_avg":59327.0,"bar_rvol":0.680415,"raw_accel":-0.314373,"smooth_accel":-0.467944,"accel_momentum":-0.072633,"rvol_3bar":[0.303811,0.991456,0.680415],"trend_3bar":"MIXED","projected_rvol":0.393586},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":1794.0,"sell_vol":10020.0,"unclassified_vol":0.0,"imbalance":-0.696293,"bid":8.14,"ask":8.18,"spread_pct":0.490196,"quote_size_imbalance":null,"quote_age_s":2.14266},"context":{"vwap":8.160804,"price_vs_vwap_pct":0.046513,"ema9":8.162647,"ema20":8.109291,"ema_stack":true,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.631325,"dist_to_hod_atr":1.23033,"atr":0.110052,"spread_atr":0.363465,"own_change_pct":-1.266586,"rel_strength_pct":{"SPY":-1.297674,"IWM":-1.173181}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.473768},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"652c18dd7bc5","ts":"2026-08-28T13:40:40+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.02 below VWAP $11.07","plan":{"state":"PASS","setup":"","stop":10.8175,"target":11.29,"target_label":"premarket_high","reward_risk":1.36,"pos_in_5d_range_pct":-10.3,"room_to_5d_high_atr":1.64},"price":11.0173,"vwap":11.0683,"ext_from_open_pct":-1.1,"max_ext_allowed_pct":4.0,"volume_pace":2.983,"trend":"flat","recent_slope_pct":0.0872,"volatility":"high"},"price":11.0173,"volume":{"bars":10,"last_bar_volume":18238.0,"baseline_avg":68564.555556,"bar_rvol":0.265997,"raw_accel":-0.169717,"smooth_accel":-0.662741,"accel_momentum":-1.345969,"rvol_3bar":[0.390582,0.295284,0.265997],"trend_3bar":"DECELERATING","projected_rvol":0.105623},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":1405.0,"sell_vol":2165.0,"unclassified_vol":0.0,"imbalance":-0.212885,"bid":11.08,"ask":11.1,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.050556},"context":{"vwap":11.068451,"price_vs_vwap_pct":-0.462133,"ema9":11.062946,"ema20":11.06739,"ema_stack":false,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-1.472022,"dist_to_hod_atr":1.806015,"atr":0.09114,"spread_atr":0.219443,"own_change_pct":0.361664,"rel_strength_pct":{"SPY":0.330576,"IWM":0.455069}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.056627},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"7f1d21f9584e","ts":"2026-08-28T13:40:40+00:00","symbol":"CRML","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.14 below VWAP $8.16","plan":{"state":"PASS","setup":"","stop":7.9941,"target":8.465,"target_label":"prev_day_high","reward_risk":2.12,"pos_in_5d_range_pct":84.0,"room_to_5d_high_atr":0.69},"price":8.145,"vwap":8.1609,"ext_from_open_pct":2.07,"max_ext_allowed_pct":3.0,"volume_pace":2.459,"trend":"flat","recent_slope_pct":-0.0918,"volatility":"high"},"price":8.145,"volume":{"bars":10,"last_bar_volume":40367.0,"baseline_avg":59327.0,"bar_rvol":0.680415,"raw_accel":-0.314373,"smooth_accel":-0.467944,"accel_momentum":-0.072633,"rvol_3bar":[0.303811,0.991456,0.680415],"trend_3bar":"MIXED","projected_rvol":0.382768},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":2053.0,"sell_vol":10733.0,"unclassified_vol":0.0,"imbalance":-0.678868,"bid":8.13,"ask":8.16,"spread_pct":0.368324,"quote_size_imbalance":null,"quote_age_s":0.775612},"context":{"vwap":8.160804,"price_vs_vwap_pct":-0.193659,"ema9":8.162647,"ema20":8.109291,"ema_stack":false,"ema_warm":false,"hod":8.3,"dist_to_hod_pct":-1.86747,"dist_to_hod_atr":1.408428,"atr":0.110052,"spread_atr":0.272599,"own_change_pct":-1.266586,"rel_strength_pct":{"SPY":-1.297674,"IWM":-1.173181}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.461912},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0eaeb4ae374c","ts":"2026-08-28T13:40:45+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":10.8898,"target":11.29,"target_label":"premarket_high","reward_risk":1.0,"pos_in_5d_range_pct":-4.2,"room_to_5d_high_atr":1.55},"price":11.0896,"vwap":11.0685,"ext_from_open_pct":-0.45,"max_ext_allowed_pct":4.0,"volume_pace":2.971,"trend":"flat","recent_slope_pct":0.2178,"volatility":"high"},"price":11.0896,"volume":{"bars":10,"last_bar_volume":18238.0,"baseline_avg":68564.555556,"bar_rvol":0.265997,"raw_accel":-0.169717,"smooth_accel":-0.662741,"accel_momentum":-1.345969,"rvol_3bar":[0.390582,0.295284,0.265997],"trend_3bar":"DECELERATING","projected_rvol":0.139781},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":3606.0,"sell_vol":1777.0,"unclassified_vol":0.0,"imbalance":0.339773,"bid":11.08,"ask":11.09,"spread_pct":0.090212,"quote_size_imbalance":null,"quote_age_s":0.635889},"context":{"vwap":11.068451,"price_vs_vwap_pct":0.191075,"ema9":11.062946,"ema20":11.06739,"ema_stack":false,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-0.825441,"dist_to_hod_atr":1.012729,"atr":0.09114,"spread_atr":0.109721,"own_change_pct":0.361664,"rel_strength_pct":{"SPY":0.330576,"IWM":0.455069}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.090379},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"e4c6d6e822bc","ts":"2026-08-28T13:40:50+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.97 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9372,"target":11.13,"target_label":"range_20d_high","reward_risk":4.1,"pos_in_5d_range_pct":77.1,"room_to_5d_high_atr":0.36},"price":10.975,"vwap":10.9781,"ext_from_open_pct":0.05,"max_ext_allowed_pct":3.0,"volume_pace":2.682,"trend":"flat","recent_slope_pct":-0.0255,"volatility":"low"},"price":10.975,"volume":{"bars":10,"last_bar_volume":32307.0,"baseline_avg":94799.777778,"bar_rvol":0.340792,"raw_accel":-0.097444,"smooth_accel":-0.378452,"accel_momentum":0.270037,"rvol_3bar":[0.107411,0.350329,0.340792],"trend_3bar":"MIXED","projected_rvol":0.574584},"flow":{"window_s":30,"trades":109,"trade_rate":3.633333,"buy_vol":19785.0,"sell_vol":13266.0,"unclassified_vol":0.0,"imbalance":0.197241,"bid":10.97,"ask":10.98,"spread_pct":0.091116,"quote_size_imbalance":null,"quote_age_s":0.889564},"context":{"vwap":10.978011,"price_vs_vwap_pct":-0.027425,"ema9":10.984428,"ema20":10.98181,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.227273,"dist_to_hod_atr":1.004014,"atr":0.0249,"spread_atr":0.401605,"own_change_pct":-0.136426,"rel_strength_pct":{"SPY":-0.167514,"IWM":-0.043021}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.067218},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"194cf083d67b","ts":"2026-08-28T13:40:55+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.94,"target":11.13,"target_label":"range_20d_high","reward_risk":3.75,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.9781,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.662,"trend":"flat","recent_slope_pct":-0.0164,"volatility":"low"},"price":10.98,"volume":{"bars":10,"last_bar_volume":32307.0,"baseline_avg":94799.777778,"bar_rvol":0.340792,"raw_accel":-0.097444,"smooth_accel":-0.378452,"accel_momentum":0.270037,"rvol_3bar":[0.107411,0.350329,0.340792],"trend_3bar":"MIXED","projected_rvol":0.525801},"flow":{"window_s":30,"trades":104,"trade_rate":3.466667,"buy_vol":19762.0,"sell_vol":13156.0,"unclassified_vol":0.0,"imbalance":0.20068,"bid":10.97,"ask":10.98,"spread_pct":0.091116,"quote_size_imbalance":null,"quote_age_s":0.179518},"context":{"vwap":10.978011,"price_vs_vwap_pct":0.01812,"ema9":10.984428,"ema20":10.98181,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":0.803211,"atr":0.0249,"spread_atr":0.401605,"own_change_pct":-0.136426,"rel_strength_pct":{"SPY":-0.167514,"IWM":-0.043021}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.06839},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"da554b7970a3","ts":"2026-08-28T13:40:55+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9624,"target":5.18,"target_label":"premarket_high","reward_risk":1.02,"pos_in_5d_range_pct":27.3,"room_to_5d_high_atr":1.48},"price":5.07,"vwap":5.0708,"ext_from_open_pct":0.2,"max_ext_allowed_pct":3.0,"volume_pace":0.578,"trend":"flat","recent_slope_pct":0.0197,"volatility":"high"},"price":5.07,"volume":{"bars":10,"last_bar_volume":23034.0,"baseline_avg":50715.444444,"bar_rvol":0.454181,"raw_accel":0.816725,"smooth_accel":0.038124,"accel_momentum":0.380571,"rvol_3bar":[0.445395,0.194136,0.454181],"trend_3bar":"MIXED","projected_rvol":0.200627},"flow":{"window_s":30,"trades":66,"trade_rate":2.2,"buy_vol":2998.0,"sell_vol":2026.0,"unclassified_vol":0.0,"imbalance":0.193471,"bid":5.06,"ask":5.07,"spread_pct":0.197433,"quote_size_imbalance":null,"quote_age_s":0.01988},"context":{"vwap":5.070656,"price_vs_vwap_pct":-0.012934,"ema9":5.080594,"ema20":5.068926,"ema_stack":false,"ema_warm":false,"hod":5.14,"dist_to_hod_pct":-1.361868,"dist_to_hod_atr":1.165289,"atr":0.060071,"spread_atr":0.16647,"own_change_pct":-0.29383,"rel_strength_pct":{"SPY":-0.324918,"IWM":-0.200425}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.087871},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"15b04ed7b461","ts":"2026-08-28T13:41:00+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9383,"target":11.13,"target_label":"range_20d_high","reward_risk":4.07,"pos_in_5d_range_pct":77.5,"room_to_5d_high_atr":0.36},"price":10.9761,"vwap":10.978,"ext_from_open_pct":0.06,"max_ext_allowed_pct":3.0,"volume_pace":2.644,"trend":"flat","recent_slope_pct":-0.0235,"volatility":"low"},"price":10.9761,"volume":{"bars":10,"last_bar_volume":32307.0,"baseline_avg":94799.777778,"bar_rvol":0.340792,"raw_accel":-0.097444,"smooth_accel":-0.378452,"accel_momentum":0.270037,"rvol_3bar":[0.107411,0.350329,0.340792],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":99,"trade_rate":3.3,"buy_vol":19025.0,"sell_vol":13065.0,"unclassified_vol":0.0,"imbalance":0.185728,"bid":10.97,"ask":10.98,"spread_pct":0.091116,"quote_size_imbalance":null,"quote_age_s":1.444217},"context":{"vwap":10.978011,"price_vs_vwap_pct":-0.017405,"ema9":10.984428,"ema20":10.98181,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.217273,"dist_to_hod_atr":0.959837,"atr":0.0249,"spread_atr":0.401605,"own_change_pct":-0.136426,"rel_strength_pct":{"SPY":-0.234884,"IWM":0.01702}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.063294},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"090e28d47506","ts":"2026-08-28T13:41:00+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":10.8702,"target":11.29,"target_label":"premarket_high","reward_risk":1.1,"pos_in_5d_range_pct":-5.8,"room_to_5d_high_atr":1.57},"price":11.07,"vwap":11.0684,"ext_from_open_pct":-0.63,"max_ext_allowed_pct":3.0,"volume_pace":2.919,"trend":"flat","recent_slope_pct":0.1824,"volatility":"high"},"price":11.07,"volume":{"bars":10,"last_bar_volume":18238.0,"baseline_avg":68564.555556,"bar_rvol":0.265997,"raw_accel":-0.169717,"smooth_accel":-0.662741,"accel_momentum":-1.345969,"rvol_3bar":[0.390582,0.295284,0.265997],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":3797.0,"sell_vol":2287.0,"unclassified_vol":0.0,"imbalance":0.248192,"bid":11.06,"ask":11.08,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.00643},"context":{"vwap":11.068451,"price_vs_vwap_pct":0.013996,"ema9":11.062946,"ema20":11.06739,"ema_stack":false,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-1.000724,"dist_to_hod_atr":1.227783,"atr":0.09114,"spread_atr":0.219443,"own_change_pct":0.361664,"rel_strength_pct":{"SPY":0.263205,"IWM":0.51511}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.066018},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"8fe483f9a6a1","ts":"2026-08-28T13:41:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.4% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4572,"target":5.57,"target_label":"prev_day_high","reward_risk":0.5,"pos_in_5d_range_pct":46.3,"room_to_5d_high_atr":1.55},"price":5.5326,"vwap":5.4519,"ext_from_open_pct":3.41,"max_ext_allowed_pct":3.0,"volume_pace":1.904,"trend":"positive","recent_slope_pct":0.0094,"volatility":"medium"},"price":5.5326,"volume":{"bars":11,"last_bar_volume":73492.0,"baseline_avg":159634.2,"bar_rvol":0.460378,"raw_accel":-0.66071,"smooth_accel":-0.041383,"accel_momentum":-0.481982,"rvol_3bar":[0.800599,1.412911,0.460378],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":91,"trade_rate":3.033333,"buy_vol":6558.0,"sell_vol":10465.0,"unclassified_vol":0.0,"imbalance":-0.229513,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":2.45868},"context":{"vwap":5.451539,"price_vs_vwap_pct":1.486946,"ema9":5.497168,"ema20":5.447638,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.492806,"dist_to_hod_atr":0.497833,"atr":0.055039,"spread_atr":0.181691,"own_change_pct":0.727273,"rel_strength_pct":{"SPY":0.628814,"IWM":0.880719}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.105663},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f4499df98718","ts":"2026-08-28T13:41:05+00:00","symbol":"QS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.9201,"target":6.53,"target_label":"range_20d_high","reward_risk":7.32,"pos_in_5d_range_pct":73.6,"room_to_5d_high_atr":0.44},"price":5.9934,"vwap":5.9843,"ext_from_open_pct":1.93,"max_ext_allowed_pct":3.0,"volume_pace":1.759,"trend":"flat","recent_slope_pct":-0.2132,"volatility":"medium"},"price":5.9934,"volume":{"bars":11,"last_bar_volume":35436.0,"baseline_avg":90527.8,"bar_rvol":0.391438,"raw_accel":0.565751,"smooth_accel":-0.48638,"accel_momentum":0.174256,"rvol_3bar":[0.488939,0.178764,0.391438],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":442.0,"sell_vol":10387.0,"unclassified_vol":0.0,"imbalance":-0.918367,"bid":5.99,"ask":6.0,"spread_pct":0.166806,"quote_size_imbalance":null,"quote_age_s":1.307964},"context":{"vwap":5.984256,"price_vs_vwap_pct":0.152796,"ema9":6.001924,"ema20":5.971267,"ema_stack":false,"ema_warm":false,"hod":6.075,"dist_to_hod_pct":-1.34321,"dist_to_hod_atr":1.395158,"atr":0.058488,"spread_atr":0.170975,"own_change_pct":-1.072607,"rel_strength_pct":{"SPY":-1.171066,"IWM":-0.919161}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.359484},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"447c5529628a","ts":"2026-08-28T13:41:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":10.885,"target":11.29,"target_label":"premarket_high","reward_risk":1.03,"pos_in_5d_range_pct":-4.6,"room_to_5d_high_atr":1.55},"price":11.0849,"vwap":11.0684,"ext_from_open_pct":-0.49,"max_ext_allowed_pct":3.0,"volume_pace":2.906,"trend":"flat","recent_slope_pct":0.1024,"volatility":"high"},"price":11.0849,"volume":{"bars":11,"last_bar_volume":10788.0,"baseline_avg":63531.9,"bar_rvol":0.169804,"raw_accel":-0.408488,"smooth_accel":-0.76284,"accel_momentum":-0.100099,"rvol_3bar":[0.295284,0.265997,0.169804],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":78,"trade_rate":2.6,"buy_vol":4899.0,"sell_vol":3023.0,"unclassified_vol":0.0,"imbalance":0.236809,"bid":11.06,"ask":11.07,"spread_pct":0.090375,"quote_size_imbalance":null,"quote_age_s":2.408641},"context":{"vwap":11.068392,"price_vs_vwap_pct":0.149149,"ema9":11.064357,"ema20":11.067639,"ema_stack":false,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-0.867473,"dist_to_hod_atr":1.065166,"atr":0.091066,"spread_atr":0.109811,"own_change_pct":0.315355,"rel_strength_pct":{"SPY":0.216896,"IWM":0.4688}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.040211},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"b8c3dddb3da4","ts":"2026-08-28T13:41:10+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.06 below VWAP $11.07","plan":{"state":"PASS","setup":"","stop":10.8602,"target":11.29,"target_label":"premarket_high","reward_risk":1.15,"pos_in_5d_range_pct":-6.7,"room_to_5d_high_atr":1.58},"price":11.06,"vwap":11.0684,"ext_from_open_pct":-0.72,"max_ext_allowed_pct":3.0,"volume_pace":2.894,"trend":"flat","recent_slope_pct":0.0575,"volatility":"high"},"price":11.06,"volume":{"bars":11,"last_bar_volume":10788.0,"baseline_avg":63531.9,"bar_rvol":0.169804,"raw_accel":-0.408488,"smooth_accel":-0.76284,"accel_momentum":-0.100099,"rvol_3bar":[0.295284,0.265997,0.169804],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":84,"trade_rate":2.8,"buy_vol":5160.0,"sell_vol":4850.0,"unclassified_vol":0.0,"imbalance":0.030969,"bid":11.06,"ask":11.07,"spread_pct":0.090375,"quote_size_imbalance":null,"quote_age_s":1.60809},"context":{"vwap":11.068392,"price_vs_vwap_pct":-0.075816,"ema9":11.064357,"ema20":11.067639,"ema_stack":false,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-1.090155,"dist_to_hod_atr":1.338595,"atr":0.091066,"spread_atr":0.109811,"own_change_pct":0.315355,"rel_strength_pct":{"SPY":0.216896,"IWM":0.4688}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.005259},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"07a5dc9bc4cb","ts":"2026-08-28T13:41:10+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.163,"target":7.39,"target_label":"prev_day_high","reward_risk":1.61,"pos_in_5d_range_pct":72.5,"room_to_5d_high_atr":0.43},"price":7.25,"vwap":7.2351,"ext_from_open_pct":0.97,"max_ext_allowed_pct":3.0,"volume_pace":1.173,"trend":"flat","recent_slope_pct":0.0581,"volatility":"medium"},"price":7.25,"volume":{"bars":11,"last_bar_volume":46764.0,"baseline_avg":89642.2,"bar_rvol":0.521674,"raw_accel":-0.174816,"smooth_accel":-0.664841,"accel_momentum":0.055088,"rvol_3bar":[0.162501,0.607369,0.521674],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":85,"trade_rate":2.833333,"buy_vol":7311.0,"sell_vol":17240.0,"unclassified_vol":0.0,"imbalance":-0.404423,"bid":7.24,"ask":7.25,"spread_pct":0.138026,"quote_size_imbalance":null,"quote_age_s":9.283086},"context":{"vwap":7.235075,"price_vs_vwap_pct":0.206287,"ema9":7.248021,"ema20":7.249055,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.412088,"dist_to_hod_atr":0.500755,"atr":0.05991,"spread_atr":0.166918,"own_change_pct":0.098066,"rel_strength_pct":{"SPY":-0.000392,"IWM":0.251512}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.210977},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0cfc418bffdb","ts":"2026-08-28T13:41:15+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.8702,"target":11.29,"target_label":"premarket_high","reward_risk":1.1,"pos_in_5d_range_pct":-5.8,"room_to_5d_high_atr":1.57},"price":11.07,"vwap":11.0683,"ext_from_open_pct":-0.63,"max_ext_allowed_pct":3.0,"volume_pace":2.895,"trend":"flat","recent_slope_pct":0.0755,"volatility":"high"},"price":11.07,"volume":{"bars":11,"last_bar_volume":10788.0,"baseline_avg":63531.9,"bar_rvol":0.169804,"raw_accel":-0.408488,"smooth_accel":-0.76284,"accel_momentum":-0.100099,"rvol_3bar":[0.295284,0.265997,0.169804],"trend_3bar":"DECELERATING","projected_rvol":0.57867},"flow":{"window_s":30,"trades":117,"trade_rate":3.9,"buy_vol":4941.0,"sell_vol":7850.0,"unclassified_vol":0.0,"imbalance":-0.227426,"bid":11.06,"ask":11.08,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":2.211577},"context":{"vwap":11.068392,"price_vs_vwap_pct":0.014531,"ema9":11.064357,"ema20":11.067639,"ema_stack":false,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-1.000724,"dist_to_hod_atr":1.228784,"atr":0.091066,"spread_atr":0.219622,"own_change_pct":0.315355,"rel_strength_pct":{"SPY":0.216896,"IWM":0.4688}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.038618},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"1dd2392fdad0","ts":"2026-08-28T13:41:20+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":4.9724,"target":5.18,"target_label":"premarket_high","reward_risk":0.93,"pos_in_5d_range_pct":28.5,"room_to_5d_high_atr":1.46},"price":5.08,"vwap":5.0708,"ext_from_open_pct":0.4,"max_ext_allowed_pct":4.0,"volume_pace":0.56,"trend":"flat","recent_slope_pct":-0.0492,"volatility":"high"},"price":5.08,"volume":{"bars":11,"last_bar_volume":9398.0,"baseline_avg":47947.3,"bar_rvol":0.196007,"raw_accel":-0.591994,"smooth_accel":-0.44582,"accel_momentum":-0.483944,"rvol_3bar":[0.194136,0.454181,0.196007],"trend_3bar":"MIXED","projected_rvol":0.154169},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":2026.0,"sell_vol":2621.0,"unclassified_vol":0.0,"imbalance":-0.12804,"bid":5.07,"ask":5.09,"spread_pct":0.393701,"quote_size_imbalance":null,"quote_age_s":3.204037},"context":{"vwap":5.070771,"price_vs_vwap_pct":0.181996,"ema9":5.078475,"ema20":5.069028,"ema_stack":true,"ema_warm":false,"hod":5.14,"dist_to_hod_pct":-1.167315,"dist_to_hod_atr":1.035858,"atr":0.057923,"spread_atr":0.345286,"own_change_pct":-0.175235,"rel_strength_pct":{"SPY":-0.273693,"IWM":-0.021789}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.025097},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c9509cbb467b","ts":"2026-08-28T13:41:20+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.06 below VWAP $11.07","plan":{"state":"PASS","setup":"","stop":10.8574,"target":11.29,"target_label":"premarket_high","reward_risk":1.16,"pos_in_5d_range_pct":-6.9,"room_to_5d_high_atr":1.59},"price":11.0572,"vwap":11.0682,"ext_from_open_pct":-0.74,"max_ext_allowed_pct":3.0,"volume_pace":2.896,"trend":"flat","recent_slope_pct":0.0524,"volatility":"high"},"price":11.0572,"volume":{"bars":11,"last_bar_volume":10788.0,"baseline_avg":63531.9,"bar_rvol":0.169804,"raw_accel":-0.408488,"smooth_accel":-0.76284,"accel_momentum":-0.100099,"rvol_3bar":[0.295284,0.265997,0.169804],"trend_3bar":"DECELERATING","projected_rvol":0.669349},"flow":{"window_s":30,"trades":128,"trade_rate":4.266667,"buy_vol":5807.0,"sell_vol":10496.0,"unclassified_vol":0.0,"imbalance":-0.287616,"bid":11.04,"ask":11.06,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":3.314535},"context":{"vwap":11.068392,"price_vs_vwap_pct":-0.101113,"ema9":11.064357,"ema20":11.067639,"ema_stack":false,"ema_warm":false,"hod":11.1819,"dist_to_hod_pct":-1.115195,"dist_to_hod_atr":1.369342,"atr":0.091066,"spread_atr":0.219622,"own_change_pct":0.315355,"rel_strength_pct":{"SPY":0.216896,"IWM":0.4688}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.048838},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"1cd88b1ca72a","ts":"2026-08-28T13:41:35+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":7.1729,"target":7.39,"target_label":"prev_day_high","reward_risk":1.5,"pos_in_5d_range_pct":74.3,"room_to_5d_high_atr":0.4},"price":7.2599,"vwap":7.2356,"ext_from_open_pct":1.11,"max_ext_allowed_pct":4.0,"volume_pace":1.159,"trend":"flat","recent_slope_pct":0.0854,"volatility":"medium"},"price":7.2599,"volume":{"bars":11,"last_bar_volume":46764.0,"baseline_avg":89642.2,"bar_rvol":0.521674,"raw_accel":-0.174816,"smooth_accel":-0.664841,"accel_momentum":0.055088,"rvol_3bar":[0.162501,0.607369,0.521674],"trend_3bar":"MIXED","projected_rvol":0.580039},"flow":{"window_s":30,"trades":58,"trade_rate":1.933333,"buy_vol":25827.0,"sell_vol":4504.0,"unclassified_vol":0.0,"imbalance":0.70301,"bid":7.25,"ask":7.26,"spread_pct":0.137836,"quote_size_imbalance":null,"quote_age_s":0.958731},"context":{"vwap":7.235075,"price_vs_vwap_pct":0.34312,"ema9":7.248021,"ema20":7.249055,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.276099,"dist_to_hod_atr":0.335506,"atr":0.05991,"spread_atr":0.166918,"own_change_pct":0.098066,"rel_strength_pct":{"SPY":-0.000392,"IWM":0.251512}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.366742},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e6809bc446d5","ts":"2026-08-28T13:41:40+00:00","symbol":"XLAB","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.5,"target":6.74,"target_label":"range_20d_high","reward_risk":1.03,"pos_in_5d_range_pct":85.0,"room_to_5d_high_atr":0.44},"price":6.11,"vwap":5.856,"ext_from_open_pct":-1.45,"max_ext_allowed_pct":4.0,"volume_pace":11.028,"trend":"flat","recent_slope_pct":2.2385,"volatility":"high"},"price":6.11,"volume":{"bars":11,"last_bar_volume":9990.0,"baseline_avg":14503.7,"bar_rvol":0.68879,"raw_accel":-0.047301,"smooth_accel":-0.347404,"accel_momentum":-0.491024,"rvol_3bar":[1.104279,0.701399,0.68879],"trend_3bar":"DECELERATING","projected_rvol":1.875349},"flow":{"window_s":30,"trades":133,"trade_rate":4.433333,"buy_vol":7467.0,"sell_vol":6713.0,"unclassified_vol":0.0,"imbalance":0.053173,"bid":6.05,"ask":6.11,"spread_pct":0.986842,"quote_size_imbalance":null,"quote_age_s":0.302018},"context":{"vwap":5.833677,"price_vs_vwap_pct":4.736685,"ema9":5.806422,"ema20":5.927875,"ema_stack":false,"ema_warm":false,"hod":6.2,"dist_to_hod_pct":-1.451613,"dist_to_hod_atr":0.828648,"atr":0.108611,"spread_atr":0.552432,"own_change_pct":-0.34188,"rel_strength_pct":{"SPY":-0.440339,"IWM":-0.188434}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.036625},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"8f378c5315af","ts":"2026-08-28T13:41:40+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.168,"target":7.39,"target_label":"prev_day_high","reward_risk":1.55,"pos_in_5d_range_pct":73.4,"room_to_5d_high_atr":0.42},"price":7.255,"vwap":7.2357,"ext_from_open_pct":1.04,"max_ext_allowed_pct":4.0,"volume_pace":1.156,"trend":"flat","recent_slope_pct":0.0719,"volatility":"medium"},"price":7.255,"volume":{"bars":11,"last_bar_volume":46764.0,"baseline_avg":89642.2,"bar_rvol":0.521674,"raw_accel":-0.174816,"smooth_accel":-0.664841,"accel_momentum":0.055088,"rvol_3bar":[0.162501,0.607369,0.521674],"trend_3bar":"MIXED","projected_rvol":0.582348},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":22000.0,"sell_vol":6697.0,"unclassified_vol":0.0,"imbalance":0.533261,"bid":7.25,"ask":7.26,"spread_pct":0.137836,"quote_size_imbalance":null,"quote_age_s":0.359558},"context":{"vwap":7.235075,"price_vs_vwap_pct":0.275394,"ema9":7.248021,"ema20":7.249055,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.343407,"dist_to_hod_atr":0.417296,"atr":0.05991,"spread_atr":0.166918,"own_change_pct":0.098066,"rel_strength_pct":{"SPY":-0.000392,"IWM":0.251512}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.278189},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"05c1b4bae8d0","ts":"2026-08-28T13:41:45+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"spread 2.28% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":5.5,"target":6.74,"target_label":"range_20d_high","reward_risk":0.97,"pos_in_5d_range_pct":85.8,"room_to_5d_high_atr":0.41},"price":6.13,"vwap":5.8623,"ext_from_open_pct":-1.13,"max_ext_allowed_pct":4.0,"volume_pace":11.27,"trend":"flat","recent_slope_pct":2.3063,"volatility":"high"},"price":6.13,"volume":{"bars":11,"last_bar_volume":9990.0,"baseline_avg":14503.7,"bar_rvol":0.68879,"raw_accel":-0.047301,"smooth_accel":-0.347404,"accel_momentum":-0.491024,"rvol_3bar":[1.104279,0.701399,0.68879],"trend_3bar":"DECELERATING","projected_rvol":2.132697},"flow":{"window_s":30,"trades":145,"trade_rate":4.833333,"buy_vol":5076.0,"sell_vol":8733.0,"unclassified_vol":0.0,"imbalance":-0.264827,"bid":6.06,"ask":6.2,"spread_pct":2.28385,"quote_size_imbalance":null,"quote_age_s":0.545369},"context":{"vwap":5.833677,"price_vs_vwap_pct":5.079522,"ema9":5.806422,"ema20":5.927875,"ema_stack":false,"ema_warm":false,"hod":6.2,"dist_to_hod_pct":-1.129032,"dist_to_hod_atr":0.644504,"atr":0.108611,"spread_atr":1.289008,"own_change_pct":-0.34188,"rel_strength_pct":{"SPY":-0.440339,"IWM":-0.188434}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.18241},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"db956906b5c1","ts":"2026-08-28T13:41:45+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.4133,"target":13.7,"target_label":"prev_day_high","reward_risk":1.34,"pos_in_5d_range_pct":24.8,"room_to_5d_high_atr":1.27},"price":13.5356,"vwap":13.5347,"ext_from_open_pct":0.26,"max_ext_allowed_pct":4.0,"volume_pace":1.833,"trend":"flat","recent_slope_pct":-0.188,"volatility":"medium"},"price":13.5356,"volume":{"bars":11,"last_bar_volume":21340.0,"baseline_avg":29233.1,"bar_rvol":0.729994,"raw_accel":1.216222,"smooth_accel":1.625877,"accel_momentum":-0.020441,"rvol_3bar":[3.146401,0.306545,0.729994],"trend_3bar":"MIXED","projected_rvol":0.105588},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":2267.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":13.41,"ask":13.43,"spread_pct":0.149031,"quote_size_imbalance":null,"quote_age_s":0.296839},"context":{"vwap":13.534988,"price_vs_vwap_pct":0.004525,"ema9":13.508382,"ema20":13.519733,"ema_stack":false,"ema_warm":false,"hod":13.61,"dist_to_hod_pct":-0.546657,"dist_to_hod_atr":1.252753,"atr":0.059389,"spread_atr":0.336762,"own_change_pct":-1.263212,"rel_strength_pct":{"SPY":-1.361671,"IWM":-1.109766}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.729994},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9386e446dd90","ts":"2026-08-28T13:41:50+00:00","symbol":"XLAB","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.5,"target":6.74,"target_label":"range_20d_high","reward_risk":0.55,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.22},"price":6.3,"vwap":5.8919,"ext_from_open_pct":1.61,"max_ext_allowed_pct":4.0,"volume_pace":11.987,"trend":"flat","recent_slope_pct":2.8786,"volatility":"high"},"price":6.3,"volume":{"bars":11,"last_bar_volume":9990.0,"baseline_avg":14503.7,"bar_rvol":0.68879,"raw_accel":-0.047301,"smooth_accel":-0.347404,"accel_momentum":-0.491024,"rvol_3bar":[1.104279,0.701399,0.68879],"trend_3bar":"DECELERATING","projected_rvol":2.968043},"flow":{"window_s":30,"trades":206,"trade_rate":6.866667,"buy_vol":10688.0,"sell_vol":14144.0,"unclassified_vol":0.0,"imbalance":-0.139175,"bid":6.3,"ask":6.33,"spread_pct":0.475059,"quote_size_imbalance":null,"quote_age_s":1.150551},"context":{"vwap":5.833677,"price_vs_vwap_pct":7.993636,"ema9":5.806422,"ema20":5.927875,"ema_stack":false,"ema_warm":false,"hod":6.2,"dist_to_hod_pct":1.612903,"dist_to_hod_atr":-0.92072,"atr":0.108611,"spread_atr":0.276216,"own_change_pct":-0.34188,"rel_strength_pct":{"SPY":-0.440339,"IWM":-0.188434}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.095862},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"69bea3262dcf","ts":"2026-08-28T13:41:55+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.94,"target":11.13,"target_label":"range_20d_high","reward_risk":3.75,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.9782,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.6,"trend":"flat","recent_slope_pct":-0.0237,"volatility":"low"},"price":10.98,"volume":{"bars":11,"last_bar_volume":46195.0,"baseline_avg":88550.5,"bar_rvol":0.52168,"raw_accel":0.429876,"smooth_accel":-0.011289,"accel_momentum":0.367164,"rvol_3bar":[0.350329,0.340792,0.52168],"trend_3bar":"MIXED","projected_rvol":0.752212},"flow":{"window_s":30,"trades":121,"trade_rate":4.033333,"buy_vol":32869.0,"sell_vol":22692.0,"unclassified_vol":0.0,"imbalance":0.183168,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.313332},"context":{"vwap":10.978045,"price_vs_vwap_pct":0.017809,"ema9":10.982763,"ema20":10.981266,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":0.814662,"atr":0.02455,"spread_atr":0.407331,"own_change_pct":-0.093752,"rel_strength_pct":{"SPY":-0.192211,"IWM":0.059694}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.095555},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"89d7dc5fd5de","ts":"2026-08-28T13:41:55+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.39 below VWAP $13.53","plan":{"state":"PASS","setup":"","stop":13.2677,"target":13.62,"target_label":"premarket_high","reward_risk":1.88,"pos_in_5d_range_pct":7.2,"room_to_5d_high_atr":1.57},"price":13.39,"vwap":13.5312,"ext_from_open_pct":-0.81,"max_ext_allowed_pct":3.0,"volume_pace":1.868,"trend":"flat","recent_slope_pct":-0.4045,"volatility":"medium"},"price":13.39,"volume":{"bars":11,"last_bar_volume":21340.0,"baseline_avg":29233.1,"bar_rvol":0.729994,"raw_accel":1.216222,"smooth_accel":1.625877,"accel_momentum":-0.020441,"rvol_3bar":[3.146401,0.306545,0.729994],"trend_3bar":"MIXED","projected_rvol":0.479755},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":1377.0,"sell_vol":10241.0,"unclassified_vol":0.0,"imbalance":-0.762954,"bid":13.38,"ask":13.41,"spread_pct":0.223964,"quote_size_imbalance":null,"quote_age_s":0.607229},"context":{"vwap":13.534988,"price_vs_vwap_pct":-1.071205,"ema9":13.508382,"ema20":13.519733,"ema_stack":false,"ema_warm":false,"hod":13.61,"dist_to_hod_pct":-1.616458,"dist_to_hod_atr":3.704378,"atr":0.059389,"spread_atr":0.505142,"own_change_pct":-1.263212,"rel_strength_pct":{"SPY":-1.361671,"IWM":-1.109766}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.556952},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9d91d29b9b11","ts":"2026-08-28T13:42:05+00:00","symbol":"QS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.9201,"target":6.53,"target_label":"range_20d_high","reward_risk":5.77,"pos_in_5d_range_pct":77.1,"room_to_5d_high_atr":0.39},"price":6.0102,"vwap":5.9849,"ext_from_open_pct":2.21,"max_ext_allowed_pct":4.0,"volume_pace":1.656,"trend":"flat","recent_slope_pct":0.009,"volatility":"medium"},"price":6.0102,"volume":{"bars":12,"last_bar_volume":25264.0,"baseline_avg":85519.454545,"bar_rvol":0.295418,"raw_accel":-0.287053,"smooth_accel":-0.470357,"accel_momentum":0.016023,"rvol_3bar":[0.178764,0.391438,0.295418],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":12007.0,"sell_vol":2367.0,"unclassified_vol":0.0,"imbalance":0.670655,"bid":6.01,"ask":6.02,"spread_pct":0.166251,"quote_size_imbalance":null,"quote_age_s":0.837578},"context":{"vwap":5.98493,"price_vs_vwap_pct":0.422234,"ema9":6.005539,"ema20":5.975909,"ema_stack":true,"ema_warm":false,"hod":6.075,"dist_to_hod_pct":-1.066667,"dist_to_hod_atr":1.147855,"atr":0.056453,"spread_atr":0.177138,"own_change_pct":-0.164182,"rel_strength_pct":{"SPY":-0.257432,"IWM":-0.099083}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.198124},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d95d5c5957fb","ts":"2026-08-28T13:42:25+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.4573,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.82,"trend":"positive","recent_slope_pct":-0.1173,"volatility":"medium"},"price":5.52,"volume":{"bars":12,"last_bar_volume":80148.0,"baseline_avg":151803.090909,"bar_rvol":0.527973,"raw_accel":0.090568,"smooth_accel":-0.018465,"accel_momentum":0.022919,"rvol_3bar":[1.412911,0.460378,0.527973],"trend_3bar":"MIXED","projected_rvol":0.70729},"flow":{"window_s":30,"trades":234,"trade_rate":7.8,"buy_vol":19333.0,"sell_vol":26076.0,"unclassified_vol":0.0,"imbalance":-0.148495,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.075821},"context":{"vwap":5.45557,"price_vs_vwap_pct":1.180991,"ema9":5.505735,"ema20":5.456434,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.719424,"dist_to_hod_atr":0.760042,"atr":0.052629,"spread_atr":0.19001,"own_change_pct":0.910747,"rel_strength_pct":{"SPY":0.817497,"IWM":0.975846}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.078401},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3ac0f7a0d1f5","ts":"2026-08-28T13:42:25+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":9.5597,"target":9.8,"target_label":"prev_day_high","reward_risk":0.37,"pos_in_5d_range_pct":64.3,"room_to_5d_high_atr":0.74},"price":9.735,"vwap":9.7309,"ext_from_open_pct":1.2,"max_ext_allowed_pct":3.0,"volume_pace":1.126,"trend":"flat","recent_slope_pct":-0.1105,"volatility":"high"},"price":9.735,"volume":{"bars":12,"last_bar_volume":35995.0,"baseline_avg":117418.272727,"bar_rvol":0.306554,"raw_accel":-0.137059,"smooth_accel":-0.71088,"accel_momentum":-0.081843,"rvol_3bar":[0.282809,0.333726,0.306554],"trend_3bar":"MIXED","projected_rvol":0.648901},"flow":{"window_s":30,"trades":170,"trade_rate":5.666667,"buy_vol":17566.0,"sell_vol":14322.0,"unclassified_vol":0.0,"imbalance":0.101731,"bid":9.72,"ask":9.73,"spread_pct":0.102828,"quote_size_imbalance":null,"quote_age_s":0.021713},"context":{"vwap":9.730404,"price_vs_vwap_pct":0.04723,"ema9":9.766025,"ema20":9.735451,"ema_stack":false,"ema_warm":false,"hod":9.84,"dist_to_hod_pct":-1.067073,"dist_to_hod_atr":1.124874,"atr":0.093344,"spread_atr":0.107131,"own_change_pct":0.431304,"rel_strength_pct":{"SPY":0.338055,"IWM":0.496403}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.031186},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"099c59245bfe","ts":"2026-08-28T13:42:30+00:00","symbol":"QS","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.97 below VWAP $5.98","plan":{"state":"PASS","setup":"","stop":5.9038,"target":6.53,"target_label":"range_20d_high","reward_risk":7.8,"pos_in_5d_range_pct":69.8,"room_to_5d_high_atr":0.51},"price":5.975,"vwap":5.9849,"ext_from_open_pct":1.62,"max_ext_allowed_pct":3.0,"volume_pace":1.701,"trend":"flat","recent_slope_pct":-0.1083,"volatility":"medium"},"price":5.975,"volume":{"bars":12,"last_bar_volume":25264.0,"baseline_avg":85519.454545,"bar_rvol":0.295418,"raw_accel":-0.287053,"smooth_accel":-0.470357,"accel_momentum":0.016023,"rvol_3bar":[0.178764,0.391438,0.295418],"trend_3bar":"MIXED","projected_rvol":1.418671},"flow":{"window_s":30,"trades":149,"trade_rate":4.966667,"buy_vol":33572.0,"sell_vol":27090.0,"unclassified_vol":0.0,"imbalance":0.106854,"bid":5.97,"ask":5.98,"spread_pct":0.167364,"quote_size_imbalance":null,"quote_age_s":0.286353},"context":{"vwap":5.98493,"price_vs_vwap_pct":-0.16591,"ema9":6.005539,"ema20":5.975909,"ema_stack":false,"ema_warm":false,"hod":6.075,"dist_to_hod_pct":-1.646091,"dist_to_hod_atr":1.77138,"atr":0.056453,"spread_atr":0.177138,"own_change_pct":-0.164182,"rel_strength_pct":{"SPY":-0.257432,"IWM":-0.099083}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.031567},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"08acfff3efb1","ts":"2026-08-28T13:42:30+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9624,"target":5.18,"target_label":"premarket_high","reward_risk":1.02,"pos_in_5d_range_pct":27.3,"room_to_5d_high_atr":1.48},"price":5.07,"vwap":5.0716,"ext_from_open_pct":0.2,"max_ext_allowed_pct":3.0,"volume_pace":0.54,"trend":"flat","recent_slope_pct":-0.0197,"volatility":"high"},"price":5.07,"volume":{"bars":12,"last_bar_volume":24281.0,"baseline_avg":44442.818182,"bar_rvol":0.546342,"raw_accel":1.18537,"smooth_accel":0.010423,"accel_momentum":0.456242,"rvol_3bar":[0.454181,0.196007,0.546342],"trend_3bar":"MIXED","projected_rvol":0.432466},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":2995.0,"sell_vol":6615.0,"unclassified_vol":0.0,"imbalance":-0.376691,"bid":5.06,"ask":5.07,"spread_pct":0.197433,"quote_size_imbalance":null,"quote_age_s":0.594958},"context":{"vwap":5.071443,"price_vs_vwap_pct":-0.028455,"ema9":5.08078,"ema20":5.071025,"ema_stack":false,"ema_warm":false,"hod":5.14,"dist_to_hod_pct":-1.361868,"dist_to_hod_atr":1.243814,"atr":0.056279,"spread_atr":0.177688,"own_change_pct":0.493583,"rel_strength_pct":{"SPY":0.400334,"IWM":0.558682}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.205802},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c43ddcbcf9f5","ts":"2026-08-28T13:42:35+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.1516,"target":7.39,"target_label":"prev_day_high","reward_risk":1.74,"pos_in_5d_range_pct":70.4,"room_to_5d_high_atr":0.46},"price":7.2386,"vwap":7.236,"ext_from_open_pct":0.82,"max_ext_allowed_pct":3.0,"volume_pace":1.107,"trend":"flat","recent_slope_pct":-0.0039,"volatility":"medium"},"price":7.2386,"volume":{"bars":12,"last_bar_volume":43915.0,"baseline_avg":85744.181818,"bar_rvol":0.512163,"raw_accel":-0.060923,"smooth_accel":-0.561933,"accel_momentum":0.102908,"rvol_3bar":[0.607369,0.521674,0.512163],"trend_3bar":"DECELERATING","projected_rvol":0.4576},"flow":{"window_s":30,"trades":84,"trade_rate":2.8,"buy_vol":3007.0,"sell_vol":12781.0,"unclassified_vol":0.0,"imbalance":-0.619078,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.599254},"context":{"vwap":7.235813,"price_vs_vwap_pct":0.038515,"ema9":7.249417,"ema20":7.249621,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.568681,"dist_to_hod_atr":0.725567,"atr":0.057059,"spread_atr":0.175258,"own_change_pct":0.276434,"rel_strength_pct":{"SPY":0.183184,"IWM":0.341533}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.317069},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"63ad3d436373","ts":"2026-08-28T13:43:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.458,"ext_from_open_pct":2.99,"max_ext_allowed_pct":4.0,"volume_pace":1.754,"trend":"positive","recent_slope_pct":-0.1809,"volatility":"medium"},"price":5.51,"volume":{"bars":13,"last_bar_volume":68230.0,"baseline_avg":145831.833333,"bar_rvol":0.467868,"raw_accel":-0.1487,"smooth_accel":-0.570307,"accel_momentum":-0.551842,"rvol_3bar":[0.460378,0.527973,0.467868],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":128,"trade_rate":4.266667,"buy_vol":10798.0,"sell_vol":11564.0,"unclassified_vol":0.0,"imbalance":-0.034255,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.235909},"context":{"vwap":5.457867,"price_vs_vwap_pct":0.955197,"ema9":5.506588,"ema20":5.461536,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.899281,"dist_to_hod_atr":0.96622,"atr":0.051748,"spread_atr":0.193244,"own_change_pct":-0.271493,"rel_strength_pct":{"SPY":-0.347065,"IWM":-0.111258}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.016027},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"69267b08dc56","ts":"2026-08-28T13:43:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.4587,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.742,"trend":"positive","recent_slope_pct":-0.1446,"volatility":"medium"},"price":5.52,"volume":{"bars":13,"last_bar_volume":68230.0,"baseline_avg":145831.833333,"bar_rvol":0.467868,"raw_accel":-0.1487,"smooth_accel":-0.570307,"accel_momentum":-0.551842,"rvol_3bar":[0.460378,0.527973,0.467868],"trend_3bar":"MIXED","projected_rvol":0.557533},"flow":{"window_s":30,"trades":89,"trade_rate":2.966667,"buy_vol":15410.0,"sell_vol":14626.0,"unclassified_vol":0.0,"imbalance":0.026102,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":4.105171},"context":{"vwap":5.457867,"price_vs_vwap_pct":1.138418,"ema9":5.506588,"ema20":5.461536,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.719424,"dist_to_hod_atr":0.772976,"atr":0.051748,"spread_atr":0.193244,"own_change_pct":-0.271493,"rel_strength_pct":{"SPY":-0.347065,"IWM":-0.111258}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.012212},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2dc8e3cbefa9","ts":"2026-08-28T13:43:20+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":4.9674,"target":5.18,"target_label":"premarket_high","reward_risk":0.98,"pos_in_5d_range_pct":27.9,"room_to_5d_high_atr":1.47},"price":5.075,"vwap":5.0716,"ext_from_open_pct":0.3,"max_ext_allowed_pct":4.0,"volume_pace":0.521,"trend":"flat","recent_slope_pct":-0.067,"volatility":"high"},"price":5.075,"volume":{"bars":13,"last_bar_volume":16013.0,"baseline_avg":42762.666667,"bar_rvol":0.374462,"raw_accel":-0.340513,"smooth_accel":-0.178726,"accel_momentum":-0.189149,"rvol_3bar":[0.196007,0.546342,0.374462],"trend_3bar":"MIXED","projected_rvol":0.651316},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":6580.0,"sell_vol":3906.0,"unclassified_vol":0.0,"imbalance":0.255007,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":0.346149},"context":{"vwap":5.071557,"price_vs_vwap_pct":0.067893,"ema9":5.077824,"ema20":5.070547,"ema_stack":false,"ema_warm":false,"hod":5.14,"dist_to_hod_pct":-1.264591,"dist_to_hod_atr":1.179948,"atr":0.055087,"spread_atr":0.18153,"own_change_pct":-0.471513,"rel_strength_pct":{"SPY":-0.547084,"IWM":-0.311278}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.09549},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5758cd693ae1","ts":"2026-08-28T13:43:20+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.1529,"target":7.39,"target_label":"prev_day_high","reward_risk":1.73,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.2399,"vwap":7.2357,"ext_from_open_pct":0.83,"max_ext_allowed_pct":4.0,"volume_pace":1.077,"trend":"flat","recent_slope_pct":-0.1067,"volatility":"medium"},"price":7.2399,"volume":{"bars":13,"last_bar_volume":38778.0,"baseline_avg":82258.416667,"bar_rvol":0.471417,"raw_accel":-0.116976,"smooth_accel":0.255913,"accel_momentum":0.817846,"rvol_3bar":[0.521674,0.512163,0.471417],"trend_3bar":"DECELERATING","projected_rvol":0.549573},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":12834.0,"sell_vol":3075.0,"unclassified_vol":0.0,"imbalance":0.613426,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":2.221526},"context":{"vwap":7.235719,"price_vs_vwap_pct":0.057777,"ema9":7.243533,"ema20":7.2468,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.550824,"dist_to_hod_atr":0.718118,"atr":0.05584,"spread_atr":0.179082,"own_change_pct":-0.207326,"rel_strength_pct":{"SPY":-0.282897,"IWM":-0.04709}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.289179},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"ba5d382e1db1","ts":"2026-08-28T13:43:25+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.24 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.2357,"ext_from_open_pct":0.77,"max_ext_allowed_pct":4.0,"volume_pace":1.07,"trend":"flat","recent_slope_pct":-0.1202,"volatility":"medium"},"price":7.235,"volume":{"bars":13,"last_bar_volume":38778.0,"baseline_avg":82258.416667,"bar_rvol":0.471417,"raw_accel":-0.116976,"smooth_accel":0.255913,"accel_momentum":0.817846,"rvol_3bar":[0.521674,0.512163,0.471417],"trend_3bar":"DECELERATING","projected_rvol":0.441759},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":12815.0,"sell_vol":2646.0,"unclassified_vol":0.0,"imbalance":0.657719,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.251054},"context":{"vwap":7.235719,"price_vs_vwap_pct":-0.009943,"ema9":7.243533,"ema20":7.2468,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":0.805869,"atr":0.05584,"spread_atr":0.179082,"own_change_pct":-0.207326,"rel_strength_pct":{"SPY":-0.282897,"IWM":-0.04709}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.31006},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"13eb732798d4","ts":"2026-08-28T13:43:30+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.4588,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.726,"trend":"positive","recent_slope_pct":-0.1809,"volatility":"medium"},"price":5.51,"volume":{"bars":13,"last_bar_volume":68230.0,"baseline_avg":145831.833333,"bar_rvol":0.467868,"raw_accel":-0.1487,"smooth_accel":-0.570307,"accel_momentum":-0.551842,"rvol_3bar":[0.460378,0.527973,0.467868],"trend_3bar":"MIXED","projected_rvol":0.444238},"flow":{"window_s":30,"trades":83,"trade_rate":2.766667,"buy_vol":13244.0,"sell_vol":19148.0,"unclassified_vol":0.0,"imbalance":-0.182267,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.004936},"context":{"vwap":5.457867,"price_vs_vwap_pct":0.955197,"ema9":5.506588,"ema20":5.461536,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.899281,"dist_to_hod_atr":0.96622,"atr":0.051748,"spread_atr":0.193244,"own_change_pct":-0.271493,"rel_strength_pct":{"SPY":-0.347065,"IWM":-0.111258}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.085277},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"31204d2434ed","ts":"2026-08-28T13:43:30+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.1516,"target":7.39,"target_label":"prev_day_high","reward_risk":1.74,"pos_in_5d_range_pct":70.4,"room_to_5d_high_atr":0.46},"price":7.2386,"vwap":7.2357,"ext_from_open_pct":0.82,"max_ext_allowed_pct":4.0,"volume_pace":1.067,"trend":"flat","recent_slope_pct":-0.1103,"volatility":"medium"},"price":7.2386,"volume":{"bars":13,"last_bar_volume":38778.0,"baseline_avg":82258.416667,"bar_rvol":0.471417,"raw_accel":-0.116976,"smooth_accel":0.255913,"accel_momentum":0.817846,"rvol_3bar":[0.521674,0.512163,0.471417],"trend_3bar":"DECELERATING","projected_rvol":0.447006},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":16037.0,"sell_vol":2348.0,"unclassified_vol":0.0,"imbalance":0.744574,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.72265},"context":{"vwap":7.235719,"price_vs_vwap_pct":0.039811,"ema9":7.243533,"ema20":7.2468,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.568681,"dist_to_hod_atr":0.741399,"atr":0.05584,"spread_atr":0.179082,"own_change_pct":-0.207326,"rel_strength_pct":{"SPY":-0.282897,"IWM":-0.04709}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.351005},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"c60ef96ed899","ts":"2026-08-28T13:43:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4396,"target":5.57,"target_label":"prev_day_high","reward_risk":0.73,"pos_in_5d_range_pct":44.3,"room_to_5d_high_atr":1.61},"price":5.515,"vwap":5.4591,"ext_from_open_pct":3.08,"max_ext_allowed_pct":3.0,"volume_pace":1.722,"trend":"positive","recent_slope_pct":-0.1627,"volatility":"medium"},"price":5.515,"volume":{"bars":13,"last_bar_volume":68230.0,"baseline_avg":145831.833333,"bar_rvol":0.467868,"raw_accel":-0.1487,"smooth_accel":-0.570307,"accel_momentum":-0.551842,"rvol_3bar":[0.460378,0.527973,0.467868],"trend_3bar":"MIXED","projected_rvol":0.467129},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":10252.0,"sell_vol":25014.0,"unclassified_vol":0.0,"imbalance":-0.41859,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":1.098833},"context":{"vwap":5.457867,"price_vs_vwap_pct":1.046807,"ema9":5.506588,"ema20":5.461536,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.809353,"dist_to_hod_atr":0.869598,"atr":0.051748,"spread_atr":0.193244,"own_change_pct":-0.271493,"rel_strength_pct":{"SPY":-0.347065,"IWM":-0.111258}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.195845},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c6dc76ffb22a","ts":"2026-08-28T13:43:35+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9624,"target":5.18,"target_label":"premarket_high","reward_risk":1.02,"pos_in_5d_range_pct":27.3,"room_to_5d_high_atr":1.48},"price":5.07,"vwap":5.0716,"ext_from_open_pct":0.2,"max_ext_allowed_pct":4.0,"volume_pace":0.518,"trend":"flat","recent_slope_pct":-0.0867,"volatility":"high"},"price":5.07,"volume":{"bars":13,"last_bar_volume":16013.0,"baseline_avg":42762.666667,"bar_rvol":0.374462,"raw_accel":-0.340513,"smooth_accel":-0.178726,"accel_momentum":-0.189149,"rvol_3bar":[0.196007,0.546342,0.374462],"trend_3bar":"MIXED","projected_rvol":0.649953},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":12898.0,"sell_vol":3314.0,"unclassified_vol":0.0,"imbalance":0.591167,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":1.282715},"context":{"vwap":5.071557,"price_vs_vwap_pct":-0.030696,"ema9":5.077824,"ema20":5.070547,"ema_stack":false,"ema_warm":false,"hod":5.14,"dist_to_hod_pct":-1.361868,"dist_to_hod_atr":1.270713,"atr":0.055087,"spread_atr":0.18153,"own_change_pct":-0.471513,"rel_strength_pct":{"SPY":-0.547084,"IWM":-0.311278}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.22137},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"cc8e6c73926e","ts":"2026-08-28T13:43:35+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.24 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.2357,"ext_from_open_pct":0.77,"max_ext_allowed_pct":4.0,"volume_pace":1.061,"trend":"flat","recent_slope_pct":-0.1202,"volatility":"medium"},"price":7.235,"volume":{"bars":13,"last_bar_volume":38778.0,"baseline_avg":82258.416667,"bar_rvol":0.471417,"raw_accel":-0.116976,"smooth_accel":0.255913,"accel_momentum":0.817846,"rvol_3bar":[0.521674,0.512163,0.471417],"trend_3bar":"DECELERATING","projected_rvol":0.397319},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":12494.0,"sell_vol":2121.0,"unclassified_vol":0.0,"imbalance":0.70975,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.146662},"context":{"vwap":7.235719,"price_vs_vwap_pct":-0.009943,"ema9":7.243533,"ema20":7.2468,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":0.805869,"atr":0.05584,"spread_atr":0.179082,"own_change_pct":-0.207326,"rel_strength_pct":{"SPY":-0.282897,"IWM":-0.04709}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.334588},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"50317cefa899","ts":"2026-08-28T13:43:40+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.4591,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.713,"trend":"positive","recent_slope_pct":-0.1809,"volatility":"medium"},"price":5.51,"volume":{"bars":13,"last_bar_volume":68230.0,"baseline_avg":145831.833333,"bar_rvol":0.467868,"raw_accel":-0.1487,"smooth_accel":-0.570307,"accel_momentum":-0.551842,"rvol_3bar":[0.460378,0.527973,0.467868],"trend_3bar":"MIXED","projected_rvol":0.422583},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":10457.0,"sell_vol":25207.0,"unclassified_vol":0.0,"imbalance":-0.413582,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.048714},"context":{"vwap":5.457867,"price_vs_vwap_pct":0.955197,"ema9":5.506588,"ema20":5.461536,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.899281,"dist_to_hod_atr":0.96622,"atr":0.051748,"spread_atr":0.193244,"own_change_pct":-0.271493,"rel_strength_pct":{"SPY":-0.347065,"IWM":-0.111258}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.193502},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b017e07d4550","ts":"2026-08-28T13:43:40+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":4.9719,"target":5.18,"target_label":"premarket_high","reward_risk":0.93,"pos_in_5d_range_pct":28.4,"room_to_5d_high_atr":1.46},"price":5.0795,"vwap":5.0717,"ext_from_open_pct":0.39,"max_ext_allowed_pct":3.0,"volume_pace":0.518,"trend":"flat","recent_slope_pct":-0.0492,"volatility":"high"},"price":5.0795,"volume":{"bars":13,"last_bar_volume":16013.0,"baseline_avg":42762.666667,"bar_rvol":0.374462,"raw_accel":-0.340513,"smooth_accel":-0.178726,"accel_momentum":-0.189149,"rvol_3bar":[0.196007,0.546342,0.374462],"trend_3bar":"MIXED","projected_rvol":0.684604},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":15542.0,"sell_vol":2368.0,"unclassified_vol":0.0,"imbalance":0.735567,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":2.144372},"context":{"vwap":5.071557,"price_vs_vwap_pct":0.156623,"ema9":5.077824,"ema20":5.070547,"ema_stack":true,"ema_warm":false,"hod":5.14,"dist_to_hod_pct":-1.177043,"dist_to_hod_atr":1.098259,"atr":0.055087,"spread_atr":0.18153,"own_change_pct":-0.471513,"rel_strength_pct":{"SPY":-0.547084,"IWM":-0.311278}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.275442},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0d6e01cd4252","ts":"2026-08-28T13:43:45+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.05 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9474,"target":5.18,"target_label":"premarket_high","reward_risk":1.16,"pos_in_5d_range_pct":25.6,"room_to_5d_high_atr":1.52},"price":5.055,"vwap":5.0714,"ext_from_open_pct":-0.1,"max_ext_allowed_pct":3.0,"volume_pace":0.517,"trend":"flat","recent_slope_pct":-0.1458,"volatility":"high"},"price":5.055,"volume":{"bars":13,"last_bar_volume":16013.0,"baseline_avg":42762.666667,"bar_rvol":0.374462,"raw_accel":-0.340513,"smooth_accel":-0.178726,"accel_momentum":-0.189149,"rvol_3bar":[0.196007,0.546342,0.374462],"trend_3bar":"MIXED","projected_rvol":0.661231},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":12034.0,"sell_vol":3639.0,"unclassified_vol":0.0,"imbalance":0.535635,"bid":5.05,"ask":5.06,"spread_pct":0.197824,"quote_size_imbalance":null,"quote_age_s":1.718578},"context":{"vwap":5.071557,"price_vs_vwap_pct":-0.326463,"ema9":5.077824,"ema20":5.070547,"ema_stack":false,"ema_warm":false,"hod":5.14,"dist_to_hod_pct":-1.653696,"dist_to_hod_atr":1.543008,"atr":0.055087,"spread_atr":0.18153,"own_change_pct":-0.471513,"rel_strength_pct":{"SPY":-0.547084,"IWM":-0.311278}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.200575},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ab9146ad117b","ts":"2026-08-28T13:43:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.5% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.463,"target":5.57,"target_label":"prev_day_high","reward_risk":0.42,"pos_in_5d_range_pct":46.9,"room_to_5d_high_atr":1.53},"price":5.5384,"vwap":5.4601,"ext_from_open_pct":3.52,"max_ext_allowed_pct":3.0,"volume_pace":1.71,"trend":"positive","recent_slope_pct":-0.0781,"volatility":"medium"},"price":5.5384,"volume":{"bars":13,"last_bar_volume":68230.0,"baseline_avg":145831.833333,"bar_rvol":0.467868,"raw_accel":-0.1487,"smooth_accel":-0.570307,"accel_momentum":-0.551842,"rvol_3bar":[0.460378,0.527973,0.467868],"trend_3bar":"MIXED","projected_rvol":0.497068},"flow":{"window_s":30,"trades":109,"trade_rate":3.633333,"buy_vol":10674.0,"sell_vol":22631.0,"unclassified_vol":0.0,"imbalance":-0.359015,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.03662},"context":{"vwap":5.457867,"price_vs_vwap_pct":1.475546,"ema9":5.506588,"ema20":5.461536,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.388489,"dist_to_hod_atr":0.417407,"atr":0.051748,"spread_atr":0.193244,"own_change_pct":-0.271493,"rel_strength_pct":{"SPY":-0.347065,"IWM":-0.111258}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.167972},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1b3c7fcea4a0","ts":"2026-08-28T13:43:50+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.1504,"target":7.39,"target_label":"prev_day_high","reward_risk":1.75,"pos_in_5d_range_pct":70.2,"room_to_5d_high_atr":0.47},"price":7.2374,"vwap":7.2357,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":1.06,"trend":"flat","recent_slope_pct":-0.1136,"volatility":"medium"},"price":7.2374,"volume":{"bars":13,"last_bar_volume":38778.0,"baseline_avg":82258.416667,"bar_rvol":0.471417,"raw_accel":-0.116976,"smooth_accel":0.255913,"accel_momentum":0.817846,"rvol_3bar":[0.521674,0.512163,0.471417],"trend_3bar":"DECELERATING","projected_rvol":0.542943},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":7327.0,"sell_vol":14822.0,"unclassified_vol":0.0,"imbalance":-0.33839,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":2.351786},"context":{"vwap":7.235719,"price_vs_vwap_pct":0.023226,"ema9":7.243533,"ema20":7.2468,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.585165,"dist_to_hod_atr":0.762889,"atr":0.05584,"spread_atr":0.179082,"own_change_pct":-0.207326,"rel_strength_pct":{"SPY":-0.282897,"IWM":-0.04709}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.159523},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"8e7f5a8fbb48","ts":"2026-08-28T13:43:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.4597,"ext_from_open_pct":2.8,"max_ext_allowed_pct":3.0,"volume_pace":1.702,"trend":"positive","recent_slope_pct":-0.2171,"volatility":"medium"},"price":5.5,"volume":{"bars":13,"last_bar_volume":68230.0,"baseline_avg":145831.833333,"bar_rvol":0.467868,"raw_accel":-0.1487,"smooth_accel":-0.570307,"accel_momentum":-0.551842,"rvol_3bar":[0.460378,0.527973,0.467868],"trend_3bar":"MIXED","projected_rvol":0.475826},"flow":{"window_s":30,"trades":119,"trade_rate":3.966667,"buy_vol":12109.0,"sell_vol":20018.0,"unclassified_vol":0.0,"imbalance":-0.246179,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.757465},"context":{"vwap":5.457867,"price_vs_vwap_pct":0.771975,"ema9":5.506588,"ema20":5.461536,"ema_stack":false,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-1.079137,"dist_to_hod_atr":1.159464,"atr":0.051748,"spread_atr":0.193244,"own_change_pct":-0.271493,"rel_strength_pct":{"SPY":-0.347065,"IWM":-0.111258}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.115179},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e10c519a0c00","ts":"2026-08-28T13:44:00+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.24 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.2357,"ext_from_open_pct":0.77,"max_ext_allowed_pct":4.0,"volume_pace":1.057,"trend":"flat","recent_slope_pct":-0.1202,"volatility":"medium"},"price":7.235,"volume":{"bars":13,"last_bar_volume":38778.0,"baseline_avg":82258.416667,"bar_rvol":0.471417,"raw_accel":-0.116976,"smooth_accel":0.255913,"accel_momentum":0.817846,"rvol_3bar":[0.521674,0.512163,0.471417],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":67,"trade_rate":2.233333,"buy_vol":8009.0,"sell_vol":20095.0,"unclassified_vol":0.0,"imbalance":-0.430046,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.039676},"context":{"vwap":7.235719,"price_vs_vwap_pct":-0.009943,"ema9":7.243533,"ema20":7.2468,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":0.805869,"atr":0.05584,"spread_atr":0.179082,"own_change_pct":-0.207326,"rel_strength_pct":{"SPY":-0.285038,"IWM":-0.09378}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.202731},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"3d29e91c6e2f","ts":"2026-08-28T13:44:05+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"held 650.0s, plan says PASS; stop 7.93, target 8.53 (premarket_high), R:R 0.81; target 0.27 away > ~0.25 reachable in 371 min","plan":{"state":"PASS","setup":"","stop":7.9256,"target":8.53,"target_label":"premarket_high","reward_risk":0.81,"pos_in_5d_range_pct":46.7,"room_to_5d_high_atr":0.96},"price":8.26,"vwap":8.1945,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":1.284,"trend":"flat","recent_slope_pct":-0.0362,"volatility":"high"},"price":8.26,"volume":{"bars":14,"last_bar_volume":413.0,"baseline_avg":21784.461538,"bar_rvol":0.018958,"raw_accel":-0.924166,"smooth_accel":-0.840332,"accel_momentum":0.058413,"rvol_3bar":[0.004866,0.021224,0.018958],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":8,"trade_rate":0.266667,"buy_vol":0.0,"sell_vol":844.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":8.26,"ask":8.27,"spread_pct":0.120992,"quote_size_imbalance":null,"quote_age_s":31.517327},"context":{"vwap":8.194384,"price_vs_vwap_pct":0.800744,"ema9":8.246492,"ema20":8.201147,"ema_stack":true,"ema_warm":false,"hod":8.29,"dist_to_hod_pct":-0.361882,"dist_to_hod_atr":0.239266,"atr":0.125384,"spread_atr":0.079755,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.077712,"IWM":0.113545}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.018958},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b7cecaf3f2bf","ts":"2026-08-28T13:44:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.4114,"target":5.57,"target_label":"prev_day_high","reward_risk":1.1,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.7},"price":5.4868,"vwap":5.4606,"ext_from_open_pct":2.56,"max_ext_allowed_pct":3.0,"volume_pace":1.73,"trend":"flat","recent_slope_pct":-0.2563,"volatility":"medium"},"price":5.4868,"volume":{"bars":14,"last_bar_volume":64593.0,"baseline_avg":139862.461538,"bar_rvol":0.461832,"raw_accel":-0.053305,"smooth_accel":-0.487574,"accel_momentum":0.082733,"rvol_3bar":[0.527973,0.467868,0.461832],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":218,"trade_rate":7.266667,"buy_vol":35422.0,"sell_vol":42083.0,"unclassified_vol":0.0,"imbalance":-0.085943,"bid":5.48,"ask":5.49,"spread_pct":0.182315,"quote_size_imbalance":null,"quote_age_s":0.464283},"context":{"vwap":5.459808,"price_vs_vwap_pct":0.494369,"ema9":5.50627,"ema20":5.465675,"ema_stack":false,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-1.316547,"dist_to_hod_atr":1.441097,"atr":0.050795,"spread_atr":0.196871,"own_change_pct":-0.810811,"rel_strength_pct":{"SPY":-0.888523,"IWM":-0.697266}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.039691},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"db2478bad9e8","ts":"2026-08-28T13:44:05+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.2647,"target":5.55,"target_label":"premarket_high","reward_risk":1.2,"pos_in_5d_range_pct":9.3,"room_to_5d_high_atr":1.4},"price":5.3943,"vwap":5.3766,"ext_from_open_pct":-0.29,"max_ext_allowed_pct":3.0,"volume_pace":1.846,"trend":"flat","recent_slope_pct":0.208,"volatility":"high"},"price":5.3943,"volume":{"bars":14,"last_bar_volume":43731.0,"baseline_avg":78997.076923,"bar_rvol":0.553577,"raw_accel":0.299236,"smooth_accel":0.417288,"accel_momentum":1.242631,"rvol_3bar":[0.260999,0.406631,0.553577],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":147,"trade_rate":4.9,"buy_vol":17579.0,"sell_vol":13783.0,"unclassified_vol":0.0,"imbalance":0.121038,"bid":5.39,"ask":5.41,"spread_pct":0.37037,"quote_size_imbalance":null,"quote_age_s":6.76757},"context":{"vwap":5.376539,"price_vs_vwap_pct":0.330334,"ema9":5.374558,"ema20":5.376891,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.328487,"dist_to_hod_atr":2.220409,"atr":0.057917,"spread_atr":0.34532,"own_change_pct":0.652377,"rel_strength_pct":{"SPY":0.574664,"IWM":0.765922}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.067004},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"58059875a1b3","ts":"2026-08-28T13:44:15+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.37 below VWAP $5.38","plan":{"state":"PASS","setup":"","stop":5.2419,"target":5.55,"target_label":"premarket_high","reward_risk":1.38,"pos_in_5d_range_pct":6.4,"room_to_5d_high_atr":1.44},"price":5.3715,"vwap":5.3766,"ext_from_open_pct":-0.71,"max_ext_allowed_pct":3.0,"volume_pace":1.826,"trend":"flat","recent_slope_pct":0.1233,"volatility":"high"},"price":5.3715,"volume":{"bars":14,"last_bar_volume":43731.0,"baseline_avg":78997.076923,"bar_rvol":0.553577,"raw_accel":0.299236,"smooth_accel":0.417288,"accel_momentum":1.242631,"rvol_3bar":[0.260999,0.406631,0.553577],"trend_3bar":"ACCELERATING","projected_rvol":0.134081},"flow":{"window_s":30,"trades":151,"trade_rate":5.033333,"buy_vol":17591.0,"sell_vol":13769.0,"unclassified_vol":0.0,"imbalance":0.121875,"bid":5.39,"ask":5.41,"spread_pct":0.37037,"quote_size_imbalance":null,"quote_age_s":3.060096},"context":{"vwap":5.376539,"price_vs_vwap_pct":-0.093731,"ema9":5.374558,"ema20":5.376891,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.741313,"dist_to_hod_atr":2.614074,"atr":0.057917,"spread_atr":0.34532,"own_change_pct":0.652377,"rel_strength_pct":{"SPY":0.574664,"IWM":0.765922}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.067467},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5190aeb27088","ts":"2026-08-28T13:44:20+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.2782,"target":5.55,"target_label":"premarket_high","reward_risk":1.1,"pos_in_5d_range_pct":11.0,"room_to_5d_high_atr":1.37},"price":5.4078,"vwap":5.3766,"ext_from_open_pct":-0.04,"max_ext_allowed_pct":3.0,"volume_pace":1.816,"trend":"flat","recent_slope_pct":0.2581,"volatility":"high"},"price":5.4078,"volume":{"bars":14,"last_bar_volume":43731.0,"baseline_avg":78997.076923,"bar_rvol":0.553577,"raw_accel":0.299236,"smooth_accel":0.417288,"accel_momentum":1.242631,"rvol_3bar":[0.260999,0.406631,0.553577],"trend_3bar":"ACCELERATING","projected_rvol":0.106751},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":2363.0,"sell_vol":2910.0,"unclassified_vol":0.0,"imbalance":-0.103736,"bid":5.39,"ask":5.41,"spread_pct":0.37037,"quote_size_imbalance":null,"quote_age_s":8.060096},"context":{"vwap":5.376539,"price_vs_vwap_pct":0.581425,"ema9":5.374558,"ema20":5.376891,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.08405,"dist_to_hod_atr":1.987318,"atr":0.057917,"spread_atr":0.34532,"own_change_pct":0.652377,"rel_strength_pct":{"SPY":0.574664,"IWM":0.765922}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.057426},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"853704319d87","ts":"2026-08-28T13:44:45+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.158,"target":7.39,"target_label":"prev_day_high","reward_risk":1.67,"pos_in_5d_range_pct":71.6,"room_to_5d_high_atr":0.45},"price":7.245,"vwap":7.2358,"ext_from_open_pct":0.91,"max_ext_allowed_pct":4.0,"volume_pace":1.022,"trend":"flat","recent_slope_pct":-0.0334,"volatility":"medium"},"price":7.245,"volume":{"bars":14,"last_bar_volume":46489.0,"baseline_avg":78913.769231,"bar_rvol":0.589111,"raw_accel":0.19885,"smooth_accel":0.075146,"accel_momentum":-0.180767,"rvol_3bar":[0.512163,0.471417,0.589111],"trend_3bar":"MIXED","projected_rvol":0.3486},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":7361.0,"sell_vol":3986.0,"unclassified_vol":0.0,"imbalance":0.297435,"bid":7.24,"ask":7.25,"spread_pct":0.138026,"quote_size_imbalance":null,"quote_age_s":0.694599},"context":{"vwap":7.235703,"price_vs_vwap_pct":0.128492,"ema9":7.241827,"ema20":7.245676,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.480769,"dist_to_hod_atr":0.647356,"atr":0.054066,"spread_atr":0.184959,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.077712,"IWM":0.113545}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.175223},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f6d04d7295b3","ts":"2026-08-28T13:45:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4347,"target":5.57,"target_label":"prev_day_high","reward_risk":0.79,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.5101,"vwap":5.4616,"ext_from_open_pct":2.99,"max_ext_allowed_pct":4.0,"volume_pace":1.648,"trend":"flat","recent_slope_pct":-0.1084,"volatility":"medium"},"price":5.5101,"volume":{"bars":15,"last_bar_volume":83260.0,"baseline_avg":134486.071429,"bar_rvol":0.619098,"raw_accel":0.288994,"smooth_accel":-0.416378,"accel_momentum":0.071195,"rvol_3bar":[0.467868,0.461832,0.619098],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":95,"trade_rate":3.166667,"buy_vol":11455.0,"sell_vol":3961.0,"unclassified_vol":0.0,"imbalance":0.486118,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.566647},"context":{"vwap":5.461369,"price_vs_vwap_pct":0.89228,"ema9":5.507016,"ema20":5.469897,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.897482,"dist_to_hod_atr":0.997529,"atr":0.050024,"spread_atr":0.199906,"own_change_pct":-0.631199,"rel_strength_pct":{"SPY":-0.675227,"IWM":-0.500978}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.300955},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"07af579c1831","ts":"2026-08-28T13:45:10+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"held 715.0s, plan says WATCH; stop 7.93, target 8.53 (premarket_high), R:R 0.78; R:R 0.78 < 2.0 at 8.27; breakout: 1-min close > 8.30 on >= 28535 sh","plan":{"state":"WATCH","setup":"","stop":7.9335,"target":8.53,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":47.0,"room_to_5d_high_atr":0.96},"price":8.2679,"vwap":8.1948,"ext_from_open_pct":0.28,"max_ext_allowed_pct":3.0,"volume_pace":1.198,"trend":"flat","recent_slope_pct":-0.0048,"volatility":"high"},"price":8.2679,"volume":{"bars":15,"last_bar_volume":1735.0,"baseline_avg":20257.928571,"bar_rvol":0.085645,"raw_accel":-0.657418,"smooth_accel":-0.527227,"accel_momentum":0.313105,"rvol_3bar":[0.021224,0.018958,0.085645],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":7,"trade_rate":0.233333,"buy_vol":17.0,"sell_vol":276.0,"unclassified_vol":0.0,"imbalance":-0.883959,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":18.376147},"context":{"vwap":8.194797,"price_vs_vwap_pct":0.892069,"ema9":8.249194,"ema20":8.206752,"ema_stack":true,"ema_warm":false,"hod":8.29,"dist_to_hod_pct":-0.266586,"dist_to_hod_atr":0.189029,"atr":0.116913,"spread_atr":0.171067,"own_change_pct":0.121212,"rel_strength_pct":{"SPY":0.077184,"IWM":0.251433}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.075707},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"aead040b2b03","ts":"2026-08-28T13:45:10+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":10.3913,"target":10.66,"target_label":"prev_day_high","reward_risk":1.26,"pos_in_5d_range_pct":83.2,"room_to_5d_high_atr":0.32},"price":10.51,"vwap":10.4954,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":3.0,"volume_pace":1.139,"trend":"flat","recent_slope_pct":-0.1241,"volatility":"medium"},"price":10.51,"volume":{"bars":15,"last_bar_volume":71038.0,"baseline_avg":216627.571429,"bar_rvol":0.327927,"raw_accel":-0.100876,"smooth_accel":-0.059008,"accel_momentum":0.392893,"rvol_3bar":[0.380643,0.347726,0.327927],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":128,"trade_rate":4.266667,"buy_vol":17041.0,"sell_vol":12552.0,"unclassified_vol":0.0,"imbalance":0.151691,"bid":10.51,"ask":10.52,"spread_pct":0.095102,"quote_size_imbalance":null,"quote_age_s":0.361602},"context":{"vwap":10.495255,"price_vs_vwap_pct":0.140494,"ema9":10.52185,"ema20":10.507376,"ema_stack":false,"ema_warm":false,"hod":10.567,"dist_to_hod_pct":-0.539415,"dist_to_hod_atr":0.979388,"atr":0.0582,"spread_atr":0.171823,"own_change_pct":-0.033286,"rel_strength_pct":{"SPY":-0.077314,"IWM":0.096936}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.049744},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"e21f74096e37","ts":"2026-08-28T13:45:15+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4396,"target":5.57,"target_label":"prev_day_high","reward_risk":0.73,"pos_in_5d_range_pct":44.3,"room_to_5d_high_atr":1.61},"price":5.515,"vwap":5.4619,"ext_from_open_pct":3.08,"max_ext_allowed_pct":3.0,"volume_pace":1.639,"trend":"flat","recent_slope_pct":-0.0906,"volatility":"medium"},"price":5.515,"volume":{"bars":15,"last_bar_volume":83260.0,"baseline_avg":134486.071429,"bar_rvol":0.619098,"raw_accel":0.288994,"smooth_accel":-0.416378,"accel_momentum":0.071195,"rvol_3bar":[0.467868,0.461832,0.619098],"trend_3bar":"MIXED","projected_rvol":0.553544},"flow":{"window_s":30,"trades":92,"trade_rate":3.066667,"buy_vol":13162.0,"sell_vol":7924.0,"unclassified_vol":0.0,"imbalance":0.248411,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.44841},"context":{"vwap":5.461369,"price_vs_vwap_pct":0.982001,"ema9":5.507016,"ema20":5.469897,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.809353,"dist_to_hod_atr":0.899576,"atr":0.050024,"spread_atr":0.199906,"own_change_pct":-0.631199,"rel_strength_pct":{"SPY":-0.675227,"IWM":-0.500978}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.153791},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"03e28a34f308","ts":"2026-08-28T13:45:15+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.35 below VWAP $5.38","plan":{"state":"PASS","setup":"","stop":5.2232,"target":5.55,"target_label":"premarket_high","reward_risk":1.52,"pos_in_5d_range_pct":4.1,"room_to_5d_high_atr":1.48},"price":5.3528,"vwap":5.3767,"ext_from_open_pct":-1.06,"max_ext_allowed_pct":4.0,"volume_pace":1.727,"trend":"flat","recent_slope_pct":0.0329,"volatility":"high"},"price":5.3528,"volume":{"bars":15,"last_bar_volume":12804.0,"baseline_avg":76478.071429,"bar_rvol":0.167421,"raw_accel":-0.70721,"smooth_accel":0.65248,"accel_momentum":0.235192,"rvol_3bar":[0.406631,0.553577,0.167421],"trend_3bar":"MIXED","projected_rvol":0.127775},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":5519.0,"sell_vol":3125.0,"unclassified_vol":0.0,"imbalance":0.276955,"bid":5.39,"ask":5.4,"spread_pct":0.185357,"quote_size_imbalance":null,"quote_age_s":2.294637},"context":{"vwap":5.376743,"price_vs_vwap_pct":-0.445315,"ema9":5.379627,"ema20":5.379083,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-3.079904,"dist_to_hod_atr":3.009005,"atr":0.05653,"spread_atr":0.176896,"own_change_pct":0.650513,"rel_strength_pct":{"SPY":0.606485,"IWM":0.780734}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.046368},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"cdcccd244de0","ts":"2026-08-28T13:45:15+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.24 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.2359,"ext_from_open_pct":0.77,"max_ext_allowed_pct":3.0,"volume_pace":0.999,"trend":"flat","recent_slope_pct":-0.0207,"volatility":"medium"},"price":7.235,"volume":{"bars":15,"last_bar_volume":27867.0,"baseline_avg":76597.714286,"bar_rvol":0.36381,"raw_accel":-0.400568,"smooth_accel":-0.232209,"accel_momentum":-0.307355,"rvol_3bar":[0.471417,0.589111,0.36381],"trend_3bar":"MIXED","projected_rvol":0.228571},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":4322.0,"sell_vol":7290.0,"unclassified_vol":0.0,"imbalance":-0.255598,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.176714},"context":{"vwap":7.235883,"price_vs_vwap_pct":-0.012207,"ema9":7.242461,"ema20":7.245612,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":0.87578,"atr":0.051383,"spread_atr":0.194618,"own_change_pct":-0.275292,"rel_strength_pct":{"SPY":-0.31932,"IWM":-0.145071}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.092989},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"17e61e990421","ts":"2026-08-28T13:45:20+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4296,"target":5.57,"target_label":"prev_day_high","reward_risk":0.86,"pos_in_5d_range_pct":43.1,"room_to_5d_high_atr":1.64},"price":5.505,"vwap":5.462,"ext_from_open_pct":2.9,"max_ext_allowed_pct":3.0,"volume_pace":1.637,"trend":"flat","recent_slope_pct":-0.1269,"volatility":"medium"},"price":5.505,"volume":{"bars":15,"last_bar_volume":83260.0,"baseline_avg":134486.071429,"bar_rvol":0.619098,"raw_accel":0.288994,"smooth_accel":-0.416378,"accel_momentum":0.071195,"rvol_3bar":[0.467868,0.461832,0.619098],"trend_3bar":"MIXED","projected_rvol":0.614763},"flow":{"window_s":30,"trades":133,"trade_rate":4.433333,"buy_vol":14132.0,"sell_vol":14890.0,"unclassified_vol":0.0,"imbalance":-0.026118,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.379418},"context":{"vwap":5.461369,"price_vs_vwap_pct":0.798897,"ema9":5.507016,"ema20":5.469897,"ema_stack":false,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.989209,"dist_to_hod_atr":1.099481,"atr":0.050024,"spread_atr":0.199906,"own_change_pct":-0.631199,"rel_strength_pct":{"SPY":-0.675227,"IWM":-0.500978}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.01617},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b92e3eabd15f","ts":"2026-08-28T13:45:20+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.153,"target":7.39,"target_label":"prev_day_high","reward_risk":1.72,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.24,"vwap":7.2359,"ext_from_open_pct":0.84,"max_ext_allowed_pct":3.0,"volume_pace":1.002,"trend":"flat","recent_slope_pct":-0.0069,"volatility":"medium"},"price":7.24,"volume":{"bars":15,"last_bar_volume":27867.0,"baseline_avg":76597.714286,"bar_rvol":0.36381,"raw_accel":-0.400568,"smooth_accel":-0.232209,"accel_momentum":-0.307355,"rvol_3bar":[0.471417,0.589111,0.36381],"trend_3bar":"MIXED","projected_rvol":0.555957},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":5338.0,"sell_vol":15953.0,"unclassified_vol":0.0,"imbalance":-0.498567,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.734713},"context":{"vwap":7.235883,"price_vs_vwap_pct":0.056893,"ema9":7.242461,"ema20":7.245612,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.549451,"dist_to_hod_atr":0.778471,"atr":0.051383,"spread_atr":0.194618,"own_change_pct":-0.275292,"rel_strength_pct":{"SPY":-0.31932,"IWM":-0.145071}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.181384},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4770bf36c743","ts":"2026-08-28T13:45:25+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.9811,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.615,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.98,"volume":{"bars":15,"last_bar_volume":59789.0,"baseline_avg":83494.214286,"bar_rvol":0.716086,"raw_accel":1.864342,"smooth_accel":0.596655,"accel_momentum":-0.478807,"rvol_3bar":[1.858945,0.186531,0.716086],"trend_3bar":"MIXED","projected_rvol":1.801878},"flow":{"window_s":30,"trades":154,"trade_rate":5.133333,"buy_vol":42822.0,"sell_vol":21173.0,"unclassified_vol":0.0,"imbalance":0.338292,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.59006},"context":{"vwap":10.980845,"price_vs_vwap_pct":-0.007697,"ema9":10.987292,"ema20":10.984222,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":0.871396,"atr":0.022952,"spread_atr":0.435698,"own_change_pct":0.091075,"rel_strength_pct":{"SPY":0.047047,"IWM":0.221296}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.242246},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"17759b7e893e","ts":"2026-08-28T13:45:25+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.2654,"target":5.55,"target_label":"premarket_high","reward_risk":1.2,"pos_in_5d_range_pct":9.4,"room_to_5d_high_atr":1.4},"price":5.395,"vwap":5.3768,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":4.0,"volume_pace":1.711,"trend":"flat","recent_slope_pct":0.1896,"volatility":"high"},"price":5.395,"volume":{"bars":15,"last_bar_volume":12804.0,"baseline_avg":76478.071429,"bar_rvol":0.167421,"raw_accel":-0.70721,"smooth_accel":0.65248,"accel_momentum":0.235192,"rvol_3bar":[0.406631,0.553577,0.167421],"trend_3bar":"MIXED","projected_rvol":0.136165},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":2112.0,"sell_vol":2323.0,"unclassified_vol":0.0,"imbalance":-0.047576,"bid":5.39,"ask":5.4,"spread_pct":0.185357,"quote_size_imbalance":null,"quote_age_s":5.831483},"context":{"vwap":5.376743,"price_vs_vwap_pct":0.339547,"ema9":5.379627,"ema20":5.379083,"ema_stack":true,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.315812,"dist_to_hod_atr":2.262503,"atr":0.05653,"spread_atr":0.176896,"own_change_pct":0.650513,"rel_strength_pct":{"SPY":0.606485,"IWM":0.780734}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.007965},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6b4bca4c502b","ts":"2026-08-28T13:45:25+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":10.3813,"target":10.567,"target_label":"ceiling","reward_risk":0.56,"pos_in_5d_range_pct":82.1,"room_to_5d_high_atr":0.34},"price":10.5,"vwap":10.4954,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":3.0,"volume_pace":1.124,"trend":"flat","recent_slope_pct":-0.1431,"volatility":"medium"},"price":10.5,"volume":{"bars":15,"last_bar_volume":71038.0,"baseline_avg":216627.571429,"bar_rvol":0.327927,"raw_accel":-0.100876,"smooth_accel":-0.059008,"accel_momentum":0.392893,"rvol_3bar":[0.380643,0.347726,0.327927],"trend_3bar":"DECELERATING","projected_rvol":0.325155},"flow":{"window_s":30,"trades":165,"trade_rate":5.5,"buy_vol":14000.0,"sell_vol":19490.0,"unclassified_vol":0.0,"imbalance":-0.16393,"bid":10.5,"ask":10.51,"spread_pct":0.095193,"quote_size_imbalance":null,"quote_age_s":0.014405},"context":{"vwap":10.495255,"price_vs_vwap_pct":0.045213,"ema9":10.52185,"ema20":10.507376,"ema_stack":false,"ema_warm":false,"hod":10.567,"dist_to_hod_pct":-0.634049,"dist_to_hod_atr":1.151211,"atr":0.0582,"spread_atr":0.171823,"own_change_pct":-0.033286,"rel_strength_pct":{"SPY":-0.077314,"IWM":0.096936}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.053757},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"272d45e2a7d6","ts":"2026-08-28T13:45:35+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"held 740.0s, plan says PASS; stop 7.93, target 8.53 (premarket_high), R:R 0.81; target 0.27 away > ~0.24 reachable in 369 min","plan":{"state":"PASS","setup":"","stop":7.9256,"target":8.53,"target_label":"premarket_high","reward_risk":0.81,"pos_in_5d_range_pct":46.7,"room_to_5d_high_atr":0.96},"price":8.26,"vwap":8.195,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":1.169,"trend":"flat","recent_slope_pct":-0.024,"volatility":"high"},"price":8.26,"volume":{"bars":15,"last_bar_volume":1735.0,"baseline_avg":20257.928571,"bar_rvol":0.085645,"raw_accel":-0.657418,"smooth_accel":-0.527227,"accel_momentum":0.313105,"rvol_3bar":[0.021224,0.018958,0.085645],"trend_3bar":"MIXED","projected_rvol":0.074807},"flow":{"window_s":30,"trades":13,"trade_rate":0.433333,"buy_vol":116.0,"sell_vol":768.0,"unclassified_vol":0.0,"imbalance":-0.737557,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":0.900591},"context":{"vwap":8.194797,"price_vs_vwap_pct":0.795667,"ema9":8.249194,"ema20":8.206752,"ema_stack":true,"ema_warm":false,"hod":8.29,"dist_to_hod_pct":-0.361882,"dist_to_hod_atr":0.2566,"atr":0.116913,"spread_atr":0.171067,"own_change_pct":0.121212,"rel_strength_pct":{"SPY":0.077184,"IWM":0.251433}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.063168},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a0a2494241f3","ts":"2026-08-28T13:45:35+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.24 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.2359,"ext_from_open_pct":0.77,"max_ext_allowed_pct":4.0,"volume_pace":0.992,"trend":"flat","recent_slope_pct":-0.0207,"volatility":"medium"},"price":7.235,"volume":{"bars":15,"last_bar_volume":27867.0,"baseline_avg":76597.714286,"bar_rvol":0.36381,"raw_accel":-0.400568,"smooth_accel":-0.232209,"accel_momentum":-0.307355,"rvol_3bar":[0.471417,0.589111,0.36381],"trend_3bar":"MIXED","projected_rvol":0.454769},"flow":{"window_s":30,"trades":71,"trade_rate":2.366667,"buy_vol":7801.0,"sell_vol":11837.0,"unclassified_vol":0.0,"imbalance":-0.20552,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.147634},"context":{"vwap":7.235883,"price_vs_vwap_pct":-0.012207,"ema9":7.242461,"ema20":7.245612,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":0.87578,"atr":0.051383,"spread_atr":0.194618,"own_change_pct":-0.275292,"rel_strength_pct":{"SPY":-0.31932,"IWM":-0.145071}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.07477},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3e0fdd65e4a6","ts":"2026-08-28T13:45:40+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.9814,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.621,"trend":"flat","recent_slope_pct":0.0091,"volatility":"low"},"price":10.99,"volume":{"bars":15,"last_bar_volume":59789.0,"baseline_avg":83494.214286,"bar_rvol":0.716086,"raw_accel":1.864342,"smooth_accel":0.596655,"accel_momentum":-0.478807,"rvol_3bar":[1.858945,0.186531,0.716086],"trend_3bar":"MIXED","projected_rvol":1.56106},"flow":{"window_s":30,"trades":201,"trade_rate":6.7,"buy_vol":29283.0,"sell_vol":31468.0,"unclassified_vol":0.0,"imbalance":-0.035966,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.371988},"context":{"vwap":10.980845,"price_vs_vwap_pct":0.083371,"ema9":10.987292,"ema20":10.984222,"ema_stack":true,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.435698,"atr":0.022952,"spread_atr":0.435698,"own_change_pct":0.091075,"rel_strength_pct":{"SPY":0.047047,"IWM":0.221296}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.025755},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f2dfea0ccdc0","ts":"2026-08-28T13:45:40+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.37 below VWAP $5.38","plan":{"state":"PASS","setup":"","stop":5.2354,"target":5.55,"target_label":"premarket_high","reward_risk":1.43,"pos_in_5d_range_pct":5.6,"room_to_5d_high_atr":1.46},"price":5.365,"vwap":5.3767,"ext_from_open_pct":-0.83,"max_ext_allowed_pct":3.0,"volume_pace":1.709,"trend":"flat","recent_slope_pct":0.0783,"volatility":"high"},"price":5.365,"volume":{"bars":15,"last_bar_volume":12804.0,"baseline_avg":76478.071429,"bar_rvol":0.167421,"raw_accel":-0.70721,"smooth_accel":0.65248,"accel_momentum":0.235192,"rvol_3bar":[0.406631,0.553577,0.167421],"trend_3bar":"MIXED","projected_rvol":0.400997},"flow":{"window_s":30,"trades":116,"trade_rate":3.866667,"buy_vol":5956.0,"sell_vol":13600.0,"unclassified_vol":0.0,"imbalance":-0.390877,"bid":5.36,"ask":5.37,"spread_pct":0.186393,"quote_size_imbalance":null,"quote_age_s":0.955572},"context":{"vwap":5.376743,"price_vs_vwap_pct":-0.218412,"ema9":5.379627,"ema20":5.379083,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.859005,"dist_to_hod_atr":2.793192,"atr":0.05653,"spread_atr":0.176896,"own_change_pct":0.650513,"rel_strength_pct":{"SPY":0.606485,"IWM":0.780734}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.065441},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"cd037304eb97","ts":"2026-08-28T13:45:40+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":10.3903,"target":10.66,"target_label":"prev_day_high","reward_risk":1.27,"pos_in_5d_range_pct":83.1,"room_to_5d_high_atr":0.32},"price":10.509,"vwap":10.4955,"ext_from_open_pct":-0.19,"max_ext_allowed_pct":3.0,"volume_pace":1.114,"trend":"flat","recent_slope_pct":-0.126,"volatility":"medium"},"price":10.509,"volume":{"bars":15,"last_bar_volume":71038.0,"baseline_avg":216627.571429,"bar_rvol":0.327927,"raw_accel":-0.100876,"smooth_accel":-0.059008,"accel_momentum":0.392893,"rvol_3bar":[0.380643,0.347726,0.327927],"trend_3bar":"DECELERATING","projected_rvol":0.341355},"flow":{"window_s":30,"trades":140,"trade_rate":4.666667,"buy_vol":12128.0,"sell_vol":17937.0,"unclassified_vol":0.0,"imbalance":-0.193215,"bid":10.5,"ask":10.51,"spread_pct":0.095193,"quote_size_imbalance":null,"quote_age_s":0.038792},"context":{"vwap":10.495255,"price_vs_vwap_pct":0.130966,"ema9":10.52185,"ema20":10.507376,"ema_stack":false,"ema_warm":false,"hod":10.567,"dist_to_hod_pct":-0.548879,"dist_to_hod_atr":0.996571,"atr":0.0582,"spread_atr":0.171823,"own_change_pct":-0.033286,"rel_strength_pct":{"SPY":-0.077314,"IWM":0.096936}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.06336},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"e2c27166d04c","ts":"2026-08-28T13:45:40+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.1529,"target":7.39,"target_label":"prev_day_high","reward_risk":1.73,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.2399,"vwap":7.236,"ext_from_open_pct":0.83,"max_ext_allowed_pct":4.0,"volume_pace":0.987,"trend":"flat","recent_slope_pct":-0.0072,"volatility":"medium"},"price":7.2399,"volume":{"bars":15,"last_bar_volume":27867.0,"baseline_avg":76597.714286,"bar_rvol":0.36381,"raw_accel":-0.400568,"smooth_accel":-0.232209,"accel_momentum":-0.307355,"rvol_3bar":[0.471417,0.589111,0.36381],"trend_3bar":"MIXED","projected_rvol":0.41073},"flow":{"window_s":30,"trades":71,"trade_rate":2.366667,"buy_vol":7409.0,"sell_vol":11426.0,"unclassified_vol":0.0,"imbalance":-0.213273,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.971585},"context":{"vwap":7.235883,"price_vs_vwap_pct":0.055511,"ema9":7.242461,"ema20":7.245612,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.550824,"dist_to_hod_atr":0.780417,"atr":0.051383,"spread_atr":0.194618,"own_change_pct":-0.275292,"rel_strength_pct":{"SPY":-0.31932,"IWM":-0.145071}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.077591},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a3d434c30338","ts":"2026-08-28T13:45:50+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.9812,"ext_from_open_pct":0.09,"max_ext_allowed_pct":4.0,"volume_pace":2.595,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.98,"volume":{"bars":15,"last_bar_volume":59789.0,"baseline_avg":83494.214286,"bar_rvol":0.716086,"raw_accel":1.864342,"smooth_accel":0.596655,"accel_momentum":-0.478807,"rvol_3bar":[1.858945,0.186531,0.716086],"trend_3bar":"MIXED","projected_rvol":1.258736},"flow":{"window_s":30,"trades":124,"trade_rate":4.133333,"buy_vol":14260.0,"sell_vol":16388.0,"unclassified_vol":0.0,"imbalance":-0.069434,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.253287},"context":{"vwap":10.980845,"price_vs_vwap_pct":-0.007697,"ema9":10.987292,"ema20":10.984222,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":0.871396,"atr":0.022952,"spread_atr":0.435698,"own_change_pct":0.091075,"rel_strength_pct":{"SPY":0.047047,"IWM":0.221296}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.04972},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"686e8063ceb6","ts":"2026-08-28T13:45:50+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.2604,"target":5.55,"target_label":"premarket_high","reward_risk":1.23,"pos_in_5d_range_pct":8.7,"room_to_5d_high_atr":1.41},"price":5.39,"vwap":5.3768,"ext_from_open_pct":-0.37,"max_ext_allowed_pct":3.0,"volume_pace":1.699,"trend":"flat","recent_slope_pct":0.1711,"volatility":"high"},"price":5.39,"volume":{"bars":15,"last_bar_volume":12804.0,"baseline_avg":76478.071429,"bar_rvol":0.167421,"raw_accel":-0.70721,"smooth_accel":0.65248,"accel_momentum":0.235192,"rvol_3bar":[0.406631,0.553577,0.167421],"trend_3bar":"MIXED","projected_rvol":0.408462},"flow":{"window_s":30,"trades":143,"trade_rate":4.766667,"buy_vol":9988.0,"sell_vol":13494.0,"unclassified_vol":0.0,"imbalance":-0.149306,"bid":5.38,"ask":5.4,"spread_pct":0.371058,"quote_size_imbalance":null,"quote_age_s":0.09632},"context":{"vwap":5.376743,"price_vs_vwap_pct":0.246554,"ema9":5.379627,"ema20":5.379083,"ema_stack":true,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.406344,"dist_to_hod_atr":2.350951,"atr":0.05653,"spread_atr":0.353793,"own_change_pct":0.650513,"rel_strength_pct":{"SPY":0.606485,"IWM":0.780734}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.024997},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2d029625b2a0","ts":"2026-08-28T13:45:50+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":10.3863,"target":10.567,"target_label":"ceiling","reward_risk":0.52,"pos_in_5d_range_pct":82.7,"room_to_5d_high_atr":0.33},"price":10.505,"vwap":10.4956,"ext_from_open_pct":-0.23,"max_ext_allowed_pct":4.0,"volume_pace":1.107,"trend":"flat","recent_slope_pct":-0.1336,"volatility":"medium"},"price":10.505,"volume":{"bars":15,"last_bar_volume":71038.0,"baseline_avg":216627.571429,"bar_rvol":0.327927,"raw_accel":-0.100876,"smooth_accel":-0.059008,"accel_momentum":0.392893,"rvol_3bar":[0.380643,0.347726,0.327927],"trend_3bar":"DECELERATING","projected_rvol":0.35806},"flow":{"window_s":30,"trades":160,"trade_rate":5.333333,"buy_vol":24928.0,"sell_vol":18672.0,"unclassified_vol":0.0,"imbalance":0.143486,"bid":10.5,"ask":10.51,"spread_pct":0.095193,"quote_size_imbalance":null,"quote_age_s":0.722867},"context":{"vwap":10.495255,"price_vs_vwap_pct":0.092853,"ema9":10.52185,"ema20":10.507376,"ema_stack":false,"ema_warm":false,"hod":10.567,"dist_to_hod_pct":-0.586732,"dist_to_hod_atr":1.0653,"atr":0.0582,"spread_atr":0.171823,"own_change_pct":-0.033286,"rel_strength_pct":{"SPY":-0.077314,"IWM":0.096936}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.047053},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"89696995923c","ts":"2026-08-28T13:45:55+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9545,"target":11.13,"target_label":"range_20d_high","reward_risk":3.64,"pos_in_5d_range_pct":84.3,"room_to_5d_high_atr":0.25},"price":10.9923,"vwap":10.9816,"ext_from_open_pct":0.2,"max_ext_allowed_pct":3.0,"volume_pace":2.621,"trend":"flat","recent_slope_pct":0.0133,"volatility":"low"},"price":10.9923,"volume":{"bars":15,"last_bar_volume":59789.0,"baseline_avg":83494.214286,"bar_rvol":0.716086,"raw_accel":1.864342,"smooth_accel":0.596655,"accel_momentum":-0.478807,"rvol_3bar":[1.858945,0.186531,0.716086],"trend_3bar":"MIXED","projected_rvol":1.406808},"flow":{"window_s":30,"trades":148,"trade_rate":4.933333,"buy_vol":24755.0,"sell_vol":20231.0,"unclassified_vol":0.0,"imbalance":0.100565,"bid":10.99,"ask":11.0,"spread_pct":0.09095,"quote_size_imbalance":null,"quote_age_s":1.616085},"context":{"vwap":10.980845,"price_vs_vwap_pct":0.104316,"ema9":10.987292,"ema20":10.984222,"ema_stack":true,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.07,"dist_to_hod_atr":0.335487,"atr":0.022952,"spread_atr":0.435698,"own_change_pct":0.091075,"rel_strength_pct":{"SPY":0.047047,"IWM":0.221296}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.072013},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d1ef14dffe63","ts":"2026-08-28T13:45:55+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":10.3913,"target":10.66,"target_label":"prev_day_high","reward_risk":1.26,"pos_in_5d_range_pct":83.2,"room_to_5d_high_atr":0.32},"price":10.51,"vwap":10.4956,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":4.0,"volume_pace":1.103,"trend":"flat","recent_slope_pct":-0.1241,"volatility":"medium"},"price":10.51,"volume":{"bars":15,"last_bar_volume":71038.0,"baseline_avg":216627.571429,"bar_rvol":0.327927,"raw_accel":-0.100876,"smooth_accel":-0.059008,"accel_momentum":0.392893,"rvol_3bar":[0.380643,0.347726,0.327927],"trend_3bar":"DECELERATING","projected_rvol":0.345637},"flow":{"window_s":30,"trades":142,"trade_rate":4.733333,"buy_vol":27513.0,"sell_vol":11773.0,"unclassified_vol":0.0,"imbalance":0.400652,"bid":10.51,"ask":10.52,"spread_pct":0.095102,"quote_size_imbalance":null,"quote_age_s":2.226682},"context":{"vwap":10.495255,"price_vs_vwap_pct":0.140494,"ema9":10.52185,"ema20":10.507376,"ema_stack":false,"ema_warm":false,"hod":10.567,"dist_to_hod_pct":-0.539415,"dist_to_hod_atr":0.979388,"atr":0.0582,"spread_atr":0.171823,"own_change_pct":-0.033286,"rel_strength_pct":{"SPY":-0.077314,"IWM":0.096936}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.131384},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"5339b604e953","ts":"2026-08-28T13:46:00+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":10.3896,"target":10.567,"target_label":"ceiling","reward_risk":0.49,"pos_in_5d_range_pct":83.1,"room_to_5d_high_atr":0.32},"price":10.5083,"vwap":10.4958,"ext_from_open_pct":-0.2,"max_ext_allowed_pct":4.0,"volume_pace":1.105,"trend":"flat","recent_slope_pct":-0.1273,"volatility":"medium"},"price":10.5083,"volume":{"bars":15,"last_bar_volume":71038.0,"baseline_avg":216627.571429,"bar_rvol":0.327927,"raw_accel":-0.100876,"smooth_accel":-0.059008,"accel_momentum":0.392893,"rvol_3bar":[0.380643,0.347726,0.327927],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":149,"trade_rate":4.966667,"buy_vol":47612.0,"sell_vol":5520.0,"unclassified_vol":0.0,"imbalance":0.792216,"bid":10.5,"ask":10.51,"spread_pct":0.095193,"quote_size_imbalance":null,"quote_age_s":0.006331},"context":{"vwap":10.495255,"price_vs_vwap_pct":0.124296,"ema9":10.52185,"ema20":10.507376,"ema_stack":false,"ema_warm":false,"hod":10.567,"dist_to_hod_pct":-0.555503,"dist_to_hod_atr":1.008598,"atr":0.0582,"spread_atr":0.171823,"own_change_pct":-0.033286,"rel_strength_pct":{"SPY":0.005541,"IWM":0.003464}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.259789},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"e4d8963e2ba3","ts":"2026-08-28T13:46:00+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.23 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.1456,"target":7.25,"target_label":"premarket_high","reward_risk":0.2,"pos_in_5d_range_pct":69.3,"room_to_5d_high_atr":0.48},"price":7.2326,"vwap":7.2359,"ext_from_open_pct":0.73,"max_ext_allowed_pct":4.0,"volume_pace":0.969,"trend":"flat","recent_slope_pct":-0.0274,"volatility":"medium"},"price":7.2326,"volume":{"bars":15,"last_bar_volume":27867.0,"baseline_avg":76597.714286,"bar_rvol":0.36381,"raw_accel":-0.400568,"smooth_accel":-0.232209,"accel_momentum":-0.307355,"rvol_3bar":[0.471417,0.589111,0.36381],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":1924.0,"sell_vol":2066.0,"unclassified_vol":0.0,"imbalance":-0.035589,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.706431},"context":{"vwap":7.235883,"price_vs_vwap_pct":-0.045375,"ema9":7.242461,"ema20":7.245612,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.651099,"dist_to_hod_atr":0.922488,"atr":0.051383,"spread_atr":0.194618,"own_change_pct":-0.275292,"rel_strength_pct":{"SPY":-0.236466,"IWM":-0.238543}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.012948},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6ba81ea7a48c","ts":"2026-08-28T13:46:05+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.0526,"target":5.625,"target_label":"range_20d_high","reward_risk":5.95,"pos_in_5d_range_pct":50.0,"room_to_5d_high_atr":1.02},"price":5.135,"vwap":5.1247,"ext_from_open_pct":2.09,"max_ext_allowed_pct":3.0,"volume_pace":2.233,"trend":"flat","recent_slope_pct":0.0781,"volatility":"high"},"price":5.135,"volume":{"bars":16,"last_bar_volume":2333.0,"baseline_avg":5671.066667,"bar_rvol":0.411386,"raw_accel":0.645546,"smooth_accel":-0.685549,"accel_momentum":0.134368,"rvol_3bar":[0.300687,0.08111,0.411386],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":300.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":5.13,"ask":5.14,"spread_pct":0.194742,"quote_size_imbalance":null,"quote_age_s":2.892221},"context":{"vwap":5.124655,"price_vs_vwap_pct":0.201858,"ema9":5.125025,"ema20":5.123661,"ema_stack":true,"ema_warm":false,"hod":5.1793,"dist_to_hod_pct":-0.855328,"dist_to_hod_atr":1.037509,"atr":0.042698,"spread_atr":0.234201,"own_change_pct":0.391389,"rel_strength_pct":{"SPY":0.430216,"IWM":0.428139}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.411386},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d12dfcd361a3","ts":"2026-08-28T13:46:05+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.38 below VWAP $5.38","plan":{"state":"PASS","setup":"","stop":5.2466,"target":5.55,"target_label":"premarket_high","reward_risk":1.34,"pos_in_5d_range_pct":7.0,"room_to_5d_high_atr":1.43},"price":5.3762,"vwap":5.3768,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":4.0,"volume_pace":1.676,"trend":"flat","recent_slope_pct":0.0137,"volatility":"high"},"price":5.3762,"volume":{"bars":16,"last_bar_volume":26686.0,"baseline_avg":72233.133333,"bar_rvol":0.369443,"raw_accel":0.477771,"smooth_accel":0.196718,"accel_momentum":-0.455761,"rvol_3bar":[0.553577,0.167421,0.369443],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":154,"trade_rate":5.133333,"buy_vol":10705.0,"sell_vol":13051.0,"unclassified_vol":0.0,"imbalance":-0.098754,"bid":5.37,"ask":5.38,"spread_pct":0.186047,"quote_size_imbalance":null,"quote_age_s":0.048622},"context":{"vwap":5.376804,"price_vs_vwap_pct":-0.011235,"ema9":5.380701,"ema20":5.379646,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.656213,"dist_to_hod_atr":2.626027,"atr":0.055864,"spread_atr":0.179007,"own_change_pct":0.509547,"rel_strength_pct":{"SPY":0.548374,"IWM":0.546297}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.036484},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3864954d55c0","ts":"2026-08-28T13:46:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.153,"target":7.39,"target_label":"prev_day_high","reward_risk":1.72,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.24,"vwap":7.2359,"ext_from_open_pct":0.84,"max_ext_allowed_pct":4.0,"volume_pace":0.968,"trend":"flat","recent_slope_pct":0.052,"volatility":"medium"},"price":7.24,"volume":{"bars":16,"last_bar_volume":24206.0,"baseline_avg":73349.0,"bar_rvol":0.330011,"raw_accel":-0.131374,"smooth_accel":-0.238651,"accel_momentum":-0.006442,"rvol_3bar":[0.589111,0.36381,0.330011],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":3986.0,"sell_vol":4073.0,"unclassified_vol":0.0,"imbalance":-0.010795,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.916912},"context":{"vwap":7.235919,"price_vs_vwap_pct":0.056402,"ema9":7.240489,"ema20":7.244373,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.549451,"dist_to_hod_atr":0.813982,"atr":0.049141,"spread_atr":0.203495,"own_change_pct":-0.20008,"rel_strength_pct":{"SPY":-0.161253,"IWM":-0.16333}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.003563},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"44c637c0090d","ts":"2026-08-28T13:46:10+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":10.3912,"target":10.66,"target_label":"prev_day_high","reward_risk":1.27,"pos_in_5d_range_pct":83.2,"room_to_5d_high_atr":0.32},"price":10.5099,"vwap":10.4958,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":4.0,"volume_pace":1.096,"trend":"flat","recent_slope_pct":-0.1334,"volatility":"medium"},"price":10.5099,"volume":{"bars":16,"last_bar_volume":90922.0,"baseline_avg":206921.6,"bar_rvol":0.439403,"raw_accel":0.279907,"smooth_accel":-0.125844,"accel_momentum":-0.066836,"rvol_3bar":[0.347726,0.327927,0.439403],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":137,"trade_rate":4.566667,"buy_vol":44437.0,"sell_vol":3478.0,"unclassified_vol":0.0,"imbalance":0.854826,"bid":10.5,"ask":10.51,"spread_pct":0.095193,"quote_size_imbalance":null,"quote_age_s":0.082332},"context":{"vwap":10.495756,"price_vs_vwap_pct":0.134759,"ema9":10.51914,"ema20":10.507464,"ema_stack":false,"ema_warm":false,"hod":10.567,"dist_to_hod_pct":-0.540362,"dist_to_hod_atr":1.003144,"atr":0.056921,"spread_atr":0.175682,"own_change_pct":-0.15867,"rel_strength_pct":{"SPY":-0.119843,"IWM":-0.12192}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.375613},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c678059d9276","ts":"2026-08-28T13:46:10+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.22 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.133,"target":7.25,"target_label":"premarket_high","reward_risk":0.34,"pos_in_5d_range_pct":67.0,"room_to_5d_high_atr":0.52},"price":7.22,"vwap":7.2358,"ext_from_open_pct":0.56,"max_ext_allowed_pct":3.0,"volume_pace":0.975,"trend":"flat","recent_slope_pct":-0.0033,"volatility":"medium"},"price":7.22,"volume":{"bars":16,"last_bar_volume":24206.0,"baseline_avg":73349.0,"bar_rvol":0.330011,"raw_accel":-0.131374,"smooth_accel":-0.238651,"accel_momentum":-0.006442,"rvol_3bar":[0.589111,0.36381,0.330011],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":8459.0,"sell_vol":13370.0,"unclassified_vol":0.0,"imbalance":-0.224976,"bid":7.22,"ask":7.23,"spread_pct":0.138408,"quote_size_imbalance":null,"quote_age_s":0.861926},"context":{"vwap":7.235919,"price_vs_vwap_pct":-0.219997,"ema9":7.240489,"ema20":7.244373,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.824176,"dist_to_hod_atr":1.220973,"atr":0.049141,"spread_atr":0.203495,"own_change_pct":-0.20008,"rel_strength_pct":{"SPY":-0.161253,"IWM":-0.16333}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.074245},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"92ba2e33455b","ts":"2026-08-28T13:46:15+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":10.3813,"target":10.567,"target_label":"ceiling","reward_risk":0.56,"pos_in_5d_range_pct":82.1,"room_to_5d_high_atr":0.34},"price":10.5,"vwap":10.4958,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":4.0,"volume_pace":1.099,"trend":"flat","recent_slope_pct":-0.1522,"volatility":"medium"},"price":10.5,"volume":{"bars":16,"last_bar_volume":90922.0,"baseline_avg":206921.6,"bar_rvol":0.439403,"raw_accel":0.279907,"smooth_accel":-0.125844,"accel_momentum":-0.066836,"rvol_3bar":[0.347726,0.327927,0.439403],"trend_3bar":"MIXED","projected_rvol":0.647646},"flow":{"window_s":30,"trades":156,"trade_rate":5.2,"buy_vol":56862.0,"sell_vol":8446.0,"unclassified_vol":0.0,"imbalance":0.741349,"bid":10.5,"ask":10.51,"spread_pct":0.095193,"quote_size_imbalance":null,"quote_age_s":0.153429},"context":{"vwap":10.495756,"price_vs_vwap_pct":0.040435,"ema9":10.51914,"ema20":10.507464,"ema_stack":false,"ema_warm":false,"hod":10.567,"dist_to_hod_pct":-0.634049,"dist_to_hod_atr":1.177069,"atr":0.056921,"spread_atr":0.175682,"own_change_pct":-0.15867,"rel_strength_pct":{"SPY":-0.119843,"IWM":-0.12192}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.325751},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"88770f98efda","ts":"2026-08-28T13:46:25+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.0% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4358,"target":5.57,"target_label":"prev_day_high","reward_risk":0.78,"pos_in_5d_range_pct":43.8,"room_to_5d_high_atr":1.62},"price":5.5112,"vwap":5.4633,"ext_from_open_pct":3.01,"max_ext_allowed_pct":3.0,"volume_pace":1.575,"trend":"flat","recent_slope_pct":-0.0047,"volatility":"medium"},"price":5.5112,"volume":{"bars":16,"last_bar_volume":64295.0,"baseline_avg":131071.0,"bar_rvol":0.490536,"raw_accel":-0.22778,"smooth_accel":-0.043818,"accel_momentum":0.37256,"rvol_3bar":[0.461832,0.619098,0.490536],"trend_3bar":"MIXED","projected_rvol":0.439383},"flow":{"window_s":30,"trades":98,"trade_rate":3.266667,"buy_vol":13899.0,"sell_vol":12134.0,"unclassified_vol":0.0,"imbalance":0.067799,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.930145},"context":{"vwap":5.462698,"price_vs_vwap_pct":0.887873,"ema9":5.505613,"ema20":5.472764,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.877698,"dist_to_hod_atr":1.004253,"atr":0.048593,"spread_atr":0.20579,"own_change_pct":-0.722022,"rel_strength_pct":{"SPY":-0.683195,"IWM":-0.685272}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.033258},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2175fbb6fb2d","ts":"2026-08-28T13:46:30+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.4636,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.58,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"medium"},"price":5.51,"volume":{"bars":16,"last_bar_volume":64295.0,"baseline_avg":131071.0,"bar_rvol":0.490536,"raw_accel":-0.22778,"smooth_accel":-0.043818,"accel_momentum":0.37256,"rvol_3bar":[0.461832,0.619098,0.490536],"trend_3bar":"MIXED","projected_rvol":0.610112},"flow":{"window_s":30,"trades":125,"trade_rate":4.166667,"buy_vol":13960.0,"sell_vol":26024.0,"unclassified_vol":0.0,"imbalance":-0.301721,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.004788},"context":{"vwap":5.462698,"price_vs_vwap_pct":0.865906,"ema9":5.505613,"ema20":5.472764,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.899281,"dist_to_hod_atr":1.028948,"atr":0.048593,"spread_atr":0.20579,"own_change_pct":-0.722022,"rel_strength_pct":{"SPY":-0.683195,"IWM":-0.685272}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.148005},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ff5661de2398","ts":"2026-08-28T13:46:40+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.2504,"target":5.55,"target_label":"premarket_high","reward_risk":1.31,"pos_in_5d_range_pct":7.5,"room_to_5d_high_atr":1.43},"price":5.38,"vwap":5.3768,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":1.628,"trend":"flat","recent_slope_pct":0.0279,"volatility":"high"},"price":5.38,"volume":{"bars":16,"last_bar_volume":26686.0,"baseline_avg":72233.133333,"bar_rvol":0.369443,"raw_accel":0.477771,"smooth_accel":0.196718,"accel_momentum":-0.455761,"rvol_3bar":[0.553577,0.167421,0.369443],"trend_3bar":"MIXED","projected_rvol":0.180312},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":2242.0,"sell_vol":3991.0,"unclassified_vol":0.0,"imbalance":-0.280603,"bid":5.37,"ask":5.38,"spread_pct":0.186047,"quote_size_imbalance":null,"quote_age_s":2.455863},"context":{"vwap":5.376804,"price_vs_vwap_pct":0.059439,"ema9":5.380701,"ema20":5.379646,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.587409,"dist_to_hod_atr":2.558004,"atr":0.055864,"spread_atr":0.179007,"own_change_pct":0.509547,"rel_strength_pct":{"SPY":0.548374,"IWM":0.546297}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.103667},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d198f69f2103","ts":"2026-08-28T13:46:45+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4421,"target":5.57,"target_label":"prev_day_high","reward_risk":0.7,"pos_in_5d_range_pct":44.5,"room_to_5d_high_atr":1.6},"price":5.5175,"vwap":5.4639,"ext_from_open_pct":3.13,"max_ext_allowed_pct":3.0,"volume_pace":1.562,"trend":"flat","recent_slope_pct":0.0182,"volatility":"medium"},"price":5.5175,"volume":{"bars":16,"last_bar_volume":64295.0,"baseline_avg":131071.0,"bar_rvol":0.490536,"raw_accel":-0.22778,"smooth_accel":-0.043818,"accel_momentum":0.37256,"rvol_3bar":[0.461832,0.619098,0.490536],"trend_3bar":"MIXED","projected_rvol":0.492171},"flow":{"window_s":30,"trades":139,"trade_rate":4.633333,"buy_vol":13336.0,"sell_vol":23304.0,"unclassified_vol":0.0,"imbalance":-0.272052,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":1.537217},"context":{"vwap":5.462698,"price_vs_vwap_pct":1.003201,"ema9":5.505613,"ema20":5.472764,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.764388,"dist_to_hod_atr":0.874606,"atr":0.048593,"spread_atr":0.20579,"own_change_pct":-0.722022,"rel_strength_pct":{"SPY":-0.683195,"IWM":-0.685272}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.133451},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"50d0e80e1f81","ts":"2026-08-28T13:46:45+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.38 below VWAP $5.38","plan":{"state":"PASS","setup":"","stop":5.2454,"target":5.55,"target_label":"premarket_high","reward_risk":1.35,"pos_in_5d_range_pct":6.9,"room_to_5d_high_atr":1.44},"price":5.375,"vwap":5.3768,"ext_from_open_pct":-0.65,"max_ext_allowed_pct":3.0,"volume_pace":1.621,"trend":"flat","recent_slope_pct":0.0093,"volatility":"high"},"price":5.375,"volume":{"bars":16,"last_bar_volume":26686.0,"baseline_avg":72233.133333,"bar_rvol":0.369443,"raw_accel":0.477771,"smooth_accel":0.196718,"accel_momentum":-0.455761,"rvol_3bar":[0.553577,0.167421,0.369443],"trend_3bar":"MIXED","projected_rvol":0.181154},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":1963.0,"sell_vol":4936.0,"unclassified_vol":0.0,"imbalance":-0.430932,"bid":5.37,"ask":5.38,"spread_pct":0.186047,"quote_size_imbalance":null,"quote_age_s":3.262227},"context":{"vwap":5.376804,"price_vs_vwap_pct":-0.033553,"ema9":5.380701,"ema20":5.379646,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.677941,"dist_to_hod_atr":2.647508,"atr":0.055864,"spread_atr":0.179007,"own_change_pct":0.509547,"rel_strength_pct":{"SPY":0.548374,"IWM":0.546297}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.159205},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b7e97ce3e78c","ts":"2026-08-28T13:46:50+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.4639,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.557,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"medium"},"price":5.51,"volume":{"bars":16,"last_bar_volume":64295.0,"baseline_avg":131071.0,"bar_rvol":0.490536,"raw_accel":-0.22778,"smooth_accel":-0.043818,"accel_momentum":0.37256,"rvol_3bar":[0.461832,0.619098,0.490536],"trend_3bar":"MIXED","projected_rvol":0.46934},"flow":{"window_s":30,"trades":150,"trade_rate":5.0,"buy_vol":13813.0,"sell_vol":24756.0,"unclassified_vol":0.0,"imbalance":-0.283725,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":1.030244},"context":{"vwap":5.462698,"price_vs_vwap_pct":0.865906,"ema9":5.505613,"ema20":5.472764,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.899281,"dist_to_hod_atr":1.028948,"atr":0.048593,"spread_atr":0.20579,"own_change_pct":-0.722022,"rel_strength_pct":{"SPY":-0.683195,"IWM":-0.685272}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.139177},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"285574bdc11c","ts":"2026-08-28T13:46:50+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.2503,"target":5.55,"target_label":"premarket_high","reward_risk":1.31,"pos_in_5d_range_pct":7.5,"room_to_5d_high_atr":1.43},"price":5.3799,"vwap":5.3768,"ext_from_open_pct":-0.56,"max_ext_allowed_pct":3.0,"volume_pace":1.615,"trend":"flat","recent_slope_pct":0.0275,"volatility":"high"},"price":5.3799,"volume":{"bars":16,"last_bar_volume":26686.0,"baseline_avg":72233.133333,"bar_rvol":0.369443,"raw_accel":0.477771,"smooth_accel":0.196718,"accel_momentum":-0.455761,"rvol_3bar":[0.553577,0.167421,0.369443],"trend_3bar":"MIXED","projected_rvol":0.181778},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":1375.0,"sell_vol":2580.0,"unclassified_vol":0.0,"imbalance":-0.304678,"bid":5.37,"ask":5.38,"spread_pct":0.186047,"quote_size_imbalance":null,"quote_age_s":0.078923},"context":{"vwap":5.376804,"price_vs_vwap_pct":0.057579,"ema9":5.380701,"ema20":5.379646,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.589219,"dist_to_hod_atr":2.559795,"atr":0.055864,"spread_atr":0.179007,"own_change_pct":0.509547,"rel_strength_pct":{"SPY":0.548374,"IWM":0.546297}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.112561},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c2da5e24fea0","ts":"2026-08-28T13:46:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.464,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.55,"trend":"flat","recent_slope_pct":0.0272,"volatility":"medium"},"price":5.52,"volume":{"bars":16,"last_bar_volume":64295.0,"baseline_avg":131071.0,"bar_rvol":0.490536,"raw_accel":-0.22778,"smooth_accel":-0.043818,"accel_momentum":0.37256,"rvol_3bar":[0.461832,0.619098,0.490536],"trend_3bar":"MIXED","projected_rvol":0.432831},"flow":{"window_s":30,"trades":125,"trade_rate":4.166667,"buy_vol":6123.0,"sell_vol":21885.0,"unclassified_vol":0.0,"imbalance":-0.562768,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.570063},"context":{"vwap":5.462698,"price_vs_vwap_pct":1.048966,"ema9":5.505613,"ema20":5.472764,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.719424,"dist_to_hod_atr":0.823158,"atr":0.048593,"spread_atr":0.20579,"own_change_pct":-0.722022,"rel_strength_pct":{"SPY":-0.683195,"IWM":-0.685272}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.276058},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"193d7c5dce23","ts":"2026-08-28T13:46:55+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.1604,"target":7.39,"target_label":"prev_day_high","reward_risk":1.64,"pos_in_5d_range_pct":72.0,"room_to_5d_high_atr":0.44},"price":7.2474,"vwap":7.236,"ext_from_open_pct":0.94,"max_ext_allowed_pct":4.0,"volume_pace":0.971,"trend":"flat","recent_slope_pct":0.0724,"volatility":"medium"},"price":7.2474,"volume":{"bars":16,"last_bar_volume":24206.0,"baseline_avg":73349.0,"bar_rvol":0.330011,"raw_accel":-0.131374,"smooth_accel":-0.238651,"accel_momentum":-0.006442,"rvol_3bar":[0.589111,0.36381,0.330011],"trend_3bar":"DECELERATING","projected_rvol":0.993031},"flow":{"window_s":30,"trades":79,"trade_rate":2.633333,"buy_vol":14302.0,"sell_vol":2453.0,"unclassified_vol":0.0,"imbalance":0.707192,"bid":7.24,"ask":7.25,"spread_pct":0.138026,"quote_size_imbalance":null,"quote_age_s":0.609575},"context":{"vwap":7.235919,"price_vs_vwap_pct":0.158669,"ema9":7.240489,"ema20":7.244373,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.447802,"dist_to_hod_atr":0.663395,"atr":0.049141,"spread_atr":0.203495,"own_change_pct":-0.20008,"rel_strength_pct":{"SPY":-0.161253,"IWM":-0.16333}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.233381},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"2649ea5cf0f9","ts":"2026-08-28T13:47:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4356,"target":5.57,"target_label":"prev_day_high","reward_risk":0.78,"pos_in_5d_range_pct":43.8,"room_to_5d_high_atr":1.62},"price":5.511,"vwap":5.464,"ext_from_open_pct":3.01,"max_ext_allowed_pct":4.0,"volume_pace":1.545,"trend":"flat","recent_slope_pct":-0.0054,"volatility":"medium"},"price":5.511,"volume":{"bars":16,"last_bar_volume":64295.0,"baseline_avg":131071.0,"bar_rvol":0.490536,"raw_accel":-0.22778,"smooth_accel":-0.043818,"accel_momentum":0.37256,"rvol_3bar":[0.461832,0.619098,0.490536],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":91,"trade_rate":3.033333,"buy_vol":8774.0,"sell_vol":7610.0,"unclassified_vol":0.0,"imbalance":0.071045,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.004771},"context":{"vwap":5.462698,"price_vs_vwap_pct":0.884212,"ema9":5.505613,"ema20":5.472764,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.881295,"dist_to_hod_atr":1.008369,"atr":0.048593,"spread_atr":0.20579,"own_change_pct":-0.722022,"rel_strength_pct":{"SPY":-0.666383,"IWM":-0.676924}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.03485},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e6b809c13c45","ts":"2026-08-28T13:47:00+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.38 below VWAP $5.38","plan":{"state":"PASS","setup":"","stop":5.2466,"target":5.55,"target_label":"premarket_high","reward_risk":1.34,"pos_in_5d_range_pct":7.0,"room_to_5d_high_atr":1.43},"price":5.3762,"vwap":5.3768,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":4.0,"volume_pace":1.615,"trend":"flat","recent_slope_pct":0.0137,"volatility":"high"},"price":5.3762,"volume":{"bars":16,"last_bar_volume":26686.0,"baseline_avg":72233.133333,"bar_rvol":0.369443,"raw_accel":0.477771,"smooth_accel":0.196718,"accel_momentum":-0.455761,"rvol_3bar":[0.553577,0.167421,0.369443],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":133,"trade_rate":4.433333,"buy_vol":4978.0,"sell_vol":9378.0,"unclassified_vol":0.0,"imbalance":-0.306492,"bid":5.38,"ask":5.39,"spread_pct":0.185701,"quote_size_imbalance":null,"quote_age_s":2.099704},"context":{"vwap":5.376804,"price_vs_vwap_pct":-0.011235,"ema9":5.380701,"ema20":5.379646,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.656213,"dist_to_hod_atr":2.626027,"atr":0.055864,"spread_atr":0.179007,"own_change_pct":0.509547,"rel_strength_pct":{"SPY":0.565186,"IWM":0.554645}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.113231},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"be85d8217efb","ts":"2026-08-28T13:47:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 5.0s / 18s","plan":{"state":"WATCH","setup":"","stop":5.4496,"target":5.57,"target_label":"prev_day_high","reward_risk":0.6,"pos_in_5d_range_pct":45.4,"room_to_5d_high_atr":1.57},"price":5.525,"vwap":5.4642,"ext_from_open_pct":3.27,"max_ext_allowed_pct":4.0,"volume_pace":1.544,"trend":"flat","recent_slope_pct":0.0744,"volatility":"medium"},"price":5.525,"volume":{"bars":17,"last_bar_volume":56368.0,"baseline_avg":126897.5,"bar_rvol":0.444201,"raw_accel":-0.123291,"smooth_accel":-0.042485,"accel_momentum":0.001334,"rvol_3bar":[0.619098,0.490536,0.444201],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":106,"trade_rate":3.533333,"buy_vol":13896.0,"sell_vol":8776.0,"unclassified_vol":0.0,"imbalance":0.225829,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.266636},"context":{"vwap":5.464006,"price_vs_vwap_pct":1.116294,"ema9":5.50669,"ema20":5.476405,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.629496,"dist_to_hod_atr":0.74922,"atr":0.046715,"spread_atr":0.214063,"own_change_pct":-0.523466,"rel_strength_pct":{"SPY":-0.467827,"IWM":-0.478368}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.100314},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"1d9cc6cc1dfb","ts":"2026-08-28T13:47:05+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.2554,"target":5.55,"target_label":"premarket_high","reward_risk":1.27,"pos_in_5d_range_pct":8.1,"room_to_5d_high_atr":1.42},"price":5.385,"vwap":5.3768,"ext_from_open_pct":-0.46,"max_ext_allowed_pct":4.0,"volume_pace":1.607,"trend":"flat","recent_slope_pct":-0.0996,"volatility":"high"},"price":5.385,"volume":{"bars":17,"last_bar_volume":22047.0,"baseline_avg":69386.4375,"bar_rvol":0.317742,"raw_accel":-0.173836,"smooth_accel":-0.387155,"accel_momentum":-0.583873,"rvol_3bar":[0.167421,0.369443,0.317742],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":124,"trade_rate":4.133333,"buy_vol":4601.0,"sell_vol":9003.0,"unclassified_vol":0.0,"imbalance":-0.323581,"bid":5.38,"ask":5.39,"spread_pct":0.185701,"quote_size_imbalance":null,"quote_age_s":0.571083},"context":{"vwap":5.376833,"price_vs_vwap_pct":0.1519,"ema9":5.379801,"ema20":5.379318,"ema_stack":true,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.496877,"dist_to_hod_atr":2.592,"atr":0.053202,"spread_atr":0.187962,"own_change_pct":0.276047,"rel_strength_pct":{"SPY":0.331686,"IWM":0.321145}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.102815},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f83cdedefbd6","ts":"2026-08-28T13:47:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.3% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4496,"target":5.57,"target_label":"prev_day_high","reward_risk":0.6,"pos_in_5d_range_pct":45.4,"room_to_5d_high_atr":1.57},"price":5.525,"vwap":5.4644,"ext_from_open_pct":3.27,"max_ext_allowed_pct":3.0,"volume_pace":1.543,"trend":"flat","recent_slope_pct":0.0744,"volatility":"medium"},"price":5.525,"volume":{"bars":17,"last_bar_volume":56368.0,"baseline_avg":126897.5,"bar_rvol":0.444201,"raw_accel":-0.123291,"smooth_accel":-0.042485,"accel_momentum":0.001334,"rvol_3bar":[0.619098,0.490536,0.444201],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":115,"trade_rate":3.833333,"buy_vol":15427.0,"sell_vol":10083.0,"unclassified_vol":0.0,"imbalance":0.209486,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.444145},"context":{"vwap":5.464006,"price_vs_vwap_pct":1.116294,"ema9":5.50669,"ema20":5.476405,"ema_stack":true,"ema_warm":false,"hod":5.56,"dist_to_hod_pct":-0.629496,"dist_to_hod_atr":0.74922,"atr":0.046715,"spread_atr":0.214063,"own_change_pct":-0.523466,"rel_strength_pct":{"SPY":-0.467827,"IWM":-0.478368}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.093054},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"04806e0f7291","ts":"2026-08-28T13:47:15+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.12 below VWAP $5.13","plan":{"state":"PASS","setup":"","stop":5.0426,"target":5.1793,"target_label":"ceiling","reward_risk":0.66,"pos_in_5d_range_pct":48.5,"room_to_5d_high_atr":1.05},"price":5.125,"vwap":5.1255,"ext_from_open_pct":1.89,"max_ext_allowed_pct":3.0,"volume_pace":2.486,"trend":"flat","recent_slope_pct":0.0586,"volatility":"high"},"price":5.125,"volume":{"bars":17,"last_bar_volume":16857.0,"baseline_avg":5462.4375,"bar_rvol":3.085985,"raw_accel":6.225461,"smooth_accel":4.012736,"accel_momentum":4.698285,"rvol_3bar":[0.08111,0.411386,3.085985],"trend_3bar":"ACCELERATING","projected_rvol":0.324397},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":100.0,"sell_vol":343.0,"unclassified_vol":0.0,"imbalance":-0.548533,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":1.227967},"context":{"vwap":5.12552,"price_vs_vwap_pct":-0.010138,"ema9":5.12602,"ema20":5.124265,"ema_stack":false,"ema_warm":false,"hod":5.1793,"dist_to_hod_pct":-1.048404,"dist_to_hod_atr":1.345298,"atr":0.040363,"spread_atr":0.247753,"own_change_pct":0.30306,"rel_strength_pct":{"SPY":0.358699,"IWM":0.348158}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.692764},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d3efa2f094b8","ts":"2026-08-28T13:47:20+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9423,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.2,"room_to_5d_high_atr":0.33},"price":10.9801,"vwap":10.984,"ext_from_open_pct":0.09,"max_ext_allowed_pct":5.0,"volume_pace":3.313,"trend":"flat","recent_slope_pct":-0.0181,"volatility":"low"},"price":10.9801,"volume":{"bars":17,"last_bar_volume":485016.0,"baseline_avg":83610.0625,"bar_rvol":5.800929,"raw_accel":3.447526,"smooth_accel":1.756348,"accel_momentum":2.061737,"rvol_3bar":[0.716086,1.331313,5.800929],"trend_3bar":"ACCELERATING","projected_rvol":0.604664},"flow":{"window_s":30,"trades":283,"trade_rate":9.433333,"buy_vol":372167.0,"sell_vol":82900.0,"unclassified_vol":0.0,"imbalance":0.635658,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":7.364743},"context":{"vwap":10.984019,"price_vs_vwap_pct":-0.035683,"ema9":10.989847,"ema20":10.986122,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.180909,"dist_to_hod_atr":0.882676,"atr":0.022545,"spread_atr":0.443556,"own_change_pct":0.090164,"rel_strength_pct":{"SPY":0.145803,"IWM":0.135262}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":3.687407},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4f164db81e28","ts":"2026-08-28T13:47:20+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.24 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.236,"ext_from_open_pct":0.77,"max_ext_allowed_pct":3.0,"volume_pace":0.955,"trend":"flat","recent_slope_pct":0.0,"volatility":"medium"},"price":7.235,"volume":{"bars":17,"last_bar_volume":68109.0,"baseline_avg":70277.5625,"bar_rvol":0.969143,"raw_accel":1.813724,"smooth_accel":-0.069669,"accel_momentum":0.168982,"rvol_3bar":[0.36381,0.330011,0.969143],"trend_3bar":"MIXED","projected_rvol":0.300736},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":8912.0,"sell_vol":6878.0,"unclassified_vol":0.0,"imbalance":0.128816,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.829474},"context":{"vwap":7.235962,"price_vs_vwap_pct":-0.013288,"ema9":7.241391,"ema20":7.244433,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":0.934947,"atr":0.048131,"spread_atr":0.207766,"own_change_pct":-0.137836,"rel_strength_pct":{"SPY":-0.082197,"IWM":-0.092738}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.124841},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7c0fd4575288","ts":"2026-08-28T13:47:25+00:00","symbol":"NVAX","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":8.99,"target":9.18,"target_label":"prev_day_high","reward_risk":0.12,"pos_in_5d_range_pct":68.2,"room_to_5d_high_atr":0.95},"price":9.16,"vwap":9.1159,"ext_from_open_pct":-0.22,"max_ext_allowed_pct":3.0,"volume_pace":2.681,"trend":"flat","recent_slope_pct":0.4399,"volatility":"medium"},"price":9.16,"volume":{"bars":17,"last_bar_volume":12231.0,"baseline_avg":24598.5,"bar_rvol":0.497225,"raw_accel":0.74355,"smooth_accel":0.569948,"accel_momentum":0.508834,"rvol_3bar":[0.138325,0.272208,0.497225],"trend_3bar":"ACCELERATING","projected_rvol":0.375633},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":1760.0,"sell_vol":2292.0,"unclassified_vol":0.0,"imbalance":-0.131293,"bid":9.14,"ask":9.18,"spread_pct":0.436681,"quote_size_imbalance":null,"quote_age_s":0.945083},"context":{"vwap":9.115464,"price_vs_vwap_pct":0.488575,"ema9":9.07408,"ema20":9.098073,"ema_stack":false,"ema_warm":false,"hod":9.3,"dist_to_hod_pct":-1.505376,"dist_to_hod_atr":1.70011,"atr":0.082348,"spread_atr":0.485746,"own_change_pct":1.104869,"rel_strength_pct":{"SPY":1.160508,"IWM":1.149966}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.065282},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5a8dfebd19a6","ts":"2026-08-28T13:47:25+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9521,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.27},"price":10.9899,"vwap":10.984,"ext_from_open_pct":0.18,"max_ext_allowed_pct":5.0,"volume_pace":3.298,"trend":"flat","recent_slope_pct":-0.0003,"volatility":"low"},"price":10.9899,"volume":{"bars":17,"last_bar_volume":485016.0,"baseline_avg":83610.0625,"bar_rvol":5.800929,"raw_accel":3.447526,"smooth_accel":1.756348,"accel_momentum":2.061737,"rvol_3bar":[0.716086,1.331313,5.800929],"trend_3bar":"ACCELERATING","projected_rvol":0.504054},"flow":{"window_s":30,"trades":74,"trade_rate":2.466667,"buy_vol":3995.0,"sell_vol":15335.0,"unclassified_vol":0.0,"imbalance":-0.586653,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":4.480191},"context":{"vwap":10.984019,"price_vs_vwap_pct":0.053538,"ema9":10.989847,"ema20":10.986122,"ema_stack":true,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.091818,"dist_to_hod_atr":0.447991,"atr":0.022545,"spread_atr":0.443556,"own_change_pct":0.090164,"rel_strength_pct":{"SPY":0.145803,"IWM":0.135262}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-3.403131},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"1010665e1a98","ts":"2026-08-28T13:47:35+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.984,"ext_from_open_pct":0.09,"max_ext_allowed_pct":4.0,"volume_pace":3.28,"trend":"flat","recent_slope_pct":-0.0183,"volatility":"low"},"price":10.98,"volume":{"bars":17,"last_bar_volume":485016.0,"baseline_avg":83610.0625,"bar_rvol":5.800929,"raw_accel":3.447526,"smooth_accel":1.756348,"accel_momentum":2.061737,"rvol_3bar":[0.716086,1.331313,5.800929],"trend_3bar":"ACCELERATING","projected_rvol":0.508073},"flow":{"window_s":30,"trades":75,"trade_rate":2.5,"buy_vol":3695.0,"sell_vol":20658.0,"unclassified_vol":0.0,"imbalance":-0.696547,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.48516},"context":{"vwap":10.984019,"price_vs_vwap_pct":-0.036593,"ema9":10.989847,"ema20":10.986122,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":0.887112,"atr":0.022545,"spread_atr":0.443556,"own_change_pct":0.090164,"rel_strength_pct":{"SPY":0.145803,"IWM":0.135262}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-4.040617},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"82921134f0cd","ts":"2026-08-28T13:47:35+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.1507,"target":7.39,"target_label":"prev_day_high","reward_risk":1.75,"pos_in_5d_range_pct":70.2,"room_to_5d_high_atr":0.47},"price":7.2377,"vwap":7.236,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":0.943,"trend":"flat","recent_slope_pct":0.0075,"volatility":"medium"},"price":7.2377,"volume":{"bars":17,"last_bar_volume":68109.0,"baseline_avg":70277.5625,"bar_rvol":0.969143,"raw_accel":1.813724,"smooth_accel":-0.069669,"accel_momentum":0.168982,"rvol_3bar":[0.36381,0.330011,0.969143],"trend_3bar":"MIXED","projected_rvol":0.232807},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":1663.0,"sell_vol":6370.0,"unclassified_vol":0.0,"imbalance":-0.585958,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.261946},"context":{"vwap":7.235962,"price_vs_vwap_pct":0.024026,"ema9":7.241391,"ema20":7.244433,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.581044,"dist_to_hod_atr":0.87885,"atr":0.048131,"spread_atr":0.207766,"own_change_pct":-0.137836,"rel_strength_pct":{"SPY":-0.082197,"IWM":-0.092738}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.567877},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b77e54823a2c","ts":"2026-08-28T13:47:40+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9472,"target":11.13,"target_label":"range_20d_high","reward_risk":3.83,"pos_in_5d_range_pct":81.2,"room_to_5d_high_atr":0.3},"price":10.985,"vwap":10.984,"ext_from_open_pct":0.14,"max_ext_allowed_pct":4.0,"volume_pace":3.266,"trend":"flat","recent_slope_pct":-0.0092,"volatility":"low"},"price":10.985,"volume":{"bars":17,"last_bar_volume":485016.0,"baseline_avg":83610.0625,"bar_rvol":5.800929,"raw_accel":3.447526,"smooth_accel":1.756348,"accel_momentum":2.061737,"rvol_3bar":[0.716086,1.331313,5.800929],"trend_3bar":"ACCELERATING","projected_rvol":0.460925},"flow":{"window_s":30,"trades":72,"trade_rate":2.4,"buy_vol":3884.0,"sell_vol":20555.0,"unclassified_vol":0.0,"imbalance":-0.682147,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":7.48516},"context":{"vwap":10.984019,"price_vs_vwap_pct":0.008927,"ema9":10.989847,"ema20":10.986122,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.136364,"dist_to_hod_atr":0.665334,"atr":0.022545,"spread_atr":0.443556,"own_change_pct":0.090164,"rel_strength_pct":{"SPY":0.145803,"IWM":0.135262}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-3.957088},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0c6ef4194164","ts":"2026-08-28T13:47:40+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.24 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.236,"ext_from_open_pct":0.77,"max_ext_allowed_pct":3.0,"volume_pace":0.94,"trend":"flat","recent_slope_pct":0.0,"volatility":"medium"},"price":7.235,"volume":{"bars":17,"last_bar_volume":68109.0,"baseline_avg":70277.5625,"bar_rvol":0.969143,"raw_accel":1.813724,"smooth_accel":-0.069669,"accel_momentum":0.168982,"rvol_3bar":[0.36381,0.330011,0.969143],"trend_3bar":"MIXED","projected_rvol":0.246693},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":1672.0,"sell_vol":8072.0,"unclassified_vol":0.0,"imbalance":-0.656814,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.121035},"context":{"vwap":7.235962,"price_vs_vwap_pct":-0.013288,"ema9":7.241391,"ema20":7.244433,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":0.934947,"atr":0.048131,"spread_atr":0.207766,"own_change_pct":-0.137836,"rel_strength_pct":{"SPY":-0.082197,"IWM":-0.092738}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.636547},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ea27cd558b0c","ts":"2026-08-28T13:47:45+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.984,"ext_from_open_pct":0.09,"max_ext_allowed_pct":4.0,"volume_pace":3.255,"trend":"flat","recent_slope_pct":-0.0183,"volatility":"low"},"price":10.98,"volume":{"bars":17,"last_bar_volume":485016.0,"baseline_avg":83610.0625,"bar_rvol":5.800929,"raw_accel":3.447526,"smooth_accel":1.756348,"accel_momentum":2.061737,"rvol_3bar":[0.716086,1.331313,5.800929],"trend_3bar":"ACCELERATING","projected_rvol":0.451317},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":5756.0,"sell_vol":20956.0,"unclassified_vol":0.0,"imbalance":-0.569033,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.862427},"context":{"vwap":10.984019,"price_vs_vwap_pct":-0.036593,"ema9":10.989847,"ema20":10.986122,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":0.887112,"atr":0.022545,"spread_atr":0.443556,"own_change_pct":0.090164,"rel_strength_pct":{"SPY":0.145803,"IWM":0.135262}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-3.300918},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5984bc801fc5","ts":"2026-08-28T13:47:50+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9519,"target":11.13,"target_label":"range_20d_high","reward_risk":3.71,"pos_in_5d_range_pct":83.2,"room_to_5d_high_atr":0.27},"price":10.9897,"vwap":10.9841,"ext_from_open_pct":0.18,"max_ext_allowed_pct":4.0,"volume_pace":3.259,"trend":"flat","recent_slope_pct":-0.0006,"volatility":"low"},"price":10.9897,"volume":{"bars":17,"last_bar_volume":485016.0,"baseline_avg":83610.0625,"bar_rvol":5.800929,"raw_accel":3.447526,"smooth_accel":1.756348,"accel_momentum":2.061737,"rvol_3bar":[0.716086,1.331313,5.800929],"trend_3bar":"ACCELERATING","projected_rvol":0.561449},"flow":{"window_s":30,"trades":80,"trade_rate":2.666667,"buy_vol":5406.0,"sell_vol":16861.0,"unclassified_vol":0.0,"imbalance":-0.514438,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.484872},"context":{"vwap":10.984019,"price_vs_vwap_pct":0.051717,"ema9":10.989847,"ema20":10.986122,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.093636,"dist_to_hod_atr":0.456862,"atr":0.022545,"spread_atr":0.443556,"own_change_pct":0.090164,"rel_strength_pct":{"SPY":0.145803,"IWM":0.135262}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.98422},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"dc0c37c176db","ts":"2026-08-28T13:47:50+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.1504,"target":7.39,"target_label":"prev_day_high","reward_risk":1.75,"pos_in_5d_range_pct":70.2,"room_to_5d_high_atr":0.47},"price":7.2374,"vwap":7.236,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":0.933,"trend":"flat","recent_slope_pct":0.0066,"volatility":"medium"},"price":7.2374,"volume":{"bars":17,"last_bar_volume":68109.0,"baseline_avg":70277.5625,"bar_rvol":0.969143,"raw_accel":1.813724,"smooth_accel":-0.069669,"accel_momentum":0.168982,"rvol_3bar":[0.36381,0.330011,0.969143],"trend_3bar":"MIXED","projected_rvol":0.236371},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":1617.0,"sell_vol":5181.0,"unclassified_vol":0.0,"imbalance":-0.524272,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.219105},"context":{"vwap":7.235962,"price_vs_vwap_pct":0.01988,"ema9":7.241391,"ema20":7.244433,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.585165,"dist_to_hod_atr":0.885083,"atr":0.048131,"spread_atr":0.207766,"own_change_pct":-0.137836,"rel_strength_pct":{"SPY":-0.082197,"IWM":-0.092738}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.508094},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"59c77dad7f69","ts":"2026-08-28T13:47:55+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.23 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.1431,"target":7.25,"target_label":"premarket_high","reward_risk":0.23,"pos_in_5d_range_pct":68.8,"room_to_5d_high_atr":0.49},"price":7.2301,"vwap":7.236,"ext_from_open_pct":0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.93,"trend":"flat","recent_slope_pct":-0.0135,"volatility":"medium"},"price":7.2301,"volume":{"bars":17,"last_bar_volume":68109.0,"baseline_avg":70277.5625,"bar_rvol":0.969143,"raw_accel":1.813724,"smooth_accel":-0.069669,"accel_momentum":0.168982,"rvol_3bar":[0.36381,0.330011,0.969143],"trend_3bar":"MIXED","projected_rvol":0.244997},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":1409.0,"sell_vol":6047.0,"unclassified_vol":0.0,"imbalance":-0.622049,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.237122},"context":{"vwap":7.235962,"price_vs_vwap_pct":-0.081005,"ema9":7.241391,"ema20":7.244433,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.68544,"dist_to_hod_atr":1.036753,"atr":0.048131,"spread_atr":0.207766,"own_change_pct":-0.137836,"rel_strength_pct":{"SPY":-0.082197,"IWM":-0.092738}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.602855},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2f43d0a6c6d3","ts":"2026-08-28T13:48:10+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.153,"target":7.39,"target_label":"prev_day_high","reward_risk":1.72,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.24,"vwap":7.236,"ext_from_open_pct":0.84,"max_ext_allowed_pct":4.0,"volume_pace":0.921,"trend":"flat","recent_slope_pct":-0.0105,"volatility":"medium"},"price":7.24,"volume":{"bars":18,"last_bar_volume":15815.0,"baseline_avg":70150.0,"bar_rvol":0.225445,"raw_accel":-0.767799,"smooth_accel":-0.044231,"accel_momentum":0.025438,"rvol_3bar":[0.330011,0.969143,0.225445],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":4775.0,"sell_vol":4690.0,"unclassified_vol":0.0,"imbalance":0.00898,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.377188},"context":{"vwap":7.235993,"price_vs_vwap_pct":0.055382,"ema9":7.240113,"ema20":7.243534,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.549451,"dist_to_hod_atr":0.867271,"atr":0.046122,"spread_atr":0.216818,"own_change_pct":0.207756,"rel_strength_pct":{"SPY":0.225939,"IWM":0.137541}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.002025},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7bec97d89c76","ts":"2026-08-28T13:48:15+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.984,"ext_from_open_pct":0.09,"max_ext_allowed_pct":4.0,"volume_pace":3.21,"trend":"flat","recent_slope_pct":-0.0308,"volatility":"low"},"price":10.98,"volume":{"bars":18,"last_bar_volume":42866.0,"baseline_avg":107222.176471,"bar_rvol":0.399787,"raw_accel":-0.911619,"smooth_accel":1.758524,"accel_momentum":0.002177,"rvol_3bar":[1.331313,5.800929,0.399787],"trend_3bar":"MIXED","projected_rvol":0.41234},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":10626.0,"sell_vol":14992.0,"unclassified_vol":0.0,"imbalance":-0.170427,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.868172},"context":{"vwap":10.98405,"price_vs_vwap_pct":-0.036875,"ema9":10.989097,"ema20":10.98612,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":0.92383,"atr":0.021649,"spread_atr":0.461915,"own_change_pct":-0.126364,"rel_strength_pct":{"SPY":-0.108181,"IWM":-0.196579}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.068134},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3a101fc42b8f","ts":"2026-08-28T13:48:15+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.23 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.1444,"target":7.25,"target_label":"premarket_high","reward_risk":0.21,"pos_in_5d_range_pct":69.1,"room_to_5d_high_atr":0.48},"price":7.2314,"vwap":7.236,"ext_from_open_pct":0.72,"max_ext_allowed_pct":4.0,"volume_pace":0.919,"trend":"flat","recent_slope_pct":-0.0343,"volatility":"medium"},"price":7.2314,"volume":{"bars":18,"last_bar_volume":15815.0,"baseline_avg":70150.0,"bar_rvol":0.225445,"raw_accel":-0.767799,"smooth_accel":-0.044231,"accel_momentum":0.025438,"rvol_3bar":[0.330011,0.969143,0.225445],"trend_3bar":"MIXED","projected_rvol":0.437634},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":6235.0,"sell_vol":3479.0,"unclassified_vol":0.0,"imbalance":0.283714,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.918476},"context":{"vwap":7.235993,"price_vs_vwap_pct":-0.063468,"ema9":7.240113,"ema20":7.243534,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.667582,"dist_to_hod_atr":1.053734,"atr":0.046122,"spread_atr":0.216818,"own_change_pct":0.207756,"rel_strength_pct":{"SPY":0.225939,"IWM":0.137541}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.063962},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f5fd7b36e955","ts":"2026-08-28T13:48:20+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.9841,"ext_from_open_pct":0.18,"max_ext_allowed_pct":4.0,"volume_pace":3.201,"trend":"flat","recent_slope_pct":-0.0126,"volatility":"low"},"price":10.99,"volume":{"bars":18,"last_bar_volume":42866.0,"baseline_avg":107222.176471,"bar_rvol":0.399787,"raw_accel":-0.911619,"smooth_accel":1.758524,"accel_momentum":0.002177,"rvol_3bar":[1.331313,5.800929,0.399787],"trend_3bar":"MIXED","projected_rvol":0.401727},"flow":{"window_s":30,"trades":74,"trade_rate":2.466667,"buy_vol":10392.0,"sell_vol":7713.0,"unclassified_vol":0.0,"imbalance":0.14797,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":1.080361},"context":{"vwap":10.98405,"price_vs_vwap_pct":0.054166,"ema9":10.989097,"ema20":10.98612,"ema_stack":true,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.461915,"atr":0.021649,"spread_atr":0.461915,"own_change_pct":-0.126364,"rel_strength_pct":{"SPY":-0.108181,"IWM":-0.196579}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.059157},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"aaef12ddd96a","ts":"2026-08-28T13:48:20+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.38 below VWAP $5.38","plan":{"state":"PASS","setup":"","stop":5.2457,"target":5.55,"target_label":"premarket_high","reward_risk":1.35,"pos_in_5d_range_pct":6.9,"room_to_5d_high_atr":1.44},"price":5.3753,"vwap":5.377,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":3.0,"volume_pace":1.575,"trend":"flat","recent_slope_pct":-0.0912,"volatility":"high"},"price":5.3753,"volume":{"bars":18,"last_bar_volume":12816.0,"baseline_avg":66601.764706,"bar_rvol":0.192427,"raw_accel":-0.418696,"smooth_accel":-0.317593,"accel_momentum":0.069562,"rvol_3bar":[0.369443,0.317742,0.192427],"trend_3bar":"DECELERATING","projected_rvol":2.062873},"flow":{"window_s":30,"trades":96,"trade_rate":3.2,"buy_vol":3316.0,"sell_vol":43031.0,"unclassified_vol":0.0,"imbalance":-0.856906,"bid":5.37,"ask":5.38,"spread_pct":0.186047,"quote_size_imbalance":null,"quote_age_s":1.224226},"context":{"vwap":5.376928,"price_vs_vwap_pct":-0.030272,"ema9":5.380861,"ema20":5.379869,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.672509,"dist_to_hod_atr":2.929285,"atr":0.050388,"spread_atr":0.198461,"own_change_pct":0.374651,"rel_strength_pct":{"SPY":0.392834,"IWM":0.304435}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.164892},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"8e20e5c87af1","ts":"2026-08-28T13:48:20+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.1504,"target":7.39,"target_label":"prev_day_high","reward_risk":1.75,"pos_in_5d_range_pct":70.2,"room_to_5d_high_atr":0.47},"price":7.2374,"vwap":7.236,"ext_from_open_pct":0.8,"max_ext_allowed_pct":4.0,"volume_pace":0.917,"trend":"flat","recent_slope_pct":-0.0177,"volatility":"medium"},"price":7.2374,"volume":{"bars":18,"last_bar_volume":15815.0,"baseline_avg":70150.0,"bar_rvol":0.225445,"raw_accel":-0.767799,"smooth_accel":-0.044231,"accel_momentum":0.025438,"rvol_3bar":[0.330011,0.969143,0.225445],"trend_3bar":"MIXED","projected_rvol":0.421112},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":8038.0,"sell_vol":3781.0,"unclassified_vol":0.0,"imbalance":0.360183,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.677639},"context":{"vwap":7.235993,"price_vs_vwap_pct":0.01945,"ema9":7.240113,"ema20":7.243534,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.585165,"dist_to_hod_atr":0.923643,"atr":0.046122,"spread_atr":0.216818,"own_change_pct":0.207756,"rel_strength_pct":{"SPY":0.225939,"IWM":0.137541}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.081202},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"dbcf56c128a1","ts":"2026-08-28T13:48:30+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":11.2996,"target":11.4673,"target_label":"clear air (typical 60-min move)","reward_risk":0.0,"pos_in_5d_range_pct":113.5,"room_to_5d_high_atr":-0.19},"price":11.4673,"vwap":11.4259,"ext_from_open_pct":-0.11,"max_ext_allowed_pct":4.0,"volume_pace":1.665,"trend":"flat","recent_slope_pct":0.1399,"volatility":"medium"},"price":11.4673,"volume":{"bars":18,"last_bar_volume":7518.0,"baseline_avg":31808.647059,"bar_rvol":0.236351,"raw_accel":-0.754185,"smooth_accel":0.945982,"accel_momentum":0.968985,"rvol_3bar":[0.214153,0.959191,0.236351],"trend_3bar":"MIXED","projected_rvol":2.730956},"flow":{"window_s":30,"trades":176,"trade_rate":5.866667,"buy_vol":39125.0,"sell_vol":4309.0,"unclassified_vol":0.0,"imbalance":0.801584,"bid":11.46,"ask":11.47,"spread_pct":0.087222,"quote_size_imbalance":null,"quote_age_s":0.005369},"context":{"vwap":11.423776,"price_vs_vwap_pct":0.380997,"ema9":11.412167,"ema20":11.415355,"ema_stack":false,"ema_warm":false,"hod":11.5177,"dist_to_hod_pct":-0.437587,"dist_to_hod_atr":0.655114,"atr":0.076933,"spread_atr":0.129983,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.018183,"IWM":-0.070215}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.189455},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"04fd65b3322b","ts":"2026-08-28T13:48:35+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 5.0s / 18s","plan":{"state":"PASS","setup":"","stop":11.2973,"target":11.48,"target_label":"range_20d_high","reward_risk":0.09,"pos_in_5d_range_pct":113.3,"room_to_5d_high_atr":-0.19},"price":11.465,"vwap":11.4258,"ext_from_open_pct":-0.13,"max_ext_allowed_pct":4.0,"volume_pace":1.658,"trend":"flat","recent_slope_pct":0.1359,"volatility":"medium"},"price":11.465,"volume":{"bars":18,"last_bar_volume":7518.0,"baseline_avg":31808.647059,"bar_rvol":0.236351,"raw_accel":-0.754185,"smooth_accel":0.945982,"accel_momentum":0.968985,"rvol_3bar":[0.214153,0.959191,0.236351],"trend_3bar":"MIXED","projected_rvol":2.344053},"flow":{"window_s":30,"trades":168,"trade_rate":5.6,"buy_vol":38388.0,"sell_vol":4223.0,"unclassified_vol":0.0,"imbalance":0.801788,"bid":11.46,"ask":11.47,"spread_pct":0.087222,"quote_size_imbalance":null,"quote_age_s":0.574458},"context":{"vwap":11.423776,"price_vs_vwap_pct":0.360863,"ema9":11.412167,"ema20":11.415355,"ema_stack":false,"ema_warm":false,"hod":11.5177,"dist_to_hod_pct":-0.457557,"dist_to_hod_atr":0.685011,"atr":0.076933,"spread_atr":0.129983,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.018183,"IWM":-0.070215}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.189503},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0e38b699de1d","ts":"2026-08-28T13:48:40+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9445,"target":11.13,"target_label":"range_20d_high","reward_risk":3.9,"pos_in_5d_range_pct":80.1,"room_to_5d_high_atr":0.32},"price":10.9823,"vwap":10.9841,"ext_from_open_pct":0.11,"max_ext_allowed_pct":4.0,"volume_pace":3.158,"trend":"flat","recent_slope_pct":-0.0267,"volatility":"low"},"price":10.9823,"volume":{"bars":18,"last_bar_volume":42866.0,"baseline_avg":107222.176471,"bar_rvol":0.399787,"raw_accel":-0.911619,"smooth_accel":1.758524,"accel_momentum":0.002177,"rvol_3bar":[1.331313,5.800929,0.399787],"trend_3bar":"MIXED","projected_rvol":0.31895},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":1057.0,"sell_vol":11545.0,"unclassified_vol":0.0,"imbalance":-0.832249,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.005174},"context":{"vwap":10.98405,"price_vs_vwap_pct":-0.015936,"ema9":10.989097,"ema20":10.98612,"ema_stack":false,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.160909,"dist_to_hod_atr":0.81759,"atr":0.021649,"spread_atr":0.461915,"own_change_pct":-0.126364,"rel_strength_pct":{"SPY":-0.108181,"IWM":-0.196579}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.332722},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"eac4fc38710f","ts":"2026-08-28T13:48:45+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.9841,"ext_from_open_pct":0.18,"max_ext_allowed_pct":4.0,"volume_pace":3.146,"trend":"flat","recent_slope_pct":-0.0126,"volatility":"low"},"price":10.99,"volume":{"bars":18,"last_bar_volume":42866.0,"baseline_avg":107222.176471,"bar_rvol":0.399787,"raw_accel":-0.911619,"smooth_accel":1.758524,"accel_momentum":0.002177,"rvol_3bar":[1.331313,5.800929,0.399787],"trend_3bar":"MIXED","projected_rvol":0.300336},"flow":{"window_s":30,"trades":81,"trade_rate":2.7,"buy_vol":1105.0,"sell_vol":11994.0,"unclassified_vol":0.0,"imbalance":-0.831285,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.797029},"context":{"vwap":10.98405,"price_vs_vwap_pct":0.054166,"ema9":10.989097,"ema20":10.98612,"ema_stack":true,"ema_warm":false,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.461915,"atr":0.021649,"spread_atr":0.461915,"own_change_pct":-0.126364,"rel_strength_pct":{"SPY":-0.108181,"IWM":-0.196579}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.332337},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1b8efa0f27a7","ts":"2026-08-28T13:48:50+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.2504,"target":5.55,"target_label":"premarket_high","reward_risk":1.31,"pos_in_5d_range_pct":7.5,"room_to_5d_high_atr":1.43},"price":5.38,"vwap":5.3771,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":1.541,"trend":"flat","recent_slope_pct":-0.0737,"volatility":"high"},"price":5.38,"volume":{"bars":18,"last_bar_volume":12816.0,"baseline_avg":66601.764706,"bar_rvol":0.192427,"raw_accel":-0.418696,"smooth_accel":-0.317593,"accel_momentum":0.069562,"rvol_3bar":[0.369443,0.317742,0.192427],"trend_3bar":"DECELERATING","projected_rvol":0.941074},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":2103.0,"sell_vol":4331.0,"unclassified_vol":0.0,"imbalance":-0.346285,"bid":5.38,"ask":5.39,"spread_pct":0.185701,"quote_size_imbalance":null,"quote_age_s":0.011593},"context":{"vwap":5.376928,"price_vs_vwap_pct":0.057138,"ema9":5.380861,"ema20":5.379869,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.587409,"dist_to_hod_atr":2.836009,"atr":0.050388,"spread_atr":0.198461,"own_change_pct":0.374651,"rel_strength_pct":{"SPY":0.392834,"IWM":0.304435}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.066635},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"a1cfbb60d1b1","ts":"2026-08-28T13:48:50+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.24 below VWAP $7.24","plan":{"state":"PASS","setup":"","stop":7.1481,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.2351,"vwap":7.2361,"ext_from_open_pct":0.77,"max_ext_allowed_pct":3.0,"volume_pace":0.917,"trend":"flat","recent_slope_pct":-0.024,"volatility":"medium"},"price":7.2351,"volume":{"bars":18,"last_bar_volume":15815.0,"baseline_avg":70150.0,"bar_rvol":0.225445,"raw_accel":-0.767799,"smooth_accel":-0.044231,"accel_momentum":0.025438,"rvol_3bar":[0.330011,0.969143,0.225445],"trend_3bar":"MIXED","projected_rvol":0.737671},"flow":{"window_s":30,"trades":121,"trade_rate":4.033333,"buy_vol":13645.0,"sell_vol":19631.0,"unclassified_vol":0.0,"imbalance":-0.179889,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":2.550855},"context":{"vwap":7.235993,"price_vs_vwap_pct":-0.012335,"ema9":7.240113,"ema20":7.243534,"ema_stack":false,"ema_warm":false,"hod":7.28,"dist_to_hod_pct":-0.616758,"dist_to_hod_atr":0.973511,"atr":0.046122,"spread_atr":0.216818,"own_change_pct":0.207756,"rel_strength_pct":{"SPY":0.225939,"IWM":0.137541}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.040555},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"03dbbcf7b434","ts":"2026-08-28T13:49:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":4.99,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.5501,"vwap":5.4755,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":1.622,"trend":"flat","recent_slope_pct":0.2521,"volatility":"medium"},"price":5.5501,"volume":{"bars":19,"last_bar_volume":173370.0,"baseline_avg":126788.0,"bar_rvol":1.367401,"raw_accel":-0.112997,"smooth_accel":1.004233,"accel_momentum":0.541281,"rvol_3bar":[0.444201,1.592326,1.367401],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":91,"trade_rate":3.033333,"buy_vol":1499.0,"sell_vol":8550.0,"unclassified_vol":0.0,"imbalance":-0.701662,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":1.393161},"context":{"vwap":5.475418,"price_vs_vwap_pct":1.363944,"ema9":5.520722,"ema20":5.488913,"ema_stack":true,"ema_warm":false,"hod":5.57,"dist_to_hod_pct":-0.357271,"dist_to_hod_atr":0.430063,"atr":0.046272,"spread_atr":0.216112,"own_change_pct":0.821072,"rel_strength_pct":{"SPY":0.812025,"IWM":0.717427}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.959453},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c77b93d2da15","ts":"2026-08-28T13:49:20+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":4.61,"pos_in_5d_range_pct":49.0,"room_to_5d_high_atr":1.47},"price":5.5563,"vwap":5.4766,"ext_from_open_pct":3.86,"max_ext_allowed_pct":4.0,"volume_pace":1.624,"trend":"flat","recent_slope_pct":0.2744,"volatility":"medium"},"price":5.5563,"volume":{"bars":19,"last_bar_volume":173370.0,"baseline_avg":126788.0,"bar_rvol":1.367401,"raw_accel":-0.112997,"smooth_accel":1.004233,"accel_momentum":0.541281,"rvol_3bar":[0.444201,1.592326,1.367401],"trend_3bar":"MIXED","projected_rvol":0.912626},"flow":{"window_s":30,"trades":135,"trade_rate":4.5,"buy_vol":30711.0,"sell_vol":9696.0,"unclassified_vol":0.0,"imbalance":0.520083,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":1.481247},"context":{"vwap":5.475418,"price_vs_vwap_pct":1.477178,"ema9":5.520722,"ema20":5.488913,"ema_stack":true,"ema_warm":false,"hod":5.57,"dist_to_hod_pct":-0.245961,"dist_to_hod_atr":0.296073,"atr":0.046272,"spread_atr":0.216112,"own_change_pct":0.821072,"rel_strength_pct":{"SPY":0.812025,"IWM":0.717427}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.711162},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e320b0944bfe","ts":"2026-08-28T13:49:25+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":5.0,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.4768,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":1.623,"trend":"flat","recent_slope_pct":0.2517,"volatility":"medium"},"price":5.55,"volume":{"bars":19,"last_bar_volume":173370.0,"baseline_avg":126788.0,"bar_rvol":1.367401,"raw_accel":-0.112997,"smooth_accel":1.004233,"accel_momentum":0.541281,"rvol_3bar":[0.444201,1.592326,1.367401],"trend_3bar":"MIXED","projected_rvol":0.895126},"flow":{"window_s":30,"trades":153,"trade_rate":5.1,"buy_vol":32686.0,"sell_vol":15834.0,"unclassified_vol":0.0,"imbalance":0.347321,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.184146},"context":{"vwap":5.475418,"price_vs_vwap_pct":1.362118,"ema9":5.520722,"ema20":5.488913,"ema_stack":true,"ema_warm":false,"hod":5.57,"dist_to_hod_pct":-0.359066,"dist_to_hod_atr":0.432224,"atr":0.046272,"spread_atr":0.216112,"own_change_pct":0.821072,"rel_strength_pct":{"SPY":0.812025,"IWM":0.717427}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.474927},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"35cc4ad3ccbd","ts":"2026-08-28T13:49:30+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.38 below VWAP $5.38","plan":{"state":"PASS","setup":"","stop":5.2454,"target":5.55,"target_label":"premarket_high","reward_risk":1.35,"pos_in_5d_range_pct":6.9,"room_to_5d_high_atr":1.44},"price":5.375,"vwap":5.3771,"ext_from_open_pct":-0.65,"max_ext_allowed_pct":3.0,"volume_pace":1.496,"trend":"flat","recent_slope_pct":-0.023,"volatility":"high"},"price":5.375,"volume":{"bars":19,"last_bar_volume":53535.0,"baseline_avg":63613.666667,"bar_rvol":0.841564,"raw_accel":2.366258,"smooth_accel":0.062208,"accel_momentum":0.379801,"rvol_3bar":[0.317742,0.192427,0.841564],"trend_3bar":"MIXED","projected_rvol":0.131796},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":2443.0,"sell_vol":1749.0,"unclassified_vol":0.0,"imbalance":0.165553,"bid":5.37,"ask":5.38,"spread_pct":0.186047,"quote_size_imbalance":null,"quote_age_s":3.157832},"context":{"vwap":5.377122,"price_vs_vwap_pct":-0.039455,"ema9":5.381449,"ema20":5.380243,"ema_stack":false,"ema_warm":false,"hod":5.5229,"dist_to_hod_pct":-2.677941,"dist_to_hod_atr":3.067372,"atr":0.048217,"spread_atr":0.207395,"own_change_pct":-0.3,"rel_strength_pct":{"SPY":-0.309046,"IWM":-0.403644}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.139324},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"133c9951a52a","ts":"2026-08-28T13:50:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"held 95.0s, plan says WATCH; stop 11.30, target 11.47 (clear air (typical 60-min move)), R:R 0.00; R:R 0.00 < 2.0 at 11.47; breakout: 1-min close > 11.53 on >= 46019 sh","plan":{"state":"WATCH","setup":"","stop":11.3023,"target":11.47,"target_label":"clear air (typical 60-min move)","reward_risk":0.0,"pos_in_5d_range_pct":113.8,"room_to_5d_high_atr":-0.19},"price":11.47,"vwap":11.427,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.596,"trend":"flat","recent_slope_pct":0.1094,"volatility":"medium"},"price":11.47,"volume":{"bars":20,"last_bar_volume":14668.0,"baseline_avg":31521.894737,"bar_rvol":0.465327,"raw_accel":-0.71041,"smooth_accel":0.525734,"accel_momentum":-2.405391,"rvol_3bar":[0.236351,1.662915,0.465327],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":4129.0,"sell_vol":3835.0,"unclassified_vol":0.0,"imbalance":0.036916,"bid":11.47,"ask":11.48,"spread_pct":0.087146,"quote_size_imbalance":null,"quote_age_s":0.074091},"context":{"vwap":11.426845,"price_vs_vwap_pct":0.377663,"ema9":11.430611,"ema20":11.424051,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.414145,"dist_to_hod_atr":0.667719,"atr":0.071437,"spread_atr":0.139983,"own_change_pct":0.659356,"rel_strength_pct":{"SPY":0.716308,"IWM":0.602519}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.017178},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9838b977f45f","ts":"2026-08-28T13:50:20+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":4.68,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.4779,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":1.573,"trend":"flat","recent_slope_pct":0.1858,"volatility":"medium"},"price":5.555,"volume":{"bars":20,"last_bar_volume":70509.0,"baseline_avg":129239.684211,"bar_rvol":0.545568,"raw_accel":-0.593303,"smooth_accel":1.154416,"accel_momentum":0.150183,"rvol_3bar":[1.592326,1.367401,0.545568],"trend_3bar":"DECELERATING","projected_rvol":0.320637},"flow":{"window_s":30,"trades":87,"trade_rate":2.9,"buy_vol":12379.0,"sell_vol":4061.0,"unclassified_vol":0.0,"imbalance":0.505961,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.844895},"context":{"vwap":5.477547,"price_vs_vwap_pct":1.414016,"ema9":5.527577,"ema20":5.495207,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":-0.2693,"dist_to_hod_atr":0.33787,"atr":0.044396,"spread_atr":0.225247,"own_change_pct":0.816697,"rel_strength_pct":{"SPY":0.873649,"IWM":0.75986}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.276036},"shadow":{"decision":"FAIL","failed":["bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"bd64239459b0","ts":"2026-08-28T13:50:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":5.0,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.4784,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":1.563,"trend":"flat","recent_slope_pct":0.1678,"volatility":"medium"},"price":5.55,"volume":{"bars":20,"last_bar_volume":70509.0,"baseline_avg":129239.684211,"bar_rvol":0.545568,"raw_accel":-0.593303,"smooth_accel":1.154416,"accel_momentum":0.150183,"rvol_3bar":[1.592326,1.367401,0.545568],"trend_3bar":"DECELERATING","projected_rvol":0.380224},"flow":{"window_s":30,"trades":112,"trade_rate":3.733333,"buy_vol":20047.0,"sell_vol":8110.0,"unclassified_vol":0.0,"imbalance":0.423944,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.713485},"context":{"vwap":5.477547,"price_vs_vwap_pct":1.322734,"ema9":5.527577,"ema20":5.495207,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":-0.359066,"dist_to_hod_atr":0.450494,"atr":0.044396,"spread_atr":0.225247,"own_change_pct":0.816697,"rel_strength_pct":{"SPY":0.873649,"IWM":0.75986}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.23129},"shadow":{"decision":"FAIL","failed":["bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"ebfdb87a3024","ts":"2026-08-28T13:51:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":5.55,"pos_in_5d_range_pct":47.4,"room_to_5d_high_atr":1.52},"price":5.5425,"vwap":5.4795,"ext_from_open_pct":3.6,"max_ext_allowed_pct":4.0,"volume_pace":1.55,"trend":"flat","recent_slope_pct":0.0087,"volatility":"medium"},"price":5.5425,"volume":{"bars":21,"last_bar_volume":67297.0,"baseline_avg":126303.15,"bar_rvol":0.532821,"raw_accel":-0.045554,"smooth_accel":-0.015637,"accel_momentum":-1.170053,"rvol_3bar":[1.367401,0.545568,0.532821],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":139,"trade_rate":4.633333,"buy_vol":9999.0,"sell_vol":30579.0,"unclassified_vol":0.0,"imbalance":-0.507171,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.05608},"context":{"vwap":5.479405,"price_vs_vwap_pct":1.151491,"ema9":5.532062,"ema20":5.500425,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":-0.493716,"dist_to_hod_atr":0.642047,"atr":0.042832,"spread_atr":0.233472,"own_change_pct":0.909091,"rel_strength_pct":{"SPY":0.971238,"IWM":0.895722}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.270232},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"4df465393988","ts":"2026-08-28T13:51:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":5.0,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.4795,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":1.545,"trend":"flat","recent_slope_pct":0.0357,"volatility":"medium"},"price":5.55,"volume":{"bars":21,"last_bar_volume":67297.0,"baseline_avg":126303.15,"bar_rvol":0.532821,"raw_accel":-0.045554,"smooth_accel":-0.015637,"accel_momentum":-1.170053,"rvol_3bar":[1.367401,0.545568,0.532821],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":122,"trade_rate":4.066667,"buy_vol":9432.0,"sell_vol":20974.0,"unclassified_vol":0.0,"imbalance":-0.379596,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.411182},"context":{"vwap":5.479405,"price_vs_vwap_pct":1.288367,"ema9":5.532062,"ema20":5.500425,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":-0.359066,"dist_to_hod_atr":0.466943,"atr":0.042832,"spread_atr":0.233472,"own_change_pct":0.909091,"rel_strength_pct":{"SPY":0.971238,"IWM":0.895722}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.202257},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"95cf81f3f9cb","ts":"2026-08-28T13:51:20+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.9156,"target":8.53,"target_label":"premarket_high","reward_risk":0.84,"pos_in_5d_range_pct":46.3,"room_to_5d_high_atr":0.97},"price":8.25,"vwap":8.1979,"ext_from_open_pct":0.06,"max_ext_allowed_pct":3.0,"volume_pace":0.895,"trend":"positive","recent_slope_pct":-0.0242,"volatility":"high"},"price":8.25,"volume":{"bars":21,"last_bar_volume":1589.0,"baseline_avg":14919.1,"bar_rvol":0.106508,"raw_accel":-0.845518,"smooth_accel":3.614203,"accel_momentum":1.965241,"rvol_3bar":[0.009064,0.678364,0.106508],"trend_3bar":"MIXED","projected_rvol":0.001408},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":5.0,"sell_vol":2.0,"unclassified_vol":0.0,"imbalance":0.428571,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":25.092724},"context":{"vwap":8.19785,"price_vs_vwap_pct":0.636146,"ema9":8.257178,"ema20":8.230993,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.482509,"dist_to_hod_atr":0.505384,"atr":0.079148,"spread_atr":0.252692,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.062147,"IWM":-0.013369}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.045646},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9f2893a95668","ts":"2026-08-28T13:51:35+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3189,"target":13.64,"target_label":"premarket_high","reward_risk":1.36,"pos_in_5d_range_pct":33.2,"room_to_5d_high_atr":1.15},"price":13.455,"vwap":13.4412,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":4.0,"volume_pace":0.987,"trend":"flat","recent_slope_pct":0.0483,"volatility":"medium"},"price":13.455,"volume":{"bars":21,"last_bar_volume":10552.0,"baseline_avg":33271.2,"bar_rvol":0.317151,"raw_accel":0.268605,"smooth_accel":-0.323943,"accel_momentum":-0.002189,"rvol_3bar":[0.26707,0.176833,0.317151],"trend_3bar":"MIXED","projected_rvol":0.191002},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":2552.0,"sell_vol":107.0,"unclassified_vol":0.0,"imbalance":0.919519,"bid":13.45,"ask":13.46,"spread_pct":0.074322,"quote_size_imbalance":null,"quote_age_s":0.048447},"context":{"vwap":13.441193,"price_vs_vwap_pct":0.102719,"ema9":13.421242,"ema20":13.422368,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-0.774336,"dist_to_hod_atr":1.89587,"atr":0.055384,"spread_atr":0.180559,"own_change_pct":0.448099,"rel_strength_pct":{"SPY":0.510246,"IWM":0.43473}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.291626},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e37ac5eb024a","ts":"2026-08-28T13:51:45+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":5.35,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.4801,"ext_from_open_pct":3.64,"max_ext_allowed_pct":4.0,"volume_pace":1.518,"trend":"flat","recent_slope_pct":0.0177,"volatility":"medium"},"price":5.545,"volume":{"bars":21,"last_bar_volume":67297.0,"baseline_avg":126303.15,"bar_rvol":0.532821,"raw_accel":-0.045554,"smooth_accel":-0.015637,"accel_momentum":-1.170053,"rvol_3bar":[1.367401,0.545568,0.532821],"trend_3bar":"DECELERATING","projected_rvol":0.314091},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":19347.0,"sell_vol":4984.0,"unclassified_vol":0.0,"imbalance":0.590317,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.281012},"context":{"vwap":5.479405,"price_vs_vwap_pct":1.197116,"ema9":5.532062,"ema20":5.500425,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":-0.448833,"dist_to_hod_atr":0.583679,"atr":0.042832,"spread_atr":0.233472,"own_change_pct":0.909091,"rel_strength_pct":{"SPY":0.971238,"IWM":0.895722}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.314533},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"387a56cfa67c","ts":"2026-08-28T13:51:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":5.0,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.4803,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":1.51,"trend":"flat","recent_slope_pct":0.0357,"volatility":"medium"},"price":5.55,"volume":{"bars":21,"last_bar_volume":67297.0,"baseline_avg":126303.15,"bar_rvol":0.532821,"raw_accel":-0.045554,"smooth_accel":-0.015637,"accel_momentum":-1.170053,"rvol_3bar":[1.367401,0.545568,0.532821],"trend_3bar":"DECELERATING","projected_rvol":0.311778},"flow":{"window_s":30,"trades":80,"trade_rate":2.666667,"buy_vol":10633.0,"sell_vol":10340.0,"unclassified_vol":0.0,"imbalance":0.01397,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.50754},"context":{"vwap":5.479405,"price_vs_vwap_pct":1.288367,"ema9":5.532062,"ema20":5.500425,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":-0.359066,"dist_to_hod_atr":0.466943,"atr":0.042832,"spread_atr":0.233472,"own_change_pct":0.909091,"rel_strength_pct":{"SPY":0.971238,"IWM":0.895722}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.007444},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"7a5149dad222","ts":"2026-08-28T13:52:00+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"held 210.0s, plan says PASS; stop 11.29, target 11.48 (range_20d_high), R:R 0.15; R:R 0.15 < 2.0 at 11.46; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":11.2873,"target":11.48,"target_label":"range_20d_high","reward_risk":0.15,"pos_in_5d_range_pct":112.2,"room_to_5d_high_atr":-0.17},"price":11.455,"vwap":11.4307,"ext_from_open_pct":-0.22,"max_ext_allowed_pct":3.0,"volume_pace":1.556,"trend":"flat","recent_slope_pct":0.0945,"volatility":"medium"},"price":11.455,"volume":{"bars":21,"last_bar_volume":33554.0,"baseline_avg":30679.2,"bar_rvol":1.093705,"raw_accel":1.287565,"smooth_accel":1.183446,"accel_momentum":0.657713,"rvol_3bar":[1.662915,0.465327,1.093705],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":1726.0,"sell_vol":4057.0,"unclassified_vol":0.0,"imbalance":-0.403078,"bid":11.45,"ask":11.46,"spread_pct":0.087298,"quote_size_imbalance":null,"quote_age_s":0.005213},"context":{"vwap":11.430113,"price_vs_vwap_pct":0.217734,"ema9":11.444428,"ema20":11.431256,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.54438,"dist_to_hod_atr":0.89701,"atr":0.069899,"spread_atr":0.143064,"own_change_pct":0.742006,"rel_strength_pct":{"SPY":0.823569,"IWM":0.710256}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.440848},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"fd96d0a8f1eb","ts":"2026-08-28T13:52:00+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.44 below VWAP $13.44","plan":{"state":"PASS","setup":"","stop":13.2989,"target":13.64,"target_label":"premarket_high","reward_risk":1.51,"pos_in_5d_range_pct":31.0,"room_to_5d_high_atr":1.18},"price":13.435,"vwap":13.4412,"ext_from_open_pct":-0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.973,"trend":"flat","recent_slope_pct":0.0185,"volatility":"medium"},"price":13.435,"volume":{"bars":21,"last_bar_volume":10552.0,"baseline_avg":33271.2,"bar_rvol":0.317151,"raw_accel":0.268605,"smooth_accel":-0.323943,"accel_momentum":-0.002189,"rvol_3bar":[0.26707,0.176833,0.317151],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":2017.0,"sell_vol":1473.0,"unclassified_vol":0.0,"imbalance":0.155874,"bid":13.43,"ask":13.44,"spread_pct":0.074432,"quote_size_imbalance":null,"quote_age_s":0.00771},"context":{"vwap":13.441193,"price_vs_vwap_pct":-0.046077,"ema9":13.421242,"ema20":13.422368,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-0.921829,"dist_to_hod_atr":2.256988,"atr":0.055384,"spread_atr":0.180559,"own_change_pct":0.448099,"rel_strength_pct":{"SPY":0.529662,"IWM":0.416349}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.049436},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"42c638efe4c9","ts":"2026-08-28T13:52:05+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.46% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":5.5,"target":11.0,"target_label":"premarket_high","reward_risk":3.1,"pos_in_5d_range_pct":114.4,"room_to_5d_high_atr":-0.42},"price":6.8431,"vwap":5.9651,"ext_from_open_pct":10.37,"max_ext_allowed_pct":5.0,"volume_pace":6.988,"trend":"flat","recent_slope_pct":4.5844,"volatility":"high"},"price":6.8431,"volume":{"bars":13,"last_bar_volume":394.0,"baseline_avg":15981.75,"bar_rvol":0.024653,"raw_accel":-0.98928,"smooth_accel":-0.112479,"accel_momentum":-0.02069,"rvol_3bar":[0.68879,2.607894,0.024653],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":67,"trade_rate":2.233333,"buy_vol":13579.0,"sell_vol":1925.0,"unclassified_vol":0.0,"imbalance":0.751677,"bid":6.8,"ask":6.9,"spread_pct":1.459854,"quote_size_imbalance":null,"quote_age_s":0.004182},"context":{"vwap":5.893856,"price_vs_vwap_pct":16.105658,"ema9":5.98411,"ema20":5.995381,"ema_stack":false,"ema_warm":false,"hod":6.3,"dist_to_hod_pct":8.620635,"dist_to_hod_atr":-4.350979,"atr":0.124822,"spread_atr":0.801138,"own_change_pct":13.924051,"rel_strength_pct":{"SPY":14.005614,"IWM":13.892301}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.018531},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9cd334076ff5","ts":"2026-08-28T13:52:05+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.2554,"target":5.55,"target_label":"premarket_high","reward_risk":1.27,"pos_in_5d_range_pct":8.1,"room_to_5d_high_atr":1.42},"price":5.385,"vwap":5.377,"ext_from_open_pct":-0.46,"max_ext_allowed_pct":4.0,"volume_pace":1.404,"trend":"flat","recent_slope_pct":0.0602,"volatility":"high"},"price":5.385,"volume":{"bars":22,"last_bar_volume":30828.0,"baseline_avg":49175.9,"bar_rvol":0.626892,"raw_accel":0.190592,"smooth_accel":-0.098803,"accel_momentum":-0.762047,"rvol_3bar":[0.363694,0.423946,0.626892],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":4458.0,"sell_vol":3049.0,"unclassified_vol":0.0,"imbalance":0.187691,"bid":5.38,"ask":5.39,"spread_pct":0.185701,"quote_size_imbalance":null,"quote_age_s":0.010011},"context":{"vwap":5.377029,"price_vs_vwap_pct":0.148234,"ema9":5.380142,"ema20":5.379569,"ema_stack":true,"ema_warm":true,"hod":5.5229,"dist_to_hod_pct":-2.496877,"dist_to_hod_atr":3.071793,"atr":0.044892,"spread_atr":0.222755,"own_change_pct":0.163684,"rel_strength_pct":{"SPY":0.245247,"IWM":0.131935}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.117662},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"618155892064","ts":"2026-08-28T13:52:10+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.9156,"target":8.53,"target_label":"premarket_high","reward_risk":0.84,"pos_in_5d_range_pct":46.3,"room_to_5d_high_atr":0.97},"price":8.25,"vwap":8.1979,"ext_from_open_pct":0.06,"max_ext_allowed_pct":3.0,"volume_pace":0.863,"trend":"positive","recent_slope_pct":-0.0182,"volatility":"high"},"price":8.25,"volume":{"bars":22,"last_bar_volume":15.0,"baseline_avg":10227.2,"bar_rvol":0.001467,"raw_accel":-0.994133,"smooth_accel":6.895086,"accel_momentum":3.280883,"rvol_3bar":[0.678364,0.106508,0.001467],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":0.0,"sell_vol":500.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":75.092724},"context":{"vwap":8.197853,"price_vs_vwap_pct":0.63611,"ema9":8.257743,"ema20":8.233755,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.482509,"dist_to_hod_atr":0.539021,"atr":0.074209,"spread_atr":0.269511,"own_change_pct":-0.119711,"rel_strength_pct":{"SPY":-0.038148,"IWM":-0.151461}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.001467},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"40e1a5a40fb4","ts":"2026-08-28T13:52:20+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"held 230.0s, plan says WATCH; stop 11.30, target 11.47 (clear air (typical 60-min move)), R:R 0.00; R:R 0.00 < 2.0 at 11.47; breakout: 1-min close > 11.53 on >= 44830 sh","plan":{"state":"WATCH","setup":"","stop":11.3023,"target":11.47,"target_label":"clear air (typical 60-min move)","reward_risk":0.0,"pos_in_5d_range_pct":113.8,"room_to_5d_high_atr":-0.19},"price":11.47,"vwap":11.4309,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.538,"trend":"flat","recent_slope_pct":0.0063,"volatility":"medium"},"price":11.47,"volume":{"bars":22,"last_bar_volume":10370.0,"baseline_avg":24011.05,"bar_rvol":0.431884,"raw_accel":-0.690946,"smooth_accel":-0.339831,"accel_momentum":-1.523277,"rvol_3bar":[0.465327,1.093705,0.431884],"trend_3bar":"MIXED","projected_rvol":0.284369},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":2691.0,"sell_vol":3193.0,"unclassified_vol":0.0,"imbalance":-0.085316,"bid":11.46,"ask":11.48,"spread_pct":0.174368,"quote_size_imbalance":null,"quote_age_s":1.132356},"context":{"vwap":11.430742,"price_vs_vwap_pct":0.343444,"ema9":11.446543,"ema20":11.433517,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.414145,"dist_to_hod_atr":0.700231,"atr":0.06812,"spread_atr":0.293598,"own_change_pct":0.219599,"rel_strength_pct":{"SPY":0.301162,"IWM":0.18785}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.036847},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9a5d28ed5d50","ts":"2026-08-28T13:52:20+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.38 below VWAP $5.38","plan":{"state":"PASS","setup":"","stop":5.2473,"target":5.55,"target_label":"premarket_high","reward_risk":1.34,"pos_in_5d_range_pct":7.1,"room_to_5d_high_atr":1.43},"price":5.3769,"vwap":5.3771,"ext_from_open_pct":-0.61,"max_ext_allowed_pct":3.0,"volume_pace":1.399,"trend":"flat","recent_slope_pct":0.0301,"volatility":"high"},"price":5.3769,"volume":{"bars":22,"last_bar_volume":30828.0,"baseline_avg":49175.9,"bar_rvol":0.626892,"raw_accel":0.190592,"smooth_accel":-0.098803,"accel_momentum":-0.762047,"rvol_3bar":[0.363694,0.423946,0.626892],"trend_3bar":"ACCELERATING","projected_rvol":0.647146},"flow":{"window_s":30,"trades":100,"trade_rate":3.333333,"buy_vol":8447.0,"sell_vol":4946.0,"unclassified_vol":0.0,"imbalance":0.261405,"bid":5.38,"ask":5.4,"spread_pct":0.371058,"quote_size_imbalance":null,"quote_age_s":3.279747},"context":{"vwap":5.377029,"price_vs_vwap_pct":-0.002407,"ema9":5.380142,"ema20":5.379569,"ema_stack":false,"ema_warm":true,"hod":5.5229,"dist_to_hod_pct":-2.643539,"dist_to_hod_atr":3.252224,"atr":0.044892,"spread_atr":0.44551,"own_change_pct":0.163684,"rel_strength_pct":{"SPY":0.245247,"IWM":0.131935}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.163873},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5d86a9a3e4ce","ts":"2026-08-28T13:52:25+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"held 235.0s, plan says PASS; stop 11.29, target 11.48 (range_20d_high), R:R 0.12; R:R 0.12 < 2.0 at 11.46; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":11.2923,"target":11.48,"target_label":"range_20d_high","reward_risk":0.12,"pos_in_5d_range_pct":112.8,"room_to_5d_high_atr":-0.18},"price":11.46,"vwap":11.4309,"ext_from_open_pct":-0.17,"max_ext_allowed_pct":4.0,"volume_pace":1.533,"trend":"flat","recent_slope_pct":-0.0112,"volatility":"medium"},"price":11.46,"volume":{"bars":22,"last_bar_volume":10370.0,"baseline_avg":24011.05,"bar_rvol":0.431884,"raw_accel":-0.690946,"smooth_accel":-0.339831,"accel_momentum":-1.523277,"rvol_3bar":[0.465327,1.093705,0.431884],"trend_3bar":"MIXED","projected_rvol":0.227795},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":2666.0,"sell_vol":2371.0,"unclassified_vol":0.0,"imbalance":0.058567,"bid":11.45,"ask":11.46,"spread_pct":0.087298,"quote_size_imbalance":null,"quote_age_s":1.760891},"context":{"vwap":11.430742,"price_vs_vwap_pct":0.255961,"ema9":11.446543,"ema20":11.433517,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.500968,"dist_to_hod_atr":0.84703,"atr":0.06812,"spread_atr":0.146799,"own_change_pct":0.219599,"rel_strength_pct":{"SPY":0.301162,"IWM":0.18785}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.025294},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9a2734e9221c","ts":"2026-08-28T13:52:25+00:00","symbol":"FRMI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.2654,"target":5.55,"target_label":"premarket_high","reward_risk":1.2,"pos_in_5d_range_pct":9.4,"room_to_5d_high_atr":1.4},"price":5.395,"vwap":5.3772,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":4.0,"volume_pace":1.395,"trend":"flat","recent_slope_pct":0.0974,"volatility":"high"},"price":5.395,"volume":{"bars":22,"last_bar_volume":30828.0,"baseline_avg":49175.9,"bar_rvol":0.626892,"raw_accel":0.190592,"smooth_accel":-0.098803,"accel_momentum":-0.762047,"rvol_3bar":[0.363694,0.423946,0.626892],"trend_3bar":"ACCELERATING","projected_rvol":0.572085},"flow":{"window_s":30,"trades":96,"trade_rate":3.2,"buy_vol":8424.0,"sell_vol":3793.0,"unclassified_vol":0.0,"imbalance":0.379062,"bid":5.38,"ask":5.4,"spread_pct":0.371058,"quote_size_imbalance":null,"quote_age_s":0.166912},"context":{"vwap":5.377029,"price_vs_vwap_pct":0.33421,"ema9":5.380142,"ema20":5.379569,"ema_stack":true,"ema_warm":true,"hod":5.5229,"dist_to_hod_pct":-2.315812,"dist_to_hod_atr":2.849038,"atr":0.044892,"spread_atr":0.44551,"own_change_pct":0.163684,"rel_strength_pct":{"SPY":0.245247,"IWM":0.131935}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.237631},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5fdeaf6d8ded","ts":"2026-08-28T13:52:30+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"held 240.0s, plan says WATCH; stop 11.31, target 11.48 (clear air (typical 60-min move)), R:R 0.00; R:R 0.00 < 2.0 at 11.48; breakout: 1-min close > 11.53 on >= 44830 sh","plan":{"state":"WATCH","setup":"","stop":11.3124,"target":11.4801,"target_label":"clear air (typical 60-min move)","reward_risk":0.0,"pos_in_5d_range_pct":114.9,"room_to_5d_high_atr":-0.21},"price":11.4801,"vwap":11.4311,"ext_from_open_pct":0.0,"max_ext_allowed_pct":4.0,"volume_pace":1.533,"trend":"flat","recent_slope_pct":0.0239,"volatility":"medium"},"price":11.4801,"volume":{"bars":22,"last_bar_volume":10370.0,"baseline_avg":24011.05,"bar_rvol":0.431884,"raw_accel":-0.690946,"smooth_accel":-0.339831,"accel_momentum":-1.523277,"rvol_3bar":[0.465327,1.093705,0.431884],"trend_3bar":"MIXED","projected_rvol":0.413643},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":3568.0,"sell_vol":1398.0,"unclassified_vol":0.0,"imbalance":0.436971,"bid":11.45,"ask":11.46,"spread_pct":0.087298,"quote_size_imbalance":null,"quote_age_s":0.005191},"context":{"vwap":11.430742,"price_vs_vwap_pct":0.431802,"ema9":11.446543,"ema20":11.433517,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.326454,"dist_to_hod_atr":0.551964,"atr":0.06812,"spread_atr":0.146799,"own_change_pct":0.219599,"rel_strength_pct":{"SPY":0.301162,"IWM":0.18785}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.188721},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"fb4ba2b3022d","ts":"2026-08-28T13:52:35+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"held 245.0s, plan says PASS; stop 11.29, target 11.48 (range_20d_high), R:R 0.13; R:R 0.13 < 2.0 at 11.46; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":11.291,"target":11.48,"target_label":"range_20d_high","reward_risk":0.13,"pos_in_5d_range_pct":112.6,"room_to_5d_high_atr":-0.18},"price":11.4587,"vwap":11.431,"ext_from_open_pct":-0.19,"max_ext_allowed_pct":4.0,"volume_pace":1.527,"trend":"flat","recent_slope_pct":-0.0134,"volatility":"medium"},"price":11.4587,"volume":{"bars":22,"last_bar_volume":10370.0,"baseline_avg":24011.05,"bar_rvol":0.431884,"raw_accel":-0.690946,"smooth_accel":-0.339831,"accel_momentum":-1.523277,"rvol_3bar":[0.465327,1.093705,0.431884],"trend_3bar":"MIXED","projected_rvol":0.355194},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":3026.0,"sell_vol":1395.0,"unclassified_vol":0.0,"imbalance":0.368921,"bid":11.45,"ask":11.46,"spread_pct":0.087298,"quote_size_imbalance":null,"quote_age_s":0.761783},"context":{"vwap":11.430742,"price_vs_vwap_pct":0.244588,"ema9":11.446543,"ema20":11.433517,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.512255,"dist_to_hod_atr":0.866114,"atr":0.06812,"spread_atr":0.146799,"own_change_pct":0.219599,"rel_strength_pct":{"SPY":0.301162,"IWM":0.18785}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.159331},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"95467464b5e1","ts":"2026-08-28T13:53:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":5.0,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.4818,"ext_from_open_pct":3.74,"max_ext_allowed_pct":4.0,"volume_pace":1.471,"trend":"flat","recent_slope_pct":-0.0097,"volatility":"medium"},"price":5.55,"volume":{"bars":22,"last_bar_volume":36549.0,"baseline_avg":108010.9,"bar_rvol":0.338383,"raw_accel":-0.4569,"smooth_accel":-0.58994,"accel_momentum":-0.574304,"rvol_3bar":[0.545568,0.532821,0.338383],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":102,"trade_rate":3.4,"buy_vol":7610.0,"sell_vol":33410.0,"unclassified_vol":0.0,"imbalance":-0.628961,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.004483},"context":{"vwap":5.48034,"price_vs_vwap_pct":1.271091,"ema9":5.53565,"ema20":5.505147,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":-0.359066,"dist_to_hod_atr":0.49399,"atr":0.040487,"spread_atr":0.246995,"own_change_pct":0.707676,"rel_strength_pct":{"SPY":0.796277,"IWM":0.7745}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.21283},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"4a8262a5f7d5","ts":"2026-08-28T13:53:05+00:00","symbol":"KLAR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":14.6551,"target":15.07,"target_label":"ceiling","reward_risk":0.57,"pos_in_5d_range_pct":135.6,"room_to_5d_high_atr":-0.25},"price":14.92,"vwap":14.8706,"ext_from_open_pct":0.0,"max_ext_allowed_pct":4.0,"volume_pace":8.168,"trend":"flat","recent_slope_pct":0.1884,"volatility":"high"},"price":14.92,"volume":{"bars":23,"last_bar_volume":71449.0,"baseline_avg":103723.3,"bar_rvol":0.688842,"raw_accel":0.661141,"smooth_accel":0.32086,"accel_momentum":0.514667,"rvol_3bar":[0.143414,0.388054,0.688842],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":133,"trade_rate":4.433333,"buy_vol":13307.0,"sell_vol":13267.0,"unclassified_vol":0.0,"imbalance":0.001505,"bid":14.91,"ask":14.94,"spread_pct":0.201005,"quote_size_imbalance":null,"quote_age_s":0.100065},"context":{"vwap":14.87053,"price_vs_vwap_pct":0.33267,"ema9":14.84325,"ema20":14.828813,"ema_stack":true,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-0.995355,"dist_to_hod_atr":1.048978,"atr":0.142996,"spread_atr":0.209796,"own_change_pct":0.505902,"rel_strength_pct":{"SPY":0.594504,"IWM":0.572727}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.001037},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2e2e6dec4445","ts":"2026-08-28T13:53:05+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.43 below VWAP $11.43","plan":{"state":"PASS","setup":"","stop":11.2623,"target":11.48,"target_label":"range_20d_high","reward_risk":0.3,"pos_in_5d_range_pct":109.6,"room_to_5d_high_atr":-0.13},"price":11.43,"vwap":11.431,"ext_from_open_pct":-0.44,"max_ext_allowed_pct":3.0,"volume_pace":1.497,"trend":"flat","recent_slope_pct":-0.1132,"volatility":"medium"},"price":11.43,"volume":{"bars":23,"last_bar_volume":6273.0,"baseline_avg":23075.55,"bar_rvol":0.271846,"raw_accel":-0.395082,"smooth_accel":-0.310831,"accel_momentum":0.029,"rvol_3bar":[1.093705,0.431884,0.271846],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":17,"trade_rate":0.566667,"buy_vol":951.0,"sell_vol":397.0,"unclassified_vol":0.0,"imbalance":0.410979,"bid":11.43,"ask":11.44,"spread_pct":0.087451,"quote_size_imbalance":null,"quote_age_s":0.948307},"context":{"vwap":11.430981,"price_vs_vwap_pct":-0.008578,"ema9":11.445234,"ema20":11.434134,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.761437,"dist_to_hod_atr":1.311521,"atr":0.066869,"spread_atr":0.149546,"own_change_pct":0.175131,"rel_strength_pct":{"SPY":0.263733,"IWM":0.241956}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.111723},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"1e86fcfd0bf4","ts":"2026-08-28T13:53:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.1% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":4.02,"pos_in_5d_range_pct":50.3,"room_to_5d_high_atr":1.43},"price":5.5675,"vwap":5.4829,"ext_from_open_pct":4.07,"max_ext_allowed_pct":4.0,"volume_pace":1.482,"trend":"flat","recent_slope_pct":0.045,"volatility":"medium"},"price":5.5675,"volume":{"bars":23,"last_bar_volume":58103.0,"baseline_avg":107227.4,"bar_rvol":0.541867,"raw_accel":0.589729,"smooth_accel":-0.631377,"accel_momentum":-0.041437,"rvol_3bar":[0.532821,0.338383,0.541867],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":178,"trade_rate":5.933333,"buy_vol":40612.0,"sell_vol":35543.0,"unclassified_vol":0.0,"imbalance":0.066562,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.217624},"context":{"vwap":5.481775,"price_vs_vwap_pct":1.563817,"ema9":5.53852,"ema20":5.509419,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":-0.044883,"dist_to_hod_atr":0.065234,"atr":0.038323,"spread_atr":0.260938,"own_change_pct":0.180505,"rel_strength_pct":{"SPY":0.269107,"IWM":0.24733}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.036068},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"58d14a64af3b","ts":"2026-08-28T13:53:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":4.4,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.483,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":1.48,"trend":"flat","recent_slope_pct":0.018,"volatility":"medium"},"price":5.56,"volume":{"bars":23,"last_bar_volume":58103.0,"baseline_avg":107227.4,"bar_rvol":0.541867,"raw_accel":0.589729,"smooth_accel":-0.631377,"accel_momentum":-0.041437,"rvol_3bar":[0.532821,0.338383,0.541867],"trend_3bar":"MIXED","projected_rvol":1.654913},"flow":{"window_s":30,"trades":185,"trade_rate":6.166667,"buy_vol":40908.0,"sell_vol":38912.0,"unclassified_vol":0.0,"imbalance":0.025006,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":4.075956},"context":{"vwap":5.481775,"price_vs_vwap_pct":1.427,"ema9":5.53852,"ema20":5.509419,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":-0.179533,"dist_to_hod_atr":0.260938,"atr":0.038323,"spread_atr":0.260938,"own_change_pct":0.180505,"rel_strength_pct":{"SPY":0.269107,"IWM":0.24733}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.01355},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"dd592cbda15e","ts":"2026-08-28T13:53:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.0% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":4.14,"pos_in_5d_range_pct":50.0,"room_to_5d_high_atr":1.44},"price":5.565,"vwap":5.4831,"ext_from_open_pct":4.02,"max_ext_allowed_pct":4.0,"volume_pace":1.476,"trend":"flat","recent_slope_pct":0.036,"volatility":"medium"},"price":5.565,"volume":{"bars":23,"last_bar_volume":58103.0,"baseline_avg":107227.4,"bar_rvol":0.541867,"raw_accel":0.589729,"smooth_accel":-0.631377,"accel_momentum":-0.041437,"rvol_3bar":[0.532821,0.338383,0.541867],"trend_3bar":"MIXED","projected_rvol":1.350466},"flow":{"window_s":30,"trades":186,"trade_rate":6.2,"buy_vol":40788.0,"sell_vol":41979.0,"unclassified_vol":0.0,"imbalance":-0.01439,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.091193},"context":{"vwap":5.481775,"price_vs_vwap_pct":1.518212,"ema9":5.53852,"ema20":5.509419,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":-0.089767,"dist_to_hod_atr":0.130469,"atr":0.038323,"spread_atr":0.260938,"own_change_pct":0.180505,"rel_strength_pct":{"SPY":0.269107,"IWM":0.24733}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.007797},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d8f625153ade","ts":"2026-08-28T13:53:25+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":4.4,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.4832,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":1.473,"trend":"flat","recent_slope_pct":0.018,"volatility":"medium"},"price":5.56,"volume":{"bars":23,"last_bar_volume":58103.0,"baseline_avg":107227.4,"bar_rvol":0.541867,"raw_accel":0.589729,"smooth_accel":-0.631377,"accel_momentum":-0.041437,"rvol_3bar":[0.532821,0.338383,0.541867],"trend_3bar":"MIXED","projected_rvol":1.15983},"flow":{"window_s":30,"trades":183,"trade_rate":6.1,"buy_vol":42874.0,"sell_vol":10343.0,"unclassified_vol":0.0,"imbalance":0.61129,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.22775},"context":{"vwap":5.481775,"price_vs_vwap_pct":1.427,"ema9":5.53852,"ema20":5.509419,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":-0.179533,"dist_to_hod_atr":0.260938,"atr":0.038323,"spread_atr":0.260938,"own_change_pct":0.180505,"rel_strength_pct":{"SPY":0.269107,"IWM":0.24733}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.331238},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"24efb896b9ce","ts":"2026-08-28T13:53:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":3.91,"pos_in_5d_range_pct":50.6,"room_to_5d_high_atr":1.43},"price":5.57,"vwap":5.4834,"ext_from_open_pct":4.11,"max_ext_allowed_pct":3.0,"volume_pace":1.471,"trend":"flat","recent_slope_pct":0.054,"volatility":"medium"},"price":5.57,"volume":{"bars":23,"last_bar_volume":58103.0,"baseline_avg":107227.4,"bar_rvol":0.541867,"raw_accel":0.589729,"smooth_accel":-0.631377,"accel_momentum":-0.041437,"rvol_3bar":[0.532821,0.338383,0.541867],"trend_3bar":"MIXED","projected_rvol":1.068831},"flow":{"window_s":30,"trades":202,"trade_rate":6.733333,"buy_vol":46530.0,"sell_vol":10774.0,"unclassified_vol":0.0,"imbalance":0.62397,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.004456},"context":{"vwap":5.481775,"price_vs_vwap_pct":1.609423,"ema9":5.53852,"ema20":5.509419,"ema_stack":true,"ema_warm":true,"hod":5.57,"dist_to_hod_pct":0.0,"dist_to_hod_atr":0.0,"atr":0.038323,"spread_atr":0.260938,"own_change_pct":0.180505,"rel_strength_pct":{"SPY":0.269107,"IWM":0.24733}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.338109},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ea7d2e767390","ts":"2026-08-28T13:53:40+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":11.2873,"target":11.455,"target_label":"clear air (typical 60-min move)","reward_risk":0.0,"pos_in_5d_range_pct":112.2,"room_to_5d_high_atr":-0.17},"price":11.455,"vwap":11.4311,"ext_from_open_pct":-0.22,"max_ext_allowed_pct":3.0,"volume_pace":1.472,"trend":"flat","recent_slope_pct":-0.0695,"volatility":"medium"},"price":11.455,"volume":{"bars":23,"last_bar_volume":6273.0,"baseline_avg":23075.55,"bar_rvol":0.271846,"raw_accel":-0.395082,"smooth_accel":-0.310831,"accel_momentum":0.029,"rvol_3bar":[1.093705,0.431884,0.271846],"trend_3bar":"DECELERATING","projected_rvol":0.353231},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":1369.0,"sell_vol":1715.0,"unclassified_vol":0.0,"imbalance":-0.112192,"bid":11.45,"ask":11.46,"spread_pct":0.087298,"quote_size_imbalance":null,"quote_age_s":1.078849},"context":{"vwap":11.430981,"price_vs_vwap_pct":0.210126,"ema9":11.445234,"ema20":11.434134,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.54438,"dist_to_hod_atr":0.937655,"atr":0.066869,"spread_atr":0.149546,"own_change_pct":0.175131,"rel_strength_pct":{"SPY":0.263733,"IWM":0.241956}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.030499},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"5b27b47cf9d0","ts":"2026-08-28T13:53:55+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3299,"target":13.64,"target_label":"premarket_high","reward_risk":1.28,"pos_in_5d_range_pct":34.3,"room_to_5d_high_atr":1.13},"price":13.466,"vwap":13.4414,"ext_from_open_pct":-0.47,"max_ext_allowed_pct":3.0,"volume_pace":0.951,"trend":"flat","recent_slope_pct":0.0313,"volatility":"medium"},"price":13.466,"volume":{"bars":23,"last_bar_volume":13109.0,"baseline_avg":20512.35,"bar_rvol":0.639078,"raw_accel":0.889449,"smooth_accel":0.117813,"accel_momentum":0.454515,"rvol_3bar":[0.317151,0.302222,0.639078],"trend_3bar":"MIXED","projected_rvol":1.561773},"flow":{"window_s":30,"trades":124,"trade_rate":4.133333,"buy_vol":21240.0,"sell_vol":4469.0,"unclassified_vol":0.0,"imbalance":0.65234,"bid":13.46,"ask":13.47,"spread_pct":0.074267,"quote_size_imbalance":null,"quote_age_s":0.183864},"context":{"vwap":13.440938,"price_vs_vwap_pct":0.186461,"ema9":13.425195,"ema20":13.424183,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-0.693215,"dist_to_hod_atr":1.798899,"atr":0.052254,"spread_atr":0.191372,"own_change_pct":0.037244,"rel_strength_pct":{"SPY":0.125846,"IWM":0.104069}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.416896},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d0a220ccb8b9","ts":"2026-08-28T13:54:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":11.3073,"target":11.475,"target_label":"clear air (typical 60-min move)","reward_risk":0.0,"pos_in_5d_range_pct":114.4,"room_to_5d_high_atr":-0.2},"price":11.475,"vwap":11.4314,"ext_from_open_pct":-0.04,"max_ext_allowed_pct":3.0,"volume_pace":1.452,"trend":"flat","recent_slope_pct":-0.0213,"volatility":"medium"},"price":11.475,"volume":{"bars":24,"last_bar_volume":7785.0,"baseline_avg":22852.6,"bar_rvol":0.340661,"raw_accel":0.241033,"smooth_accel":-0.752936,"accel_momentum":-0.442105,"rvol_3bar":[0.431884,0.271846,0.340661],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":24,"trade_rate":0.8,"buy_vol":2734.0,"sell_vol":897.0,"unclassified_vol":0.0,"imbalance":0.505921,"bid":11.47,"ask":11.48,"spread_pct":0.087146,"quote_size_imbalance":null,"quote_age_s":0.637799},"context":{"vwap":11.431389,"price_vs_vwap_pct":0.381501,"ema9":11.452187,"ema20":11.438503,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.370734,"dist_to_hod_atr":0.644184,"atr":0.066285,"spread_atr":0.150863,"own_change_pct":0.162284,"rel_strength_pct":{"SPY":0.272268,"IWM":0.212382}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.172348},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"50580fc47823","ts":"2026-08-28T13:54:05+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":4.9674,"target":5.14,"target_label":"ceiling","reward_risk":0.6,"pos_in_5d_range_pct":27.9,"room_to_5d_high_atr":1.47},"price":5.075,"vwap":5.0566,"ext_from_open_pct":0.3,"max_ext_allowed_pct":3.0,"volume_pace":0.558,"trend":"flat","recent_slope_pct":0.3385,"volatility":"high"},"price":5.075,"volume":{"bars":24,"last_bar_volume":38706.0,"baseline_avg":31517.05,"bar_rvol":1.228097,"raw_accel":-0.035869,"smooth_accel":0.140016,"accel_momentum":-1.364145,"rvol_3bar":[3.528634,1.331787,1.228097],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":191,"trade_rate":6.366667,"buy_vol":21461.0,"sell_vol":60091.0,"unclassified_vol":0.0,"imbalance":-0.473686,"bid":5.06,"ask":5.08,"spread_pct":0.394477,"quote_size_imbalance":null,"quote_age_s":0.184491},"context":{"vwap":5.055115,"price_vs_vwap_pct":0.393371,"ema9":5.044557,"ema20":5.051815,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.264591,"dist_to_hod_atr":1.450714,"atr":0.044806,"spread_atr":0.446374,"own_change_pct":0.221344,"rel_strength_pct":{"SPY":0.331328,"IWM":0.271442}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":0,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.581732},"shadow":{"decision":"FAIL","failed":["vas","imbalance","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"f6041c878b2d","ts":"2026-08-28T13:54:05+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 10.0s / 18s","plan":{"state":"WATCH","setup":"","stop":13.3239,"target":13.64,"target_label":"premarket_high","reward_risk":1.32,"pos_in_5d_range_pct":33.7,"room_to_5d_high_atr":1.14},"price":13.46,"vwap":13.4415,"ext_from_open_pct":-0.52,"max_ext_allowed_pct":4.0,"volume_pace":0.95,"trend":"flat","recent_slope_pct":0.041,"volatility":"medium"},"price":13.46,"volume":{"bars":24,"last_bar_volume":29951.0,"baseline_avg":19504.65,"bar_rvol":1.535583,"raw_accel":1.284766,"smooth_accel":0.899115,"accel_momentum":0.781302,"rvol_3bar":[0.302222,0.639078,1.535583],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":84,"trade_rate":2.8,"buy_vol":11698.0,"sell_vol":3815.0,"unclassified_vol":0.0,"imbalance":0.508154,"bid":13.45,"ask":13.46,"spread_pct":0.074322,"quote_size_imbalance":null,"quote_age_s":0.020087},"context":{"vwap":13.441449,"price_vs_vwap_pct":0.138011,"ema9":13.434156,"ema20":13.428547,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-0.737463,"dist_to_hod_atr":1.919637,"atr":0.052093,"spread_atr":0.191964,"own_change_pct":0.185943,"rel_strength_pct":{"SPY":0.295927,"IWM":0.236041}},"vas":{"raw":7,"score":8.8,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.780313},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c2231c16944f","ts":"2026-08-28T13:54:10+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":4.9523,"target":5.14,"target_label":"ceiling","reward_risk":0.74,"pos_in_5d_range_pct":26.2,"room_to_5d_high_atr":1.51},"price":5.0599,"vwap":5.0559,"ext_from_open_pct":-0.0,"max_ext_allowed_pct":3.0,"volume_pace":0.558,"trend":"flat","recent_slope_pct":0.2788,"volatility":"high"},"price":5.0599,"volume":{"bars":24,"last_bar_volume":38706.0,"baseline_avg":31517.05,"bar_rvol":1.228097,"raw_accel":-0.035869,"smooth_accel":0.140016,"accel_momentum":-1.364145,"rvol_3bar":[3.528634,1.331787,1.228097],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":204,"trade_rate":6.8,"buy_vol":22382.0,"sell_vol":57757.0,"unclassified_vol":0.0,"imbalance":-0.441421,"bid":5.04,"ask":5.06,"spread_pct":0.39604,"quote_size_imbalance":null,"quote_age_s":0.984432},"context":{"vwap":5.055115,"price_vs_vwap_pct":0.094664,"ema9":5.044557,"ema20":5.051815,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.558366,"dist_to_hod_atr":1.787726,"atr":0.044806,"spread_atr":0.446374,"own_change_pct":0.221344,"rel_strength_pct":{"SPY":0.331328,"IWM":0.271442}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":0,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.542107},"shadow":{"decision":"FAIL","failed":["vas","imbalance","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"c3a1c85ac168","ts":"2026-08-28T13:54:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":4.54,"pos_in_5d_range_pct":49.1,"room_to_5d_high_atr":1.47},"price":5.5575,"vwap":5.4856,"ext_from_open_pct":3.88,"max_ext_allowed_pct":4.0,"volume_pace":1.468,"trend":"flat","recent_slope_pct":0.045,"volatility":"medium"},"price":5.5575,"volume":{"bars":24,"last_bar_volume":116093.0,"baseline_avg":105392.6,"bar_rvol":1.101529,"raw_accel":0.998055,"smooth_accel":-0.322747,"accel_momentum":0.30863,"rvol_3bar":[0.338383,0.541867,1.101529],"trend_3bar":"ACCELERATING","projected_rvol":0.880555},"flow":{"window_s":30,"trades":166,"trade_rate":5.533333,"buy_vol":20472.0,"sell_vol":13972.0,"unclassified_vol":0.0,"imbalance":0.188712,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.907091},"context":{"vwap":5.485014,"price_vs_vwap_pct":1.321535,"ema9":5.542816,"ema20":5.514236,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.403226,"dist_to_hod_atr":0.585281,"atr":0.038443,"spread_atr":0.260125,"own_change_pct":0.17657,"rel_strength_pct":{"SPY":0.286554,"IWM":0.226669}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.207872},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"768d565f11e4","ts":"2026-08-28T13:54:30+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":11.2923,"target":11.46,"target_label":"clear air (typical 60-min move)","reward_risk":0.0,"pos_in_5d_range_pct":112.8,"room_to_5d_high_atr":-0.18},"price":11.46,"vwap":11.4318,"ext_from_open_pct":-0.17,"max_ext_allowed_pct":3.0,"volume_pace":1.446,"trend":"flat","recent_slope_pct":-0.0474,"volatility":"medium"},"price":11.46,"volume":{"bars":24,"last_bar_volume":7785.0,"baseline_avg":22852.6,"bar_rvol":0.340661,"raw_accel":0.241033,"smooth_accel":-0.752936,"accel_momentum":-0.442105,"rvol_3bar":[0.431884,0.271846,0.340661],"trend_3bar":"MIXED","projected_rvol":0.772166},"flow":{"window_s":30,"trades":24,"trade_rate":0.8,"buy_vol":3717.0,"sell_vol":5106.0,"unclassified_vol":0.0,"imbalance":-0.157429,"bid":11.45,"ask":11.46,"spread_pct":0.087298,"quote_size_imbalance":null,"quote_age_s":0.005103},"context":{"vwap":11.431389,"price_vs_vwap_pct":0.250283,"ema9":11.452187,"ema20":11.438503,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.500968,"dist_to_hod_atr":0.870478,"atr":0.066285,"spread_atr":0.150863,"own_change_pct":0.162284,"rel_strength_pct":{"SPY":0.272268,"IWM":0.212382}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.05363},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"181a3d2dce14","ts":"2026-08-28T13:54:35+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":10.8751,"target":11.29,"target_label":"premarket_high","reward_risk":1.08,"pos_in_5d_range_pct":-5.4,"room_to_5d_high_atr":1.56},"price":11.075,"vwap":11.0467,"ext_from_open_pct":-0.58,"max_ext_allowed_pct":3.0,"volume_pace":2.13,"trend":"flat","recent_slope_pct":0.0802,"volatility":"high"},"price":11.075,"volume":{"bars":24,"last_bar_volume":13457.0,"baseline_avg":36067.1,"bar_rvol":0.37311,"raw_accel":-0.719102,"smooth_accel":0.343956,"accel_momentum":-0.054962,"rvol_3bar":[0.972289,1.349105,0.37311],"trend_3bar":"MIXED","projected_rvol":0.373162},"flow":{"window_s":30,"trades":87,"trade_rate":2.9,"buy_vol":2359.0,"sell_vol":4364.0,"unclassified_vol":0.0,"imbalance":-0.29823,"bid":11.07,"ask":11.08,"spread_pct":0.090293,"quote_size_imbalance":null,"quote_age_s":0.396457},"context":{"vwap":11.046624,"price_vs_vwap_pct":0.256873,"ema9":11.030804,"ema20":11.032841,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.956009,"dist_to_hod_atr":1.523366,"atr":0.070174,"spread_atr":0.142504,"own_change_pct":0.898815,"rel_strength_pct":{"SPY":1.008799,"IWM":0.948913}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":2,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.111273},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"138f588ee788","ts":"2026-08-28T13:54:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.8% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":4.68,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.4864,"ext_from_open_pct":3.83,"max_ext_allowed_pct":3.0,"volume_pace":1.459,"trend":"flat","recent_slope_pct":0.036,"volatility":"medium"},"price":5.555,"volume":{"bars":24,"last_bar_volume":116093.0,"baseline_avg":105392.6,"bar_rvol":1.101529,"raw_accel":0.998055,"smooth_accel":-0.322747,"accel_momentum":0.30863,"rvol_3bar":[0.338383,0.541867,1.101529],"trend_3bar":"ACCELERATING","projected_rvol":0.767559},"flow":{"window_s":30,"trades":103,"trade_rate":3.433333,"buy_vol":30574.0,"sell_vol":11404.0,"unclassified_vol":0.0,"imbalance":0.456668,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.63461},"context":{"vwap":5.485014,"price_vs_vwap_pct":1.275956,"ema9":5.542816,"ema20":5.514236,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.448029,"dist_to_hod_atr":0.650313,"atr":0.038443,"spread_atr":0.260125,"own_change_pct":0.17657,"rel_strength_pct":{"SPY":0.286554,"IWM":0.226669}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.503033},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"530b4e9a6762","ts":"2026-08-28T13:54:40+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":10.8703,"target":11.14,"target_label":"ceiling","reward_risk":0.35,"pos_in_5d_range_pct":-5.8,"room_to_5d_high_atr":1.57},"price":11.0701,"vwap":11.0467,"ext_from_open_pct":-0.63,"max_ext_allowed_pct":3.0,"volume_pace":2.125,"trend":"flat","recent_slope_pct":0.0714,"volatility":"high"},"price":11.0701,"volume":{"bars":24,"last_bar_volume":13457.0,"baseline_avg":36067.1,"bar_rvol":0.37311,"raw_accel":-0.719102,"smooth_accel":0.343956,"accel_momentum":-0.054962,"rvol_3bar":[0.972289,1.349105,0.37311],"trend_3bar":"MIXED","projected_rvol":0.382038},"flow":{"window_s":30,"trades":76,"trade_rate":2.533333,"buy_vol":2332.0,"sell_vol":3312.0,"unclassified_vol":0.0,"imbalance":-0.173636,"bid":11.07,"ask":11.08,"spread_pct":0.090293,"quote_size_imbalance":null,"quote_age_s":0.015945},"context":{"vwap":11.046624,"price_vs_vwap_pct":0.212516,"ema9":11.030804,"ema20":11.032841,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.99983,"dist_to_hod_atr":1.593193,"atr":0.070174,"spread_atr":0.142504,"own_change_pct":0.898815,"rel_strength_pct":{"SPY":1.008799,"IWM":0.948913}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":2,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.064785},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d1779193297f","ts":"2026-08-28T13:54:45+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":10.8751,"target":11.29,"target_label":"premarket_high","reward_risk":1.08,"pos_in_5d_range_pct":-5.4,"room_to_5d_high_atr":1.56},"price":11.075,"vwap":11.0467,"ext_from_open_pct":-0.58,"max_ext_allowed_pct":4.0,"volume_pace":2.119,"trend":"flat","recent_slope_pct":0.0802,"volatility":"high"},"price":11.075,"volume":{"bars":24,"last_bar_volume":13457.0,"baseline_avg":36067.1,"bar_rvol":0.37311,"raw_accel":-0.719102,"smooth_accel":0.343956,"accel_momentum":-0.054962,"rvol_3bar":[0.972289,1.349105,0.37311],"trend_3bar":"MIXED","projected_rvol":0.347833},"flow":{"window_s":30,"trades":75,"trade_rate":2.5,"buy_vol":2555.0,"sell_vol":3008.0,"unclassified_vol":0.0,"imbalance":-0.081431,"bid":11.07,"ask":11.08,"spread_pct":0.090293,"quote_size_imbalance":null,"quote_age_s":0.030126},"context":{"vwap":11.046624,"price_vs_vwap_pct":0.256873,"ema9":11.030804,"ema20":11.032841,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.956009,"dist_to_hod_atr":1.523366,"atr":0.070174,"spread_atr":0.142504,"own_change_pct":0.898815,"rel_strength_pct":{"SPY":1.008799,"IWM":0.948913}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.030383},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0784abe34681","ts":"2026-08-28T13:54:50+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.04 below VWAP $11.05","plan":{"state":"PASS","setup":"","stop":10.8392,"target":11.14,"target_label":"ceiling","reward_risk":0.51,"pos_in_5d_range_pct":-8.4,"room_to_5d_high_atr":1.61},"price":11.039,"vwap":11.0466,"ext_from_open_pct":-0.91,"max_ext_allowed_pct":4.0,"volume_pace":2.112,"trend":"flat","recent_slope_pct":0.0151,"volatility":"high"},"price":11.039,"volume":{"bars":24,"last_bar_volume":13457.0,"baseline_avg":36067.1,"bar_rvol":0.37311,"raw_accel":-0.719102,"smooth_accel":0.343956,"accel_momentum":-0.054962,"rvol_3bar":[0.972289,1.349105,0.37311],"trend_3bar":"MIXED","projected_rvol":0.319072},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":2698.0,"sell_vol":2870.0,"unclassified_vol":0.0,"imbalance":-0.030891,"bid":11.07,"ask":11.08,"spread_pct":0.090293,"quote_size_imbalance":null,"quote_age_s":0.329189},"context":{"vwap":11.046624,"price_vs_vwap_pct":-0.069018,"ema9":11.030804,"ema20":11.032841,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.277958,"dist_to_hod_atr":2.036379,"atr":0.070174,"spread_atr":0.142504,"own_change_pct":0.898815,"rel_strength_pct":{"SPY":1.008799,"IWM":0.948913}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.011526},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"57c99cec0f20","ts":"2026-08-28T13:54:55+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":10.8751,"target":11.29,"target_label":"premarket_high","reward_risk":1.08,"pos_in_5d_range_pct":-5.4,"room_to_5d_high_atr":1.56},"price":11.075,"vwap":11.0467,"ext_from_open_pct":-0.58,"max_ext_allowed_pct":3.0,"volume_pace":2.109,"trend":"flat","recent_slope_pct":0.0802,"volatility":"high"},"price":11.075,"volume":{"bars":24,"last_bar_volume":13457.0,"baseline_avg":36067.1,"bar_rvol":0.37311,"raw_accel":-0.719102,"smooth_accel":0.343956,"accel_momentum":-0.054962,"rvol_3bar":[0.972289,1.349105,0.37311],"trend_3bar":"MIXED","projected_rvol":0.349107},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":2368.0,"sell_vol":2787.0,"unclassified_vol":0.0,"imbalance":-0.08128,"bid":11.07,"ask":11.08,"spread_pct":0.090293,"quote_size_imbalance":null,"quote_age_s":2.064219},"context":{"vwap":11.046624,"price_vs_vwap_pct":0.256873,"ema9":11.030804,"ema20":11.032841,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.956009,"dist_to_hod_atr":1.523366,"atr":0.070174,"spread_atr":0.142504,"own_change_pct":0.898815,"rel_strength_pct":{"SPY":1.008799,"IWM":0.948913}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.030327},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"61719d62c167","ts":"2026-08-28T13:55:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.46,"target":6.0,"target_label":"range_20d_high","reward_risk":4.68,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.4871,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":1.453,"trend":"flat","recent_slope_pct":0.036,"volatility":"medium"},"price":5.555,"volume":{"bars":24,"last_bar_volume":116093.0,"baseline_avg":105392.6,"bar_rvol":1.101529,"raw_accel":0.998055,"smooth_accel":-0.322747,"accel_momentum":0.30863,"rvol_3bar":[0.338383,0.541867,1.101529],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":83,"trade_rate":2.766667,"buy_vol":24335.0,"sell_vol":10396.0,"unclassified_vol":0.0,"imbalance":0.401342,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.004381},"context":{"vwap":5.485014,"price_vs_vwap_pct":1.275956,"ema9":5.542816,"ema20":5.514236,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.448029,"dist_to_hod_atr":0.650313,"atr":0.038443,"spread_atr":0.260125,"own_change_pct":0.17657,"rel_strength_pct":{"SPY":0.230964,"IWM":0.211656}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.44209},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"38ccb2339127","ts":"2026-08-28T13:55:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":11.3023,"target":11.47,"target_label":"clear air (typical 60-min move)","reward_risk":0.0,"pos_in_5d_range_pct":113.8,"room_to_5d_high_atr":-0.19},"price":11.47,"vwap":11.432,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.419,"trend":"flat","recent_slope_pct":0.0536,"volatility":"medium"},"price":11.47,"volume":{"bars":25,"last_bar_volume":10772.0,"baseline_avg":21382.2,"bar_rvol":0.503784,"raw_accel":0.383687,"smooth_accel":-0.576222,"accel_momentum":0.176714,"rvol_3bar":[0.271846,0.340661,0.503784],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":1295.0,"sell_vol":1176.0,"unclassified_vol":0.0,"imbalance":0.048159,"bid":11.47,"ask":11.48,"spread_pct":0.087146,"quote_size_imbalance":null,"quote_age_s":0.153432},"context":{"vwap":11.431954,"price_vs_vwap_pct":0.332804,"ema9":11.45603,"ema20":11.441636,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.414145,"dist_to_hod_atr":0.748982,"atr":0.063686,"spread_atr":0.157019,"own_change_pct":0.055822,"rel_strength_pct":{"SPY":0.110216,"IWM":0.090907}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.024262},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"cf51c0763de0","ts":"2026-08-28T13:55:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":10.8802,"target":11.29,"target_label":"premarket_high","reward_risk":1.05,"pos_in_5d_range_pct":-5.0,"room_to_5d_high_atr":1.56},"price":11.08,"vwap":11.0468,"ext_from_open_pct":-0.54,"max_ext_allowed_pct":3.0,"volume_pace":2.111,"trend":"flat","recent_slope_pct":0.0693,"volatility":"high"},"price":11.08,"volume":{"bars":25,"last_bar_volume":18973.0,"baseline_avg":34717.55,"bar_rvol":0.546496,"raw_accel":0.409898,"smooth_accel":-0.090655,"accel_momentum":-0.434611,"rvol_3bar":[1.349105,0.37311,0.546496],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":95,"trade_rate":3.166667,"buy_vol":8050.0,"sell_vol":3832.0,"unclassified_vol":0.0,"imbalance":0.354991,"bid":11.07,"ask":11.08,"spread_pct":0.090293,"quote_size_imbalance":null,"quote_age_s":0.257991},"context":{"vwap":11.04676,"price_vs_vwap_pct":0.300899,"ema9":11.039943,"ema20":11.036999,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.911294,"dist_to_hod_atr":1.44692,"atr":0.070425,"spread_atr":0.141994,"own_change_pct":0.832954,"rel_strength_pct":{"SPY":0.887348,"IWM":0.868039}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.194001},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4c4e3e67e52f","ts":"2026-08-28T13:55:10+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 5.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.8502,"target":11.14,"target_label":"ceiling","reward_risk":0.45,"pos_in_5d_range_pct":-7.5,"room_to_5d_high_atr":1.59},"price":11.05,"vwap":11.0469,"ext_from_open_pct":-0.81,"max_ext_allowed_pct":3.0,"volume_pace":2.122,"trend":"flat","recent_slope_pct":0.0151,"volatility":"high"},"price":11.05,"volume":{"bars":25,"last_bar_volume":18973.0,"baseline_avg":34717.55,"bar_rvol":0.546496,"raw_accel":0.409898,"smooth_accel":-0.090655,"accel_momentum":-0.434611,"rvol_3bar":[1.349105,0.37311,0.546496],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":135,"trade_rate":4.5,"buy_vol":9687.0,"sell_vol":10243.0,"unclassified_vol":0.0,"imbalance":-0.027898,"bid":11.04,"ask":11.06,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.125443},"context":{"vwap":11.04676,"price_vs_vwap_pct":0.029326,"ema9":11.039943,"ema20":11.036999,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.179585,"dist_to_hod_atr":1.872902,"atr":0.070425,"spread_atr":0.283988,"own_change_pct":0.832954,"rel_strength_pct":{"SPY":0.887348,"IWM":0.868039}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.015246},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"cd533dbf8007","ts":"2026-08-28T13:55:35+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.9849,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.592,"trend":"flat","recent_slope_pct":-0.0408,"volatility":"low"},"price":10.98,"volume":{"bars":25,"last_bar_volume":59204.0,"baseline_avg":69245.45,"bar_rvol":0.854988,"raw_accel":2.41995,"smooth_accel":-0.007602,"accel_momentum":0.449802,"rvol_3bar":[0.293693,0.207103,0.854988],"trend_3bar":"MIXED","projected_rvol":0.126853},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":2482.0,"sell_vol":2115.0,"unclassified_vol":0.0,"imbalance":0.079835,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.238593},"context":{"vwap":10.984948,"price_vs_vwap_pct":-0.04504,"ema9":10.990497,"ema20":10.98866,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.07125,"atr":0.01867,"spread_atr":0.535625,"own_change_pct":-0.080954,"rel_strength_pct":{"SPY":-0.02656,"IWM":-0.045869}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.068258},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"08a0617e21d5","ts":"2026-08-28T13:55:40+00:00","symbol":"KLAR","event":"WAIT","bot":{"state":"WAIT","reason":"held 155.0s, plan says PASS; stop 14.73, target 20.99 (range_20d_high), R:R 22.65; target 6.00 away > ~0.76 reachable in 359 min","plan":{"state":"PASS","setup":"","stop":14.7251,"target":20.99,"target_label":"range_20d_high","reward_risk":22.65,"pos_in_5d_range_pct":145.2,"room_to_5d_high_atr":-0.31},"price":14.99,"vwap":14.8742,"ext_from_open_pct":0.47,"max_ext_allowed_pct":5.0,"volume_pace":7.735,"trend":"flat","recent_slope_pct":0.2301,"volatility":"high"},"price":14.99,"volume":{"bars":25,"last_bar_volume":67012.0,"baseline_avg":98607.3,"bar_rvol":0.679585,"raw_accel":0.023568,"smooth_accel":1.326295,"accel_momentum":0.212207,"rvol_3bar":[0.688842,0.651603,0.679585],"trend_3bar":"MIXED","projected_rvol":0.603637},"flow":{"window_s":30,"trades":152,"trade_rate":5.066667,"buy_vol":24116.0,"sell_vol":11375.0,"unclassified_vol":0.0,"imbalance":0.358992,"bid":14.95,"ask":14.99,"spread_pct":0.267201,"quote_size_imbalance":null,"quote_age_s":0.829638},"context":{"vwap":14.873071,"price_vs_vwap_pct":0.786179,"ema9":14.88028,"ema20":14.849731,"ema_stack":true,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-0.530856,"dist_to_hod_atr":0.598556,"atr":0.133655,"spread_atr":0.299278,"own_change_pct":1.045884,"rel_strength_pct":{"SPY":1.100278,"IWM":1.080969}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.243966},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"139db403ccba","ts":"2026-08-28T13:55:40+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":4.0,"volume_pace":2.584,"trend":"flat","recent_slope_pct":-0.0226,"volatility":"low"},"price":10.99,"volume":{"bars":25,"last_bar_volume":59204.0,"baseline_avg":69245.45,"bar_rvol":0.854988,"raw_accel":2.41995,"smooth_accel":-0.007602,"accel_momentum":0.449802,"rvol_3bar":[0.293693,0.207103,0.854988],"trend_3bar":"MIXED","projected_rvol":0.117863},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":2597.0,"sell_vol":1616.0,"unclassified_vol":0.0,"imbalance":0.232851,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.75974},"context":{"vwap":10.984948,"price_vs_vwap_pct":0.045994,"ema9":10.990497,"ema20":10.98866,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.535625,"atr":0.01867,"spread_atr":0.535625,"own_change_pct":-0.080954,"rel_strength_pct":{"SPY":-0.02656,"IWM":-0.045869}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.199084},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8fce57fdf45f","ts":"2026-08-28T13:55:40+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 35.0s, plan says WATCH; stop 10.88, target 11.29 (premarket_high), R:R 1.08; R:R 1.08 < 2.0 at 11.07; breakout: 1-min close > 11.15 on >= 63872 sh","plan":{"state":"WATCH","setup":"","stop":10.8751,"target":11.29,"target_label":"premarket_high","reward_risk":1.08,"pos_in_5d_range_pct":-5.4,"room_to_5d_high_atr":1.56},"price":11.075,"vwap":11.047,"ext_from_open_pct":-0.58,"max_ext_allowed_pct":4.0,"volume_pace":2.087,"trend":"flat","recent_slope_pct":0.0603,"volatility":"high"},"price":11.075,"volume":{"bars":25,"last_bar_volume":18973.0,"baseline_avg":34717.55,"bar_rvol":0.546496,"raw_accel":0.409898,"smooth_accel":-0.090655,"accel_momentum":-0.434611,"rvol_3bar":[1.349105,0.37311,0.546496],"trend_3bar":"MIXED","projected_rvol":0.569885},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":1701.0,"sell_vol":1346.0,"unclassified_vol":0.0,"imbalance":0.116508,"bid":11.06,"ask":11.08,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.058382},"context":{"vwap":11.04676,"price_vs_vwap_pct":0.255637,"ema9":11.039943,"ema20":11.036999,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.956009,"dist_to_hod_atr":1.517917,"atr":0.070425,"spread_atr":0.283988,"own_change_pct":0.832954,"rel_strength_pct":{"SPY":0.887348,"IWM":0.868039}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.063671},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d50d721d0bf3","ts":"2026-08-28T13:55:45+00:00","symbol":"KLAR","event":"WAIT","bot":{"state":"WAIT","reason":"held 160.0s, plan says WATCH; stop 14.70, target 15.07 (ceiling), R:R 0.40; R:R 0.40 < 2.0 at 14.96; pullback: buy 14.80-14.87 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":14.6993,"target":15.07,"target_label":"ceiling","reward_risk":0.4,"pos_in_5d_range_pct":141.7,"room_to_5d_high_atr":-0.29},"price":14.9642,"vwap":14.8741,"ext_from_open_pct":0.3,"max_ext_allowed_pct":5.0,"volume_pace":7.712,"trend":"flat","recent_slope_pct":0.1956,"volatility":"high"},"price":14.9642,"volume":{"bars":25,"last_bar_volume":67012.0,"baseline_avg":98607.3,"bar_rvol":0.679585,"raw_accel":0.023568,"smooth_accel":1.326295,"accel_momentum":0.212207,"rvol_3bar":[0.688842,0.651603,0.679585],"trend_3bar":"MIXED","projected_rvol":0.547951},"flow":{"window_s":30,"trades":114,"trade_rate":3.8,"buy_vol":23732.0,"sell_vol":5520.0,"unclassified_vol":0.0,"imbalance":0.62259,"bid":14.96,"ask":14.99,"spread_pct":0.200334,"quote_size_imbalance":null,"quote_age_s":2.402861},"context":{"vwap":14.873071,"price_vs_vwap_pct":0.612711,"ema9":14.88028,"ema20":14.849731,"ema_stack":true,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-0.702057,"dist_to_hod_atr":0.79159,"atr":0.133655,"spread_atr":0.224459,"own_change_pct":1.045884,"rel_strength_pct":{"SPY":1.100278,"IWM":1.080969}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.423102},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"05c095463aad","ts":"2026-08-28T13:55:45+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 40.0s, plan says PASS; stop 10.86, target 11.14 (ceiling), R:R 0.40; R:R 0.40 < 2.0 at 11.06; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":10.8602,"target":11.14,"target_label":"ceiling","reward_risk":0.4,"pos_in_5d_range_pct":-6.7,"room_to_5d_high_atr":1.58},"price":11.06,"vwap":11.047,"ext_from_open_pct":-0.72,"max_ext_allowed_pct":4.0,"volume_pace":2.081,"trend":"flat","recent_slope_pct":0.0332,"volatility":"high"},"price":11.06,"volume":{"bars":25,"last_bar_volume":18973.0,"baseline_avg":34717.55,"bar_rvol":0.546496,"raw_accel":0.409898,"smooth_accel":-0.090655,"accel_momentum":-0.434611,"rvol_3bar":[1.349105,0.37311,0.546496],"trend_3bar":"MIXED","projected_rvol":0.51678},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":1707.0,"sell_vol":1498.0,"unclassified_vol":0.0,"imbalance":0.065211,"bid":11.06,"ask":11.08,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":1.056081},"context":{"vwap":11.04676,"price_vs_vwap_pct":0.11985,"ema9":11.039943,"ema20":11.036999,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.090155,"dist_to_hod_atr":1.730908,"atr":0.070425,"spread_atr":0.283988,"own_change_pct":0.832954,"rel_strength_pct":{"SPY":0.887348,"IWM":0.868039}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.035637},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9a7022f79de6","ts":"2026-08-28T13:55:50+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.9849,"ext_from_open_pct":0.09,"max_ext_allowed_pct":4.0,"volume_pace":2.569,"trend":"flat","recent_slope_pct":-0.0408,"volatility":"low"},"price":10.98,"volume":{"bars":25,"last_bar_volume":59204.0,"baseline_avg":69245.45,"bar_rvol":0.854988,"raw_accel":2.41995,"smooth_accel":-0.007602,"accel_momentum":0.449802,"rvol_3bar":[0.293693,0.207103,0.854988],"trend_3bar":"MIXED","projected_rvol":0.11623},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":2577.0,"sell_vol":1796.0,"unclassified_vol":0.0,"imbalance":0.178596,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.54436},"context":{"vwap":10.984948,"price_vs_vwap_pct":-0.04504,"ema9":10.990497,"ema20":10.98866,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.07125,"atr":0.01867,"spread_atr":0.535625,"own_change_pct":-0.080954,"rel_strength_pct":{"SPY":-0.02656,"IWM":-0.045869}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.152697},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"87f5e67d188b","ts":"2026-08-28T13:55:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.46,"target":5.57,"target_label":"prev_day_high","reward_risk":0.29,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.4912,"ext_from_open_pct":3.64,"max_ext_allowed_pct":3.0,"volume_pace":1.512,"trend":"flat","recent_slope_pct":-0.009,"volatility":"medium"},"price":5.545,"volume":{"bars":25,"last_bar_volume":80535.0,"baseline_avg":104126.6,"bar_rvol":0.773433,"raw_accel":-0.306289,"smooth_accel":0.460991,"accel_momentum":0.783737,"rvol_3bar":[0.541867,1.101529,0.773433],"trend_3bar":"MIXED","projected_rvol":2.505135},"flow":{"window_s":30,"trades":279,"trade_rate":9.3,"buy_vol":52497.0,"sell_vol":140903.0,"unclassified_vol":0.0,"imbalance":-0.457115,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.156966},"context":{"vwap":5.487061,"price_vs_vwap_pct":1.055927,"ema9":5.545253,"ema20":5.518118,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.62724,"dist_to_hod_atr":0.942743,"atr":0.037126,"spread_atr":0.269355,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.054394,"IWM":0.035085}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.353548},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c7992835d7cc","ts":"2026-08-28T13:55:55+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9472,"target":11.13,"target_label":"range_20d_high","reward_risk":3.83,"pos_in_5d_range_pct":81.2,"room_to_5d_high_atr":0.3},"price":10.985,"vwap":10.9849,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":2.562,"trend":"flat","recent_slope_pct":-0.0317,"volatility":"low"},"price":10.985,"volume":{"bars":25,"last_bar_volume":59204.0,"baseline_avg":69245.45,"bar_rvol":0.854988,"raw_accel":2.41995,"smooth_accel":-0.007602,"accel_momentum":0.449802,"rvol_3bar":[0.293693,0.207103,0.854988],"trend_3bar":"MIXED","projected_rvol":0.112942},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":1939.0,"sell_vol":1847.0,"unclassified_vol":0.0,"imbalance":0.0243,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.483024},"context":{"vwap":10.984948,"price_vs_vwap_pct":0.000477,"ema9":10.990497,"ema20":10.98866,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.136364,"dist_to_hod_atr":0.803437,"atr":0.01867,"spread_atr":0.535625,"own_change_pct":-0.080954,"rel_strength_pct":{"SPY":-0.02656,"IWM":-0.045869}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.020776},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"85eea2e60f05","ts":"2026-08-28T13:56:05+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.985,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.546,"trend":"flat","recent_slope_pct":-0.0228,"volatility":"low"},"price":10.98,"volume":{"bars":26,"last_bar_volume":7422.0,"baseline_avg":70895.95,"bar_rvol":0.104689,"raw_accel":-0.874637,"smooth_accel":-0.1537,"accel_momentum":-0.146098,"rvol_3bar":[0.207103,0.854988,0.104689],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":1295.0,"sell_vol":1303.0,"unclassified_vol":0.0,"imbalance":-0.003079,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.206218},"context":{"vwap":10.984955,"price_vs_vwap_pct":-0.04511,"ema9":10.990397,"ema20":10.988787,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.101464,"atr":0.018158,"spread_atr":0.550732,"own_change_pct":0.045517,"rel_strength_pct":{"SPY":0.061063,"IWM":0.03215}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.000322},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3fc258adf528","ts":"2026-08-28T13:56:25+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.41,"target":7.0,"target_label":"prev_day_high","reward_risk":3.54,"pos_in_5d_range_pct":75.9,"room_to_5d_high_atr":1.03},"price":6.54,"vwap":6.5008,"ext_from_open_pct":-2.24,"max_ext_allowed_pct":4.0,"volume_pace":2.003,"trend":"flat","recent_slope_pct":0.432,"volatility":"high"},"price":6.54,"volume":{"bars":26,"last_bar_volume":26105.0,"baseline_avg":16047.75,"bar_rvol":1.626708,"raw_accel":3.255787,"smooth_accel":-0.54366,"accel_momentum":0.258031,"rvol_3bar":[0.361467,0.382066,1.626708],"trend_3bar":"ACCELERATING","projected_rvol":1.180577},"flow":{"window_s":30,"trades":93,"trade_rate":3.1,"buy_vol":9216.0,"sell_vol":6274.0,"unclassified_vol":0.0,"imbalance":0.189929,"bid":6.54,"ask":6.56,"spread_pct":0.305344,"quote_size_imbalance":null,"quote_age_s":2.584285},"context":{"vwap":6.500355,"price_vs_vwap_pct":0.60989,"ema9":6.473605,"ema20":6.47941,"ema_stack":false,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.539823,"dist_to_hod_atr":2.522107,"atr":0.095159,"spread_atr":0.210176,"own_change_pct":0.464037,"rel_strength_pct":{"SPY":0.479584,"IWM":0.45067}},"vas":{"raw":1,"score":5.0,"components":{"rvol":1,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.308959},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b6d2a493029b","ts":"2026-08-28T13:56:40+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.1699,"target":7.39,"target_label":"prev_day_high","reward_risk":1.53,"pos_in_5d_range_pct":73.7,"room_to_5d_high_atr":0.41},"price":7.2569,"vwap":7.2305,"ext_from_open_pct":1.07,"max_ext_allowed_pct":4.0,"volume_pace":0.888,"trend":"flat","recent_slope_pct":0.1487,"volatility":"medium"},"price":7.2569,"volume":{"bars":26,"last_bar_volume":31194.0,"baseline_avg":56760.45,"bar_rvol":0.549573,"raw_accel":1.198291,"smooth_accel":-0.376204,"accel_momentum":0.177957,"rvol_3bar":[0.655226,0.170249,0.549573],"trend_3bar":"MIXED","projected_rvol":2.280611},"flow":{"window_s":30,"trades":216,"trade_rate":7.2,"buy_vol":67277.0,"sell_vol":18237.0,"unclassified_vol":0.0,"imbalance":0.573473,"bid":7.25,"ask":7.26,"spread_pct":0.137836,"quote_size_imbalance":null,"quote_age_s":0.055151},"context":{"vwap":7.229913,"price_vs_vwap_pct":0.373266,"ema9":7.218011,"ema20":7.226928,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.317308,"dist_to_hod_atr":0.624937,"atr":0.036964,"spread_atr":0.270536,"own_change_pct":0.188758,"rel_strength_pct":{"SPY":0.204304,"IWM":0.175391}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.315165},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7717712357d4","ts":"2026-08-28T13:56:55+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":7.173,"target":7.39,"target_label":"prev_day_high","reward_risk":1.49,"pos_in_5d_range_pct":74.3,"room_to_5d_high_atr":0.4},"price":7.26,"vwap":7.2306,"ext_from_open_pct":1.11,"max_ext_allowed_pct":4.0,"volume_pace":0.882,"trend":"flat","recent_slope_pct":0.1573,"volatility":"medium"},"price":7.26,"volume":{"bars":26,"last_bar_volume":31194.0,"baseline_avg":56760.45,"bar_rvol":0.549573,"raw_accel":1.198291,"smooth_accel":-0.376204,"accel_momentum":0.177957,"rvol_3bar":[0.655226,0.170249,0.549573],"trend_3bar":"MIXED","projected_rvol":1.71565},"flow":{"window_s":30,"trades":225,"trade_rate":7.5,"buy_vol":65965.0,"sell_vol":20263.0,"unclassified_vol":0.0,"imbalance":0.530013,"bid":7.25,"ask":7.26,"spread_pct":0.137836,"quote_size_imbalance":null,"quote_age_s":0.380682},"context":{"vwap":7.229913,"price_vs_vwap_pct":0.416143,"ema9":7.218011,"ema20":7.226928,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.274725,"dist_to_hod_atr":0.541071,"atr":0.036964,"spread_atr":0.270536,"own_change_pct":0.188758,"rel_strength_pct":{"SPY":0.204304,"IWM":0.175391}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.291281},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9393df4e6f4c","ts":"2026-08-28T13:57:05+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":2.49,"pos_in_5d_range_pct":64.2,"room_to_5d_high_atr":2.16},"price":8.788,"vwap":8.6544,"ext_from_open_pct":-1.26,"max_ext_allowed_pct":5.0,"volume_pace":4.957,"trend":"flat","recent_slope_pct":0.871,"volatility":"high"},"price":8.788,"volume":{"bars":27,"last_bar_volume":2444.0,"baseline_avg":7749.05,"bar_rvol":0.315393,"raw_accel":0.048477,"smooth_accel":-0.037591,"accel_momentum":-1.563388,"rvol_3bar":[1.142617,0.292453,0.315393],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":6997.0,"sell_vol":449.0,"unclassified_vol":0.0,"imbalance":0.879398,"bid":8.71,"ask":8.79,"spread_pct":0.914286,"quote_size_imbalance":null,"quote_age_s":0.55735},"context":{"vwap":8.652434,"price_vs_vwap_pct":1.566796,"ema9":8.602626,"ema20":8.581863,"ema_stack":true,"ema_warm":true,"hod":9.18,"dist_to_hod_pct":-4.270153,"dist_to_hod_atr":1.809371,"atr":0.21665,"spread_atr":0.369259,"own_change_pct":3.528743,"rel_strength_pct":{"SPY":3.495054,"IWM":3.495333}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.277357},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d334934fd4e7","ts":"2026-08-28T13:57:05+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9521,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.27},"price":10.9899,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.484,"trend":"flat","recent_slope_pct":-0.0093,"volatility":"low"},"price":10.9899,"volume":{"bars":27,"last_bar_volume":22216.0,"baseline_avg":67571.2,"bar_rvol":0.328779,"raw_accel":0.315116,"smooth_accel":0.296112,"accel_momentum":0.449812,"rvol_3bar":[0.854988,0.104689,0.328779],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":7893.0,"sell_vol":15106.0,"unclassified_vol":0.0,"imbalance":-0.313622,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.086435},"context":{"vwap":10.984956,"price_vs_vwap_pct":0.045009,"ema9":10.989318,"ema20":10.988427,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.091818,"dist_to_hod_atr":0.574681,"atr":0.017575,"spread_atr":0.568991,"own_change_pct":-0.135456,"rel_strength_pct":{"SPY":-0.169144,"IWM":-0.168866}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.103112},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"fc9f910f409d","ts":"2026-08-28T13:57:10+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.02% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.423,"target":9.68,"target_label":"premarket_high","reward_risk":2.62,"pos_in_5d_range_pct":64.0,"room_to_5d_high_atr":2.18},"price":8.77,"vwap":8.6562,"ext_from_open_pct":-1.46,"max_ext_allowed_pct":5.0,"volume_pace":4.996,"trend":"flat","recent_slope_pct":0.8298,"volatility":"high"},"price":8.77,"volume":{"bars":27,"last_bar_volume":2444.0,"baseline_avg":7749.05,"bar_rvol":0.315393,"raw_accel":0.048477,"smooth_accel":-0.037591,"accel_momentum":-1.563388,"rvol_3bar":[1.142617,0.292453,0.315393],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":92,"trade_rate":3.066667,"buy_vol":10092.0,"sell_vol":1047.0,"unclassified_vol":0.0,"imbalance":0.812012,"bid":8.78,"ask":8.87,"spread_pct":1.01983,"quote_size_imbalance":null,"quote_age_s":1.121533},"context":{"vwap":8.652434,"price_vs_vwap_pct":1.358762,"ema9":8.602626,"ema20":8.581863,"ema_stack":true,"ema_warm":true,"hod":9.18,"dist_to_hod_pct":-4.466231,"dist_to_hod_atr":1.892455,"atr":0.21665,"spread_atr":0.415417,"own_change_pct":3.528743,"rel_strength_pct":{"SPY":3.495054,"IWM":3.495333}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.256103},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c9693d40f714","ts":"2026-08-28T13:57:10+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.46 below VWAP $6.50","plan":{"state":"PASS","setup":"","stop":6.349,"target":7.0,"target_label":"prev_day_high","reward_risk":4.81,"pos_in_5d_range_pct":71.8,"room_to_5d_high_atr":1.2},"price":6.461,"vwap":6.5009,"ext_from_open_pct":-3.42,"max_ext_allowed_pct":3.0,"volume_pace":1.958,"trend":"flat","recent_slope_pct":0.1032,"volatility":"high"},"price":6.461,"volume":{"bars":27,"last_bar_volume":9641.0,"baseline_avg":16646.45,"bar_rvol":0.579163,"raw_accel":-0.630684,"smooth_accel":-0.428797,"accel_momentum":0.114863,"rvol_3bar":[0.382066,1.626708,0.579163],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":15,"trade_rate":0.5,"buy_vol":1829.0,"sell_vol":458.0,"unclassified_vol":0.0,"imbalance":0.599475,"bid":6.54,"ask":6.56,"spread_pct":0.305344,"quote_size_imbalance":null,"quote_age_s":7.628746},"context":{"vwap":6.500904,"price_vs_vwap_pct":-0.613817,"ema9":6.488884,"ema20":6.486133,"ema_stack":false,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-4.705015,"dist_to_hod_atr":3.39114,"atr":0.094069,"spread_atr":0.212611,"own_change_pct":1.708075,"rel_strength_pct":{"SPY":1.674386,"IWM":1.674664}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.347194},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b2bba9a80685","ts":"2026-08-28T13:57:15+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.9849,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.481,"trend":"flat","recent_slope_pct":-0.0273,"volatility":"low"},"price":10.98,"volume":{"bars":27,"last_bar_volume":22216.0,"baseline_avg":67571.2,"bar_rvol":0.328779,"raw_accel":0.315116,"smooth_accel":0.296112,"accel_momentum":0.449812,"rvol_3bar":[0.854988,0.104689,0.328779],"trend_3bar":"MIXED","projected_rvol":1.00309},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":8016.0,"sell_vol":21634.0,"unclassified_vol":0.0,"imbalance":-0.459292,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.874907},"context":{"vwap":10.984956,"price_vs_vwap_pct":-0.045115,"ema9":10.989318,"ema20":10.988427,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.137982,"atr":0.017575,"spread_atr":0.568991,"own_change_pct":-0.135456,"rel_strength_pct":{"SPY":-0.169144,"IWM":-0.168866}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.151006},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a1c90988515c","ts":"2026-08-28T13:57:15+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 130.0s, plan says WATCH; stop 10.88, target 11.29 (premarket_high), R:R 1.08; R:R 1.08 < 2.0 at 11.07; breakout: 1-min close > 11.15 on >= 62393 sh","plan":{"state":"WATCH","setup":"","stop":10.8751,"target":11.29,"target_label":"premarket_high","reward_risk":1.08,"pos_in_5d_range_pct":-5.4,"room_to_5d_high_atr":1.56},"price":11.075,"vwap":11.0477,"ext_from_open_pct":-0.58,"max_ext_allowed_pct":3.0,"volume_pace":2.064,"trend":"flat","recent_slope_pct":0.0057,"volatility":"high"},"price":11.075,"volume":{"bars":27,"last_bar_volume":11465.0,"baseline_avg":34334.95,"bar_rvol":0.333916,"raw_accel":-0.756535,"smooth_accel":-0.1926,"accel_momentum":0.031343,"rvol_3bar":[0.546496,1.376083,0.333916],"trend_3bar":"MIXED","projected_rvol":0.961819},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":4907.0,"sell_vol":5740.0,"unclassified_vol":0.0,"imbalance":-0.078238,"bid":11.07,"ask":11.08,"spread_pct":0.090293,"quote_size_imbalance":null,"quote_age_s":0.015693},"context":{"vwap":11.047543,"price_vs_vwap_pct":0.248531,"ema9":11.048364,"ema20":11.041693,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.956009,"dist_to_hod_atr":1.665228,"atr":0.064195,"spread_atr":0.155774,"own_change_pct":0.091321,"rel_strength_pct":{"SPY":0.057633,"IWM":0.057911}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.026125},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8fbb44dbd623","ts":"2026-08-28T13:57:20+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.41,"target":7.0,"target_label":"prev_day_high","reward_risk":3.54,"pos_in_5d_range_pct":75.9,"room_to_5d_high_atr":1.03},"price":6.54,"vwap":6.5009,"ext_from_open_pct":-2.24,"max_ext_allowed_pct":3.0,"volume_pace":1.948,"trend":"flat","recent_slope_pct":0.3458,"volatility":"high"},"price":6.54,"volume":{"bars":27,"last_bar_volume":9641.0,"baseline_avg":16646.45,"bar_rvol":0.579163,"raw_accel":-0.630684,"smooth_accel":-0.428797,"accel_momentum":0.114863,"rvol_3bar":[0.382066,1.626708,0.579163],"trend_3bar":"MIXED","projected_rvol":0.255009},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":1650.0,"sell_vol":1015.0,"unclassified_vol":0.0,"imbalance":0.238274,"bid":6.54,"ask":6.55,"spread_pct":0.152788,"quote_size_imbalance":null,"quote_age_s":3.095134},"context":{"vwap":6.500904,"price_vs_vwap_pct":0.601398,"ema9":6.488884,"ema20":6.486133,"ema_stack":true,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.539823,"dist_to_hod_atr":2.551328,"atr":0.094069,"spread_atr":0.106305,"own_change_pct":1.708075,"rel_strength_pct":{"SPY":1.674386,"IWM":1.674664}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.137999},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"76eb1a9c87c2","ts":"2026-08-28T13:57:20+00:00","symbol":"NVAX","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":8.99,"target":9.18,"target_label":"prev_day_high","reward_risk":0.19,"pos_in_5d_range_pct":67.4,"room_to_5d_high_atr":0.98},"price":9.15,"vwap":9.1238,"ext_from_open_pct":-0.33,"max_ext_allowed_pct":3.0,"volume_pace":2.022,"trend":"flat","recent_slope_pct":-0.0872,"volatility":"medium"},"price":9.15,"volume":{"bars":27,"last_bar_volume":1353.0,"baseline_avg":9152.05,"bar_rvol":0.147836,"raw_accel":-0.657382,"smooth_accel":-0.562392,"accel_momentum":0.197894,"rvol_3bar":[0.349882,0.415969,0.147836],"trend_3bar":"MIXED","projected_rvol":0.446457},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":1162.0,"sell_vol":204.0,"unclassified_vol":0.0,"imbalance":0.701318,"bid":9.14,"ask":9.16,"spread_pct":0.218579,"quote_size_imbalance":null,"quote_age_s":0.153847},"context":{"vwap":9.123717,"price_vs_vwap_pct":0.288078,"ema9":9.156979,"ema20":9.1417,"ema_stack":false,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-1.612903,"dist_to_hod_atr":2.379453,"atr":0.06304,"spread_atr":0.31726,"own_change_pct":0.027352,"rel_strength_pct":{"SPY":-0.006336,"IWM":-0.006058}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.10368},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a8ed6a6c5966","ts":"2026-08-28T13:57:25+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":2.2,"pos_in_5d_range_pct":64.6,"room_to_5d_high_atr":2.14},"price":8.82,"vwap":8.6594,"ext_from_open_pct":-0.9,"max_ext_allowed_pct":5.0,"volume_pace":5.046,"trend":"flat","recent_slope_pct":0.9441,"volatility":"high"},"price":8.82,"volume":{"bars":27,"last_bar_volume":2444.0,"baseline_avg":7749.05,"bar_rvol":0.315393,"raw_accel":0.048477,"smooth_accel":-0.037591,"accel_momentum":-1.563388,"rvol_3bar":[1.142617,0.292453,0.315393],"trend_3bar":"MIXED","projected_rvol":5.08181},"flow":{"window_s":30,"trades":113,"trade_rate":3.766667,"buy_vol":13652.0,"sell_vol":3745.0,"unclassified_vol":0.0,"imbalance":0.569466,"bid":8.78,"ask":8.86,"spread_pct":0.907029,"quote_size_imbalance":null,"quote_age_s":3.849559},"context":{"vwap":8.652434,"price_vs_vwap_pct":1.936634,"ema9":8.602626,"ema20":8.581863,"ema_stack":true,"ema_warm":true,"hod":9.18,"dist_to_hod_pct":-3.921569,"dist_to_hod_atr":1.661667,"atr":0.21665,"spread_atr":0.369259,"own_change_pct":3.528743,"rel_strength_pct":{"SPY":3.495054,"IWM":3.495333}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.179606},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5d0273fa0874","ts":"2026-08-28T13:57:25+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9472,"target":11.13,"target_label":"range_20d_high","reward_risk":3.83,"pos_in_5d_range_pct":81.2,"room_to_5d_high_atr":0.3},"price":10.985,"vwap":10.985,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":2.468,"trend":"flat","recent_slope_pct":-0.0182,"volatility":"low"},"price":10.985,"volume":{"bars":27,"last_bar_volume":22216.0,"baseline_avg":67571.2,"bar_rvol":0.328779,"raw_accel":0.315116,"smooth_accel":0.296112,"accel_momentum":0.449812,"rvol_3bar":[0.854988,0.104689,0.328779],"trend_3bar":"MIXED","projected_rvol":0.664508},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":7758.0,"sell_vol":11859.0,"unclassified_vol":0.0,"imbalance":-0.209053,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":1.264894},"context":{"vwap":10.984956,"price_vs_vwap_pct":0.000402,"ema9":10.989318,"ema20":10.988427,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.136364,"dist_to_hod_atr":0.853487,"atr":0.017575,"spread_atr":0.568991,"own_change_pct":-0.135456,"rel_strength_pct":{"SPY":-0.169144,"IWM":-0.168866}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.068732},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"01caa526c5f0","ts":"2026-08-28T13:57:25+00:00","symbol":"BETR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":14.4336,"target":14.8698,"target_label":"premarket_high","reward_risk":0.13,"pos_in_5d_range_pct":88.6,"room_to_5d_high_atr":0.31},"price":14.82,"vwap":14.7819,"ext_from_open_pct":2.42,"max_ext_allowed_pct":3.0,"volume_pace":1.208,"trend":"flat","recent_slope_pct":0.1548,"volatility":"high"},"price":14.82,"volume":{"bars":27,"last_bar_volume":1865.0,"baseline_avg":1972.45,"bar_rvol":0.945525,"raw_accel":2.782098,"smooth_accel":-0.699097,"accel_momentum":0.023002,"rvol_3bar":[0.446873,0.122914,0.945525],"trend_3bar":"MIXED","projected_rvol":0.675302},"flow":{"window_s":30,"trades":9,"trade_rate":0.3,"buy_vol":113.0,"sell_vol":532.0,"unclassified_vol":0.0,"imbalance":-0.649612,"bid":14.72,"ask":14.84,"spread_pct":0.811908,"quote_size_imbalance":null,"quote_age_s":24.281091},"context":{"vwap":14.781822,"price_vs_vwap_pct":0.258274,"ema9":14.716604,"ema20":14.687649,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-2.755906,"dist_to_hod_atr":2.545058,"atr":0.165026,"spread_atr":0.727159,"own_change_pct":0.474576,"rel_strength_pct":{"SPY":0.440888,"IWM":0.441166}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.614225},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"bbf2f8a2f2a3","ts":"2026-08-28T13:57:30+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 145.0s, plan says PASS; stop 10.87, target 11.14 (ceiling), R:R 0.38; R:R 0.38 < 2.0 at 11.06; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":10.8651,"target":11.14,"target_label":"ceiling","reward_risk":0.38,"pos_in_5d_range_pct":-6.2,"room_to_5d_high_atr":1.58},"price":11.065,"vwap":11.0478,"ext_from_open_pct":-0.67,"max_ext_allowed_pct":3.0,"volume_pace":2.051,"trend":"flat","recent_slope_pct":-0.0124,"volatility":"high"},"price":11.065,"volume":{"bars":27,"last_bar_volume":11465.0,"baseline_avg":34334.95,"bar_rvol":0.333916,"raw_accel":-0.756535,"smooth_accel":-0.1926,"accel_momentum":0.031343,"rvol_3bar":[0.546496,1.376083,0.333916],"trend_3bar":"MIXED","projected_rvol":0.695385},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":4602.0,"sell_vol":7336.0,"unclassified_vol":0.0,"imbalance":-0.229017,"bid":11.06,"ask":11.07,"spread_pct":0.090375,"quote_size_imbalance":null,"quote_age_s":0.005701},"context":{"vwap":11.047543,"price_vs_vwap_pct":0.158013,"ema9":11.048364,"ema20":11.041693,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.04544,"dist_to_hod_atr":1.821002,"atr":0.064195,"spread_atr":0.155774,"own_change_pct":0.091321,"rel_strength_pct":{"SPY":0.057633,"IWM":0.057911}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.076472},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"53a105db7ed7","ts":"2026-08-28T13:57:30+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.158,"target":7.39,"target_label":"prev_day_high","reward_risk":1.67,"pos_in_5d_range_pct":71.6,"room_to_5d_high_atr":0.45},"price":7.245,"vwap":7.2307,"ext_from_open_pct":0.91,"max_ext_allowed_pct":3.0,"volume_pace":0.868,"trend":"flat","recent_slope_pct":0.1521,"volatility":"medium"},"price":7.245,"volume":{"bars":27,"last_bar_volume":90566.0,"baseline_avg":56377.7,"bar_rvol":1.606415,"raw_accel":1.903315,"smooth_accel":-0.00915,"accel_momentum":0.367054,"rvol_3bar":[0.170249,0.549573,1.606415],"trend_3bar":"ACCELERATING","projected_rvol":0.326654},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":3052.0,"sell_vol":6156.0,"unclassified_vol":0.0,"imbalance":-0.337098,"bid":7.24,"ask":7.25,"spread_pct":0.138026,"quote_size_imbalance":null,"quote_age_s":0.277836},"context":{"vwap":7.230619,"price_vs_vwap_pct":0.198887,"ema9":7.226409,"ema20":7.230078,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.480769,"dist_to_hod_atr":0.923608,"atr":0.037895,"spread_atr":0.263888,"own_change_pct":0.484429,"rel_strength_pct":{"SPY":0.450741,"IWM":0.451019}},"vas":{"raw":0,"score":4.4,"components":{"rvol":1,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.54152},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c3b5b10cea12","ts":"2026-08-28T13:57:45+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.02% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":2.01,"pos_in_5d_range_pct":64.9,"room_to_5d_high_atr":2.12},"price":8.845,"vwap":8.6664,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":4.0,"volume_pace":5.182,"trend":"flat","recent_slope_pct":1.0011,"volatility":"high"},"price":8.845,"volume":{"bars":27,"last_bar_volume":2444.0,"baseline_avg":7749.05,"bar_rvol":0.315393,"raw_accel":0.048477,"smooth_accel":-0.037591,"accel_momentum":-1.563388,"rvol_3bar":[1.142617,0.292453,0.315393],"trend_3bar":"MIXED","projected_rvol":5.228856},"flow":{"window_s":30,"trades":121,"trade_rate":4.033333,"buy_vol":10838.0,"sell_vol":7365.0,"unclassified_vol":0.0,"imbalance":0.190793,"bid":8.8,"ask":8.89,"spread_pct":1.017524,"quote_size_imbalance":null,"quote_age_s":1.27643},"context":{"vwap":8.652434,"price_vs_vwap_pct":2.22557,"ema9":8.602626,"ema20":8.581863,"ema_stack":true,"ema_warm":true,"hod":9.18,"dist_to_hod_pct":-3.649237,"dist_to_hod_atr":1.546274,"atr":0.21665,"spread_atr":0.415417,"own_change_pct":3.528743,"rel_strength_pct":{"SPY":3.495054,"IWM":3.495333}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.060175},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"782b912b41b9","ts":"2026-08-28T13:57:45+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.04 below VWAP $11.05","plan":{"state":"PASS","setup":"","stop":10.8452,"target":11.14,"target_label":"ceiling","reward_risk":0.48,"pos_in_5d_range_pct":-7.9,"room_to_5d_high_atr":1.6},"price":11.045,"vwap":11.0477,"ext_from_open_pct":-0.85,"max_ext_allowed_pct":3.0,"volume_pace":2.042,"trend":"flat","recent_slope_pct":-0.0485,"volatility":"high"},"price":11.045,"volume":{"bars":27,"last_bar_volume":11465.0,"baseline_avg":34334.95,"bar_rvol":0.333916,"raw_accel":-0.756535,"smooth_accel":-0.1926,"accel_momentum":0.031343,"rvol_3bar":[0.546496,1.376083,0.333916],"trend_3bar":"MIXED","projected_rvol":0.661678},"flow":{"window_s":30,"trades":95,"trade_rate":3.166667,"buy_vol":2363.0,"sell_vol":6420.0,"unclassified_vol":0.0,"imbalance":-0.461915,"bid":11.04,"ask":11.05,"spread_pct":0.090539,"quote_size_imbalance":null,"quote_age_s":0.612715},"context":{"vwap":11.047543,"price_vs_vwap_pct":-0.023023,"ema9":11.048364,"ema20":11.041693,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.2243,"dist_to_hod_atr":2.132551,"atr":0.064195,"spread_atr":0.155774,"own_change_pct":0.091321,"rel_strength_pct":{"SPY":0.057633,"IWM":0.057911}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.154241},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"dd1682a40343","ts":"2026-08-28T13:57:50+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":1.91,"pos_in_5d_range_pct":65.1,"room_to_5d_high_atr":2.11},"price":8.86,"vwap":8.6675,"ext_from_open_pct":-0.45,"max_ext_allowed_pct":4.0,"volume_pace":5.19,"trend":"flat","recent_slope_pct":1.0353,"volatility":"high"},"price":8.86,"volume":{"bars":27,"last_bar_volume":2444.0,"baseline_avg":7749.05,"bar_rvol":0.315393,"raw_accel":0.048477,"smooth_accel":-0.037591,"accel_momentum":-1.563388,"rvol_3bar":[1.142617,0.292453,0.315393],"trend_3bar":"MIXED","projected_rvol":4.962415},"flow":{"window_s":30,"trades":118,"trade_rate":3.933333,"buy_vol":10204.0,"sell_vol":6270.0,"unclassified_vol":0.0,"imbalance":0.238801,"bid":8.83,"ask":8.88,"spread_pct":0.564653,"quote_size_imbalance":null,"quote_age_s":3.009036},"context":{"vwap":8.652434,"price_vs_vwap_pct":2.398932,"ema9":8.602626,"ema20":8.581863,"ema_stack":true,"ema_warm":true,"hod":9.18,"dist_to_hod_pct":-3.485839,"dist_to_hod_atr":1.477038,"atr":0.21665,"spread_atr":0.230787,"own_change_pct":3.528743,"rel_strength_pct":{"SPY":3.495054,"IWM":3.495333}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.075316},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e999b652afa7","ts":"2026-08-28T13:57:50+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.9849,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.456,"trend":"flat","recent_slope_pct":-0.0273,"volatility":"low"},"price":10.98,"volume":{"bars":27,"last_bar_volume":22216.0,"baseline_avg":67571.2,"bar_rvol":0.328779,"raw_accel":0.315116,"smooth_accel":0.296112,"accel_momentum":0.449812,"rvol_3bar":[0.854988,0.104689,0.328779],"trend_3bar":"MIXED","projected_rvol":0.726274},"flow":{"window_s":30,"trades":76,"trade_rate":2.533333,"buy_vol":1506.0,"sell_vol":21613.0,"unclassified_vol":0.0,"imbalance":-0.869718,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.841044},"context":{"vwap":10.984956,"price_vs_vwap_pct":-0.045115,"ema9":10.989318,"ema20":10.988427,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.137982,"atr":0.017575,"spread_atr":0.568991,"own_change_pct":-0.135456,"rel_strength_pct":{"SPY":-0.169144,"IWM":-0.168866}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.285945},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"473740c14c89","ts":"2026-08-28T13:57:50+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.74 below VWAP $14.78","plan":{"state":"PASS","setup":"","stop":14.3536,"target":14.8698,"target_label":"premarket_high","reward_risk":0.34,"pos_in_5d_range_pct":86.7,"room_to_5d_high_atr":0.36},"price":14.74,"vwap":14.7817,"ext_from_open_pct":1.87,"max_ext_allowed_pct":4.0,"volume_pace":1.192,"trend":"flat","recent_slope_pct":0.0465,"volatility":"high"},"price":14.74,"volume":{"bars":27,"last_bar_volume":1865.0,"baseline_avg":1972.45,"bar_rvol":0.945525,"raw_accel":2.782098,"smooth_accel":-0.699097,"accel_momentum":0.023002,"rvol_3bar":[0.446873,0.122914,0.945525],"trend_3bar":"MIXED","projected_rvol":0.417957},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":32.0,"sell_vol":130.0,"unclassified_vol":0.0,"imbalance":-0.604938,"bid":14.72,"ask":14.84,"spread_pct":0.811908,"quote_size_imbalance":null,"quote_age_s":49.281091},"context":{"vwap":14.781822,"price_vs_vwap_pct":-0.282932,"ema9":14.716604,"ema20":14.687649,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-3.28084,"dist_to_hod_atr":3.02983,"atr":0.165026,"spread_atr":0.727159,"own_change_pct":0.474576,"rel_strength_pct":{"SPY":0.440888,"IWM":0.441166}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.571984},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"961e8dc5a38c","ts":"2026-08-28T13:57:55+00:00","symbol":"BETR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":14.4433,"target":14.8698,"target_label":"premarket_high","reward_risk":0.1,"pos_in_5d_range_pct":88.9,"room_to_5d_high_atr":0.3},"price":14.8297,"vwap":14.782,"ext_from_open_pct":2.49,"max_ext_allowed_pct":4.0,"volume_pace":1.19,"trend":"flat","recent_slope_pct":0.1679,"volatility":"high"},"price":14.8297,"volume":{"bars":27,"last_bar_volume":1865.0,"baseline_avg":1972.45,"bar_rvol":0.945525,"raw_accel":2.782098,"smooth_accel":-0.699097,"accel_momentum":0.023002,"rvol_3bar":[0.446873,0.122914,0.945525],"trend_3bar":"MIXED","projected_rvol":0.435269},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":102.0,"sell_vol":130.0,"unclassified_vol":0.0,"imbalance":-0.12069,"bid":14.72,"ask":14.84,"spread_pct":0.811908,"quote_size_imbalance":null,"quote_age_s":54.281091},"context":{"vwap":14.781822,"price_vs_vwap_pct":0.323895,"ema9":14.716604,"ema20":14.687649,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-2.692257,"dist_to_hod_atr":2.486279,"atr":0.165026,"spread_atr":0.727159,"own_change_pct":0.474576,"rel_strength_pct":{"SPY":0.440888,"IWM":0.441166}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.114115},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8acbb895c288","ts":"2026-08-28T13:58:00+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.443,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.99,"volume":{"bars":27,"last_bar_volume":22216.0,"baseline_avg":67571.2,"bar_rvol":0.328779,"raw_accel":0.315116,"smooth_accel":0.296112,"accel_momentum":0.449812,"rvol_3bar":[0.854988,0.104689,0.328779],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":1752.0,"sell_vol":21534.0,"unclassified_vol":0.0,"imbalance":-0.849523,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.182867},"context":{"vwap":10.984956,"price_vs_vwap_pct":0.045919,"ema9":10.989318,"ema20":10.988427,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.568991,"atr":0.017575,"spread_atr":0.568991,"own_change_pct":-0.135456,"rel_strength_pct":{"SPY":-0.162014,"IWM":-0.24579}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.279306},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7f6481814a73","ts":"2026-08-28T13:58:05+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9461,"target":11.13,"target_label":"range_20d_high","reward_risk":3.86,"pos_in_5d_range_pct":80.8,"room_to_5d_high_atr":0.31},"price":10.9839,"vwap":10.985,"ext_from_open_pct":0.13,"max_ext_allowed_pct":3.0,"volume_pace":2.436,"trend":"flat","recent_slope_pct":-0.002,"volatility":"low"},"price":10.9839,"volume":{"bars":28,"last_bar_volume":42302.0,"baseline_avg":67215.4,"bar_rvol":0.62935,"raw_accel":0.904123,"smooth_accel":-0.270067,"accel_momentum":-0.566179,"rvol_3bar":[0.104689,0.328779,0.62935],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":1838.0,"sell_vol":4891.0,"unclassified_vol":0.0,"imbalance":-0.453708,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.606363},"context":{"vwap":10.984989,"price_vs_vwap_pct":-0.009912,"ema9":10.989454,"ema20":10.988576,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.146364,"dist_to_hod_atr":0.945174,"atr":0.017034,"spread_atr":0.587065,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.026559,"IWM":-0.110335}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.285541},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a05a2b059a62","ts":"2026-08-28T13:58:05+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.23 below VWAP $7.23","plan":{"state":"PASS","setup":"","stop":7.143,"target":7.25,"target_label":"premarket_high","reward_risk":0.23,"pos_in_5d_range_pct":68.8,"room_to_5d_high_atr":0.49},"price":7.23,"vwap":7.2307,"ext_from_open_pct":0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.857,"trend":"flat","recent_slope_pct":0.078,"volatility":"medium"},"price":7.23,"volume":{"bars":28,"last_bar_volume":18944.0,"baseline_avg":46408.15,"bar_rvol":0.408204,"raw_accel":-0.790827,"smooth_accel":0.314499,"accel_momentum":0.32365,"rvol_3bar":[0.549573,1.606415,0.408204],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":1774.0,"sell_vol":12586.0,"unclassified_vol":0.0,"imbalance":-0.752925,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.640301},"context":{"vwap":7.230738,"price_vs_vwap_pct":-0.010202,"ema9":7.228127,"ema20":7.230547,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.686813,"dist_to_hod_atr":1.338091,"atr":0.037367,"spread_atr":0.267618,"own_change_pct":0.416378,"rel_strength_pct":{"SPY":0.389819,"IWM":0.306043}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.307347},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"acd7371b0e96","ts":"2026-08-28T13:58:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.4049,"target":13.61,"target_label":"ceiling","reward_risk":0.68,"pos_in_5d_range_pct":23.8,"room_to_5d_high_atr":1.29},"price":13.5272,"vwap":13.5011,"ext_from_open_pct":0.2,"max_ext_allowed_pct":4.0,"volume_pace":1.419,"trend":"flat","recent_slope_pct":0.1365,"volatility":"medium"},"price":13.5272,"volume":{"bars":28,"last_bar_volume":26990.0,"baseline_avg":18936.35,"bar_rvol":1.425301,"raw_accel":0.03315,"smooth_accel":2.865271,"accel_momentum":1.130486,"rvol_3bar":[0.959573,1.40989,1.425301],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":15,"trade_rate":0.5,"buy_vol":25175.0,"sell_vol":344.0,"unclassified_vol":0.0,"imbalance":0.97304,"bid":13.51,"ask":13.53,"spread_pct":0.147929,"quote_size_imbalance":null,"quote_age_s":5.738205},"context":{"vwap":13.501139,"price_vs_vwap_pct":0.193032,"ema9":13.486526,"ema20":13.482991,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.608376,"dist_to_hod_atr":1.736272,"atr":0.047688,"spread_atr":0.419389,"own_change_pct":0.074074,"rel_strength_pct":{"SPY":0.047515,"IWM":-0.036261}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.386875},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"562c0365fb02","ts":"2026-08-28T13:58:10+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.2308,"ext_from_open_pct":0.77,"max_ext_allowed_pct":3.0,"volume_pace":0.856,"trend":"flat","recent_slope_pct":0.0918,"volatility":"medium"},"price":7.235,"volume":{"bars":28,"last_bar_volume":18944.0,"baseline_avg":46408.15,"bar_rvol":0.408204,"raw_accel":-0.790827,"smooth_accel":0.314499,"accel_momentum":0.32365,"rvol_3bar":[0.549573,1.606415,0.408204],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":2365.0,"sell_vol":10499.0,"unclassified_vol":0.0,"imbalance":-0.632307,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":6.640301},"context":{"vwap":7.230738,"price_vs_vwap_pct":0.058947,"ema9":7.228127,"ema20":7.230547,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":1.204282,"atr":0.037367,"spread_atr":0.267618,"own_change_pct":0.416378,"rel_strength_pct":{"SPY":0.389819,"IWM":0.306043}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.25811},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ac1bed445c6c","ts":"2026-08-28T13:58:15+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.01% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":1.52,"pos_in_5d_range_pct":65.8,"room_to_5d_high_atr":2.06},"price":8.925,"vwap":8.6723,"ext_from_open_pct":0.28,"max_ext_allowed_pct":5.0,"volume_pace":5.242,"trend":"flat","recent_slope_pct":0.7863,"volatility":"high"},"price":8.925,"volume":{"bars":28,"last_bar_volume":34292.0,"baseline_avg":7465.6,"bar_rvol":4.593335,"raw_accel":13.031097,"smooth_accel":0.770301,"accel_momentum":0.807892,"rvol_3bar":[0.292453,0.315393,4.593335],"trend_3bar":"ACCELERATING","projected_rvol":3.798757},"flow":{"window_s":30,"trades":100,"trade_rate":3.333333,"buy_vol":7562.0,"sell_vol":3431.0,"unclassified_vol":0.0,"imbalance":0.375785,"bid":8.88,"ask":8.97,"spread_pct":1.008403,"quote_size_imbalance":null,"quote_age_s":1.61112},"context":{"vwap":8.667867,"price_vs_vwap_pct":2.966507,"ema9":8.650101,"ema20":8.606447,"ema_stack":true,"ema_warm":true,"hod":9.18,"dist_to_hod_pct":-2.777778,"dist_to_hod_atr":1.191411,"atr":0.214032,"spread_atr":0.420498,"own_change_pct":3.391813,"rel_strength_pct":{"SPY":3.365254,"IWM":3.281478}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.726104},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c63df7e20671","ts":"2026-08-28T13:58:15+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9511,"target":11.13,"target_label":"range_20d_high","reward_risk":3.73,"pos_in_5d_range_pct":82.8,"room_to_5d_high_atr":0.27},"price":10.9889,"vwap":10.985,"ext_from_open_pct":0.17,"max_ext_allowed_pct":3.0,"volume_pace":2.435,"trend":"flat","recent_slope_pct":0.0071,"volatility":"low"},"price":10.9889,"volume":{"bars":28,"last_bar_volume":42302.0,"baseline_avg":67215.4,"bar_rvol":0.62935,"raw_accel":0.904123,"smooth_accel":-0.270067,"accel_momentum":-0.566179,"rvol_3bar":[0.104689,0.328779,0.62935],"trend_3bar":"ACCELERATING","projected_rvol":0.729297},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":2347.0,"sell_vol":12491.0,"unclassified_vol":0.0,"imbalance":-0.68365,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.301867},"context":{"vwap":10.984989,"price_vs_vwap_pct":0.035605,"ema9":10.989454,"ema20":10.988576,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.100909,"dist_to_hod_atr":0.651642,"atr":0.017034,"spread_atr":0.587065,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.026559,"IWM":-0.110335}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.430255},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d1f0681ad970","ts":"2026-08-28T13:58:15+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.8602,"target":11.14,"target_label":"ceiling","reward_risk":0.4,"pos_in_5d_range_pct":-6.7,"room_to_5d_high_atr":1.58},"price":11.06,"vwap":11.0477,"ext_from_open_pct":-0.72,"max_ext_allowed_pct":4.0,"volume_pace":2.026,"trend":"flat","recent_slope_pct":-0.0367,"volatility":"high"},"price":11.06,"volume":{"bars":28,"last_bar_volume":22296.0,"baseline_avg":27970.85,"bar_rvol":0.797116,"raw_accel":0.944701,"smooth_accel":0.00641,"accel_momentum":0.19901,"rvol_3bar":[1.376083,0.333916,0.797116],"trend_3bar":"MIXED","projected_rvol":0.891643},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":7060.0,"sell_vol":4432.0,"unclassified_vol":0.0,"imbalance":0.228681,"bid":11.04,"ask":11.06,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.563967},"context":{"vwap":11.047639,"price_vs_vwap_pct":0.111886,"ema9":11.048171,"ema20":11.042237,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.090155,"dist_to_hod_atr":1.929364,"atr":0.063181,"spread_atr":0.316549,"own_change_pct":0.067029,"rel_strength_pct":{"SPY":0.04047,"IWM":-0.043306}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.182285},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7a2d4c543cca","ts":"2026-08-28T13:58:15+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.23 below VWAP $7.23","plan":{"state":"PASS","setup":"","stop":7.143,"target":7.25,"target_label":"premarket_high","reward_risk":0.23,"pos_in_5d_range_pct":68.8,"room_to_5d_high_atr":0.49},"price":7.23,"vwap":7.2307,"ext_from_open_pct":0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.853,"trend":"flat","recent_slope_pct":0.078,"volatility":"medium"},"price":7.23,"volume":{"bars":28,"last_bar_volume":18944.0,"baseline_avg":46408.15,"bar_rvol":0.408204,"raw_accel":-0.790827,"smooth_accel":0.314499,"accel_momentum":0.32365,"rvol_3bar":[0.549573,1.606415,0.408204],"trend_3bar":"MIXED","projected_rvol":0.629545},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":2102.0,"sell_vol":10502.0,"unclassified_vol":0.0,"imbalance":-0.666455,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.032882},"context":{"vwap":7.230738,"price_vs_vwap_pct":-0.010202,"ema9":7.228127,"ema20":7.230547,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.686813,"dist_to_hod_atr":1.338091,"atr":0.037367,"spread_atr":0.267618,"own_change_pct":0.416378,"rel_strength_pct":{"SPY":0.389819,"IWM":0.306043}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.27205},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2487ea10e859","ts":"2026-08-28T13:58:20+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.92,"pos_in_5d_range_pct":67.7,"room_to_5d_high_atr":1.95},"price":9.08,"vwap":8.6956,"ext_from_open_pct":2.02,"max_ext_allowed_pct":4.0,"volume_pace":5.598,"trend":"flat","recent_slope_pct":1.1356,"volatility":"high"},"price":9.08,"volume":{"bars":28,"last_bar_volume":34292.0,"baseline_avg":7465.6,"bar_rvol":4.593335,"raw_accel":13.031097,"smooth_accel":0.770301,"accel_momentum":0.807892,"rvol_3bar":[0.292453,0.315393,4.593335],"trend_3bar":"ACCELERATING","projected_rvol":13.684767},"flow":{"window_s":30,"trades":212,"trade_rate":7.066667,"buy_vol":26130.0,"sell_vol":10172.0,"unclassified_vol":0.0,"imbalance":0.43959,"bid":9.07,"ask":9.1,"spread_pct":0.330215,"quote_size_imbalance":null,"quote_age_s":0.001611},"context":{"vwap":8.667867,"price_vs_vwap_pct":4.754721,"ema9":8.650101,"ema20":8.606447,"ema_stack":true,"ema_warm":true,"hod":9.18,"dist_to_hod_pct":-1.089325,"dist_to_hod_atr":0.46722,"atr":0.214032,"spread_atr":0.140166,"own_change_pct":3.391813,"rel_strength_pct":{"SPY":3.365254,"IWM":3.281478}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":2.019185},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"019dcbce2f29","ts":"2026-08-28T13:58:25+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.985,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.422,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.98,"volume":{"bars":28,"last_bar_volume":42302.0,"baseline_avg":67215.4,"bar_rvol":0.62935,"raw_accel":0.904123,"smooth_accel":-0.270067,"accel_momentum":-0.566179,"rvol_3bar":[0.104689,0.328779,0.62935],"trend_3bar":"ACCELERATING","projected_rvol":0.485496},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":1777.0,"sell_vol":12268.0,"unclassified_vol":0.0,"imbalance":-0.746956,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":1.923966},"context":{"vwap":10.984989,"price_vs_vwap_pct":-0.045415,"ema9":10.989454,"ema20":10.988576,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.17413,"atr":0.017034,"spread_atr":0.587065,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.026559,"IWM":-0.110335}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.470097},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"33fa6c426b5c","ts":"2026-08-28T13:58:30+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.417,"trend":"flat","recent_slope_pct":0.0091,"volatility":"low"},"price":10.99,"volume":{"bars":28,"last_bar_volume":42302.0,"baseline_avg":67215.4,"bar_rvol":0.62935,"raw_accel":0.904123,"smooth_accel":-0.270067,"accel_momentum":-0.566179,"rvol_3bar":[0.104689,0.328779,0.62935],"trend_3bar":"ACCELERATING","projected_rvol":0.452872},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":2866.0,"sell_vol":12354.0,"unclassified_vol":0.0,"imbalance":-0.62339,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.363762},"context":{"vwap":10.984989,"price_vs_vwap_pct":0.045618,"ema9":10.989454,"ema20":10.988576,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.587065,"atr":0.017034,"spread_atr":0.587065,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.026559,"IWM":-0.110335}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.392331},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c498749574a4","ts":"2026-08-28T13:58:30+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.4945,"ext_from_open_pct":3.36,"max_ext_allowed_pct":4.0,"volume_pace":1.486,"trend":"flat","recent_slope_pct":-0.1101,"volatility":"medium"},"price":5.53,"volume":{"bars":28,"last_bar_volume":195106.0,"baseline_avg":102788.65,"bar_rvol":1.898128,"raw_accel":5.559728,"smooth_accel":0.751793,"accel_momentum":0.178019,"rvol_3bar":[2.14525,0.282795,1.898128],"trend_3bar":"MIXED","projected_rvol":0.621489},"flow":{"window_s":30,"trades":141,"trade_rate":4.7,"buy_vol":19854.0,"sell_vol":12087.0,"unclassified_vol":0.0,"imbalance":0.243167,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.004218},"context":{"vwap":5.494145,"price_vs_vwap_pct":0.65261,"ema9":5.540489,"ema20":5.522746,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":1.453064,"atr":0.03441,"spread_atr":0.290613,"own_change_pct":-0.378378,"rel_strength_pct":{"SPY":-0.404937,"IWM":-0.488713}},"vas":{"raw":6,"score":8.1,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.461562},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b461c2ba78df","ts":"2026-08-28T13:58:30+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.82% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":14.31,"target":14.8698,"target_label":"premarket_high","reward_risk":0.04,"pos_in_5d_range_pct":89.4,"room_to_5d_high_atr":0.29},"price":14.85,"vwap":14.783,"ext_from_open_pct":2.63,"max_ext_allowed_pct":3.0,"volume_pace":1.233,"trend":"flat","recent_slope_pct":0.2483,"volatility":"high"},"price":14.85,"volume":{"bars":28,"last_bar_volume":877.0,"baseline_avg":1935.2,"bar_rvol":0.453183,"raw_accel":-0.529759,"smooth_accel":-0.590602,"accel_momentum":0.108495,"rvol_3bar":[0.122914,0.945525,0.453183],"trend_3bar":"MIXED","projected_rvol":4.692021},"flow":{"window_s":30,"trades":121,"trade_rate":4.033333,"buy_vol":1629.0,"sell_vol":2911.0,"unclassified_vol":0.0,"imbalance":-0.282379,"bid":14.73,"ask":15.0,"spread_pct":1.816347,"quote_size_imbalance":null,"quote_age_s":0.189411},"context":{"vwap":14.782021,"price_vs_vwap_pct":0.459873,"ema9":14.737283,"ema20":14.700254,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-2.559055,"dist_to_hod_atr":2.431817,"atr":0.160374,"spread_atr":1.683566,"own_change_pct":0.474576,"rel_strength_pct":{"SPY":0.448018,"IWM":0.364242}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.127969},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f8db10c1171c","ts":"2026-08-28T13:58:40+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.10% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":1.12,"pos_in_5d_range_pct":67.0,"room_to_5d_high_atr":2.0},"price":9.02,"vwap":8.7217,"ext_from_open_pct":1.35,"max_ext_allowed_pct":4.0,"volume_pace":6.104,"trend":"flat","recent_slope_pct":1.0007,"volatility":"high"},"price":9.02,"volume":{"bars":28,"last_bar_volume":34292.0,"baseline_avg":7465.6,"bar_rvol":4.593335,"raw_accel":13.031097,"smooth_accel":0.770301,"accel_momentum":0.807892,"rvol_3bar":[0.292453,0.315393,4.593335],"trend_3bar":"ACCELERATING","projected_rvol":15.262404},"flow":{"window_s":30,"trades":338,"trade_rate":11.266667,"buy_vol":40943.0,"sell_vol":31969.0,"unclassified_vol":0.0,"imbalance":0.12308,"bid":9.0,"ask":9.1,"spread_pct":1.104972,"quote_size_imbalance":null,"quote_age_s":0.286073},"context":{"vwap":8.667867,"price_vs_vwap_pct":4.062509,"ema9":8.650101,"ema20":8.606447,"ema_stack":true,"ema_warm":true,"hod":9.18,"dist_to_hod_pct":-1.742919,"dist_to_hod_atr":0.747552,"atr":0.214032,"spread_atr":0.46722,"own_change_pct":3.391813,"rel_strength_pct":{"SPY":3.365254,"IWM":3.281478}},"vas":{"raw":8,"score":9.4,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.565347},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e877a31c8f08","ts":"2026-08-28T13:58:40+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.985,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.407,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.98,"volume":{"bars":28,"last_bar_volume":42302.0,"baseline_avg":67215.4,"bar_rvol":0.62935,"raw_accel":0.904123,"smooth_accel":-0.270067,"accel_momentum":-0.566179,"rvol_3bar":[0.104689,0.328779,0.62935],"trend_3bar":"ACCELERATING","projected_rvol":0.422225},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":3990.0,"sell_vol":4113.0,"unclassified_vol":0.0,"imbalance":-0.01518,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.194342},"context":{"vwap":10.984989,"price_vs_vwap_pct":-0.045415,"ema9":10.989454,"ema20":10.988576,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.17413,"atr":0.017034,"spread_atr":0.587065,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.026559,"IWM":-0.110335}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.009553},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c4163c6801e0","ts":"2026-08-28T13:58:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.4371,"target":5.57,"target_label":"prev_day_high","reward_risk":0.76,"pos_in_5d_range_pct":44.0,"room_to_5d_high_atr":1.62},"price":5.5125,"vwap":5.4949,"ext_from_open_pct":3.04,"max_ext_allowed_pct":3.0,"volume_pace":1.502,"trend":"flat","recent_slope_pct":-0.1734,"volatility":"medium"},"price":5.5125,"volume":{"bars":28,"last_bar_volume":195106.0,"baseline_avg":102788.65,"bar_rvol":1.898128,"raw_accel":5.559728,"smooth_accel":0.751793,"accel_momentum":0.178019,"rvol_3bar":[2.14525,0.282795,1.898128],"trend_3bar":"MIXED","projected_rvol":1.31479},"flow":{"window_s":30,"trades":133,"trade_rate":4.433333,"buy_vol":27232.0,"sell_vol":46091.0,"unclassified_vol":0.0,"imbalance":-0.257204,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.008343},"context":{"vwap":5.494145,"price_vs_vwap_pct":0.334089,"ema9":5.540489,"ema20":5.522746,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.209677,"dist_to_hod_atr":1.961637,"atr":0.03441,"spread_atr":0.290613,"own_change_pct":-0.378378,"rel_strength_pct":{"SPY":-0.404937,"IWM":-0.488713}},"vas":{"raw":4,"score":6.9,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.488207},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"13a0e7bb5e00","ts":"2026-08-28T13:58:45+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.401,"trend":"flat","recent_slope_pct":0.0091,"volatility":"low"},"price":10.99,"volume":{"bars":28,"last_bar_volume":42302.0,"baseline_avg":67215.4,"bar_rvol":0.62935,"raw_accel":0.904123,"smooth_accel":-0.270067,"accel_momentum":-0.566179,"rvol_3bar":[0.104689,0.328779,0.62935],"trend_3bar":"ACCELERATING","projected_rvol":0.387014},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":3747.0,"sell_vol":3508.0,"unclassified_vol":0.0,"imbalance":0.032943,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.013133},"context":{"vwap":10.984989,"price_vs_vwap_pct":0.045618,"ema9":10.989454,"ema20":10.988576,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.587065,"atr":0.017034,"spread_atr":0.587065,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.026559,"IWM":-0.110335}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.020733},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bfbfe3035058","ts":"2026-08-28T13:58:45+00:00","symbol":"BETR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":14.4386,"target":14.8698,"target_label":"premarket_high","reward_risk":0.12,"pos_in_5d_range_pct":88.8,"room_to_5d_high_atr":0.3},"price":14.825,"vwap":14.7827,"ext_from_open_pct":2.45,"max_ext_allowed_pct":3.0,"volume_pace":1.231,"trend":"flat","recent_slope_pct":0.2146,"volatility":"high"},"price":14.825,"volume":{"bars":28,"last_bar_volume":877.0,"baseline_avg":1935.2,"bar_rvol":0.453183,"raw_accel":-0.529759,"smooth_accel":-0.590602,"accel_momentum":0.108495,"rvol_3bar":[0.122914,0.945525,0.453183],"trend_3bar":"MIXED","projected_rvol":3.541408},"flow":{"window_s":30,"trades":126,"trade_rate":4.2,"buy_vol":1929.0,"sell_vol":3211.0,"unclassified_vol":0.0,"imbalance":-0.249416,"bid":14.84,"ask":14.92,"spread_pct":0.537634,"quote_size_imbalance":null,"quote_age_s":0.526904},"context":{"vwap":14.782021,"price_vs_vwap_pct":0.290749,"ema9":14.737283,"ema20":14.700254,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-2.723097,"dist_to_hod_atr":2.587703,"atr":0.160374,"spread_atr":0.498834,"own_change_pct":0.474576,"rel_strength_pct":{"SPY":0.448018,"IWM":0.364242}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.113031},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d5905484c26d","ts":"2026-08-28T13:58:50+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 35.0s, plan says WATCH; stop 10.88, target 11.29 (premarket_high), R:R 1.05; R:R 1.05 < 2.0 at 11.08; breakout: 1-min close > 11.15 on >= 61359 sh","plan":{"state":"WATCH","setup":"","stop":10.8801,"target":11.29,"target_label":"premarket_high","reward_risk":1.05,"pos_in_5d_range_pct":-5.0,"room_to_5d_high_atr":1.56},"price":11.0799,"vwap":11.0479,"ext_from_open_pct":-0.54,"max_ext_allowed_pct":3.0,"volume_pace":2.001,"trend":"flat","recent_slope_pct":-0.0007,"volatility":"high"},"price":11.0799,"volume":{"bars":28,"last_bar_volume":22296.0,"baseline_avg":27970.85,"bar_rvol":0.797116,"raw_accel":0.944701,"smooth_accel":0.00641,"accel_momentum":0.19901,"rvol_3bar":[1.376083,0.333916,0.797116],"trend_3bar":"MIXED","projected_rvol":0.658157},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":4687.0,"sell_vol":2097.0,"unclassified_vol":0.0,"imbalance":0.381781,"bid":11.06,"ask":11.08,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":2.511306},"context":{"vwap":11.047639,"price_vs_vwap_pct":0.292015,"ema9":11.048171,"ema20":11.042237,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.912188,"dist_to_hod_atr":1.614398,"atr":0.063181,"spread_atr":0.316549,"own_change_pct":0.067029,"rel_strength_pct":{"SPY":0.04047,"IWM":-0.043306}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.304323},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"223c27f0b88e","ts":"2026-08-28T13:58:55+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.74,"pos_in_5d_range_pct":68.5,"room_to_5d_high_atr":1.9},"price":9.15,"vwap":8.7501,"ext_from_open_pct":2.81,"max_ext_allowed_pct":4.0,"volume_pace":6.424,"trend":"flat","recent_slope_pct":1.2925,"volatility":"high"},"price":9.15,"volume":{"bars":28,"last_bar_volume":34292.0,"baseline_avg":7465.6,"bar_rvol":4.593335,"raw_accel":13.031097,"smooth_accel":0.770301,"accel_momentum":0.807892,"rvol_3bar":[0.292453,0.315393,4.593335],"trend_3bar":"ACCELERATING","projected_rvol":15.134143},"flow":{"window_s":30,"trades":182,"trade_rate":6.066667,"buy_vol":24865.0,"sell_vol":27593.0,"unclassified_vol":0.0,"imbalance":-0.052004,"bid":9.07,"ask":9.15,"spread_pct":0.878156,"quote_size_imbalance":null,"quote_age_s":0.021344},"context":{"vwap":8.667867,"price_vs_vwap_pct":5.562301,"ema9":8.650101,"ema20":8.606447,"ema_stack":true,"ema_warm":true,"hod":9.18,"dist_to_hod_pct":-0.326797,"dist_to_hod_atr":0.140166,"atr":0.214032,"spread_atr":0.373776,"own_change_pct":3.391813,"rel_strength_pct":{"SPY":3.365254,"IWM":3.281478}},"vas":{"raw":7,"score":8.8,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.23887},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ccdf033895bf","ts":"2026-08-28T13:58:55+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.985,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.39,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.98,"volume":{"bars":28,"last_bar_volume":42302.0,"baseline_avg":67215.4,"bar_rvol":0.62935,"raw_accel":0.904123,"smooth_accel":-0.270067,"accel_momentum":-0.566179,"rvol_3bar":[0.104689,0.328779,0.62935],"trend_3bar":"ACCELERATING","projected_rvol":0.368406},"flow":{"window_s":30,"trades":76,"trade_rate":2.533333,"buy_vol":5063.0,"sell_vol":4039.0,"unclassified_vol":0.0,"imbalance":0.112503,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":5.81515},"context":{"vwap":10.984989,"price_vs_vwap_pct":-0.045415,"ema9":10.989454,"ema20":10.988576,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.17413,"atr":0.017034,"spread_atr":0.587065,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.026559,"IWM":-0.110335}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.070804},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"53144a9c9630","ts":"2026-08-28T13:59:00+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":4.0,"volume_pace":2.383,"trend":"flat","recent_slope_pct":0.0091,"volatility":"low"},"price":10.99,"volume":{"bars":28,"last_bar_volume":42302.0,"baseline_avg":67215.4,"bar_rvol":0.62935,"raw_accel":0.904123,"smooth_accel":-0.270067,"accel_momentum":-0.566179,"rvol_3bar":[0.104689,0.328779,0.62935],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":66,"trade_rate":2.2,"buy_vol":3760.0,"sell_vol":3729.0,"unclassified_vol":0.0,"imbalance":0.004139,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.15081},"context":{"vwap":10.984989,"price_vs_vwap_pct":0.045618,"ema9":10.989454,"ema20":10.988576,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.587065,"atr":0.017034,"spread_atr":0.587065,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.027206,"IWM":-0.06349}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.002605},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"665d11c0c1b6","ts":"2026-08-28T13:59:05+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":14.6451,"target":15.07,"target_label":"ceiling","reward_risk":0.6,"pos_in_5d_range_pct":134.2,"room_to_5d_high_atr":-0.24},"price":14.91,"vwap":14.8762,"ext_from_open_pct":-0.07,"max_ext_allowed_pct":4.0,"volume_pace":7.042,"trend":"flat","recent_slope_pct":-0.1027,"volatility":"high"},"price":14.91,"volume":{"bars":29,"last_bar_volume":25556.0,"baseline_avg":67567.8,"bar_rvol":0.378227,"raw_accel":-0.134604,"smooth_accel":-0.549539,"accel_momentum":-0.122594,"rvol_3bar":[0.394401,0.414448,0.378227],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":86,"trade_rate":2.866667,"buy_vol":4078.0,"sell_vol":7450.0,"unclassified_vol":0.0,"imbalance":-0.292505,"bid":14.9,"ask":14.92,"spread_pct":0.134138,"quote_size_imbalance":null,"quote_age_s":0.893003},"context":{"vwap":14.876156,"price_vs_vwap_pct":0.227504,"ema9":14.912561,"ema20":14.87877,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.061712,"dist_to_hod_atr":1.420265,"atr":0.112655,"spread_atr":0.177533,"own_change_pct":0.006707,"rel_strength_pct":{"SPY":-0.020499,"IWM":-0.056783}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.110634},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e60f1389af48","ts":"2026-08-28T13:59:10+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.99","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.985,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.371,"trend":"flat","recent_slope_pct":-0.0137,"volatility":"low"},"price":10.98,"volume":{"bars":29,"last_bar_volume":22709.0,"baseline_avg":68712.85,"bar_rvol":0.330491,"raw_accel":-0.46317,"smooth_accel":0.063057,"accel_momentum":0.333124,"rvol_3bar":[0.328779,0.62935,0.330491],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":2535.0,"sell_vol":2285.0,"unclassified_vol":0.0,"imbalance":0.051867,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.304959},"context":{"vwap":10.985006,"price_vs_vwap_pct":-0.045572,"ema9":10.989563,"ema20":10.988712,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.209814,"atr":0.016531,"spread_atr":0.604907,"own_change_pct":-0.045475,"rel_strength_pct":{"SPY":-0.072681,"IWM":-0.108965}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.017142},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"abd79af252c3","ts":"2026-08-28T13:59:10+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 55.0s, plan says PASS; stop 10.87, target 11.14 (ceiling), R:R 0.35; R:R 0.35 < 2.0 at 11.07; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":10.8702,"target":11.14,"target_label":"ceiling","reward_risk":0.35,"pos_in_5d_range_pct":-5.8,"room_to_5d_high_atr":1.57},"price":11.07,"vwap":11.0482,"ext_from_open_pct":-0.63,"max_ext_allowed_pct":3.0,"volume_pace":2.001,"trend":"flat","recent_slope_pct":0.0362,"volatility":"high"},"price":11.07,"volume":{"bars":29,"last_bar_volume":16276.0,"baseline_avg":27513.1,"bar_rvol":0.591573,"raw_accel":-0.270004,"smooth_accel":-0.37077,"accel_momentum":-0.37718,"rvol_3bar":[0.333916,0.797116,0.591573],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":84,"trade_rate":2.8,"buy_vol":5077.0,"sell_vol":12079.0,"unclassified_vol":0.0,"imbalance":-0.408137,"bid":11.07,"ask":11.09,"spread_pct":0.180505,"quote_size_imbalance":null,"quote_age_s":1.172568},"context":{"vwap":11.047906,"price_vs_vwap_pct":0.199985,"ema9":11.054537,"ema20":11.045833,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.000724,"dist_to_hod_atr":1.818754,"atr":0.061526,"spread_atr":0.325068,"own_change_pct":0.102994,"rel_strength_pct":{"SPY":0.075788,"IWM":0.039504}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.241443},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e30f11544fd7","ts":"2026-08-28T13:59:15+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 60.0s, plan says WATCH; stop 10.88, target 11.29 (premarket_high), R:R 1.05; R:R 1.05 < 2.0 at 11.08; breakout: 1-min close > 11.15 on >= 60086 sh","plan":{"state":"WATCH","setup":"","stop":10.8802,"target":11.29,"target_label":"premarket_high","reward_risk":1.05,"pos_in_5d_range_pct":-5.0,"room_to_5d_high_atr":1.56},"price":11.08,"vwap":11.0482,"ext_from_open_pct":-0.54,"max_ext_allowed_pct":3.0,"volume_pace":1.997,"trend":"flat","recent_slope_pct":0.0542,"volatility":"high"},"price":11.08,"volume":{"bars":29,"last_bar_volume":16276.0,"baseline_avg":27513.1,"bar_rvol":0.591573,"raw_accel":-0.270004,"smooth_accel":-0.37077,"accel_momentum":-0.37718,"rvol_3bar":[0.333916,0.797116,0.591573],"trend_3bar":"MIXED","projected_rvol":1.937695},"flow":{"window_s":30,"trades":87,"trade_rate":2.9,"buy_vol":5253.0,"sell_vol":12075.0,"unclassified_vol":0.0,"imbalance":-0.393698,"bid":11.07,"ask":11.09,"spread_pct":0.180505,"quote_size_imbalance":null,"quote_age_s":1.924432},"context":{"vwap":11.047906,"price_vs_vwap_pct":0.2905,"ema9":11.054537,"ema20":11.045833,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.911294,"dist_to_hod_atr":1.65622,"atr":0.061526,"spread_atr":0.325068,"own_change_pct":0.102994,"rel_strength_pct":{"SPY":0.075788,"IWM":0.039504}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.232901},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"22642755a2c0","ts":"2026-08-28T13:59:25+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.49 below VWAP $13.50","plan":{"state":"PASS","setup":"","stop":13.3721,"target":13.61,"target_label":"ceiling","reward_risk":0.95,"pos_in_5d_range_pct":19.8,"room_to_5d_high_atr":1.36},"price":13.4944,"vwap":13.5012,"ext_from_open_pct":-0.04,"max_ext_allowed_pct":4.0,"volume_pace":1.366,"trend":"flat","recent_slope_pct":0.0025,"volatility":"medium"},"price":13.4944,"volume":{"bars":29,"last_bar_volume":771.0,"baseline_avg":19178.25,"bar_rvol":0.040202,"raw_accel":-0.971434,"smooth_accel":0.644339,"accel_momentum":-2.220932,"rvol_3bar":[1.40989,1.425301,0.040202],"trend_3bar":"MIXED","projected_rvol":0.294083},"flow":{"window_s":30,"trades":24,"trade_rate":0.8,"buy_vol":1905.0,"sell_vol":445.0,"unclassified_vol":0.0,"imbalance":0.621277,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":7.257644},"context":{"vwap":13.50116,"price_vs_vwap_pct":-0.05007,"ema9":13.492221,"ema20":13.486039,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.849375,"dist_to_hod_atr":2.539268,"atr":0.045525,"spread_atr":0.21966,"own_change_pct":0.59546,"rel_strength_pct":{"SPY":0.568254,"IWM":0.53197}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.024976},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"bae017aa0352","ts":"2026-08-28T13:59:30+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.87 below VWAP $14.88","plan":{"state":"PASS","setup":"","stop":14.6076,"target":14.9,"target_label":"premarket_high","reward_risk":0.1,"pos_in_5d_range_pct":129.1,"room_to_5d_high_atr":-0.2},"price":14.8725,"vwap":14.8763,"ext_from_open_pct":-0.32,"max_ext_allowed_pct":4.0,"volume_pace":7.05,"trend":"flat","recent_slope_pct":-0.1529,"volatility":"high"},"price":14.8725,"volume":{"bars":29,"last_bar_volume":25556.0,"baseline_avg":67567.8,"bar_rvol":0.378227,"raw_accel":-0.134604,"smooth_accel":-0.549539,"accel_momentum":-0.122594,"rvol_3bar":[0.394401,0.414448,0.378227],"trend_3bar":"MIXED","projected_rvol":1.588153},"flow":{"window_s":30,"trades":270,"trade_rate":9.0,"buy_vol":34258.0,"sell_vol":19396.0,"unclassified_vol":0.0,"imbalance":0.276997,"bid":14.87,"ask":14.89,"spread_pct":0.134409,"quote_size_imbalance":null,"quote_age_s":0.00738},"context":{"vwap":14.876156,"price_vs_vwap_pct":-0.024577,"ema9":14.912561,"ema20":14.87877,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.310551,"dist_to_hod_atr":1.75314,"atr":0.112655,"spread_atr":0.177533,"own_change_pct":0.006707,"rel_strength_pct":{"SPY":-0.020499,"IWM":-0.056783}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.104768},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0b462e52fc4a","ts":"2026-08-28T13:59:30+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9483,"target":11.13,"target_label":"range_20d_high","reward_risk":3.8,"pos_in_5d_range_pct":81.7,"room_to_5d_high_atr":0.29},"price":10.9861,"vwap":10.985,"ext_from_open_pct":0.15,"max_ext_allowed_pct":4.0,"volume_pace":2.352,"trend":"flat","recent_slope_pct":-0.0025,"volatility":"low"},"price":10.9861,"volume":{"bars":29,"last_bar_volume":22709.0,"baseline_avg":68712.85,"bar_rvol":0.330491,"raw_accel":-0.46317,"smooth_accel":0.063057,"accel_momentum":0.333124,"rvol_3bar":[0.328779,0.62935,0.330491],"trend_3bar":"MIXED","projected_rvol":0.239519},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":6280.0,"sell_vol":1949.0,"unclassified_vol":0.0,"imbalance":0.526309,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.096953},"context":{"vwap":10.985006,"price_vs_vwap_pct":0.009959,"ema9":10.989563,"ema20":10.988712,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.126364,"dist_to_hod_atr":0.84082,"atr":0.016531,"spread_atr":0.604907,"own_change_pct":-0.045475,"rel_strength_pct":{"SPY":-0.072681,"IWM":-0.108965}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.173941},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a24dd6365053","ts":"2026-08-28T13:59:30+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 75.0s, plan says PASS; stop 10.86, target 11.14 (ceiling), R:R 0.40; R:R 0.40 < 2.0 at 11.06; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":10.8602,"target":11.14,"target_label":"ceiling","reward_risk":0.4,"pos_in_5d_range_pct":-6.7,"room_to_5d_high_atr":1.58},"price":11.06,"vwap":11.0483,"ext_from_open_pct":-0.72,"max_ext_allowed_pct":3.0,"volume_pace":1.994,"trend":"flat","recent_slope_pct":0.0181,"volatility":"high"},"price":11.06,"volume":{"bars":29,"last_bar_volume":16276.0,"baseline_avg":27513.1,"bar_rvol":0.591573,"raw_accel":-0.270004,"smooth_accel":-0.37077,"accel_momentum":-0.37718,"rvol_3bar":[0.333916,0.797116,0.591573],"trend_3bar":"MIXED","projected_rvol":1.596621},"flow":{"window_s":30,"trades":104,"trade_rate":3.466667,"buy_vol":8821.0,"sell_vol":13143.0,"unclassified_vol":0.0,"imbalance":-0.196777,"bid":11.06,"ask":11.07,"spread_pct":0.090375,"quote_size_imbalance":null,"quote_age_s":0.005608},"context":{"vwap":11.047906,"price_vs_vwap_pct":0.10947,"ema9":11.054537,"ema20":11.045833,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.090155,"dist_to_hod_atr":1.981288,"atr":0.061526,"spread_atr":0.162534,"own_change_pct":0.102994,"rel_strength_pct":{"SPY":0.075788,"IWM":0.039504}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.116408},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d8b28d255ac8","ts":"2026-08-28T13:59:35+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":14.6351,"target":15.07,"target_label":"ceiling","reward_risk":0.64,"pos_in_5d_range_pct":132.9,"room_to_5d_high_atr":-0.23},"price":14.9,"vwap":14.8765,"ext_from_open_pct":-0.13,"max_ext_allowed_pct":4.0,"volume_pace":7.035,"trend":"flat","recent_slope_pct":-0.1161,"volatility":"high"},"price":14.9,"volume":{"bars":29,"last_bar_volume":25556.0,"baseline_avg":67567.8,"bar_rvol":0.378227,"raw_accel":-0.134604,"smooth_accel":-0.549539,"accel_momentum":-0.122594,"rvol_3bar":[0.394401,0.414448,0.378227],"trend_3bar":"MIXED","projected_rvol":1.414782},"flow":{"window_s":30,"trades":281,"trade_rate":9.366667,"buy_vol":36215.0,"sell_vol":18586.0,"unclassified_vol":0.0,"imbalance":0.321691,"bid":14.89,"ask":14.91,"spread_pct":0.134228,"quote_size_imbalance":null,"quote_age_s":0.747704},"context":{"vwap":14.876156,"price_vs_vwap_pct":0.160282,"ema9":14.912561,"ema20":14.87877,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.128069,"dist_to_hod_atr":1.509032,"atr":0.112655,"spread_atr":0.177533,"own_change_pct":0.006707,"rel_strength_pct":{"SPY":-0.020499,"IWM":-0.056783}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.121672},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"999f6894aef2","ts":"2026-08-28T13:59:35+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3927,"target":13.61,"target_label":"ceiling","reward_risk":0.78,"pos_in_5d_range_pct":22.3,"room_to_5d_high_atr":1.32},"price":13.515,"vwap":13.5012,"ext_from_open_pct":0.11,"max_ext_allowed_pct":3.0,"volume_pace":1.36,"trend":"flat","recent_slope_pct":0.033,"volatility":"medium"},"price":13.515,"volume":{"bars":29,"last_bar_volume":771.0,"baseline_avg":19178.25,"bar_rvol":0.040202,"raw_accel":-0.971434,"smooth_accel":0.644339,"accel_momentum":-2.220932,"rvol_3bar":[1.40989,1.425301,0.040202],"trend_3bar":"MIXED","projected_rvol":0.255647},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":400.0,"sell_vol":434.0,"unclassified_vol":0.0,"imbalance":-0.040767,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":3.453273},"context":{"vwap":13.50116,"price_vs_vwap_pct":0.10251,"ema9":13.492221,"ema20":13.486039,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.698016,"dist_to_hod_atr":2.086769,"atr":0.045525,"spread_atr":0.21966,"own_change_pct":0.59546,"rel_strength_pct":{"SPY":0.568254,"IWM":0.53197}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.001639},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"926cd4217dff","ts":"2026-08-28T13:59:40+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.98","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.985,"ext_from_open_pct":0.09,"max_ext_allowed_pct":4.0,"volume_pace":2.346,"trend":"flat","recent_slope_pct":-0.0137,"volatility":"low"},"price":10.98,"volume":{"bars":29,"last_bar_volume":22709.0,"baseline_avg":68712.85,"bar_rvol":0.330491,"raw_accel":-0.46317,"smooth_accel":0.063057,"accel_momentum":0.333124,"rvol_3bar":[0.328779,0.62935,0.330491],"trend_3bar":"MIXED","projected_rvol":0.341181},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":12857.0,"sell_vol":1741.0,"unclassified_vol":0.0,"imbalance":0.761474,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.322403},"context":{"vwap":10.985006,"price_vs_vwap_pct":-0.045572,"ema9":10.989563,"ema20":10.988712,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.209814,"atr":0.016531,"spread_atr":0.604907,"own_change_pct":-0.045475,"rel_strength_pct":{"SPY":-0.072681,"IWM":-0.108965}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.251661},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bc6809dc5f84","ts":"2026-08-28T13:59:45+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9483,"target":11.13,"target_label":"range_20d_high","reward_risk":3.8,"pos_in_5d_range_pct":81.7,"room_to_5d_high_atr":0.29},"price":10.9861,"vwap":10.985,"ext_from_open_pct":0.15,"max_ext_allowed_pct":4.0,"volume_pace":2.342,"trend":"flat","recent_slope_pct":-0.0025,"volatility":"low"},"price":10.9861,"volume":{"bars":29,"last_bar_volume":22709.0,"baseline_avg":68712.85,"bar_rvol":0.330491,"raw_accel":-0.46317,"smooth_accel":0.063057,"accel_momentum":0.333124,"rvol_3bar":[0.328779,0.62935,0.330491],"trend_3bar":"MIXED","projected_rvol":0.352229},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":12736.0,"sell_vol":3533.0,"unclassified_vol":0.0,"imbalance":0.565677,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":1.890189},"context":{"vwap":10.985006,"price_vs_vwap_pct":0.009959,"ema9":10.989563,"ema20":10.988712,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.126364,"dist_to_hod_atr":0.84082,"atr":0.016531,"spread_atr":0.604907,"own_change_pct":-0.045475,"rel_strength_pct":{"SPY":-0.072681,"IWM":-0.108965}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.186951},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"99e25555994c","ts":"2026-08-28T13:59:45+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"spread 2.17% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":14.2,"target":14.8698,"target_label":"premarket_high","reward_risk":0.05,"pos_in_5d_range_pct":89.1,"room_to_5d_high_atr":0.29},"price":14.84,"vwap":14.7831,"ext_from_open_pct":2.56,"max_ext_allowed_pct":4.0,"volume_pace":1.197,"trend":"flat","recent_slope_pct":0.1249,"volatility":"high"},"price":14.84,"volume":{"bars":29,"last_bar_volume":5140.0,"baseline_avg":1966.25,"bar_rvol":2.614113,"raw_accel":4.860889,"smooth_accel":1.735856,"accel_momentum":2.326458,"rvol_3bar":[0.945525,0.453183,2.614113],"trend_3bar":"MIXED","projected_rvol":0.362789},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":25.0,"sell_vol":8.0,"unclassified_vol":0.0,"imbalance":0.515152,"bid":14.6,"ask":14.92,"spread_pct":2.168022,"quote_size_imbalance":null,"quote_age_s":0.466117},"context":{"vwap":14.782705,"price_vs_vwap_pct":0.387584,"ema9":14.754826,"ema20":14.712135,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-2.624672,"dist_to_hod_atr":2.478029,"atr":0.161419,"spread_atr":1.982423,"own_change_pct":0.406366,"rel_strength_pct":{"SPY":0.379161,"IWM":0.342876}},"vas":{"raw":8,"score":9.4,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.346664},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"63a4ef4c0e36","ts":"2026-08-28T13:59:50+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.20% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.63,"pos_in_5d_range_pct":69.1,"room_to_5d_high_atr":1.87},"price":9.1948,"vwap":8.8212,"ext_from_open_pct":3.31,"max_ext_allowed_pct":4.0,"volume_pace":7.425,"trend":"flat","recent_slope_pct":1.4761,"volatility":"high"},"price":9.1948,"volume":{"bars":29,"last_bar_volume":106171.0,"baseline_avg":8911.95,"bar_rvol":11.91333,"raw_accel":2.096087,"smooth_accel":5.056408,"accel_momentum":4.286107,"rvol_3bar":[0.315393,4.593335,11.91333],"trend_3bar":"ACCELERATING","projected_rvol":11.988757},"flow":{"window_s":30,"trades":253,"trade_rate":8.433333,"buy_vol":14402.0,"sell_vol":18026.0,"unclassified_vol":0.0,"imbalance":-0.111755,"bid":9.1,"ask":9.21,"spread_pct":1.201529,"quote_size_imbalance":null,"quote_age_s":2.751241},"context":{"vwap":8.751628,"price_vs_vwap_pct":5.063881,"ema9":8.749881,"ema20":8.658119,"ema_stack":true,"ema_warm":true,"hod":9.18,"dist_to_hod_pct":0.16122,"dist_to_hod_atr":-0.06694,"atr":0.221094,"spread_atr":0.497526,"own_change_pct":8.076501,"rel_strength_pct":{"SPY":8.049295,"IWM":8.013011}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-1.331377},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"06252ccdde6c","ts":"2026-08-28T13:59:50+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.153,"target":7.39,"target_label":"prev_day_high","reward_risk":1.72,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.24,"vwap":7.2307,"ext_from_open_pct":0.84,"max_ext_allowed_pct":3.0,"volume_pace":0.816,"trend":"flat","recent_slope_pct":0.0108,"volatility":"medium"},"price":7.24,"volume":{"bars":29,"last_bar_volume":15582.0,"baseline_avg":45870.9,"bar_rvol":0.339692,"raw_accel":-0.17747,"smooth_accel":0.581121,"accel_momentum":0.266622,"rvol_3bar":[1.606415,0.408204,0.339692],"trend_3bar":"DECELERATING","projected_rvol":0.209178},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":2961.0,"sell_vol":1896.0,"unclassified_vol":0.0,"imbalance":0.219271,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":4.952113},"context":{"vwap":7.230716,"price_vs_vwap_pct":0.128392,"ema9":7.227502,"ema20":7.230019,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.549451,"dist_to_hod_atr":1.10723,"atr":0.036126,"spread_atr":0.276808,"own_change_pct":0.1386,"rel_strength_pct":{"SPY":0.111395,"IWM":0.07511}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.074485},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"354d639fc2f1","ts":"2026-08-28T13:59:55+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.75,"pos_in_5d_range_pct":68.5,"room_to_5d_high_atr":1.91},"price":9.145,"vwap":8.8202,"ext_from_open_pct":2.75,"max_ext_allowed_pct":4.0,"volume_pace":7.438,"trend":"flat","recent_slope_pct":1.3662,"volatility":"high"},"price":9.145,"volume":{"bars":29,"last_bar_volume":106171.0,"baseline_avg":8911.95,"bar_rvol":11.91333,"raw_accel":2.096087,"smooth_accel":5.056408,"accel_momentum":4.286107,"rvol_3bar":[0.315393,4.593335,11.91333],"trend_3bar":"ACCELERATING","projected_rvol":11.207587},"flow":{"window_s":30,"trades":237,"trade_rate":7.9,"buy_vol":12693.0,"sell_vol":16467.0,"unclassified_vol":0.0,"imbalance":-0.129424,"bid":9.1,"ask":9.19,"spread_pct":0.984144,"quote_size_imbalance":null,"quote_age_s":2.620991},"context":{"vwap":8.751628,"price_vs_vwap_pct":4.494844,"ema9":8.749881,"ema20":8.658119,"ema_stack":true,"ema_warm":true,"hod":9.18,"dist_to_hod_pct":-0.381264,"dist_to_hod_atr":0.158304,"atr":0.221094,"spread_atr":0.407067,"own_change_pct":8.076501,"rel_strength_pct":{"SPY":8.049295,"IWM":8.013011}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-1.541869},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2da135c3c1e5","ts":"2026-08-28T13:59:55+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.99","plan":{"state":"PASS","setup":"","stop":10.9472,"target":11.13,"target_label":"range_20d_high","reward_risk":3.83,"pos_in_5d_range_pct":81.2,"room_to_5d_high_atr":0.3},"price":10.985,"vwap":10.985,"ext_from_open_pct":0.14,"max_ext_allowed_pct":4.0,"volume_pace":2.331,"trend":"flat","recent_slope_pct":-0.0046,"volatility":"low"},"price":10.985,"volume":{"bars":29,"last_bar_volume":22709.0,"baseline_avg":68712.85,"bar_rvol":0.330491,"raw_accel":-0.46317,"smooth_accel":0.063057,"accel_momentum":0.333124,"rvol_3bar":[0.328779,0.62935,0.330491],"trend_3bar":"MIXED","projected_rvol":0.313034},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":12855.0,"sell_vol":4226.0,"unclassified_vol":0.0,"imbalance":0.505181,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.30339},"context":{"vwap":10.985006,"price_vs_vwap_pct":-5.5e-05,"ema9":10.989563,"ema20":10.988712,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.136364,"dist_to_hod_atr":0.90736,"atr":0.016531,"spread_atr":0.604907,"own_change_pct":-0.045475,"rel_strength_pct":{"SPY":-0.072681,"IWM":-0.108965}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.166958},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7e32ec5df427","ts":"2026-08-28T13:59:55+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.77 below VWAP $14.78","plan":{"state":"PASS","setup":"","stop":14.145,"target":14.8698,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":87.3,"room_to_5d_high_atr":0.34},"price":14.765,"vwap":14.7827,"ext_from_open_pct":2.04,"max_ext_allowed_pct":4.0,"volume_pace":1.196,"trend":"flat","recent_slope_pct":0.0237,"volatility":"high"},"price":14.765,"volume":{"bars":29,"last_bar_volume":5140.0,"baseline_avg":1966.25,"bar_rvol":2.614113,"raw_accel":4.860889,"smooth_accel":1.735856,"accel_momentum":2.326458,"rvol_3bar":[0.945525,0.453183,2.614113],"trend_3bar":"MIXED","projected_rvol":0.513761},"flow":{"window_s":30,"trades":7,"trade_rate":0.233333,"buy_vol":115.0,"sell_vol":309.0,"unclassified_vol":0.0,"imbalance":-0.457547,"bid":14.61,"ask":14.92,"spread_pct":2.09956,"quote_size_imbalance":null,"quote_age_s":0.453149},"context":{"vwap":14.782705,"price_vs_vwap_pct":-0.119766,"ema9":14.754826,"ema20":14.712135,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-3.116798,"dist_to_hod_atr":2.942659,"atr":0.161419,"spread_atr":1.920472,"own_change_pct":0.406366,"rel_strength_pct":{"SPY":0.379161,"IWM":0.342876}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.19608},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3f592e6a08b2","ts":"2026-08-28T14:00:00+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.41 below VWAP $11.44","plan":{"state":"PASS","setup":"","stop":11.2473,"target":11.48,"target_label":"range_20d_high","reward_risk":0.39,"pos_in_5d_range_pct":108.0,"room_to_5d_high_atr":-0.11},"price":11.415,"vwap":11.4351,"ext_from_open_pct":-0.57,"max_ext_allowed_pct":4.0,"volume_pace":1.419,"trend":"flat","recent_slope_pct":-0.0698,"volatility":"medium"},"price":11.415,"volume":{"bars":29,"last_bar_volume":10084.0,"baseline_avg":19214.55,"bar_rvol":0.524811,"raw_accel":-0.278735,"smooth_accel":0.127514,"accel_momentum":-0.19379,"rvol_3bar":[0.417942,0.695423,0.524811],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":232,"trade_rate":7.733333,"buy_vol":21494.0,"sell_vol":31908.0,"unclassified_vol":0.0,"imbalance":-0.195011,"bid":11.4,"ask":11.43,"spread_pct":0.262812,"quote_size_imbalance":null,"quote_age_s":0.004848},"context":{"vwap":11.434052,"price_vs_vwap_pct":-0.166629,"ema9":11.463758,"ema20":11.450391,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.891671,"dist_to_hod_atr":1.861087,"atr":0.055183,"spread_atr":0.543648,"own_change_pct":0.043554,"rel_strength_pct":{"SPY":0.035779,"IWM":0.048568}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.102344},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"25ee3546fa9b","ts":"2026-08-28T14:00:00+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":4.0,"volume_pace":2.325,"trend":"flat","recent_slope_pct":0.0046,"volatility":"low"},"price":10.99,"volume":{"bars":29,"last_bar_volume":22709.0,"baseline_avg":68712.85,"bar_rvol":0.330491,"raw_accel":-0.46317,"smooth_accel":0.063057,"accel_momentum":0.333124,"rvol_3bar":[0.328779,0.62935,0.330491],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":8270.0,"sell_vol":4197.0,"unclassified_vol":0.0,"imbalance":0.326702,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":1.824449},"context":{"vwap":10.985006,"price_vs_vwap_pct":0.045462,"ema9":10.989563,"ema20":10.988712,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.604907,"atr":0.016531,"spread_atr":0.604907,"own_change_pct":-0.045475,"rel_strength_pct":{"SPY":-0.05325,"IWM":-0.040461}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.107972},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b7700fa69ad8","ts":"2026-08-28T14:00:00+00:00","symbol":"FRMI","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.38 below VWAP $5.38","plan":{"state":"PASS","setup":"","stop":5.2454,"target":5.55,"target_label":"premarket_high","reward_risk":1.35,"pos_in_5d_range_pct":6.9,"room_to_5d_high_atr":1.44},"price":5.375,"vwap":5.3798,"ext_from_open_pct":-0.65,"max_ext_allowed_pct":3.0,"volume_pace":1.177,"trend":"flat","recent_slope_pct":-0.0675,"volatility":"high"},"price":5.375,"volume":{"bars":29,"last_bar_volume":47500.0,"baseline_avg":24729.3,"bar_rvol":1.920798,"raw_accel":6.186082,"smooth_accel":-0.278734,"accel_momentum":-0.290725,"rvol_3bar":[0.106682,0.159634,1.920798],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":92,"trade_rate":3.066667,"buy_vol":6094.0,"sell_vol":7572.0,"unclassified_vol":0.0,"imbalance":-0.108152,"bid":5.37,"ask":5.38,"spread_pct":0.186047,"quote_size_imbalance":null,"quote_age_s":1.390426},"context":{"vwap":5.379798,"price_vs_vwap_pct":-0.089182,"ema9":5.397685,"ema20":5.391756,"ema_stack":false,"ema_warm":true,"hod":5.5229,"dist_to_hod_pct":-2.677941,"dist_to_hod_atr":3.714968,"atr":0.039812,"spread_atr":0.251181,"own_change_pct":-0.394834,"rel_strength_pct":{"SPY":-0.402609,"IWM":-0.38982}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":1,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.207737},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"252726eebf38","ts":"2026-08-28T14:00:00+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.03 below VWAP $11.05","plan":{"state":"PASS","setup":"","stop":10.8252,"target":11.14,"target_label":"ceiling","reward_risk":0.58,"pos_in_5d_range_pct":-9.6,"room_to_5d_high_atr":1.63},"price":11.025,"vwap":11.0478,"ext_from_open_pct":-1.03,"max_ext_allowed_pct":3.0,"volume_pace":1.971,"trend":"flat","recent_slope_pct":-0.0452,"volatility":"high"},"price":11.025,"volume":{"bars":29,"last_bar_volume":16276.0,"baseline_avg":27513.1,"bar_rvol":0.591573,"raw_accel":-0.270004,"smooth_accel":-0.37077,"accel_momentum":-0.37718,"rvol_3bar":[0.333916,0.797116,0.591573],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":79,"trade_rate":2.633333,"buy_vol":2326.0,"sell_vol":3934.0,"unclassified_vol":0.0,"imbalance":-0.256869,"bid":11.02,"ask":11.03,"spread_pct":0.090703,"quote_size_imbalance":null,"quote_age_s":0.005606},"context":{"vwap":11.047906,"price_vs_vwap_pct":-0.207332,"ema9":11.054537,"ema20":11.045833,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.40316,"dist_to_hod_atr":2.550156,"atr":0.061526,"spread_atr":0.162534,"own_change_pct":0.102994,"rel_strength_pct":{"SPY":0.095219,"IWM":0.108008}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.151957},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ef13b577a092","ts":"2026-08-28T14:00:00+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.22 below VWAP $7.23","plan":{"state":"PASS","setup":"","stop":7.133,"target":7.25,"target_label":"premarket_high","reward_risk":0.34,"pos_in_5d_range_pct":67.0,"room_to_5d_high_atr":0.52},"price":7.22,"vwap":7.2307,"ext_from_open_pct":0.56,"max_ext_allowed_pct":3.0,"volume_pace":0.813,"trend":"flat","recent_slope_pct":-0.0445,"volatility":"medium"},"price":7.22,"volume":{"bars":29,"last_bar_volume":15582.0,"baseline_avg":45870.9,"bar_rvol":0.339692,"raw_accel":-0.17747,"smooth_accel":0.581121,"accel_momentum":0.266622,"rvol_3bar":[1.606415,0.408204,0.339692],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":4149.0,"sell_vol":4431.0,"unclassified_vol":0.0,"imbalance":-0.032867,"bid":7.21,"ask":7.22,"spread_pct":0.1386,"quote_size_imbalance":null,"quote_age_s":1.0122},"context":{"vwap":7.230716,"price_vs_vwap_pct":-0.148206,"ema9":7.227502,"ema20":7.230019,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.824176,"dist_to_hod_atr":1.660845,"atr":0.036126,"spread_atr":0.276808,"own_change_pct":0.1386,"rel_strength_pct":{"SPY":0.130825,"IWM":0.143614}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.011165},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"ceba993a1134","ts":"2026-08-28T14:00:00+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.39 below VWAP $13.44","plan":{"state":"PASS","setup":"","stop":13.2589,"target":13.51,"target_label":"ceiling","reward_risk":0.84,"pos_in_5d_range_pct":26.7,"room_to_5d_high_atr":1.26},"price":13.395,"vwap":13.4423,"ext_from_open_pct":-1.0,"max_ext_allowed_pct":3.0,"volume_pace":0.926,"trend":"flat","recent_slope_pct":-0.0772,"volatility":"medium"},"price":13.395,"volume":{"bars":29,"last_bar_volume":14354.0,"baseline_avg":14851.2,"bar_rvol":0.966521,"raw_accel":-0.639745,"smooth_accel":0.08075,"accel_momentum":0.164719,"rvol_3bar":[0.470926,2.602499,0.966521],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":153,"trade_rate":5.1,"buy_vol":15468.0,"sell_vol":20965.0,"unclassified_vol":0.0,"imbalance":-0.15088,"bid":13.39,"ask":13.4,"spread_pct":0.074655,"quote_size_imbalance":null,"quote_age_s":0.007303},"context":{"vwap":13.443712,"price_vs_vwap_pct":-0.362338,"ema9":13.452896,"ema20":13.44147,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.216814,"dist_to_hod_atr":3.550937,"atr":0.046467,"spread_atr":0.215208,"own_change_pct":0.03712,"rel_strength_pct":{"SPY":0.029345,"IWM":0.042133}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.145828},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"61f54aae4385","ts":"2026-08-28T14:00:10+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.86 below VWAP $14.88","plan":{"state":"PASS","setup":"","stop":14.5901,"target":14.9,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":126.7,"room_to_5d_high_atr":-0.18},"price":14.855,"vwap":14.8765,"ext_from_open_pct":-0.44,"max_ext_allowed_pct":4.0,"volume_pace":6.918,"trend":"flat","recent_slope_pct":-0.15,"volatility":"high"},"price":14.855,"volume":{"bars":30,"last_bar_volume":61668.0,"baseline_avg":62978.55,"bar_rvol":0.979191,"raw_accel":1.413054,"smooth_accel":-0.24354,"accel_momentum":0.305999,"rvol_3bar":[0.414448,0.378227,0.979191],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":3566.0,"sell_vol":5545.0,"unclassified_vol":0.0,"imbalance":-0.21721,"bid":14.83,"ask":14.87,"spread_pct":0.26936,"quote_size_imbalance":null,"quote_age_s":0.703967},"context":{"vwap":14.876542,"price_vs_vwap_pct":-0.144806,"ema9":14.908049,"ema20":14.879839,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.426676,"dist_to_hod_atr":1.970262,"atr":0.109123,"spread_atr":0.36656,"own_change_pct":-0.567613,"rel_strength_pct":{"SPY":-0.575388,"IWM":-0.562599}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.21269},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c80bd907336d","ts":"2026-08-28T14:00:10+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.99","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.985,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.315,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.98,"volume":{"bars":30,"last_bar_volume":20696.0,"baseline_avg":68058.55,"bar_rvol":0.304091,"raw_accel":-0.088643,"smooth_accel":-0.035287,"accel_momentum":-0.098344,"rvol_3bar":[0.62935,0.330491,0.304091],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":2167.0,"sell_vol":5012.0,"unclassified_vol":0.0,"imbalance":-0.396295,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":8.614285},"context":{"vwap":10.985021,"price_vs_vwap_pct":-0.045712,"ema9":10.989651,"ema20":10.988835,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.244947,"atr":0.016065,"spread_atr":0.622474,"own_change_pct":0.045517,"rel_strength_pct":{"SPY":0.037742,"IWM":0.050531}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.12051},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"85bd6949e8eb","ts":"2026-08-28T14:00:10+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.50 below VWAP $13.50","plan":{"state":"PASS","setup":"","stop":13.3777,"target":13.61,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":20.5,"room_to_5d_high_atr":1.35},"price":13.5,"vwap":13.5013,"ext_from_open_pct":0.0,"max_ext_allowed_pct":3.0,"volume_pace":1.347,"trend":"flat","recent_slope_pct":-0.0333,"volatility":"medium"},"price":13.5,"volume":{"bars":30,"last_bar_volume":8019.0,"baseline_avg":15226.75,"bar_rvol":0.526639,"raw_accel":1.106556,"smooth_accel":-0.246007,"accel_momentum":-0.890346,"rvol_3bar":[1.425301,0.040202,0.526639],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":75,"trade_rate":2.5,"buy_vol":1691.0,"sell_vol":4243.0,"unclassified_vol":0.0,"imbalance":-0.430064,"bid":13.5,"ask":13.53,"spread_pct":0.221976,"quote_size_imbalance":null,"quote_age_s":0.048085},"context":{"vwap":13.501254,"price_vs_vwap_pct":-0.009287,"ema9":13.494777,"ema20":13.487845,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.808229,"dist_to_hod_atr":2.474197,"atr":0.044459,"spread_atr":0.674781,"own_change_pct":0.446263,"rel_strength_pct":{"SPY":0.438488,"IWM":0.451277}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.226488},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"fe468613415a","ts":"2026-08-28T14:00:10+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.8641,"target":11.14,"target_label":"ceiling","reward_risk":0.38,"pos_in_5d_range_pct":-6.3,"room_to_5d_high_atr":1.58},"price":11.0639,"vwap":11.0478,"ext_from_open_pct":-0.68,"max_ext_allowed_pct":3.0,"volume_pace":1.969,"trend":"flat","recent_slope_pct":-0.0313,"volatility":"high"},"price":11.0639,"volume":{"bars":30,"last_bar_volume":28224.0,"baseline_avg":27228.6,"bar_rvol":1.036557,"raw_accel":0.734087,"smooth_accel":-0.138439,"accel_momentum":0.232331,"rvol_3bar":[0.797116,0.591573,1.036557],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":127,"trade_rate":4.233333,"buy_vol":5683.0,"sell_vol":4517.0,"unclassified_vol":0.0,"imbalance":0.114314,"bid":11.02,"ask":11.04,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.933802},"context":{"vwap":11.047837,"price_vs_vwap_pct":0.145396,"ema9":11.048629,"ema20":11.043849,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.055277,"dist_to_hod_atr":1.899214,"atr":0.062131,"spread_atr":0.321901,"own_change_pct":-0.464948,"rel_strength_pct":{"SPY":-0.472723,"IWM":-0.459934}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":-1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.118493},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"25109c08e74e","ts":"2026-08-28T14:00:15+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.31,"trend":"flat","recent_slope_pct":0.0091,"volatility":"low"},"price":10.99,"volume":{"bars":30,"last_bar_volume":20696.0,"baseline_avg":68058.55,"bar_rvol":0.304091,"raw_accel":-0.088643,"smooth_accel":-0.035287,"accel_momentum":-0.098344,"rvol_3bar":[0.62935,0.330491,0.304091],"trend_3bar":"DECELERATING","projected_rvol":0.202649},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":3070.0,"sell_vol":2922.0,"unclassified_vol":0.0,"imbalance":0.0247,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.90789},"context":{"vwap":10.985021,"price_vs_vwap_pct":0.045322,"ema9":10.989651,"ema20":10.988835,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.622474,"atr":0.016065,"spread_atr":0.622474,"own_change_pct":0.045517,"rel_strength_pct":{"SPY":0.037742,"IWM":0.050531}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.007511},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"bb53fa6fc1fa","ts":"2026-08-28T14:00:15+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3927,"target":13.61,"target_label":"ceiling","reward_risk":0.78,"pos_in_5d_range_pct":22.3,"room_to_5d_high_atr":1.32},"price":13.515,"vwap":13.5013,"ext_from_open_pct":0.11,"max_ext_allowed_pct":3.0,"volume_pace":1.345,"trend":"flat","recent_slope_pct":-0.0111,"volatility":"medium"},"price":13.515,"volume":{"bars":30,"last_bar_volume":8019.0,"baseline_avg":15226.75,"bar_rvol":0.526639,"raw_accel":1.106556,"smooth_accel":-0.246007,"accel_momentum":-0.890346,"rvol_3bar":[1.425301,0.040202,0.526639],"trend_3bar":"MIXED","projected_rvol":0.451574},"flow":{"window_s":30,"trades":87,"trade_rate":2.9,"buy_vol":2488.0,"sell_vol":4246.0,"unclassified_vol":0.0,"imbalance":-0.261063,"bid":13.5,"ask":13.53,"spread_pct":0.221976,"quote_size_imbalance":null,"quote_age_s":0.554672},"context":{"vwap":13.501254,"price_vs_vwap_pct":0.101813,"ema9":13.494777,"ema20":13.487845,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.698016,"dist_to_hod_atr":2.136807,"atr":0.044459,"spread_atr":0.674781,"own_change_pct":0.446263,"rel_strength_pct":{"SPY":0.438488,"IWM":0.451277}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.137486},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7462c41f2718","ts":"2026-08-28T14:00:15+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.04 below VWAP $11.05","plan":{"state":"PASS","setup":"","stop":10.8352,"target":11.14,"target_label":"ceiling","reward_risk":0.53,"pos_in_5d_range_pct":-8.8,"room_to_5d_high_atr":1.61},"price":11.035,"vwap":11.0478,"ext_from_open_pct":-0.94,"max_ext_allowed_pct":3.0,"volume_pace":1.964,"trend":"flat","recent_slope_pct":-0.0836,"volatility":"high"},"price":11.035,"volume":{"bars":30,"last_bar_volume":28224.0,"baseline_avg":27228.6,"bar_rvol":1.036557,"raw_accel":0.734087,"smooth_accel":-0.138439,"accel_momentum":0.232331,"rvol_3bar":[0.797116,0.591573,1.036557],"trend_3bar":"MIXED","projected_rvol":0.794606},"flow":{"window_s":30,"trades":129,"trade_rate":4.3,"buy_vol":5667.0,"sell_vol":4621.0,"unclassified_vol":0.0,"imbalance":0.101672,"bid":11.02,"ask":11.05,"spread_pct":0.271862,"quote_size_imbalance":null,"quote_age_s":1.405851},"context":{"vwap":11.047837,"price_vs_vwap_pct":-0.116194,"ema9":11.048629,"ema20":11.043849,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.31373,"dist_to_hod_atr":2.364361,"atr":0.062131,"spread_atr":0.482851,"own_change_pct":-0.464948,"rel_strength_pct":{"SPY":-0.472723,"IWM":-0.459934}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":-1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.105389},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"563a180b1a8a","ts":"2026-08-28T14:00:20+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":14.6251,"target":15.07,"target_label":"ceiling","reward_risk":0.68,"pos_in_5d_range_pct":131.5,"room_to_5d_high_atr":-0.22},"price":14.89,"vwap":14.8766,"ext_from_open_pct":-0.2,"max_ext_allowed_pct":4.0,"volume_pace":6.895,"trend":"flat","recent_slope_pct":-0.103,"volatility":"high"},"price":14.89,"volume":{"bars":30,"last_bar_volume":61668.0,"baseline_avg":62978.55,"bar_rvol":0.979191,"raw_accel":1.413054,"smooth_accel":-0.24354,"accel_momentum":0.305999,"rvol_3bar":[0.414448,0.378227,0.979191],"trend_3bar":"MIXED","projected_rvol":0.547758},"flow":{"window_s":30,"trades":83,"trade_rate":2.766667,"buy_vol":7713.0,"sell_vol":7033.0,"unclassified_vol":0.0,"imbalance":0.046114,"bid":14.88,"ask":14.9,"spread_pct":0.134318,"quote_size_imbalance":null,"quote_age_s":0.486194},"context":{"vwap":14.876542,"price_vs_vwap_pct":0.090463,"ema9":14.908049,"ema20":14.879839,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.194426,"dist_to_hod_atr":1.649522,"atr":0.109123,"spread_atr":0.18328,"own_change_pct":-0.567613,"rel_strength_pct":{"SPY":-0.575388,"IWM":-0.562599}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.045155},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"be8b5f42a42d","ts":"2026-08-28T14:00:20+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4138,"target":5.94,"target_label":"range_20d_high","reward_risk":9.28,"pos_in_5d_range_pct":101.5,"room_to_5d_high_atr":-0.02},"price":5.465,"vwap":5.4504,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.889,"trend":"flat","recent_slope_pct":0.0826,"volatility":"medium"},"price":5.465,"volume":{"bars":30,"last_bar_volume":12987.0,"baseline_avg":55594.8,"bar_rvol":0.233601,"raw_accel":-0.179958,"smooth_accel":-0.444167,"accel_momentum":-0.818965,"rvol_3bar":[0.482648,0.266753,0.233601],"trend_3bar":"DECELERATING","projected_rvol":3.536554},"flow":{"window_s":30,"trades":163,"trade_rate":5.433333,"buy_vol":40231.0,"sell_vol":25930.0,"unclassified_vol":0.0,"imbalance":0.216155,"bid":5.46,"ask":5.47,"spread_pct":0.182983,"quote_size_imbalance":null,"quote_age_s":0.391953},"context":{"vwap":5.450267,"price_vs_vwap_pct":0.27032,"ema9":5.440641,"ema20":5.439749,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.455373,"dist_to_hod_atr":1.38228,"atr":0.018086,"spread_atr":0.552912,"own_change_pct":0.101112,"rel_strength_pct":{"SPY":0.093337,"IWM":0.106126}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.050494},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"5e4bf7949b4e","ts":"2026-08-28T14:00:20+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":11.3123,"target":11.48,"target_label":"clear air (typical 60-min move)","reward_risk":0.0,"pos_in_5d_range_pct":114.9,"room_to_5d_high_atr":-0.21},"price":11.48,"vwap":11.4355,"ext_from_open_pct":0.0,"max_ext_allowed_pct":3.0,"volume_pace":1.512,"trend":"flat","recent_slope_pct":0.0044,"volatility":"medium"},"price":11.48,"volume":{"bars":30,"last_bar_volume":92304.0,"baseline_avg":18369.9,"bar_rvol":5.024742,"raw_accel":8.153511,"smooth_accel":2.931518,"accel_momentum":2.804004,"rvol_3bar":[0.695423,0.524811,5.024742],"trend_3bar":"MIXED","projected_rvol":10.380514},"flow":{"window_s":30,"trades":527,"trade_rate":17.566667,"buy_vol":50144.0,"sell_vol":62325.0,"unclassified_vol":0.0,"imbalance":-0.108305,"bid":11.48,"ask":11.49,"spread_pct":0.08707,"quote_size_imbalance":null,"quote_age_s":0.132685},"context":{"vwap":11.4351,"price_vs_vwap_pct":0.392648,"ema9":11.454006,"ema20":11.44702,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.327322,"dist_to_hod_atr":0.657796,"atr":0.057313,"spread_atr":0.174482,"own_change_pct":-0.491658,"rel_strength_pct":{"SPY":-0.499432,"IWM":-0.486644}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.544207},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b5e617c710ff","ts":"2026-08-28T14:00:20+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.99","plan":{"state":"PASS","setup":"","stop":10.9472,"target":11.13,"target_label":"range_20d_high","reward_risk":3.83,"pos_in_5d_range_pct":81.2,"room_to_5d_high_atr":0.3},"price":10.985,"vwap":10.985,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":2.306,"trend":"flat","recent_slope_pct":0.0,"volatility":"low"},"price":10.985,"volume":{"bars":30,"last_bar_volume":20696.0,"baseline_avg":68058.55,"bar_rvol":0.304091,"raw_accel":-0.088643,"smooth_accel":-0.035287,"accel_momentum":-0.098344,"rvol_3bar":[0.62935,0.330491,0.304091],"trend_3bar":"DECELERATING","projected_rvol":0.282022},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":5597.0,"sell_vol":2342.0,"unclassified_vol":0.0,"imbalance":0.410001,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.110749},"context":{"vwap":10.985021,"price_vs_vwap_pct":-0.000195,"ema9":10.989651,"ema20":10.988835,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.136364,"dist_to_hod_atr":0.93371,"atr":0.016065,"spread_atr":0.622474,"own_change_pct":0.045517,"rel_strength_pct":{"SPY":0.037742,"IWM":0.050531}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.124678},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"442609e405e8","ts":"2026-08-28T14:00:20+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":10.8802,"target":11.29,"target_label":"premarket_high","reward_risk":1.05,"pos_in_5d_range_pct":-5.0,"room_to_5d_high_atr":1.56},"price":11.08,"vwap":11.0479,"ext_from_open_pct":-0.54,"max_ext_allowed_pct":4.0,"volume_pace":1.963,"trend":"flat","recent_slope_pct":-0.0022,"volatility":"high"},"price":11.08,"volume":{"bars":30,"last_bar_volume":28224.0,"baseline_avg":27228.6,"bar_rvol":1.036557,"raw_accel":0.734087,"smooth_accel":-0.138439,"accel_momentum":0.232331,"rvol_3bar":[0.797116,0.591573,1.036557],"trend_3bar":"MIXED","projected_rvol":0.898834},"flow":{"window_s":30,"trades":172,"trade_rate":5.733333,"buy_vol":7413.0,"sell_vol":5620.0,"unclassified_vol":0.0,"imbalance":0.137574,"bid":11.07,"ask":11.09,"spread_pct":0.180505,"quote_size_imbalance":null,"quote_age_s":0.311427},"context":{"vwap":11.047837,"price_vs_vwap_pct":0.291125,"ema9":11.048629,"ema20":11.043849,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.911294,"dist_to_hod_atr":1.640084,"atr":0.062131,"spread_atr":0.321901,"own_change_pct":-0.464948,"rel_strength_pct":{"SPY":-0.472723,"IWM":-0.459934}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":-1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.142603},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d0819e1b8573","ts":"2026-08-28T14:00:20+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.3389,"target":13.64,"target_label":"premarket_high","reward_risk":1.21,"pos_in_5d_range_pct":35.3,"room_to_5d_high_atr":1.11},"price":13.475,"vwap":13.4412,"ext_from_open_pct":-0.41,"max_ext_allowed_pct":3.0,"volume_pace":1.043,"trend":"flat","recent_slope_pct":-0.0022,"volatility":"medium"},"price":13.475,"volume":{"bars":30,"last_bar_volume":71262.0,"baseline_avg":15216.5,"bar_rvol":4.683206,"raw_accel":3.964609,"smooth_accel":2.67089,"accel_momentum":2.59014,"rvol_3bar":[2.602499,0.966521,4.683206],"trend_3bar":"MIXED","projected_rvol":24.297112},"flow":{"window_s":30,"trades":938,"trade_rate":31.266667,"buy_vol":65701.0,"sell_vol":85389.0,"unclassified_vol":0.0,"imbalance":-0.130306,"bid":13.47,"ask":13.48,"spread_pct":0.074212,"quote_size_imbalance":null,"quote_age_s":0.101733},"context":{"vwap":13.44234,"price_vs_vwap_pct":0.242963,"ema9":13.441316,"ema20":13.437045,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-0.626844,"dist_to_hod_atr":1.702272,"atr":0.049933,"spread_atr":0.200267,"own_change_pct":-0.519866,"rel_strength_pct":{"SPY":-0.527641,"IWM":-0.514852}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.610252},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4eba5294cac5","ts":"2026-08-28T14:00:25+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.85% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.52,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":1.83},"price":9.25,"vwap":8.8376,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":7.643,"trend":"flat","recent_slope_pct":1.5063,"volatility":"high"},"price":9.25,"volume":{"bars":30,"last_bar_volume":92921.0,"baseline_avg":12406.35,"bar_rvol":7.489794,"raw_accel":-0.124799,"smooth_accel":15.7878,"accel_momentum":10.731392,"rvol_3bar":[4.593335,11.91333,7.489794],"trend_3bar":"MIXED","projected_rvol":4.674703},"flow":{"window_s":30,"trades":195,"trade_rate":6.5,"buy_vol":15482.0,"sell_vol":10046.0,"unclassified_vol":0.0,"imbalance":0.212943,"bid":9.1,"ask":9.27,"spread_pct":1.850844,"quote_size_imbalance":null,"quote_age_s":0.374919},"context":{"vwap":8.822941,"price_vs_vwap_pct":4.840329,"ema9":8.836005,"ema20":8.70787,"ema_stack":true,"ema_warm":true,"hod":9.29,"dist_to_hod_pct":-0.430571,"dist_to_hod_atr":0.182754,"atr":0.218873,"spread_atr":0.776706,"own_change_pct":6.378911,"rel_strength_pct":{"SPY":6.371136,"IWM":6.383925}},"vas":{"raw":8,"score":9.4,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":1.594896},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"fe923fe10eb0","ts":"2026-08-28T14:00:25+00:00","symbol":"NVAX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.99,"target":9.18,"target_label":"prev_day_high","reward_risk":0.15,"pos_in_5d_range_pct":67.8,"room_to_5d_high_atr":0.96},"price":9.155,"vwap":9.1241,"ext_from_open_pct":-0.27,"max_ext_allowed_pct":4.0,"volume_pace":1.88,"trend":"flat","recent_slope_pct":0.0055,"volatility":"medium"},"price":9.155,"volume":{"bars":30,"last_bar_volume":690.0,"baseline_avg":6760.45,"bar_rvol":0.102064,"raw_accel":-0.886662,"smooth_accel":0.146282,"accel_momentum":0.022519,"rvol_3bar":[0.418891,0.897531,0.102064],"trend_3bar":"MIXED","projected_rvol":2.922409},"flow":{"window_s":30,"trades":114,"trade_rate":3.8,"buy_vol":5755.0,"sell_vol":2706.0,"unclassified_vol":0.0,"imbalance":0.360359,"bid":9.14,"ask":9.17,"spread_pct":0.32769,"quote_size_imbalance":null,"quote_age_s":1.632235},"context":{"vwap":9.123959,"price_vs_vwap_pct":0.34021,"ema9":9.140613,"ema20":9.137191,"ema_stack":true,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-1.55914,"dist_to_hod_atr":2.547883,"atr":0.05691,"spread_atr":0.527148,"own_change_pct":-0.870511,"rel_strength_pct":{"SPY":-0.878286,"IWM":-0.865497}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":1,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.03678},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3df5a4275535","ts":"2026-08-28T14:00:30+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.55,"pos_in_5d_range_pct":69.5,"room_to_5d_high_atr":1.84},"price":9.235,"vwap":8.84,"ext_from_open_pct":3.76,"max_ext_allowed_pct":4.0,"volume_pace":7.682,"trend":"flat","recent_slope_pct":1.4736,"volatility":"high"},"price":9.235,"volume":{"bars":30,"last_bar_volume":92921.0,"baseline_avg":12406.35,"bar_rvol":7.489794,"raw_accel":-0.124799,"smooth_accel":15.7878,"accel_momentum":10.731392,"rvol_3bar":[4.593335,11.91333,7.489794],"trend_3bar":"MIXED","projected_rvol":4.653585},"flow":{"window_s":30,"trades":211,"trade_rate":7.033333,"buy_vol":18087.0,"sell_vol":10780.0,"unclassified_vol":0.0,"imbalance":0.253126,"bid":9.2,"ask":9.27,"spread_pct":0.757986,"quote_size_imbalance":null,"quote_age_s":2.609017},"context":{"vwap":8.822941,"price_vs_vwap_pct":4.670318,"ema9":8.836005,"ema20":8.70787,"ema_stack":true,"ema_warm":true,"hod":9.29,"dist_to_hod_pct":-0.592034,"dist_to_hod_atr":0.251287,"atr":0.218873,"spread_atr":0.31982,"own_change_pct":6.378911,"rel_strength_pct":{"SPY":6.371136,"IWM":6.383925}},"vas":{"raw":8,"score":9.4,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":1.895865},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5f5560010278","ts":"2026-08-28T14:00:30+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":5.4038,"target":5.49,"target_label":"ceiling","reward_risk":0.68,"pos_in_5d_range_pct":98.5,"room_to_5d_high_atr":0.02},"price":5.455,"vwap":5.4503,"ext_from_open_pct":-0.27,"max_ext_allowed_pct":3.0,"volume_pace":1.892,"trend":"flat","recent_slope_pct":0.0459,"volatility":"medium"},"price":5.455,"volume":{"bars":30,"last_bar_volume":12987.0,"baseline_avg":55594.8,"bar_rvol":0.233601,"raw_accel":-0.179958,"smooth_accel":-0.444167,"accel_momentum":-0.818965,"rvol_3bar":[0.482648,0.266753,0.233601],"trend_3bar":"DECELERATING","projected_rvol":2.963946},"flow":{"window_s":30,"trades":207,"trade_rate":6.9,"buy_vol":44603.0,"sell_vol":37787.0,"unclassified_vol":0.0,"imbalance":0.082728,"bid":5.45,"ask":5.46,"spread_pct":0.183318,"quote_size_imbalance":null,"quote_age_s":0.004462},"context":{"vwap":5.450267,"price_vs_vwap_pct":0.086843,"ema9":5.440641,"ema20":5.439749,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.637523,"dist_to_hod_atr":1.935193,"atr":0.018086,"spread_atr":0.552912,"own_change_pct":0.101112,"rel_strength_pct":{"SPY":0.093337,"IWM":0.106126}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.019325},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"c9c866fc0b7c","ts":"2026-08-28T14:00:30+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.42 below VWAP $13.44","plan":{"state":"PASS","setup":"","stop":13.2839,"target":13.51,"target_label":"ceiling","reward_risk":0.66,"pos_in_5d_range_pct":29.4,"room_to_5d_high_atr":1.21},"price":13.42,"vwap":13.4389,"ext_from_open_pct":-0.81,"max_ext_allowed_pct":3.0,"volume_pace":1.092,"trend":"flat","recent_slope_pct":-0.0841,"volatility":"medium"},"price":13.42,"volume":{"bars":30,"last_bar_volume":71262.0,"baseline_avg":15216.5,"bar_rvol":4.683206,"raw_accel":3.964609,"smooth_accel":2.67089,"accel_momentum":2.59014,"rvol_3bar":[2.602499,0.966521,4.683206],"trend_3bar":"MIXED","projected_rvol":23.184964},"flow":{"window_s":30,"trades":1176,"trade_rate":39.2,"buy_vol":69682.0,"sell_vol":106715.0,"unclassified_vol":0.0,"imbalance":-0.209941,"bid":13.42,"ask":13.44,"spread_pct":0.14892,"quote_size_imbalance":null,"quote_age_s":0.007281},"context":{"vwap":13.44234,"price_vs_vwap_pct":-0.166192,"ema9":13.441316,"ema20":13.437045,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.032448,"dist_to_hod_atr":2.803742,"atr":0.049933,"spread_atr":0.400535,"own_change_pct":-0.519866,"rel_strength_pct":{"SPY":-0.527641,"IWM":-0.514852}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.983198},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e3305f25ef09","ts":"2026-08-28T14:00:30+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.49% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":14.46,"target":15.14,"target_label":"ceiling","reward_risk":0.55,"pos_in_5d_range_pct":90.6,"room_to_5d_high_atr":0.26},"price":14.9,"vwap":14.7841,"ext_from_open_pct":2.97,"max_ext_allowed_pct":4.0,"volume_pace":1.188,"trend":"flat","recent_slope_pct":0.0708,"volatility":"high"},"price":14.9,"volume":{"bars":30,"last_bar_volume":926.0,"baseline_avg":2214.7,"bar_rvol":0.418115,"raw_accel":-0.819844,"smooth_accel":1.002596,"accel_momentum":-0.73326,"rvol_3bar":[0.453183,2.614113,0.418115],"trend_3bar":"MIXED","projected_rvol":0.993363},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":1100.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":14.7,"ask":14.92,"spread_pct":1.485483,"quote_size_imbalance":null,"quote_age_s":15.359815},"context":{"vwap":14.782658,"price_vs_vwap_pct":0.793784,"ema9":14.756861,"ema20":14.71717,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-2.230971,"dist_to_hod_atr":2.080018,"atr":0.16346,"spread_atr":1.345894,"own_change_pct":0.432612,"rel_strength_pct":{"SPY":0.424837,"IWM":0.437626}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.418115},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e6d4929352d2","ts":"2026-08-28T14:00:35+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.45 below VWAP $5.45","plan":{"state":"PASS","setup":"","stop":5.3988,"target":5.49,"target_label":"ceiling","reward_risk":0.78,"pos_in_5d_range_pct":97.1,"room_to_5d_high_atr":0.05},"price":5.45,"vwap":5.4503,"ext_from_open_pct":-0.37,"max_ext_allowed_pct":3.0,"volume_pace":1.889,"trend":"flat","recent_slope_pct":0.0275,"volatility":"medium"},"price":5.45,"volume":{"bars":30,"last_bar_volume":12987.0,"baseline_avg":55594.8,"bar_rvol":0.233601,"raw_accel":-0.179958,"smooth_accel":-0.444167,"accel_momentum":-0.818965,"rvol_3bar":[0.482648,0.266753,0.233601],"trend_3bar":"DECELERATING","projected_rvol":2.645736},"flow":{"window_s":30,"trades":200,"trade_rate":6.666667,"buy_vol":45765.0,"sell_vol":33826.0,"unclassified_vol":0.0,"imbalance":0.150004,"bid":5.45,"ask":5.46,"spread_pct":0.183318,"quote_size_imbalance":null,"quote_age_s":0.024341},"context":{"vwap":5.450267,"price_vs_vwap_pct":-0.004896,"ema9":5.440641,"ema20":5.439749,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.728597,"dist_to_hod_atr":2.211649,"atr":0.018086,"spread_atr":0.552912,"own_change_pct":0.101112,"rel_strength_pct":{"SPY":0.093337,"IWM":0.106126}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.035041},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"b85b0df98212","ts":"2026-08-28T14:00:40+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.6% above open $8.90 (max 4%: volume pace strong, buying normal)","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.43,"pos_in_5d_range_pct":70.4,"room_to_5d_high_atr":1.79},"price":9.305,"vwap":8.8568,"ext_from_open_pct":4.55,"max_ext_allowed_pct":4.0,"volume_pace":7.936,"trend":"flat","recent_slope_pct":1.6261,"volatility":"high"},"price":9.305,"volume":{"bars":30,"last_bar_volume":92921.0,"baseline_avg":12406.35,"bar_rvol":7.489794,"raw_accel":-0.124799,"smooth_accel":15.7878,"accel_momentum":10.731392,"rvol_3bar":[4.593335,11.91333,7.489794],"trend_3bar":"MIXED","projected_rvol":6.293027},"flow":{"window_s":30,"trades":319,"trade_rate":10.633333,"buy_vol":26572.0,"sell_vol":14249.0,"unclassified_vol":0.0,"imbalance":0.301879,"bid":9.27,"ask":9.34,"spread_pct":0.752284,"quote_size_imbalance":null,"quote_age_s":0.622091},"context":{"vwap":8.822941,"price_vs_vwap_pct":5.463704,"ema9":8.836005,"ema20":8.70787,"ema_stack":true,"ema_warm":true,"hod":9.29,"dist_to_hod_pct":0.161464,"dist_to_hod_atr":-0.068533,"atr":0.218873,"spread_atr":0.31982,"own_change_pct":6.378911,"rel_strength_pct":{"SPY":6.371136,"IWM":6.383925}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":2.261011},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d954c20ca862","ts":"2026-08-28T14:00:40+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4087,"target":5.94,"target_label":"range_20d_high","reward_risk":9.38,"pos_in_5d_range_pct":100.0,"room_to_5d_high_atr":0.0},"price":5.4599,"vwap":5.4504,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":3.0,"volume_pace":1.891,"trend":"flat","recent_slope_pct":0.0639,"volatility":"medium"},"price":5.4599,"volume":{"bars":30,"last_bar_volume":12987.0,"baseline_avg":55594.8,"bar_rvol":0.233601,"raw_accel":-0.179958,"smooth_accel":-0.444167,"accel_momentum":-0.818965,"rvol_3bar":[0.482648,0.266753,0.233601],"trend_3bar":"DECELERATING","projected_rvol":2.55407},"flow":{"window_s":30,"trades":212,"trade_rate":7.066667,"buy_vol":49948.0,"sell_vol":38399.0,"unclassified_vol":0.0,"imbalance":0.130723,"bid":5.45,"ask":5.46,"spread_pct":0.183318,"quote_size_imbalance":null,"quote_age_s":0.035189},"context":{"vwap":5.450267,"price_vs_vwap_pct":0.176746,"ema9":5.440641,"ema20":5.439749,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.54827,"dist_to_hod_atr":1.664266,"atr":0.018086,"spread_atr":0.552912,"own_change_pct":0.101112,"rel_strength_pct":{"SPY":0.093337,"IWM":0.106126}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.030537},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"72afcb684100","ts":"2026-08-28T14:00:45+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":5.4038,"target":5.49,"target_label":"ceiling","reward_risk":0.68,"pos_in_5d_range_pct":98.5,"room_to_5d_high_atr":0.02},"price":5.455,"vwap":5.4503,"ext_from_open_pct":-0.27,"max_ext_allowed_pct":3.0,"volume_pace":1.891,"trend":"flat","recent_slope_pct":0.0459,"volatility":"medium"},"price":5.455,"volume":{"bars":30,"last_bar_volume":12987.0,"baseline_avg":55594.8,"bar_rvol":0.233601,"raw_accel":-0.179958,"smooth_accel":-0.444167,"accel_momentum":-0.818965,"rvol_3bar":[0.482648,0.266753,0.233601],"trend_3bar":"DECELERATING","projected_rvol":2.419939},"flow":{"window_s":30,"trades":205,"trade_rate":6.833333,"buy_vol":41371.0,"sell_vol":44430.0,"unclassified_vol":0.0,"imbalance":-0.035652,"bid":5.45,"ask":5.46,"spread_pct":0.183318,"quote_size_imbalance":null,"quote_age_s":0.063359},"context":{"vwap":5.450267,"price_vs_vwap_pct":0.086843,"ema9":5.440641,"ema20":5.439749,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.637523,"dist_to_hod_atr":1.935193,"atr":0.018086,"spread_atr":0.552912,"own_change_pct":0.101112,"rel_strength_pct":{"SPY":0.093337,"IWM":0.106126}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.008328},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"748555c6ea3a","ts":"2026-08-28T14:00:45+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.278,"trend":"flat","recent_slope_pct":0.0091,"volatility":"low"},"price":10.99,"volume":{"bars":30,"last_bar_volume":20696.0,"baseline_avg":68058.55,"bar_rvol":0.304091,"raw_accel":-0.088643,"smooth_accel":-0.035287,"accel_momentum":-0.098344,"rvol_3bar":[0.62935,0.330491,0.304091],"trend_3bar":"DECELERATING","projected_rvol":0.177298},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":3763.0,"sell_vol":1839.0,"unclassified_vol":0.0,"imbalance":0.343449,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.744814},"context":{"vwap":10.985021,"price_vs_vwap_pct":0.045322,"ema9":10.989651,"ema20":10.988835,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.622474,"atr":0.016065,"spread_atr":0.622474,"own_change_pct":0.045517,"rel_strength_pct":{"SPY":0.037742,"IWM":0.050531}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.10444},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"2d952dca4214","ts":"2026-08-28T14:00:50+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.87 below VWAP $14.88","plan":{"state":"PASS","setup":"","stop":14.6076,"target":14.9,"target_label":"premarket_high","reward_risk":0.1,"pos_in_5d_range_pct":129.1,"room_to_5d_high_atr":-0.2},"price":14.8725,"vwap":14.8766,"ext_from_open_pct":-0.32,"max_ext_allowed_pct":4.0,"volume_pace":6.808,"trend":"flat","recent_slope_pct":-0.1265,"volatility":"high"},"price":14.8725,"volume":{"bars":30,"last_bar_volume":61668.0,"baseline_avg":62978.55,"bar_rvol":0.979191,"raw_accel":1.413054,"smooth_accel":-0.24354,"accel_momentum":0.305999,"rvol_3bar":[0.414448,0.378227,0.979191],"trend_3bar":"MIXED","projected_rvol":0.452421},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":1443.0,"sell_vol":10802.0,"unclassified_vol":0.0,"imbalance":-0.764312,"bid":14.87,"ask":14.89,"spread_pct":0.134409,"quote_size_imbalance":null,"quote_age_s":1.532298},"context":{"vwap":14.876542,"price_vs_vwap_pct":-0.027171,"ema9":14.908049,"ema20":14.879839,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.310551,"dist_to_hod_atr":1.809892,"atr":0.109123,"spread_atr":0.18328,"own_change_pct":-0.567613,"rel_strength_pct":{"SPY":-0.575388,"IWM":-0.562599}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.748407},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1366111fa113","ts":"2026-08-28T14:00:50+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.99","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.985,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.273,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.98,"volume":{"bars":30,"last_bar_volume":20696.0,"baseline_avg":68058.55,"bar_rvol":0.304091,"raw_accel":-0.088643,"smooth_accel":-0.035287,"accel_momentum":-0.098344,"rvol_3bar":[0.62935,0.330491,0.304091],"trend_3bar":"DECELERATING","projected_rvol":0.182613},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":2043.0,"sell_vol":1916.0,"unclassified_vol":0.0,"imbalance":0.032079,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.027012},"context":{"vwap":10.985021,"price_vs_vwap_pct":-0.045712,"ema9":10.989651,"ema20":10.988835,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.244947,"atr":0.016065,"spread_atr":0.622474,"own_change_pct":0.045517,"rel_strength_pct":{"SPY":0.037742,"IWM":0.050531}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.009755},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"bf035857eb64","ts":"2026-08-28T14:00:50+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.71 below VWAP $14.78","plan":{"state":"PASS","setup":"","stop":14.29,"target":14.8698,"target_label":"premarket_high","reward_risk":0.38,"pos_in_5d_range_pct":86.0,"room_to_5d_high_atr":0.38},"price":14.71,"vwap":14.7823,"ext_from_open_pct":1.66,"max_ext_allowed_pct":4.0,"volume_pace":1.194,"trend":"flat","recent_slope_pct":-0.186,"volatility":"high"},"price":14.71,"volume":{"bars":30,"last_bar_volume":926.0,"baseline_avg":2214.7,"bar_rvol":0.418115,"raw_accel":-0.819844,"smooth_accel":1.002596,"accel_momentum":-0.73326,"rvol_3bar":[0.453183,2.614113,0.418115],"trend_3bar":"MIXED","projected_rvol":1.350792},"flow":{"window_s":30,"trades":17,"trade_rate":0.566667,"buy_vol":1400.0,"sell_vol":1093.0,"unclassified_vol":0.0,"imbalance":0.123145,"bid":14.71,"ask":14.92,"spread_pct":1.417482,"quote_size_imbalance":null,"quote_age_s":0.779141},"context":{"vwap":14.782658,"price_vs_vwap_pct":-0.491505,"ema9":14.756861,"ema20":14.71717,"ema_stack":false,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-3.47769,"dist_to_hod_atr":3.242381,"atr":0.16346,"spread_atr":1.284717,"own_change_pct":0.432612,"rel_strength_pct":{"SPY":0.424837,"IWM":0.437626}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.051489},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3c5af49626e2","ts":"2026-08-28T14:00:55+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":14.6251,"target":15.07,"target_label":"ceiling","reward_risk":0.68,"pos_in_5d_range_pct":131.5,"room_to_5d_high_atr":-0.22},"price":14.89,"vwap":14.8767,"ext_from_open_pct":-0.2,"max_ext_allowed_pct":4.0,"volume_pace":6.805,"trend":"flat","recent_slope_pct":-0.103,"volatility":"high"},"price":14.89,"volume":{"bars":30,"last_bar_volume":61668.0,"baseline_avg":62978.55,"bar_rvol":0.979191,"raw_accel":1.413054,"smooth_accel":-0.24354,"accel_momentum":0.305999,"rvol_3bar":[0.414448,0.378227,0.979191],"trend_3bar":"MIXED","projected_rvol":0.547961},"flow":{"window_s":30,"trades":74,"trade_rate":2.466667,"buy_vol":6718.0,"sell_vol":12772.0,"unclassified_vol":0.0,"imbalance":-0.310621,"bid":14.87,"ask":14.9,"spread_pct":0.201545,"quote_size_imbalance":null,"quote_age_s":0.765186},"context":{"vwap":14.876542,"price_vs_vwap_pct":0.090463,"ema9":14.908049,"ema20":14.879839,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.194426,"dist_to_hod_atr":1.649522,"atr":0.109123,"spread_atr":0.27492,"own_change_pct":-0.567613,"rel_strength_pct":{"SPY":-0.575388,"IWM":-0.562599}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.304157},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3521427e29f7","ts":"2026-08-28T14:00:55+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.268,"trend":"flat","recent_slope_pct":0.0091,"volatility":"low"},"price":10.99,"volume":{"bars":30,"last_bar_volume":20696.0,"baseline_avg":68058.55,"bar_rvol":0.304091,"raw_accel":-0.088643,"smooth_accel":-0.035287,"accel_momentum":-0.098344,"rvol_3bar":[0.62935,0.330491,0.304091],"trend_3bar":"DECELERATING","projected_rvol":0.175806},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":2335.0,"sell_vol":1596.0,"unclassified_vol":0.0,"imbalance":0.187993,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":1.112332},"context":{"vwap":10.985021,"price_vs_vwap_pct":0.045322,"ema9":10.989651,"ema20":10.988835,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.622474,"atr":0.016065,"spread_atr":0.622474,"own_change_pct":0.045517,"rel_strength_pct":{"SPY":0.037742,"IWM":0.050531}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.057167},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"8765a24b82b0","ts":"2026-08-28T14:01:00+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.42% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":14.395,"target":14.8698,"target_label":"premarket_high","reward_risk":0.13,"pos_in_5d_range_pct":88.5,"room_to_5d_high_atr":0.31},"price":14.815,"vwap":14.7833,"ext_from_open_pct":2.38,"max_ext_allowed_pct":4.0,"volume_pace":1.188,"trend":"flat","recent_slope_pct":-0.0439,"volatility":"high"},"price":14.815,"volume":{"bars":30,"last_bar_volume":926.0,"baseline_avg":2214.7,"bar_rvol":0.418115,"raw_accel":-0.819844,"smooth_accel":1.002596,"accel_momentum":-0.73326,"rvol_3bar":[0.453183,2.614113,0.418115],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":17,"trade_rate":0.566667,"buy_vol":300.0,"sell_vol":1094.0,"unclassified_vol":0.0,"imbalance":-0.569584,"bid":14.71,"ask":14.92,"spread_pct":1.417482,"quote_size_imbalance":null,"quote_age_s":1.957245},"context":{"vwap":14.782658,"price_vs_vwap_pct":0.218786,"ema9":14.756861,"ema20":14.71717,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-2.788714,"dist_to_hod_atr":2.600022,"atr":0.16346,"spread_atr":1.284717,"own_change_pct":0.432612,"rel_strength_pct":{"SPY":0.299151,"IWM":0.258867}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.238152},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4f4375443bfe","ts":"2026-08-28T14:01:05+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":5.4038,"target":5.49,"target_label":"ceiling","reward_risk":0.68,"pos_in_5d_range_pct":98.5,"room_to_5d_high_atr":0.02},"price":5.455,"vwap":5.4504,"ext_from_open_pct":-0.27,"max_ext_allowed_pct":3.0,"volume_pace":1.88,"trend":"flat","recent_slope_pct":0.0275,"volatility":"medium"},"price":5.455,"volume":{"bars":31,"last_bar_volume":107429.0,"baseline_avg":53332.65,"bar_rvol":2.01432,"raw_accel":7.057278,"smooth_accel":0.134345,"accel_momentum":0.578512,"rvol_3bar":[0.266753,0.233601,2.01432],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":8091.0,"sell_vol":19236.0,"unclassified_vol":0.0,"imbalance":-0.407838,"bid":5.45,"ask":5.46,"spread_pct":0.183318,"quote_size_imbalance":null,"quote_age_s":4.591133},"context":{"vwap":5.450349,"price_vs_vwap_pct":0.085337,"ema9":5.443513,"ema20":5.441201,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.637523,"dist_to_hod_atr":1.841283,"atr":0.019008,"spread_atr":0.526081,"own_change_pct":0.43451,"rel_strength_pct":{"SPY":0.301049,"IWM":0.260766}},"vas":{"raw":2,"score":5.6,"components":{"rvol":2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.821517},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"262ccc7addb7","ts":"2026-08-28T14:01:05+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.43 below VWAP $11.44","plan":{"state":"PASS","setup":"","stop":11.2623,"target":11.48,"target_label":"range_20d_high","reward_risk":0.3,"pos_in_5d_range_pct":109.6,"room_to_5d_high_atr":-0.13},"price":11.43,"vwap":11.4361,"ext_from_open_pct":-0.44,"max_ext_allowed_pct":3.0,"volume_pace":1.582,"trend":"flat","recent_slope_pct":-0.0763,"volatility":"medium"},"price":11.43,"volume":{"bars":31,"last_bar_volume":126225.0,"baseline_avg":21148.5,"bar_rvol":5.968508,"raw_accel":0.367492,"smooth_accel":5.968209,"accel_momentum":3.036691,"rvol_3bar":[0.524811,5.024742,5.968508],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":85,"trade_rate":2.833333,"buy_vol":2734.0,"sell_vol":8056.0,"unclassified_vol":0.0,"imbalance":-0.493234,"bid":11.42,"ask":11.44,"spread_pct":0.174978,"quote_size_imbalance":null,"quote_age_s":0.749759},"context":{"vwap":11.436094,"price_vs_vwap_pct":-0.053291,"ema9":11.454725,"ema20":11.448028,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-0.761437,"dist_to_hod_atr":1.371746,"atr":0.063933,"spread_atr":0.312827,"own_change_pct":-0.108108,"rel_strength_pct":{"SPY":-0.241569,"IWM":-0.281853}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.943874},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5d3b7f930bf2","ts":"2026-08-28T14:01:05+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.99","plan":{"state":"PASS","setup":"","stop":10.9472,"target":11.13,"target_label":"range_20d_high","reward_risk":3.83,"pos_in_5d_range_pct":81.2,"room_to_5d_high_atr":0.3},"price":10.985,"vwap":10.985,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":2.258,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.985,"volume":{"bars":31,"last_bar_volume":11498.0,"baseline_avg":67478.0,"bar_rvol":0.170396,"raw_accel":-0.444434,"smooth_accel":-0.236822,"accel_momentum":-0.201535,"rvol_3bar":[0.330491,0.304091,0.170396],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":58,"trade_rate":1.933333,"buy_vol":2542.0,"sell_vol":2730.0,"unclassified_vol":0.0,"imbalance":-0.03566,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":1.011853},"context":{"vwap":10.98503,"price_vs_vwap_pct":-0.000272,"ema9":10.989721,"ema20":10.988946,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.136364,"dist_to_hod_atr":0.959587,"atr":0.015632,"spread_atr":0.639724,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.133461,"IWM":-0.173745}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.006076},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"08cf9d0a8fd2","ts":"2026-08-28T14:01:05+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.0443,"target":7.18,"target_label":"ceiling","reward_risk":0.42,"pos_in_5d_range_pct":8.6,"room_to_5d_high_atr":1.66},"price":7.14,"vwap":7.1116,"ext_from_open_pct":0.0,"max_ext_allowed_pct":4.0,"volume_pace":1.417,"trend":"flat","recent_slope_pct":0.1158,"volatility":"medium"},"price":7.14,"volume":{"bars":31,"last_bar_volume":69891.0,"baseline_avg":50992.7,"bar_rvol":1.370608,"raw_accel":-0.176765,"smooth_accel":0.378736,"accel_momentum":-0.35224,"rvol_3bar":[0.806631,1.739492,1.370608],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":150,"trade_rate":5.0,"buy_vol":37739.0,"sell_vol":11210.0,"unclassified_vol":0.0,"imbalance":0.541972,"bid":7.13,"ask":7.14,"spread_pct":0.140154,"quote_size_imbalance":null,"quote_age_s":0.231455},"context":{"vwap":7.111129,"price_vs_vwap_pct":0.406001,"ema9":7.106322,"ema20":7.104905,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-0.557103,"dist_to_hod_atr":1.248648,"atr":0.032035,"spread_atr":0.312162,"own_change_pct":0.243398,"rel_strength_pct":{"SPY":0.109937,"IWM":0.069653}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.742831},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"da8df48d1e93","ts":"2026-08-28T14:01:05+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.75 below VWAP $14.78","plan":{"state":"PASS","setup":"","stop":14.33,"target":14.8698,"target_label":"premarket_high","reward_risk":0.29,"pos_in_5d_range_pct":87.0,"room_to_5d_high_atr":0.35},"price":14.75,"vwap":14.7832,"ext_from_open_pct":1.94,"max_ext_allowed_pct":3.0,"volume_pace":1.187,"trend":"flat","recent_slope_pct":-0.1014,"volatility":"high"},"price":14.75,"volume":{"bars":31,"last_bar_volume":2494.0,"baseline_avg":2250.75,"bar_rvol":1.108075,"raw_accel":1.693305,"smooth_accel":1.76754,"accel_momentum":0.764944,"rvol_3bar":[2.614113,0.418115,1.108075],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":24,"trade_rate":0.8,"buy_vol":300.0,"sell_vol":1300.0,"unclassified_vol":0.0,"imbalance":-0.625,"bid":14.71,"ask":14.92,"spread_pct":1.417482,"quote_size_imbalance":null,"quote_age_s":0.561534},"context":{"vwap":14.783287,"price_vs_vwap_pct":-0.225166,"ema9":14.768489,"ema20":14.726487,"ema_stack":false,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-3.215223,"dist_to_hod_atr":2.950561,"atr":0.16607,"spread_atr":1.264526,"own_change_pct":0.440678,"rel_strength_pct":{"SPY":0.307217,"IWM":0.266933}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.692547},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"347dc69007c0","ts":"2026-08-28T14:01:10+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.87 below VWAP $14.88","plan":{"state":"PASS","setup":"","stop":14.6051,"target":14.9,"target_label":"premarket_high","reward_risk":0.11,"pos_in_5d_range_pct":128.8,"room_to_5d_high_atr":-0.2},"price":14.87,"vwap":14.8767,"ext_from_open_pct":-0.34,"max_ext_allowed_pct":5.0,"volume_pace":6.753,"trend":"flat","recent_slope_pct":-0.0947,"volatility":"high"},"price":14.87,"volume":{"bars":31,"last_bar_volume":32402.0,"baseline_avg":56702.4,"bar_rvol":0.57144,"raw_accel":-0.474574,"smooth_accel":0.023643,"accel_momentum":0.267183,"rvol_3bar":[0.378227,0.979191,0.57144],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":6567.0,"sell_vol":4175.0,"unclassified_vol":0.0,"imbalance":0.222677,"bid":14.87,"ask":14.89,"spread_pct":0.134409,"quote_size_imbalance":null,"quote_age_s":1.283421},"context":{"vwap":14.876707,"price_vs_vwap_pct":-0.045083,"ema9":14.906419,"ema20":14.88175,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.32714,"dist_to_hod_atr":1.864935,"atr":0.107242,"spread_atr":0.186494,"own_change_pct":-0.46827,"rel_strength_pct":{"SPY":-0.601731,"IWM":-0.642014}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.127247},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4580a14a1250","ts":"2026-08-28T14:01:10+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.252,"trend":"flat","recent_slope_pct":0.0,"volatility":"low"},"price":10.99,"volume":{"bars":31,"last_bar_volume":11498.0,"baseline_avg":67478.0,"bar_rvol":0.170396,"raw_accel":-0.444434,"smooth_accel":-0.236822,"accel_momentum":-0.201535,"rvol_3bar":[0.330491,0.304091,0.170396],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":1841.0,"sell_vol":2882.0,"unclassified_vol":0.0,"imbalance":-0.220411,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.260643},"context":{"vwap":10.98503,"price_vs_vwap_pct":0.045245,"ema9":10.989721,"ema20":10.988946,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.639724,"atr":0.015632,"spread_atr":0.639724,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.133461,"IWM":-0.173745}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.037557},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"8f1e80009b0a","ts":"2026-08-28T14:01:15+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.74,"pos_in_5d_range_pct":68.5,"room_to_5d_high_atr":1.9},"price":9.15,"vwap":8.9116,"ext_from_open_pct":2.81,"max_ext_allowed_pct":4.0,"volume_pace":8.857,"trend":"flat","recent_slope_pct":0.8988,"volatility":"high"},"price":9.15,"volume":{"bars":31,"last_bar_volume":112201.0,"baseline_avg":16328.45,"bar_rvol":6.871503,"raw_accel":0.207488,"smooth_accel":6.968183,"accel_momentum":-8.819617,"rvol_3bar":[11.91333,7.489794,6.871503],"trend_3bar":"DECELERATING","projected_rvol":6.240396},"flow":{"window_s":30,"trades":335,"trade_rate":11.166667,"buy_vol":31217.0,"sell_vol":19684.0,"unclassified_vol":0.0,"imbalance":0.226577,"bid":9.12,"ask":9.18,"spread_pct":0.655738,"quote_size_imbalance":null,"quote_age_s":1.199191},"context":{"vwap":8.900145,"price_vs_vwap_pct":2.807314,"ema9":8.938804,"ema20":8.769025,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-3.684211,"dist_to_hod_atr":1.477974,"atr":0.236811,"spread_atr":0.253367,"own_change_pct":6.979405,"rel_strength_pct":{"SPY":6.845944,"IWM":6.805661}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":1.556925},"shadow":{"decision":"FAIL","failed":["spread","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"a049c729d9f4","ts":"2026-08-28T14:01:15+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":14.6151,"target":14.9,"target_label":"premarket_high","reward_risk":0.08,"pos_in_5d_range_pct":130.1,"room_to_5d_high_atr":-0.21},"price":14.88,"vwap":14.8767,"ext_from_open_pct":-0.27,"max_ext_allowed_pct":4.0,"volume_pace":6.735,"trend":"flat","recent_slope_pct":-0.0813,"volatility":"high"},"price":14.88,"volume":{"bars":31,"last_bar_volume":32402.0,"baseline_avg":56702.4,"bar_rvol":0.57144,"raw_accel":-0.474574,"smooth_accel":0.023643,"accel_momentum":0.267183,"rvol_3bar":[0.378227,0.979191,0.57144],"trend_3bar":"MIXED","projected_rvol":0.050086},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":6640.0,"sell_vol":2851.0,"unclassified_vol":0.0,"imbalance":0.39922,"bid":14.87,"ask":14.89,"spread_pct":0.134409,"quote_size_imbalance":null,"quote_age_s":6.283421},"context":{"vwap":14.876707,"price_vs_vwap_pct":0.022136,"ema9":14.906419,"ema20":14.88175,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.260783,"dist_to_hod_atr":1.771688,"atr":0.107242,"spread_atr":0.186494,"own_change_pct":-0.46827,"rel_strength_pct":{"SPY":-0.601731,"IWM":-0.642014}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.22813},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"fc331e7b81ea","ts":"2026-08-28T14:01:15+00:00","symbol":"NVAX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.12 below VWAP $9.12","plan":{"state":"PASS","setup":"","stop":8.99,"target":9.18,"target_label":"prev_day_high","reward_risk":0.52,"pos_in_5d_range_pct":64.8,"room_to_5d_high_atr":1.06},"price":9.115,"vwap":9.1242,"ext_from_open_pct":-0.71,"max_ext_allowed_pct":3.0,"volume_pace":1.834,"trend":"flat","recent_slope_pct":-0.0164,"volatility":"medium"},"price":9.115,"volume":{"bars":31,"last_bar_volume":8716.0,"baseline_avg":6509.8,"bar_rvol":1.338904,"raw_accel":4.355618,"smooth_accel":0.839924,"accel_momentum":0.693642,"rvol_3bar":[0.897531,0.102064,1.338904],"trend_3bar":"MIXED","projected_rvol":0.516145},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":76.0,"sell_vol":858.0,"unclassified_vol":0.0,"imbalance":-0.837259,"bid":9.1,"ask":9.13,"spread_pct":0.329128,"quote_size_imbalance":null,"quote_age_s":0.837329},"context":{"vwap":9.124209,"price_vs_vwap_pct":-0.100928,"ema9":9.142491,"ema20":9.138411,"ema_stack":false,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-1.989247,"dist_to_hod_atr":3.178577,"atr":0.058202,"spread_atr":0.515445,"own_change_pct":-0.435256,"rel_strength_pct":{"SPY":-0.568717,"IWM":-0.609}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.12101},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bd9cf1a10e2b","ts":"2026-08-28T14:01:15+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.99","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.985,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.247,"trend":"flat","recent_slope_pct":-0.0182,"volatility":"low"},"price":10.98,"volume":{"bars":31,"last_bar_volume":11498.0,"baseline_avg":67478.0,"bar_rvol":0.170396,"raw_accel":-0.444434,"smooth_accel":-0.236822,"accel_momentum":-0.201535,"rvol_3bar":[0.330491,0.304091,0.170396],"trend_3bar":"DECELERATING","projected_rvol":0.191055},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":2548.0,"sell_vol":3123.0,"unclassified_vol":0.0,"imbalance":-0.101393,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.417481},"context":{"vwap":10.98503,"price_vs_vwap_pct":-0.045788,"ema9":10.989721,"ema20":10.988946,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.279449,"atr":0.015632,"spread_atr":0.639724,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.133461,"IWM":-0.173745}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.017277},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"8442f9b09edf","ts":"2026-08-28T14:01:15+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 55.0s, plan says PASS; stop 10.88, target 11.29 (premarket_high), R:R 1.08; target 0.21 away > ~0.21 reachable in 354 min","plan":{"state":"PASS","setup":"","stop":10.8751,"target":11.29,"target_label":"premarket_high","reward_risk":1.08,"pos_in_5d_range_pct":-5.4,"room_to_5d_high_atr":1.56},"price":11.075,"vwap":11.0487,"ext_from_open_pct":-0.58,"max_ext_allowed_pct":3.0,"volume_pace":1.96,"trend":"flat","recent_slope_pct":0.068,"volatility":"high"},"price":11.075,"volume":{"bars":31,"last_bar_volume":24956.0,"baseline_avg":27727.9,"bar_rvol":0.900032,"raw_accel":-0.115788,"smooth_accel":-0.140949,"accel_momentum":-0.00251,"rvol_3bar":[0.591573,1.036557,0.900032],"trend_3bar":"MIXED","projected_rvol":2.480823},"flow":{"window_s":30,"trades":97,"trade_rate":3.233333,"buy_vol":6065.0,"sell_vol":13132.0,"unclassified_vol":0.0,"imbalance":-0.36813,"bid":11.07,"ask":11.08,"spread_pct":0.090293,"quote_size_imbalance":null,"quote_age_s":0.187542},"context":{"vwap":11.048293,"price_vs_vwap_pct":0.24173,"ema9":11.058904,"ema20":11.049197,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.956009,"dist_to_hod_atr":1.630634,"atr":0.065557,"spread_atr":0.152538,"own_change_pct":0.407056,"rel_strength_pct":{"SPY":0.273594,"IWM":0.233311}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-1,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.331329},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b369567460c7","ts":"2026-08-28T14:01:15+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":7.0193,"target":7.18,"target_label":"ceiling","reward_risk":0.68,"pos_in_5d_range_pct":5.0,"room_to_5d_high_atr":1.72},"price":7.115,"vwap":7.1115,"ext_from_open_pct":-0.35,"max_ext_allowed_pct":4.0,"volume_pace":1.416,"trend":"flat","recent_slope_pct":0.0456,"volatility":"medium"},"price":7.115,"volume":{"bars":31,"last_bar_volume":69891.0,"baseline_avg":50992.7,"bar_rvol":1.370608,"raw_accel":-0.176765,"smooth_accel":0.378736,"accel_momentum":-0.35224,"rvol_3bar":[0.806631,1.739492,1.370608],"trend_3bar":"MIXED","projected_rvol":3.76148},"flow":{"window_s":30,"trades":161,"trade_rate":5.366667,"buy_vol":37043.0,"sell_vol":17925.0,"unclassified_vol":0.0,"imbalance":0.347802,"bid":7.11,"ask":7.12,"spread_pct":0.140548,"quote_size_imbalance":null,"quote_age_s":0.187541},"context":{"vwap":7.111129,"price_vs_vwap_pct":0.05444,"ema9":7.106322,"ema20":7.104905,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-0.905292,"dist_to_hod_atr":2.029053,"atr":0.032035,"spread_atr":0.312162,"own_change_pct":0.243398,"rel_strength_pct":{"SPY":0.109937,"IWM":0.069653}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.476701},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f037236ebe3d","ts":"2026-08-28T14:01:25+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.87 below VWAP $14.88","plan":{"state":"PASS","setup":"","stop":14.6051,"target":14.9,"target_label":"premarket_high","reward_risk":0.11,"pos_in_5d_range_pct":128.8,"room_to_5d_high_atr":-0.2},"price":14.87,"vwap":14.8767,"ext_from_open_pct":-0.34,"max_ext_allowed_pct":4.0,"volume_pace":6.706,"trend":"flat","recent_slope_pct":-0.0947,"volatility":"high"},"price":14.87,"volume":{"bars":31,"last_bar_volume":32402.0,"baseline_avg":56702.4,"bar_rvol":0.57144,"raw_accel":-0.474574,"smooth_accel":0.023643,"accel_momentum":0.267183,"rvol_3bar":[0.378227,0.979191,0.57144],"trend_3bar":"MIXED","projected_rvol":0.182468},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":3146.0,"sell_vol":1933.0,"unclassified_vol":0.0,"imbalance":0.238827,"bid":14.87,"ask":14.89,"spread_pct":0.134409,"quote_size_imbalance":null,"quote_age_s":9.869384},"context":{"vwap":14.876707,"price_vs_vwap_pct":-0.045083,"ema9":14.906419,"ema20":14.88175,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.32714,"dist_to_hod_atr":1.864935,"atr":0.107242,"spread_atr":0.186494,"own_change_pct":-0.46827,"rel_strength_pct":{"SPY":-0.601731,"IWM":-0.642014}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.136475},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7a02efaa4b28","ts":"2026-08-28T14:01:25+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9522,"target":11.13,"target_label":"range_20d_high","reward_risk":3.7,"pos_in_5d_range_pct":83.3,"room_to_5d_high_atr":0.26},"price":10.99,"vwap":10.985,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.237,"trend":"flat","recent_slope_pct":0.0,"volatility":"low"},"price":10.99,"volume":{"bars":31,"last_bar_volume":11498.0,"baseline_avg":67478.0,"bar_rvol":0.170396,"raw_accel":-0.444434,"smooth_accel":-0.236822,"accel_momentum":-0.201535,"rvol_3bar":[0.330491,0.304091,0.170396],"trend_3bar":"DECELERATING","projected_rvol":0.186621},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":1729.0,"sell_vol":4048.0,"unclassified_vol":0.0,"imbalance":-0.401419,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":1.648324},"context":{"vwap":10.98503,"price_vs_vwap_pct":0.045245,"ema9":10.989721,"ema20":10.988946,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.090909,"dist_to_hod_atr":0.639724,"atr":0.015632,"spread_atr":0.639724,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.133461,"IWM":-0.173745}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.0684},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"00cd788ddf82","ts":"2026-08-28T14:01:30+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.31% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.56,"pos_in_5d_range_pct":69.5,"room_to_5d_high_atr":1.84},"price":9.23,"vwap":8.919,"ext_from_open_pct":3.71,"max_ext_allowed_pct":4.0,"volume_pace":8.961,"trend":"flat","recent_slope_pct":1.0721,"volatility":"high"},"price":9.23,"volume":{"bars":31,"last_bar_volume":112201.0,"baseline_avg":16328.45,"bar_rvol":6.871503,"raw_accel":0.207488,"smooth_accel":6.968183,"accel_momentum":-8.819617,"rvol_3bar":[11.91333,7.489794,6.871503],"trend_3bar":"DECELERATING","projected_rvol":4.839529},"flow":{"window_s":30,"trades":217,"trade_rate":7.233333,"buy_vol":24606.0,"sell_vol":14905.0,"unclassified_vol":0.0,"imbalance":0.245527,"bid":9.13,"ask":9.25,"spread_pct":1.305767,"quote_size_imbalance":null,"quote_age_s":0.025178},"context":{"vwap":8.900145,"price_vs_vwap_pct":3.706176,"ema9":8.938804,"ema20":8.769025,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-2.842105,"dist_to_hod_atr":1.140151,"atr":0.236811,"spread_atr":0.506734,"own_change_pct":6.979405,"rel_strength_pct":{"SPY":6.845944,"IWM":6.805661}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":1.687137},"shadow":{"decision":"FAIL","failed":["spread","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"2f9d1a69e8c8","ts":"2026-08-28T14:01:30+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":14.6151,"target":14.9,"target_label":"premarket_high","reward_risk":0.08,"pos_in_5d_range_pct":130.1,"room_to_5d_high_atr":-0.21},"price":14.88,"vwap":14.8767,"ext_from_open_pct":-0.27,"max_ext_allowed_pct":4.0,"volume_pace":6.689,"trend":"flat","recent_slope_pct":-0.0813,"volatility":"high"},"price":14.88,"volume":{"bars":31,"last_bar_volume":32402.0,"baseline_avg":56702.4,"bar_rvol":0.57144,"raw_accel":-0.474574,"smooth_accel":0.023643,"accel_momentum":0.267183,"rvol_3bar":[0.378227,0.979191,0.57144],"trend_3bar":"MIXED","projected_rvol":0.160628},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":2732.0,"sell_vol":1822.0,"unclassified_vol":0.0,"imbalance":0.199824,"bid":14.87,"ask":14.89,"spread_pct":0.134409,"quote_size_imbalance":null,"quote_age_s":0.007263},"context":{"vwap":14.876707,"price_vs_vwap_pct":0.022136,"ema9":14.906419,"ema20":14.88175,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.260783,"dist_to_hod_atr":1.771688,"atr":0.107242,"spread_atr":0.186494,"own_change_pct":-0.46827,"rel_strength_pct":{"SPY":-0.601731,"IWM":-0.642014}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.114188},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7de6cea49cf9","ts":"2026-08-28T14:01:30+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.99","plan":{"state":"PASS","setup":"","stop":10.9472,"target":11.13,"target_label":"range_20d_high","reward_risk":3.83,"pos_in_5d_range_pct":81.2,"room_to_5d_high_atr":0.3},"price":10.985,"vwap":10.985,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":2.232,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.985,"volume":{"bars":31,"last_bar_volume":11498.0,"baseline_avg":67478.0,"bar_rvol":0.170396,"raw_accel":-0.444434,"smooth_accel":-0.236822,"accel_momentum":-0.201535,"rvol_3bar":[0.330491,0.304091,0.170396],"trend_3bar":"DECELERATING","projected_rvol":0.165358},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":1549.0,"sell_vol":4030.0,"unclassified_vol":0.0,"imbalance":-0.444703,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.818585},"context":{"vwap":10.98503,"price_vs_vwap_pct":-0.000272,"ema9":10.989721,"ema20":10.988946,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.136364,"dist_to_hod_atr":0.959587,"atr":0.015632,"spread_atr":0.639724,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.133461,"IWM":-0.173745}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.075776},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"b1a7773b6aa0","ts":"2026-08-28T14:01:35+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.45 below VWAP $5.45","plan":{"state":"PASS","setup":"","stop":5.3988,"target":5.49,"target_label":"ceiling","reward_risk":0.78,"pos_in_5d_range_pct":97.1,"room_to_5d_high_atr":0.05},"price":5.45,"vwap":5.4503,"ext_from_open_pct":-0.37,"max_ext_allowed_pct":3.0,"volume_pace":1.858,"trend":"flat","recent_slope_pct":0.0092,"volatility":"medium"},"price":5.45,"volume":{"bars":31,"last_bar_volume":107429.0,"baseline_avg":53332.65,"bar_rvol":2.01432,"raw_accel":7.057278,"smooth_accel":0.134345,"accel_momentum":0.578512,"rvol_3bar":[0.266753,0.233601,2.01432],"trend_3bar":"MIXED","projected_rvol":0.523582},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":1333.0,"sell_vol":9256.0,"unclassified_vol":0.0,"imbalance":-0.748229,"bid":5.45,"ask":5.46,"spread_pct":0.183318,"quote_size_imbalance":null,"quote_age_s":1.468129},"context":{"vwap":5.450349,"price_vs_vwap_pct":-0.0064,"ema9":5.443513,"ema20":5.441201,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.728597,"dist_to_hod_atr":2.104324,"atr":0.019008,"spread_atr":0.526081,"own_change_pct":0.43451,"rel_strength_pct":{"SPY":0.301049,"IWM":0.260766}},"vas":{"raw":2,"score":5.6,"components":{"rvol":2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.507173},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0dbfa2e8acf2","ts":"2026-08-28T14:01:40+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.87 below VWAP $14.88","plan":{"state":"PASS","setup":"","stop":14.6051,"target":14.9,"target_label":"premarket_high","reward_risk":0.11,"pos_in_5d_range_pct":128.8,"room_to_5d_high_atr":-0.2},"price":14.87,"vwap":14.8767,"ext_from_open_pct":-0.34,"max_ext_allowed_pct":4.0,"volume_pace":6.659,"trend":"flat","recent_slope_pct":-0.0947,"volatility":"high"},"price":14.87,"volume":{"bars":31,"last_bar_volume":32402.0,"baseline_avg":56702.4,"bar_rvol":0.57144,"raw_accel":-0.474574,"smooth_accel":0.023643,"accel_momentum":0.267183,"rvol_3bar":[0.378227,0.979191,0.57144],"trend_3bar":"MIXED","projected_rvol":0.189251},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":4292.0,"sell_vol":2333.0,"unclassified_vol":0.0,"imbalance":0.295698,"bid":14.87,"ask":14.88,"spread_pct":0.067227,"quote_size_imbalance":null,"quote_age_s":4.857582},"context":{"vwap":14.876707,"price_vs_vwap_pct":-0.045083,"ema9":14.906419,"ema20":14.88175,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.32714,"dist_to_hod_atr":1.864935,"atr":0.107242,"spread_atr":0.093247,"own_change_pct":-0.46827,"rel_strength_pct":{"SPY":-0.601731,"IWM":-0.642014}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.168974},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c4ed05221d64","ts":"2026-08-28T14:01:40+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9508,"target":11.13,"target_label":"range_20d_high","reward_risk":3.74,"pos_in_5d_range_pct":82.7,"room_to_5d_high_atr":0.27},"price":10.9886,"vwap":10.985,"ext_from_open_pct":0.17,"max_ext_allowed_pct":3.0,"volume_pace":2.221,"trend":"flat","recent_slope_pct":-0.0025,"volatility":"low"},"price":10.9886,"volume":{"bars":31,"last_bar_volume":11498.0,"baseline_avg":67478.0,"bar_rvol":0.170396,"raw_accel":-0.444434,"smooth_accel":-0.236822,"accel_momentum":-0.201535,"rvol_3bar":[0.330491,0.304091,0.170396],"trend_3bar":"DECELERATING","projected_rvol":0.158096},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":1831.0,"sell_vol":3328.0,"unclassified_vol":0.0,"imbalance":-0.290173,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.811682},"context":{"vwap":10.98503,"price_vs_vwap_pct":0.0325,"ema9":10.989721,"ema20":10.988946,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.103636,"dist_to_hod_atr":0.729286,"atr":0.015632,"spread_atr":0.639724,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.133461,"IWM":-0.173745}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.049444},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"5d8759d0dde7","ts":"2026-08-28T14:01:40+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.46 below VWAP $13.50","plan":{"state":"PASS","setup":"","stop":13.3377,"target":13.61,"target_label":"ceiling","reward_risk":1.23,"pos_in_5d_range_pct":15.7,"room_to_5d_high_atr":1.43},"price":13.46,"vwap":13.5006,"ext_from_open_pct":-0.3,"max_ext_allowed_pct":3.0,"volume_pace":1.332,"trend":"flat","recent_slope_pct":-0.0778,"volatility":"medium"},"price":13.46,"volume":{"bars":31,"last_bar_volume":2891.0,"baseline_avg":15146.25,"bar_rvol":0.190872,"raw_accel":-0.639481,"smooth_accel":-0.833542,"accel_momentum":-0.587536,"rvol_3bar":[0.040202,0.526639,0.190872],"trend_3bar":"MIXED","projected_rvol":2.061104},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":1919.0,"sell_vol":18672.0,"unclassified_vol":0.0,"imbalance":-0.813608,"bid":13.46,"ask":13.48,"spread_pct":0.148478,"quote_size_imbalance":null,"quote_age_s":0.756829},"context":{"vwap":13.501304,"price_vs_vwap_pct":-0.305928,"ema9":13.497821,"ema20":13.489955,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-1.102131,"dist_to_hod_atr":3.482788,"atr":0.043069,"spread_atr":0.464372,"own_change_pct":0.146773,"rel_strength_pct":{"SPY":0.013312,"IWM":-0.026971}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.155295},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e87e4cf86b03","ts":"2026-08-28T14:01:40+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.03 below VWAP $11.05","plan":{"state":"PASS","setup":"","stop":10.8252,"target":11.14,"target_label":"ceiling","reward_risk":0.58,"pos_in_5d_range_pct":-9.6,"room_to_5d_high_atr":1.63},"price":11.025,"vwap":11.0483,"ext_from_open_pct":-1.03,"max_ext_allowed_pct":3.0,"volume_pace":1.94,"trend":"flat","recent_slope_pct":-0.0224,"volatility":"high"},"price":11.025,"volume":{"bars":31,"last_bar_volume":24956.0,"baseline_avg":27727.9,"bar_rvol":0.900032,"raw_accel":-0.115788,"smooth_accel":-0.140949,"accel_momentum":-0.00251,"rvol_3bar":[0.591573,1.036557,0.900032],"trend_3bar":"MIXED","projected_rvol":1.137555},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":5858.0,"sell_vol":10528.0,"unclassified_vol":0.0,"imbalance":-0.284999,"bid":11.02,"ask":11.03,"spread_pct":0.090703,"quote_size_imbalance":null,"quote_age_s":0.02452},"context":{"vwap":11.048293,"price_vs_vwap_pct":-0.210828,"ema9":11.058904,"ema20":11.049197,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.40316,"dist_to_hod_atr":2.393326,"atr":0.065557,"spread_atr":0.152538,"own_change_pct":0.407056,"rel_strength_pct":{"SPY":0.273594,"IWM":0.233311}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-1,"accel":-1,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.256509},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e506cdfc1efa","ts":"2026-08-28T14:01:45+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $10.99","plan":{"state":"PASS","setup":"","stop":10.9422,"target":11.13,"target_label":"range_20d_high","reward_risk":3.96,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.33},"price":10.98,"vwap":10.985,"ext_from_open_pct":0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.216,"trend":"flat","recent_slope_pct":-0.0182,"volatility":"low"},"price":10.98,"volume":{"bars":31,"last_bar_volume":11498.0,"baseline_avg":67478.0,"bar_rvol":0.170396,"raw_accel":-0.444434,"smooth_accel":-0.236822,"accel_momentum":-0.201535,"rvol_3bar":[0.330491,0.304091,0.170396],"trend_3bar":"DECELERATING","projected_rvol":0.153393},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":1621.0,"sell_vol":2919.0,"unclassified_vol":0.0,"imbalance":-0.285903,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":2.174862},"context":{"vwap":10.98503,"price_vs_vwap_pct":-0.045788,"ema9":10.989721,"ema20":10.988946,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.181818,"dist_to_hod_atr":1.279449,"atr":0.015632,"spread_atr":0.639724,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.133461,"IWM":-0.173745}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.048717},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"2792b8d99fc8","ts":"2026-08-28T14:01:55+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.56,"pos_in_5d_range_pct":69.5,"room_to_5d_high_atr":1.84},"price":9.233,"vwap":8.9241,"ext_from_open_pct":3.74,"max_ext_allowed_pct":5.0,"volume_pace":8.981,"trend":"flat","recent_slope_pct":1.0786,"volatility":"high"},"price":9.233,"volume":{"bars":31,"last_bar_volume":112201.0,"baseline_avg":16328.45,"bar_rvol":6.871503,"raw_accel":0.207488,"smooth_accel":6.968183,"accel_momentum":-8.819617,"rvol_3bar":[11.91333,7.489794,6.871503],"trend_3bar":"DECELERATING","projected_rvol":3.390758},"flow":{"window_s":30,"trades":157,"trade_rate":5.233333,"buy_vol":11329.0,"sell_vol":4275.0,"unclassified_vol":0.0,"imbalance":0.452064,"bid":9.2,"ask":9.24,"spread_pct":0.433839,"quote_size_imbalance":null,"quote_age_s":2.489755},"context":{"vwap":8.900145,"price_vs_vwap_pct":3.739883,"ema9":8.938804,"ema20":8.769025,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-2.810526,"dist_to_hod_atr":1.127483,"atr":0.236811,"spread_atr":0.168911,"own_change_pct":6.979405,"rel_strength_pct":{"SPY":6.845944,"IWM":6.805661}},"vas":{"raw":7,"score":8.8,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":3.106356},"shadow":{"decision":"FAIL","failed":["not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"18a4e610ed95","ts":"2026-08-28T14:02:00+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.09% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.58,"pos_in_5d_range_pct":69.4,"room_to_5d_high_atr":1.85},"price":9.22,"vwap":8.9253,"ext_from_open_pct":3.6,"max_ext_allowed_pct":4.0,"volume_pace":9.002,"trend":"flat","recent_slope_pct":1.0505,"volatility":"high"},"price":9.22,"volume":{"bars":31,"last_bar_volume":112201.0,"baseline_avg":16328.45,"bar_rvol":6.871503,"raw_accel":0.207488,"smooth_accel":6.968183,"accel_momentum":-8.819617,"rvol_3bar":[11.91333,7.489794,6.871503],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":162,"trade_rate":5.4,"buy_vol":9576.0,"sell_vol":5268.0,"unclassified_vol":0.0,"imbalance":0.290218,"bid":9.14,"ask":9.24,"spread_pct":1.088139,"quote_size_imbalance":null,"quote_age_s":2.269954},"context":{"vwap":8.900145,"price_vs_vwap_pct":3.593818,"ema9":8.938804,"ema20":8.769025,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-2.947368,"dist_to_hod_atr":1.182379,"atr":0.236811,"spread_atr":0.422278,"own_change_pct":6.979405,"rel_strength_pct":{"SPY":6.982643,"IWM":7.123021}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":1.994236},"shadow":{"decision":"FAIL","failed":["spread","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"0bbf57003cf1","ts":"2026-08-28T14:02:00+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":14.6128,"target":14.9,"target_label":"premarket_high","reward_risk":0.08,"pos_in_5d_range_pct":129.8,"room_to_5d_high_atr":-0.21},"price":14.8777,"vwap":14.8767,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":4.0,"volume_pace":6.599,"trend":"flat","recent_slope_pct":-0.0843,"volatility":"high"},"price":14.8777,"volume":{"bars":31,"last_bar_volume":32402.0,"baseline_avg":56702.4,"bar_rvol":0.57144,"raw_accel":-0.474574,"smooth_accel":0.023643,"accel_momentum":0.267183,"rvol_3bar":[0.378227,0.979191,0.57144],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":74,"trade_rate":2.466667,"buy_vol":3264.0,"sell_vol":4534.0,"unclassified_vol":0.0,"imbalance":-0.162862,"bid":14.87,"ask":14.88,"spread_pct":0.067227,"quote_size_imbalance":null,"quote_age_s":0.007224},"context":{"vwap":14.876707,"price_vs_vwap_pct":0.006675,"ema9":14.906419,"ema20":14.88175,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.276045,"dist_to_hod_atr":1.793135,"atr":0.107242,"spread_atr":0.093247,"own_change_pct":-0.46827,"rel_strength_pct":{"SPY":-0.465032,"IWM":-0.324654}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.093066},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3e54363f2204","ts":"2026-08-28T14:02:05+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.54,"pos_in_5d_range_pct":69.6,"room_to_5d_high_atr":1.84},"price":9.24,"vwap":8.9258,"ext_from_open_pct":3.82,"max_ext_allowed_pct":4.0,"volume_pace":8.995,"trend":"flat","recent_slope_pct":0.24,"volatility":"high"},"price":9.24,"volume":{"bars":32,"last_bar_volume":54355.0,"baseline_avg":21161.65,"bar_rvol":2.568562,"raw_accel":-0.515557,"smooth_accel":0.815705,"accel_momentum":-6.152478,"rvol_3bar":[7.489794,6.871503,2.568562],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":147,"trade_rate":4.9,"buy_vol":10236.0,"sell_vol":3433.0,"unclassified_vol":0.0,"imbalance":0.497696,"bid":9.17,"ask":9.24,"spread_pct":0.760456,"quote_size_imbalance":null,"quote_age_s":1.241698},"context":{"vwap":8.925331,"price_vs_vwap_pct":3.525568,"ema9":8.995043,"ema20":8.811975,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-2.736842,"dist_to_hod_atr":1.088244,"atr":0.238917,"spread_atr":0.292989,"own_change_pct":5.491991,"rel_strength_pct":{"SPY":5.495229,"IWM":5.635607}},"vas":{"raw":6,"score":8.1,"components":{"rvol":2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":1.278362},"shadow":{"decision":"FAIL","failed":["spread","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"eb87a8b71894","ts":"2026-08-28T14:02:05+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.87 below VWAP $14.88","plan":{"state":"PASS","setup":"","stop":14.6051,"target":14.9,"target_label":"premarket_high","reward_risk":0.11,"pos_in_5d_range_pct":128.8,"room_to_5d_high_atr":-0.2},"price":14.87,"vwap":14.8767,"ext_from_open_pct":-0.34,"max_ext_allowed_pct":4.0,"volume_pace":6.583,"trend":"flat","recent_slope_pct":-0.0633,"volatility":"high"},"price":14.87,"volume":{"bars":32,"last_bar_volume":12352.0,"baseline_avg":52907.35,"bar_rvol":0.233465,"raw_accel":-0.618789,"smooth_accel":0.246539,"accel_momentum":0.222896,"rvol_3bar":[0.979191,0.57144,0.233465],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":2316.0,"sell_vol":4343.0,"unclassified_vol":0.0,"imbalance":-0.3044,"bid":14.87,"ask":14.88,"spread_pct":0.067227,"quote_size_imbalance":null,"quote_age_s":1.753445},"context":{"vwap":14.876706,"price_vs_vwap_pct":-0.045076,"ema9":14.900675,"ema20":14.881364,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.32714,"dist_to_hod_atr":1.952512,"atr":0.102432,"spread_atr":0.097626,"own_change_pct":-0.445655,"rel_strength_pct":{"SPY":-0.442417,"IWM":-0.302039}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.071067},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"4332e0c149e8","ts":"2026-08-28T14:02:05+00:00","symbol":"NVAX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.99,"target":9.18,"target_label":"prev_day_high","reward_risk":0.13,"pos_in_5d_range_pct":68.0,"room_to_5d_high_atr":0.96},"price":9.1575,"vwap":9.1243,"ext_from_open_pct":-0.25,"max_ext_allowed_pct":4.0,"volume_pace":1.799,"trend":"flat","recent_slope_pct":0.071,"volatility":"medium"},"price":9.1575,"volume":{"bars":32,"last_bar_volume":2580.0,"baseline_avg":6699.5,"bar_rvol":0.385103,"raw_accel":-0.703993,"smooth_accel":0.135038,"accel_momentum":-0.704886,"rvol_3bar":[0.102064,1.338904,0.385103],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":1467.0,"sell_vol":873.0,"unclassified_vol":0.0,"imbalance":0.253846,"bid":9.14,"ask":9.16,"spread_pct":0.218579,"quote_size_imbalance":null,"quote_age_s":0.361453},"context":{"vwap":9.124238,"price_vs_vwap_pct":0.364542,"ema9":9.139972,"ema20":9.137601,"ema_stack":true,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-1.532258,"dist_to_hod_atr":2.504306,"atr":0.056902,"spread_atr":0.351482,"own_change_pct":-0.137818,"rel_strength_pct":{"SPY":-0.13458,"IWM":0.005798}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.097757},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6ee6f74c9e9f","ts":"2026-08-28T14:02:05+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":4.9513,"target":5.14,"target_label":"ceiling","reward_risk":0.75,"pos_in_5d_range_pct":26.0,"room_to_5d_high_atr":1.51},"price":5.0589,"vwap":5.0539,"ext_from_open_pct":-0.02,"max_ext_allowed_pct":4.0,"volume_pace":0.506,"trend":"flat","recent_slope_pct":0.1154,"volatility":"high"},"price":5.0589,"volume":{"bars":32,"last_bar_volume":47442.0,"baseline_avg":36044.3,"bar_rvol":1.316214,"raw_accel":0.680255,"smooth_accel":2.802497,"accel_momentum":1.72607,"rvol_3bar":[1.970215,0.80436,1.316214],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":96,"trade_rate":3.2,"buy_vol":41689.0,"sell_vol":3154.0,"unclassified_vol":0.0,"imbalance":0.859331,"bid":5.05,"ask":5.06,"spread_pct":0.197824,"quote_size_imbalance":null,"quote_age_s":0.186831},"context":{"vwap":5.053935,"price_vs_vwap_pct":0.098247,"ema9":5.047153,"ema20":5.048615,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.577821,"dist_to_hod_atr":2.004324,"atr":0.040463,"spread_atr":0.247142,"own_change_pct":0.60576,"rel_strength_pct":{"SPY":0.608998,"IWM":0.749375}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.131064},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"194b26c45281","ts":"2026-08-28T14:02:10+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.4959,"ext_from_open_pct":3.36,"max_ext_allowed_pct":4.0,"volume_pace":1.383,"trend":"flat","recent_slope_pct":0.0543,"volatility":"medium"},"price":5.53,"volume":{"bars":32,"last_bar_volume":18058.0,"baseline_avg":92189.75,"bar_rvol":0.195879,"raw_accel":-0.642678,"smooth_accel":-0.728789,"accel_momentum":-0.138332,"rvol_3bar":[0.2156,0.541444,0.195879],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":103,"trade_rate":3.433333,"buy_vol":6110.0,"sell_vol":3311.0,"unclassified_vol":0.0,"imbalance":0.297102,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":2.378182},"context":{"vwap":5.495844,"price_vs_vwap_pct":0.621488,"ema9":5.528712,"ema20":5.521922,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":1.521831,"atr":0.032855,"spread_atr":0.304366,"own_change_pct":-0.361011,"rel_strength_pct":{"SPY":-0.357773,"IWM":-0.217395}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.058196},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"86fb86a24998","ts":"2026-08-28T14:02:15+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.6201,"target":14.9,"target_label":"premarket_high","reward_risk":0.06,"pos_in_5d_range_pct":130.8,"room_to_5d_high_atr":-0.21},"price":14.885,"vwap":14.8764,"ext_from_open_pct":-0.23,"max_ext_allowed_pct":5.0,"volume_pace":6.557,"trend":"flat","recent_slope_pct":-0.0432,"volatility":"high"},"price":14.885,"volume":{"bars":32,"last_bar_volume":12352.0,"baseline_avg":52907.35,"bar_rvol":0.233465,"raw_accel":-0.618789,"smooth_accel":0.246539,"accel_momentum":0.222896,"rvol_3bar":[0.979191,0.57144,0.233465],"trend_3bar":"DECELERATING","projected_rvol":0.358135},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":4274.0,"sell_vol":1686.0,"unclassified_vol":0.0,"imbalance":0.434228,"bid":14.88,"ask":14.89,"spread_pct":0.067182,"quote_size_imbalance":null,"quote_age_s":0.84656},"context":{"vwap":14.876706,"price_vs_vwap_pct":0.055753,"ema9":14.900675,"ema20":14.881364,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.227605,"dist_to_hod_atr":1.806073,"atr":0.102432,"spread_atr":0.097626,"own_change_pct":-0.445655,"rel_strength_pct":{"SPY":-0.442417,"IWM":-0.302039}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.101377},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"a83050c164cc","ts":"2026-08-28T14:02:20+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":6.451,"target":7.0,"target_label":"prev_day_high","reward_risk":3.26,"pos_in_5d_range_pct":78.0,"room_to_5d_high_atr":0.94},"price":6.58,"vwap":6.5102,"ext_from_open_pct":-1.64,"max_ext_allowed_pct":4.0,"volume_pace":1.85,"trend":"flat","recent_slope_pct":-0.1439,"volatility":"high"},"price":6.58,"volume":{"bars":32,"last_bar_volume":40914.0,"baseline_avg":12680.9,"bar_rvol":3.226427,"raw_accel":6.476974,"smooth_accel":0.854766,"accel_momentum":1.44738,"rvol_3bar":[0.198146,0.425803,3.226427],"trend_3bar":"ACCELERATING","projected_rvol":0.024367},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":51.0,"sell_vol":110.0,"unclassified_vol":0.0,"imbalance":-0.36646,"bid":6.57,"ask":6.59,"spread_pct":0.303951,"quote_size_imbalance":null,"quote_age_s":4.448118},"context":{"vwap":6.51022,"price_vs_vwap_pct":1.071856,"ema9":6.565311,"ema20":6.531996,"ema_stack":true,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-2.949853,"dist_to_hod_atr":2.388475,"atr":0.083735,"spread_atr":0.238848,"own_change_pct":0.610687,"rel_strength_pct":{"SPY":0.613925,"IWM":0.754303}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.182355},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"20ff3ee42e5f","ts":"2026-08-28T14:02:20+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.05 below VWAP $5.05","plan":{"state":"PASS","setup":"","stop":4.9424,"target":5.14,"target_label":"ceiling","reward_risk":0.84,"pos_in_5d_range_pct":25.0,"room_to_5d_high_atr":1.53},"price":5.05,"vwap":5.0539,"ext_from_open_pct":-0.2,"max_ext_allowed_pct":3.0,"volume_pace":0.503,"trend":"flat","recent_slope_pct":0.0802,"volatility":"high"},"price":5.05,"volume":{"bars":32,"last_bar_volume":47442.0,"baseline_avg":36044.3,"bar_rvol":1.316214,"raw_accel":0.680255,"smooth_accel":2.802497,"accel_momentum":1.72607,"rvol_3bar":[1.970215,0.80436,1.316214],"trend_3bar":"MIXED","projected_rvol":0.166795},"flow":{"window_s":30,"trades":78,"trade_rate":2.6,"buy_vol":40655.0,"sell_vol":2978.0,"unclassified_vol":0.0,"imbalance":0.863498,"bid":5.04,"ask":5.05,"spread_pct":0.198216,"quote_size_imbalance":null,"quote_age_s":3.320791},"context":{"vwap":5.053935,"price_vs_vwap_pct":-0.077854,"ema9":5.047153,"ema20":5.048615,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.750973,"dist_to_hod_atr":2.22428,"atr":0.040463,"spread_atr":0.247142,"own_change_pct":0.60576,"rel_strength_pct":{"SPY":0.608998,"IWM":0.749375}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.136548},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7c803a776829","ts":"2026-08-28T14:02:30+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.87 below VWAP $14.88","plan":{"state":"PASS","setup":"","stop":14.6026,"target":14.9,"target_label":"premarket_high","reward_risk":0.12,"pos_in_5d_range_pct":128.4,"room_to_5d_high_atr":-0.2},"price":14.8675,"vwap":14.8761,"ext_from_open_pct":-0.35,"max_ext_allowed_pct":4.0,"volume_pace":6.513,"trend":"flat","recent_slope_pct":-0.0667,"volatility":"high"},"price":14.8675,"volume":{"bars":32,"last_bar_volume":12352.0,"baseline_avg":52907.35,"bar_rvol":0.233465,"raw_accel":-0.618789,"smooth_accel":0.246539,"accel_momentum":0.222896,"rvol_3bar":[0.979191,0.57144,0.233465],"trend_3bar":"DECELERATING","projected_rvol":0.318368},"flow":{"window_s":30,"trades":71,"trade_rate":2.366667,"buy_vol":5191.0,"sell_vol":3231.0,"unclassified_vol":0.0,"imbalance":0.232724,"bid":14.85,"ask":14.87,"spread_pct":0.13459,"quote_size_imbalance":null,"quote_age_s":0.007201},"context":{"vwap":14.876706,"price_vs_vwap_pct":-0.061881,"ema9":14.900675,"ema20":14.881364,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.343729,"dist_to_hod_atr":1.976918,"atr":0.102432,"spread_atr":0.195251,"own_change_pct":-0.445655,"rel_strength_pct":{"SPY":-0.442417,"IWM":-0.302039}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.054333},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"541f4bc7f117","ts":"2026-08-28T14:02:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.46,"target":5.57,"target_label":"prev_day_high","reward_risk":0.38,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":1.52},"price":5.54,"vwap":5.496,"ext_from_open_pct":3.55,"max_ext_allowed_pct":3.0,"volume_pace":1.373,"trend":"flat","recent_slope_pct":0.0905,"volatility":"medium"},"price":5.54,"volume":{"bars":32,"last_bar_volume":18058.0,"baseline_avg":92189.75,"bar_rvol":0.195879,"raw_accel":-0.642678,"smooth_accel":-0.728789,"accel_momentum":-0.138332,"rvol_3bar":[0.2156,0.541444,0.195879],"trend_3bar":"MIXED","projected_rvol":0.28283},"flow":{"window_s":30,"trades":106,"trade_rate":3.533333,"buy_vol":9970.0,"sell_vol":3067.0,"unclassified_vol":0.0,"imbalance":0.529493,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.004028},"context":{"vwap":5.495844,"price_vs_vwap_pct":0.803444,"ema9":5.528712,"ema20":5.521922,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.716846,"dist_to_hod_atr":1.217464,"atr":0.032855,"spread_atr":0.304366,"own_change_pct":-0.361011,"rel_strength_pct":{"SPY":-0.357773,"IWM":-0.217395}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.103716},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6f24cfc69622","ts":"2026-08-28T14:02:55+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 2.67% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":72.7,"room_to_5d_high_atr":1.65},"price":9.4999,"vwap":8.9597,"ext_from_open_pct":6.74,"max_ext_allowed_pct":4.0,"volume_pace":9.468,"trend":"flat","recent_slope_pct":0.7988,"volatility":"high"},"price":9.4999,"volume":{"bars":32,"last_bar_volume":54355.0,"baseline_avg":21161.65,"bar_rvol":2.568562,"raw_accel":-0.515557,"smooth_accel":0.815705,"accel_momentum":-6.152478,"rvol_3bar":[7.489794,6.871503,2.568562],"trend_3bar":"DECELERATING","projected_rvol":3.115241},"flow":{"window_s":30,"trades":305,"trade_rate":10.166667,"buy_vol":32816.0,"sell_vol":17661.0,"unclassified_vol":0.0,"imbalance":0.300236,"bid":9.25,"ask":9.5,"spread_pct":2.666667,"quote_size_imbalance":null,"quote_age_s":0.279139},"context":{"vwap":8.925331,"price_vs_vwap_pct":6.437504,"ema9":8.995043,"ema20":8.811975,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-0.001053,"dist_to_hod_atr":0.000419,"atr":0.238917,"spread_atr":1.046388,"own_change_pct":5.491991,"rel_strength_pct":{"SPY":5.495229,"IWM":5.635607}},"vas":{"raw":6,"score":8.1,"components":{"rvol":2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.771174},"shadow":{"decision":"FAIL","failed":["spread","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"881890c87fb9","ts":"2026-08-28T14:03:20+00:00","symbol":"NVAX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.12 below VWAP $9.12","plan":{"state":"PASS","setup":"","stop":9.0098,"target":9.18,"target_label":"prev_day_high","reward_risk":0.54,"pos_in_5d_range_pct":65.2,"room_to_5d_high_atr":1.04},"price":9.12,"vwap":9.1244,"ext_from_open_pct":-0.65,"max_ext_allowed_pct":4.0,"volume_pace":1.744,"trend":"flat","recent_slope_pct":0.011,"volatility":"medium"},"price":9.12,"volume":{"bars":33,"last_bar_volume":4872.0,"baseline_avg":6623.3,"bar_rvol":0.735585,"raw_accel":0.888372,"smooth_accel":0.633626,"accel_momentum":0.498588,"rvol_3bar":[1.338904,0.385103,0.735585],"trend_3bar":"MIXED","projected_rvol":0.249121},"flow":{"window_s":30,"trades":22,"trade_rate":0.733333,"buy_vol":1020.0,"sell_vol":1247.0,"unclassified_vol":0.0,"imbalance":-0.100132,"bid":9.11,"ask":9.14,"spread_pct":0.328767,"quote_size_imbalance":null,"quote_age_s":6.988733},"context":{"vwap":9.124389,"price_vs_vwap_pct":-0.048102,"ema9":9.139978,"ema20":9.137829,"ema_stack":false,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-1.935484,"dist_to_hod_atr":3.231905,"atr":0.055695,"spread_atr":0.538651,"own_change_pct":0.109529,"rel_strength_pct":{"SPY":0.099167,"IWM":0.279858}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.073656},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"37c58631fa8a","ts":"2026-08-28T14:03:25+00:00","symbol":"NVAX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.0223,"target":9.18,"target_label":"prev_day_high","reward_risk":0.43,"pos_in_5d_range_pct":66.1,"room_to_5d_high_atr":1.02},"price":9.1325,"vwap":9.1244,"ext_from_open_pct":-0.52,"max_ext_allowed_pct":3.0,"volume_pace":1.74,"trend":"flat","recent_slope_pct":0.0383,"volatility":"medium"},"price":9.1325,"volume":{"bars":33,"last_bar_volume":4872.0,"baseline_avg":6623.3,"bar_rvol":0.735585,"raw_accel":0.888372,"smooth_accel":0.633626,"accel_momentum":0.498588,"rvol_3bar":[1.338904,0.385103,0.735585],"trend_3bar":"MIXED","projected_rvol":0.203282},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":1017.0,"sell_vol":1244.0,"unclassified_vol":0.0,"imbalance":-0.100398,"bid":9.11,"ask":9.14,"spread_pct":0.328767,"quote_size_imbalance":null,"quote_age_s":1.95524},"context":{"vwap":9.124389,"price_vs_vwap_pct":0.088894,"ema9":9.139978,"ema20":9.137829,"ema_stack":false,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-1.801075,"dist_to_hod_atr":3.007467,"atr":0.055695,"spread_atr":0.538651,"own_change_pct":0.109529,"rel_strength_pct":{"SPY":0.099167,"IWM":0.279858}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.073851},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"355977368419","ts":"2026-08-28T14:04:15+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.433,"target":7.0,"target_label":"prev_day_high","reward_risk":4.06,"pos_in_5d_range_pct":76.2,"room_to_5d_high_atr":1.02},"price":6.545,"vwap":6.5124,"ext_from_open_pct":-2.17,"max_ext_allowed_pct":3.0,"volume_pace":1.864,"trend":"flat","recent_slope_pct":-0.2815,"volatility":"high"},"price":6.545,"volume":{"bars":34,"last_bar_volume":26923.0,"baseline_avg":14635.8,"bar_rvol":1.83953,"raw_accel":1.132346,"smooth_accel":3.581654,"accel_momentum":1.548085,"rvol_3bar":[3.226427,0.87848,1.83953],"trend_3bar":"MIXED","projected_rvol":0.032796},"flow":{"window_s":30,"trades":97,"trade_rate":3.233333,"buy_vol":5396.0,"sell_vol":21157.0,"unclassified_vol":0.0,"imbalance":-0.593568,"bid":6.53,"ask":6.56,"spread_pct":0.458365,"quote_size_imbalance":null,"quote_age_s":2.008248},"context":{"vwap":6.512394,"price_vs_vwap_pct":0.500679,"ema9":6.555839,"ema20":6.533326,"ema_stack":false,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.466077,"dist_to_hod_atr":2.92235,"atr":0.080415,"spread_atr":0.373066,"own_change_pct":-1.184121,"rel_strength_pct":{"SPY":-1.099936,"IWM":-0.860194}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.091886},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a938132351de","ts":"2026-08-28T14:04:40+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.39,"pos_in_5d_range_pct":70.7,"room_to_5d_high_atr":1.77},"price":9.33,"vwap":9.0039,"ext_from_open_pct":4.83,"max_ext_allowed_pct":5.0,"volume_pace":10.108,"trend":"flat","recent_slope_pct":0.0964,"volatility":"high"},"price":9.33,"volume":{"bars":34,"last_bar_volume":59553.0,"baseline_avg":26479.6,"bar_rvol":2.249014,"raw_accel":-0.079296,"smooth_accel":-0.426296,"accel_momentum":-0.417101,"rvol_3bar":[2.568562,2.72993,2.249014],"trend_3bar":"MIXED","projected_rvol":2.012172},"flow":{"window_s":30,"trades":190,"trade_rate":6.333333,"buy_vol":20510.0,"sell_vol":12052.0,"unclassified_vol":0.0,"imbalance":0.259751,"bid":9.31,"ask":9.4,"spread_pct":0.962052,"quote_size_imbalance":null,"quote_age_s":0.456719},"context":{"vwap":8.989201,"price_vs_vwap_pct":3.791201,"ema9":9.134827,"ema20":8.916038,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-1.789474,"dist_to_hod_atr":0.700358,"atr":0.242733,"spread_atr":0.370778,"own_change_pct":2.196961,"rel_strength_pct":{"SPY":2.281146,"IWM":2.520889}},"vas":{"raw":0,"score":4.4,"components":{"rvol":2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.584183},"shadow":{"decision":"FAIL","failed":["vas","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"06bba88e4be7","ts":"2026-08-28T14:04:45+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"extended +5.1% above open $8.90 (max 5%: volume pace strong, buying strong)","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.35,"pos_in_5d_range_pct":71.0,"room_to_5d_high_atr":1.75},"price":9.3571,"vwap":9.006,"ext_from_open_pct":5.14,"max_ext_allowed_pct":5.0,"volume_pace":10.134,"trend":"flat","recent_slope_pct":0.1544,"volatility":"high"},"price":9.3571,"volume":{"bars":34,"last_bar_volume":59553.0,"baseline_avg":26479.6,"bar_rvol":2.249014,"raw_accel":-0.079296,"smooth_accel":-0.426296,"accel_momentum":-0.417101,"rvol_3bar":[2.568562,2.72993,2.249014],"trend_3bar":"MIXED","projected_rvol":2.015287},"flow":{"window_s":30,"trades":121,"trade_rate":4.033333,"buy_vol":17511.0,"sell_vol":11163.0,"unclassified_vol":0.0,"imbalance":0.221385,"bid":9.35,"ask":9.4,"spread_pct":0.533333,"quote_size_imbalance":null,"quote_age_s":2.117007},"context":{"vwap":8.989201,"price_vs_vwap_pct":4.092673,"ema9":9.134827,"ema20":8.916038,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-1.504211,"dist_to_hod_atr":0.588713,"atr":0.242733,"spread_atr":0.205988,"own_change_pct":2.196961,"rel_strength_pct":{"SPY":2.281146,"IWM":2.520889}},"vas":{"raw":0,"score":4.4,"components":{"rvol":2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.497899},"shadow":{"decision":"FAIL","failed":["vas","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0d546f76e42c","ts":"2026-08-28T14:05:25+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.50 below VWAP $6.51","plan":{"state":"PASS","setup":"","stop":6.388,"target":7.0,"target_label":"prev_day_high","reward_risk":4.47,"pos_in_5d_range_pct":73.8,"room_to_5d_high_atr":1.12},"price":6.5,"vwap":6.5125,"ext_from_open_pct":-2.84,"max_ext_allowed_pct":4.0,"volume_pace":1.823,"trend":"flat","recent_slope_pct":-0.2905,"volatility":"high"},"price":6.5,"volume":{"bars":35,"last_bar_volume":2955.0,"baseline_avg":15593.3,"bar_rvol":0.189504,"raw_accel":-0.890243,"smooth_accel":-0.133279,"accel_momentum":-3.714933,"rvol_3bar":[0.87848,1.83953,0.189504],"trend_3bar":"MIXED","projected_rvol":0.648894},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":3040.0,"sell_vol":1177.0,"unclassified_vol":0.0,"imbalance":0.441783,"bid":6.51,"ask":6.52,"spread_pct":0.153492,"quote_size_imbalance":null,"quote_age_s":0.405056},"context":{"vwap":6.512492,"price_vs_vwap_pct":-0.191817,"ema9":6.551671,"ema20":6.533486,"ema_stack":false,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-4.129794,"dist_to_hod_atr":3.662211,"atr":0.076457,"spread_atr":0.130793,"own_change_pct":-1.283988,"rel_strength_pct":{"SPY":-1.279868,"IWM":-1.146933}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.08372},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"59a28d3401d7","ts":"2026-08-28T14:05:30+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.53,"pos_in_5d_range_pct":69.6,"room_to_5d_high_atr":1.83},"price":9.245,"vwap":9.0129,"ext_from_open_pct":3.88,"max_ext_allowed_pct":4.0,"volume_pace":10.176,"trend":"flat","recent_slope_pct":-0.0193,"volatility":"high"},"price":9.245,"volume":{"bars":35,"last_bar_volume":41195.0,"baseline_avg":29354.35,"bar_rvol":1.40337,"raw_accel":-0.308263,"smooth_accel":-0.362448,"accel_momentum":0.063848,"rvol_3bar":[2.72993,2.249014,1.40337],"trend_3bar":"DECELERATING","projected_rvol":1.504581},"flow":{"window_s":30,"trades":225,"trade_rate":7.5,"buy_vol":7908.0,"sell_vol":14175.0,"unclassified_vol":0.0,"imbalance":-0.283793,"bid":9.2,"ask":9.29,"spread_pct":0.973499,"quote_size_imbalance":null,"quote_age_s":0.768264},"context":{"vwap":9.006519,"price_vs_vwap_pct":2.647876,"ema9":9.179262,"ema20":8.958035,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-2.684211,"dist_to_hod_atr":1.080041,"atr":0.236102,"spread_atr":0.381191,"own_change_pct":1.922553,"rel_strength_pct":{"SPY":1.926674,"IWM":2.059608}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":0,"accel":-2,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.398266},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"54392a09e342","ts":"2026-08-28T14:05:30+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.408,"target":7.0,"target_label":"prev_day_high","reward_risk":4.29,"pos_in_5d_range_pct":74.9,"room_to_5d_high_atr":1.07},"price":6.52,"vwap":6.5125,"ext_from_open_pct":-2.54,"max_ext_allowed_pct":3.0,"volume_pace":1.819,"trend":"flat","recent_slope_pct":-0.2292,"volatility":"high"},"price":6.52,"volume":{"bars":35,"last_bar_volume":2955.0,"baseline_avg":15593.3,"bar_rvol":0.189504,"raw_accel":-0.890243,"smooth_accel":-0.133279,"accel_momentum":-3.714933,"rvol_3bar":[0.87848,1.83953,0.189504],"trend_3bar":"MIXED","projected_rvol":0.553571},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":3139.0,"sell_vol":1177.0,"unclassified_vol":0.0,"imbalance":0.454588,"bid":6.51,"ask":6.52,"spread_pct":0.153492,"quote_size_imbalance":null,"quote_age_s":2.837569},"context":{"vwap":6.512492,"price_vs_vwap_pct":0.115285,"ema9":6.551671,"ema20":6.533486,"ema_stack":false,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.834808,"dist_to_hod_atr":3.400625,"atr":0.076457,"spread_atr":0.130793,"own_change_pct":-1.283988,"rel_strength_pct":{"SPY":-1.279868,"IWM":-1.146933}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.086146},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"dc32a2bc0270","ts":"2026-08-28T14:05:30+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.497,"ext_from_open_pct":2.99,"max_ext_allowed_pct":4.0,"volume_pace":1.293,"trend":"flat","recent_slope_pct":-0.0994,"volatility":"medium"},"price":5.51,"volume":{"bars":35,"last_bar_volume":33579.0,"baseline_avg":86051.9,"bar_rvol":0.390218,"raw_accel":-0.375913,"smooth_accel":0.164303,"accel_momentum":0.670664,"rvol_3bar":[0.205994,0.621367,0.390218],"trend_3bar":"MIXED","projected_rvol":0.199298},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":4546.0,"sell_vol":4029.0,"unclassified_vol":0.0,"imbalance":0.060292,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.003881},"context":{"vwap":5.496908,"price_vs_vwap_pct":0.238174,"ema9":5.528888,"ema20":5.52414,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.211013,"atr":0.03166,"spread_atr":0.315859,"own_change_pct":0.090744,"rel_strength_pct":{"SPY":0.094864,"IWM":0.227799}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.023527},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f24865d3d945","ts":"2026-08-28T14:05:35+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.3% above open $8.90 (max 4%: volume pace strong, buying normal)","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.47,"pos_in_5d_range_pct":70.1,"room_to_5d_high_atr":1.81},"price":9.2799,"vwap":9.0136,"ext_from_open_pct":4.27,"max_ext_allowed_pct":4.0,"volume_pace":10.165,"trend":"flat","recent_slope_pct":0.0555,"volatility":"high"},"price":9.2799,"volume":{"bars":35,"last_bar_volume":41195.0,"baseline_avg":29354.35,"bar_rvol":1.40337,"raw_accel":-0.308263,"smooth_accel":-0.362448,"accel_momentum":0.063848,"rvol_3bar":[2.72993,2.249014,1.40337],"trend_3bar":"DECELERATING","projected_rvol":1.360129},"flow":{"window_s":30,"trades":231,"trade_rate":7.7,"buy_vol":8243.0,"sell_vol":14428.0,"unclassified_vol":0.0,"imbalance":-0.272815,"bid":9.2,"ask":9.28,"spread_pct":0.865801,"quote_size_imbalance":null,"quote_age_s":1.147536},"context":{"vwap":9.006519,"price_vs_vwap_pct":3.035374,"ema9":9.179262,"ema20":8.958035,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-2.316842,"dist_to_hod_atr":0.932224,"atr":0.236102,"spread_atr":0.338836,"own_change_pct":1.922553,"rel_strength_pct":{"SPY":1.926674,"IWM":2.059608}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":0,"accel":-2,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.382861},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"4e7a7af919cc","ts":"2026-08-28T14:05:50+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.54,"pos_in_5d_range_pct":69.6,"room_to_5d_high_atr":1.84},"price":9.24,"vwap":9.0176,"ext_from_open_pct":3.82,"max_ext_allowed_pct":4.0,"volume_pace":10.269,"trend":"flat","recent_slope_pct":-0.03,"volatility":"high"},"price":9.24,"volume":{"bars":35,"last_bar_volume":41195.0,"baseline_avg":29354.35,"bar_rvol":1.40337,"raw_accel":-0.308263,"smooth_accel":-0.362448,"accel_momentum":0.063848,"rvol_3bar":[2.72993,2.249014,1.40337],"trend_3bar":"DECELERATING","projected_rvol":1.607639},"flow":{"window_s":30,"trades":143,"trade_rate":4.766667,"buy_vol":7311.0,"sell_vol":17436.0,"unclassified_vol":0.0,"imbalance":-0.409141,"bid":9.23,"ask":9.3,"spread_pct":0.755532,"quote_size_imbalance":null,"quote_age_s":2.463753},"context":{"vwap":9.006519,"price_vs_vwap_pct":2.592361,"ema9":9.179262,"ema20":8.958035,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-2.736842,"dist_to_hod_atr":1.101218,"atr":0.236102,"spread_atr":0.296482,"own_change_pct":1.922553,"rel_strength_pct":{"SPY":1.926674,"IWM":2.059608}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":0,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.574175},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"56a6bb4f9698","ts":"2026-08-28T14:05:50+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.51 below VWAP $6.51","plan":{"state":"PASS","setup":"","stop":6.398,"target":7.0,"target_label":"prev_day_high","reward_risk":4.38,"pos_in_5d_range_pct":74.3,"room_to_5d_high_atr":1.09},"price":6.51,"vwap":6.5125,"ext_from_open_pct":-2.69,"max_ext_allowed_pct":3.0,"volume_pace":1.805,"trend":"flat","recent_slope_pct":-0.2598,"volatility":"high"},"price":6.51,"volume":{"bars":35,"last_bar_volume":2955.0,"baseline_avg":15593.3,"bar_rvol":0.189504,"raw_accel":-0.890243,"smooth_accel":-0.133279,"accel_momentum":-3.714933,"rvol_3bar":[0.87848,1.83953,0.189504],"trend_3bar":"MIXED","projected_rvol":0.409253},"flow":{"window_s":30,"trades":24,"trade_rate":0.8,"buy_vol":833.0,"sell_vol":608.0,"unclassified_vol":0.0,"imbalance":0.156142,"bid":6.51,"ask":6.52,"spread_pct":0.153492,"quote_size_imbalance":null,"quote_age_s":0.422632},"context":{"vwap":6.512492,"price_vs_vwap_pct":-0.038266,"ema9":6.551671,"ema20":6.533486,"ema_stack":false,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.982301,"dist_to_hod_atr":3.531418,"atr":0.076457,"spread_atr":0.130793,"own_change_pct":-1.283988,"rel_strength_pct":{"SPY":-1.279868,"IWM":-1.146933}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.02959},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7d2aafe2ef60","ts":"2026-08-28T14:05:55+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.29% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.44,"pos_in_5d_range_pct":70.3,"room_to_5d_high_atr":1.79},"price":9.3,"vwap":9.019,"ext_from_open_pct":4.49,"max_ext_allowed_pct":4.0,"volume_pace":10.264,"trend":"flat","recent_slope_pct":0.0986,"volatility":"high"},"price":9.3,"volume":{"bars":35,"last_bar_volume":41195.0,"baseline_avg":29354.35,"bar_rvol":1.40337,"raw_accel":-0.308263,"smooth_accel":-0.362448,"accel_momentum":0.063848,"rvol_3bar":[2.72993,2.249014,1.40337],"trend_3bar":"DECELERATING","projected_rvol":1.526675},"flow":{"window_s":30,"trades":132,"trade_rate":4.4,"buy_vol":7804.0,"sell_vol":15690.0,"unclassified_vol":0.0,"imbalance":-0.33566,"bid":9.25,"ask":9.37,"spread_pct":1.288937,"quote_size_imbalance":null,"quote_age_s":2.405257},"context":{"vwap":9.006519,"price_vs_vwap_pct":3.258545,"ema9":9.179262,"ema20":8.958035,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-2.105263,"dist_to_hod_atr":0.847091,"atr":0.236102,"spread_atr":0.508255,"own_change_pct":1.922553,"rel_strength_pct":{"SPY":1.926674,"IWM":2.059608}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":0,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.471055},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"695d66042840","ts":"2026-08-28T14:06:00+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.4396,"target":5.57,"target_label":"prev_day_high","reward_risk":0.73,"pos_in_5d_range_pct":44.3,"room_to_5d_high_atr":1.61},"price":5.515,"vwap":5.4974,"ext_from_open_pct":3.08,"max_ext_allowed_pct":3.0,"volume_pace":1.31,"trend":"flat","recent_slope_pct":-0.0813,"volatility":"medium"},"price":5.515,"volume":{"bars":35,"last_bar_volume":33579.0,"baseline_avg":86051.9,"bar_rvol":0.390218,"raw_accel":-0.375913,"smooth_accel":0.164303,"accel_momentum":0.670664,"rvol_3bar":[0.205994,0.621367,0.390218],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":179,"trade_rate":5.966667,"buy_vol":38929.0,"sell_vol":60313.0,"unclassified_vol":0.0,"imbalance":-0.215473,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.003853},"context":{"vwap":5.496908,"price_vs_vwap_pct":0.329134,"ema9":5.528888,"ema20":5.52414,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.164875,"dist_to_hod_atr":2.053084,"atr":0.03166,"spread_atr":0.315859,"own_change_pct":0.090744,"rel_strength_pct":{"SPY":0.31202,"IWM":0.546032}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.084082},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0479771e7bd0","ts":"2026-08-28T14:06:20+00:00","symbol":"NVAX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.12 below VWAP $9.13","plan":{"state":"PASS","setup":"","stop":9.0148,"target":9.18,"target_label":"prev_day_high","reward_risk":0.5,"pos_in_5d_range_pct":65.5,"room_to_5d_high_atr":1.03},"price":9.125,"vwap":9.1251,"ext_from_open_pct":-0.6,"max_ext_allowed_pct":4.0,"volume_pace":1.658,"trend":"flat","recent_slope_pct":-0.0226,"volatility":"medium"},"price":9.125,"volume":{"bars":36,"last_bar_volume":4929.0,"baseline_avg":6783.6,"bar_rvol":0.726605,"raw_accel":-0.516433,"smooth_accel":0.089127,"accel_momentum":-0.375248,"rvol_3bar":[0.377903,1.577119,0.726605],"trend_3bar":"MIXED","projected_rvol":0.618698},"flow":{"window_s":30,"trades":16,"trade_rate":0.533333,"buy_vol":1082.0,"sell_vol":384.0,"unclassified_vol":0.0,"imbalance":0.476126,"bid":9.12,"ask":9.13,"spread_pct":0.109589,"quote_size_imbalance":null,"quote_age_s":1.553927},"context":{"vwap":9.125072,"price_vs_vwap_pct":-0.000793,"ema9":9.143638,"ema20":9.140256,"ema_stack":false,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-1.88172,"dist_to_hod_atr":3.434508,"atr":0.050953,"spread_atr":0.196258,"own_change_pct":-0.054645,"rel_strength_pct":{"SPY":0.166631,"IWM":0.400644}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.345955},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0867fe1559aa","ts":"2026-08-28T14:06:25+00:00","symbol":"NVAX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.0198,"target":9.18,"target_label":"prev_day_high","reward_risk":0.45,"pos_in_5d_range_pct":65.9,"room_to_5d_high_atr":1.02},"price":9.13,"vwap":9.1251,"ext_from_open_pct":-0.54,"max_ext_allowed_pct":4.0,"volume_pace":1.655,"trend":"flat","recent_slope_pct":-0.0117,"volatility":"medium"},"price":9.13,"volume":{"bars":36,"last_bar_volume":4929.0,"baseline_avg":6783.6,"bar_rvol":0.726605,"raw_accel":-0.516433,"smooth_accel":0.089127,"accel_momentum":-0.375248,"rvol_3bar":[0.377903,1.577119,0.726605],"trend_3bar":"MIXED","projected_rvol":0.530338},"flow":{"window_s":30,"trades":17,"trade_rate":0.566667,"buy_vol":1056.0,"sell_vol":443.0,"unclassified_vol":0.0,"imbalance":0.408939,"bid":9.12,"ask":9.13,"spread_pct":0.109589,"quote_size_imbalance":null,"quote_age_s":1.026603},"context":{"vwap":9.125072,"price_vs_vwap_pct":0.054001,"ema9":9.143638,"ema20":9.140256,"ema_stack":false,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-1.827957,"dist_to_hod_atr":3.336379,"atr":0.050953,"spread_atr":0.196258,"own_change_pct":-0.054645,"rel_strength_pct":{"SPY":0.166631,"IWM":0.400644}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.297137},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f90e8c75b86b","ts":"2026-08-28T14:06:35+00:00","symbol":"NVAX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.12 below VWAP $9.13","plan":{"state":"PASS","setup":"","stop":9.0098,"target":9.18,"target_label":"prev_day_high","reward_risk":0.54,"pos_in_5d_range_pct":65.2,"room_to_5d_high_atr":1.04},"price":9.12,"vwap":9.1251,"ext_from_open_pct":-0.65,"max_ext_allowed_pct":4.0,"volume_pace":1.647,"trend":"flat","recent_slope_pct":-0.0336,"volatility":"medium"},"price":9.12,"volume":{"bars":36,"last_bar_volume":4929.0,"baseline_avg":6783.6,"bar_rvol":0.726605,"raw_accel":-0.516433,"smooth_accel":0.089127,"accel_momentum":-0.375248,"rvol_3bar":[0.377903,1.577119,0.726605],"trend_3bar":"MIXED","projected_rvol":0.380329},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":885.0,"sell_vol":169.0,"unclassified_vol":0.0,"imbalance":0.679317,"bid":9.12,"ask":9.13,"spread_pct":0.109589,"quote_size_imbalance":null,"quote_age_s":1.607638},"context":{"vwap":9.125072,"price_vs_vwap_pct":-0.055587,"ema9":9.143638,"ema20":9.140256,"ema_stack":false,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-1.935484,"dist_to_hod_atr":3.532636,"atr":0.050953,"spread_atr":0.196258,"own_change_pct":-0.054645,"rel_strength_pct":{"SPY":0.166631,"IWM":0.400644}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.493595},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"893181c921af","ts":"2026-08-28T14:07:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.4976,"ext_from_open_pct":3.18,"max_ext_allowed_pct":4.0,"volume_pace":1.289,"trend":"flat","recent_slope_pct":-0.0464,"volatility":"medium"},"price":5.52,"volume":{"bars":37,"last_bar_volume":50632.0,"baseline_avg":85743.95,"bar_rvol":0.590502,"raw_accel":-0.530389,"smooth_accel":1.128583,"accel_momentum":-0.1165,"rvol_3bar":[0.390218,1.290173,0.590502],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":144,"trade_rate":4.8,"buy_vol":19292.0,"sell_vol":6561.0,"unclassified_vol":0.0,"imbalance":0.492438,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.134357},"context":{"vwap":5.497554,"price_vs_vwap_pct":0.408293,"ema9":5.522768,"ema20":5.521949,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":1.971207,"atr":0.030438,"spread_atr":0.328534,"own_change_pct":-0.192029,"rel_strength_pct":{"SPY":-0.054726,"IWM":0.069025}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.290786},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"004da18764a7","ts":"2026-08-28T14:07:10+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"extended +7.1% above open $8.90 (max 5%: volume pace strong, buying strong)","plan":{"state":"WATCH","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.14,"pos_in_5d_range_pct":73.0,"room_to_5d_high_atr":1.63},"price":9.5297,"vwap":9.0441,"ext_from_open_pct":7.08,"max_ext_allowed_pct":5.0,"volume_pace":10.707,"trend":"flat","recent_slope_pct":0.422,"volatility":"high"},"price":9.5297,"volume":{"bars":37,"last_bar_volume":52775.0,"baseline_avg":32905.05,"bar_rvol":1.603857,"raw_accel":0.169866,"smooth_accel":-0.221222,"accel_momentum":0.148,"rvol_3bar":[1.40337,1.440468,1.603857],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":293,"trade_rate":9.766667,"buy_vol":20740.0,"sell_vol":21274.0,"unclassified_vol":0.0,"imbalance":-0.01271,"bid":9.52,"ask":9.59,"spread_pct":0.732601,"quote_size_imbalance":null,"quote_age_s":0.254328},"context":{"vwap":9.035987,"price_vs_vwap_pct":5.463854,"ema9":9.235408,"ema20":9.025733,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":0.312632,"dist_to_hod_atr":-0.123957,"atr":0.239598,"spread_atr":0.292156,"own_change_pct":1.880694,"rel_strength_pct":{"SPY":2.017997,"IWM":2.141748}},"vas":{"raw":1,"score":5.0,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.020385},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9eae467549fe","ts":"2026-08-28T14:07:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.4977,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.279,"trend":"flat","recent_slope_pct":-0.0464,"volatility":"medium"},"price":5.52,"volume":{"bars":37,"last_bar_volume":50632.0,"baseline_avg":85743.95,"bar_rvol":0.590502,"raw_accel":-0.530389,"smooth_accel":1.128583,"accel_momentum":-0.1165,"rvol_3bar":[0.390218,1.290173,0.590502],"trend_3bar":"MIXED","projected_rvol":0.424373},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":5687.0,"sell_vol":14545.0,"unclassified_vol":0.0,"imbalance":-0.437821,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.387707},"context":{"vwap":5.497554,"price_vs_vwap_pct":0.408293,"ema9":5.522768,"ema20":5.521949,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":1.971207,"atr":0.030438,"spread_atr":0.328534,"own_change_pct":-0.192029,"rel_strength_pct":{"SPY":-0.054726,"IWM":0.069025}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.258534},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4e4a9934bec8","ts":"2026-08-28T14:07:55+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"extended +6.0% above open $8.90 (max 4%: volume pace strong, buying normal)","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.25,"pos_in_5d_range_pct":71.9,"room_to_5d_high_atr":1.7},"price":9.4339,"vwap":9.0819,"ext_from_open_pct":6.0,"max_ext_allowed_pct":4.0,"volume_pace":11.456,"trend":"flat","recent_slope_pct":0.2182,"volatility":"high"},"price":9.4339,"volume":{"bars":37,"last_bar_volume":52775.0,"baseline_avg":32905.05,"bar_rvol":1.603857,"raw_accel":0.169866,"smooth_accel":-0.221222,"accel_momentum":0.148,"rvol_3bar":[1.40337,1.440468,1.603857],"trend_3bar":"ACCELERATING","projected_rvol":3.696918},"flow":{"window_s":30,"trades":351,"trade_rate":11.7,"buy_vol":15866.0,"sell_vol":25790.0,"unclassified_vol":0.0,"imbalance":-0.238237,"bid":9.43,"ask":9.46,"spread_pct":0.317628,"quote_size_imbalance":null,"quote_age_s":0.768425},"context":{"vwap":9.035987,"price_vs_vwap_pct":4.403649,"ema9":9.235408,"ema20":9.025733,"ema_stack":true,"ema_warm":true,"hod":9.5,"dist_to_hod_pct":-0.695789,"dist_to_hod_atr":0.275878,"atr":0.239598,"spread_atr":0.12521,"own_change_pct":1.880694,"rel_strength_pct":{"SPY":2.017997,"IWM":2.141748}},"vas":{"raw":0,"score":4.4,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.382098},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"483b8c74ec70","ts":"2026-08-28T14:07:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.4977,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.27,"trend":"flat","recent_slope_pct":-0.0827,"volatility":"medium"},"price":5.51,"volume":{"bars":37,"last_bar_volume":50632.0,"baseline_avg":85743.95,"bar_rvol":0.590502,"raw_accel":-0.530389,"smooth_accel":1.128583,"accel_momentum":-0.1165,"rvol_3bar":[0.390218,1.290173,0.590502],"trend_3bar":"MIXED","projected_rvol":0.383429},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":8031.0,"sell_vol":6263.0,"unclassified_vol":0.0,"imbalance":0.123688,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.094864},"context":{"vwap":5.497554,"price_vs_vwap_pct":0.226394,"ema9":5.522768,"ema20":5.521949,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.299741,"atr":0.030438,"spread_atr":0.328534,"own_change_pct":-0.192029,"rel_strength_pct":{"SPY":-0.054726,"IWM":0.069025}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.073038},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bd520adcc26d","ts":"2026-08-28T14:08:00+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4436,"target":5.57,"target_label":"prev_day_high","reward_risk":0.68,"pos_in_5d_range_pct":44.7,"room_to_5d_high_atr":1.59},"price":5.519,"vwap":5.4977,"ext_from_open_pct":3.16,"max_ext_allowed_pct":3.0,"volume_pace":1.269,"trend":"flat","recent_slope_pct":-0.05,"volatility":"medium"},"price":5.519,"volume":{"bars":37,"last_bar_volume":50632.0,"baseline_avg":85743.95,"bar_rvol":0.590502,"raw_accel":-0.530389,"smooth_accel":1.128583,"accel_momentum":-0.1165,"rvol_3bar":[0.390218,1.290173,0.590502],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":10191.0,"sell_vol":7196.0,"unclassified_vol":0.0,"imbalance":0.172255,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.00376},"context":{"vwap":5.497554,"price_vs_vwap_pct":0.390103,"ema9":5.522768,"ema20":5.521949,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.09319,"dist_to_hod_atr":2.00406,"atr":0.030438,"spread_atr":0.328534,"own_change_pct":-0.192029,"rel_strength_pct":{"SPY":-0.027555,"IWM":0.122447}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.101717},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9c2fb9fd42ef","ts":"2026-08-28T14:08:10+00:00","symbol":"XPON","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.58,"pos_in_5d_range_pct":69.4,"room_to_5d_high_atr":1.85},"price":9.2221,"vwap":9.0799,"ext_from_open_pct":3.62,"max_ext_allowed_pct":4.0,"volume_pace":11.857,"trend":"flat","recent_slope_pct":-0.304,"volatility":"high"},"price":9.2221,"volume":{"bars":38,"last_bar_volume":130509.0,"baseline_avg":35168.8,"bar_rvol":3.710931,"raw_accel":1.472932,"smooth_accel":0.38062,"accel_momentum":0.601842,"rvol_3bar":[1.440468,1.603857,3.710931],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":544,"trade_rate":18.133333,"buy_vol":19901.0,"sell_vol":43239.0,"unclassified_vol":0.0,"imbalance":-0.369623,"bid":9.2,"ask":9.29,"spread_pct":0.973499,"quote_size_imbalance":null,"quote_age_s":1.966691},"context":{"vwap":9.076028,"price_vs_vwap_pct":1.609425,"ema9":9.238266,"ema20":9.047063,"ema_stack":false,"ema_warm":true,"hod":9.7,"dist_to_hod_pct":-4.926804,"dist_to_hod_atr":1.850902,"atr":0.258198,"spread_atr":0.348569,"own_change_pct":-1.859947,"rel_strength_pct":{"SPY":-1.695473,"IWM":-1.545471}},"vas":{"raw":4,"score":6.9,"components":{"rvol":3,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.371646},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1fa1300e5af7","ts":"2026-08-28T14:08:10+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.4977,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.264,"trend":"flat","recent_slope_pct":-0.0109,"volatility":"medium"},"price":5.51,"volume":{"bars":38,"last_bar_volume":33502.0,"baseline_avg":85457.15,"bar_rvol":0.392033,"raw_accel":-0.338324,"smooth_accel":0.815397,"accel_momentum":-0.313186,"rvol_3bar":[1.290173,0.590502,0.392033],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":9077.0,"sell_vol":4817.0,"unclassified_vol":0.0,"imbalance":0.306607,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.833281},"context":{"vwap":5.497716,"price_vs_vwap_pct":0.223441,"ema9":5.522015,"ema20":5.521668,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.410844,"atr":0.029035,"spread_atr":0.344406,"own_change_pct":-0.556767,"rel_strength_pct":{"SPY":-0.392293,"IWM":-0.242291}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.1202},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"836628ad2af5","ts":"2026-08-28T14:08:20+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.2% above open $8.90 (max 4%: volume pace strong, buying normal)","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.49,"pos_in_5d_range_pct":69.9,"room_to_5d_high_atr":1.82},"price":9.27,"vwap":9.0816,"ext_from_open_pct":4.16,"max_ext_allowed_pct":4.0,"volume_pace":11.893,"trend":"flat","recent_slope_pct":-0.2007,"volatility":"high"},"price":9.27,"volume":{"bars":38,"last_bar_volume":130509.0,"baseline_avg":35168.8,"bar_rvol":3.710931,"raw_accel":1.472932,"smooth_accel":0.38062,"accel_momentum":0.601842,"rvol_3bar":[1.440468,1.603857,3.710931],"trend_3bar":"ACCELERATING","projected_rvol":3.085405},"flow":{"window_s":30,"trades":521,"trade_rate":17.366667,"buy_vol":22455.0,"sell_vol":39116.0,"unclassified_vol":0.0,"imbalance":-0.270598,"bid":9.24,"ask":9.29,"spread_pct":0.539665,"quote_size_imbalance":null,"quote_age_s":6.109459},"context":{"vwap":9.076028,"price_vs_vwap_pct":2.137189,"ema9":9.238266,"ema20":9.047063,"ema_stack":true,"ema_warm":true,"hod":9.7,"dist_to_hod_pct":-4.43299,"dist_to_hod_atr":1.665386,"atr":0.258198,"spread_atr":0.19365,"own_change_pct":-1.859947,"rel_strength_pct":{"SPY":-1.695473,"IWM":-1.545471}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-1.004171},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"900622d54727","ts":"2026-08-28T14:08:25+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.4977,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.257,"trend":"flat","recent_slope_pct":0.0254,"volatility":"medium"},"price":5.52,"volume":{"bars":38,"last_bar_volume":33502.0,"baseline_avg":85457.15,"bar_rvol":0.392033,"raw_accel":-0.338324,"smooth_accel":0.815397,"accel_momentum":-0.313186,"rvol_3bar":[1.290173,0.590502,0.392033],"trend_3bar":"DECELERATING","projected_rvol":0.150223},"flow":{"window_s":30,"trades":81,"trade_rate":2.7,"buy_vol":4842.0,"sell_vol":3872.0,"unclassified_vol":0.0,"imbalance":0.111315,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.407896},"context":{"vwap":5.497716,"price_vs_vwap_pct":0.405335,"ema9":5.522015,"ema20":5.521668,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.066437,"atr":0.029035,"spread_atr":0.344406,"own_change_pct":-0.556767,"rel_strength_pct":{"SPY":-0.392293,"IWM":-0.242291}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.043639},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"a02c1c0b4023","ts":"2026-08-28T14:08:40+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.4977,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.249,"trend":"flat","recent_slope_pct":-0.0109,"volatility":"medium"},"price":5.51,"volume":{"bars":38,"last_bar_volume":33502.0,"baseline_avg":85457.15,"bar_rvol":0.392033,"raw_accel":-0.338324,"smooth_accel":0.815397,"accel_momentum":-0.313186,"rvol_3bar":[1.290173,0.590502,0.392033],"trend_3bar":"DECELERATING","projected_rvol":0.127345},"flow":{"window_s":30,"trades":77,"trade_rate":2.566667,"buy_vol":3054.0,"sell_vol":1602.0,"unclassified_vol":0.0,"imbalance":0.311856,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.07619},"context":{"vwap":5.497716,"price_vs_vwap_pct":0.223441,"ema9":5.522015,"ema20":5.521668,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.410844,"atr":0.029035,"spread_atr":0.344406,"own_change_pct":-0.556767,"rel_strength_pct":{"SPY":-0.392293,"IWM":-0.242291}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.122258},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"18e77aa95da8","ts":"2026-08-28T14:08:45+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.4978,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.247,"trend":"flat","recent_slope_pct":0.0254,"volatility":"medium"},"price":5.52,"volume":{"bars":38,"last_bar_volume":33502.0,"baseline_avg":85457.15,"bar_rvol":0.392033,"raw_accel":-0.338324,"smooth_accel":0.815397,"accel_momentum":-0.313186,"rvol_3bar":[1.290173,0.590502,0.392033],"trend_3bar":"DECELERATING","projected_rvol":0.13028},"flow":{"window_s":30,"trades":71,"trade_rate":2.366667,"buy_vol":2707.0,"sell_vol":2041.0,"unclassified_vol":0.0,"imbalance":0.14027,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.287369},"context":{"vwap":5.497716,"price_vs_vwap_pct":0.405335,"ema9":5.522015,"ema20":5.521668,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.066437,"atr":0.029035,"spread_atr":0.344406,"own_change_pct":-0.556767,"rel_strength_pct":{"SPY":-0.392293,"IWM":-0.242291}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.05499},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"ef153d3fd3e0","ts":"2026-08-28T14:08:55+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.69% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.2,"pos_in_5d_range_pct":72.3,"room_to_5d_high_atr":1.67},"price":9.47,"vwap":9.094,"ext_from_open_pct":6.4,"max_ext_allowed_pct":4.0,"volume_pace":12.084,"trend":"flat","recent_slope_pct":0.2281,"volatility":"high"},"price":9.47,"volume":{"bars":38,"last_bar_volume":130509.0,"baseline_avg":35168.8,"bar_rvol":3.710931,"raw_accel":1.472932,"smooth_accel":0.38062,"accel_momentum":0.601842,"rvol_3bar":[1.440468,1.603857,3.710931],"trend_3bar":"ACCELERATING","projected_rvol":2.262977},"flow":{"window_s":30,"trades":202,"trade_rate":6.733333,"buy_vol":11861.0,"sell_vol":20281.0,"unclassified_vol":0.0,"imbalance":-0.261963,"bid":9.39,"ask":9.55,"spread_pct":1.689546,"quote_size_imbalance":null,"quote_age_s":0.090926},"context":{"vwap":9.076028,"price_vs_vwap_pct":4.340796,"ema9":9.238266,"ema20":9.047063,"ema_stack":true,"ema_warm":true,"hod":9.7,"dist_to_hod_pct":-2.371134,"dist_to_hod_atr":0.890788,"atr":0.258198,"spread_atr":0.619679,"own_change_pct":-1.859947,"rel_strength_pct":{"SPY":-1.695473,"IWM":-1.545471}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.972125},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f28f558e70a6","ts":"2026-08-28T14:08:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.4978,"ext_from_open_pct":2.99,"max_ext_allowed_pct":4.0,"volume_pace":1.243,"trend":"flat","recent_slope_pct":-0.0109,"volatility":"medium"},"price":5.51,"volume":{"bars":38,"last_bar_volume":33502.0,"baseline_avg":85457.15,"bar_rvol":0.392033,"raw_accel":-0.338324,"smooth_accel":0.815397,"accel_momentum":-0.313186,"rvol_3bar":[1.290173,0.590502,0.392033],"trend_3bar":"DECELERATING","projected_rvol":0.166425},"flow":{"window_s":30,"trades":73,"trade_rate":2.433333,"buy_vol":5578.0,"sell_vol":2110.0,"unclassified_vol":0.0,"imbalance":0.451093,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":2.375636},"context":{"vwap":5.497716,"price_vs_vwap_pct":0.223441,"ema9":5.522015,"ema20":5.521668,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.410844,"atr":0.029035,"spread_atr":0.344406,"own_change_pct":-0.556767,"rel_strength_pct":{"SPY":-0.392293,"IWM":-0.242291}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.176843},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"4a99b6d2a675","ts":"2026-08-28T14:09:00+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.06% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.4299,"target":9.68,"target_label":"premarket_high","reward_risk":0.21,"pos_in_5d_range_pct":72.2,"room_to_5d_high_atr":1.68},"price":9.46,"vwap":9.0965,"ext_from_open_pct":6.29,"max_ext_allowed_pct":4.0,"volume_pace":12.175,"trend":"flat","recent_slope_pct":0.2068,"volatility":"high"},"price":9.46,"volume":{"bars":38,"last_bar_volume":130509.0,"baseline_avg":35168.8,"bar_rvol":3.710931,"raw_accel":1.472932,"smooth_accel":0.38062,"accel_momentum":0.601842,"rvol_3bar":[1.440468,1.603857,3.710931],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":248,"trade_rate":8.266667,"buy_vol":20000.0,"sell_vol":23154.0,"unclassified_vol":0.0,"imbalance":-0.073087,"bid":9.41,"ask":9.51,"spread_pct":1.057082,"quote_size_imbalance":null,"quote_age_s":0.276518},"context":{"vwap":9.076028,"price_vs_vwap_pct":4.230616,"ema9":9.238266,"ema20":9.047063,"ema_stack":true,"ema_warm":true,"hod":9.7,"dist_to_hod_pct":-2.474227,"dist_to_hod_atr":0.929518,"atr":0.258198,"spread_atr":0.387299,"own_change_pct":-1.859947,"rel_strength_pct":{"SPY":-1.846985,"IWM":-1.849896}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.271221},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b3b384c9f036","ts":"2026-08-28T14:09:20+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.9156,"target":8.53,"target_label":"premarket_high","reward_risk":0.84,"pos_in_5d_range_pct":46.3,"room_to_5d_high_atr":0.97},"price":8.25,"vwap":8.2287,"ext_from_open_pct":0.06,"max_ext_allowed_pct":3.0,"volume_pace":0.826,"trend":"flat","recent_slope_pct":-0.0303,"volatility":"high"},"price":8.25,"volume":{"bars":38,"last_bar_volume":452.0,"baseline_avg":10825.2,"bar_rvol":0.041754,"raw_accel":-0.832982,"smooth_accel":-0.960822,"accel_momentum":-0.300537,"rvol_3bar":[0.027834,0.006897,0.041754],"trend_3bar":"MIXED","projected_rvol":1.491797},"flow":{"window_s":30,"trades":18,"trade_rate":0.6,"buy_vol":0.0,"sell_vol":5535.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":8.25,"ask":8.26,"spread_pct":0.121139,"quote_size_imbalance":null,"quote_age_s":3.382518},"context":{"vwap":8.228514,"price_vs_vwap_pct":0.261115,"ema9":8.261688,"ema20":8.257651,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.482509,"dist_to_hod_atr":1.270935,"atr":0.031473,"spread_atr":0.317734,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.012962,"IWM":0.010051}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.041754},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5a4545af4d94","ts":"2026-08-28T14:09:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4396,"target":5.57,"target_label":"prev_day_high","reward_risk":0.73,"pos_in_5d_range_pct":44.3,"room_to_5d_high_atr":1.61},"price":5.515,"vwap":5.4978,"ext_from_open_pct":3.08,"max_ext_allowed_pct":3.0,"volume_pace":1.23,"trend":"flat","recent_slope_pct":0.0102,"volatility":"medium"},"price":5.515,"volume":{"bars":39,"last_bar_volume":19918.0,"baseline_avg":77359.45,"bar_rvol":0.257473,"raw_accel":-0.405468,"smooth_accel":-0.466949,"accel_momentum":-1.282346,"rvol_3bar":[0.590502,0.392033,0.257473],"trend_3bar":"DECELERATING","projected_rvol":0.259025},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":7709.0,"sell_vol":2310.0,"unclassified_vol":0.0,"imbalance":0.538876,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.003699},"context":{"vwap":5.497805,"price_vs_vwap_pct":0.312756,"ema9":5.520612,"ema20":5.521033,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.164875,"dist_to_hod_atr":2.348622,"atr":0.027676,"spread_atr":0.361326,"own_change_pct":-0.271248,"rel_strength_pct":{"SPY":-0.258285,"IWM":-0.261197}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.138746},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"0e1d4309a29c","ts":"2026-08-28T14:09:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.4979,"ext_from_open_pct":2.8,"max_ext_allowed_pct":3.0,"volume_pace":1.224,"trend":"flat","recent_slope_pct":-0.0443,"volatility":"medium"},"price":5.5,"volume":{"bars":39,"last_bar_volume":19918.0,"baseline_avg":77359.45,"bar_rvol":0.257473,"raw_accel":-0.405468,"smooth_accel":-0.466949,"accel_momentum":-1.282346,"rvol_3bar":[0.590502,0.392033,0.257473],"trend_3bar":"DECELERATING","projected_rvol":0.458267},"flow":{"window_s":30,"trades":100,"trade_rate":3.333333,"buy_vol":15063.0,"sell_vol":8349.0,"unclassified_vol":0.0,"imbalance":0.286776,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.170848},"context":{"vwap":5.497805,"price_vs_vwap_pct":0.03992,"ema9":5.520612,"ema20":5.521033,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":2.890612,"atr":0.027676,"spread_atr":0.361326,"own_change_pct":-0.271248,"rel_strength_pct":{"SPY":-0.258285,"IWM":-0.261197}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.073837},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"5e0d376ac998","ts":"2026-08-28T14:10:05+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.9256,"target":8.53,"target_label":"premarket_high","reward_risk":0.81,"pos_in_5d_range_pct":46.7,"room_to_5d_high_atr":0.96},"price":8.26,"vwap":8.2291,"ext_from_open_pct":0.18,"max_ext_allowed_pct":4.0,"volume_pace":0.818,"trend":"flat","recent_slope_pct":-0.0121,"volatility":"high"},"price":8.26,"volume":{"bars":39,"last_bar_volume":6445.0,"baseline_avg":10833.2,"bar_rvol":0.59493,"raw_accel":1.379722,"smooth_accel":-0.633342,"accel_momentum":0.32748,"rvol_3bar":[0.006897,0.041754,0.59493],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":67,"trade_rate":2.233333,"buy_vol":3141.0,"sell_vol":1223.0,"unclassified_vol":0.0,"imbalance":0.439505,"bid":8.25,"ask":8.26,"spread_pct":0.121139,"quote_size_imbalance":null,"quote_age_s":1.466046},"context":{"vwap":8.228827,"price_vs_vwap_pct":0.378825,"ema9":8.26035,"ema20":8.257399,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.361882,"dist_to_hod_atr":1.014131,"atr":0.029582,"spread_atr":0.338044,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.096949,"IWM":0.214233}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.261475},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"09f0e559d206","ts":"2026-08-28T14:10:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.50 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4196,"target":5.57,"target_label":"prev_day_high","reward_risk":0.99,"pos_in_5d_range_pct":42.0,"room_to_5d_high_atr":1.67},"price":5.495,"vwap":5.4979,"ext_from_open_pct":2.71,"max_ext_allowed_pct":3.0,"volume_pace":1.216,"trend":"flat","recent_slope_pct":-0.0713,"volatility":"medium"},"price":5.495,"volume":{"bars":40,"last_bar_volume":34132.0,"baseline_avg":69686.85,"bar_rvol":0.489791,"raw_accel":0.713626,"smooth_accel":-0.544066,"accel_momentum":-0.077117,"rvol_3bar":[0.392033,0.257473,0.489791],"trend_3bar":"MIXED","projected_rvol":1.051447},"flow":{"window_s":30,"trades":139,"trade_rate":4.633333,"buy_vol":22527.0,"sell_vol":31026.0,"unclassified_vol":0.0,"imbalance":-0.158703,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.228038},"context":{"vwap":5.497908,"price_vs_vwap_pct":-0.052894,"ema9":5.518189,"ema20":5.519839,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.523297,"dist_to_hod_atr":3.133348,"atr":0.027128,"spread_atr":0.368629,"own_change_pct":-0.11786,"rel_strength_pct":{"SPY":-0.020912,"IWM":0.096373}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.077731},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"26b8d0a6d9e5","ts":"2026-08-28T14:11:05+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"extended +9.9% above open $8.90 (max 4%: volume pace strong, buying normal)","plan":{"state":"BUY","setup":"breakout","stop":9.09,"target":11.79,"target_label":"range_20d_high","reward_risk":2.91,"pos_in_5d_range_pct":76.0,"room_to_5d_high_atr":1.45},"price":9.7804,"vwap":9.226,"ext_from_open_pct":9.89,"max_ext_allowed_pct":4.0,"volume_pace":14.567,"trend":"flat","recent_slope_pct":1.463,"volatility":"high"},"price":9.7804,"volume":{"bars":41,"last_bar_volume":136971.0,"baseline_avg":54379.05,"bar_rvol":2.518819,"raw_accel":-0.21161,"smooth_accel":0.731221,"accel_momentum":-1.065273,"rvol_3bar":[2.034684,3.790957,2.518819],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":465,"trade_rate":15.5,"buy_vol":29361.0,"sell_vol":31481.0,"unclassified_vol":0.0,"imbalance":-0.034844,"bid":9.77,"ask":9.8,"spread_pct":0.306592,"quote_size_imbalance":null,"quote_age_s":1.024361},"context":{"vwap":9.223881,"price_vs_vwap_pct":6.03346,"ema9":9.466732,"ema20":9.214625,"ema_stack":true,"ema_warm":true,"hod":9.88,"dist_to_hod_pct":-1.008097,"dist_to_hod_atr":0.35599,"atr":0.279783,"spread_atr":0.107226,"own_change_pct":5.860189,"rel_strength_pct":{"SPY":5.914658,"IWM":6.046186}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.087767},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"edca07ccf079","ts":"2026-08-28T14:11:05+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.9177,"target":8.53,"target_label":"premarket_high","reward_risk":0.83,"pos_in_5d_range_pct":46.4,"room_to_5d_high_atr":0.97},"price":8.2521,"vwap":8.2295,"ext_from_open_pct":0.09,"max_ext_allowed_pct":4.0,"volume_pace":0.808,"trend":"flat","recent_slope_pct":-0.0131,"volatility":"high"},"price":8.2521,"volume":{"bars":40,"last_bar_volume":10339.0,"baseline_avg":11148.2,"bar_rvol":0.927414,"raw_accel":0.604189,"smooth_accel":-0.080992,"accel_momentum":0.55235,"rvol_3bar":[0.041754,0.59493,0.927414],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":18,"trade_rate":0.6,"buy_vol":6200.0,"sell_vol":214.0,"unclassified_vol":0.0,"imbalance":0.933271,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":1.655912},"context":{"vwap":8.229544,"price_vs_vwap_pct":0.27408,"ema9":8.26228,"ema20":8.258599,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.457177,"dist_to_hod_atr":1.327942,"atr":0.02854,"spread_atr":0.700761,"own_change_pct":0.121065,"rel_strength_pct":{"SPY":0.175534,"IWM":0.307063}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.865529},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"971d93ac0250","ts":"2026-08-28T14:11:15+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":4.9474,"target":5.14,"target_label":"ceiling","reward_risk":0.79,"pos_in_5d_range_pct":25.6,"room_to_5d_high_atr":1.52},"price":5.055,"vwap":5.0512,"ext_from_open_pct":-0.1,"max_ext_allowed_pct":3.0,"volume_pace":0.464,"trend":"flat","recent_slope_pct":0.1493,"volatility":"high"},"price":5.055,"volume":{"bars":41,"last_bar_volume":26312.0,"baseline_avg":36986.3,"bar_rvol":0.711399,"raw_accel":1.190112,"smooth_accel":-0.513781,"accel_momentum":0.191217,"rvol_3bar":[0.494334,0.30902,0.711399],"trend_3bar":"MIXED","projected_rvol":0.499753},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":4214.0,"sell_vol":5362.0,"unclassified_vol":0.0,"imbalance":-0.119883,"bid":5.05,"ask":5.06,"spread_pct":0.197824,"quote_size_imbalance":null,"quote_age_s":0.081168},"context":{"vwap":5.051147,"price_vs_vwap_pct":0.076277,"ema9":5.041328,"ema20":5.042638,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.653696,"dist_to_hod_atr":2.533497,"atr":0.03355,"spread_atr":0.298058,"own_change_pct":0.675972,"rel_strength_pct":{"SPY":0.730441,"IWM":0.86197}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.085285},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"72819e945c73","ts":"2026-08-28T14:11:20+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.05 below VWAP $5.05","plan":{"state":"PASS","setup":"","stop":4.9424,"target":5.14,"target_label":"ceiling","reward_risk":0.84,"pos_in_5d_range_pct":25.0,"room_to_5d_high_atr":1.53},"price":5.05,"vwap":5.0511,"ext_from_open_pct":-0.2,"max_ext_allowed_pct":3.0,"volume_pace":0.464,"trend":"flat","recent_slope_pct":0.1295,"volatility":"high"},"price":5.05,"volume":{"bars":41,"last_bar_volume":26312.0,"baseline_avg":36986.3,"bar_rvol":0.711399,"raw_accel":1.190112,"smooth_accel":-0.513781,"accel_momentum":0.191217,"rvol_3bar":[0.494334,0.30902,0.711399],"trend_3bar":"MIXED","projected_rvol":0.37668},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":4133.0,"sell_vol":2749.0,"unclassified_vol":0.0,"imbalance":0.201104,"bid":5.05,"ask":5.06,"spread_pct":0.197824,"quote_size_imbalance":null,"quote_age_s":0.148727},"context":{"vwap":5.051147,"price_vs_vwap_pct":-0.022711,"ema9":5.041328,"ema20":5.042638,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.750973,"dist_to_hod_atr":2.682526,"atr":0.03355,"spread_atr":0.298058,"own_change_pct":0.675972,"rel_strength_pct":{"SPY":0.730441,"IWM":0.86197}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.143065},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d49bf03be617","ts":"2026-08-28T14:11:25+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.4978,"ext_from_open_pct":2.8,"max_ext_allowed_pct":3.0,"volume_pace":1.207,"trend":"flat","recent_slope_pct":-0.1235,"volatility":"medium"},"price":5.5,"volume":{"bars":41,"last_bar_volume":76577.0,"baseline_avg":67868.0,"bar_rvol":1.128323,"raw_accel":1.243554,"smooth_accel":-0.319477,"accel_momentum":0.224589,"rvol_3bar":[0.257473,0.489791,1.128323],"trend_3bar":"ACCELERATING","projected_rvol":0.346166},"flow":{"window_s":30,"trades":105,"trade_rate":3.5,"buy_vol":9531.0,"sell_vol":4235.0,"unclassified_vol":0.0,"imbalance":0.384716,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.051839},"context":{"vwap":5.497805,"price_vs_vwap_pct":0.039929,"ema9":5.511551,"ema20":5.516521,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":2.906389,"atr":0.027526,"spread_atr":0.363299,"own_change_pct":-0.543971,"rel_strength_pct":{"SPY":-0.489502,"IWM":-0.357974}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.434084},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"73b0e0766e64","ts":"2026-08-28T14:11:25+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":4.9474,"target":5.14,"target_label":"ceiling","reward_risk":0.79,"pos_in_5d_range_pct":25.6,"room_to_5d_high_atr":1.52},"price":5.055,"vwap":5.0512,"ext_from_open_pct":-0.1,"max_ext_allowed_pct":3.0,"volume_pace":0.463,"trend":"flat","recent_slope_pct":0.1493,"volatility":"high"},"price":5.055,"volume":{"bars":41,"last_bar_volume":26312.0,"baseline_avg":36986.3,"bar_rvol":0.711399,"raw_accel":1.190112,"smooth_accel":-0.513781,"accel_momentum":0.191217,"rvol_3bar":[0.494334,0.30902,0.711399],"trend_3bar":"MIXED","projected_rvol":0.304588},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":2065.0,"sell_vol":2749.0,"unclassified_vol":0.0,"imbalance":-0.142086,"bid":5.05,"ask":5.06,"spread_pct":0.197824,"quote_size_imbalance":null,"quote_age_s":0.007251},"context":{"vwap":5.051147,"price_vs_vwap_pct":0.076277,"ema9":5.041328,"ema20":5.042638,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.653696,"dist_to_hod_atr":2.533497,"atr":0.03355,"spread_atr":0.298058,"own_change_pct":0.675972,"rel_strength_pct":{"SPY":0.730441,"IWM":0.86197}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.101079},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9a3e0183f3c0","ts":"2026-08-28T14:11:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.50 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4196,"target":5.57,"target_label":"prev_day_high","reward_risk":0.99,"pos_in_5d_range_pct":42.0,"room_to_5d_high_atr":1.67},"price":5.495,"vwap":5.4978,"ext_from_open_pct":2.71,"max_ext_allowed_pct":3.0,"volume_pace":1.205,"trend":"flat","recent_slope_pct":-0.1417,"volatility":"medium"},"price":5.495,"volume":{"bars":41,"last_bar_volume":76577.0,"baseline_avg":67868.0,"bar_rvol":1.128323,"raw_accel":1.243554,"smooth_accel":-0.319477,"accel_momentum":0.224589,"rvol_3bar":[0.257473,0.489791,1.128323],"trend_3bar":"ACCELERATING","projected_rvol":0.352007},"flow":{"window_s":30,"trades":83,"trade_rate":2.766667,"buy_vol":8426.0,"sell_vol":3519.0,"unclassified_vol":0.0,"imbalance":0.410799,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.003611},"context":{"vwap":5.497805,"price_vs_vwap_pct":-0.051017,"ema9":5.511551,"ema20":5.516521,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.523297,"dist_to_hod_atr":3.088039,"atr":0.027526,"spread_atr":0.363299,"own_change_pct":-0.543971,"rel_strength_pct":{"SPY":-0.489502,"IWM":-0.357974}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.463514},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8acf1a892c46","ts":"2026-08-28T14:11:45+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.4978,"ext_from_open_pct":2.8,"max_ext_allowed_pct":3.0,"volume_pace":1.201,"trend":"flat","recent_slope_pct":-0.1235,"volatility":"medium"},"price":5.5,"volume":{"bars":41,"last_bar_volume":76577.0,"baseline_avg":67868.0,"bar_rvol":1.128323,"raw_accel":1.243554,"smooth_accel":-0.319477,"accel_momentum":0.224589,"rvol_3bar":[0.257473,0.489791,1.128323],"trend_3bar":"ACCELERATING","projected_rvol":0.447909},"flow":{"window_s":30,"trades":86,"trade_rate":2.866667,"buy_vol":7371.0,"sell_vol":12376.0,"unclassified_vol":0.0,"imbalance":-0.253456,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":2.485828},"context":{"vwap":5.497805,"price_vs_vwap_pct":0.039929,"ema9":5.511551,"ema20":5.516521,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":2.906389,"atr":0.027526,"spread_atr":0.363299,"own_change_pct":-0.543971,"rel_strength_pct":{"SPY":-0.489502,"IWM":-0.357974}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":0,"accel":-2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.28598},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"90fb1c81aca1","ts":"2026-08-28T14:11:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.49 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4096,"target":5.57,"target_label":"prev_day_high","reward_risk":1.13,"pos_in_5d_range_pct":40.8,"room_to_5d_high_atr":1.71},"price":5.485,"vwap":5.4978,"ext_from_open_pct":2.52,"max_ext_allowed_pct":3.0,"volume_pace":1.201,"trend":"flat","recent_slope_pct":-0.1781,"volatility":"medium"},"price":5.485,"volume":{"bars":41,"last_bar_volume":76577.0,"baseline_avg":67868.0,"bar_rvol":1.128323,"raw_accel":1.243554,"smooth_accel":-0.319477,"accel_momentum":0.224589,"rvol_3bar":[0.257473,0.489791,1.128323],"trend_3bar":"ACCELERATING","projected_rvol":0.534384},"flow":{"window_s":30,"trades":111,"trade_rate":3.7,"buy_vol":9109.0,"sell_vol":16270.0,"unclassified_vol":0.0,"imbalance":-0.282162,"bid":5.48,"ask":5.49,"spread_pct":0.182315,"quote_size_imbalance":null,"quote_age_s":0.003541},"context":{"vwap":5.497805,"price_vs_vwap_pct":-0.232907,"ema9":5.511551,"ema20":5.516521,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.702509,"dist_to_hod_atr":3.451337,"atr":0.027526,"spread_atr":0.363299,"own_change_pct":-0.543971,"rel_strength_pct":{"SPY":-0.489502,"IWM":-0.357974}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":0,"accel":-2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.31837},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bf9cfdfa5dd4","ts":"2026-08-28T14:12:00+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.05 below VWAP $5.05","plan":{"state":"PASS","setup":"","stop":4.9424,"target":5.14,"target_label":"ceiling","reward_risk":0.84,"pos_in_5d_range_pct":25.0,"room_to_5d_high_atr":1.53},"price":5.05,"vwap":5.0512,"ext_from_open_pct":-0.2,"max_ext_allowed_pct":3.0,"volume_pace":0.457,"trend":"flat","recent_slope_pct":0.1295,"volatility":"high"},"price":5.05,"volume":{"bars":41,"last_bar_volume":26312.0,"baseline_avg":36986.3,"bar_rvol":0.711399,"raw_accel":1.190112,"smooth_accel":-0.513781,"accel_momentum":0.191217,"rvol_3bar":[0.494334,0.30902,0.711399],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":845.0,"sell_vol":944.0,"unclassified_vol":0.0,"imbalance":-0.055338,"bid":5.05,"ask":5.06,"spread_pct":0.197824,"quote_size_imbalance":null,"quote_age_s":3.693656},"context":{"vwap":5.051147,"price_vs_vwap_pct":-0.022711,"ema9":5.041328,"ema20":5.042638,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.750973,"dist_to_hod_atr":2.682526,"atr":0.03355,"spread_atr":0.298058,"own_change_pct":0.675972,"rel_strength_pct":{"SPY":0.724613,"IWM":0.799882}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.039367},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3e631f766283","ts":"2026-08-28T14:12:05+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"extended +10.0% above open $8.90 (max 4%: volume pace strong, buying normal)","plan":{"state":"WATCH","setup":"","stop":9.09,"target":11.79,"target_label":"range_20d_high","reward_risk":2.86,"pos_in_5d_range_pct":76.1,"room_to_5d_high_atr":1.44},"price":9.79,"vwap":9.2646,"ext_from_open_pct":10.0,"max_ext_allowed_pct":4.0,"volume_pace":15.271,"trend":"flat","recent_slope_pct":0.6323,"volatility":"high"},"price":9.79,"volume":{"bars":42,"last_bar_volume":108929.0,"baseline_avg":60875.85,"bar_rvol":1.789363,"raw_accel":-0.204729,"smooth_accel":0.565907,"accel_momentum":-0.165314,"rvol_3bar":[3.790957,2.518819,1.789363],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":361,"trade_rate":12.033333,"buy_vol":18599.0,"sell_vol":16943.0,"unclassified_vol":0.0,"imbalance":0.046593,"bid":9.78,"ask":9.85,"spread_pct":0.713194,"quote_size_imbalance":null,"quote_age_s":0.371118},"context":{"vwap":9.261221,"price_vs_vwap_pct":5.709606,"ema9":9.520226,"ema20":9.264108,"ema_stack":true,"ema_warm":true,"hod":9.92,"dist_to_hod_pct":-1.310484,"dist_to_hod_atr":0.471847,"atr":0.275513,"spread_atr":0.254071,"own_change_pct":3.628079,"rel_strength_pct":{"SPY":3.67672,"IWM":3.75199}},"vas":{"raw":2,"score":5.6,"components":{"rvol":1,"accel":2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.083371},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"93282a646e79","ts":"2026-08-28T14:12:20+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.9356,"target":8.53,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":0.96},"price":8.27,"vwap":8.2296,"ext_from_open_pct":0.3,"max_ext_allowed_pct":4.0,"volume_pace":0.784,"trend":"flat","recent_slope_pct":0.0303,"volatility":"high"},"price":8.27,"volume":{"bars":41,"last_bar_volume":103.0,"baseline_avg":11150.85,"bar_rvol":0.009237,"raw_accel":-0.990038,"smooth_accel":19.3213,"accel_momentum":19.402291,"rvol_3bar":[0.59493,0.927414,0.009237],"trend_3bar":"MIXED","projected_rvol":0.006726},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":25.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":37.52836},"context":{"vwap":8.229549,"price_vs_vwap_pct":0.491538,"ema9":8.259824,"ema20":8.25778,"ema_stack":true,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.241255,"dist_to_hod_atr":0.716066,"atr":0.02793,"spread_atr":0.716066,"own_change_pct":-0.121065,"rel_strength_pct":{"SPY":-0.072424,"IWM":0.002845}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.009237},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3b05f6ce7592","ts":"2026-08-28T14:12:30+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":4.9474,"target":5.14,"target_label":"ceiling","reward_risk":0.79,"pos_in_5d_range_pct":25.6,"room_to_5d_high_atr":1.52},"price":5.055,"vwap":5.0512,"ext_from_open_pct":-0.1,"max_ext_allowed_pct":3.0,"volume_pace":0.454,"trend":"flat","recent_slope_pct":0.0495,"volatility":"high"},"price":5.055,"volume":{"bars":42,"last_bar_volume":8035.0,"baseline_avg":33569.55,"bar_rvol":0.239354,"raw_accel":-0.694626,"smooth_accel":-0.585852,"accel_momentum":-0.072071,"rvol_3bar":[0.30902,0.711399,0.239354],"trend_3bar":"MIXED","projected_rvol":0.363961},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":4720.0,"sell_vol":1389.0,"unclassified_vol":0.0,"imbalance":0.545261,"bid":5.05,"ask":5.06,"spread_pct":0.197824,"quote_size_imbalance":null,"quote_age_s":0.177537},"context":{"vwap":5.051163,"price_vs_vwap_pct":0.075964,"ema9":5.043062,"ema20":5.04334,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.653696,"dist_to_hod_atr":2.573774,"atr":0.033025,"spread_atr":0.302797,"own_change_pct":0.297915,"rel_strength_pct":{"SPY":0.346556,"IWM":0.421825}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.13051},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c6e319c66c53","ts":"2026-08-28T14:13:30+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.05 below VWAP $5.05","plan":{"state":"PASS","setup":"","stop":4.9424,"target":5.14,"target_label":"ceiling","reward_risk":0.84,"pos_in_5d_range_pct":25.0,"room_to_5d_high_atr":1.53},"price":5.05,"vwap":5.0513,"ext_from_open_pct":-0.2,"max_ext_allowed_pct":3.0,"volume_pace":0.45,"trend":"flat","recent_slope_pct":0.0121,"volatility":"high"},"price":5.05,"volume":{"bars":43,"last_bar_volume":13958.0,"baseline_avg":29124.95,"bar_rvol":0.479245,"raw_accel":0.73715,"smooth_accel":0.326696,"accel_momentum":0.912548,"rvol_3bar":[0.711399,0.239354,0.479245],"trend_3bar":"MIXED","projected_rvol":0.924774},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":1734.0,"sell_vol":11733.0,"unclassified_vol":0.0,"imbalance":-0.742482,"bid":5.05,"ask":5.06,"spread_pct":0.197824,"quote_size_imbalance":null,"quote_age_s":0.09917},"context":{"vwap":5.05123,"price_vs_vwap_pct":-0.024342,"ema9":5.04745,"ema20":5.045402,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.750973,"dist_to_hod_atr":2.804171,"atr":0.032095,"spread_atr":0.311575,"own_change_pct":0.860249,"rel_strength_pct":{"SPY":0.896571,"IWM":0.895488}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.355831},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"287eab1e4d46","ts":"2026-08-28T14:13:45+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.9156,"target":8.53,"target_label":"premarket_high","reward_risk":0.84,"pos_in_5d_range_pct":46.3,"room_to_5d_high_atr":0.97},"price":8.25,"vwap":8.2296,"ext_from_open_pct":0.06,"max_ext_allowed_pct":3.0,"volume_pace":0.759,"trend":"flat","recent_slope_pct":-0.0242,"volatility":"high"},"price":8.25,"volume":{"bars":42,"last_bar_volume":27.0,"baseline_avg":11076.55,"bar_rvol":0.002438,"raw_accel":-0.99025,"smooth_accel":0.501578,"accel_momentum":-18.819722,"rvol_3bar":[0.927414,0.009237,0.002438],"trend_3bar":"DECELERATING","projected_rvol":0.000602},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":0.0,"sell_vol":5.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":9.682612},"context":{"vwap":8.22955,"price_vs_vwap_pct":0.24849,"ema9":8.259859,"ema20":8.257991,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.482509,"dist_to_hod_atr":1.461779,"atr":0.027364,"spread_atr":0.73089,"own_change_pct":-0.060496,"rel_strength_pct":{"SPY":-0.024174,"IWM":-0.025258}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.002438},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"6df2af0d5ab2","ts":"2026-08-28T14:13:45+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":4.9474,"target":5.14,"target_label":"ceiling","reward_risk":0.79,"pos_in_5d_range_pct":25.6,"room_to_5d_high_atr":1.52},"price":5.055,"vwap":5.0513,"ext_from_open_pct":-0.1,"max_ext_allowed_pct":3.0,"volume_pace":0.448,"trend":"flat","recent_slope_pct":0.0319,"volatility":"high"},"price":5.055,"volume":{"bars":43,"last_bar_volume":13958.0,"baseline_avg":29124.95,"bar_rvol":0.479245,"raw_accel":0.73715,"smooth_accel":0.326696,"accel_momentum":0.912548,"rvol_3bar":[0.711399,0.239354,0.479245],"trend_3bar":"MIXED","projected_rvol":0.778668},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":2119.0,"sell_vol":13222.0,"unclassified_vol":0.0,"imbalance":-0.723747,"bid":5.05,"ask":5.06,"spread_pct":0.197824,"quote_size_imbalance":null,"quote_age_s":1.306262},"context":{"vwap":5.05123,"price_vs_vwap_pct":0.074644,"ema9":5.04745,"ema20":5.045402,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.653696,"dist_to_hod_atr":2.648384,"atr":0.032095,"spread_atr":0.311575,"own_change_pct":0.860249,"rel_strength_pct":{"SPY":0.896571,"IWM":0.895488}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.346852},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ae08b27747c7","ts":"2026-08-28T14:13:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.4979,"ext_from_open_pct":2.8,"max_ext_allowed_pct":4.0,"volume_pace":1.182,"trend":"flat","recent_slope_pct":-0.0036,"volatility":"medium"},"price":5.5,"volume":{"bars":43,"last_bar_volume":63004.0,"baseline_avg":68139.55,"bar_rvol":0.924632,"raw_accel":0.926728,"smooth_accel":0.967756,"accel_momentum":0.589513,"rvol_3bar":[1.128323,0.478546,0.924632],"trend_3bar":"MIXED","projected_rvol":1.061458},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":25671.0,"sell_vol":29455.0,"unclassified_vol":0.0,"imbalance":-0.068643,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.485987},"context":{"vwap":5.497827,"price_vs_vwap_pct":0.039523,"ema9":5.505793,"ema20":5.512662,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":2.896933,"atr":0.027615,"spread_atr":0.362117,"own_change_pct":-0.344265,"rel_strength_pct":{"SPY":-0.307944,"IWM":-0.309027}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.063469},"shadow":{"decision":"FAIL","failed":["imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"688a2f4c5f08","ts":"2026-08-28T14:14:10+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.9156,"target":8.53,"target_label":"premarket_high","reward_risk":0.84,"pos_in_5d_range_pct":46.3,"room_to_5d_high_atr":0.97},"price":8.25,"vwap":8.2296,"ext_from_open_pct":0.06,"max_ext_allowed_pct":3.0,"volume_pace":0.752,"trend":"flat","recent_slope_pct":-0.0484,"volatility":"high"},"price":8.25,"volume":{"bars":43,"last_bar_volume":5.0,"baseline_avg":11077.15,"bar_rvol":0.000451,"raw_accel":-0.998194,"smooth_accel":-0.992168,"accel_momentum":-1.493745,"rvol_3bar":[0.009237,0.002438,0.000451],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":0.0,"sell_vol":104.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":34.682612},"context":{"vwap":8.229551,"price_vs_vwap_pct":0.248488,"ema9":8.257887,"ema20":8.25723,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.482509,"dist_to_hod_atr":1.531181,"atr":0.026124,"spread_atr":0.76559,"own_change_pct":-0.060569,"rel_strength_pct":{"SPY":0.115094,"IWM":0.227586}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.000451},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"168b11dbe13e","ts":"2026-08-28T14:14:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.49 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4146,"target":5.57,"target_label":"prev_day_high","reward_risk":1.06,"pos_in_5d_range_pct":41.4,"room_to_5d_high_atr":1.69},"price":5.49,"vwap":5.4979,"ext_from_open_pct":2.62,"max_ext_allowed_pct":3.0,"volume_pace":1.181,"trend":"flat","recent_slope_pct":0.0364,"volatility":"medium"},"price":5.49,"volume":{"bars":44,"last_bar_volume":77120.0,"baseline_avg":68384.6,"bar_rvol":1.127739,"raw_accel":0.224049,"smooth_accel":0.323034,"accel_momentum":-0.644722,"rvol_3bar":[0.478546,0.924632,1.127739],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":114,"trade_rate":3.8,"buy_vol":22857.0,"sell_vol":9796.0,"unclassified_vol":0.0,"imbalance":0.399994,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.154039},"context":{"vwap":5.497868,"price_vs_vwap_pct":-0.143103,"ema9":5.504634,"ema20":5.511457,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.612903,"dist_to_hod_atr":3.324535,"atr":0.027071,"spread_atr":0.369393,"own_change_pct":-0.271985,"rel_strength_pct":{"SPY":-0.096322,"IWM":0.01617}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.451089},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2efae99293ca","ts":"2026-08-28T14:14:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4241,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.4995,"vwap":5.4979,"ext_from_open_pct":2.79,"max_ext_allowed_pct":3.0,"volume_pace":1.18,"trend":"flat","recent_slope_pct":0.071,"volatility":"medium"},"price":5.4995,"volume":{"bars":44,"last_bar_volume":77120.0,"baseline_avg":68384.6,"bar_rvol":1.127739,"raw_accel":0.224049,"smooth_accel":0.323034,"accel_momentum":-0.644722,"rvol_3bar":[0.478546,0.924632,1.127739],"trend_3bar":"ACCELERATING","projected_rvol":0.895757},"flow":{"window_s":30,"trades":119,"trade_rate":3.966667,"buy_vol":23090.0,"sell_vol":14896.0,"unclassified_vol":0.0,"imbalance":0.215711,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.146413},"context":{"vwap":5.497868,"price_vs_vwap_pct":0.029691,"ema9":5.504634,"ema20":5.511457,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.442652,"dist_to_hod_atr":2.973612,"atr":0.027071,"spread_atr":0.369393,"own_change_pct":-0.271985,"rel_strength_pct":{"SPY":-0.096322,"IWM":0.01617}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.243266},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"446cc8ffca63","ts":"2026-08-28T14:14:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.50 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4196,"target":5.57,"target_label":"prev_day_high","reward_risk":0.99,"pos_in_5d_range_pct":42.0,"room_to_5d_high_atr":1.67},"price":5.495,"vwap":5.4979,"ext_from_open_pct":2.71,"max_ext_allowed_pct":3.0,"volume_pace":1.178,"trend":"flat","recent_slope_pct":0.0546,"volatility":"medium"},"price":5.495,"volume":{"bars":44,"last_bar_volume":77120.0,"baseline_avg":68384.6,"bar_rvol":1.127739,"raw_accel":0.224049,"smooth_accel":0.323034,"accel_momentum":-0.644722,"rvol_3bar":[0.478546,0.924632,1.127739],"trend_3bar":"ACCELERATING","projected_rvol":0.688137},"flow":{"window_s":30,"trades":122,"trade_rate":4.066667,"buy_vol":13224.0,"sell_vol":14514.0,"unclassified_vol":0.0,"imbalance":-0.046507,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.187122},"context":{"vwap":5.497868,"price_vs_vwap_pct":-0.052159,"ema9":5.504634,"ema20":5.511457,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.523297,"dist_to_hod_atr":3.139839,"atr":0.027071,"spread_atr":0.369393,"own_change_pct":-0.271985,"rel_strength_pct":{"SPY":-0.096322,"IWM":0.01617}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.052447},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bab14981a509","ts":"2026-08-28T14:14:45+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.4979,"ext_from_open_pct":2.8,"max_ext_allowed_pct":4.0,"volume_pace":1.168,"trend":"flat","recent_slope_pct":0.0728,"volatility":"medium"},"price":5.5,"volume":{"bars":44,"last_bar_volume":77120.0,"baseline_avg":68384.6,"bar_rvol":1.127739,"raw_accel":0.224049,"smooth_accel":0.323034,"accel_momentum":-0.644722,"rvol_3bar":[0.478546,0.924632,1.127739],"trend_3bar":"ACCELERATING","projected_rvol":0.380164},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":3573.0,"sell_vol":611.0,"unclassified_vol":0.0,"imbalance":0.707935,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.399583},"context":{"vwap":5.497868,"price_vs_vwap_pct":0.038785,"ema9":5.504634,"ema20":5.511457,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":2.955143,"atr":0.027071,"spread_atr":0.369393,"own_change_pct":-0.271985,"rel_strength_pct":{"SPY":-0.096322,"IWM":0.01617}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.798366},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4bbd99329784","ts":"2026-08-28T14:14:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.50 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4196,"target":5.57,"target_label":"prev_day_high","reward_risk":0.99,"pos_in_5d_range_pct":42.0,"room_to_5d_high_atr":1.67},"price":5.495,"vwap":5.4979,"ext_from_open_pct":2.71,"max_ext_allowed_pct":4.0,"volume_pace":1.166,"trend":"flat","recent_slope_pct":0.0546,"volatility":"medium"},"price":5.495,"volume":{"bars":44,"last_bar_volume":77120.0,"baseline_avg":68384.6,"bar_rvol":1.127739,"raw_accel":0.224049,"smooth_accel":0.323034,"accel_momentum":-0.644722,"rvol_3bar":[0.478546,0.924632,1.127739],"trend_3bar":"ACCELERATING","projected_rvol":0.346868},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":3388.0,"sell_vol":693.0,"unclassified_vol":0.0,"imbalance":0.660377,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":1.887947},"context":{"vwap":5.497868,"price_vs_vwap_pct":-0.052159,"ema9":5.504634,"ema20":5.511457,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.523297,"dist_to_hod_atr":3.139839,"atr":0.027071,"spread_atr":0.369393,"own_change_pct":-0.271985,"rel_strength_pct":{"SPY":-0.096322,"IWM":0.01617}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.744733},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c6124b662e7b","ts":"2026-08-28T14:14:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.4979,"ext_from_open_pct":2.8,"max_ext_allowed_pct":3.0,"volume_pace":1.164,"trend":"flat","recent_slope_pct":0.0728,"volatility":"medium"},"price":5.5,"volume":{"bars":44,"last_bar_volume":77120.0,"baseline_avg":68384.6,"bar_rvol":1.127739,"raw_accel":0.224049,"smooth_accel":0.323034,"accel_momentum":-0.644722,"rvol_3bar":[0.478546,0.924632,1.127739],"trend_3bar":"ACCELERATING","projected_rvol":0.322082},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":3384.0,"sell_vol":894.0,"unclassified_vol":0.0,"imbalance":0.582048,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.27033},"context":{"vwap":5.497868,"price_vs_vwap_pct":0.038785,"ema9":5.504634,"ema20":5.511457,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":2.955143,"atr":0.027071,"spread_atr":0.369393,"own_change_pct":-0.271985,"rel_strength_pct":{"SPY":-0.096322,"IWM":0.01617}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.656398},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"50bb653bc2d0","ts":"2026-08-28T14:15:00+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.50 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4196,"target":5.57,"target_label":"prev_day_high","reward_risk":0.99,"pos_in_5d_range_pct":42.0,"room_to_5d_high_atr":1.67},"price":5.495,"vwap":5.4979,"ext_from_open_pct":2.71,"max_ext_allowed_pct":4.0,"volume_pace":1.165,"trend":"flat","recent_slope_pct":0.0546,"volatility":"medium"},"price":5.495,"volume":{"bars":44,"last_bar_volume":77120.0,"baseline_avg":68384.6,"bar_rvol":1.127739,"raw_accel":0.224049,"smooth_accel":0.323034,"accel_momentum":-0.644722,"rvol_3bar":[0.478546,0.924632,1.127739],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":12294.0,"sell_vol":2003.0,"unclassified_vol":0.0,"imbalance":0.719801,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.003443},"context":{"vwap":5.497868,"price_vs_vwap_pct":-0.052159,"ema9":5.504634,"ema20":5.511457,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.523297,"dist_to_hod_atr":3.139839,"atr":0.027071,"spread_atr":0.369393,"own_change_pct":-0.271985,"rel_strength_pct":{"SPY":-0.1786,"IWM":-0.100902}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.811748},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"673799386430","ts":"2026-08-28T14:15:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.4979,"ext_from_open_pct":2.8,"max_ext_allowed_pct":4.0,"volume_pace":1.166,"trend":"flat","recent_slope_pct":0.0273,"volatility":"medium"},"price":5.5,"volume":{"bars":45,"last_bar_volume":31368.0,"baseline_avg":66435.95,"bar_rvol":0.472154,"raw_accel":-0.593257,"smooth_accel":0.195825,"accel_momentum":-0.12721,"rvol_3bar":[0.924632,1.127739,0.472154],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":99,"trade_rate":3.3,"buy_vol":20979.0,"sell_vol":2632.0,"unclassified_vol":0.0,"imbalance":0.777053,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.218116},"context":{"vwap":5.497871,"price_vs_vwap_pct":0.038721,"ema9":5.502707,"ema20":5.509889,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":3.011329,"atr":0.026566,"spread_atr":0.376416,"own_change_pct":-0.245076,"rel_strength_pct":{"SPY":-0.151691,"IWM":-0.073992}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.366889},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"52d68044ca10","ts":"2026-08-28T14:15:45+00:00","symbol":"KLAR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":14.2,"target":15.07,"target_label":"ceiling","reward_risk":0.24,"pos_in_5d_range_pct":132.9,"room_to_5d_high_atr":-0.23},"price":14.9,"vwap":14.8682,"ext_from_open_pct":-0.13,"max_ext_allowed_pct":4.0,"volume_pace":5.128,"trend":"flat","recent_slope_pct":0.0504,"volatility":"high"},"price":14.9,"volume":{"bars":45,"last_bar_volume":22362.0,"baseline_avg":32951.85,"bar_rvol":0.678627,"raw_accel":0.570696,"smooth_accel":-0.326611,"accel_momentum":0.29411,"rvol_3bar":[0.571905,0.40089,0.678627],"trend_3bar":"MIXED","projected_rvol":0.883228},"flow":{"window_s":30,"trades":154,"trade_rate":5.133333,"buy_vol":14593.0,"sell_vol":4364.0,"unclassified_vol":0.0,"imbalance":0.53959,"bid":14.9,"ask":14.92,"spread_pct":0.134138,"quote_size_imbalance":null,"quote_age_s":0.490259},"context":{"vwap":14.86803,"price_vs_vwap_pct":0.215023,"ema9":14.854892,"ema20":14.856676,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.128069,"dist_to_hod_atr":1.205479,"atr":0.141023,"spread_atr":0.141821,"own_change_pct":0.054502,"rel_strength_pct":{"SPY":0.147887,"IWM":0.225585}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.36618},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"67c495e60632","ts":"2026-08-28T14:15:45+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4396,"target":5.57,"target_label":"prev_day_high","reward_risk":0.73,"pos_in_5d_range_pct":44.3,"room_to_5d_high_atr":1.61},"price":5.515,"vwap":5.4986,"ext_from_open_pct":3.08,"max_ext_allowed_pct":3.0,"volume_pace":1.243,"trend":"flat","recent_slope_pct":0.0818,"volatility":"medium"},"price":5.515,"volume":{"bars":45,"last_bar_volume":31368.0,"baseline_avg":66435.95,"bar_rvol":0.472154,"raw_accel":-0.593257,"smooth_accel":0.195825,"accel_momentum":-0.12721,"rvol_3bar":[0.924632,1.127739,0.472154],"trend_3bar":"MIXED","projected_rvol":7.061639},"flow":{"window_s":30,"trades":95,"trade_rate":3.166667,"buy_vol":13668.0,"sell_vol":327093.0,"unclassified_vol":0.0,"imbalance":-0.91978,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.583356},"context":{"vwap":5.497871,"price_vs_vwap_pct":0.311554,"ema9":5.502707,"ema20":5.509889,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.164875,"dist_to_hod_atr":2.446704,"atr":0.026566,"spread_atr":0.376416,"own_change_pct":-0.245076,"rel_strength_pct":{"SPY":-0.151691,"IWM":-0.073992}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.434278},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ef5c5704b1f2","ts":"2026-08-28T14:15:50+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.46 below VWAP $9.52","plan":{"state":"PASS","setup":"","stop":9.09,"target":9.68,"target_label":"premarket_high","reward_risk":0.61,"pos_in_5d_range_pct":72.2,"room_to_5d_high_atr":1.68},"price":9.457,"vwap":9.5202,"ext_from_open_pct":6.26,"max_ext_allowed_pct":4.0,"volume_pace":21.428,"trend":"flat","recent_slope_pct":-0.4082,"volatility":"high"},"price":9.457,"volume":{"bars":45,"last_bar_volume":221531.0,"baseline_avg":88929.05,"bar_rvol":2.491098,"raw_accel":-0.274744,"smooth_accel":0.639785,"accel_momentum":0.184288,"rvol_3bar":[2.432227,4.113092,2.491098],"trend_3bar":"MIXED","projected_rvol":2.589844},"flow":{"window_s":30,"trades":1102,"trade_rate":36.733333,"buy_vol":35944.0,"sell_vol":54603.0,"unclassified_vol":0.0,"imbalance":-0.20607,"bid":9.45,"ask":9.49,"spread_pct":0.422386,"quote_size_imbalance":null,"quote_age_s":0.475035},"context":{"vwap":9.509101,"price_vs_vwap_pct":-0.547902,"ema9":9.80786,"ema20":9.482154,"ema_stack":false,"ema_warm":true,"hod":10.46,"dist_to_hod_pct":-9.58891,"dist_to_hod_atr":3.169625,"atr":0.316441,"spread_atr":0.126406,"own_change_pct":3.071575,"rel_strength_pct":{"SPY":3.16496,"IWM":3.242658}},"vas":{"raw":5,"score":7.5,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.51334},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"55bc9a197340","ts":"2026-08-28T14:15:50+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4396,"target":5.57,"target_label":"prev_day_high","reward_risk":0.73,"pos_in_5d_range_pct":44.3,"room_to_5d_high_atr":1.61},"price":5.515,"vwap":5.4986,"ext_from_open_pct":3.08,"max_ext_allowed_pct":4.0,"volume_pace":1.241,"trend":"flat","recent_slope_pct":0.0818,"volatility":"medium"},"price":5.515,"volume":{"bars":45,"last_bar_volume":31368.0,"baseline_avg":66435.95,"bar_rvol":0.472154,"raw_accel":-0.593257,"smooth_accel":0.195825,"accel_momentum":-0.12721,"rvol_3bar":[0.924632,1.127739,0.472154],"trend_3bar":"MIXED","projected_rvol":6.358744},"flow":{"window_s":30,"trades":93,"trade_rate":3.1,"buy_vol":13763.0,"sell_vol":327071.0,"unclassified_vol":0.0,"imbalance":-0.919239,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.052106},"context":{"vwap":5.497871,"price_vs_vwap_pct":0.311554,"ema9":5.502707,"ema20":5.509889,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.164875,"dist_to_hod_atr":2.446704,"atr":0.026566,"spread_atr":0.376416,"own_change_pct":-0.245076,"rel_strength_pct":{"SPY":-0.151691,"IWM":-0.073992}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.434023},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b78327ff7112","ts":"2026-08-28T14:15:55+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"extended +8.3% above open $8.90 (max 4%: volume pace strong, buying normal)","plan":{"state":"WATCH","setup":"","stop":9.09,"target":9.68,"target_label":"premarket_high","reward_risk":0.07,"pos_in_5d_range_pct":74.4,"room_to_5d_high_atr":1.55},"price":9.64,"vwap":9.5263,"ext_from_open_pct":8.31,"max_ext_allowed_pct":4.0,"volume_pace":21.557,"trend":"flat","recent_slope_pct":-0.0382,"volatility":"high"},"price":9.64,"volume":{"bars":45,"last_bar_volume":221531.0,"baseline_avg":88929.05,"bar_rvol":2.491098,"raw_accel":-0.274744,"smooth_accel":0.639785,"accel_momentum":0.184288,"rvol_3bar":[2.432227,4.113092,2.491098],"trend_3bar":"MIXED","projected_rvol":2.595945},"flow":{"window_s":30,"trades":1274,"trade_rate":42.466667,"buy_vol":44020.0,"sell_vol":58496.0,"unclassified_vol":0.0,"imbalance":-0.141207,"bid":9.64,"ask":9.65,"spread_pct":0.103681,"quote_size_imbalance":null,"quote_age_s":0.075369},"context":{"vwap":9.509101,"price_vs_vwap_pct":1.376571,"ema9":9.80786,"ema20":9.482154,"ema_stack":false,"ema_warm":true,"hod":10.46,"dist_to_hod_pct":-7.839388,"dist_to_hod_atr":2.591319,"atr":0.316441,"spread_atr":0.031601,"own_change_pct":3.071575,"rel_strength_pct":{"SPY":3.16496,"IWM":3.242658}},"vas":{"raw":5,"score":7.5,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.351761},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"07a7bcd855b9","ts":"2026-08-28T14:17:05+00:00","symbol":"KLAR","event":"WAIT","bot":{"state":"WAIT","reason":"held 80.0s, plan says WATCH; stop 14.68, target 15.07 (ceiling), R:R 0.47; R:R 0.47 < 2.0 at 14.95; pullback: buy 14.82-14.88 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":14.6801,"target":15.07,"target_label":"ceiling","reward_risk":0.47,"pos_in_5d_range_pct":139.0,"room_to_5d_high_atr":-0.27},"price":14.945,"vwap":14.8697,"ext_from_open_pct":0.17,"max_ext_allowed_pct":5.0,"volume_pace":5.131,"trend":"flat","recent_slope_pct":0.1913,"volatility":"high"},"price":14.945,"volume":{"bars":47,"last_bar_volume":108316.0,"baseline_avg":29327.2,"bar_rvol":3.693363,"raw_accel":2.709198,"smooth_accel":2.31488,"accel_momentum":2.208907,"rvol_3bar":[0.678627,0.950606,3.693363],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":197,"trade_rate":6.566667,"buy_vol":17008.0,"sell_vol":6477.0,"unclassified_vol":0.0,"imbalance":0.448414,"bid":14.94,"ask":14.95,"spread_pct":0.066912,"quote_size_imbalance":null,"quote_age_s":4.494442},"context":{"vwap":14.869694,"price_vs_vwap_pct":0.506436,"ema9":14.880131,"ema20":14.868821,"ema_stack":true,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-0.829463,"dist_to_hod_atr":0.9474,"atr":0.13194,"spread_atr":0.075792,"own_change_pct":0.572005,"rel_strength_pct":{"SPY":0.562247,"IWM":0.489744}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.656155},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"104b7bd5e209","ts":"2026-08-28T14:17:45+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.4988,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.221,"trend":"flat","recent_slope_pct":0.1176,"volatility":"medium"},"price":5.52,"volume":{"bars":47,"last_bar_volume":75766.0,"baseline_avg":70894.7,"bar_rvol":1.068712,"raw_accel":-0.78938,"smooth_accel":1.701378,"accel_momentum":-0.016374,"rvol_3bar":[0.472154,5.622734,1.068712],"trend_3bar":"MIXED","projected_rvol":0.579526},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":21630.0,"sell_vol":2109.0,"unclassified_vol":0.0,"imbalance":0.822318,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.288648},"context":{"vwap":5.498716,"price_vs_vwap_pct":0.387069,"ema9":5.506493,"ema20":5.510412,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.289001,"atr":0.026212,"spread_atr":0.3815,"own_change_pct":0.542805,"rel_strength_pct":{"SPY":0.533046,"IWM":0.460543}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":3,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.878821},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0d7d459c3003","ts":"2026-08-28T14:18:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4471,"target":5.57,"target_label":"prev_day_high","reward_risk":0.63,"pos_in_5d_range_pct":45.1,"room_to_5d_high_atr":1.58},"price":5.5225,"vwap":5.499,"ext_from_open_pct":3.22,"max_ext_allowed_pct":4.0,"volume_pace":1.224,"trend":"flat","recent_slope_pct":0.1292,"volatility":"medium"},"price":5.5225,"volume":{"bars":48,"last_bar_volume":74845.0,"baseline_avg":73195.85,"bar_rvol":1.022531,"raw_accel":-0.012156,"smooth_accel":1.975882,"accel_momentum":0.274504,"rvol_3bar":[5.622734,1.068712,1.022531],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":124,"trade_rate":4.133333,"buy_vol":25214.0,"sell_vol":25320.0,"unclassified_vol":0.0,"imbalance":-0.002098,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":3.497748},"context":{"vwap":5.49902,"price_vs_vwap_pct":0.426983,"ema9":5.509434,"ema20":5.511439,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.030466,"dist_to_hod_atr":2.199093,"atr":0.026147,"spread_atr":0.382451,"own_change_pct":0.385455,"rel_strength_pct":{"SPY":0.317976,"IWM":0.259559}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.002145},"shadow":{"decision":"FAIL","failed":["imbalance","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"7f3a78a8cc5a","ts":"2026-08-28T14:18:25+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.499,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.217,"trend":"flat","recent_slope_pct":0.1201,"volatility":"medium"},"price":5.52,"volume":{"bars":48,"last_bar_volume":74845.0,"baseline_avg":73195.85,"bar_rvol":1.022531,"raw_accel":-0.012156,"smooth_accel":1.975882,"accel_momentum":0.274504,"rvol_3bar":[5.622734,1.068712,1.022531],"trend_3bar":"DECELERATING","projected_rvol":0.155714},"flow":{"window_s":30,"trades":75,"trade_rate":2.5,"buy_vol":15725.0,"sell_vol":26368.0,"unclassified_vol":0.0,"imbalance":-0.252845,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.024583},"context":{"vwap":5.49902,"price_vs_vwap_pct":0.38152,"ema9":5.509434,"ema20":5.511439,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.294706,"atr":0.026147,"spread_atr":0.382451,"own_change_pct":0.385455,"rel_strength_pct":{"SPY":0.317976,"IWM":0.259559}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.258542},"shadow":{"decision":"FAIL","failed":["imbalance","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"e01a1c6f7475","ts":"2026-08-28T14:18:25+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":5.0426,"target":5.1793,"target_label":"ceiling","reward_risk":0.66,"pos_in_5d_range_pct":48.5,"room_to_5d_high_atr":1.05},"price":5.125,"vwap":5.1199,"ext_from_open_pct":1.89,"max_ext_allowed_pct":4.0,"volume_pace":1.359,"trend":"flat","recent_slope_pct":0.1508,"volatility":"high"},"price":5.125,"volume":{"bars":48,"last_bar_volume":1707.0,"baseline_avg":1216.65,"bar_rvol":1.403033,"raw_accel":0.729483,"smooth_accel":-0.092755,"accel_momentum":0.505562,"rvol_3bar":[1.019811,0.806603,1.403033],"trend_3bar":"MIXED","projected_rvol":0.323511},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":849.0,"sell_vol":110.0,"unclassified_vol":0.0,"imbalance":0.770594,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":1.35424},"context":{"vwap":5.119943,"price_vs_vwap_pct":0.098777,"ema9":5.105249,"ema20":5.103571,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.048404,"dist_to_hod_atr":3.352826,"atr":0.016195,"spread_atr":0.617463,"own_change_pct":0.334966,"rel_strength_pct":{"SPY":0.267487,"IWM":0.20907}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.081169},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"12e8e81f1ecb","ts":"2026-08-28T14:19:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.4992,"ext_from_open_pct":3.36,"max_ext_allowed_pct":4.0,"volume_pace":1.21,"trend":"flat","recent_slope_pct":0.1563,"volatility":"medium"},"price":5.53,"volume":{"bars":48,"last_bar_volume":74845.0,"baseline_avg":73195.85,"bar_rvol":1.022531,"raw_accel":-0.012156,"smooth_accel":1.975882,"accel_momentum":0.274504,"rvol_3bar":[5.622734,1.068712,1.022531],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":88,"trade_rate":2.933333,"buy_vol":15778.0,"sell_vol":12377.0,"unclassified_vol":0.0,"imbalance":0.120796,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.003262},"context":{"vwap":5.49902,"price_vs_vwap_pct":0.563371,"ema9":5.509434,"ema20":5.511439,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":1.912255,"atr":0.026147,"spread_atr":0.382451,"own_change_pct":0.385455,"rel_strength_pct":{"SPY":0.213378,"IWM":0.187195}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.123517},"shadow":{"decision":"FAIL","failed":["not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"45e7a51905d6","ts":"2026-08-28T14:19:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.4% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.4993,"ext_from_open_pct":3.36,"max_ext_allowed_pct":3.0,"volume_pace":1.205,"trend":"flat","recent_slope_pct":0.109,"volatility":"medium"},"price":5.53,"volume":{"bars":49,"last_bar_volume":33896.0,"baseline_avg":67182.8,"bar_rvol":0.504534,"raw_accel":-0.547117,"smooth_accel":-0.605937,"accel_momentum":-2.581819,"rvol_3bar":[1.068712,1.022531,0.504534],"trend_3bar":"DECELERATING","projected_rvol":0.54965},"flow":{"window_s":30,"trades":138,"trade_rate":4.6,"buy_vol":20294.0,"sell_vol":15735.0,"unclassified_vol":0.0,"imbalance":0.126537,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.74124},"context":{"vwap":5.499184,"price_vs_vwap_pct":0.560381,"ema9":5.513547,"ema20":5.513207,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":1.919318,"atr":0.026051,"spread_atr":0.383864,"own_change_pct":0.545455,"rel_strength_pct":{"SPY":0.373378,"IWM":0.347195}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.063842},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"dae19d2ecdd9","ts":"2026-08-28T14:19:25+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"held 340.0s, plan says WATCH; stop 5.00, target 5.18 (premarket_high), R:R 0.70; R:R 0.70 < 2.0 at 5.11; breakout: 1-min close > 5.15 on >= 49934 sh","plan":{"state":"WATCH","setup":"","stop":4.9974,"target":5.18,"target_label":"premarket_high","reward_risk":0.7,"pos_in_5d_range_pct":31.3,"room_to_5d_high_atr":1.4},"price":5.105,"vwap":5.0536,"ext_from_open_pct":0.89,"max_ext_allowed_pct":4.0,"volume_pace":0.432,"trend":"flat","recent_slope_pct":0.1792,"volatility":"high"},"price":5.105,"volume":{"bars":49,"last_bar_volume":44016.0,"baseline_avg":23938.2,"bar_rvol":1.838735,"raw_accel":6.354939,"smooth_accel":-0.217897,"accel_momentum":0.1914,"rvol_3bar":[0.323315,0.200419,1.838735],"trend_3bar":"MIXED","projected_rvol":2.133093},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":19260.0,"sell_vol":2319.0,"unclassified_vol":0.0,"imbalance":0.785069,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.040534},"context":{"vwap":5.053108,"price_vs_vwap_pct":1.026929,"ema9":5.07146,"ema20":5.060307,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.680934,"dist_to_hod_atr":1.22454,"atr":0.028582,"spread_atr":0.349869,"own_change_pct":0.414283,"rel_strength_pct":{"SPY":0.242206,"IWM":0.216024}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.443533},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0ca42082de7a","ts":"2026-08-28T14:19:35+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"held 350.0s, plan says PASS; stop 4.99, target 5.14 (ceiling), R:R 0.37; R:R 0.37 < 2.0 at 5.10; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":4.9924,"target":5.14,"target_label":"ceiling","reward_risk":0.37,"pos_in_5d_range_pct":30.7,"room_to_5d_high_atr":1.41},"price":5.1,"vwap":5.0536,"ext_from_open_pct":0.79,"max_ext_allowed_pct":4.0,"volume_pace":0.43,"trend":"flat","recent_slope_pct":0.1595,"volatility":"high"},"price":5.1,"volume":{"bars":49,"last_bar_volume":44016.0,"baseline_avg":23938.2,"bar_rvol":1.838735,"raw_accel":6.354939,"smooth_accel":-0.217897,"accel_momentum":0.1914,"rvol_3bar":[0.323315,0.200419,1.838735],"trend_3bar":"MIXED","projected_rvol":1.525858},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":18788.0,"sell_vol":1949.0,"unclassified_vol":0.0,"imbalance":0.812027,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.792347},"context":{"vwap":5.053108,"price_vs_vwap_pct":0.92798,"ema9":5.07146,"ema20":5.060307,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.77821,"dist_to_hod_atr":1.399474,"atr":0.028582,"spread_atr":0.349869,"own_change_pct":0.414283,"rel_strength_pct":{"SPY":0.242206,"IWM":0.216024}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.493102},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c485c2a17127","ts":"2026-08-28T14:19:40+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"held 355.0s, plan says WATCH; stop 5.00, target 5.18 (premarket_high), R:R 0.64; R:R 0.64 < 2.0 at 5.11; breakout: 1-min close > 5.15 on >= 49934 sh","plan":{"state":"WATCH","setup":"","stop":5.0,"target":5.18,"target_label":"premarket_high","reward_risk":0.64,"pos_in_5d_range_pct":31.9,"room_to_5d_high_atr":1.39},"price":5.11,"vwap":5.0537,"ext_from_open_pct":0.99,"max_ext_allowed_pct":4.0,"volume_pace":0.43,"trend":"flat","recent_slope_pct":0.1988,"volatility":"high"},"price":5.11,"volume":{"bars":49,"last_bar_volume":44016.0,"baseline_avg":23938.2,"bar_rvol":1.838735,"raw_accel":6.354939,"smooth_accel":-0.217897,"accel_momentum":0.1914,"rvol_3bar":[0.323315,0.200419,1.838735],"trend_3bar":"MIXED","projected_rvol":1.381683},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":18828.0,"sell_vol":833.0,"unclassified_vol":0.0,"imbalance":0.915264,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.06862},"context":{"vwap":5.053108,"price_vs_vwap_pct":1.125878,"ema9":5.07146,"ema20":5.060307,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.583658,"dist_to_hod_atr":1.049606,"atr":0.028582,"spread_atr":0.349869,"own_change_pct":0.414283,"rel_strength_pct":{"SPY":0.242206,"IWM":0.216024}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.682927},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"addb362adc8d","ts":"2026-08-28T14:19:45+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4323,"target":5.57,"target_label":"prev_day_high","reward_risk":0.83,"pos_in_5d_range_pct":43.4,"room_to_5d_high_atr":1.63},"price":5.5077,"vwap":5.4994,"ext_from_open_pct":2.95,"max_ext_allowed_pct":3.0,"volume_pace":1.203,"trend":"flat","recent_slope_pct":0.0283,"volatility":"medium"},"price":5.5077,"volume":{"bars":49,"last_bar_volume":33896.0,"baseline_avg":67182.8,"bar_rvol":0.504534,"raw_accel":-0.547117,"smooth_accel":-0.605937,"accel_momentum":-2.581819,"rvol_3bar":[1.068712,1.022531,0.504534],"trend_3bar":"DECELERATING","projected_rvol":0.897075},"flow":{"window_s":30,"trades":105,"trade_rate":3.5,"buy_vol":6783.0,"sell_vol":26495.0,"unclassified_vol":0.0,"imbalance":-0.592343,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.173567},"context":{"vwap":5.499184,"price_vs_vwap_pct":0.154866,"ema9":5.513547,"ema20":5.513207,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.295699,"dist_to_hod_atr":2.775334,"atr":0.026051,"spread_atr":0.383864,"own_change_pct":0.545455,"rel_strength_pct":{"SPY":0.373378,"IWM":0.347195}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.298857},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"d2c2aa26f8d3","ts":"2026-08-28T14:19:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.4994,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.201,"trend":"flat","recent_slope_pct":0.0728,"volatility":"medium"},"price":5.52,"volume":{"bars":49,"last_bar_volume":33896.0,"baseline_avg":67182.8,"bar_rvol":0.504534,"raw_accel":-0.547117,"smooth_accel":-0.605937,"accel_momentum":-2.581819,"rvol_3bar":[1.068712,1.022531,0.504534],"trend_3bar":"DECELERATING","projected_rvol":0.812458},"flow":{"window_s":30,"trades":103,"trade_rate":3.433333,"buy_vol":6658.0,"sell_vol":26519.0,"unclassified_vol":0.0,"imbalance":-0.598638,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":3.246777},"context":{"vwap":5.499184,"price_vs_vwap_pct":0.378536,"ema9":5.513547,"ema20":5.513207,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.303182,"atr":0.026051,"spread_atr":0.383864,"own_change_pct":0.545455,"rel_strength_pct":{"SPY":0.373378,"IWM":0.347195}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.302033},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"b163b5bde4da","ts":"2026-08-28T14:20:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4445,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.5199,"vwap":5.4995,"ext_from_open_pct":3.18,"max_ext_allowed_pct":4.0,"volume_pace":1.195,"trend":"flat","recent_slope_pct":0.0163,"volatility":"medium"},"price":5.5199,"volume":{"bars":50,"last_bar_volume":56907.0,"baseline_avg":63377.75,"bar_rvol":0.897902,"raw_accel":0.678871,"smooth_accel":-0.645189,"accel_momentum":-0.039252,"rvol_3bar":[1.022531,0.504534,0.897902],"trend_3bar":"MIXED","projected_rvol":0.240779},"flow":{"window_s":30,"trades":86,"trade_rate":2.866667,"buy_vol":2795.0,"sell_vol":12726.0,"unclassified_vol":0.0,"imbalance":-0.639843,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.221995},"context":{"vwap":5.499496,"price_vs_vwap_pct":0.371018,"ema9":5.516838,"ema20":5.514806,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.077061,"dist_to_hod_atr":2.25781,"atr":0.026619,"spread_atr":0.375676,"own_change_pct":0.636943,"rel_strength_pct":{"SPY":0.487646,"IWM":0.438683}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.574516},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c4c13cf71fb6","ts":"2026-08-28T14:20:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.4% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.4996,"ext_from_open_pct":3.36,"max_ext_allowed_pct":3.0,"volume_pace":1.189,"trend":"flat","recent_slope_pct":0.0528,"volatility":"medium"},"price":5.53,"volume":{"bars":50,"last_bar_volume":56907.0,"baseline_avg":63377.75,"bar_rvol":0.897902,"raw_accel":0.678871,"smooth_accel":-0.645189,"accel_momentum":-0.039252,"rvol_3bar":[1.022531,0.504534,0.897902],"trend_3bar":"MIXED","projected_rvol":0.438561},"flow":{"window_s":30,"trades":106,"trade_rate":3.533333,"buy_vol":11355.0,"sell_vol":3849.0,"unclassified_vol":0.0,"imbalance":0.493686,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.179189},"context":{"vwap":5.499496,"price_vs_vwap_pct":0.554671,"ema9":5.516838,"ema20":5.514806,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":1.878378,"atr":0.026619,"spread_atr":0.375676,"own_change_pct":0.636943,"rel_strength_pct":{"SPY":0.487646,"IWM":0.438683}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.443281},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e48f45ccea26","ts":"2026-08-28T14:21:10+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.9206,"target":8.53,"target_label":"premarket_high","reward_risk":0.82,"pos_in_5d_range_pct":46.5,"room_to_5d_high_atr":0.97},"price":8.255,"vwap":8.2309,"ext_from_open_pct":0.12,"max_ext_allowed_pct":3.0,"volume_pace":0.687,"trend":"flat","recent_slope_pct":0.0062,"volatility":"high"},"price":8.255,"volume":{"bars":50,"last_bar_volume":9232.0,"baseline_avg":6658.35,"bar_rvol":1.38653,"raw_accel":4.546119,"smooth_accel":6.156923,"accel_momentum":7.077888,"rvol_3bar":[0.005009,0.002242,1.38653],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":176.0,"sell_vol":7132.0,"unclassified_vol":0.0,"imbalance":-0.951834,"bid":8.25,"ask":8.26,"spread_pct":0.121139,"quote_size_imbalance":null,"quote_age_s":0.218571},"context":{"vwap":8.230587,"price_vs_vwap_pct":0.296616,"ema9":8.255636,"ema20":8.255787,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.422195,"dist_to_hod_atr":1.847038,"atr":0.018949,"spread_atr":0.527725,"own_change_pct":0.060606,"rel_strength_pct":{"SPY":-0.092555,"IWM":-0.053526}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.319746},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2953b3661863","ts":"2026-08-28T14:21:30+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.11 below VWAP $5.12","plan":{"state":"PASS","setup":"","stop":5.0276,"target":5.1793,"target_label":"ceiling","reward_risk":0.84,"pos_in_5d_range_pct":46.3,"room_to_5d_high_atr":1.09},"price":5.11,"vwap":5.1197,"ext_from_open_pct":1.59,"max_ext_allowed_pct":3.0,"volume_pace":1.405,"trend":"flat","recent_slope_pct":-0.0473,"volatility":"high"},"price":5.11,"volume":{"bars":51,"last_bar_volume":622.0,"baseline_avg":1935.15,"bar_rvol":0.321422,"raw_accel":-0.716241,"smooth_accel":2.782553,"accel_momentum":-2.905628,"rvol_3bar":[9.322768,1.196376,0.321422],"trend_3bar":"DECELERATING","projected_rvol":1.342532},"flow":{"window_s":30,"trades":16,"trade_rate":0.533333,"buy_vol":708.0,"sell_vol":591.0,"unclassified_vol":0.0,"imbalance":0.090069,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":4.625537},"context":{"vwap":5.119742,"price_vs_vwap_pct":-0.190292,"ema9":5.112448,"ema20":5.107832,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.338019,"dist_to_hod_atr":4.500409,"atr":0.015399,"spread_atr":0.64941,"own_change_pct":0.29383,"rel_strength_pct":{"SPY":0.140668,"IWM":0.179697}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.02895},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"023a83d5c848","ts":"2026-08-28T14:21:40+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.4997,"ext_from_open_pct":3.36,"max_ext_allowed_pct":4.0,"volume_pace":1.17,"trend":"flat","recent_slope_pct":0.0318,"volatility":"medium"},"price":5.53,"volume":{"bars":51,"last_bar_volume":19958.0,"baseline_avg":65112.15,"bar_rvol":0.306517,"raw_accel":-0.649287,"smooth_accel":-0.782966,"accel_momentum":-0.137777,"rvol_3bar":[0.504534,0.897902,0.306517],"trend_3bar":"MIXED","projected_rvol":0.370968},"flow":{"window_s":30,"trades":106,"trade_rate":3.533333,"buy_vol":5378.0,"sell_vol":8946.0,"unclassified_vol":0.0,"imbalance":-0.249092,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":4.130732},"context":{"vwap":5.499607,"price_vs_vwap_pct":0.552647,"ema9":5.51947,"ema20":5.516253,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":1.85213,"atr":0.026996,"spread_atr":0.370426,"own_change_pct":0.454133,"rel_strength_pct":{"SPY":0.300971,"IWM":0.34}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.076351},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3b2612fa414c","ts":"2026-08-28T14:21:50+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.9206,"target":8.53,"target_label":"premarket_high","reward_risk":0.82,"pos_in_5d_range_pct":46.5,"room_to_5d_high_atr":0.97},"price":8.255,"vwap":8.2309,"ext_from_open_pct":0.12,"max_ext_allowed_pct":4.0,"volume_pace":0.678,"trend":"flat","recent_slope_pct":0.0062,"volatility":"high"},"price":8.255,"volume":{"bars":50,"last_bar_volume":9232.0,"baseline_avg":6658.35,"bar_rvol":1.38653,"raw_accel":4.546119,"smooth_accel":6.156923,"accel_momentum":7.077888,"rvol_3bar":[0.005009,0.002242,1.38653],"trend_3bar":"MIXED","projected_rvol":1.289328},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":20.0,"sell_vol":2.0,"unclassified_vol":0.0,"imbalance":0.818182,"bid":8.25,"ask":8.26,"spread_pct":0.121139,"quote_size_imbalance":null,"quote_age_s":30.217457},"context":{"vwap":8.230587,"price_vs_vwap_pct":0.296616,"ema9":8.255636,"ema20":8.255787,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.422195,"dist_to_hod_atr":1.847038,"atr":0.018949,"spread_atr":0.527725,"own_change_pct":0.060606,"rel_strength_pct":{"SPY":-0.092555,"IWM":-0.053526}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.134433},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"15d8ec2f445e","ts":"2026-08-28T14:21:50+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":5.0376,"target":5.1793,"target_label":"ceiling","reward_risk":0.72,"pos_in_5d_range_pct":47.8,"room_to_5d_high_atr":1.06},"price":5.12,"vwap":5.1197,"ext_from_open_pct":1.79,"max_ext_allowed_pct":4.0,"volume_pace":1.402,"trend":"flat","recent_slope_pct":-0.0082,"volatility":"high"},"price":5.12,"volume":{"bars":51,"last_bar_volume":622.0,"baseline_avg":1935.15,"bar_rvol":0.321422,"raw_accel":-0.716241,"smooth_accel":2.782553,"accel_momentum":-2.905628,"rvol_3bar":[9.322768,1.196376,0.321422],"trend_3bar":"DECELERATING","projected_rvol":1.225951},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":1176.0,"sell_vol":801.0,"unclassified_vol":0.0,"imbalance":0.189681,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":2.411846},"context":{"vwap":5.119742,"price_vs_vwap_pct":0.005031,"ema9":5.112448,"ema20":5.107832,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.144942,"dist_to_hod_atr":3.850999,"atr":0.015399,"spread_atr":0.64941,"own_change_pct":0.29383,"rel_strength_pct":{"SPY":0.140668,"IWM":0.179697}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.060968},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"7fd1ae1d24c1","ts":"2026-08-28T14:21:50+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"held 485.0s, plan says PASS; stop 4.98, target 5.14 (ceiling), R:R 0.51; R:R 0.51 < 2.0 at 5.08; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":4.9773,"target":5.14,"target_label":"ceiling","reward_risk":0.51,"pos_in_5d_range_pct":29.0,"room_to_5d_high_atr":1.45},"price":5.0849,"vwap":5.0554,"ext_from_open_pct":0.49,"max_ext_allowed_pct":4.0,"volume_pace":0.428,"trend":"flat","recent_slope_pct":0.0387,"volatility":"high"},"price":5.0849,"volume":{"bars":51,"last_bar_volume":38234.0,"baseline_avg":23764.55,"bar_rvol":1.608867,"raw_accel":0.491011,"smooth_accel":1.919815,"accel_momentum":1.699745,"rvol_3bar":[1.838735,0.996481,1.608867],"trend_3bar":"MIXED","projected_rvol":1.15695},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":2695.0,"sell_vol":2259.0,"unclassified_vol":0.0,"imbalance":0.08801,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.614555},"context":{"vwap":5.054838,"price_vs_vwap_pct":0.594709,"ema9":5.084514,"ema20":5.068881,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.071984,"dist_to_hod_atr":1.804087,"atr":0.030542,"spread_atr":0.327421,"own_change_pct":0.886476,"rel_strength_pct":{"SPY":0.733315,"IWM":0.772344}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.141596},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ed836a33358a","ts":"2026-08-28T14:21:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.3% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4505,"target":5.57,"target_label":"prev_day_high","reward_risk":0.58,"pos_in_5d_range_pct":45.5,"room_to_5d_high_atr":1.57},"price":5.5259,"vwap":5.4997,"ext_from_open_pct":3.29,"max_ext_allowed_pct":3.0,"volume_pace":1.165,"trend":"flat","recent_slope_pct":0.017,"volatility":"medium"},"price":5.5259,"volume":{"bars":51,"last_bar_volume":19958.0,"baseline_avg":65112.15,"bar_rvol":0.306517,"raw_accel":-0.649287,"smooth_accel":-0.782966,"accel_momentum":-0.137777,"rvol_3bar":[0.504534,0.897902,0.306517],"trend_3bar":"MIXED","projected_rvol":0.29702},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":4336.0,"sell_vol":2172.0,"unclassified_vol":0.0,"imbalance":0.332514,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":1.481021},"context":{"vwap":5.499607,"price_vs_vwap_pct":0.478096,"ema9":5.51947,"ema20":5.516253,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.969534,"dist_to_hod_atr":2.004005,"atr":0.026996,"spread_atr":0.370426,"own_change_pct":0.454133,"rel_strength_pct":{"SPY":0.300971,"IWM":0.34}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.101921},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"19849e528049","ts":"2026-08-28T14:21:55+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"held 490.0s, plan says WATCH; stop 5.00, target 5.18 (premarket_high), R:R 0.55; R:R 0.55 < 2.0 at 5.12; breakout: 1-min close > 5.15 on >= 49854 sh","plan":{"state":"WATCH","setup":"","stop":5.0,"target":5.18,"target_label":"premarket_high","reward_risk":0.55,"pos_in_5d_range_pct":32.6,"room_to_5d_high_atr":1.38},"price":5.1164,"vwap":5.0557,"ext_from_open_pct":1.11,"max_ext_allowed_pct":3.0,"volume_pace":0.428,"trend":"flat","recent_slope_pct":0.1621,"volatility":"high"},"price":5.1164,"volume":{"bars":51,"last_bar_volume":38234.0,"baseline_avg":23764.55,"bar_rvol":1.608867,"raw_accel":0.491011,"smooth_accel":1.919815,"accel_momentum":1.699745,"rvol_3bar":[1.838735,0.996481,1.608867],"trend_3bar":"MIXED","projected_rvol":1.28116},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":3710.0,"sell_vol":4046.0,"unclassified_vol":0.0,"imbalance":-0.043321,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":0.418012},"context":{"vwap":5.054838,"price_vs_vwap_pct":1.217875,"ema9":5.084514,"ema20":5.068881,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.459144,"dist_to_hod_atr":0.772713,"atr":0.030542,"spread_atr":0.327421,"own_change_pct":0.886476,"rel_strength_pct":{"SPY":0.733315,"IWM":0.772344}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.069698},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5fe04f15ecce","ts":"2026-08-28T14:22:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.4997,"ext_from_open_pct":3.36,"max_ext_allowed_pct":4.0,"volume_pace":1.163,"trend":"flat","recent_slope_pct":0.0318,"volatility":"medium"},"price":5.53,"volume":{"bars":51,"last_bar_volume":19958.0,"baseline_avg":65112.15,"bar_rvol":0.306517,"raw_accel":-0.649287,"smooth_accel":-0.782966,"accel_momentum":-0.137777,"rvol_3bar":[0.504534,0.897902,0.306517],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":3904.0,"sell_vol":2179.0,"unclassified_vol":0.0,"imbalance":0.283577,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.003081},"context":{"vwap":5.499607,"price_vs_vwap_pct":0.552647,"ema9":5.51947,"ema20":5.516253,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":1.85213,"atr":0.026996,"spread_atr":0.370426,"own_change_pct":0.454133,"rel_strength_pct":{"SPY":0.297798,"IWM":0.368584}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.086921},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3787e318e152","ts":"2026-08-28T14:22:00+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.12 below VWAP $5.12","plan":{"state":"PASS","setup":"","stop":5.0326,"target":5.1793,"target_label":"ceiling","reward_risk":0.78,"pos_in_5d_range_pct":47.0,"room_to_5d_high_atr":1.08},"price":5.115,"vwap":5.1197,"ext_from_open_pct":1.69,"max_ext_allowed_pct":4.0,"volume_pace":1.397,"trend":"flat","recent_slope_pct":-0.0277,"volatility":"high"},"price":5.115,"volume":{"bars":51,"last_bar_volume":622.0,"baseline_avg":1935.15,"bar_rvol":0.321422,"raw_accel":-0.716241,"smooth_accel":2.782553,"accel_momentum":-2.905628,"rvol_3bar":[9.322768,1.196376,0.321422],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":14,"trade_rate":0.466667,"buy_vol":468.0,"sell_vol":212.0,"unclassified_vol":0.0,"imbalance":0.376471,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":0.24015},"context":{"vwap":5.119742,"price_vs_vwap_pct":-0.09263,"ema9":5.112448,"ema20":5.107832,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.241481,"dist_to_hod_atr":4.175704,"atr":0.015399,"spread_atr":0.64941,"own_change_pct":0.29383,"rel_strength_pct":{"SPY":0.137495,"IWM":0.208281}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.121006},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"a4fd6300309b","ts":"2026-08-28T14:22:05+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.355,"target":10.567,"target_label":"ceiling","reward_risk":0.65,"pos_in_5d_range_pct":80.3,"room_to_5d_high_atr":0.37},"price":10.4835,"vwap":10.4593,"ext_from_open_pct":-0.43,"max_ext_allowed_pct":4.0,"volume_pace":0.818,"trend":"flat","recent_slope_pct":0.1357,"volatility":"medium"},"price":10.4835,"volume":{"bars":52,"last_bar_volume":193975.0,"baseline_avg":126669.5,"bar_rvol":1.531347,"raw_accel":0.191266,"smooth_accel":0.533687,"accel_momentum":0.515095,"rvol_3bar":[1.312112,1.34498,1.531347],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":84,"trade_rate":2.8,"buy_vol":24829.0,"sell_vol":28011.0,"unclassified_vol":0.0,"imbalance":-0.06022,"bid":10.48,"ask":10.49,"spread_pct":0.095374,"quote_size_imbalance":null,"quote_age_s":0.123817},"context":{"vwap":10.459319,"price_vs_vwap_pct":0.231193,"ema9":10.441193,"ema20":10.433437,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.790196,"dist_to_hod_atr":2.219331,"atr":0.037624,"spread_atr":0.265788,"own_change_pct":0.556248,"rel_strength_pct":{"SPY":0.399914,"IWM":0.470699}},"vas":{"raw":4,"score":6.9,"components":{"rvol":1,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.092217},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2504738edc1d","ts":"2026-08-28T14:22:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.5% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4632,"target":5.57,"target_label":"prev_day_high","reward_risk":0.42,"pos_in_5d_range_pct":47.0,"room_to_5d_high_atr":1.53},"price":5.5386,"vwap":5.4997,"ext_from_open_pct":3.53,"max_ext_allowed_pct":3.0,"volume_pace":1.16,"trend":"flat","recent_slope_pct":0.0311,"volatility":"medium"},"price":5.5386,"volume":{"bars":52,"last_bar_volume":18027.0,"baseline_avg":63583.2,"bar_rvol":0.283518,"raw_accel":-0.096753,"smooth_accel":-0.4857,"accel_momentum":0.297267,"rvol_3bar":[0.897902,0.306517,0.283518],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":1775.0,"sell_vol":2234.0,"unclassified_vol":0.0,"imbalance":-0.114492,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":2.380621},"context":{"vwap":5.499721,"price_vs_vwap_pct":0.706933,"ema9":5.521576,"ema20":5.517563,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.741935,"dist_to_hod_atr":1.562486,"atr":0.026496,"spread_atr":0.377412,"own_change_pct":0.184789,"rel_strength_pct":{"SPY":0.028455,"IWM":0.09924}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.032461},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"a02fda46bc72","ts":"2026-08-28T14:22:30+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4656,"target":5.57,"target_label":"prev_day_high","reward_risk":0.38,"pos_in_5d_range_pct":47.2,"room_to_5d_high_atr":1.52},"price":5.541,"vwap":5.4998,"ext_from_open_pct":3.57,"max_ext_allowed_pct":4.0,"volume_pace":1.154,"trend":"flat","recent_slope_pct":0.0398,"volatility":"medium"},"price":5.541,"volume":{"bars":52,"last_bar_volume":18027.0,"baseline_avg":63583.2,"bar_rvol":0.283518,"raw_accel":-0.096753,"smooth_accel":-0.4857,"accel_momentum":0.297267,"rvol_3bar":[0.897902,0.306517,0.283518],"trend_3bar":"DECELERATING","projected_rvol":0.327791},"flow":{"window_s":30,"trades":102,"trade_rate":3.4,"buy_vol":7613.0,"sell_vol":2808.0,"unclassified_vol":0.0,"imbalance":0.461088,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.003064},"context":{"vwap":5.499721,"price_vs_vwap_pct":0.750572,"ema9":5.521576,"ema20":5.517563,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.698925,"dist_to_hod_atr":1.471907,"atr":0.026496,"spread_atr":0.377412,"own_change_pct":0.184789,"rel_strength_pct":{"SPY":0.028455,"IWM":0.09924}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.130727},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"9f4d13ea36c3","ts":"2026-08-28T14:22:35+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.43 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3132,"target":10.567,"target_label":"ceiling","reward_risk":1.14,"pos_in_5d_range_pct":74.5,"room_to_5d_high_atr":0.48},"price":10.4319,"vwap":10.4592,"ext_from_open_pct":-0.92,"max_ext_allowed_pct":3.0,"volume_pace":0.825,"trend":"flat","recent_slope_pct":0.037,"volatility":"medium"},"price":10.4319,"volume":{"bars":52,"last_bar_volume":193975.0,"baseline_avg":126669.5,"bar_rvol":1.531347,"raw_accel":0.191266,"smooth_accel":0.533687,"accel_momentum":0.515095,"rvol_3bar":[1.312112,1.34498,1.531347],"trend_3bar":"ACCELERATING","projected_rvol":2.000418},"flow":{"window_s":30,"trades":119,"trade_rate":3.966667,"buy_vol":93455.0,"sell_vol":54019.0,"unclassified_vol":0.0,"imbalance":0.26741,"bid":10.48,"ask":10.49,"spread_pct":0.095374,"quote_size_imbalance":null,"quote_age_s":0.01498},"context":{"vwap":10.459319,"price_vs_vwap_pct":-0.262147,"ema9":10.441193,"ema20":10.433437,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.278509,"dist_to_hod_atr":3.590798,"atr":0.037624,"spread_atr":0.265788,"own_change_pct":0.556248,"rel_strength_pct":{"SPY":0.399914,"IWM":0.470699}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.409497},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a7b658348594","ts":"2026-08-28T14:22:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4646,"target":5.57,"target_label":"prev_day_high","reward_risk":0.4,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":1.52},"price":5.54,"vwap":5.4998,"ext_from_open_pct":3.55,"max_ext_allowed_pct":3.0,"volume_pace":1.152,"trend":"flat","recent_slope_pct":0.0362,"volatility":"medium"},"price":5.54,"volume":{"bars":52,"last_bar_volume":18027.0,"baseline_avg":63583.2,"bar_rvol":0.283518,"raw_accel":-0.096753,"smooth_accel":-0.4857,"accel_momentum":0.297267,"rvol_3bar":[0.897902,0.306517,0.283518],"trend_3bar":"DECELERATING","projected_rvol":0.331196},"flow":{"window_s":30,"trades":107,"trade_rate":3.566667,"buy_vol":6811.0,"sell_vol":5143.0,"unclassified_vol":0.0,"imbalance":0.139535,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":1.092086},"context":{"vwap":5.499721,"price_vs_vwap_pct":0.732389,"ema9":5.521576,"ema20":5.517563,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.716846,"dist_to_hod_atr":1.509648,"atr":0.026496,"spread_atr":0.377412,"own_change_pct":0.184789,"rel_strength_pct":{"SPY":0.028455,"IWM":0.09924}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.039561},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"50165c7c3f40","ts":"2026-08-28T14:22:40+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.355,"target":10.567,"target_label":"ceiling","reward_risk":0.57,"pos_in_5d_range_pct":81.0,"room_to_5d_high_atr":0.36},"price":10.49,"vwap":10.4596,"ext_from_open_pct":-0.37,"max_ext_allowed_pct":3.0,"volume_pace":0.829,"trend":"flat","recent_slope_pct":0.1481,"volatility":"medium"},"price":10.49,"volume":{"bars":52,"last_bar_volume":193975.0,"baseline_avg":126669.5,"bar_rvol":1.531347,"raw_accel":0.191266,"smooth_accel":0.533687,"accel_momentum":0.515095,"rvol_3bar":[1.312112,1.34498,1.531347],"trend_3bar":"ACCELERATING","projected_rvol":2.282337},"flow":{"window_s":30,"trades":122,"trade_rate":4.066667,"buy_vol":119651.0,"sell_vol":72075.0,"unclassified_vol":0.0,"imbalance":0.248146,"bid":10.48,"ask":10.49,"spread_pct":0.095374,"quote_size_imbalance":null,"quote_age_s":0.393417},"context":{"vwap":10.459319,"price_vs_vwap_pct":0.293338,"ema9":10.441193,"ema20":10.433437,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.728684,"dist_to_hod_atr":2.046569,"atr":0.037624,"spread_atr":0.265788,"own_change_pct":0.556248,"rel_strength_pct":{"SPY":0.399914,"IWM":0.470699}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.379997},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"cd43035c3320","ts":"2026-08-28T14:22:45+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.5003,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":1.164,"trend":"flat","recent_slope_pct":0.0903,"volatility":"medium"},"price":5.555,"volume":{"bars":52,"last_bar_volume":18027.0,"baseline_avg":63583.2,"bar_rvol":0.283518,"raw_accel":-0.096753,"smooth_accel":-0.4857,"accel_momentum":0.297267,"rvol_3bar":[0.897902,0.306517,0.283518],"trend_3bar":"DECELERATING","projected_rvol":1.515348},"flow":{"window_s":30,"trades":154,"trade_rate":5.133333,"buy_vol":59593.0,"sell_vol":9974.0,"unclassified_vol":0.0,"imbalance":0.713255,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.021494},"context":{"vwap":5.499721,"price_vs_vwap_pct":1.00513,"ema9":5.521576,"ema20":5.517563,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.448029,"dist_to_hod_atr":0.94353,"atr":0.026496,"spread_atr":0.377412,"own_change_pct":0.184789,"rel_strength_pct":{"SPY":0.028455,"IWM":0.09924}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.202221},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"996f554e5567","ts":"2026-08-28T14:22:45+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":5.0376,"target":5.1793,"target_label":"ceiling","reward_risk":0.72,"pos_in_5d_range_pct":47.8,"room_to_5d_high_atr":1.06},"price":5.12,"vwap":5.1197,"ext_from_open_pct":1.79,"max_ext_allowed_pct":4.0,"volume_pace":1.383,"trend":"flat","recent_slope_pct":-0.0098,"volatility":"high"},"price":5.12,"volume":{"bars":52,"last_bar_volume":1979.0,"baseline_avg":1793.1,"bar_rvol":1.103675,"raw_accel":2.181672,"smooth_accel":-0.675117,"accel_momentum":-3.45767,"rvol_3bar":[1.196376,0.321422,1.103675],"trend_3bar":"MIXED","projected_rvol":0.499693},"flow":{"window_s":30,"trades":18,"trade_rate":0.6,"buy_vol":121.0,"sell_vol":551.0,"unclassified_vol":0.0,"imbalance":-0.639881,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":2.801335},"context":{"vwap":5.119671,"price_vs_vwap_pct":0.006427,"ema9":5.112958,"ema20":5.108515,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.144942,"dist_to_hod_atr":3.858133,"atr":0.01537,"spread_atr":0.650613,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.156335,"IWM":-0.085549}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.706221},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6276aabc1481","ts":"2026-08-28T14:23:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5005,"ext_from_open_pct":3.64,"max_ext_allowed_pct":3.0,"volume_pace":1.16,"trend":"flat","recent_slope_pct":0.0813,"volatility":"medium"},"price":5.545,"volume":{"bars":53,"last_bar_volume":93410.0,"baseline_avg":63581.65,"bar_rvol":1.469135,"raw_accel":4.181672,"smooth_accel":-0.206782,"accel_momentum":0.278918,"rvol_3bar":[0.306517,0.283518,1.469135],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":133,"trade_rate":4.433333,"buy_vol":58740.0,"sell_vol":21558.0,"unclassified_vol":0.0,"imbalance":0.46305,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.161654},"context":{"vwap":5.500472,"price_vs_vwap_pct":0.809522,"ema9":5.526261,"ema20":5.520176,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.62724,"dist_to_hod_atr":1.249837,"atr":0.028004,"spread_atr":0.357096,"own_change_pct":0.431066,"rel_strength_pct":{"SPY":0.303331,"IWM":0.367359}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.680283},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b382ee4fbe15","ts":"2026-08-28T14:23:20+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.11 below VWAP $5.12","plan":{"state":"PASS","setup":"","stop":5.0312,"target":5.1793,"target_label":"ceiling","reward_risk":0.8,"pos_in_5d_range_pct":46.8,"room_to_5d_high_atr":1.08},"price":5.1136,"vwap":5.1197,"ext_from_open_pct":1.66,"max_ext_allowed_pct":3.0,"volume_pace":1.367,"trend":"flat","recent_slope_pct":-0.025,"volatility":"high"},"price":5.1136,"volume":{"bars":53,"last_bar_volume":672.0,"baseline_avg":1880.2,"bar_rvol":0.357409,"raw_accel":-0.660435,"smooth_accel":-0.794899,"accel_momentum":-0.119782,"rvol_3bar":[0.321422,1.103675,0.357409],"trend_3bar":"MIXED","projected_rvol":0.009573},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":5.0,"sell_vol":1.0,"unclassified_vol":0.0,"imbalance":0.666667,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":2.901804},"context":{"vwap":5.119665,"price_vs_vwap_pct":-0.118468,"ema9":5.114367,"ema20":5.109609,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.268511,"dist_to_hod_atr":4.477837,"atr":0.014672,"spread_atr":0.681558,"own_change_pct":-0.040999,"rel_strength_pct":{"SPY":-0.168733,"IWM":-0.104706}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.238273},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e8573d960808","ts":"2026-08-28T14:23:35+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":5.0462,"target":5.1793,"target_label":"ceiling","reward_risk":0.62,"pos_in_5d_range_pct":49.0,"room_to_5d_high_atr":1.04},"price":5.1286,"vwap":5.1197,"ext_from_open_pct":1.96,"max_ext_allowed_pct":3.0,"volume_pace":1.361,"trend":"flat","recent_slope_pct":0.0336,"volatility":"high"},"price":5.1286,"volume":{"bars":53,"last_bar_volume":672.0,"baseline_avg":1880.2,"bar_rvol":0.357409,"raw_accel":-0.660435,"smooth_accel":-0.794899,"accel_momentum":-0.119782,"rvol_3bar":[0.321422,1.103675,0.357409],"trend_3bar":"MIXED","projected_rvol":0.006382},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":1.0,"sell_vol":1.0,"unclassified_vol":0.0,"imbalance":0.0,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":0.768178},"context":{"vwap":5.119665,"price_vs_vwap_pct":0.17452,"ema9":5.114367,"ema20":5.109609,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-0.978897,"dist_to_hod_atr":3.455499,"atr":0.014672,"spread_atr":0.681558,"own_change_pct":-0.040999,"rel_strength_pct":{"SPY":-0.168733,"IWM":-0.104706}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.0},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"decabfc084de","ts":"2026-08-28T14:23:45+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.12 below VWAP $5.12","plan":{"state":"PASS","setup":"","stop":5.0326,"target":5.1793,"target_label":"ceiling","reward_risk":0.78,"pos_in_5d_range_pct":47.0,"room_to_5d_high_atr":1.08},"price":5.115,"vwap":5.1197,"ext_from_open_pct":1.69,"max_ext_allowed_pct":3.0,"volume_pace":1.358,"trend":"flat","recent_slope_pct":-0.0195,"volatility":"high"},"price":5.115,"volume":{"bars":53,"last_bar_volume":672.0,"baseline_avg":1880.2,"bar_rvol":0.357409,"raw_accel":-0.660435,"smooth_accel":-0.794899,"accel_momentum":-0.119782,"rvol_3bar":[0.321422,1.103675,0.357409],"trend_3bar":"MIXED","projected_rvol":0.158139},"flow":{"window_s":30,"trades":7,"trade_rate":0.233333,"buy_vol":102.0,"sell_vol":116.0,"unclassified_vol":0.0,"imbalance":-0.06422,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":0.545326},"context":{"vwap":5.119665,"price_vs_vwap_pct":-0.091122,"ema9":5.114367,"ema20":5.109609,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.241481,"dist_to_hod_atr":4.382418,"atr":0.014672,"spread_atr":0.681558,"own_change_pct":-0.040999,"rel_strength_pct":{"SPY":-0.168733,"IWM":-0.104706}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.022953},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6fc39604ef82","ts":"2026-08-28T14:23:50+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":14.6351,"target":15.07,"target_label":"ceiling","reward_risk":0.64,"pos_in_5d_range_pct":132.9,"room_to_5d_high_atr":-0.23},"price":14.9,"vwap":14.8752,"ext_from_open_pct":-0.13,"max_ext_allowed_pct":4.0,"volume_pace":4.817,"trend":"flat","recent_slope_pct":-0.0428,"volatility":"high"},"price":14.9,"volume":{"bars":53,"last_bar_volume":15332.0,"baseline_avg":38090.95,"bar_rvol":0.40251,"raw_accel":-0.876051,"smooth_accel":2.721568,"accel_momentum":2.251755,"rvol_3bar":[2.542105,3.803251,0.40251],"trend_3bar":"MIXED","projected_rvol":0.605561},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":2566.0,"sell_vol":7309.0,"unclassified_vol":0.0,"imbalance":-0.480304,"bid":14.89,"ask":14.92,"spread_pct":0.201275,"quote_size_imbalance":null,"quote_age_s":0.212624},"context":{"vwap":14.874985,"price_vs_vwap_pct":0.168171,"ema9":14.930015,"ema20":14.903027,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.128069,"dist_to_hod_atr":1.659231,"atr":0.102457,"spread_atr":0.292805,"own_change_pct":0.240617,"rel_strength_pct":{"SPY":0.112882,"IWM":0.17691}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.193327},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3fc94f47f6fc","ts":"2026-08-28T14:24:05+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"held 620.0s, plan says PASS; stop 4.99, target 5.14 (ceiling), R:R 0.37; R:R 0.37 < 2.0 at 5.10; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":4.9924,"target":5.14,"target_label":"ceiling","reward_risk":0.37,"pos_in_5d_range_pct":30.7,"room_to_5d_high_atr":1.41},"price":5.1,"vwap":5.0568,"ext_from_open_pct":0.79,"max_ext_allowed_pct":3.0,"volume_pace":0.419,"trend":"flat","recent_slope_pct":-0.029,"volatility":"high"},"price":5.1,"volume":{"bars":54,"last_bar_volume":14507.0,"baseline_avg":22812.55,"bar_rvol":0.635922,"raw_accel":-0.044398,"smooth_accel":-0.465239,"accel_momentum":-0.55809,"rvol_3bar":[1.15432,0.651745,0.635922],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":9566.0,"sell_vol":7190.0,"unclassified_vol":0.0,"imbalance":0.1418,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":2.298429},"context":{"vwap":5.056688,"price_vs_vwap_pct":0.856536,"ema9":5.100351,"ema20":5.081315,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.77821,"dist_to_hod_atr":1.311257,"atr":0.030505,"spread_atr":0.327814,"own_change_pct":0.491159,"rel_strength_pct":{"SPY":0.461989,"IWM":0.544818}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.090174},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"08a447a81f87","ts":"2026-08-28T14:24:05+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.45 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3263,"target":10.567,"target_label":"ceiling","reward_risk":1.03,"pos_in_5d_range_pct":76.0,"room_to_5d_high_atr":0.45},"price":10.445,"vwap":10.4596,"ext_from_open_pct":-0.8,"max_ext_allowed_pct":3.0,"volume_pace":0.876,"trend":"flat","recent_slope_pct":-0.0287,"volatility":"medium"},"price":10.445,"volume":{"bars":54,"last_bar_volume":43901.0,"baseline_avg":144663.0,"bar_rvol":0.303471,"raw_accel":-0.863307,"smooth_accel":0.224817,"accel_momentum":-0.580731,"rvol_3bar":[1.531347,2.42104,0.303471],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":204,"trade_rate":6.8,"buy_vol":76706.0,"sell_vol":440207.0,"unclassified_vol":0.0,"imbalance":-0.703215,"bid":10.44,"ask":10.45,"spread_pct":0.09574,"quote_size_imbalance":null,"quote_age_s":0.079795},"context":{"vwap":10.460017,"price_vs_vwap_pct":-0.143566,"ema9":10.456564,"ema20":10.4427,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.154538,"dist_to_hod_atr":2.99531,"atr":0.04073,"spread_atr":0.245517,"own_change_pct":0.383325,"rel_strength_pct":{"SPY":0.354155,"IWM":0.436984}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.213405},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c09159b9e113","ts":"2026-08-28T14:24:10+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"held 625.0s, plan says WATCH; stop 4.99, target 5.18 (premarket_high), R:R 0.74; R:R 0.74 < 2.0 at 5.10; breakout: 1-min close > 5.15 on >= 48687 sh","plan":{"state":"WATCH","setup":"","stop":4.9929,"target":5.18,"target_label":"premarket_high","reward_risk":0.74,"pos_in_5d_range_pct":30.8,"room_to_5d_high_atr":1.41},"price":5.1005,"vwap":5.0571,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":0.421,"trend":"flat","recent_slope_pct":-0.027,"volatility":"high"},"price":5.1005,"volume":{"bars":54,"last_bar_volume":14507.0,"baseline_avg":22812.55,"bar_rvol":0.635922,"raw_accel":-0.044398,"smooth_accel":-0.465239,"accel_momentum":-0.55809,"rvol_3bar":[1.15432,0.651745,0.635922],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":9839.0,"sell_vol":15065.0,"unclassified_vol":0.0,"imbalance":-0.209846,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.340002},"context":{"vwap":5.056688,"price_vs_vwap_pct":0.866424,"ema9":5.100351,"ema20":5.081315,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.768482,"dist_to_hod_atr":1.294866,"atr":0.030505,"spread_atr":0.327814,"own_change_pct":0.491159,"rel_strength_pct":{"SPY":0.461989,"IWM":0.544818}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.133446},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"88134074e965","ts":"2026-08-28T14:24:20+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.87 below VWAP $14.88","plan":{"state":"PASS","setup":"","stop":14.6074,"target":14.9,"target_label":"premarket_high","reward_risk":0.1,"pos_in_5d_range_pct":129.1,"room_to_5d_high_atr":-0.2},"price":14.8723,"vwap":14.8752,"ext_from_open_pct":-0.32,"max_ext_allowed_pct":4.0,"volume_pace":4.786,"trend":"flat","recent_slope_pct":-0.1841,"volatility":"high"},"price":14.8723,"volume":{"bars":54,"last_bar_volume":29600.0,"baseline_avg":38020.0,"bar_rvol":0.778538,"raw_accel":0.930603,"smooth_accel":0.412141,"accel_momentum":-2.309427,"rvol_3bar":[3.803251,0.40251,0.778538],"trend_3bar":"MIXED","projected_rvol":0.094766},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":3181.0,"sell_vol":8398.0,"unclassified_vol":0.0,"imbalance":-0.450557,"bid":14.87,"ask":14.88,"spread_pct":0.067227,"quote_size_imbalance":null,"quote_age_s":1.651699},"context":{"vwap":14.875181,"price_vs_vwap_pct":-0.019369,"ema9":14.920052,"ema20":14.900853,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.311878,"dist_to_hod_atr":1.96139,"atr":0.100796,"spread_atr":0.09921,"own_change_pct":-0.266756,"rel_strength_pct":{"SPY":-0.295926,"IWM":-0.213097}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.350776},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7b3f83a63cf2","ts":"2026-08-28T14:24:45+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":14.6419,"target":15.07,"target_label":"ceiling","reward_risk":0.62,"pos_in_5d_range_pct":133.8,"room_to_5d_high_atr":-0.23},"price":14.9068,"vwap":14.8752,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":4.0,"volume_pace":4.761,"trend":"flat","recent_slope_pct":-0.1378,"volatility":"high"},"price":14.9068,"volume":{"bars":54,"last_bar_volume":29600.0,"baseline_avg":38020.0,"bar_rvol":0.778538,"raw_accel":0.930603,"smooth_accel":0.412141,"accel_momentum":-2.309427,"rvol_3bar":[3.803251,0.40251,0.778538],"trend_3bar":"MIXED","projected_rvol":0.399404},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":1475.0,"sell_vol":9463.0,"unclassified_vol":0.0,"imbalance":-0.730298,"bid":14.86,"ask":14.88,"spread_pct":0.134499,"quote_size_imbalance":null,"quote_age_s":1.451935},"context":{"vwap":14.875181,"price_vs_vwap_pct":0.212561,"ema9":14.920052,"ema20":14.900853,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.082946,"dist_to_hod_atr":1.619114,"atr":0.100796,"spread_atr":0.198421,"own_change_pct":-0.266756,"rel_strength_pct":{"SPY":-0.295926,"IWM":-0.213097}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.568564},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"31cdbdce60cb","ts":"2026-08-28T14:24:50+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.87 below VWAP $14.88","plan":{"state":"PASS","setup":"","stop":14.6051,"target":14.9,"target_label":"premarket_high","reward_risk":0.11,"pos_in_5d_range_pct":128.8,"room_to_5d_high_atr":-0.2},"price":14.87,"vwap":14.8752,"ext_from_open_pct":-0.34,"max_ext_allowed_pct":4.0,"volume_pace":4.754,"trend":"flat","recent_slope_pct":-0.1872,"volatility":"high"},"price":14.87,"volume":{"bars":54,"last_bar_volume":29600.0,"baseline_avg":38020.0,"bar_rvol":0.778538,"raw_accel":0.930603,"smooth_accel":0.412141,"accel_momentum":-2.309427,"rvol_3bar":[3.803251,0.40251,0.778538],"trend_3bar":"MIXED","projected_rvol":0.377864},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":1124.0,"sell_vol":9647.0,"unclassified_vol":0.0,"imbalance":-0.791291,"bid":14.86,"ask":14.88,"spread_pct":0.134499,"quote_size_imbalance":null,"quote_age_s":2.994229},"context":{"vwap":14.875181,"price_vs_vwap_pct":-0.034831,"ema9":14.920052,"ema20":14.900853,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.32714,"dist_to_hod_atr":1.984208,"atr":0.100796,"spread_atr":0.198421,"own_change_pct":-0.266756,"rel_strength_pct":{"SPY":-0.295926,"IWM":-0.213097}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.61605},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9b568445adcf","ts":"2026-08-28T14:25:00+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.81 below VWAP $9.82","plan":{"state":"PASS","setup":"","stop":9.4,"target":11.79,"target_label":"range_20d_high","reward_risk":4.87,"pos_in_5d_range_pct":76.4,"room_to_5d_high_atr":1.43},"price":9.807,"vwap":9.8218,"ext_from_open_pct":10.19,"max_ext_allowed_pct":4.0,"volume_pace":29.565,"trend":"flat","recent_slope_pct":-0.7888,"volatility":"high"},"price":9.807,"volume":{"bars":54,"last_bar_volume":73714.0,"baseline_avg":156899.7,"bar_rvol":0.469816,"raw_accel":-0.339764,"smooth_accel":-0.592339,"accel_momentum":-0.115942,"rvol_3bar":[0.933173,0.7224,0.469816],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":934,"trade_rate":31.133333,"buy_vol":34992.0,"sell_vol":53303.0,"unclassified_vol":0.0,"imbalance":-0.207384,"bid":9.8,"ask":9.85,"spread_pct":0.508906,"quote_size_imbalance":null,"quote_age_s":0.259746},"context":{"vwap":9.817034,"price_vs_vwap_pct":-0.102211,"ema9":10.208865,"ema20":9.938322,"ema_stack":false,"ema_warm":true,"hod":10.78,"dist_to_hod_pct":-9.025974,"dist_to_hod_atr":2.445326,"atr":0.397902,"spread_atr":0.125659,"own_change_pct":-2.607018,"rel_strength_pct":{"SPY":-2.627758,"IWM":-2.560066}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.097432},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"6a0969a32424","ts":"2026-08-28T14:25:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.501,"ext_from_open_pct":3.18,"max_ext_allowed_pct":4.0,"volume_pace":1.14,"trend":"flat","recent_slope_pct":-0.0181,"volatility":"medium"},"price":5.52,"volume":{"bars":54,"last_bar_volume":53396.0,"baseline_avg":67334.6,"bar_rvol":0.792995,"raw_accel":-0.42837,"smooth_accel":0.488186,"accel_momentum":0.694968,"rvol_3bar":[0.283518,1.469135,0.792995],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":85,"trade_rate":2.833333,"buy_vol":9425.0,"sell_vol":8680.0,"unclassified_vol":0.0,"imbalance":0.041149,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.002961},"context":{"vwap":5.500882,"price_vs_vwap_pct":0.347538,"ema9":5.529009,"ema20":5.522064,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.161342,"atr":0.027761,"spread_atr":0.360224,"own_change_pct":0.180832,"rel_strength_pct":{"SPY":0.160091,"IWM":0.227783}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.032631},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"28d093736799","ts":"2026-08-28T14:25:05+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"extended +11.9% above open $8.90 (max 4%: volume pace strong, buying normal)","plan":{"state":"WATCH","setup":"","stop":9.4,"target":11.79,"target_label":"range_20d_high","reward_risk":3.31,"pos_in_5d_range_pct":78.1,"room_to_5d_high_atr":1.32},"price":9.955,"vwap":9.8221,"ext_from_open_pct":11.85,"max_ext_allowed_pct":4.0,"volume_pace":29.612,"trend":"flat","recent_slope_pct":-1.0083,"volatility":"high"},"price":9.955,"volume":{"bars":55,"last_bar_volume":151526.0,"baseline_avg":157607.75,"bar_rvol":0.961412,"raw_accel":1.055593,"smooth_accel":-0.39181,"accel_momentum":0.200529,"rvol_3bar":[0.7224,0.469816,0.961412],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":845,"trade_rate":28.166667,"buy_vol":27710.0,"sell_vol":51758.0,"unclassified_vol":0.0,"imbalance":-0.302612,"bid":9.91,"ask":10.0,"spread_pct":0.904068,"quote_size_imbalance":null,"quote_age_s":0.349247},"context":{"vwap":9.821801,"price_vs_vwap_pct":1.356153,"ema9":10.128492,"ema20":9.925815,"ema_stack":false,"ema_warm":true,"hod":10.78,"dist_to_hod_pct":-7.653061,"dist_to_hod_atr":2.0138,"atr":0.409673,"spread_atr":0.219687,"own_change_pct":-8.088097,"rel_strength_pct":{"SPY":-8.108838,"IWM":-8.041146}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.290935},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"68400c5b80f3","ts":"2026-08-28T14:25:05+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":4.9891,"target":5.14,"target_label":"ceiling","reward_risk":0.4,"pos_in_5d_range_pct":30.4,"room_to_5d_high_atr":1.42},"price":5.0967,"vwap":5.0579,"ext_from_open_pct":0.73,"max_ext_allowed_pct":4.0,"volume_pace":0.42,"trend":"flat","recent_slope_pct":-0.0837,"volatility":"high"},"price":5.0967,"volume":{"bars":55,"last_bar_volume":36097.0,"baseline_avg":22963.9,"bar_rvol":1.571902,"raw_accel":1.488247,"smooth_accel":-0.284059,"accel_momentum":0.18118,"rvol_3bar":[0.651745,0.635922,1.571902],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":17072.0,"sell_vol":2642.0,"unclassified_vol":0.0,"imbalance":0.731967,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.763389},"context":{"vwap":5.057755,"price_vs_vwap_pct":0.769999,"ema9":5.102041,"ema20":5.083933,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.842412,"dist_to_hod_atr":1.455231,"atr":0.029755,"spread_atr":0.336081,"own_change_pct":0.074437,"rel_strength_pct":{"SPY":0.053696,"IWM":0.121388}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.150581},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"1ffbff29de90","ts":"2026-08-28T14:25:05+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.3463,"target":10.567,"target_label":"ceiling","reward_risk":0.86,"pos_in_5d_range_pct":78.2,"room_to_5d_high_atr":0.41},"price":10.465,"vwap":10.46,"ext_from_open_pct":-0.61,"max_ext_allowed_pct":4.0,"volume_pace":0.875,"trend":"flat","recent_slope_pct":-0.0668,"volatility":"medium"},"price":10.465,"volume":{"bars":55,"last_bar_volume":597273.0,"baseline_avg":141282.25,"bar_rvol":4.227516,"raw_accel":12.604998,"smooth_accel":0.841247,"accel_momentum":0.61643,"rvol_3bar":[2.42104,0.303471,4.227516],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":109,"trade_rate":3.633333,"buy_vol":38266.0,"sell_vol":55862.0,"unclassified_vol":0.0,"imbalance":-0.186937,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.634997},"context":{"vwap":10.459958,"price_vs_vwap_pct":0.048199,"ema9":10.458251,"ema20":10.444824,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.965269,"dist_to_hod_atr":2.530145,"atr":0.040314,"spread_atr":0.248053,"own_change_pct":0.238503,"rel_strength_pct":{"SPY":0.217763,"IWM":0.285455}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.790279},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"287801efd002","ts":"2026-08-28T14:25:10+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":14.6126,"target":14.9,"target_label":"premarket_high","reward_risk":0.08,"pos_in_5d_range_pct":129.8,"room_to_5d_high_atr":-0.21},"price":14.8775,"vwap":14.8752,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":4.0,"volume_pace":4.728,"trend":"flat","recent_slope_pct":-0.1679,"volatility":"high"},"price":14.8775,"volume":{"bars":55,"last_bar_volume":12483.0,"baseline_avg":38433.9,"bar_rvol":0.324791,"raw_accel":-0.578277,"smooth_accel":-0.737169,"accel_momentum":-1.14931,"rvol_3bar":[0.40251,0.778538,0.324791],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":1157.0,"sell_vol":6652.0,"unclassified_vol":0.0,"imbalance":-0.703675,"bid":14.86,"ask":14.88,"spread_pct":0.134499,"quote_size_imbalance":null,"quote_age_s":6.295614},"context":{"vwap":14.875209,"price_vs_vwap_pct":0.015402,"ema9":14.910162,"ema20":14.897972,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.277372,"dist_to_hod_atr":1.961503,"atr":0.098139,"spread_atr":0.203793,"own_change_pct":-0.364489,"rel_strength_pct":{"SPY":-0.38523,"IWM":-0.317538}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.228548},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"cdb1158153d3","ts":"2026-08-28T14:25:10+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.46 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3363,"target":10.567,"target_label":"ceiling","reward_risk":0.94,"pos_in_5d_range_pct":77.1,"room_to_5d_high_atr":0.43},"price":10.455,"vwap":10.46,"ext_from_open_pct":-0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.877,"trend":"flat","recent_slope_pct":-0.0859,"volatility":"medium"},"price":10.455,"volume":{"bars":55,"last_bar_volume":597273.0,"baseline_avg":141282.25,"bar_rvol":4.227516,"raw_accel":12.604998,"smooth_accel":0.841247,"accel_momentum":0.61643,"rvol_3bar":[2.42104,0.303471,4.227516],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":138,"trade_rate":4.6,"buy_vol":40773.0,"sell_vol":88697.0,"unclassified_vol":0.0,"imbalance":-0.370155,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.06678},"context":{"vwap":10.459958,"price_vs_vwap_pct":-0.047404,"ema9":10.458251,"ema20":10.444824,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.059903,"dist_to_hod_atr":2.778199,"atr":0.040314,"spread_atr":0.248053,"own_change_pct":0.238503,"rel_strength_pct":{"SPY":0.217763,"IWM":0.285455}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.564837},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"296573493a55","ts":"2026-08-28T14:25:20+00:00","symbol":"KLAR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.87 below VWAP $14.88","plan":{"state":"PASS","setup":"","stop":14.6051,"target":14.9,"target_label":"premarket_high","reward_risk":0.11,"pos_in_5d_range_pct":128.8,"room_to_5d_high_atr":-0.2},"price":14.87,"vwap":14.8752,"ext_from_open_pct":-0.34,"max_ext_allowed_pct":4.0,"volume_pace":4.719,"trend":"flat","recent_slope_pct":-0.178,"volatility":"high"},"price":14.87,"volume":{"bars":55,"last_bar_volume":12483.0,"baseline_avg":38433.9,"bar_rvol":0.324791,"raw_accel":-0.578277,"smooth_accel":-0.737169,"accel_momentum":-1.14931,"rvol_3bar":[0.40251,0.778538,0.324791],"trend_3bar":"MIXED","projected_rvol":0.538665},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":5305.0,"sell_vol":2107.0,"unclassified_vol":0.0,"imbalance":0.431462,"bid":14.86,"ask":14.88,"spread_pct":0.134499,"quote_size_imbalance":null,"quote_age_s":2.827548},"context":{"vwap":14.875209,"price_vs_vwap_pct":-0.035017,"ema9":14.910162,"ema20":14.897972,"ema_stack":false,"ema_warm":true,"hod":15.07,"dist_to_hod_pct":-1.32714,"dist_to_hod_atr":2.037925,"atr":0.098139,"spread_atr":0.203793,"own_change_pct":-0.364489,"rel_strength_pct":{"SPY":-0.38523,"IWM":-0.317538}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.140135},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"683fcfa46c52","ts":"2026-08-28T14:25:25+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.4% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.5011,"ext_from_open_pct":3.36,"max_ext_allowed_pct":3.0,"volume_pace":1.133,"trend":"flat","recent_slope_pct":-0.0452,"volatility":"medium"},"price":5.53,"volume":{"bars":55,"last_bar_volume":29135.0,"baseline_avg":67314.15,"bar_rvol":0.432821,"raw_accel":-0.45436,"smooth_accel":0.854118,"accel_momentum":0.365932,"rvol_3bar":[1.469135,0.792995,0.432821],"trend_3bar":"DECELERATING","projected_rvol":0.307014},"flow":{"window_s":30,"trades":83,"trade_rate":2.766667,"buy_vol":8666.0,"sell_vol":7601.0,"unclassified_vol":0.0,"imbalance":0.06547,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.687724},"context":{"vwap":5.501041,"price_vs_vwap_pct":0.526421,"ema9":5.527207,"ema20":5.521867,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":1.817772,"atr":0.027506,"spread_atr":0.363554,"own_change_pct":-0.180832,"rel_strength_pct":{"SPY":-0.201573,"IWM":-0.13388}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.028337},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"96e1e3957a10","ts":"2026-08-28T14:25:30+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.3413,"target":10.567,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":77.7,"room_to_5d_high_atr":0.42},"price":10.46,"vwap":10.46,"ext_from_open_pct":-0.66,"max_ext_allowed_pct":3.0,"volume_pace":0.875,"trend":"flat","recent_slope_pct":-0.0764,"volatility":"medium"},"price":10.46,"volume":{"bars":55,"last_bar_volume":597273.0,"baseline_avg":141282.25,"bar_rvol":4.227516,"raw_accel":12.604998,"smooth_accel":0.841247,"accel_momentum":0.61643,"rvol_3bar":[2.42104,0.303471,4.227516],"trend_3bar":"MIXED","projected_rvol":1.628527},"flow":{"window_s":30,"trades":141,"trade_rate":4.7,"buy_vol":30433.0,"sell_vol":84608.0,"unclassified_vol":0.0,"imbalance":-0.470919,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.004734},"context":{"vwap":10.459958,"price_vs_vwap_pct":0.000398,"ema9":10.458251,"ema20":10.444824,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.012586,"dist_to_hod_atr":2.654172,"atr":0.040314,"spread_atr":0.248053,"own_change_pct":0.238503,"rel_strength_pct":{"SPY":0.217763,"IWM":0.285455}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.990818},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6489238cd01b","ts":"2026-08-28T14:25:35+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":5.0016,"target":5.18,"target_label":"premarket_high","reward_risk":0.66,"pos_in_5d_range_pct":31.8,"room_to_5d_high_atr":1.39},"price":5.1092,"vwap":5.0584,"ext_from_open_pct":0.97,"max_ext_allowed_pct":3.0,"volume_pace":0.421,"trend":"flat","recent_slope_pct":-0.0348,"volatility":"high"},"price":5.1092,"volume":{"bars":55,"last_bar_volume":36097.0,"baseline_avg":22963.9,"bar_rvol":1.571902,"raw_accel":1.488247,"smooth_accel":-0.284059,"accel_momentum":0.18118,"rvol_3bar":[0.651745,0.635922,1.571902],"trend_3bar":"MIXED","projected_rvol":1.78887},"flow":{"window_s":30,"trades":134,"trade_rate":4.466667,"buy_vol":10073.0,"sell_vol":8725.0,"unclassified_vol":0.0,"imbalance":0.07171,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.530358},"context":{"vwap":5.057755,"price_vs_vwap_pct":1.017144,"ema9":5.102041,"ema20":5.083933,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.599222,"dist_to_hod_atr":1.03513,"atr":0.029755,"spread_atr":0.336081,"own_change_pct":0.074437,"rel_strength_pct":{"SPY":0.053696,"IWM":0.121388}},"vas":{"raw":1,"score":5.0,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.112721},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0b87627d509c","ts":"2026-08-28T14:25:35+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.46 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3363,"target":10.567,"target_label":"ceiling","reward_risk":0.94,"pos_in_5d_range_pct":77.1,"room_to_5d_high_atr":0.43},"price":10.455,"vwap":10.46,"ext_from_open_pct":-0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.877,"trend":"flat","recent_slope_pct":-0.0859,"volatility":"medium"},"price":10.455,"volume":{"bars":55,"last_bar_volume":597273.0,"baseline_avg":141282.25,"bar_rvol":4.227516,"raw_accel":12.604998,"smooth_accel":0.841247,"accel_momentum":0.61643,"rvol_3bar":[2.42104,0.303471,4.227516],"trend_3bar":"MIXED","projected_rvol":1.886291},"flow":{"window_s":30,"trades":113,"trade_rate":3.766667,"buy_vol":45935.0,"sell_vol":57891.0,"unclassified_vol":0.0,"imbalance":-0.115154,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.01848},"context":{"vwap":10.459958,"price_vs_vwap_pct":-0.047404,"ema9":10.458251,"ema20":10.444824,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.059903,"dist_to_hod_atr":2.778199,"atr":0.040314,"spread_atr":0.248053,"own_change_pct":0.238503,"rel_strength_pct":{"SPY":0.217763,"IWM":0.285455}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.486816},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d57d63cede38","ts":"2026-08-28T14:25:40+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":4.9913,"target":5.14,"target_label":"ceiling","reward_risk":0.38,"pos_in_5d_range_pct":30.6,"room_to_5d_high_atr":1.42},"price":5.0989,"vwap":5.0583,"ext_from_open_pct":0.77,"max_ext_allowed_pct":3.0,"volume_pace":0.42,"trend":"flat","recent_slope_pct":-0.0751,"volatility":"high"},"price":5.0989,"volume":{"bars":55,"last_bar_volume":36097.0,"baseline_avg":22963.9,"bar_rvol":1.571902,"raw_accel":1.488247,"smooth_accel":-0.284059,"accel_momentum":0.18118,"rvol_3bar":[0.651745,0.635922,1.571902],"trend_3bar":"MIXED","projected_rvol":1.568984},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":5345.0,"sell_vol":4083.0,"unclassified_vol":0.0,"imbalance":0.133857,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.455277},"context":{"vwap":5.057755,"price_vs_vwap_pct":0.813496,"ema9":5.102041,"ema20":5.083933,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.799611,"dist_to_hod_atr":1.381294,"atr":0.029755,"spread_atr":0.336081,"own_change_pct":0.074437,"rel_strength_pct":{"SPY":0.053696,"IWM":0.121388}},"vas":{"raw":2,"score":5.6,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.210409},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"745195c71ff1","ts":"2026-08-28T14:25:45+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.3413,"target":10.567,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":77.7,"room_to_5d_high_atr":0.42},"price":10.46,"vwap":10.46,"ext_from_open_pct":-0.66,"max_ext_allowed_pct":3.0,"volume_pace":0.876,"trend":"flat","recent_slope_pct":-0.0764,"volatility":"medium"},"price":10.46,"volume":{"bars":55,"last_bar_volume":597273.0,"baseline_avg":141282.25,"bar_rvol":4.227516,"raw_accel":12.604998,"smooth_accel":0.841247,"accel_momentum":0.61643,"rvol_3bar":[2.42104,0.303471,4.227516],"trend_3bar":"MIXED","projected_rvol":1.621794},"flow":{"window_s":30,"trades":85,"trade_rate":2.833333,"buy_vol":48797.0,"sell_vol":30193.0,"unclassified_vol":0.0,"imbalance":0.235523,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.000357},"context":{"vwap":10.459958,"price_vs_vwap_pct":0.000398,"ema9":10.458251,"ema20":10.444824,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.012586,"dist_to_hod_atr":2.654172,"atr":0.040314,"spread_atr":0.248053,"own_change_pct":0.238503,"rel_strength_pct":{"SPY":0.217763,"IWM":0.285455}},"vas":{"raw":8,"score":9.4,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.995679},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"82e90657dd29","ts":"2026-08-28T14:25:50+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.46 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3413,"target":10.567,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":77.7,"room_to_5d_high_atr":0.42},"price":10.46,"vwap":10.46,"ext_from_open_pct":-0.66,"max_ext_allowed_pct":3.0,"volume_pace":0.88,"trend":"flat","recent_slope_pct":-0.0764,"volatility":"medium"},"price":10.46,"volume":{"bars":55,"last_bar_volume":597273.0,"baseline_avg":141282.25,"bar_rvol":4.227516,"raw_accel":12.604998,"smooth_accel":0.841247,"accel_momentum":0.61643,"rvol_3bar":[2.42104,0.303471,4.227516],"trend_3bar":"MIXED","projected_rvol":1.911824},"flow":{"window_s":30,"trades":128,"trade_rate":4.266667,"buy_vol":87553.0,"sell_vol":43639.0,"unclassified_vol":0.0,"imbalance":0.334731,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.040185},"context":{"vwap":10.459958,"price_vs_vwap_pct":0.000398,"ema9":10.458251,"ema20":10.444824,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.012586,"dist_to_hod_atr":2.654172,"atr":0.040314,"spread_atr":0.248053,"own_change_pct":0.238503,"rel_strength_pct":{"SPY":0.217763,"IWM":0.285455}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.41508},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"27d3567b167b","ts":"2026-08-28T14:26:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.5,"target":11.14,"target_label":"ceiling","reward_risk":0.23,"pos_in_5d_range_pct":-10.0,"room_to_5d_high_atr":1.63},"price":11.0199,"vwap":10.9986,"ext_from_open_pct":-1.08,"max_ext_allowed_pct":4.0,"volume_pace":1.793,"trend":"flat","recent_slope_pct":0.1067,"volatility":"high"},"price":11.0199,"volume":{"bars":56,"last_bar_volume":19567.0,"baseline_avg":32664.4,"bar_rvol":0.599031,"raw_accel":-0.203946,"smooth_accel":-0.304126,"accel_momentum":-0.190702,"rvol_3bar":[0.504178,0.748193,0.599031],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":120,"trade_rate":4.0,"buy_vol":11095.0,"sell_vol":5197.0,"unclassified_vol":0.0,"imbalance":0.362018,"bid":11.01,"ask":11.02,"spread_pct":0.090785,"quote_size_imbalance":null,"quote_age_s":0.187287},"context":{"vwap":10.998531,"price_vs_vwap_pct":0.194287,"ema9":10.979347,"ema20":10.966207,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.44877,"dist_to_hod_atr":1.711745,"atr":0.09464,"spread_atr":0.105663,"own_change_pct":0.294163,"rel_strength_pct":{"SPY":0.343411,"IWM":0.410378}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.21686},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"067f72e5db03","ts":"2026-08-28T14:26:20+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.99 below VWAP $11.00","plan":{"state":"PASS","setup":"","stop":10.5,"target":11.14,"target_label":"ceiling","reward_risk":0.29,"pos_in_5d_range_pct":-12.1,"room_to_5d_high_atr":1.66},"price":10.995,"vwap":10.9986,"ext_from_open_pct":-1.3,"max_ext_allowed_pct":3.0,"volume_pace":1.792,"trend":"flat","recent_slope_pct":0.0615,"volatility":"high"},"price":10.995,"volume":{"bars":56,"last_bar_volume":19567.0,"baseline_avg":32664.4,"bar_rvol":0.599031,"raw_accel":-0.203946,"smooth_accel":-0.304126,"accel_momentum":-0.190702,"rvol_3bar":[0.504178,0.748193,0.599031],"trend_3bar":"MIXED","projected_rvol":1.039297},"flow":{"window_s":30,"trades":89,"trade_rate":2.966667,"buy_vol":7919.0,"sell_vol":5414.0,"unclassified_vol":0.0,"imbalance":0.18788,"bid":10.99,"ask":11.0,"spread_pct":0.09095,"quote_size_imbalance":null,"quote_age_s":0.047702},"context":{"vwap":10.998531,"price_vs_vwap_pct":-0.032107,"ema9":10.979347,"ema20":10.966207,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.671451,"dist_to_hod_atr":1.974847,"atr":0.09464,"spread_atr":0.105663,"own_change_pct":0.294163,"rel_strength_pct":{"SPY":0.343411,"IWM":0.410378}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.112546},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"64d329e478fe","ts":"2026-08-28T14:26:30+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":5.0008,"target":5.18,"target_label":"premarket_high","reward_risk":0.67,"pos_in_5d_range_pct":31.7,"room_to_5d_high_atr":1.39},"price":5.1084,"vwap":5.0584,"ext_from_open_pct":0.96,"max_ext_allowed_pct":3.0,"volume_pace":0.415,"trend":"flat","recent_slope_pct":-0.1139,"volatility":"high"},"price":5.1084,"volume":{"bars":56,"last_bar_volume":27117.0,"baseline_avg":24221.2,"bar_rvol":1.119556,"raw_accel":-0.248774,"smooth_accel":-0.045478,"accel_momentum":0.238581,"rvol_3bar":[0.635922,1.571902,1.119556],"trend_3bar":"MIXED","projected_rvol":0.061103},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":583.0,"sell_vol":157.0,"unclassified_vol":0.0,"imbalance":0.575676,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.034627},"context":{"vwap":5.058332,"price_vs_vwap_pct":0.989804,"ema9":5.099633,"ema20":5.08451,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.614786,"dist_to_hod_atr":1.089625,"atr":0.029001,"spread_atr":0.344818,"own_change_pct":-0.38944,"rel_strength_pct":{"SPY":-0.340192,"IWM":-0.273225}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.644501},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f58fd46b5ebb","ts":"2026-08-28T14:26:35+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":4.9874,"target":5.14,"target_label":"ceiling","reward_risk":0.42,"pos_in_5d_range_pct":30.2,"room_to_5d_high_atr":1.43},"price":5.095,"vwap":5.0584,"ext_from_open_pct":0.69,"max_ext_allowed_pct":3.0,"volume_pace":0.415,"trend":"flat","recent_slope_pct":-0.1664,"volatility":"high"},"price":5.095,"volume":{"bars":56,"last_bar_volume":27117.0,"baseline_avg":24221.2,"bar_rvol":1.119556,"raw_accel":-0.248774,"smooth_accel":-0.045478,"accel_momentum":0.238581,"rvol_3bar":[0.635922,1.571902,1.119556],"trend_3bar":"MIXED","projected_rvol":0.096185},"flow":{"window_s":30,"trades":13,"trade_rate":0.433333,"buy_vol":383.0,"sell_vol":669.0,"unclassified_vol":0.0,"imbalance":-0.271863,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.193163},"context":{"vwap":5.058332,"price_vs_vwap_pct":0.724895,"ema9":5.099633,"ema20":5.08451,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.875486,"dist_to_hod_atr":1.551681,"atr":0.029001,"spread_atr":0.344818,"own_change_pct":-0.38944,"rel_strength_pct":{"SPY":-0.340192,"IWM":-0.273225}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.304366},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"74a79452875b","ts":"2026-08-28T14:26:40+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.5,"target":11.14,"target_label":"ceiling","reward_risk":0.25,"pos_in_5d_range_pct":-10.7,"room_to_5d_high_atr":1.64},"price":11.012,"vwap":10.9986,"ext_from_open_pct":-1.15,"max_ext_allowed_pct":4.0,"volume_pace":1.783,"trend":"flat","recent_slope_pct":0.0924,"volatility":"high"},"price":11.012,"volume":{"bars":56,"last_bar_volume":19567.0,"baseline_avg":32664.4,"bar_rvol":0.599031,"raw_accel":-0.203946,"smooth_accel":-0.304126,"accel_momentum":-0.190702,"rvol_3bar":[0.504178,0.748193,0.599031],"trend_3bar":"MIXED","projected_rvol":0.634085},"flow":{"window_s":30,"trades":85,"trade_rate":2.833333,"buy_vol":3809.0,"sell_vol":3138.0,"unclassified_vol":0.0,"imbalance":0.096588,"bid":11.01,"ask":11.02,"spread_pct":0.090785,"quote_size_imbalance":null,"quote_age_s":0.203496},"context":{"vwap":10.998531,"price_vs_vwap_pct":0.122459,"ema9":10.979347,"ema20":10.966207,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.51942,"dist_to_hod_atr":1.795219,"atr":0.09464,"spread_atr":0.105663,"own_change_pct":0.294163,"rel_strength_pct":{"SPY":0.343411,"IWM":0.410378}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.05786},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c48c0e965cff","ts":"2026-08-28T14:27:05+00:00","symbol":"XPON","event":"REJECT","bot":{"state":"REJECT","reason":"extended +13.9% above open $8.90 (max 5%: volume pace strong, buying strong)","plan":{"state":"PASS","setup":"","stop":9.7273,"target":11.79,"target_label":"range_20d_high","reward_risk":4.09,"pos_in_5d_range_pct":80.2,"room_to_5d_high_atr":1.19},"price":10.1328,"vwap":9.8277,"ext_from_open_pct":13.85,"max_ext_allowed_pct":5.0,"volume_pace":29.409,"trend":"flat","recent_slope_pct":0.1781,"volatility":"high"},"price":10.1328,"volume":{"bars":57,"last_bar_volume":67936.0,"baseline_avg":164000.3,"bar_rvol":0.414243,"raw_accel":0.084685,"smooth_accel":-0.133562,"accel_momentum":0.204608,"rvol_3bar":[0.961412,0.383953,0.414243],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":530,"trade_rate":17.666667,"buy_vol":40211.0,"sell_vol":10744.0,"unclassified_vol":0.0,"imbalance":0.578295,"bid":10.13,"ask":10.15,"spread_pct":0.197239,"quote_size_imbalance":null,"quote_age_s":0.657212},"context":{"vwap":9.827416,"price_vs_vwap_pct":3.107471,"ema9":10.090335,"ema20":9.942262,"ema_stack":true,"ema_warm":true,"hod":10.78,"dist_to_hod_pct":-6.003711,"dist_to_hod_atr":1.640314,"atr":0.394559,"spread_atr":0.05069,"own_change_pct":-0.592897,"rel_strength_pct":{"SPY":-0.522288,"IWM":-0.475577}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.239555},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1dd66450b6d5","ts":"2026-08-28T14:27:05+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":4.9974,"target":5.18,"target_label":"premarket_high","reward_risk":0.7,"pos_in_5d_range_pct":31.3,"room_to_5d_high_atr":1.4},"price":5.105,"vwap":5.0586,"ext_from_open_pct":0.89,"max_ext_allowed_pct":4.0,"volume_pace":0.413,"trend":"flat","recent_slope_pct":-0.0564,"volatility":"high"},"price":5.105,"volume":{"bars":57,"last_bar_volume":5732.0,"baseline_avg":24330.8,"bar_rvol":0.235586,"raw_accel":-0.78862,"smooth_accel":0.194967,"accel_momentum":0.240445,"rvol_3bar":[1.571902,1.119556,0.235586],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":7395.0,"sell_vol":3313.0,"unclassified_vol":0.0,"imbalance":0.38121,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.35976},"context":{"vwap":5.058462,"price_vs_vwap_pct":0.920006,"ema9":5.099706,"ema20":5.085986,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.680934,"dist_to_hod_atr":1.239218,"atr":0.028244,"spread_atr":0.354062,"own_change_pct":-0.195695,"rel_strength_pct":{"SPY":-0.125086,"IWM":-0.078375}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.089808},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"a75f5cf59ec7","ts":"2026-08-28T14:27:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.5012,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.104,"trend":"flat","recent_slope_pct":-0.1268,"volatility":"medium"},"price":5.51,"volume":{"bars":57,"last_bar_volume":15343.0,"baseline_avg":62990.2,"bar_rvol":0.243578,"raw_accel":-0.404895,"smooth_accel":-0.57375,"accel_momentum":-0.398082,"rvol_3bar":[0.432821,0.384279,0.243578],"trend_3bar":"DECELERATING","projected_rvol":0.119828},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":1196.0,"sell_vol":1598.0,"unclassified_vol":0.0,"imbalance":-0.14388,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.551388},"context":{"vwap":5.501206,"price_vs_vwap_pct":0.159854,"ema9":5.521813,"ema20":5.520145,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.51547,"atr":0.027828,"spread_atr":0.359353,"own_change_pct":-0.361664,"rel_strength_pct":{"SPY":-0.291055,"IWM":-0.244344}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.035046},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"ce2d41c0b261","ts":"2026-08-28T14:27:15+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"holding 10.0s / 18s","plan":{"state":"PASS","setup":"","stop":4.9924,"target":5.14,"target_label":"ceiling","reward_risk":0.37,"pos_in_5d_range_pct":30.7,"room_to_5d_high_atr":1.41},"price":5.1,"vwap":5.0587,"ext_from_open_pct":0.79,"max_ext_allowed_pct":3.0,"volume_pace":0.413,"trend":"flat","recent_slope_pct":-0.076,"volatility":"high"},"price":5.1,"volume":{"bars":57,"last_bar_volume":5732.0,"baseline_avg":24330.8,"bar_rvol":0.235586,"raw_accel":-0.78862,"smooth_accel":0.194967,"accel_momentum":0.240445,"rvol_3bar":[1.571902,1.119556,0.235586],"trend_3bar":"DECELERATING","projected_rvol":1.373239},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":8034.0,"sell_vol":3138.0,"unclassified_vol":0.0,"imbalance":0.438238,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.422337},"context":{"vwap":5.058462,"price_vs_vwap_pct":0.821162,"ema9":5.099706,"ema20":5.085986,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.77821,"dist_to_hod_atr":1.41625,"atr":0.028244,"spread_atr":0.354062,"own_change_pct":-0.195695,"rel_strength_pct":{"SPY":-0.125086,"IWM":-0.078375}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.103243},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"c18bfa26c3c7","ts":"2026-08-28T14:27:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.5% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4626,"target":5.57,"target_label":"prev_day_high","reward_risk":0.42,"pos_in_5d_range_pct":46.9,"room_to_5d_high_atr":1.53},"price":5.538,"vwap":5.5012,"ext_from_open_pct":3.51,"max_ext_allowed_pct":3.0,"volume_pace":1.103,"trend":"flat","recent_slope_pct":-0.0253,"volatility":"medium"},"price":5.538,"volume":{"bars":57,"last_bar_volume":15343.0,"baseline_avg":62990.2,"bar_rvol":0.243578,"raw_accel":-0.404895,"smooth_accel":-0.57375,"accel_momentum":-0.398082,"rvol_3bar":[0.432821,0.384279,0.243578],"trend_3bar":"DECELERATING","projected_rvol":0.1234},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":1809.0,"sell_vol":1583.0,"unclassified_vol":0.0,"imbalance":0.066627,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.060183},"context":{"vwap":5.501206,"price_vs_vwap_pct":0.668834,"ema9":5.521813,"ema20":5.520145,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.752688,"dist_to_hod_atr":1.509282,"atr":0.027828,"spread_atr":0.359353,"own_change_pct":-0.361664,"rel_strength_pct":{"SPY":-0.291055,"IWM":-0.244344}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.016229},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"85639f48c78c","ts":"2026-08-28T14:27:25+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"held 20.0s, plan says WATCH; stop 5.00, target 5.18 (premarket_high), R:R 0.65; R:R 0.65 < 2.0 at 5.11; breakout: 1-min close > 5.15 on >= 47939 sh","plan":{"state":"WATCH","setup":"","stop":5.0024,"target":5.18,"target_label":"premarket_high","reward_risk":0.65,"pos_in_5d_range_pct":31.9,"room_to_5d_high_atr":1.39},"price":5.11,"vwap":5.0588,"ext_from_open_pct":0.99,"max_ext_allowed_pct":3.0,"volume_pace":0.412,"trend":"flat","recent_slope_pct":-0.0368,"volatility":"high"},"price":5.11,"volume":{"bars":57,"last_bar_volume":5732.0,"baseline_avg":24330.8,"bar_rvol":0.235586,"raw_accel":-0.78862,"smooth_accel":0.194967,"accel_momentum":0.240445,"rvol_3bar":[1.571902,1.119556,0.235586],"trend_3bar":"DECELERATING","projected_rvol":1.129137},"flow":{"window_s":30,"trades":94,"trade_rate":3.133333,"buy_vol":9163.0,"sell_vol":4193.0,"unclassified_vol":0.0,"imbalance":0.372117,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.147718},"context":{"vwap":5.058462,"price_vs_vwap_pct":1.01885,"ema9":5.099706,"ema20":5.085986,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.583658,"dist_to_hod_atr":1.062187,"atr":0.028244,"spread_atr":0.354062,"own_change_pct":-0.195695,"rel_strength_pct":{"SPY":-0.125086,"IWM":-0.078375}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.087666},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"4de67df1670d","ts":"2026-08-28T14:27:40+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4347,"target":5.57,"target_label":"prev_day_high","reward_risk":0.79,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.5101,"vwap":5.5012,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.099,"trend":"flat","recent_slope_pct":-0.1265,"volatility":"medium"},"price":5.5101,"volume":{"bars":57,"last_bar_volume":15343.0,"baseline_avg":62990.2,"bar_rvol":0.243578,"raw_accel":-0.404895,"smooth_accel":-0.57375,"accel_momentum":-0.398082,"rvol_3bar":[0.432821,0.384279,0.243578],"trend_3bar":"DECELERATING","projected_rvol":0.266875},"flow":{"window_s":30,"trades":78,"trade_rate":2.6,"buy_vol":2920.0,"sell_vol":6862.0,"unclassified_vol":0.0,"imbalance":-0.402985,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.386552},"context":{"vwap":5.501206,"price_vs_vwap_pct":0.161672,"ema9":5.521813,"ema20":5.520145,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.252688,"dist_to_hod_atr":2.511877,"atr":0.027828,"spread_atr":0.359353,"own_change_pct":-0.361664,"rel_strength_pct":{"SPY":-0.291055,"IWM":-0.244344}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.098158},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"d59fc06585ac","ts":"2026-08-28T14:27:40+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"held 35.0s, plan says PASS; stop 4.99, target 5.14 (ceiling), R:R 0.37; R:R 0.37 < 2.0 at 5.10; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":4.9924,"target":5.14,"target_label":"ceiling","reward_risk":0.37,"pos_in_5d_range_pct":30.7,"room_to_5d_high_atr":1.41},"price":5.1,"vwap":5.0587,"ext_from_open_pct":0.79,"max_ext_allowed_pct":3.0,"volume_pace":0.41,"trend":"flat","recent_slope_pct":-0.076,"volatility":"high"},"price":5.1,"volume":{"bars":57,"last_bar_volume":5732.0,"baseline_avg":24330.8,"bar_rvol":0.235586,"raw_accel":-0.78862,"smooth_accel":0.194967,"accel_momentum":0.240445,"rvol_3bar":[1.571902,1.119556,0.235586],"trend_3bar":"DECELERATING","projected_rvol":0.713725},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":2524.0,"sell_vol":1669.0,"unclassified_vol":0.0,"imbalance":0.203911,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":1.476483},"context":{"vwap":5.058462,"price_vs_vwap_pct":0.821162,"ema9":5.099706,"ema20":5.085986,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.77821,"dist_to_hod_atr":1.41625,"atr":0.028244,"spread_atr":0.354062,"own_change_pct":-0.195695,"rel_strength_pct":{"SPY":-0.125086,"IWM":-0.078375}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.048039},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"e8556b3cec95","ts":"2026-08-28T14:27:40+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.98 below VWAP $11.00","plan":{"state":"PASS","setup":"","stop":10.5,"target":11.14,"target_label":"ceiling","reward_risk":0.32,"pos_in_5d_range_pct":-13.0,"room_to_5d_high_atr":1.68},"price":10.985,"vwap":10.9986,"ext_from_open_pct":-1.39,"max_ext_allowed_pct":3.0,"volume_pace":1.769,"trend":"flat","recent_slope_pct":0.0273,"volatility":"high"},"price":10.985,"volume":{"bars":57,"last_bar_volume":16729.0,"baseline_avg":32465.3,"bar_rvol":0.515289,"raw_accel":-0.14504,"smooth_accel":-0.220478,"accel_momentum":0.083648,"rvol_3bar":[0.748193,0.599031,0.515289],"trend_3bar":"DECELERATING","projected_rvol":0.739436},"flow":{"window_s":30,"trades":96,"trade_rate":3.2,"buy_vol":3302.0,"sell_vol":5259.0,"unclassified_vol":0.0,"imbalance":-0.228595,"bid":10.98,"ask":10.99,"spread_pct":0.091033,"quote_size_imbalance":null,"quote_age_s":0.396751},"context":{"vwap":10.998568,"price_vs_vwap_pct":-0.123364,"ema9":10.985478,"ema20":10.970378,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.760881,"dist_to_hod_atr":2.168463,"atr":0.090802,"spread_atr":0.11013,"own_change_pct":0.136426,"rel_strength_pct":{"SPY":0.207034,"IWM":0.253745}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.117792},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"35458bd9ae52","ts":"2026-08-28T14:28:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":5.4396,"target":5.57,"target_label":"prev_day_high","reward_risk":0.73,"pos_in_5d_range_pct":44.3,"room_to_5d_high_atr":1.61},"price":5.515,"vwap":5.5013,"ext_from_open_pct":3.08,"max_ext_allowed_pct":4.0,"volume_pace":1.096,"trend":"flat","recent_slope_pct":-0.0272,"volatility":"medium"},"price":5.515,"volume":{"bars":58,"last_bar_volume":29880.0,"baseline_avg":61225.75,"bar_rvol":0.48803,"raw_accel":0.947468,"smooth_accel":-0.596427,"accel_momentum":-0.022677,"rvol_3bar":[0.384279,0.243578,0.48803],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":17114.0,"sell_vol":8782.0,"unclassified_vol":0.0,"imbalance":0.321749,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":1.980887},"context":{"vwap":5.501314,"price_vs_vwap_pct":0.248782,"ema9":5.51945,"ema20":5.519179,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.164875,"dist_to_hod_atr":2.333564,"atr":0.027854,"spread_atr":0.35901,"own_change_pct":-0.631199,"rel_strength_pct":{"SPY":-0.440166,"IWM":-0.332972}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.157023},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5156a0b5565d","ts":"2026-08-28T14:28:05+00:00","symbol":"LCID","event":"WAIT","bot":{"state":"WAIT","reason":"held 60.0s, plan says WATCH; stop 5.00, target 5.18 (premarket_high), R:R 0.70; selling not fading: red-bar volume 1.07x the advance (max 0.7); no reclaim yet (needs a close > 5.11); R:R 0.70 < 2.0 at","plan":{"state":"WATCH","setup":"","stop":4.9968,"target":5.18,"target_label":"premarket_high","reward_risk":0.7,"pos_in_5d_range_pct":31.2,"room_to_5d_high_atr":1.4},"price":5.1044,"vwap":5.0588,"ext_from_open_pct":0.88,"max_ext_allowed_pct":3.0,"volume_pace":0.408,"trend":"flat","recent_slope_pct":0.0,"volatility":"high"},"price":5.1044,"volume":{"bars":58,"last_bar_volume":15043.0,"baseline_avg":20240.05,"bar_rvol":0.743229,"raw_accel":1.624389,"smooth_accel":-0.271992,"accel_momentum":-0.466959,"rvol_3bar":[1.119556,0.235586,0.743229],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":1743.0,"sell_vol":1844.0,"unclassified_vol":0.0,"imbalance":-0.028157,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.907259},"context":{"vwap":5.058812,"price_vs_vwap_pct":0.901152,"ema9":5.099525,"ema20":5.087206,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.692607,"dist_to_hod_atr":1.270887,"atr":0.028012,"spread_atr":0.356991,"own_change_pct":-0.51122,"rel_strength_pct":{"SPY":-0.320186,"IWM":-0.212992}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.020927},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3d71fb98dec8","ts":"2026-08-28T14:28:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4408,"target":5.57,"target_label":"prev_day_high","reward_risk":0.71,"pos_in_5d_range_pct":44.4,"room_to_5d_high_atr":1.6},"price":5.5162,"vwap":5.5014,"ext_from_open_pct":3.11,"max_ext_allowed_pct":3.0,"volume_pace":1.093,"trend":"flat","recent_slope_pct":-0.0228,"volatility":"medium"},"price":5.5162,"volume":{"bars":58,"last_bar_volume":29880.0,"baseline_avg":61225.75,"bar_rvol":0.48803,"raw_accel":0.947468,"smooth_accel":-0.596427,"accel_momentum":-0.022677,"rvol_3bar":[0.384279,0.243578,0.48803],"trend_3bar":"MIXED","projected_rvol":0.728027},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":14706.0,"sell_vol":10657.0,"unclassified_vol":0.0,"imbalance":0.159642,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":1.386496},"context":{"vwap":5.501314,"price_vs_vwap_pct":0.270595,"ema9":5.51945,"ema20":5.519179,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.143369,"dist_to_hod_atr":2.290483,"atr":0.027854,"spread_atr":0.35901,"own_change_pct":-0.631199,"rel_strength_pct":{"SPY":-0.440166,"IWM":-0.332972}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.07791},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bae024a28b69","ts":"2026-08-28T14:28:45+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.5014,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.087,"trend":"flat","recent_slope_pct":-0.0453,"volatility":"medium"},"price":5.51,"volume":{"bars":58,"last_bar_volume":29880.0,"baseline_avg":61225.75,"bar_rvol":0.48803,"raw_accel":0.947468,"smooth_accel":-0.596427,"accel_momentum":-0.022677,"rvol_3bar":[0.384279,0.243578,0.48803],"trend_3bar":"MIXED","projected_rvol":0.448461},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":3722.0,"sell_vol":7175.0,"unclassified_vol":0.0,"imbalance":-0.316876,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.0627},"context":{"vwap":5.501314,"price_vs_vwap_pct":0.157895,"ema9":5.51945,"ema20":5.519179,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.513069,"atr":0.027854,"spread_atr":0.35901,"own_change_pct":-0.631199,"rel_strength_pct":{"SPY":-0.440166,"IWM":-0.332972}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.154645},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7eefe33321ae","ts":"2026-08-28T14:28:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4421,"target":5.57,"target_label":"prev_day_high","reward_risk":0.7,"pos_in_5d_range_pct":44.5,"room_to_5d_high_atr":1.6},"price":5.5175,"vwap":5.5014,"ext_from_open_pct":3.13,"max_ext_allowed_pct":3.0,"volume_pace":1.085,"trend":"flat","recent_slope_pct":-0.0181,"volatility":"medium"},"price":5.5175,"volume":{"bars":58,"last_bar_volume":29880.0,"baseline_avg":61225.75,"bar_rvol":0.48803,"raw_accel":0.947468,"smooth_accel":-0.596427,"accel_momentum":-0.022677,"rvol_3bar":[0.384279,0.243578,0.48803],"trend_3bar":"MIXED","projected_rvol":0.41902},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":2387.0,"sell_vol":4134.0,"unclassified_vol":0.0,"imbalance":-0.267904,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":1.962372},"context":{"vwap":5.501314,"price_vs_vwap_pct":0.294226,"ema9":5.51945,"ema20":5.519179,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.120072,"dist_to_hod_atr":2.243812,"atr":0.027854,"spread_atr":0.35901,"own_change_pct":-0.631199,"rel_strength_pct":{"SPY":-0.440166,"IWM":-0.332972}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.130745},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a0e528c21cfd","ts":"2026-08-28T14:29:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.5014,"ext_from_open_pct":2.99,"max_ext_allowed_pct":4.0,"volume_pace":1.083,"trend":"flat","recent_slope_pct":-0.0453,"volatility":"medium"},"price":5.51,"volume":{"bars":58,"last_bar_volume":29880.0,"baseline_avg":61225.75,"bar_rvol":0.48803,"raw_accel":0.947468,"smooth_accel":-0.596427,"accel_momentum":-0.022677,"rvol_3bar":[0.384279,0.243578,0.48803],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":3846.0,"sell_vol":4439.0,"unclassified_vol":0.0,"imbalance":-0.071575,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.002819},"context":{"vwap":5.501314,"price_vs_vwap_pct":0.157895,"ema9":5.51945,"ema20":5.519179,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.513069,"atr":0.027854,"spread_atr":0.35901,"own_change_pct":-0.631199,"rel_strength_pct":{"SPY":-0.542418,"IWM":-0.466781}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.034931},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e81d8268c7cc","ts":"2026-08-28T14:29:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4396,"target":5.57,"target_label":"prev_day_high","reward_risk":0.73,"pos_in_5d_range_pct":44.3,"room_to_5d_high_atr":1.61},"price":5.515,"vwap":5.5014,"ext_from_open_pct":3.08,"max_ext_allowed_pct":3.0,"volume_pace":1.081,"trend":"flat","recent_slope_pct":0.0,"volatility":"medium"},"price":5.515,"volume":{"bars":59,"last_bar_volume":23458.0,"baseline_avg":61044.65,"bar_rvol":0.384276,"raw_accel":-0.214926,"smooth_accel":-0.365903,"accel_momentum":0.230525,"rvol_3bar":[0.243578,0.48803,0.384276],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":5416.0,"sell_vol":6515.0,"unclassified_vol":0.0,"imbalance":-0.092113,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.605085},"context":{"vwap":5.501389,"price_vs_vwap_pct":0.247415,"ema9":5.51756,"ema20":5.518305,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.164875,"dist_to_hod_atr":2.365436,"atr":0.027479,"spread_atr":0.363913,"own_change_pct":-0.541516,"rel_strength_pct":{"SPY":-0.452734,"IWM":-0.377098}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.035397},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2a74b85fe847","ts":"2026-08-28T14:29:30+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.9256,"target":8.53,"target_label":"premarket_high","reward_risk":0.81,"pos_in_5d_range_pct":46.7,"room_to_5d_high_atr":0.96},"price":8.26,"vwap":8.2312,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":0.597,"trend":"flat","recent_slope_pct":0.0096,"volatility":"high"},"price":8.26,"volume":{"bars":57,"last_bar_volume":2.0,"baseline_avg":2668.45,"bar_rvol":0.000749,"raw_accel":-0.997002,"smooth_accel":-0.967765,"accel_momentum":-0.387478,"rvol_3bar":[0.018087,0.041073,0.000749],"trend_3bar":"MIXED","projected_rvol":0.022485},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":0.0,"sell_vol":30.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":8.25,"ask":8.28,"spread_pct":0.362976,"quote_size_imbalance":null,"quote_age_s":87.640398},"context":{"vwap":8.231203,"price_vs_vwap_pct":0.349854,"ema9":8.260428,"ema20":8.25818,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.361882,"dist_to_hod_atr":1.952492,"atr":0.015365,"spread_atr":1.952492,"own_change_pct":0.242424,"rel_strength_pct":{"SPY":0.331206,"IWM":0.406843}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.000749},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"913e63914c5e","ts":"2026-08-28T14:29:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.5014,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.075,"trend":"flat","recent_slope_pct":-0.0181,"volatility":"medium"},"price":5.51,"volume":{"bars":59,"last_bar_volume":23458.0,"baseline_avg":61044.65,"bar_rvol":0.384276,"raw_accel":-0.214926,"smooth_accel":-0.365903,"accel_momentum":0.230525,"rvol_3bar":[0.243578,0.48803,0.384276],"trend_3bar":"MIXED","projected_rvol":0.377401},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":3024.0,"sell_vol":3500.0,"unclassified_vol":0.0,"imbalance":-0.072961,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.062577},"context":{"vwap":5.501389,"price_vs_vwap_pct":0.156529,"ema9":5.51756,"ema20":5.518305,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.547393,"atr":0.027479,"spread_atr":0.363913,"own_change_pct":-0.541516,"rel_strength_pct":{"SPY":-0.452734,"IWM":-0.377098}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.028037},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f97dc71fa870","ts":"2026-08-28T14:29:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.5014,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.073,"trend":"flat","recent_slope_pct":0.0181,"volatility":"medium"},"price":5.52,"volume":{"bars":59,"last_bar_volume":23458.0,"baseline_avg":61044.65,"bar_rvol":0.384276,"raw_accel":-0.214926,"smooth_accel":-0.365903,"accel_momentum":0.230525,"rvol_3bar":[0.243578,0.48803,0.384276],"trend_3bar":"MIXED","projected_rvol":0.333911},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":2517.0,"sell_vol":3214.0,"unclassified_vol":0.0,"imbalance":-0.121619,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":3.563845},"context":{"vwap":5.501389,"price_vs_vwap_pct":0.338302,"ema9":5.51756,"ema20":5.518305,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.18348,"atr":0.027479,"spread_atr":0.363913,"own_change_pct":-0.541516,"rel_strength_pct":{"SPY":-0.452734,"IWM":-0.377098}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.046735},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"982b7e8e1b88","ts":"2026-08-28T14:29:40+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.40x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":4.9824,"target":5.14,"target_label":"ceiling","reward_risk":0.46,"pos_in_5d_range_pct":29.6,"room_to_5d_high_atr":1.44},"price":5.09,"vwap":5.059,"ext_from_open_pct":0.59,"max_ext_allowed_pct":4.0,"volume_pace":0.4,"trend":"flat","recent_slope_pct":0.0073,"volatility":"high"},"price":5.09,"volume":{"bars":59,"last_bar_volume":4932.0,"baseline_avg":20721.85,"bar_rvol":0.23801,"raw_accel":-0.67214,"smooth_accel":-0.66924,"accel_momentum":-0.397248,"rvol_3bar":[0.235586,0.743229,0.23801],"trend_3bar":"MIXED","projected_rvol":0.421584},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":2357.0,"sell_vol":1642.0,"unclassified_vol":0.0,"imbalance":0.178795,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":0.45742},"context":{"vwap":5.058926,"price_vs_vwap_pct":0.61424,"ema9":5.10036,"ema20":5.088777,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.972763,"dist_to_hod_atr":1.822181,"atr":0.02744,"spread_atr":0.364436,"own_change_pct":-0.220919,"rel_strength_pct":{"SPY":-0.132137,"IWM":-0.0565}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.042555},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9088fbebc399","ts":"2026-08-28T14:29:50+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.5015,"ext_from_open_pct":3.18,"max_ext_allowed_pct":4.0,"volume_pace":1.071,"trend":"flat","recent_slope_pct":0.0181,"volatility":"medium"},"price":5.52,"volume":{"bars":59,"last_bar_volume":23458.0,"baseline_avg":61044.65,"bar_rvol":0.384276,"raw_accel":-0.214926,"smooth_accel":-0.365903,"accel_momentum":0.230525,"rvol_3bar":[0.243578,0.48803,0.384276],"trend_3bar":"MIXED","projected_rvol":0.339587},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":3394.0,"sell_vol":3689.0,"unclassified_vol":0.0,"imbalance":-0.041649,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":3.409718},"context":{"vwap":5.501389,"price_vs_vwap_pct":0.338302,"ema9":5.51756,"ema20":5.518305,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.18348,"atr":0.027479,"spread_atr":0.363913,"own_change_pct":-0.541516,"rel_strength_pct":{"SPY":-0.452734,"IWM":-0.377098}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.016005},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b159a7056b4a","ts":"2026-08-28T14:29:55+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.9356,"target":8.53,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":0.96},"price":8.27,"vwap":8.2312,"ext_from_open_pct":0.3,"max_ext_allowed_pct":4.0,"volume_pace":0.593,"trend":"flat","recent_slope_pct":0.0338,"volatility":"high"},"price":8.27,"volume":{"bars":57,"last_bar_volume":2.0,"baseline_avg":2668.45,"bar_rvol":0.000749,"raw_accel":-0.997002,"smooth_accel":-0.967765,"accel_momentum":-0.387478,"rvol_3bar":[0.018087,0.041073,0.000749],"trend_3bar":"MIXED","projected_rvol":0.111607},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":243.0,"sell_vol":30.0,"unclassified_vol":0.0,"imbalance":0.78022,"bid":8.25,"ask":8.28,"spread_pct":0.362976,"quote_size_imbalance":null,"quote_age_s":112.640398},"context":{"vwap":8.231203,"price_vs_vwap_pct":0.471343,"ema9":8.260428,"ema20":8.25818,"ema_stack":true,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.241255,"dist_to_hod_atr":1.301661,"atr":0.015365,"spread_atr":1.952492,"own_change_pct":0.242424,"rel_strength_pct":{"SPY":0.331206,"IWM":0.406843}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.000585},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d4367bc8b253","ts":"2026-08-28T14:30:20+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.9223,"target":8.53,"target_label":"premarket_high","reward_risk":0.82,"pos_in_5d_range_pct":46.6,"room_to_5d_high_atr":0.97},"price":8.2567,"vwap":8.2312,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.589,"trend":"flat","recent_slope_pct":-0.001,"volatility":"high"},"price":8.2567,"volume":{"bars":58,"last_bar_volume":273.0,"baseline_avg":2664.8,"bar_rvol":0.102447,"raw_accel":-0.590213,"smooth_accel":-0.908312,"accel_momentum":0.059454,"rvol_3bar":[0.041073,0.000749,0.102447],"trend_3bar":"MIXED","projected_rvol":0.003377},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":243.0,"sell_vol":3.0,"unclassified_vol":0.0,"imbalance":0.97561,"bid":8.25,"ask":8.28,"spread_pct":0.362976,"quote_size_imbalance":null,"quote_age_s":137.640398},"context":{"vwap":8.23122,"price_vs_vwap_pct":0.309551,"ema9":8.262342,"ema20":8.259306,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.401689,"dist_to_hod_atr":2.222702,"atr":0.014982,"spread_atr":2.002434,"own_change_pct":0.122278,"rel_strength_pct":{"SPY":0.159862,"IWM":0.249777}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.099948},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7a17553b302b","ts":"2026-08-28T14:30:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.49 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4146,"target":5.57,"target_label":"prev_day_high","reward_risk":1.06,"pos_in_5d_range_pct":41.4,"room_to_5d_high_atr":1.69},"price":5.49,"vwap":5.5014,"ext_from_open_pct":2.62,"max_ext_allowed_pct":3.0,"volume_pace":1.069,"trend":"flat","recent_slope_pct":-0.0726,"volatility":"medium"},"price":5.49,"volume":{"bars":60,"last_bar_volume":19135.0,"baseline_avg":61221.65,"bar_rvol":0.312553,"raw_accel":-0.184287,"smooth_accel":0.031497,"accel_momentum":0.3974,"rvol_3bar":[0.48803,0.384276,0.312553],"trend_3bar":"DECELERATING","projected_rvol":1.407541},"flow":{"window_s":30,"trades":135,"trade_rate":4.5,"buy_vol":24962.0,"sell_vol":18124.0,"unclassified_vol":0.0,"imbalance":0.158706,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.002783},"context":{"vwap":5.501449,"price_vs_vwap_pct":-0.208109,"ema9":5.516048,"ema20":5.517514,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.612903,"dist_to_hod_atr":3.319914,"atr":0.027109,"spread_atr":0.368879,"own_change_pct":-0.181159,"rel_strength_pct":{"SPY":-0.143575,"IWM":-0.05366}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.049604},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"fb1cda00567f","ts":"2026-08-28T14:31:05+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.9256,"target":8.53,"target_label":"premarket_high","reward_risk":0.81,"pos_in_5d_range_pct":46.7,"room_to_5d_high_atr":0.96},"price":8.26,"vwap":8.2312,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":0.581,"trend":"flat","recent_slope_pct":-0.0161,"volatility":"high"},"price":8.26,"volume":{"bars":59,"last_bar_volume":3.0,"baseline_avg":2655.85,"bar_rvol":0.00113,"raw_accel":-0.995482,"smooth_accel":-0.926649,"accel_momentum":-0.018338,"rvol_3bar":[0.000749,0.102447,0.00113],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":2.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":34.361262},"context":{"vwap":8.23122,"price_vs_vwap_pct":0.349641,"ema9":8.261214,"ema20":8.259058,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.361882,"dist_to_hod_atr":2.01862,"atr":0.014862,"spread_atr":1.345746,"own_change_pct":-0.039952,"rel_strength_pct":{"SPY":-0.023095,"IWM":0.112251}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.00113},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ae841dd5f44a","ts":"2026-08-28T14:31:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":5.4296,"target":5.57,"target_label":"prev_day_high","reward_risk":0.86,"pos_in_5d_range_pct":43.1,"room_to_5d_high_atr":1.64},"price":5.505,"vwap":5.5015,"ext_from_open_pct":2.9,"max_ext_allowed_pct":3.0,"volume_pace":1.074,"trend":"flat","recent_slope_pct":-0.0454,"volatility":"medium"},"price":5.505,"volume":{"bars":61,"last_bar_volume":87728.0,"baseline_avg":60471.8,"bar_rvol":1.450726,"raw_accel":3.584688,"smooth_accel":0.835378,"accel_momentum":0.80388,"rvol_3bar":[0.384276,0.312553,1.450726],"trend_3bar":"MIXED","projected_rvol":2.871156},"flow":{"window_s":30,"trades":136,"trade_rate":4.533333,"buy_vol":24756.0,"sell_vol":30731.0,"unclassified_vol":0.0,"imbalance":-0.107683,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.026895},"context":{"vwap":5.501496,"price_vs_vwap_pct":0.063689,"ema9":5.511838,"ema20":5.51537,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.344086,"dist_to_hod_atr":2.691488,"atr":0.027866,"spread_atr":0.358865,"own_change_pct":-0.362647,"rel_strength_pct":{"SPY":-0.345791,"IWM":-0.210445}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.156218},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"111c09cea598","ts":"2026-08-28T14:31:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.50 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.5015,"ext_from_open_pct":2.8,"max_ext_allowed_pct":3.0,"volume_pace":1.074,"trend":"flat","recent_slope_pct":-0.0636,"volatility":"medium"},"price":5.5,"volume":{"bars":61,"last_bar_volume":87728.0,"baseline_avg":60471.8,"bar_rvol":1.450726,"raw_accel":3.584688,"smooth_accel":0.835378,"accel_momentum":0.80388,"rvol_3bar":[0.384276,0.312553,1.450726],"trend_3bar":"MIXED","projected_rvol":2.492302},"flow":{"window_s":30,"trades":138,"trade_rate":4.6,"buy_vol":24767.0,"sell_vol":27397.0,"unclassified_vol":0.0,"imbalance":-0.050418,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":1.980099},"context":{"vwap":5.501496,"price_vs_vwap_pct":-0.027195,"ema9":5.511838,"ema20":5.51537,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":2.87092,"atr":0.027866,"spread_atr":0.358865,"own_change_pct":-0.362647,"rel_strength_pct":{"SPY":-0.345791,"IWM":-0.210445}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.073143},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"878860919a1a","ts":"2026-08-28T14:31:25+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":5.4296,"target":5.57,"target_label":"prev_day_high","reward_risk":0.86,"pos_in_5d_range_pct":43.1,"room_to_5d_high_atr":1.64},"price":5.505,"vwap":5.5015,"ext_from_open_pct":2.9,"max_ext_allowed_pct":3.0,"volume_pace":1.073,"trend":"flat","recent_slope_pct":-0.0454,"volatility":"medium"},"price":5.505,"volume":{"bars":61,"last_bar_volume":87728.0,"baseline_avg":60471.8,"bar_rvol":1.450726,"raw_accel":3.584688,"smooth_accel":0.835378,"accel_momentum":0.80388,"rvol_3bar":[0.384276,0.312553,1.450726],"trend_3bar":"MIXED","projected_rvol":2.087466},"flow":{"window_s":30,"trades":123,"trade_rate":4.1,"buy_vol":25390.0,"sell_vol":27789.0,"unclassified_vol":0.0,"imbalance":-0.045112,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.365865},"context":{"vwap":5.501496,"price_vs_vwap_pct":0.063689,"ema9":5.511838,"ema20":5.51537,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.344086,"dist_to_hod_atr":2.691488,"atr":0.027866,"spread_atr":0.358865,"own_change_pct":-0.362647,"rel_strength_pct":{"SPY":-0.345791,"IWM":-0.210445}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.065445},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7e993ecbae13","ts":"2026-08-28T14:31:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.50 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.5015,"ext_from_open_pct":2.8,"max_ext_allowed_pct":3.0,"volume_pace":1.072,"trend":"flat","recent_slope_pct":-0.0636,"volatility":"medium"},"price":5.5,"volume":{"bars":61,"last_bar_volume":87728.0,"baseline_avg":60471.8,"bar_rvol":1.450726,"raw_accel":3.584688,"smooth_accel":0.835378,"accel_momentum":0.80388,"rvol_3bar":[0.384276,0.312553,1.450726],"trend_3bar":"MIXED","projected_rvol":1.764847},"flow":{"window_s":30,"trades":108,"trade_rate":3.6,"buy_vol":27126.0,"sell_vol":38155.0,"unclassified_vol":0.0,"imbalance":-0.168947,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":1.687672},"context":{"vwap":5.501496,"price_vs_vwap_pct":-0.027195,"ema9":5.511838,"ema20":5.51537,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":2.87092,"atr":0.027866,"spread_atr":0.358865,"own_change_pct":-0.362647,"rel_strength_pct":{"SPY":-0.345791,"IWM":-0.210445}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.245095},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bc8c02bcfd0d","ts":"2026-08-28T14:31:45+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.5015,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.072,"trend":"flat","recent_slope_pct":-0.0272,"volatility":"medium"},"price":5.51,"volume":{"bars":61,"last_bar_volume":87728.0,"baseline_avg":60471.8,"bar_rvol":1.450726,"raw_accel":3.584688,"smooth_accel":0.835378,"accel_momentum":0.80388,"rvol_3bar":[0.384276,0.312553,1.450726],"trend_3bar":"MIXED","projected_rvol":1.683253},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":13199.0,"sell_vol":19737.0,"unclassified_vol":0.0,"imbalance":-0.198506,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.477253},"context":{"vwap":5.501496,"price_vs_vwap_pct":0.154573,"ema9":5.511838,"ema20":5.51537,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.512055,"atr":0.027866,"spread_atr":0.358865,"own_change_pct":-0.362647,"rel_strength_pct":{"SPY":-0.345791,"IWM":-0.210445}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.287978},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0747ecafe594","ts":"2026-08-28T14:31:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.50 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.5015,"ext_from_open_pct":2.8,"max_ext_allowed_pct":4.0,"volume_pace":1.069,"trend":"flat","recent_slope_pct":-0.0636,"volatility":"medium"},"price":5.5,"volume":{"bars":61,"last_bar_volume":87728.0,"baseline_avg":60471.8,"bar_rvol":1.450726,"raw_accel":3.584688,"smooth_accel":0.835378,"accel_momentum":0.80388,"rvol_3bar":[0.384276,0.312553,1.450726],"trend_3bar":"MIXED","projected_rvol":1.406792},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":11816.0,"sell_vol":13569.0,"unclassified_vol":0.0,"imbalance":-0.069057,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.763257},"context":{"vwap":5.501496,"price_vs_vwap_pct":-0.027195,"ema9":5.511838,"ema20":5.51537,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":2.87092,"atr":0.027866,"spread_atr":0.358865,"own_change_pct":-0.362647,"rel_strength_pct":{"SPY":-0.345791,"IWM":-0.210445}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.100182},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2a2de4d5e41b","ts":"2026-08-28T14:32:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":5.4296,"target":5.57,"target_label":"prev_day_high","reward_risk":0.86,"pos_in_5d_range_pct":43.1,"room_to_5d_high_atr":1.64},"price":5.505,"vwap":5.5015,"ext_from_open_pct":2.9,"max_ext_allowed_pct":3.0,"volume_pace":1.067,"trend":"flat","recent_slope_pct":-0.0363,"volatility":"medium"},"price":5.505,"volume":{"bars":62,"last_bar_volume":78134.0,"baseline_avg":61029.35,"bar_rvol":1.280269,"raw_accel":-0.109361,"smooth_accel":1.693569,"accel_momentum":0.858191,"rvol_3bar":[0.312553,1.450726,1.280269],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":11075.0,"sell_vol":8198.0,"unclassified_vol":0.0,"imbalance":0.149276,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.225208},"context":{"vwap":5.501531,"price_vs_vwap_pct":0.063057,"ema9":5.509471,"ema20":5.513906,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.344086,"dist_to_hod_atr":2.666645,"atr":0.028125,"spread_atr":0.355553,"own_change_pct":-0.181488,"rel_strength_pct":{"SPY":-0.179543,"IWM":-0.077454}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.191114},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a2d9a476bd90","ts":"2026-08-28T14:32:05+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.39x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9912,"target":5.14,"target_label":"ceiling","reward_risk":0.38,"pos_in_5d_range_pct":30.6,"room_to_5d_high_atr":1.42},"price":5.0988,"vwap":5.0596,"ext_from_open_pct":0.77,"max_ext_allowed_pct":3.0,"volume_pace":0.39,"trend":"flat","recent_slope_pct":-0.0094,"volatility":"high"},"price":5.0988,"volume":{"bars":62,"last_bar_volume":6403.0,"baseline_avg":19345.1,"bar_rvol":0.330988,"raw_accel":-0.588575,"smooth_accel":0.215661,"accel_momentum":0.593845,"rvol_3bar":[0.463809,0.782747,0.330988],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":1080.0,"sell_vol":5635.0,"unclassified_vol":0.0,"imbalance":-0.678332,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.011136},"context":{"vwap":5.059462,"price_vs_vwap_pct":0.777513,"ema9":5.097144,"ema20":5.090005,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.801556,"dist_to_hod_atr":1.561755,"atr":0.026381,"spread_atr":0.379067,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.001945,"IWM":0.104034}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.22452},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"50a56d97bf6e","ts":"2026-08-28T14:32:15+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.50 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.5015,"ext_from_open_pct":2.8,"max_ext_allowed_pct":3.0,"volume_pace":1.065,"trend":"flat","recent_slope_pct":-0.0545,"volatility":"medium"},"price":5.5,"volume":{"bars":62,"last_bar_volume":78134.0,"baseline_avg":61029.35,"bar_rvol":1.280269,"raw_accel":-0.109361,"smooth_accel":1.693569,"accel_momentum":0.858191,"rvol_3bar":[0.312553,1.450726,1.280269],"trend_3bar":"MIXED","projected_rvol":0.334528},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":2356.0,"sell_vol":4540.0,"unclassified_vol":0.0,"imbalance":-0.316705,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.16768},"context":{"vwap":5.501531,"price_vs_vwap_pct":-0.027826,"ema9":5.509471,"ema20":5.513906,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":2.844421,"atr":0.028125,"spread_atr":0.355553,"own_change_pct":-0.181488,"rel_strength_pct":{"SPY":-0.179543,"IWM":-0.077454}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.405468},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ad344c32b2e9","ts":"2026-08-28T14:32:20+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.5015,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.063,"trend":"flat","recent_slope_pct":-0.0182,"volatility":"medium"},"price":5.51,"volume":{"bars":62,"last_bar_volume":78134.0,"baseline_avg":61029.35,"bar_rvol":1.280269,"raw_accel":-0.109361,"smooth_accel":1.693569,"accel_momentum":0.858191,"rvol_3bar":[0.312553,1.450726,1.280269],"trend_3bar":"MIXED","projected_rvol":0.260776},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":2368.0,"sell_vol":4335.0,"unclassified_vol":0.0,"imbalance":-0.293451,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":1.62038},"context":{"vwap":5.501531,"price_vs_vwap_pct":0.153941,"ema9":5.509471,"ema20":5.513906,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.488869,"atr":0.028125,"spread_atr":0.355553,"own_change_pct":-0.181488,"rel_strength_pct":{"SPY":-0.179543,"IWM":-0.077454}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.375696},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3939274d6256","ts":"2026-08-28T14:32:50+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.9256,"target":8.53,"target_label":"premarket_high","reward_risk":0.81,"pos_in_5d_range_pct":46.7,"room_to_5d_high_atr":0.96},"price":8.26,"vwap":8.2324,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":0.588,"trend":"flat","recent_slope_pct":-0.0267,"volatility":"high"},"price":8.26,"volume":{"bars":60,"last_bar_volume":20075.0,"baseline_avg":2333.75,"bar_rvol":8.602035,"raw_accel":33.408141,"smooth_accel":113.977401,"accel_momentum":114.90405,"rvol_3bar":[0.102447,0.00113,8.602035],"trend_3bar":"MIXED","projected_rvol":1.119914},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":78.0,"sell_vol":2100.0,"unclassified_vol":0.0,"imbalance":-0.928375,"bid":8.25,"ask":8.26,"spread_pct":0.121139,"quote_size_imbalance":null,"quote_age_s":0.005153},"context":{"vwap":8.232287,"price_vs_vwap_pct":0.336633,"ema9":8.262551,"ema20":8.2599,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.361882,"dist_to_hod_atr":1.989566,"atr":0.015079,"spread_atr":0.663189,"own_change_pct":0.0702,"rel_strength_pct":{"SPY":0.072145,"IWM":0.174234}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-7.985912},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3a5421abde6d","ts":"2026-08-28T14:32:50+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.39x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":4.9932,"target":5.18,"target_label":"premarket_high","reward_risk":0.74,"pos_in_5d_range_pct":30.8,"room_to_5d_high_atr":1.41},"price":5.1008,"vwap":5.0598,"ext_from_open_pct":0.81,"max_ext_allowed_pct":4.0,"volume_pace":0.388,"trend":"flat","recent_slope_pct":-0.0016,"volatility":"high"},"price":5.1008,"volume":{"bars":62,"last_bar_volume":6403.0,"baseline_avg":19345.1,"bar_rvol":0.330988,"raw_accel":-0.588575,"smooth_accel":0.215661,"accel_momentum":0.593845,"rvol_3bar":[0.463809,0.782747,0.330988],"trend_3bar":"MIXED","projected_rvol":0.918372},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":3340.0,"sell_vol":239.0,"unclassified_vol":0.0,"imbalance":0.866443,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.008233},"context":{"vwap":5.059462,"price_vs_vwap_pct":0.817043,"ema9":5.097144,"ema20":5.090005,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.762646,"dist_to_hod_atr":1.485942,"atr":0.026381,"spread_atr":0.379067,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.001945,"IWM":0.104034}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.286782},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a9419c2114fa","ts":"2026-08-28T14:32:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.50 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4246,"target":5.57,"target_label":"prev_day_high","reward_risk":0.93,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.66},"price":5.5,"vwap":5.5016,"ext_from_open_pct":2.8,"max_ext_allowed_pct":4.0,"volume_pace":1.07,"trend":"flat","recent_slope_pct":-0.0545,"volatility":"medium"},"price":5.5,"volume":{"bars":62,"last_bar_volume":78134.0,"baseline_avg":61029.35,"bar_rvol":1.280269,"raw_accel":-0.109361,"smooth_accel":1.693569,"accel_momentum":0.858191,"rvol_3bar":[0.312553,1.450726,1.280269],"trend_3bar":"MIXED","projected_rvol":1.554584},"flow":{"window_s":30,"trades":100,"trade_rate":3.333333,"buy_vol":15050.0,"sell_vol":64317.0,"unclassified_vol":0.0,"imbalance":-0.620749,"bid":5.5,"ask":5.51,"spread_pct":0.181653,"quote_size_imbalance":null,"quote_age_s":0.173531},"context":{"vwap":5.501531,"price_vs_vwap_pct":-0.027826,"ema9":5.509471,"ema20":5.513906,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.433692,"dist_to_hod_atr":2.844421,"atr":0.028125,"spread_atr":0.355553,"own_change_pct":-0.181488,"rel_strength_pct":{"SPY":-0.179543,"IWM":-0.077454}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.794726},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"aefd2aa2ef19","ts":"2026-08-28T14:32:55+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.39x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9924,"target":5.14,"target_label":"ceiling","reward_risk":0.37,"pos_in_5d_range_pct":30.7,"room_to_5d_high_atr":1.41},"price":5.1,"vwap":5.0598,"ext_from_open_pct":0.79,"max_ext_allowed_pct":4.0,"volume_pace":0.387,"trend":"flat","recent_slope_pct":-0.0047,"volatility":"high"},"price":5.1,"volume":{"bars":62,"last_bar_volume":6403.0,"baseline_avg":19345.1,"bar_rvol":0.330988,"raw_accel":-0.588575,"smooth_accel":0.215661,"accel_momentum":0.593845,"rvol_3bar":[0.463809,0.782747,0.330988],"trend_3bar":"MIXED","projected_rvol":0.836294},"flow":{"window_s":30,"trades":25,"trade_rate":0.833333,"buy_vol":3344.0,"sell_vol":204.0,"unclassified_vol":0.0,"imbalance":0.885006,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":1.077569},"context":{"vwap":5.059462,"price_vs_vwap_pct":0.801231,"ema9":5.097144,"ema20":5.090005,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.77821,"dist_to_hod_atr":1.516267,"atr":0.026381,"spread_atr":0.379067,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.001945,"IWM":0.104034}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.292926},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"669ba85a05cd","ts":"2026-08-28T14:33:05+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.9156,"target":8.53,"target_label":"premarket_high","reward_risk":0.84,"pos_in_5d_range_pct":46.3,"room_to_5d_high_atr":0.97},"price":8.25,"vwap":8.2327,"ext_from_open_pct":0.06,"max_ext_allowed_pct":3.0,"volume_pace":0.594,"trend":"flat","recent_slope_pct":-0.0565,"volatility":"high"},"price":8.25,"volume":{"bars":61,"last_bar_volume":11113.0,"baseline_avg":2820.55,"bar_rvol":3.940012,"raw_accel":-0.446426,"smooth_accel":80.015584,"accel_momentum":-33.961817,"rvol_3bar":[0.00113,8.602035,3.940012],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":24,"trade_rate":0.8,"buy_vol":2534.0,"sell_vol":8679.0,"unclassified_vol":0.0,"imbalance":-0.548025,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":3.039649},"context":{"vwap":8.232685,"price_vs_vwap_pct":0.210326,"ema9":8.260041,"ema20":8.258957,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.482509,"dist_to_hod_atr":2.617769,"atr":0.01528,"spread_atr":1.308884,"own_change_pct":-0.121065,"rel_strength_pct":{"SPY":-0.223578,"IWM":-0.205088}},"vas":{"raw":3,"score":6.2,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-2.159223},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4b3f101425ce","ts":"2026-08-28T14:33:10+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4272,"target":5.57,"target_label":"prev_day_high","reward_risk":0.89,"pos_in_5d_range_pct":42.8,"room_to_5d_high_atr":1.65},"price":5.5026,"vwap":5.5015,"ext_from_open_pct":2.85,"max_ext_allowed_pct":3.0,"volume_pace":1.073,"trend":"flat","recent_slope_pct":-0.0269,"volatility":"medium"},"price":5.5026,"volume":{"bars":63,"last_bar_volume":103455.0,"baseline_avg":63301.05,"bar_rvol":1.634333,"raw_accel":0.324071,"smooth_accel":2.716101,"accel_momentum":1.022532,"rvol_3bar":[1.450726,1.280269,1.634333],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":139,"trade_rate":4.633333,"buy_vol":16660.0,"sell_vol":42782.0,"unclassified_vol":0.0,"imbalance":-0.439454,"bid":5.48,"ask":5.49,"spread_pct":0.182315,"quote_size_imbalance":null,"quote_age_s":0.396367},"context":{"vwap":5.501541,"price_vs_vwap_pct":0.019245,"ema9":5.506577,"ema20":5.512105,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.387097,"dist_to_hod_atr":2.730654,"atr":0.028345,"spread_atr":0.352798,"own_change_pct":-0.272232,"rel_strength_pct":{"SPY":-0.374745,"IWM":-0.356255}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.718214},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"cdcf15e6f1a0","ts":"2026-08-28T14:33:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.49 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4171,"target":5.57,"target_label":"prev_day_high","reward_risk":1.03,"pos_in_5d_range_pct":41.7,"room_to_5d_high_atr":1.68},"price":5.4925,"vwap":5.5015,"ext_from_open_pct":2.66,"max_ext_allowed_pct":3.0,"volume_pace":1.076,"trend":"flat","recent_slope_pct":-0.0637,"volatility":"medium"},"price":5.4925,"volume":{"bars":63,"last_bar_volume":103455.0,"baseline_avg":63301.05,"bar_rvol":1.634333,"raw_accel":0.324071,"smooth_accel":2.716101,"accel_momentum":1.022532,"rvol_3bar":[1.450726,1.280269,1.634333],"trend_3bar":"MIXED","projected_rvol":2.349345},"flow":{"window_s":30,"trades":187,"trade_rate":6.233333,"buy_vol":22171.0,"sell_vol":45815.0,"unclassified_vol":0.0,"imbalance":-0.347777,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.526481},"context":{"vwap":5.501541,"price_vs_vwap_pct":-0.16434,"ema9":5.506577,"ema20":5.512105,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.5681,"dist_to_hod_atr":3.08698,"atr":0.028345,"spread_atr":0.352798,"own_change_pct":-0.272232,"rel_strength_pct":{"SPY":-0.374745,"IWM":-0.356255}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.568384},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"db2933a998c6","ts":"2026-08-28T14:33:30+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4338,"target":5.57,"target_label":"prev_day_high","reward_risk":0.81,"pos_in_5d_range_pct":43.6,"room_to_5d_high_atr":1.63},"price":5.5092,"vwap":5.5015,"ext_from_open_pct":2.98,"max_ext_allowed_pct":3.0,"volume_pace":1.077,"trend":"flat","recent_slope_pct":-0.0029,"volatility":"medium"},"price":5.5092,"volume":{"bars":63,"last_bar_volume":103455.0,"baseline_avg":63301.05,"bar_rvol":1.634333,"raw_accel":0.324071,"smooth_accel":2.716101,"accel_momentum":1.022532,"rvol_3bar":[1.450726,1.280269,1.634333],"trend_3bar":"MIXED","projected_rvol":2.155762},"flow":{"window_s":30,"trades":136,"trade_rate":4.533333,"buy_vol":32440.0,"sell_vol":35791.0,"unclassified_vol":0.0,"imbalance":-0.049113,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.002635},"context":{"vwap":5.501541,"price_vs_vwap_pct":0.139212,"ema9":5.506577,"ema20":5.512105,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.268817,"dist_to_hod_atr":2.497808,"atr":0.028345,"spread_atr":0.352798,"own_change_pct":-0.272232,"rel_strength_pct":{"SPY":-0.374745,"IWM":-0.356255}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.080266},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"da59f4975ead","ts":"2026-08-28T14:33:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.49 below VWAP $5.50","plan":{"state":"PASS","setup":"","stop":5.4146,"target":5.57,"target_label":"prev_day_high","reward_risk":1.06,"pos_in_5d_range_pct":41.4,"room_to_5d_high_atr":1.69},"price":5.49,"vwap":5.5014,"ext_from_open_pct":2.62,"max_ext_allowed_pct":3.0,"volume_pace":1.075,"trend":"flat","recent_slope_pct":-0.0728,"volatility":"medium"},"price":5.49,"volume":{"bars":63,"last_bar_volume":103455.0,"baseline_avg":63301.05,"bar_rvol":1.634333,"raw_accel":0.324071,"smooth_accel":2.716101,"accel_momentum":1.022532,"rvol_3bar":[1.450726,1.280269,1.634333],"trend_3bar":"MIXED","projected_rvol":1.853835},"flow":{"window_s":30,"trades":133,"trade_rate":4.433333,"buy_vol":31942.0,"sell_vol":25943.0,"unclassified_vol":0.0,"imbalance":0.103637,"bid":5.49,"ask":5.5,"spread_pct":0.181984,"quote_size_imbalance":null,"quote_age_s":0.146314},"context":{"vwap":5.501541,"price_vs_vwap_pct":-0.209781,"ema9":5.506577,"ema20":5.512105,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.612903,"dist_to_hod_atr":3.17518,"atr":0.028345,"spread_atr":0.352798,"own_change_pct":-0.272232,"rel_strength_pct":{"SPY":-0.374745,"IWM":-0.356255}},"vas":{"raw":6,"score":8.1,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.169377},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"eb4299bc4844","ts":"2026-08-28T14:34:00+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.38x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":4.9934,"target":5.18,"target_label":"premarket_high","reward_risk":0.73,"pos_in_5d_range_pct":30.8,"room_to_5d_high_atr":1.41},"price":5.101,"vwap":5.0601,"ext_from_open_pct":0.81,"max_ext_allowed_pct":4.0,"volume_pace":0.384,"trend":"flat","recent_slope_pct":0.0508,"volatility":"high"},"price":5.101,"volume":{"bars":63,"last_bar_volume":15367.0,"baseline_avg":19263.5,"bar_rvol":0.797726,"raw_accel":1.399969,"smooth_accel":0.275906,"accel_momentum":0.060245,"rvol_3bar":[0.782747,0.330988,0.797726],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":1949.0,"sell_vol":1095.0,"unclassified_vol":0.0,"imbalance":0.280552,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.683052},"context":{"vwap":5.059775,"price_vs_vwap_pct":0.814752,"ema9":5.097495,"ema20":5.090853,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.758755,"dist_to_hod_atr":1.525364,"atr":0.025568,"spread_atr":0.391119,"own_change_pct":0.001961,"rel_strength_pct":{"SPY":-0.130357,"IWM":-0.162728}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":1,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.223804},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f6f88f163eab","ts":"2026-08-28T14:34:05+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.38x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9874,"target":5.14,"target_label":"ceiling","reward_risk":0.42,"pos_in_5d_range_pct":30.2,"room_to_5d_high_atr":1.43},"price":5.095,"vwap":5.0602,"ext_from_open_pct":0.69,"max_ext_allowed_pct":4.0,"volume_pace":0.385,"trend":"flat","recent_slope_pct":0.0412,"volatility":"high"},"price":5.095,"volume":{"bars":64,"last_bar_volume":17369.0,"baseline_avg":19333.95,"bar_rvol":0.898368,"raw_accel":0.130279,"smooth_accel":0.314271,"accel_momentum":0.038366,"rvol_3bar":[0.330988,0.797726,0.898368],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":4756.0,"sell_vol":3543.0,"unclassified_vol":0.0,"imbalance":0.146162,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.616704},"context":{"vwap":5.06013,"price_vs_vwap_pct":0.689116,"ema9":5.098196,"ema20":5.091819,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.875486,"dist_to_hod_atr":1.813577,"atr":0.024813,"spread_atr":0.403017,"own_change_pct":-0.052903,"rel_strength_pct":{"SPY":-0.185221,"IWM":-0.217592}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.131307},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"44e8ae0019e5","ts":"2026-08-28T14:34:10+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.39x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":5.0024,"target":5.18,"target_label":"premarket_high","reward_risk":0.65,"pos_in_5d_range_pct":31.9,"room_to_5d_high_atr":1.39},"price":5.11,"vwap":5.0604,"ext_from_open_pct":0.99,"max_ext_allowed_pct":4.0,"volume_pace":0.385,"trend":"flat","recent_slope_pct":0.1,"volatility":"high"},"price":5.11,"volume":{"bars":64,"last_bar_volume":17369.0,"baseline_avg":19333.95,"bar_rvol":0.898368,"raw_accel":0.130279,"smooth_accel":0.314271,"accel_momentum":0.038366,"rvol_3bar":[0.330988,0.797726,0.898368],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":66,"trade_rate":2.2,"buy_vol":8860.0,"sell_vol":3547.0,"unclassified_vol":0.0,"imbalance":0.428226,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.00737},"context":{"vwap":5.06013,"price_vs_vwap_pct":0.985551,"ema9":5.098196,"ema20":5.091819,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.583658,"dist_to_hod_atr":1.209051,"atr":0.024813,"spread_atr":0.403017,"own_change_pct":-0.052903,"rel_strength_pct":{"SPY":-0.185221,"IWM":-0.217592}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-1,"accel":2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.384704},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9f2915497095","ts":"2026-08-28T14:34:15+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.39x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9924,"target":5.14,"target_label":"ceiling","reward_risk":0.37,"pos_in_5d_range_pct":30.7,"room_to_5d_high_atr":1.41},"price":5.1,"vwap":5.0604,"ext_from_open_pct":0.79,"max_ext_allowed_pct":3.0,"volume_pace":0.385,"trend":"flat","recent_slope_pct":0.0608,"volatility":"high"},"price":5.1,"volume":{"bars":64,"last_bar_volume":17369.0,"baseline_avg":19333.95,"bar_rvol":0.898368,"raw_accel":0.130279,"smooth_accel":0.314271,"accel_momentum":0.038366,"rvol_3bar":[0.330988,0.797726,0.898368],"trend_3bar":"ACCELERATING","projected_rvol":2.532126},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":8906.0,"sell_vol":5739.0,"unclassified_vol":0.0,"imbalance":0.216251,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.057695},"context":{"vwap":5.06013,"price_vs_vwap_pct":0.787928,"ema9":5.098196,"ema20":5.091819,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.77821,"dist_to_hod_atr":1.612068,"atr":0.024813,"spread_atr":0.403017,"own_change_pct":-0.052903,"rel_strength_pct":{"SPY":-0.185221,"IWM":-0.217592}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.194273},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c66a587b95b2","ts":"2026-08-28T14:34:20+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.38x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":5.0012,"target":5.18,"target_label":"premarket_high","reward_risk":0.66,"pos_in_5d_range_pct":31.7,"room_to_5d_high_atr":1.39},"price":5.1088,"vwap":5.0604,"ext_from_open_pct":0.96,"max_ext_allowed_pct":3.0,"volume_pace":0.385,"trend":"flat","recent_slope_pct":0.0953,"volatility":"high"},"price":5.1088,"volume":{"bars":64,"last_bar_volume":17369.0,"baseline_avg":19333.95,"bar_rvol":0.898368,"raw_accel":0.130279,"smooth_accel":0.314271,"accel_momentum":0.038366,"rvol_3bar":[0.330988,0.797726,0.898368],"trend_3bar":"ACCELERATING","projected_rvol":1.900336},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":8908.0,"sell_vol":5224.0,"unclassified_vol":0.0,"imbalance":0.260685,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.069905},"context":{"vwap":5.06013,"price_vs_vwap_pct":0.961836,"ema9":5.098196,"ema20":5.091819,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.607004,"dist_to_hod_atr":1.257413,"atr":0.024813,"spread_atr":0.403017,"own_change_pct":-0.052903,"rel_strength_pct":{"SPY":-0.185221,"IWM":-0.217592}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.234191},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ec38569eced7","ts":"2026-08-28T14:34:40+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.38x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9874,"target":5.14,"target_label":"ceiling","reward_risk":0.42,"pos_in_5d_range_pct":30.2,"room_to_5d_high_atr":1.43},"price":5.095,"vwap":5.0604,"ext_from_open_pct":0.69,"max_ext_allowed_pct":4.0,"volume_pace":0.383,"trend":"flat","recent_slope_pct":0.0412,"volatility":"high"},"price":5.095,"volume":{"bars":64,"last_bar_volume":17369.0,"baseline_avg":19333.95,"bar_rvol":0.898368,"raw_accel":0.130279,"smooth_accel":0.314271,"accel_momentum":0.038366,"rvol_3bar":[0.330988,0.797726,0.898368],"trend_3bar":"ACCELERATING","projected_rvol":1.083069},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":1174.0,"sell_vol":3204.0,"unclassified_vol":0.0,"imbalance":-0.463682,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.188818},"context":{"vwap":5.06013,"price_vs_vwap_pct":0.689116,"ema9":5.098196,"ema20":5.091819,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.875486,"dist_to_hod_atr":1.813577,"atr":0.024813,"spread_atr":0.403017,"own_change_pct":-0.052903,"rel_strength_pct":{"SPY":-0.185221,"IWM":-0.217592}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.416557},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"59e9312ca983","ts":"2026-08-28T14:35:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.8178,"target":11.14,"target_label":"ceiling","reward_risk":0.61,"pos_in_5d_range_pct":-10.2,"room_to_5d_high_atr":1.64},"price":11.0177,"vwap":10.9971,"ext_from_open_pct":-1.1,"max_ext_allowed_pct":4.0,"volume_pace":1.69,"trend":"flat","recent_slope_pct":0.1291,"volatility":"high"},"price":11.0177,"volume":{"bars":65,"last_bar_volume":36963.0,"baseline_avg":24959.45,"bar_rvol":1.480922,"raw_accel":0.922853,"smooth_accel":0.259209,"accel_momentum":0.528575,"rvol_3bar":[0.689874,0.736247,1.480922],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":10795.0,"sell_vol":4769.0,"unclassified_vol":0.0,"imbalance":0.387176,"bid":11.01,"ask":11.02,"spread_pct":0.090785,"quote_size_imbalance":null,"quote_age_s":0.231741},"context":{"vwap":10.997127,"price_vs_vwap_pct":0.187078,"ema9":10.985357,"ema20":10.975835,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.468445,"dist_to_hod_atr":2.231445,"atr":0.073585,"spread_atr":0.135898,"own_change_pct":0.364465,"rel_strength_pct":{"SPY":0.255558,"IWM":0.216645}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.573377},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"44fe287059c8","ts":"2026-08-28T14:35:10+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.38x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":4.9974,"target":5.18,"target_label":"premarket_high","reward_risk":0.7,"pos_in_5d_range_pct":31.3,"room_to_5d_high_atr":1.4},"price":5.105,"vwap":5.0606,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":0.382,"trend":"flat","recent_slope_pct":0.012,"volatility":"high"},"price":5.105,"volume":{"bars":65,"last_bar_volume":18937.0,"baseline_avg":19220.6,"bar_rvol":0.985245,"raw_accel":0.090276,"smooth_accel":0.653483,"accel_momentum":0.339212,"rvol_3bar":[0.797726,0.898368,0.985245],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":6577.0,"sell_vol":4162.0,"unclassified_vol":0.0,"imbalance":0.224881,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":1.739683},"context":{"vwap":5.060506,"price_vs_vwap_pct":0.879245,"ema9":5.097557,"ema20":5.092122,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.680934,"dist_to_hod_atr":1.430377,"atr":0.024469,"spread_atr":0.408679,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.108907,"IWM":-0.14782}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.221563},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"29675d4738c2","ts":"2026-08-28T14:35:15+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.38x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9824,"target":5.14,"target_label":"ceiling","reward_risk":0.46,"pos_in_5d_range_pct":29.6,"room_to_5d_high_atr":1.44},"price":5.09,"vwap":5.0607,"ext_from_open_pct":0.59,"max_ext_allowed_pct":3.0,"volume_pace":0.383,"trend":"flat","recent_slope_pct":-0.0469,"volatility":"high"},"price":5.09,"volume":{"bars":65,"last_bar_volume":18937.0,"baseline_avg":19220.6,"bar_rvol":0.985245,"raw_accel":0.090276,"smooth_accel":0.653483,"accel_momentum":0.339212,"rvol_3bar":[0.797726,0.898368,0.985245],"trend_3bar":"ACCELERATING","projected_rvol":2.502107},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":6405.0,"sell_vol":6454.0,"unclassified_vol":0.0,"imbalance":-0.003811,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":2.669817},"context":{"vwap":5.060506,"price_vs_vwap_pct":0.582832,"ema9":5.097557,"ema20":5.092122,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.972763,"dist_to_hod_atr":2.043396,"atr":0.024469,"spread_atr":0.408679,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.108907,"IWM":-0.14782}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.003754},"shadow":{"decision":"FAIL","failed":["imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"60cb9ed0c493","ts":"2026-08-28T14:35:30+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.99 below VWAP $11.00","plan":{"state":"PASS","setup":"","stop":10.7902,"target":11.14,"target_label":"ceiling","reward_risk":0.75,"pos_in_5d_range_pct":-12.6,"room_to_5d_high_atr":1.67},"price":10.99,"vwap":10.9972,"ext_from_open_pct":-1.35,"max_ext_allowed_pct":4.0,"volume_pace":1.686,"trend":"flat","recent_slope_pct":0.0788,"volatility":"high"},"price":10.99,"volume":{"bars":65,"last_bar_volume":36963.0,"baseline_avg":24959.45,"bar_rvol":1.480922,"raw_accel":0.922853,"smooth_accel":0.259209,"accel_momentum":0.528575,"rvol_3bar":[0.689874,0.736247,1.480922],"trend_3bar":"ACCELERATING","projected_rvol":0.819569},"flow":{"window_s":30,"trades":67,"trade_rate":2.233333,"buy_vol":5619.0,"sell_vol":4609.0,"unclassified_vol":0.0,"imbalance":0.098749,"bid":11.03,"ask":11.04,"spread_pct":0.090621,"quote_size_imbalance":null,"quote_age_s":0.004446},"context":{"vwap":10.997127,"price_vs_vwap_pct":-0.064806,"ema9":10.985357,"ema20":10.975835,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.716166,"dist_to_hod_atr":2.607883,"atr":0.073585,"spread_atr":0.135898,"own_change_pct":0.364465,"rel_strength_pct":{"SPY":0.255558,"IWM":0.216645}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.146239},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ebe98f43cd2c","ts":"2026-08-28T14:35:35+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.8301,"target":11.14,"target_label":"ceiling","reward_risk":0.55,"pos_in_5d_range_pct":-9.2,"room_to_5d_high_atr":1.62},"price":11.03,"vwap":10.9972,"ext_from_open_pct":-0.99,"max_ext_allowed_pct":4.0,"volume_pace":1.685,"trend":"flat","recent_slope_pct":0.1515,"volatility":"high"},"price":11.03,"volume":{"bars":65,"last_bar_volume":36963.0,"baseline_avg":24959.45,"bar_rvol":1.480922,"raw_accel":0.922853,"smooth_accel":0.259209,"accel_momentum":0.528575,"rvol_3bar":[0.689874,0.736247,1.480922],"trend_3bar":"ACCELERATING","projected_rvol":0.723162},"flow":{"window_s":30,"trades":58,"trade_rate":1.933333,"buy_vol":5146.0,"sell_vol":4124.0,"unclassified_vol":0.0,"imbalance":0.110248,"bid":11.03,"ask":11.04,"spread_pct":0.090621,"quote_size_imbalance":null,"quote_age_s":1.079052},"context":{"vwap":10.997127,"price_vs_vwap_pct":0.298925,"ema9":10.985357,"ema20":10.975835,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.358445,"dist_to_hod_atr":2.064291,"atr":0.073585,"spread_atr":0.135898,"own_change_pct":0.364465,"rel_strength_pct":{"SPY":0.255558,"IWM":0.216645}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.163269},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2a6aa5a08e6a","ts":"2026-08-28T14:35:55+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.99 below VWAP $11.00","plan":{"state":"PASS","setup":"","stop":10.7916,"target":11.14,"target_label":"ceiling","reward_risk":0.74,"pos_in_5d_range_pct":-12.4,"room_to_5d_high_atr":1.67},"price":10.9914,"vwap":10.9972,"ext_from_open_pct":-1.33,"max_ext_allowed_pct":3.0,"volume_pace":1.679,"trend":"flat","recent_slope_pct":0.0813,"volatility":"high"},"price":10.9914,"volume":{"bars":65,"last_bar_volume":36963.0,"baseline_avg":24959.45,"bar_rvol":1.480922,"raw_accel":0.922853,"smooth_accel":0.259209,"accel_momentum":0.528575,"rvol_3bar":[0.689874,0.736247,1.480922],"trend_3bar":"ACCELERATING","projected_rvol":0.653467},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":1272.0,"sell_vol":4759.0,"unclassified_vol":0.0,"imbalance":-0.578179,"bid":11.01,"ask":11.02,"spread_pct":0.090785,"quote_size_imbalance":null,"quote_age_s":0.261212},"context":{"vwap":10.997127,"price_vs_vwap_pct":-0.052075,"ema9":10.985357,"ema20":10.975835,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.703646,"dist_to_hod_atr":2.588857,"atr":0.073585,"spread_atr":0.135898,"own_change_pct":0.364465,"rel_strength_pct":{"SPY":0.255558,"IWM":0.216645}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.856239},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f1e5bfeaa8db","ts":"2026-08-28T14:36:00+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.8301,"target":11.14,"target_label":"ceiling","reward_risk":0.55,"pos_in_5d_range_pct":-9.2,"room_to_5d_high_atr":1.62},"price":11.03,"vwap":10.9973,"ext_from_open_pct":-0.99,"max_ext_allowed_pct":3.0,"volume_pace":1.677,"trend":"flat","recent_slope_pct":0.1515,"volatility":"high"},"price":11.03,"volume":{"bars":65,"last_bar_volume":36963.0,"baseline_avg":24959.45,"bar_rvol":1.480922,"raw_accel":0.922853,"smooth_accel":0.259209,"accel_momentum":0.528575,"rvol_3bar":[0.689874,0.736247,1.480922],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":67,"trade_rate":2.233333,"buy_vol":1193.0,"sell_vol":3752.0,"unclassified_vol":0.0,"imbalance":-0.517492,"bid":11.03,"ask":11.04,"spread_pct":0.090621,"quote_size_imbalance":null,"quote_age_s":0.004439},"context":{"vwap":10.997127,"price_vs_vwap_pct":0.298925,"ema9":10.985357,"ema20":10.975835,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.358445,"dist_to_hod_atr":2.064291,"atr":0.073585,"spread_atr":0.135898,"own_change_pct":0.364465,"rel_strength_pct":{"SPY":0.216365,"IWM":0.115675}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.766366},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f5513070a868","ts":"2026-08-28T14:37:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4396,"target":5.57,"target_label":"prev_day_high","reward_risk":0.73,"pos_in_5d_range_pct":44.3,"room_to_5d_high_atr":1.61},"price":5.515,"vwap":5.5014,"ext_from_open_pct":3.08,"max_ext_allowed_pct":4.0,"volume_pace":1.067,"trend":"flat","recent_slope_pct":0.0999,"volatility":"medium"},"price":5.515,"volume":{"bars":67,"last_bar_volume":118170.0,"baseline_avg":51137.55,"bar_rvol":2.310826,"raw_accel":1.86563,"smooth_accel":-0.110379,"accel_momentum":0.204569,"rvol_3bar":[1.051767,0.614907,2.310826],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":151,"trade_rate":5.033333,"buy_vol":30456.0,"sell_vol":12821.0,"unclassified_vol":0.0,"imbalance":0.407491,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.566794},"context":{"vwap":5.501421,"price_vs_vwap_pct":0.246835,"ema9":5.50335,"ema20":5.508218,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.164875,"dist_to_hod_atr":2.470318,"atr":0.026312,"spread_atr":0.380049,"own_change_pct":0.181818,"rel_strength_pct":{"SPY":0.056056,"IWM":-0.014708}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.941642},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"384f8f09b719","ts":"2026-08-28T14:37:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3527,"target":13.61,"target_label":"ceiling","reward_risk":1.1,"pos_in_5d_range_pct":17.5,"room_to_5d_high_atr":1.4},"price":13.475,"vwap":13.4721,"ext_from_open_pct":-0.19,"max_ext_allowed_pct":3.0,"volume_pace":1.121,"trend":"flat","recent_slope_pct":0.057,"volatility":"medium"},"price":13.475,"volume":{"bars":67,"last_bar_volume":9853.0,"baseline_avg":15334.55,"bar_rvol":0.642536,"raw_accel":-0.596304,"smooth_accel":6.828994,"accel_momentum":2.352318,"rvol_3bar":[5.330205,1.696928,0.642536],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":1190.0,"sell_vol":4387.0,"unclassified_vol":0.0,"imbalance":-0.573247,"bid":13.47,"ask":13.48,"spread_pct":0.074212,"quote_size_imbalance":null,"quote_age_s":0.130504},"context":{"vwap":13.472063,"price_vs_vwap_pct":0.021803,"ema9":13.445498,"ema20":13.437463,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.991918,"dist_to_hod_atr":4.480072,"atr":0.030133,"spread_atr":0.331857,"own_change_pct":0.282974,"rel_strength_pct":{"SPY":0.157212,"IWM":0.086448}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.368332},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"244dc4bb7861","ts":"2026-08-28T14:37:05+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.6618,"target":5.92,"target_label":"ceiling","reward_risk":0.94,"pos_in_5d_range_pct":-9.8,"room_to_5d_high_atr":1.37},"price":5.795,"vwap":5.7737,"ext_from_open_pct":-1.45,"max_ext_allowed_pct":3.0,"volume_pace":1.676,"trend":"flat","recent_slope_pct":0.1669,"volatility":"high"},"price":5.795,"volume":{"bars":67,"last_bar_volume":142956.0,"baseline_avg":85109.2,"bar_rvol":1.679677,"raw_accel":1.660389,"smooth_accel":-0.242134,"accel_momentum":-0.19049,"rvol_3bar":[0.965772,0.638926,1.679677],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":89,"trade_rate":2.966667,"buy_vol":26212.0,"sell_vol":40385.0,"unclassified_vol":0.0,"imbalance":-0.212817,"bid":5.79,"ask":5.8,"spread_pct":0.172563,"quote_size_imbalance":null,"quote_age_s":0.070497},"context":{"vwap":5.773726,"price_vs_vwap_pct":0.368461,"ema9":5.760203,"ema20":5.753887,"ema_stack":true,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.27656,"dist_to_hod_atr":4.14894,"atr":0.032538,"spread_atr":0.307329,"own_change_pct":1.046207,"rel_strength_pct":{"SPY":0.920446,"IWM":0.849681}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":1,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.357465},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"41b66ca2661e","ts":"2026-08-28T14:37:10+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.47 below VWAP $13.47","plan":{"state":"PASS","setup":"","stop":13.3477,"target":13.61,"target_label":"ceiling","reward_risk":1.14,"pos_in_5d_range_pct":16.9,"room_to_5d_high_atr":1.41},"price":13.47,"vwap":13.4721,"ext_from_open_pct":-0.22,"max_ext_allowed_pct":3.0,"volume_pace":1.12,"trend":"flat","recent_slope_pct":0.0496,"volatility":"medium"},"price":13.47,"volume":{"bars":67,"last_bar_volume":9853.0,"baseline_avg":15334.55,"bar_rvol":0.642536,"raw_accel":-0.596304,"smooth_accel":6.828994,"accel_momentum":2.352318,"rvol_3bar":[5.330205,1.696928,0.642536],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":1175.0,"sell_vol":4487.0,"unclassified_vol":0.0,"imbalance":-0.584952,"bid":13.47,"ask":13.48,"spread_pct":0.074212,"quote_size_imbalance":null,"quote_age_s":0.778087},"context":{"vwap":13.472063,"price_vs_vwap_pct":-0.015311,"ema9":13.445498,"ema20":13.437463,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-1.028655,"dist_to_hod_atr":4.646,"atr":0.030133,"spread_atr":0.331857,"own_change_pct":0.282974,"rel_strength_pct":{"SPY":0.157212,"IWM":0.086448}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.375853},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"e1bc0e84ffb3","ts":"2026-08-28T14:37:15+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.5015,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.065,"trend":"flat","recent_slope_pct":0.1181,"volatility":"medium"},"price":5.52,"volume":{"bars":67,"last_bar_volume":118170.0,"baseline_avg":51137.55,"bar_rvol":2.310826,"raw_accel":1.86563,"smooth_accel":-0.110379,"accel_momentum":0.204569,"rvol_3bar":[1.051767,0.614907,2.310826],"trend_3bar":"MIXED","projected_rvol":1.985781},"flow":{"window_s":30,"trades":88,"trade_rate":2.933333,"buy_vol":25081.0,"sell_vol":6020.0,"unclassified_vol":0.0,"imbalance":0.612874,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.000447},"context":{"vwap":5.501421,"price_vs_vwap_pct":0.33772,"ema9":5.50335,"ema20":5.508218,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.280293,"atr":0.026312,"spread_atr":0.380049,"own_change_pct":0.181818,"rel_strength_pct":{"SPY":0.056056,"IWM":-0.014708}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.416246},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3d37321264cf","ts":"2026-08-28T14:37:25+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.5015,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.063,"trend":"flat","recent_slope_pct":0.0818,"volatility":"medium"},"price":5.51,"volume":{"bars":67,"last_bar_volume":118170.0,"baseline_avg":51137.55,"bar_rvol":2.310826,"raw_accel":1.86563,"smooth_accel":-0.110379,"accel_momentum":0.204569,"rvol_3bar":[1.051767,0.614907,2.310826],"trend_3bar":"MIXED","projected_rvol":1.248304},"flow":{"window_s":30,"trades":103,"trade_rate":3.433333,"buy_vol":25161.0,"sell_vol":6376.0,"unclassified_vol":0.0,"imbalance":0.59565,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":1.462627},"context":{"vwap":5.501421,"price_vs_vwap_pct":0.155949,"ema9":5.50335,"ema20":5.508218,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.660342,"atr":0.026312,"spread_atr":0.380049,"own_change_pct":0.181818,"rel_strength_pct":{"SPY":0.056056,"IWM":-0.014708}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.376443},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"02bf6d0c10a4","ts":"2026-08-28T14:37:25+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.76 below VWAP $5.77","plan":{"state":"PASS","setup":"","stop":5.6305,"target":5.92,"target_label":"ceiling","reward_risk":1.17,"pos_in_5d_range_pct":-14.5,"room_to_5d_high_atr":1.43},"price":5.7637,"vwap":5.7737,"ext_from_open_pct":-1.98,"max_ext_allowed_pct":3.0,"volume_pace":1.672,"trend":"flat","recent_slope_pct":0.0586,"volatility":"high"},"price":5.7637,"volume":{"bars":67,"last_bar_volume":142956.0,"baseline_avg":85109.2,"bar_rvol":1.679677,"raw_accel":1.660389,"smooth_accel":-0.242134,"accel_momentum":-0.19049,"rvol_3bar":[0.965772,0.638926,1.679677],"trend_3bar":"MIXED","projected_rvol":0.623171},"flow":{"window_s":30,"trades":79,"trade_rate":2.633333,"buy_vol":11546.0,"sell_vol":18275.0,"unclassified_vol":0.0,"imbalance":-0.225646,"bid":5.79,"ask":5.8,"spread_pct":0.172563,"quote_size_imbalance":null,"quote_age_s":0.833836},"context":{"vwap":5.773726,"price_vs_vwap_pct":-0.17365,"ema9":5.760203,"ema20":5.753887,"ema_stack":true,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.804384,"dist_to_hod_atr":5.110879,"atr":0.032538,"spread_atr":0.307329,"own_change_pct":1.046207,"rel_strength_pct":{"SPY":0.920446,"IWM":0.849681}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":1,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.379013},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"862dfb98cec3","ts":"2026-08-28T14:37:30+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3577,"target":13.61,"target_label":"ceiling","reward_risk":1.06,"pos_in_5d_range_pct":18.1,"room_to_5d_high_atr":1.39},"price":13.48,"vwap":13.4721,"ext_from_open_pct":-0.15,"max_ext_allowed_pct":3.0,"volume_pace":1.116,"trend":"flat","recent_slope_pct":0.0645,"volatility":"medium"},"price":13.48,"volume":{"bars":67,"last_bar_volume":9853.0,"baseline_avg":15334.55,"bar_rvol":0.642536,"raw_accel":-0.596304,"smooth_accel":6.828994,"accel_momentum":2.352318,"rvol_3bar":[5.330205,1.696928,0.642536],"trend_3bar":"DECELERATING","projected_rvol":0.257458},"flow":{"window_s":30,"trades":19,"trade_rate":0.633333,"buy_vol":950.0,"sell_vol":1024.0,"unclassified_vol":0.0,"imbalance":-0.037487,"bid":13.47,"ask":13.48,"spread_pct":0.074212,"quote_size_imbalance":null,"quote_age_s":0.005959},"context":{"vwap":13.472063,"price_vs_vwap_pct":0.058917,"ema9":13.445498,"ema20":13.437463,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.95518,"dist_to_hod_atr":4.314143,"atr":0.030133,"spread_atr":0.331857,"own_change_pct":0.282974,"rel_strength_pct":{"SPY":0.157212,"IWM":0.086448}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.024087},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"2cb9c3d44bae","ts":"2026-08-28T14:37:30+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.6568,"target":5.92,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":-10.5,"room_to_5d_high_atr":1.38},"price":5.79,"vwap":5.7738,"ext_from_open_pct":-1.53,"max_ext_allowed_pct":3.0,"volume_pace":1.671,"trend":"flat","recent_slope_pct":0.1496,"volatility":"high"},"price":5.79,"volume":{"bars":67,"last_bar_volume":142956.0,"baseline_avg":85109.2,"bar_rvol":1.679677,"raw_accel":1.660389,"smooth_accel":-0.242134,"accel_momentum":-0.19049,"rvol_3bar":[0.965772,0.638926,1.679677],"trend_3bar":"MIXED","projected_rvol":0.579115},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":6293.0,"sell_vol":18351.0,"unclassified_vol":0.0,"imbalance":-0.489287,"bid":5.79,"ask":5.8,"spread_pct":0.172563,"quote_size_imbalance":null,"quote_age_s":0.005341},"context":{"vwap":5.773726,"price_vs_vwap_pct":0.281862,"ema9":5.760203,"ema20":5.753887,"ema_stack":true,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.360877,"dist_to_hod_atr":4.302604,"atr":0.032538,"spread_atr":0.307329,"own_change_pct":1.046207,"rel_strength_pct":{"SPY":0.920446,"IWM":0.849681}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":1,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.821845},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f2e5d1eb39b5","ts":"2026-08-28T14:37:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4396,"target":5.57,"target_label":"prev_day_high","reward_risk":0.73,"pos_in_5d_range_pct":44.3,"room_to_5d_high_atr":1.61},"price":5.515,"vwap":5.5015,"ext_from_open_pct":3.08,"max_ext_allowed_pct":3.0,"volume_pace":1.061,"trend":"flat","recent_slope_pct":0.0999,"volatility":"medium"},"price":5.515,"volume":{"bars":67,"last_bar_volume":118170.0,"baseline_avg":51137.55,"bar_rvol":2.310826,"raw_accel":1.86563,"smooth_accel":-0.110379,"accel_momentum":0.204569,"rvol_3bar":[1.051767,0.614907,2.310826],"trend_3bar":"MIXED","projected_rvol":0.940019},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":2036.0,"sell_vol":6217.0,"unclassified_vol":0.0,"imbalance":-0.506604,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":4.469392},"context":{"vwap":5.501421,"price_vs_vwap_pct":0.246835,"ema9":5.50335,"ema20":5.508218,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.164875,"dist_to_hod_atr":2.470318,"atr":0.026312,"spread_atr":0.380049,"own_change_pct":0.181818,"rel_strength_pct":{"SPY":0.056056,"IWM":-0.014708}},"vas":{"raw":0,"score":4.4,"components":{"rvol":2,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.170673},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3f27f1af2f50","ts":"2026-08-28T14:37:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.5015,"ext_from_open_pct":3.18,"max_ext_allowed_pct":4.0,"volume_pace":1.056,"trend":"flat","recent_slope_pct":0.1181,"volatility":"medium"},"price":5.52,"volume":{"bars":67,"last_bar_volume":118170.0,"baseline_avg":51137.55,"bar_rvol":2.310826,"raw_accel":1.86563,"smooth_accel":-0.110379,"accel_momentum":0.204569,"rvol_3bar":[1.051767,0.614907,2.310826],"trend_3bar":"MIXED","projected_rvol":0.730906},"flow":{"window_s":30,"trades":67,"trade_rate":2.233333,"buy_vol":4429.0,"sell_vol":3235.0,"unclassified_vol":0.0,"imbalance":0.155793,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.473915},"context":{"vwap":5.501421,"price_vs_vwap_pct":0.33772,"ema9":5.50335,"ema20":5.508218,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.280293,"atr":0.026312,"spread_atr":0.380049,"own_change_pct":0.181818,"rel_strength_pct":{"SPY":0.056056,"IWM":-0.014708}},"vas":{"raw":3,"score":6.2,"components":{"rvol":2,"accel":-1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.360011},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"185c5114650f","ts":"2026-08-28T14:38:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.755,"target":11.32,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":83.0,"room_to_5d_high_atr":0.24},"price":11.18,"vwap":11.1454,"ext_from_open_pct":-2.61,"max_ext_allowed_pct":3.0,"volume_pace":2.651,"trend":"flat","recent_slope_pct":0.1434,"volatility":"medium"},"price":11.18,"volume":{"bars":68,"last_bar_volume":36192.0,"baseline_avg":50925.45,"bar_rvol":0.710686,"raw_accel":0.296275,"smooth_accel":0.14806,"accel_momentum":0.052314,"rvol_3bar":[0.859251,0.555766,0.710686],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":5192.0,"sell_vol":2095.0,"unclassified_vol":0.0,"imbalance":0.425003,"bid":11.17,"ask":11.18,"spread_pct":0.089485,"quote_size_imbalance":null,"quote_age_s":0.20712},"context":{"vwap":11.145349,"price_vs_vwap_pct":0.310904,"ema9":11.074021,"ema20":11.031322,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.932009,"dist_to_hod_atr":3.321706,"atr":0.101665,"spread_atr":0.098363,"own_change_pct":1.498638,"rel_strength_pct":{"SPY":1.376786,"IWM":1.297153}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":1,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.302044},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"980d7c493d5f","ts":"2026-08-28T14:38:05+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":13.3543,"target":13.61,"target_label":"ceiling","reward_risk":1.09,"pos_in_5d_range_pct":17.7,"room_to_5d_high_atr":1.39},"price":13.4766,"vwap":13.4721,"ext_from_open_pct":-0.17,"max_ext_allowed_pct":3.0,"volume_pace":1.108,"trend":"flat","recent_slope_pct":0.0284,"volatility":"medium"},"price":13.4766,"volume":{"bars":68,"last_bar_volume":3548.0,"baseline_avg":15798.6,"bar_rvol":0.224577,"raw_accel":-0.639907,"smooth_accel":-0.477162,"accel_momentum":-7.306156,"rvol_3bar":[1.696928,0.642536,0.224577],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":1567.0,"sell_vol":33.0,"unclassified_vol":0.0,"imbalance":0.95875,"bid":13.47,"ask":13.48,"spread_pct":0.074212,"quote_size_imbalance":null,"quote_age_s":0.267284},"context":{"vwap":13.472058,"price_vs_vwap_pct":0.033715,"ema9":13.451398,"ema20":13.441038,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.980162,"dist_to_hod_atr":4.499864,"atr":0.029645,"spread_atr":0.337321,"own_change_pct":0.372439,"rel_strength_pct":{"SPY":0.250588,"IWM":0.170955}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.215313},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"6d02c66e7ab5","ts":"2026-08-28T14:38:20+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.4,"target":6.64,"target_label":"ceiling","reward_risk":0.85,"pos_in_5d_range_pct":75.4,"room_to_5d_high_atr":1.05},"price":6.53,"vwap":6.4847,"ext_from_open_pct":-2.39,"max_ext_allowed_pct":3.0,"volume_pace":1.514,"trend":"flat","recent_slope_pct":0.2001,"volatility":"high"},"price":6.53,"volume":{"bars":68,"last_bar_volume":7756.0,"baseline_avg":13790.3,"bar_rvol":0.562424,"raw_accel":0.554309,"smooth_accel":-0.388061,"accel_momentum":-0.321547,"rvol_3bar":[0.278244,0.33658,0.562424],"trend_3bar":"ACCELERATING","projected_rvol":0.226028},"flow":{"window_s":30,"trades":14,"trade_rate":0.466667,"buy_vol":527.0,"sell_vol":514.0,"unclassified_vol":0.0,"imbalance":0.012488,"bid":6.53,"ask":6.54,"spread_pct":0.153022,"quote_size_imbalance":null,"quote_age_s":0.289039},"context":{"vwap":6.484657,"price_vs_vwap_pct":0.699238,"ema9":6.456649,"ema20":6.453732,"ema_stack":true,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.687316,"dist_to_hod_atr":5.877832,"atr":0.042533,"spread_atr":0.235113,"own_change_pct":0.299378,"rel_strength_pct":{"SPY":0.177526,"IWM":0.097894}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.007024},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0bdd0ec9257f","ts":"2026-08-28T14:38:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4436,"target":5.57,"target_label":"prev_day_high","reward_risk":0.68,"pos_in_5d_range_pct":44.7,"room_to_5d_high_atr":1.59},"price":5.519,"vwap":5.5015,"ext_from_open_pct":3.16,"max_ext_allowed_pct":3.0,"volume_pace":1.047,"trend":"flat","recent_slope_pct":0.1256,"volatility":"medium"},"price":5.519,"volume":{"bars":68,"last_bar_volume":39545.0,"baseline_avg":53257.75,"bar_rvol":0.742521,"raw_accel":-0.665355,"smooth_accel":-0.193593,"accel_momentum":-0.083213,"rvol_3bar":[0.614907,2.310826,0.742521],"trend_3bar":"MIXED","projected_rvol":0.508636},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":6829.0,"sell_vol":7126.0,"unclassified_vol":0.0,"imbalance":-0.021283,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.058021},"context":{"vwap":5.5015,"price_vs_vwap_pct":0.318096,"ema9":5.50668,"ema20":5.50934,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.09319,"dist_to_hod_atr":2.349631,"atr":0.025962,"spread_atr":0.385185,"own_change_pct":0.454959,"rel_strength_pct":{"SPY":0.333107,"IWM":0.253475}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.015803},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ccfb4b187dbd","ts":"2026-08-28T14:39:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4346,"target":5.57,"target_label":"prev_day_high","reward_risk":0.8,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.62},"price":5.51,"vwap":5.5015,"ext_from_open_pct":2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.045,"trend":"flat","recent_slope_pct":0.093,"volatility":"medium"},"price":5.51,"volume":{"bars":68,"last_bar_volume":39545.0,"baseline_avg":53257.75,"bar_rvol":0.742521,"raw_accel":-0.665355,"smooth_accel":-0.193593,"accel_momentum":-0.083213,"rvol_3bar":[0.614907,2.310826,0.742521],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":2127.0,"sell_vol":7785.0,"unclassified_vol":0.0,"imbalance":-0.570823,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.002397},"context":{"vwap":5.5015,"price_vs_vwap_pct":0.154504,"ema9":5.50668,"ema20":5.50934,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.25448,"dist_to_hod_atr":2.696298,"atr":0.025962,"spread_atr":0.385185,"own_change_pct":0.454959,"rel_strength_pct":{"SPY":0.362977,"IWM":0.256986}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.423848},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5319490e2938","ts":"2026-08-28T14:39:00+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3827,"target":13.61,"target_label":"ceiling","reward_risk":0.86,"pos_in_5d_range_pct":21.1,"room_to_5d_high_atr":1.34},"price":13.505,"vwap":13.4722,"ext_from_open_pct":0.04,"max_ext_allowed_pct":3.0,"volume_pace":1.101,"trend":"flat","recent_slope_pct":0.0705,"volatility":"medium"},"price":13.505,"volume":{"bars":68,"last_bar_volume":3548.0,"baseline_avg":15798.6,"bar_rvol":0.224577,"raw_accel":-0.639907,"smooth_accel":-0.477162,"accel_momentum":-7.306156,"rvol_3bar":[1.696928,0.642536,0.224577],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":1122.0,"sell_vol":2474.0,"unclassified_vol":0.0,"imbalance":-0.375973,"bid":13.5,"ask":13.51,"spread_pct":0.074047,"quote_size_imbalance":null,"quote_age_s":0.005845},"context":{"vwap":13.472058,"price_vs_vwap_pct":0.244522,"ema9":13.451398,"ema20":13.441038,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.771492,"dist_to_hod_atr":3.541872,"atr":0.029645,"spread_atr":0.337321,"own_change_pct":0.372439,"rel_strength_pct":{"SPY":0.280457,"IWM":0.174466}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.084435},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"82771c85792f","ts":"2026-08-28T14:39:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4396,"target":5.57,"target_label":"prev_day_high","reward_risk":0.73,"pos_in_5d_range_pct":44.3,"room_to_5d_high_atr":1.61},"price":5.515,"vwap":5.5015,"ext_from_open_pct":3.08,"max_ext_allowed_pct":3.0,"volume_pace":1.044,"trend":"flat","recent_slope_pct":0.0588,"volatility":"medium"},"price":5.515,"volume":{"bars":69,"last_bar_volume":24204.0,"baseline_avg":51492.75,"bar_rvol":0.470047,"raw_accel":-0.387938,"smooth_accel":-0.013968,"accel_momentum":0.179625,"rvol_3bar":[2.310826,0.742521,0.470047],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":73,"trade_rate":2.433333,"buy_vol":3235.0,"sell_vol":8705.0,"unclassified_vol":0.0,"imbalance":-0.458124,"bid":5.51,"ask":5.52,"spread_pct":0.181324,"quote_size_imbalance":null,"quote_age_s":0.355094},"context":{"vwap":5.501538,"price_vs_vwap_pct":0.244701,"ema9":5.507344,"ema20":5.509403,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.164875,"dist_to_hod_atr":2.554746,"atr":0.025443,"spread_atr":0.393038,"own_change_pct":0.272975,"rel_strength_pct":{"SPY":0.180993,"IWM":0.075002}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.21534},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"063ac5a020e3","ts":"2026-08-28T14:39:05+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.46 below VWAP $13.47","plan":{"state":"PASS","setup":"","stop":13.3393,"target":13.61,"target_label":"ceiling","reward_risk":1.21,"pos_in_5d_range_pct":15.9,"room_to_5d_high_atr":1.42},"price":13.4616,"vwap":13.4722,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":3.0,"volume_pace":1.1,"trend":"flat","recent_slope_pct":-0.0138,"volatility":"medium"},"price":13.4616,"volume":{"bars":69,"last_bar_volume":7478.0,"baseline_avg":15919.95,"bar_rvol":0.469725,"raw_accel":0.8789,"smooth_accel":-0.774029,"accel_momentum":-0.296868,"rvol_3bar":[0.642536,0.224577,0.469725],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":1270.0,"sell_vol":2443.0,"unclassified_vol":0.0,"imbalance":-0.315917,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":0.583947},"context":{"vwap":13.472175,"price_vs_vwap_pct":-0.078495,"ema9":13.462118,"ema20":13.447129,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-1.090375,"dist_to_hod_atr":4.81049,"atr":0.030849,"spread_atr":0.324157,"own_change_pct":0.446263,"rel_strength_pct":{"SPY":0.354281,"IWM":0.248289}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.148394},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"dfb41281bc31","ts":"2026-08-28T14:39:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4496,"target":5.57,"target_label":"prev_day_high","reward_risk":0.6,"pos_in_5d_range_pct":45.4,"room_to_5d_high_atr":1.57},"price":5.525,"vwap":5.5016,"ext_from_open_pct":3.27,"max_ext_allowed_pct":4.0,"volume_pace":1.043,"trend":"flat","recent_slope_pct":0.0951,"volatility":"medium"},"price":5.525,"volume":{"bars":69,"last_bar_volume":24204.0,"baseline_avg":51492.75,"bar_rvol":0.470047,"raw_accel":-0.387938,"smooth_accel":-0.013968,"accel_momentum":0.179625,"rvol_3bar":[2.310826,0.742521,0.470047],"trend_3bar":"DECELERATING","projected_rvol":0.527375},"flow":{"window_s":30,"trades":98,"trade_rate":3.266667,"buy_vol":6944.0,"sell_vol":3331.0,"unclassified_vol":0.0,"imbalance":0.35163,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.180338},"context":{"vwap":5.501538,"price_vs_vwap_pct":0.426468,"ema9":5.507344,"ema20":5.509403,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.985663,"dist_to_hod_atr":2.161708,"atr":0.025443,"spread_atr":0.393038,"own_change_pct":0.272975,"rel_strength_pct":{"SPY":0.180993,"IWM":0.075002}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.165283},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"a4fbf9ebf429","ts":"2026-08-28T14:39:15+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3634,"target":13.61,"target_label":"ceiling","reward_risk":1.02,"pos_in_5d_range_pct":18.8,"room_to_5d_high_atr":1.38},"price":13.4857,"vwap":13.4722,"ext_from_open_pct":-0.11,"max_ext_allowed_pct":3.0,"volume_pace":1.097,"trend":"flat","recent_slope_pct":0.022,"volatility":"medium"},"price":13.4857,"volume":{"bars":69,"last_bar_volume":7478.0,"baseline_avg":15919.95,"bar_rvol":0.469725,"raw_accel":0.8789,"smooth_accel":-0.774029,"accel_momentum":-0.296868,"rvol_3bar":[0.642536,0.224577,0.469725],"trend_3bar":"MIXED","projected_rvol":0.101759},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":700.0,"sell_vol":1638.0,"unclassified_vol":0.0,"imbalance":-0.401198,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":0.829458},"context":{"vwap":13.472175,"price_vs_vwap_pct":0.100392,"ema9":13.462118,"ema20":13.447129,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.913299,"dist_to_hod_atr":4.029272,"atr":0.030849,"spread_atr":0.324157,"own_change_pct":0.446263,"rel_strength_pct":{"SPY":0.354281,"IWM":0.248289}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.188453},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"18a19b8aedc6","ts":"2026-08-28T14:39:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.5016,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.044,"trend":"flat","recent_slope_pct":0.0769,"volatility":"medium"},"price":5.52,"volume":{"bars":69,"last_bar_volume":24204.0,"baseline_avg":51492.75,"bar_rvol":0.470047,"raw_accel":-0.387938,"smooth_accel":-0.013968,"accel_momentum":0.179625,"rvol_3bar":[2.310826,0.742521,0.470047],"trend_3bar":"DECELERATING","projected_rvol":1.350074},"flow":{"window_s":30,"trades":108,"trade_rate":3.6,"buy_vol":18164.0,"sell_vol":6639.0,"unclassified_vol":0.0,"imbalance":0.464662,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.567721},"context":{"vwap":5.501538,"price_vs_vwap_pct":0.335585,"ema9":5.507344,"ema20":5.509403,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.358227,"atr":0.025443,"spread_atr":0.393038,"own_change_pct":0.272975,"rel_strength_pct":{"SPY":0.180993,"IWM":0.075002}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.218413},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"cf78d49ef17a","ts":"2026-08-28T14:40:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.5017,"ext_from_open_pct":3.18,"max_ext_allowed_pct":4.0,"volume_pace":1.04,"trend":"flat","recent_slope_pct":0.0769,"volatility":"medium"},"price":5.52,"volume":{"bars":69,"last_bar_volume":24204.0,"baseline_avg":51492.75,"bar_rvol":0.470047,"raw_accel":-0.387938,"smooth_accel":-0.013968,"accel_momentum":0.179625,"rvol_3bar":[2.310826,0.742521,0.470047],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":19842.0,"sell_vol":6729.0,"unclassified_vol":0.0,"imbalance":0.493508,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.002353},"context":{"vwap":5.501538,"price_vs_vwap_pct":0.335585,"ema9":5.507344,"ema20":5.509403,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.358227,"atr":0.025443,"spread_atr":0.393038,"own_change_pct":0.272975,"rel_strength_pct":{"SPY":0.248368,"IWM":0.175693}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.231972},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"4936743359ee","ts":"2026-08-28T14:40:10+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.46 below VWAP $6.48","plan":{"state":"PASS","setup":"","stop":6.35,"target":6.64,"target_label":"ceiling","reward_risk":1.59,"pos_in_5d_range_pct":71.8,"room_to_5d_high_atr":1.2},"price":6.462,"vwap":6.485,"ext_from_open_pct":-3.41,"max_ext_allowed_pct":3.0,"volume_pace":1.484,"trend":"flat","recent_slope_pct":-0.0185,"volatility":"high"},"price":6.462,"volume":{"bars":70,"last_bar_volume":3168.0,"baseline_avg":10642.25,"bar_rvol":0.297681,"raw_accel":-0.244455,"smooth_accel":-0.360371,"accel_momentum":0.027936,"rvol_3bar":[0.562424,0.368538,0.297681],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":303.0,"sell_vol":329.0,"unclassified_vol":0.0,"imbalance":-0.041139,"bid":6.5,"ask":6.51,"spread_pct":0.153728,"quote_size_imbalance":null,"quote_age_s":0.047956},"context":{"vwap":6.484961,"price_vs_vwap_pct":-0.354061,"ema9":6.479055,"ema20":6.465662,"ema_stack":false,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-4.690265,"dist_to_hod_atr":7.277037,"atr":0.043699,"spread_atr":0.228838,"own_change_pct":0.540541,"rel_strength_pct":{"SPY":0.515934,"IWM":0.443258}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.012246},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"06d5a494817f","ts":"2026-08-28T14:40:10+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":10.8102,"target":11.14,"target_label":"ceiling","reward_risk":0.65,"pos_in_5d_range_pct":-10.9,"room_to_5d_high_atr":1.64},"price":11.01,"vwap":10.9989,"ext_from_open_pct":-1.17,"max_ext_allowed_pct":3.0,"volume_pace":1.641,"trend":"flat","recent_slope_pct":-0.0871,"volatility":"high"},"price":11.01,"volume":{"bars":70,"last_bar_volume":18983.0,"baseline_avg":22393.5,"bar_rvol":0.847701,"raw_accel":-0.106178,"smooth_accel":-0.179299,"accel_momentum":-0.154691,"rvol_3bar":[1.002709,0.939533,0.847701],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":81,"trade_rate":2.7,"buy_vol":1946.0,"sell_vol":7286.0,"unclassified_vol":0.0,"imbalance":-0.578423,"bid":11.0,"ask":11.01,"spread_pct":0.090868,"quote_size_imbalance":null,"quote_age_s":0.422617},"context":{"vwap":10.998848,"price_vs_vwap_pct":0.101388,"ema9":11.024731,"ema20":11.002639,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.537306,"dist_to_hod_atr":2.590404,"atr":0.06636,"spread_atr":0.150692,"own_change_pct":0.216069,"rel_strength_pct":{"SPY":0.191462,"IWM":0.118786}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.49033},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"fcf880fac83f","ts":"2026-08-28T14:40:15+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.3% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4496,"target":5.57,"target_label":"prev_day_high","reward_risk":0.6,"pos_in_5d_range_pct":45.4,"room_to_5d_high_atr":1.57},"price":5.525,"vwap":5.5017,"ext_from_open_pct":3.27,"max_ext_allowed_pct":3.0,"volume_pace":1.037,"trend":"flat","recent_slope_pct":0.0544,"volatility":"medium"},"price":5.525,"volume":{"bars":70,"last_bar_volume":56438.0,"baseline_avg":51008.15,"bar_rvol":1.106451,"raw_accel":1.331763,"smooth_accel":-0.472827,"accel_momentum":-0.458859,"rvol_3bar":[0.742521,0.470047,1.106451],"trend_3bar":"MIXED","projected_rvol":0.142173},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":17778.0,"sell_vol":2687.0,"unclassified_vol":0.0,"imbalance":0.737405,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.456605},"context":{"vwap":5.501689,"price_vs_vwap_pct":0.423709,"ema9":5.509875,"ema20":5.510412,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.985663,"dist_to_hod_atr":2.140929,"atr":0.02569,"spread_atr":0.38926,"own_change_pct":0.454959,"rel_strength_pct":{"SPY":0.430352,"IWM":0.357676}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.815903},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"54ea20e942b5","ts":"2026-08-28T14:40:20+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4278,"target":5.57,"target_label":"prev_day_high","reward_risk":0.89,"pos_in_5d_range_pct":42.9,"room_to_5d_high_atr":1.65},"price":5.5032,"vwap":5.5017,"ext_from_open_pct":2.86,"max_ext_allowed_pct":3.0,"volume_pace":1.036,"trend":"flat","recent_slope_pct":-0.0247,"volatility":"medium"},"price":5.5032,"volume":{"bars":70,"last_bar_volume":56438.0,"baseline_avg":51008.15,"bar_rvol":1.106451,"raw_accel":1.331763,"smooth_accel":-0.472827,"accel_momentum":-0.458859,"rvol_3bar":[0.742521,0.470047,1.106451],"trend_3bar":"MIXED","projected_rvol":0.167032},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":17405.0,"sell_vol":2952.0,"unclassified_vol":0.0,"imbalance":0.709977,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.042619},"context":{"vwap":5.501689,"price_vs_vwap_pct":0.027467,"ema9":5.509875,"ema20":5.510412,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.376344,"dist_to_hod_atr":2.989516,"atr":0.02569,"spread_atr":0.38926,"own_change_pct":0.454959,"rel_strength_pct":{"SPY":0.430352,"IWM":0.357676}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.785554},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8c77feb80636","ts":"2026-08-28T14:40:25+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.5017,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":1.036,"trend":"flat","recent_slope_pct":0.0363,"volatility":"medium"},"price":5.52,"volume":{"bars":70,"last_bar_volume":56438.0,"baseline_avg":51008.15,"bar_rvol":1.106451,"raw_accel":1.331763,"smooth_accel":-0.472827,"accel_momentum":-0.458859,"rvol_3bar":[0.742521,0.470047,1.106451],"trend_3bar":"MIXED","projected_rvol":0.323195},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":2955.0,"sell_vol":5931.0,"unclassified_vol":0.0,"imbalance":-0.334909,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":1.95256},"context":{"vwap":5.501689,"price_vs_vwap_pct":0.332828,"ema9":5.509875,"ema20":5.510412,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.335559,"atr":0.02569,"spread_atr":0.38926,"own_change_pct":0.454959,"rel_strength_pct":{"SPY":0.430352,"IWM":0.357676}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.37056},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ea18e9078eb9","ts":"2026-08-28T14:40:40+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4288,"target":5.57,"target_label":"prev_day_high","reward_risk":0.87,"pos_in_5d_range_pct":43.0,"room_to_5d_high_atr":1.64},"price":5.5042,"vwap":5.5017,"ext_from_open_pct":2.88,"max_ext_allowed_pct":3.0,"volume_pace":1.035,"trend":"flat","recent_slope_pct":-0.021,"volatility":"medium"},"price":5.5042,"volume":{"bars":70,"last_bar_volume":56438.0,"baseline_avg":51008.15,"bar_rvol":1.106451,"raw_accel":1.331763,"smooth_accel":-0.472827,"accel_momentum":-0.458859,"rvol_3bar":[0.742521,0.470047,1.106451],"trend_3bar":"MIXED","projected_rvol":0.701153},"flow":{"window_s":30,"trades":74,"trade_rate":2.466667,"buy_vol":15602.0,"sell_vol":6487.0,"unclassified_vol":0.0,"imbalance":0.412649,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.964924},"context":{"vwap":5.501689,"price_vs_vwap_pct":0.045643,"ema9":5.509875,"ema20":5.510412,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.358423,"dist_to_hod_atr":2.95059,"atr":0.02569,"spread_atr":0.38926,"own_change_pct":0.454959,"rel_strength_pct":{"SPY":0.430352,"IWM":0.357676}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.456576},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"140ab5f25000","ts":"2026-08-28T14:40:45+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.4,"target":6.64,"target_label":"ceiling","reward_risk":1.0,"pos_in_5d_range_pct":74.9,"room_to_5d_high_atr":1.07},"price":6.52,"vwap":6.4854,"ext_from_open_pct":-2.54,"max_ext_allowed_pct":3.0,"volume_pace":1.501,"trend":"flat","recent_slope_pct":0.1599,"volatility":"high"},"price":6.52,"volume":{"bars":70,"last_bar_volume":3168.0,"baseline_avg":10642.25,"bar_rvol":0.297681,"raw_accel":-0.244455,"smooth_accel":-0.360371,"accel_momentum":0.027936,"rvol_3bar":[0.562424,0.368538,0.297681],"trend_3bar":"DECELERATING","projected_rvol":2.556101},"flow":{"window_s":30,"trades":121,"trade_rate":4.033333,"buy_vol":9754.0,"sell_vol":10223.0,"unclassified_vol":0.0,"imbalance":-0.023477,"bid":6.52,"ask":6.53,"spread_pct":0.153257,"quote_size_imbalance":null,"quote_age_s":0.092312},"context":{"vwap":6.484961,"price_vs_vwap_pct":0.540316,"ema9":6.479055,"ema20":6.465662,"ema_stack":true,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.834808,"dist_to_hod_atr":5.949779,"atr":0.043699,"spread_atr":0.228838,"own_change_pct":0.540541,"rel_strength_pct":{"SPY":0.515934,"IWM":0.443258}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.006989},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"088621315985","ts":"2026-08-28T14:40:50+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.3413,"target":10.567,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":77.7,"room_to_5d_high_atr":0.42},"price":10.46,"vwap":10.4582,"ext_from_open_pct":-0.66,"max_ext_allowed_pct":4.0,"volume_pace":0.842,"trend":"flat","recent_slope_pct":0.0276,"volatility":"medium"},"price":10.46,"volume":{"bars":70,"last_bar_volume":42792.0,"baseline_avg":176582.4,"bar_rvol":0.242334,"raw_accel":-0.655689,"smooth_accel":0.434258,"accel_momentum":-0.22977,"rvol_3bar":[1.138471,0.703135,0.242334],"trend_3bar":"DECELERATING","projected_rvol":0.189491},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":12145.0,"sell_vol":4566.0,"unclassified_vol":0.0,"imbalance":0.453534,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.048657},"context":{"vwap":10.458211,"price_vs_vwap_pct":0.017104,"ema9":10.451856,"ema20":10.449149,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.012586,"dist_to_hod_atr":3.615659,"atr":0.029594,"spread_atr":0.337912,"own_change_pct":-0.124283,"rel_strength_pct":{"SPY":-0.14889,"IWM":-0.221566}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.109907},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"8215a3969089","ts":"2026-08-28T14:40:55+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.45 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3327,"target":10.567,"target_label":"ceiling","reward_risk":0.97,"pos_in_5d_range_pct":76.7,"room_to_5d_high_atr":0.44},"price":10.4514,"vwap":10.4582,"ext_from_open_pct":-0.74,"max_ext_allowed_pct":3.0,"volume_pace":0.841,"trend":"flat","recent_slope_pct":0.0111,"volatility":"medium"},"price":10.4514,"volume":{"bars":70,"last_bar_volume":42792.0,"baseline_avg":176582.4,"bar_rvol":0.242334,"raw_accel":-0.655689,"smooth_accel":0.434258,"accel_momentum":-0.22977,"rvol_3bar":[1.138471,0.703135,0.242334],"trend_3bar":"DECELERATING","projected_rvol":0.17987},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":12312.0,"sell_vol":4916.0,"unclassified_vol":0.0,"imbalance":0.429301,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.133702},"context":{"vwap":10.458211,"price_vs_vwap_pct":-0.065128,"ema9":10.451856,"ema20":10.449149,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.093972,"dist_to_hod_atr":3.906263,"atr":0.029594,"spread_atr":0.337912,"own_change_pct":-0.124283,"rel_strength_pct":{"SPY":-0.14889,"IWM":-0.221566}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.104034},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"08dd2af12dd5","ts":"2026-08-28T14:41:00+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.3412,"target":10.567,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":77.6,"room_to_5d_high_atr":0.42},"price":10.4599,"vwap":10.4582,"ext_from_open_pct":-0.66,"max_ext_allowed_pct":3.0,"volume_pace":0.84,"trend":"flat","recent_slope_pct":0.0274,"volatility":"medium"},"price":10.4599,"volume":{"bars":70,"last_bar_volume":42792.0,"baseline_avg":176582.4,"bar_rvol":0.242334,"raw_accel":-0.655689,"smooth_accel":0.434258,"accel_momentum":-0.22977,"rvol_3bar":[1.138471,0.703135,0.242334],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":25,"trade_rate":0.833333,"buy_vol":643.0,"sell_vol":5173.0,"unclassified_vol":0.0,"imbalance":-0.778886,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.004112},"context":{"vwap":10.458211,"price_vs_vwap_pct":0.016148,"ema9":10.451856,"ema20":10.449149,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.013533,"dist_to_hod_atr":3.619038,"atr":0.029594,"spread_atr":0.337912,"own_change_pct":-0.124283,"rel_strength_pct":{"SPY":-0.197965,"IWM":-0.256753}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.188751},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"c0a30356d7a0","ts":"2026-08-28T14:41:00+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":10.8746,"target":11.29,"target_label":"premarket_high","reward_risk":1.08,"pos_in_5d_range_pct":-5.4,"room_to_5d_high_atr":1.56},"price":11.0744,"vwap":11.0007,"ext_from_open_pct":-0.59,"max_ext_allowed_pct":4.0,"volume_pace":1.679,"trend":"flat","recent_slope_pct":0.0295,"volatility":"high"},"price":11.0744,"volume":{"bars":70,"last_bar_volume":18983.0,"baseline_avg":22393.5,"bar_rvol":0.847701,"raw_accel":-0.106178,"smooth_accel":-0.179299,"accel_momentum":-0.154691,"rvol_3bar":[1.002709,0.939533,0.847701],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":150,"trade_rate":5.0,"buy_vol":66276.0,"sell_vol":10375.0,"unclassified_vol":0.0,"imbalance":0.729293,"bid":11.07,"ask":11.08,"spread_pct":0.090293,"quote_size_imbalance":null,"quote_age_s":0.00433},"context":{"vwap":10.998848,"price_vs_vwap_pct":0.686904,"ema9":11.024731,"ema20":11.002639,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.961375,"dist_to_hod_atr":1.619944,"atr":0.06636,"spread_atr":0.150692,"own_change_pct":0.216069,"rel_strength_pct":{"SPY":0.142387,"IWM":0.083599}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.618222},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"a571713bd171","ts":"2026-08-28T14:41:05+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.45 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3313,"target":10.567,"target_label":"ceiling","reward_risk":0.99,"pos_in_5d_range_pct":76.5,"room_to_5d_high_atr":0.44},"price":10.45,"vwap":10.4582,"ext_from_open_pct":-0.75,"max_ext_allowed_pct":3.0,"volume_pace":0.839,"trend":"flat","recent_slope_pct":-0.0144,"volatility":"medium"},"price":10.45,"volume":{"bars":71,"last_bar_volume":30821.0,"baseline_avg":170429.5,"bar_rvol":0.180843,"raw_accel":-0.279749,"smooth_accel":-0.414063,"accel_momentum":-0.848321,"rvol_3bar":[0.703135,0.242334,0.180843],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":644.0,"sell_vol":4155.0,"unclassified_vol":0.0,"imbalance":-0.731611,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.023937},"context":{"vwap":10.458197,"price_vs_vwap_pct":-0.07838,"ema9":10.453465,"ema20":10.450173,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.107221,"dist_to_hod_atr":4.047287,"atr":0.028908,"spread_atr":0.345922,"own_change_pct":0.061224,"rel_strength_pct":{"SPY":-0.012458,"IWM":-0.071247}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.132307},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"8a8be078edcc","ts":"2026-08-28T14:41:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 5.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.8603,"target":11.14,"target_label":"ceiling","reward_risk":0.4,"pos_in_5d_range_pct":-6.7,"room_to_5d_high_atr":1.58},"price":11.0601,"vwap":11.0008,"ext_from_open_pct":-0.72,"max_ext_allowed_pct":4.0,"volume_pace":1.678,"trend":"flat","recent_slope_pct":0.0223,"volatility":"high"},"price":11.0601,"volume":{"bars":71,"last_bar_volume":81803.0,"baseline_avg":22295.6,"bar_rvol":3.66902,"raw_accel":3.309277,"smooth_accel":0.920489,"accel_momentum":1.099787,"rvol_3bar":[0.939533,0.847701,3.66902],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":157,"trade_rate":5.233333,"buy_vol":66161.0,"sell_vol":12502.0,"unclassified_vol":0.0,"imbalance":0.682138,"bid":11.06,"ask":11.07,"spread_pct":0.090375,"quote_size_imbalance":null,"quote_age_s":0.041215},"context":{"vwap":11.0007,"price_vs_vwap_pct":0.539961,"ema9":11.034665,"ema20":11.009473,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.08926,"dist_to_hod_atr":1.818523,"atr":0.066977,"spread_atr":0.149304,"own_change_pct":0.402539,"rel_strength_pct":{"SPY":0.328857,"IWM":0.270068}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":2.502777},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"88093a12375d","ts":"2026-08-28T14:41:10+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.46 below VWAP $13.47","plan":{"state":"PASS","setup":"","stop":13.3398,"target":13.61,"target_label":"ceiling","reward_risk":1.21,"pos_in_5d_range_pct":15.9,"room_to_5d_high_atr":1.42},"price":13.4621,"vwap":13.4724,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":3.0,"volume_pace":1.077,"trend":"flat","recent_slope_pct":-0.0189,"volatility":"medium"},"price":13.4621,"volume":{"bars":71,"last_bar_volume":4436.0,"baseline_avg":15448.4,"bar_rvol":0.287149,"raw_accel":-0.194918,"smooth_accel":-0.539145,"accel_momentum":0.291123,"rvol_3bar":[0.469725,0.346268,0.287149],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":14,"trade_rate":0.466667,"buy_vol":651.0,"sell_vol":363.0,"unclassified_vol":0.0,"imbalance":0.284024,"bid":13.5,"ask":13.51,"spread_pct":0.074047,"quote_size_imbalance":null,"quote_age_s":0.60922},"context":{"vwap":13.472352,"price_vs_vwap_pct":-0.076095,"ema9":13.476816,"ema20":13.457225,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-1.086701,"dist_to_hod_atr":4.396363,"atr":0.033641,"spread_atr":0.297252,"own_change_pct":0.113417,"rel_strength_pct":{"SPY":0.039736,"IWM":-0.019053}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.081557},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"f57e7558acae","ts":"2026-08-28T14:41:15+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":6.4,"target":6.64,"target_label":"ceiling","reward_risk":0.96,"pos_in_5d_range_pct":75.0,"room_to_5d_high_atr":1.07},"price":6.5227,"vwap":6.4861,"ext_from_open_pct":-2.5,"max_ext_allowed_pct":3.0,"volume_pace":1.522,"trend":"flat","recent_slope_pct":0.1894,"volatility":"high"},"price":6.5227,"volume":{"bars":71,"last_bar_volume":41643.0,"baseline_avg":6479.2,"bar_rvol":6.427182,"raw_accel":12.144886,"smooth_accel":1.904285,"accel_momentum":2.264656,"rvol_3bar":[0.368538,0.297681,6.427182],"trend_3bar":"MIXED","projected_rvol":0.27596},"flow":{"window_s":30,"trades":90,"trade_rate":3.0,"buy_vol":6933.0,"sell_vol":14755.0,"unclassified_vol":0.0,"imbalance":-0.36066,"bid":6.52,"ask":6.54,"spread_pct":0.306279,"quote_size_imbalance":null,"quote_age_s":3.312563},"context":{"vwap":6.486111,"price_vs_vwap_pct":0.564108,"ema9":6.491244,"ema20":6.472742,"ema_stack":true,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.794985,"dist_to_hod_atr":5.565922,"atr":0.046228,"spread_atr":0.432641,"own_change_pct":1.453547,"rel_strength_pct":{"SPY":1.379865,"IWM":1.321077}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.318029},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"48785027b7a5","ts":"2026-08-28T14:41:20+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3777,"target":13.61,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":20.5,"room_to_5d_high_atr":1.35},"price":13.5,"vwap":13.4724,"ext_from_open_pct":0.0,"max_ext_allowed_pct":4.0,"volume_pace":1.075,"trend":"flat","recent_slope_pct":0.0373,"volatility":"medium"},"price":13.5,"volume":{"bars":71,"last_bar_volume":4436.0,"baseline_avg":15448.4,"bar_rvol":0.287149,"raw_accel":-0.194918,"smooth_accel":-0.539145,"accel_momentum":0.291123,"rvol_3bar":[0.469725,0.346268,0.287149],"trend_3bar":"DECELERATING","projected_rvol":0.154773},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":802.0,"sell_vol":171.0,"unclassified_vol":0.0,"imbalance":0.64851,"bid":13.5,"ask":13.51,"spread_pct":0.074047,"quote_size_imbalance":null,"quote_age_s":0.492864},"context":{"vwap":13.472352,"price_vs_vwap_pct":0.205222,"ema9":13.476816,"ema20":13.457225,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.808229,"dist_to_hod_atr":3.269777,"atr":0.033641,"spread_atr":0.297252,"own_change_pct":0.113417,"rel_strength_pct":{"SPY":0.039736,"IWM":-0.019053}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.186219},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"df554356242a","ts":"2026-08-28T14:41:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.4% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.5019,"ext_from_open_pct":3.36,"max_ext_allowed_pct":3.0,"volume_pace":1.029,"trend":"flat","recent_slope_pct":0.0815,"volatility":"medium"},"price":5.53,"volume":{"bars":71,"last_bar_volume":34035.0,"baseline_avg":50984.7,"bar_rvol":0.667553,"raw_accel":-0.396949,"smooth_accel":-0.423595,"accel_momentum":0.049232,"rvol_3bar":[0.470047,1.106451,0.667553],"trend_3bar":"MIXED","projected_rvol":0.968408},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":12119.0,"sell_vol":12568.0,"unclassified_vol":0.0,"imbalance":-0.018188,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.002279},"context":{"vwap":5.501831,"price_vs_vwap_pct":0.511985,"ema9":5.5149,"ema20":5.512754,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":1.887977,"atr":0.026483,"spread_atr":0.377595,"own_change_pct":0.658325,"rel_strength_pct":{"SPY":0.584644,"IWM":0.525855}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.012141},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ec3ecd284c06","ts":"2026-08-28T14:41:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4596,"target":5.57,"target_label":"prev_day_high","reward_risk":0.46,"pos_in_5d_range_pct":46.6,"room_to_5d_high_atr":1.54},"price":5.535,"vwap":5.502,"ext_from_open_pct":3.46,"max_ext_allowed_pct":4.0,"volume_pace":1.024,"trend":"flat","recent_slope_pct":0.0996,"volatility":"medium"},"price":5.535,"volume":{"bars":71,"last_bar_volume":34035.0,"baseline_avg":50984.7,"bar_rvol":0.667553,"raw_accel":-0.396949,"smooth_accel":-0.423595,"accel_momentum":0.049232,"rvol_3bar":[0.470047,1.106451,0.667553],"trend_3bar":"MIXED","projected_rvol":0.69653},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":6123.0,"sell_vol":2420.0,"unclassified_vol":0.0,"imbalance":0.433454,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":2.260852},"context":{"vwap":5.501831,"price_vs_vwap_pct":0.602864,"ema9":5.5149,"ema20":5.512754,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.806452,"dist_to_hod_atr":1.69918,"atr":0.026483,"spread_atr":0.377595,"own_change_pct":0.658325,"rel_strength_pct":{"SPY":0.584644,"IWM":0.525855}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.289354},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4f654aad0d78","ts":"2026-08-28T14:42:05+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.4,"target":6.64,"target_label":"ceiling","reward_risk":1.0,"pos_in_5d_range_pct":74.9,"room_to_5d_high_atr":1.07},"price":6.52,"vwap":6.4868,"ext_from_open_pct":-2.54,"max_ext_allowed_pct":3.0,"volume_pace":1.53,"trend":"flat","recent_slope_pct":-0.0107,"volatility":"high"},"price":6.52,"volume":{"bars":72,"last_bar_volume":18375.0,"baseline_avg":8158.55,"bar_rvol":2.252238,"raw_accel":-0.558749,"smooth_accel":2.730208,"accel_momentum":0.825923,"rvol_3bar":[0.297681,6.427182,2.252238],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":16,"trade_rate":0.533333,"buy_vol":502.0,"sell_vol":825.0,"unclassified_vol":0.0,"imbalance":-0.243406,"bid":6.52,"ask":6.53,"spread_pct":0.153257,"quote_size_imbalance":null,"quote_age_s":0.297947},"context":{"vwap":6.486761,"price_vs_vwap_pct":0.512418,"ema9":6.497595,"ema20":6.477529,"ema_stack":true,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.834808,"dist_to_hod_atr":5.768067,"atr":0.045076,"spread_atr":0.221849,"own_change_pct":0.508475,"rel_strength_pct":{"SPY":0.460564,"IWM":0.47327}},"vas":{"raw":5,"score":7.5,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.548209},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"22300adb34bd","ts":"2026-08-28T14:42:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.5% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4596,"target":5.57,"target_label":"prev_day_high","reward_risk":0.46,"pos_in_5d_range_pct":46.6,"room_to_5d_high_atr":1.54},"price":5.535,"vwap":5.502,"ext_from_open_pct":3.46,"max_ext_allowed_pct":3.0,"volume_pace":1.023,"trend":"flat","recent_slope_pct":0.1107,"volatility":"medium"},"price":5.535,"volume":{"bars":72,"last_bar_volume":33479.0,"baseline_avg":51688.55,"bar_rvol":0.647706,"raw_accel":-0.016336,"smooth_accel":-0.318642,"accel_momentum":0.104953,"rvol_3bar":[1.106451,0.667553,0.647706],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":7816.0,"sell_vol":3096.0,"unclassified_vol":0.0,"imbalance":0.432551,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.447492},"context":{"vwap":5.501969,"price_vs_vwap_pct":0.60035,"ema9":5.51816,"ema20":5.514511,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.806452,"dist_to_hod_atr":1.667179,"atr":0.026992,"spread_atr":0.370484,"own_change_pct":0.384755,"rel_strength_pct":{"SPY":0.336844,"IWM":0.34955}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.280166},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"6578f351cc0a","ts":"2026-08-28T14:42:25+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":6.398,"target":6.64,"target_label":"ceiling","reward_risk":1.16,"pos_in_5d_range_pct":74.3,"room_to_5d_high_atr":1.09},"price":6.51,"vwap":6.487,"ext_from_open_pct":-2.69,"max_ext_allowed_pct":3.0,"volume_pace":1.536,"trend":"flat","recent_slope_pct":-0.0414,"volatility":"high"},"price":6.51,"volume":{"bars":72,"last_bar_volume":18375.0,"baseline_avg":8158.55,"bar_rvol":2.252238,"raw_accel":-0.558749,"smooth_accel":2.730208,"accel_momentum":0.825923,"rvol_3bar":[0.297681,6.427182,2.252238],"trend_3bar":"MIXED","projected_rvol":2.880806},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":2393.0,"sell_vol":7502.0,"unclassified_vol":0.0,"imbalance":-0.516321,"bid":6.51,"ask":6.52,"spread_pct":0.153492,"quote_size_imbalance":null,"quote_age_s":0.495088},"context":{"vwap":6.486761,"price_vs_vwap_pct":0.358258,"ema9":6.497595,"ema20":6.477529,"ema_stack":true,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.982301,"dist_to_hod_atr":5.989916,"atr":0.045076,"spread_atr":0.221849,"own_change_pct":0.508475,"rel_strength_pct":{"SPY":0.460564,"IWM":0.47327}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.162879},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8e6ac49b0a6a","ts":"2026-08-28T14:42:30+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.46 below VWAP $13.47","plan":{"state":"PASS","setup":"","stop":13.3427,"target":13.61,"target_label":"ceiling","reward_risk":1.19,"pos_in_5d_range_pct":16.3,"room_to_5d_high_atr":1.42},"price":13.465,"vwap":13.4724,"ext_from_open_pct":-0.26,"max_ext_allowed_pct":4.0,"volume_pace":1.06,"trend":"flat","recent_slope_pct":-0.0556,"volatility":"medium"},"price":13.465,"volume":{"bars":72,"last_bar_volume":2806.0,"baseline_avg":14627.1,"bar_rvol":0.191836,"raw_accel":-0.367448,"smooth_accel":-0.389243,"accel_momentum":0.149902,"rvol_3bar":[0.346268,0.287149,0.191836],"trend_3bar":"DECELERATING","projected_rvol":0.083544},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":500.0,"sell_vol":111.0,"unclassified_vol":0.0,"imbalance":0.636661,"bid":13.5,"ask":13.51,"spread_pct":0.074047,"quote_size_imbalance":null,"quote_age_s":0.005678},"context":{"vwap":13.472402,"price_vs_vwap_pct":-0.054939,"ema9":13.482453,"ema20":13.461775,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-1.065393,"dist_to_hod_atr":4.183508,"atr":0.03466,"spread_atr":0.288518,"own_change_pct":0.283661,"rel_strength_pct":{"SPY":0.23575,"IWM":0.248456}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.122134},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"a4d8faf3c3be","ts":"2026-08-28T14:42:35+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3827,"target":13.61,"target_label":"ceiling","reward_risk":0.86,"pos_in_5d_range_pct":21.1,"room_to_5d_high_atr":1.34},"price":13.505,"vwap":13.4724,"ext_from_open_pct":0.04,"max_ext_allowed_pct":3.0,"volume_pace":1.059,"trend":"flat","recent_slope_pct":0.0037,"volatility":"medium"},"price":13.505,"volume":{"bars":72,"last_bar_volume":2806.0,"baseline_avg":14627.1,"bar_rvol":0.191836,"raw_accel":-0.367448,"smooth_accel":-0.389243,"accel_momentum":0.149902,"rvol_3bar":[0.346268,0.287149,0.191836],"trend_3bar":"DECELERATING","projected_rvol":0.07618},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":539.0,"sell_vol":110.0,"unclassified_vol":0.0,"imbalance":0.661017,"bid":13.5,"ask":13.51,"spread_pct":0.074047,"quote_size_imbalance":null,"quote_age_s":1.406835},"context":{"vwap":13.472402,"price_vs_vwap_pct":0.241965,"ema9":13.482453,"ema20":13.461775,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.771492,"dist_to_hod_atr":3.029436,"atr":0.03466,"spread_atr":0.288518,"own_change_pct":0.283661,"rel_strength_pct":{"SPY":0.23575,"IWM":0.248456}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.126807},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"9b52207f8c6e","ts":"2026-08-28T14:43:05+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.403,"target":6.64,"target_label":"ceiling","reward_risk":1.12,"pos_in_5d_range_pct":74.6,"room_to_5d_high_atr":1.08},"price":6.515,"vwap":6.4871,"ext_from_open_pct":-2.62,"max_ext_allowed_pct":3.0,"volume_pace":1.525,"trend":"flat","recent_slope_pct":-0.0155,"volatility":"high"},"price":6.515,"volume":{"bars":73,"last_bar_volume":10049.0,"baseline_avg":8766.75,"bar_rvol":1.146263,"raw_accel":-0.453116,"smooth_accel":3.63498,"accel_momentum":0.904772,"rvol_3bar":[6.427182,2.252238,1.146263],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":202.0,"sell_vol":1852.0,"unclassified_vol":0.0,"imbalance":-0.803311,"bid":6.51,"ask":6.52,"spread_pct":0.153492,"quote_size_imbalance":null,"quote_age_s":1.391106},"context":{"vwap":6.487032,"price_vs_vwap_pct":0.431137,"ema9":6.502056,"ema20":6.481564,"ema_stack":true,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.908555,"dist_to_hod_atr":6.133399,"atr":0.043206,"spread_atr":0.231449,"own_change_pct":0.833591,"rel_strength_pct":{"SPY":0.761087,"IWM":0.843645}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.920805},"shadow":{"decision":"FAIL","failed":["vas","imbalance","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"6b3cbbd1b99d","ts":"2026-08-28T14:43:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 125.0s, plan says WATCH; stop 10.87, target 11.14 (ceiling), R:R 0.37; R:R 0.37 < 2.0 at 11.07; pullback: buy 11.01-11.04 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":10.8659,"target":11.14,"target_label":"ceiling","reward_risk":0.37,"pos_in_5d_range_pct":-6.2,"room_to_5d_high_atr":1.58},"price":11.0658,"vwap":11.002,"ext_from_open_pct":-0.67,"max_ext_allowed_pct":3.0,"volume_pace":1.678,"trend":"flat","recent_slope_pct":0.0176,"volatility":"high"},"price":11.0658,"volume":{"bars":73,"last_bar_volume":43080.0,"baseline_avg":24604.45,"bar_rvol":1.750903,"raw_accel":0.847421,"smooth_accel":1.336392,"accel_momentum":0.553351,"rvol_3bar":[3.66902,0.931607,1.750903],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":5594.0,"sell_vol":2735.0,"unclassified_vol":0.0,"imbalance":0.343258,"bid":11.06,"ask":11.07,"spread_pct":0.090375,"quote_size_imbalance":null,"quote_age_s":1.025742},"context":{"vwap":11.001926,"price_vs_vwap_pct":0.58057,"ema9":11.035986,"ema20":11.01469,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.038285,"dist_to_hod_atr":1.838096,"atr":0.063163,"spread_atr":0.15832,"own_change_pct":-0.227745,"rel_strength_pct":{"SPY":-0.300249,"IWM":-0.217691}},"vas":{"raw":7,"score":8.8,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.601012},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d62c4e6631c2","ts":"2026-08-28T14:43:05+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":12.94,"target":13.51,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":13.9,"room_to_5d_high_atr":1.48},"price":13.275,"vwap":13.2445,"ext_from_open_pct":-1.88,"max_ext_allowed_pct":3.0,"volume_pace":1.326,"trend":"flat","recent_slope_pct":0.0947,"volatility":"medium"},"price":13.275,"volume":{"bars":73,"last_bar_volume":9407.0,"baseline_avg":33116.4,"bar_rvol":0.284059,"raw_accel":-0.586324,"smooth_accel":-0.49186,"accel_momentum":-0.013845,"rvol_3bar":[0.338009,0.685102,0.284059],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":3441.0,"sell_vol":1061.0,"unclassified_vol":0.0,"imbalance":0.528654,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.184779},"context":{"vwap":13.244545,"price_vs_vwap_pct":0.229942,"ema9":13.213385,"ema20":13.170042,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.10177,"dist_to_hod_atr":2.556033,"atr":0.111501,"spread_atr":0.089685,"own_change_pct":1.180922,"rel_strength_pct":{"SPY":1.108418,"IWM":1.190976}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.150169},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"39b89436231a","ts":"2026-08-28T14:43:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4496,"target":5.57,"target_label":"prev_day_high","reward_risk":0.6,"pos_in_5d_range_pct":45.4,"room_to_5d_high_atr":1.57},"price":5.525,"vwap":5.5025,"ext_from_open_pct":3.27,"max_ext_allowed_pct":4.0,"volume_pace":1.024,"trend":"flat","recent_slope_pct":0.009,"volatility":"medium"},"price":5.525,"volume":{"bars":73,"last_bar_volume":62332.0,"baseline_avg":52461.15,"bar_rvol":1.188155,"raw_accel":0.861824,"smooth_accel":0.080366,"accel_momentum":0.399008,"rvol_3bar":[0.667553,0.647706,1.188155],"trend_3bar":"MIXED","projected_rvol":2.337436},"flow":{"window_s":30,"trades":101,"trade_rate":3.366667,"buy_vol":58681.0,"sell_vol":12775.0,"unclassified_vol":0.0,"imbalance":0.642437,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.337886},"context":{"vwap":5.502219,"price_vs_vwap_pct":0.414033,"ema9":5.520528,"ema20":5.515986,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.985663,"dist_to_hod_atr":2.006295,"atr":0.027414,"spread_atr":0.364781,"own_change_pct":0.181159,"rel_strength_pct":{"SPY":0.108655,"IWM":0.191213}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.763315},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9ba18278562b","ts":"2026-08-28T14:43:40+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.23 below VWAP $13.24","plan":{"state":"PASS","setup":"","stop":12.94,"target":13.51,"target_label":"ceiling","reward_risk":0.97,"pos_in_5d_range_pct":9.1,"room_to_5d_high_atr":1.56},"price":13.23,"vwap":13.2446,"ext_from_open_pct":-2.22,"max_ext_allowed_pct":3.0,"volume_pace":1.325,"trend":"flat","recent_slope_pct":0.0268,"volatility":"medium"},"price":13.23,"volume":{"bars":73,"last_bar_volume":9407.0,"baseline_avg":33116.4,"bar_rvol":0.284059,"raw_accel":-0.586324,"smooth_accel":-0.49186,"accel_momentum":-0.013845,"rvol_3bar":[0.338009,0.685102,0.284059],"trend_3bar":"MIXED","projected_rvol":1.00038},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":15448.0,"sell_vol":6134.0,"unclassified_vol":0.0,"imbalance":0.431563,"bid":13.23,"ask":13.24,"spread_pct":0.075557,"quote_size_imbalance":null,"quote_age_s":0.016156},"context":{"vwap":13.244545,"price_vs_vwap_pct":-0.109821,"ema9":13.213385,"ema20":13.170042,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.433628,"dist_to_hod_atr":2.959617,"atr":0.111501,"spread_atr":0.089685,"own_change_pct":1.180922,"rel_strength_pct":{"SPY":1.108418,"IWM":1.190976}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.122589},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"384d762a3509","ts":"2026-08-28T14:43:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.4% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.5025,"ext_from_open_pct":3.36,"max_ext_allowed_pct":3.0,"volume_pace":1.021,"trend":"flat","recent_slope_pct":0.0271,"volatility":"medium"},"price":5.53,"volume":{"bars":73,"last_bar_volume":62332.0,"baseline_avg":52461.15,"bar_rvol":1.188155,"raw_accel":0.861824,"smooth_accel":0.080366,"accel_momentum":0.399008,"rvol_3bar":[0.667553,0.647706,1.188155],"trend_3bar":"MIXED","projected_rvol":1.660865},"flow":{"window_s":30,"trades":76,"trade_rate":2.533333,"buy_vol":56166.0,"sell_vol":12952.0,"unclassified_vol":0.0,"imbalance":0.625221,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":2.522852},"context":{"vwap":5.502219,"price_vs_vwap_pct":0.504905,"ema9":5.520528,"ema20":5.515986,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":1.823904,"atr":0.027414,"spread_atr":0.364781,"own_change_pct":0.181159,"rel_strength_pct":{"SPY":0.108655,"IWM":0.191213}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.742859},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ec26ab32a1d0","ts":"2026-08-28T14:44:00+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":12.94,"target":13.51,"target_label":"ceiling","reward_risk":0.87,"pos_in_5d_range_pct":10.7,"room_to_5d_high_atr":1.53},"price":13.245,"vwap":13.2446,"ext_from_open_pct":-2.11,"max_ext_allowed_pct":3.0,"volume_pace":1.32,"trend":"flat","recent_slope_pct":0.0495,"volatility":"medium"},"price":13.245,"volume":{"bars":73,"last_bar_volume":9407.0,"baseline_avg":33116.4,"bar_rvol":0.284059,"raw_accel":-0.586324,"smooth_accel":-0.49186,"accel_momentum":-0.013845,"rvol_3bar":[0.338009,0.685102,0.284059],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":67,"trade_rate":2.233333,"buy_vol":2959.0,"sell_vol":4327.0,"unclassified_vol":0.0,"imbalance":-0.187757,"bid":13.24,"ask":13.25,"spread_pct":0.0755,"quote_size_imbalance":null,"quote_age_s":0.004894},"context":{"vwap":13.244545,"price_vs_vwap_pct":0.003433,"ema9":13.213385,"ema20":13.170042,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.323009,"dist_to_hod_atr":2.825089,"atr":0.111501,"spread_atr":0.089685,"own_change_pct":1.180922,"rel_strength_pct":{"SPY":1.118794,"IWM":1.248401}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.053334},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d9c7deba84a2","ts":"2026-08-28T14:44:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.5025,"ext_from_open_pct":3.36,"max_ext_allowed_pct":4.0,"volume_pace":1.019,"trend":"flat","recent_slope_pct":-0.0383,"volatility":"medium"},"price":5.53,"volume":{"bars":74,"last_bar_volume":80037.0,"baseline_avg":50907.25,"bar_rvol":1.572212,"raw_accel":0.284044,"smooth_accel":0.53342,"accel_momentum":0.453054,"rvol_3bar":[0.647706,1.188155,1.572212],"trend_3bar":"ACCELERATING","projected_rvol":0.946113},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":2650.0,"sell_vol":16377.0,"unclassified_vol":0.0,"imbalance":-0.721448,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.8563},"context":{"vwap":5.502461,"price_vs_vwap_pct":0.500488,"ema9":5.520422,"ema20":5.516368,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":1.864785,"atr":0.026813,"spread_atr":0.372957,"own_change_pct":0.181488,"rel_strength_pct":{"SPY":0.11936,"IWM":0.248968}},"vas":{"raw":2,"score":5.6,"components":{"rvol":1,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.13427},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e0fc1d5da3c9","ts":"2026-08-28T14:44:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.3% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4496,"target":5.57,"target_label":"prev_day_high","reward_risk":0.6,"pos_in_5d_range_pct":45.4,"room_to_5d_high_atr":1.57},"price":5.525,"vwap":5.5026,"ext_from_open_pct":3.27,"max_ext_allowed_pct":3.0,"volume_pace":1.015,"trend":"flat","recent_slope_pct":-0.0564,"volatility":"medium"},"price":5.525,"volume":{"bars":74,"last_bar_volume":80037.0,"baseline_avg":50907.25,"bar_rvol":1.572212,"raw_accel":0.284044,"smooth_accel":0.53342,"accel_momentum":0.453054,"rvol_3bar":[0.647706,1.188155,1.572212],"trend_3bar":"ACCELERATING","projected_rvol":0.992843},"flow":{"window_s":30,"trades":81,"trade_rate":2.7,"buy_vol":17694.0,"sell_vol":16444.0,"unclassified_vol":0.0,"imbalance":0.036616,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.740692},"context":{"vwap":5.502461,"price_vs_vwap_pct":0.409619,"ema9":5.520422,"ema20":5.516368,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.985663,"dist_to_hod_atr":2.051264,"atr":0.026813,"spread_atr":0.372957,"own_change_pct":0.181488,"rel_strength_pct":{"SPY":0.11936,"IWM":0.248968}},"vas":{"raw":4,"score":6.9,"components":{"rvol":1,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.057568},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"195817dc16ab","ts":"2026-08-28T14:45:00+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.23 below VWAP $13.24","plan":{"state":"PASS","setup":"","stop":12.94,"target":13.51,"target_label":"ceiling","reward_risk":0.93,"pos_in_5d_range_pct":9.6,"room_to_5d_high_atr":1.55},"price":13.235,"vwap":13.2446,"ext_from_open_pct":-2.18,"max_ext_allowed_pct":3.0,"volume_pace":1.311,"trend":"flat","recent_slope_pct":0.045,"volatility":"medium"},"price":13.235,"volume":{"bars":74,"last_bar_volume":24481.0,"baseline_avg":32529.35,"bar_rvol":0.752582,"raw_accel":1.602424,"smooth_accel":-0.268429,"accel_momentum":0.223431,"rvol_3bar":[0.685102,0.284059,0.752582],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":6415.0,"sell_vol":5830.0,"unclassified_vol":0.0,"imbalance":0.047775,"bid":13.23,"ask":13.24,"spread_pct":0.075557,"quote_size_imbalance":null,"quote_age_s":0.001379},"context":{"vwap":13.244572,"price_vs_vwap_pct":-0.072274,"ema9":13.219708,"ema20":13.177181,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.396755,"dist_to_hod_atr":3.012224,"atr":0.107894,"spread_atr":0.092684,"own_change_pct":-0.071674,"rel_strength_pct":{"SPY":-0.208921,"IWM":-0.105187}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.035954},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"84c7c4b1086e","ts":"2026-08-28T14:45:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"held 420.0s, plan says WATCH; stop 11.06, target 11.32 (prev_day_high), R:R 0.57; R:R 0.57 < 2.0 at 11.22; pullback: buy 11.18-11.21 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":11.0573,"target":11.32,"target_label":"prev_day_high","reward_risk":0.57,"pos_in_5d_range_pct":87.8,"room_to_5d_high_atr":0.17},"price":11.225,"vwap":11.151,"ext_from_open_pct":-2.22,"max_ext_allowed_pct":3.0,"volume_pace":2.632,"trend":"flat","recent_slope_pct":-0.0356,"volatility":"medium"},"price":11.225,"volume":{"bars":75,"last_bar_volume":13153.0,"baseline_avg":43127.6,"bar_rvol":0.304979,"raw_accel":-0.363913,"smooth_accel":0.00533,"accel_momentum":0.14384,"rvol_3bar":[2.16751,0.481888,0.304979],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":2896.0,"sell_vol":4833.0,"unclassified_vol":0.0,"imbalance":-0.250615,"bid":11.22,"ask":11.23,"spread_pct":0.089087,"quote_size_imbalance":null,"quote_age_s":0.382466},"context":{"vwap":11.150917,"price_vs_vwap_pct":0.664368,"ema9":11.197179,"ema20":11.131621,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.541306,"dist_to_hod_atr":3.229891,"atr":0.090622,"spread_atr":0.110348,"own_change_pct":0.011588,"rel_strength_pct":{"SPY":-0.125659,"IWM":-0.021925}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.076432},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"6d24f726fce6","ts":"2026-08-28T14:45:40+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":12.94,"target":13.51,"target_label":"ceiling","reward_risk":0.82,"pos_in_5d_range_pct":11.5,"room_to_5d_high_atr":1.52},"price":13.2525,"vwap":13.2446,"ext_from_open_pct":-2.05,"max_ext_allowed_pct":3.0,"volume_pace":1.304,"trend":"flat","recent_slope_pct":-0.0326,"volatility":"medium"},"price":13.2525,"volume":{"bars":75,"last_bar_volume":20007.0,"baseline_avg":32370.05,"bar_rvol":0.618071,"raw_accel":-0.182754,"smooth_accel":0.053831,"accel_momentum":0.322259,"rvol_3bar":[0.284059,0.752582,0.618071],"trend_3bar":"MIXED","projected_rvol":0.536375},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":4662.0,"sell_vol":3106.0,"unclassified_vol":0.0,"imbalance":0.200309,"bid":13.2,"ask":13.21,"spread_pct":0.075729,"quote_size_imbalance":null,"quote_age_s":0.029474},"context":{"vwap":13.244575,"price_vs_vwap_pct":0.059835,"ema9":13.222766,"ema20":13.182687,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.267699,"dist_to_hod_atr":3.004988,"atr":0.10233,"spread_atr":0.097723,"own_change_pct":-0.0755,"rel_strength_pct":{"SPY":-0.212747,"IWM":-0.109013}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.123805},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b23c3c3c29fd","ts":"2026-08-28T14:45:45+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.23 below VWAP $13.24","plan":{"state":"PASS","setup":"","stop":12.94,"target":13.51,"target_label":"ceiling","reward_risk":0.93,"pos_in_5d_range_pct":9.6,"room_to_5d_high_atr":1.55},"price":13.235,"vwap":13.2445,"ext_from_open_pct":-2.18,"max_ext_allowed_pct":3.0,"volume_pace":1.302,"trend":"flat","recent_slope_pct":-0.059,"volatility":"medium"},"price":13.235,"volume":{"bars":75,"last_bar_volume":20007.0,"baseline_avg":32370.05,"bar_rvol":0.618071,"raw_accel":-0.182754,"smooth_accel":0.053831,"accel_momentum":0.322259,"rvol_3bar":[0.284059,0.752582,0.618071],"trend_3bar":"MIXED","projected_rvol":0.480938},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":4064.0,"sell_vol":2506.0,"unclassified_vol":0.0,"imbalance":0.237139,"bid":13.2,"ask":13.21,"spread_pct":0.075729,"quote_size_imbalance":null,"quote_age_s":0.032432},"context":{"vwap":13.244575,"price_vs_vwap_pct":-0.072295,"ema9":13.222766,"ema20":13.182687,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.396755,"dist_to_hod_atr":3.176004,"atr":0.10233,"spread_atr":0.097723,"own_change_pct":-0.0755,"rel_strength_pct":{"SPY":-0.212747,"IWM":-0.109013}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.146569},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"621178f8bb35","ts":"2026-08-28T14:45:50+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.49 below VWAP $6.49","plan":{"state":"PASS","setup":"","stop":6.373,"target":6.64,"target_label":"ceiling","reward_risk":1.38,"pos_in_5d_range_pct":73.0,"room_to_5d_high_atr":1.15},"price":6.485,"vwap":6.4874,"ext_from_open_pct":-3.06,"max_ext_allowed_pct":3.0,"volume_pace":1.498,"trend":"flat","recent_slope_pct":-0.1089,"volatility":"high"},"price":6.485,"volume":{"bars":75,"last_bar_volume":4256.0,"baseline_avg":9028.7,"bar_rvol":0.471386,"raw_accel":-0.421425,"smooth_accel":-0.657187,"accel_momentum":-0.387331,"rvol_3bar":[1.146263,0.820108,0.471386],"trend_3bar":"DECELERATING","projected_rvol":1.540687},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":5608.0,"sell_vol":2859.0,"unclassified_vol":0.0,"imbalance":0.324672,"bid":6.48,"ask":6.49,"spread_pct":0.154202,"quote_size_imbalance":null,"quote_age_s":1.026118},"context":{"vwap":6.487325,"price_vs_vwap_pct":-0.035842,"ema9":6.507916,"ema20":6.488151,"ema_stack":false,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-4.351032,"dist_to_hod_atr":7.342572,"atr":0.040177,"spread_atr":0.248901,"own_change_pct":0.230415,"rel_strength_pct":{"SPY":0.093168,"IWM":0.196902}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.153046},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"63018bbfcc9a","ts":"2026-08-28T14:45:55+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.4035,"target":6.64,"target_label":"ceiling","reward_risk":1.11,"pos_in_5d_range_pct":74.6,"room_to_5d_high_atr":1.08},"price":6.5155,"vwap":6.4875,"ext_from_open_pct":-2.61,"max_ext_allowed_pct":3.0,"volume_pace":1.497,"trend":"flat","recent_slope_pct":-0.0152,"volatility":"high"},"price":6.5155,"volume":{"bars":75,"last_bar_volume":4256.0,"baseline_avg":9028.7,"bar_rvol":0.471386,"raw_accel":-0.421425,"smooth_accel":-0.657187,"accel_momentum":-0.387331,"rvol_3bar":[1.146263,0.820108,0.471386],"trend_3bar":"DECELERATING","projected_rvol":1.425031},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":5610.0,"sell_vol":3059.0,"unclassified_vol":0.0,"imbalance":0.294267,"bid":6.48,"ask":6.49,"spread_pct":0.154202,"quote_size_imbalance":null,"quote_age_s":2.93157},"context":{"vwap":6.487325,"price_vs_vwap_pct":0.434305,"ema9":6.507916,"ema20":6.488151,"ema_stack":true,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-3.90118,"dist_to_hod_atr":6.583425,"atr":0.040177,"spread_atr":0.248901,"own_change_pct":0.230415,"rel_strength_pct":{"SPY":0.093168,"IWM":0.196902}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.138713},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"98547e5b81d8","ts":"2026-08-28T14:45:55+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.15 below VWAP $11.15","plan":{"state":"PASS","setup":"","stop":10.9823,"target":11.32,"target_label":"prev_day_high","reward_risk":1.01,"pos_in_5d_range_pct":79.8,"room_to_5d_high_atr":0.28},"price":11.15,"vwap":11.1511,"ext_from_open_pct":-2.87,"max_ext_allowed_pct":3.0,"volume_pace":2.62,"trend":"flat","recent_slope_pct":-0.1694,"volatility":"high"},"price":11.15,"volume":{"bars":75,"last_bar_volume":13153.0,"baseline_avg":43127.6,"bar_rvol":0.304979,"raw_accel":-0.363913,"smooth_accel":0.00533,"accel_momentum":0.14384,"rvol_3bar":[2.16751,0.481888,0.304979],"trend_3bar":"DECELERATING","projected_rvol":0.702313},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":10542.0,"sell_vol":10476.0,"unclassified_vol":0.0,"imbalance":0.00314,"bid":11.14,"ask":11.15,"spread_pct":0.089726,"quote_size_imbalance":null,"quote_age_s":0.134867},"context":{"vwap":11.150917,"price_vs_vwap_pct":-0.008222,"ema9":11.197179,"ema20":11.131621,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-3.192478,"dist_to_hod_atr":4.057503,"atr":0.090622,"spread_atr":0.110348,"own_change_pct":0.011588,"rel_strength_pct":{"SPY":-0.125659,"IWM":-0.021925}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.000958},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"981d2b4eee67","ts":"2026-08-28T14:46:00+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.48 below VWAP $6.49","plan":{"state":"PASS","setup":"","stop":6.368,"target":6.64,"target_label":"ceiling","reward_risk":1.43,"pos_in_5d_range_pct":72.8,"room_to_5d_high_atr":1.16},"price":6.48,"vwap":6.4874,"ext_from_open_pct":-3.14,"max_ext_allowed_pct":3.0,"volume_pace":1.496,"trend":"flat","recent_slope_pct":-0.1242,"volatility":"high"},"price":6.48,"volume":{"bars":75,"last_bar_volume":4256.0,"baseline_avg":9028.7,"bar_rvol":0.471386,"raw_accel":-0.421425,"smooth_accel":-0.657187,"accel_momentum":-0.387331,"rvol_3bar":[1.146263,0.820108,0.471386],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":5607.0,"sell_vol":3259.0,"unclassified_vol":0.0,"imbalance":0.264832,"bid":6.48,"ask":6.49,"spread_pct":0.154202,"quote_size_imbalance":null,"quote_age_s":2.286702},"context":{"vwap":6.487325,"price_vs_vwap_pct":-0.112916,"ema9":6.507916,"ema20":6.488151,"ema_stack":false,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-4.424779,"dist_to_hod_atr":7.467023,"atr":0.040177,"spread_atr":0.248901,"own_change_pct":0.230415,"rel_strength_pct":{"SPY":0.178785,"IWM":0.352662}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.124838},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"e608a66a3ca1","ts":"2026-08-28T14:46:10+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.378,"target":6.64,"target_label":"ceiling","reward_risk":1.34,"pos_in_5d_range_pct":73.3,"room_to_5d_high_atr":1.14},"price":6.49,"vwap":6.4874,"ext_from_open_pct":-2.99,"max_ext_allowed_pct":4.0,"volume_pace":1.496,"trend":"flat","recent_slope_pct":-0.138,"volatility":"high"},"price":6.49,"volume":{"bars":76,"last_bar_volume":11994.0,"baseline_avg":8801.7,"bar_rvol":1.362691,"raw_accel":1.818139,"smooth_accel":-0.663094,"accel_momentum":-0.005907,"rvol_3bar":[0.820108,0.471386,1.362691],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":8327.0,"sell_vol":2759.0,"unclassified_vol":0.0,"imbalance":0.502255,"bid":6.49,"ask":6.5,"spread_pct":0.153965,"quote_size_imbalance":null,"quote_age_s":0.206803},"context":{"vwap":6.487408,"price_vs_vwap_pct":0.03996,"ema9":6.502333,"ema20":6.487375,"ema_stack":false,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-4.277286,"dist_to_hod_atr":7.156751,"atr":0.040521,"spread_atr":0.246785,"own_change_pct":-0.917431,"rel_strength_pct":{"SPY":-0.969061,"IWM":-0.795184}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.684419},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"fc49e6c0a39a","ts":"2026-08-28T14:46:20+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.48 below VWAP $6.49","plan":{"state":"PASS","setup":"","stop":6.368,"target":6.64,"target_label":"ceiling","reward_risk":1.43,"pos_in_5d_range_pct":72.8,"room_to_5d_high_atr":1.16},"price":6.48,"vwap":6.4874,"ext_from_open_pct":-3.14,"max_ext_allowed_pct":3.0,"volume_pace":1.496,"trend":"flat","recent_slope_pct":-0.1688,"volatility":"high"},"price":6.48,"volume":{"bars":76,"last_bar_volume":11994.0,"baseline_avg":8801.7,"bar_rvol":1.362691,"raw_accel":1.818139,"smooth_accel":-0.663094,"accel_momentum":-0.005907,"rvol_3bar":[0.820108,0.471386,1.362691],"trend_3bar":"MIXED","projected_rvol":1.808514},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":3577.0,"sell_vol":2131.0,"unclassified_vol":0.0,"imbalance":0.253329,"bid":6.48,"ask":6.49,"spread_pct":0.154202,"quote_size_imbalance":null,"quote_age_s":2.079616},"context":{"vwap":6.487408,"price_vs_vwap_pct":-0.114185,"ema9":6.502333,"ema20":6.487375,"ema_stack":false,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-4.424779,"dist_to_hod_atr":7.403536,"atr":0.040521,"spread_atr":0.246785,"own_change_pct":-0.917431,"rel_strength_pct":{"SPY":-0.969061,"IWM":-0.795184}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.345209},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"cbf66e91a45c","ts":"2026-08-28T14:47:00+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":10.9878,"target":11.32,"target_label":"prev_day_high","reward_risk":0.98,"pos_in_5d_range_pct":80.4,"room_to_5d_high_atr":0.28},"price":11.1555,"vwap":11.151,"ext_from_open_pct":-2.83,"max_ext_allowed_pct":3.0,"volume_pace":2.596,"trend":"flat","recent_slope_pct":-0.2402,"volatility":"high"},"price":11.1555,"volume":{"bars":76,"last_bar_volume":28180.0,"baseline_avg":42648.45,"bar_rvol":0.660751,"raw_accel":1.142477,"smooth_accel":-0.63866,"accel_momentum":-0.64399,"rvol_3bar":[0.481888,0.304979,0.660751],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":5738.0,"sell_vol":5565.0,"unclassified_vol":0.0,"imbalance":0.015306,"bid":11.15,"ask":11.16,"spread_pct":0.089646,"quote_size_imbalance":null,"quote_age_s":0.003066},"context":{"vwap":11.15108,"price_vs_vwap_pct":0.03964,"ema9":11.185743,"ema20":11.132419,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-3.144725,"dist_to_hod_atr":3.970592,"atr":0.091221,"spread_atr":0.109624,"own_change_pct":-1.065719,"rel_strength_pct":{"SPY":-1.175732,"IWM":-1.008741}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.010113},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"42b806289d0a","ts":"2026-08-28T14:47:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4496,"target":5.57,"target_label":"prev_day_high","reward_risk":0.6,"pos_in_5d_range_pct":45.4,"room_to_5d_high_atr":1.57},"price":5.525,"vwap":5.5028,"ext_from_open_pct":3.27,"max_ext_allowed_pct":4.0,"volume_pace":0.995,"trend":"flat","recent_slope_pct":0.0362,"volatility":"medium"},"price":5.525,"volume":{"bars":77,"last_bar_volume":19741.0,"baseline_avg":53280.0,"bar_rvol":0.370514,"raw_accel":-0.31744,"smooth_accel":-0.457077,"accel_momentum":-0.656713,"rvol_3bar":[0.89605,0.544435,0.370514],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":4965.0,"sell_vol":4817.0,"unclassified_vol":0.0,"imbalance":0.01513,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":2.268659},"context":{"vwap":5.502801,"price_vs_vwap_pct":0.403414,"ema9":5.523816,"ema20":5.519124,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.985663,"dist_to_hod_atr":2.307896,"atr":0.023831,"spread_atr":0.419617,"own_change_pct":-0.021695,"rel_strength_pct":{"SPY":-0.131708,"IWM":0.035283}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.005606},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"423105508f2b","ts":"2026-08-28T14:47:05+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.3627,"target":13.61,"target_label":"ceiling","reward_risk":1.02,"pos_in_5d_range_pct":18.7,"room_to_5d_high_atr":1.38},"price":13.485,"vwap":13.4731,"ext_from_open_pct":-0.11,"max_ext_allowed_pct":3.0,"volume_pace":1.028,"trend":"flat","recent_slope_pct":-0.0296,"volatility":"medium"},"price":13.485,"volume":{"bars":77,"last_bar_volume":12462.0,"baseline_avg":11664.8,"bar_rvol":1.068342,"raw_accel":1.09094,"smooth_accel":0.751356,"accel_momentum":0.274615,"rvol_3bar":[0.424535,0.456142,1.068342],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":58,"trade_rate":1.933333,"buy_vol":2164.0,"sell_vol":6939.0,"unclassified_vol":0.0,"imbalance":-0.524552,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":0.227192},"context":{"vwap":13.473053,"price_vs_vwap_pct":0.088676,"ema9":13.490988,"ema20":13.475322,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.918442,"dist_to_hod_atr":4.163544,"atr":0.030022,"spread_atr":0.333084,"own_change_pct":-0.148093,"rel_strength_pct":{"SPY":-0.258106,"IWM":-0.091115}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.560401},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"67ba1bb93d52","ts":"2026-08-28T14:47:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.64,"pos_in_5d_range_pct":45.0,"room_to_5d_high_atr":1.59},"price":5.5214,"vwap":5.5028,"ext_from_open_pct":3.2,"max_ext_allowed_pct":3.0,"volume_pace":0.994,"trend":"flat","recent_slope_pct":0.0232,"volatility":"medium"},"price":5.5214,"volume":{"bars":77,"last_bar_volume":19741.0,"baseline_avg":53280.0,"bar_rvol":0.370514,"raw_accel":-0.31744,"smooth_accel":-0.457077,"accel_momentum":-0.656713,"rvol_3bar":[0.89605,0.544435,0.370514],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":5116.0,"sell_vol":4134.0,"unclassified_vol":0.0,"imbalance":0.106162,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.916493},"context":{"vwap":5.502801,"price_vs_vwap_pct":0.337993,"ema9":5.523816,"ema20":5.519124,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.050179,"dist_to_hod_atr":2.458959,"atr":0.023831,"spread_atr":0.419617,"own_change_pct":-0.021695,"rel_strength_pct":{"SPY":-0.131708,"IWM":0.035283}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.039335},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"51a48b2ee827","ts":"2026-08-28T14:47:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3827,"target":13.61,"target_label":"ceiling","reward_risk":0.86,"pos_in_5d_range_pct":21.1,"room_to_5d_high_atr":1.34},"price":13.505,"vwap":13.4732,"ext_from_open_pct":0.04,"max_ext_allowed_pct":3.0,"volume_pace":1.032,"trend":"flat","recent_slope_pct":0.0,"volatility":"medium"},"price":13.505,"volume":{"bars":77,"last_bar_volume":12462.0,"baseline_avg":11664.8,"bar_rvol":1.068342,"raw_accel":1.09094,"smooth_accel":0.751356,"accel_momentum":0.274615,"rvol_3bar":[0.424535,0.456142,1.068342],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":96,"trade_rate":3.2,"buy_vol":3986.0,"sell_vol":11182.0,"unclassified_vol":0.0,"imbalance":-0.47442,"bid":13.5,"ask":13.51,"spread_pct":0.074047,"quote_size_imbalance":null,"quote_age_s":0.51371},"context":{"vwap":13.473053,"price_vs_vwap_pct":0.23712,"ema9":13.490988,"ema20":13.475322,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.771492,"dist_to_hod_atr":3.497377,"atr":0.030022,"spread_atr":0.333084,"own_change_pct":-0.148093,"rel_strength_pct":{"SPY":-0.258106,"IWM":-0.091115}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.506843},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a7c459af2a13","ts":"2026-08-28T14:47:20+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":11.0173,"target":11.32,"target_label":"prev_day_high","reward_risk":0.81,"pos_in_5d_range_pct":83.5,"room_to_5d_high_atr":0.23},"price":11.185,"vwap":11.1511,"ext_from_open_pct":-2.57,"max_ext_allowed_pct":3.0,"volume_pace":2.588,"trend":"flat","recent_slope_pct":-0.1203,"volatility":"medium"},"price":11.185,"volume":{"bars":77,"last_bar_volume":17511.0,"baseline_avg":42504.6,"bar_rvol":0.411979,"raw_accel":-0.378602,"smooth_accel":-0.596567,"accel_momentum":0.042093,"rvol_3bar":[0.304979,0.660751,0.411979],"trend_3bar":"MIXED","projected_rvol":0.344363},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":4170.0,"sell_vol":2193.0,"unclassified_vol":0.0,"imbalance":0.310702,"bid":11.18,"ask":11.19,"spread_pct":0.089405,"quote_size_imbalance":null,"quote_age_s":0.317178},"context":{"vwap":11.15104,"price_vs_vwap_pct":0.30455,"ema9":11.179695,"ema20":11.134617,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.888598,"dist_to_hod_atr":3.772816,"atr":0.088183,"spread_atr":0.1134,"own_change_pct":-0.663402,"rel_strength_pct":{"SPY":-0.773414,"IWM":-0.606423}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.128003},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5d798ecdab48","ts":"2026-08-28T14:47:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.5029,"ext_from_open_pct":3.36,"max_ext_allowed_pct":4.0,"volume_pace":0.99,"trend":"flat","recent_slope_pct":0.0543,"volatility":"medium"},"price":5.53,"volume":{"bars":77,"last_bar_volume":19741.0,"baseline_avg":53280.0,"bar_rvol":0.370514,"raw_accel":-0.31744,"smooth_accel":-0.457077,"accel_momentum":-0.656713,"rvol_3bar":[0.89605,0.544435,0.370514],"trend_3bar":"DECELERATING","projected_rvol":0.413803},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":7056.0,"sell_vol":3729.0,"unclassified_vol":0.0,"imbalance":0.308484,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.226143},"context":{"vwap":5.502801,"price_vs_vwap_pct":0.494277,"ema9":5.523816,"ema20":5.519124,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":2.098087,"atr":0.023831,"spread_atr":0.419617,"own_change_pct":-0.021695,"rel_strength_pct":{"SPY":-0.131708,"IWM":0.035283}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.114298},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"b22cb640cd08","ts":"2026-08-28T14:47:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.2% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.5029,"ext_from_open_pct":3.18,"max_ext_allowed_pct":3.0,"volume_pace":0.987,"trend":"flat","recent_slope_pct":0.0181,"volatility":"medium"},"price":5.52,"volume":{"bars":77,"last_bar_volume":19741.0,"baseline_avg":53280.0,"bar_rvol":0.370514,"raw_accel":-0.31744,"smooth_accel":-0.457077,"accel_momentum":-0.656713,"rvol_3bar":[0.89605,0.544435,0.370514],"trend_3bar":"DECELERATING","projected_rvol":0.33493},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":4687.0,"sell_vol":2485.0,"unclassified_vol":0.0,"imbalance":0.307027,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":0.819176},"context":{"vwap":5.502801,"price_vs_vwap_pct":0.312551,"ema9":5.523816,"ema20":5.519124,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.517705,"atr":0.023831,"spread_atr":0.419617,"own_change_pct":-0.021695,"rel_strength_pct":{"SPY":-0.131708,"IWM":0.035283}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.113758},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"49ac934b333d","ts":"2026-08-28T14:48:00+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":11.0473,"target":11.32,"target_label":"prev_day_high","reward_risk":0.63,"pos_in_5d_range_pct":86.7,"room_to_5d_high_atr":0.19},"price":11.215,"vwap":11.1512,"ext_from_open_pct":-2.31,"max_ext_allowed_pct":4.0,"volume_pace":2.574,"trend":"flat","recent_slope_pct":-0.0666,"volatility":"medium"},"price":11.215,"volume":{"bars":77,"last_bar_volume":17511.0,"baseline_avg":42504.6,"bar_rvol":0.411979,"raw_accel":-0.378602,"smooth_accel":-0.596567,"accel_momentum":0.042093,"rvol_3bar":[0.304979,0.660751,0.411979],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":5918.0,"sell_vol":2058.0,"unclassified_vol":0.0,"imbalance":0.483952,"bid":11.21,"ask":11.22,"spread_pct":0.089166,"quote_size_imbalance":null,"quote_age_s":0.003048},"context":{"vwap":11.15104,"price_vs_vwap_pct":0.573583,"ema9":11.179695,"ema20":11.134617,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.628129,"dist_to_hod_atr":3.432616,"atr":0.088183,"spread_atr":0.1134,"own_change_pct":-0.663402,"rel_strength_pct":{"SPY":-0.737147,"IWM":-0.606423}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.199378},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"55fd68518dfb","ts":"2026-08-28T14:48:00+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.3463,"target":10.567,"target_label":"ceiling","reward_risk":0.86,"pos_in_5d_range_pct":78.2,"room_to_5d_high_atr":0.41},"price":10.465,"vwap":10.4578,"ext_from_open_pct":-0.61,"max_ext_allowed_pct":4.0,"volume_pace":0.89,"trend":"flat","recent_slope_pct":0.0478,"volatility":"medium"},"price":10.465,"volume":{"bars":77,"last_bar_volume":101890.0,"baseline_avg":131630.55,"bar_rvol":0.77406,"raw_accel":-0.501136,"smooth_accel":0.931327,"accel_momentum":-2.44611,"rvol_3bar":[1.709444,1.530401,0.77406],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":107,"trade_rate":3.566667,"buy_vol":799687.0,"sell_vol":27620.0,"unclassified_vol":0.0,"imbalance":0.933229,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.003734},"context":{"vwap":10.457534,"price_vs_vwap_pct":0.071394,"ema9":10.451924,"ema20":10.449974,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.965269,"dist_to_hod_atr":3.883245,"atr":0.026267,"spread_atr":0.38071,"own_change_pct":0.287494,"rel_strength_pct":{"SPY":0.213749,"IWM":0.344472}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-1,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.722376},"shadow":{"decision":"FAIL","failed":["bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"44983c313df3","ts":"2026-08-28T14:48:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":11.0473,"target":11.32,"target_label":"prev_day_high","reward_risk":0.63,"pos_in_5d_range_pct":86.7,"room_to_5d_high_atr":0.19},"price":11.215,"vwap":11.1513,"ext_from_open_pct":-2.31,"max_ext_allowed_pct":4.0,"volume_pace":2.571,"trend":"flat","recent_slope_pct":0.0581,"volatility":"medium"},"price":11.215,"volume":{"bars":78,"last_bar_volume":16811.0,"baseline_avg":41520.3,"bar_rvol":0.404886,"raw_accel":-0.039975,"smooth_accel":-0.483044,"accel_momentum":0.113522,"rvol_3bar":[0.660751,0.411979,0.404886],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":4438.0,"sell_vol":2696.0,"unclassified_vol":0.0,"imbalance":0.244183,"bid":11.21,"ask":11.22,"spread_pct":0.089166,"quote_size_imbalance":null,"quote_age_s":0.040854},"context":{"vwap":11.151246,"price_vs_vwap_pct":0.571723,"ema9":11.186756,"ema20":11.142272,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.628129,"dist_to_hod_atr":3.499754,"atr":0.086492,"spread_atr":0.115618,"own_change_pct":-0.311111,"rel_strength_pct":{"SPY":-0.384856,"IWM":-0.254133}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.098866},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"fdacbd6a4526","ts":"2026-08-28T14:48:10+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4446,"target":5.57,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.59},"price":5.52,"vwap":5.5029,"ext_from_open_pct":3.18,"max_ext_allowed_pct":4.0,"volume_pace":0.984,"trend":"flat","recent_slope_pct":0.0,"volatility":"medium"},"price":5.52,"volume":{"bars":78,"last_bar_volume":17329.0,"baseline_avg":53499.9,"bar_rvol":0.323907,"raw_accel":-0.122182,"smooth_accel":-0.651165,"accel_momentum":-0.194088,"rvol_3bar":[0.544435,0.370514,0.323907],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":5198.0,"sell_vol":2671.0,"unclassified_vol":0.0,"imbalance":0.321134,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":1.570222},"context":{"vwap":5.502869,"price_vs_vwap_pct":0.311317,"ema9":5.525053,"ema20":5.52016,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-1.075269,"dist_to_hod_atr":2.626593,"atr":0.022843,"spread_atr":0.437765,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.073745,"IWM":0.056978}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.104017},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"74a5ea53d998","ts":"2026-08-28T14:48:35+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.78 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6418,"target":5.92,"target_label":"ceiling","reward_risk":1.09,"pos_in_5d_range_pct":-12.8,"room_to_5d_high_atr":1.41},"price":5.775,"vwap":5.7767,"ext_from_open_pct":-1.79,"max_ext_allowed_pct":3.0,"volume_pace":1.678,"trend":"flat","recent_slope_pct":-0.0695,"volatility":"high"},"price":5.775,"volume":{"bars":78,"last_bar_volume":124283.0,"baseline_avg":91354.4,"bar_rvol":1.360449,"raw_accel":-0.187709,"smooth_accel":0.867754,"accel_momentum":0.769608,"rvol_3bar":[0.925492,1.770082,1.360449],"trend_3bar":"MIXED","projected_rvol":0.452073},"flow":{"window_s":30,"trades":117,"trade_rate":3.9,"buy_vol":3486.0,"sell_vol":20169.0,"unclassified_vol":0.0,"imbalance":-0.705263,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.536483},"context":{"vwap":5.77669,"price_vs_vwap_pct":-0.029262,"ema9":5.791708,"ema20":5.782385,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.613828,"dist_to_hod_atr":5.26191,"atr":0.029457,"spread_atr":0.339478,"own_change_pct":-0.217148,"rel_strength_pct":{"SPY":-0.290893,"IWM":-0.16017}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.959475},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0c090960305c","ts":"2026-08-28T14:48:40+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.0426,"target":5.1793,"target_label":"ceiling","reward_risk":0.66,"pos_in_5d_range_pct":48.5,"room_to_5d_high_atr":1.05},"price":5.125,"vwap":5.1174,"ext_from_open_pct":1.89,"max_ext_allowed_pct":4.0,"volume_pace":1.065,"trend":"flat","recent_slope_pct":0.0879,"volatility":"high"},"price":5.125,"volume":{"bars":78,"last_bar_volume":36.0,"baseline_avg":895.05,"bar_rvol":0.040221,"raw_accel":-0.839115,"smooth_accel":-0.29777,"accel_momentum":-1.040577,"rvol_3bar":[2.909444,0.024589,0.040221],"trend_3bar":"MIXED","projected_rvol":0.073739},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":1.0,"sell_vol":43.0,"unclassified_vol":0.0,"imbalance":-0.954545,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":1.41078},"context":{"vwap":5.117396,"price_vs_vwap_pct":0.148592,"ema9":5.111908,"ema20":5.1061,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.048404,"dist_to_hod_atr":4.660769,"atr":0.01165,"spread_atr":0.858337,"own_change_pct":0.391773,"rel_strength_pct":{"SPY":0.318027,"IWM":0.448751}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.038393},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"470a0e8e435b","ts":"2026-08-28T14:49:00+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.46 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3363,"target":10.567,"target_label":"ceiling","reward_risk":0.94,"pos_in_5d_range_pct":77.1,"room_to_5d_high_atr":0.43},"price":10.455,"vwap":10.458,"ext_from_open_pct":-0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.933,"trend":"flat","recent_slope_pct":0.0332,"volatility":"medium"},"price":10.455,"volume":{"bars":78,"last_bar_volume":906424.0,"baseline_avg":118483.65,"bar_rvol":7.650203,"raw_accel":7.896104,"smooth_accel":1.351719,"accel_momentum":0.420392,"rvol_3bar":[1.530401,0.77406,7.650203],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":94,"trade_rate":3.133333,"buy_vol":12951.0,"sell_vol":10096.0,"unclassified_vol":0.0,"imbalance":0.123877,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.003672},"context":{"vwap":10.457833,"price_vs_vwap_pct":-0.027087,"ema9":10.454539,"ema20":10.451405,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.059903,"dist_to_hod_atr":4.337878,"atr":0.025819,"spread_atr":0.387311,"own_change_pct":0.191479,"rel_strength_pct":{"SPY":0.117748,"IWM":0.274754}},"vas":{"raw":8,"score":9.4,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.947686},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3811151aad26","ts":"2026-08-28T14:49:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"held 60.0s, plan says PASS; stop 11.03, target 11.32 (prev_day_high), R:R 0.72; R:R 0.72 < 2.0 at 11.20; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":11.0323,"target":11.32,"target_label":"prev_day_high","reward_risk":0.72,"pos_in_5d_range_pct":85.1,"room_to_5d_high_atr":0.21},"price":11.2,"vwap":11.1517,"ext_from_open_pct":-2.44,"max_ext_allowed_pct":3.0,"volume_pace":2.562,"trend":"flat","recent_slope_pct":0.1427,"volatility":"medium"},"price":11.2,"volume":{"bars":79,"last_bar_volume":34993.0,"baseline_avg":40030.1,"bar_rvol":0.874167,"raw_accel":1.081554,"smooth_accel":0.117786,"accel_momentum":0.60083,"rvol_3bar":[0.411979,0.404886,0.874167],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":12835.0,"sell_vol":3571.0,"unclassified_vol":0.0,"imbalance":0.564671,"bid":11.2,"ask":11.21,"spread_pct":0.089246,"quote_size_imbalance":null,"quote_age_s":0.125354},"context":{"vwap":11.151714,"price_vs_vwap_pct":0.432989,"ema9":11.188405,"ema20":11.147294,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.758363,"dist_to_hod_atr":3.803511,"atr":0.083528,"spread_atr":0.11972,"own_change_pct":-0.222816,"rel_strength_pct":{"SPY":-0.296547,"IWM":-0.139541}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-1,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.493617},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"11485acb2043","ts":"2026-08-28T14:49:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.4% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.5031,"ext_from_open_pct":3.36,"max_ext_allowed_pct":3.0,"volume_pace":0.98,"trend":"flat","recent_slope_pct":0.0136,"volatility":"medium"},"price":5.53,"volume":{"bars":79,"last_bar_volume":27117.0,"baseline_avg":52872.35,"bar_rvol":0.512877,"raw_accel":0.564834,"smooth_accel":-0.587932,"accel_momentum":0.063232,"rvol_3bar":[0.370514,0.323907,0.512877],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":148,"trade_rate":4.933333,"buy_vol":23513.0,"sell_vol":16089.0,"unclassified_vol":0.0,"imbalance":0.187465,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":0.786092},"context":{"vwap":5.503,"price_vs_vwap_pct":0.490648,"ema9":5.527542,"ema20":5.521811,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.896057,"dist_to_hod_atr":2.208462,"atr":0.02264,"spread_atr":0.441692,"own_change_pct":0.317029,"rel_strength_pct":{"SPY":0.243298,"IWM":0.400304}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.096147},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3df76083beef","ts":"2026-08-28T14:49:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 115.0s, plan says WATCH; stop 13.39, target 13.61 (ceiling), R:R 0.79; R:R 0.79 < 2.0 at 13.51; pullback: buy 13.48-13.51 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":13.3912,"target":13.61,"target_label":"ceiling","reward_risk":0.79,"pos_in_5d_range_pct":22.1,"room_to_5d_high_atr":1.32},"price":13.5135,"vwap":13.4768,"ext_from_open_pct":0.1,"max_ext_allowed_pct":4.0,"volume_pace":1.094,"trend":"flat","recent_slope_pct":0.0644,"volatility":"medium"},"price":13.5135,"volume":{"bars":79,"last_bar_volume":44812.0,"baseline_avg":12511.0,"bar_rvol":3.581808,"raw_accel":-0.263687,"smooth_accel":5.59819,"accel_momentum":1.886316,"rvol_3bar":[1.068342,5.137729,3.581808],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":142,"trade_rate":4.733333,"buy_vol":21718.0,"sell_vol":3363.0,"unclassified_vol":0.0,"imbalance":0.731829,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.378497},"context":{"vwap":13.476739,"price_vs_vwap_pct":0.272777,"ema9":13.505232,"ema20":13.485286,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.709037,"dist_to_hod_atr":3.142903,"atr":0.030704,"spread_atr":0.325689,"own_change_pct":0.296406,"rel_strength_pct":{"SPY":0.222675,"IWM":0.379681}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":2.621271},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ea06d72bd659","ts":"2026-08-28T14:49:05+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":10.8602,"target":11.14,"target_label":"ceiling","reward_risk":0.4,"pos_in_5d_range_pct":-6.7,"room_to_5d_high_atr":1.58},"price":11.06,"vwap":11.0046,"ext_from_open_pct":-0.72,"max_ext_allowed_pct":3.0,"volume_pace":1.606,"trend":"flat","recent_slope_pct":-0.0211,"volatility":"high"},"price":11.06,"volume":{"bars":79,"last_bar_volume":9081.0,"baseline_avg":24251.2,"bar_rvol":0.374456,"raw_accel":-0.166498,"smooth_accel":-0.508231,"accel_momentum":0.117201,"rvol_3bar":[0.388097,0.437186,0.374456],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":1810.0,"sell_vol":3670.0,"unclassified_vol":0.0,"imbalance":-0.339416,"bid":11.05,"ask":11.06,"spread_pct":0.090457,"quote_size_imbalance":null,"quote_age_s":0.033408},"context":{"vwap":11.00454,"price_vs_vwap_pct":0.50397,"ema9":11.061949,"ema20":11.041161,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.090155,"dist_to_hod_atr":2.116424,"atr":0.057597,"spread_atr":0.17362,"own_change_pct":-0.29847,"rel_strength_pct":{"SPY":-0.372201,"IWM":-0.215195}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.127096},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"57de875037e1","ts":"2026-08-28T14:49:05+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.6468,"target":5.92,"target_label":"ceiling","reward_risk":1.05,"pos_in_5d_range_pct":-12.0,"room_to_5d_high_atr":1.4},"price":5.78,"vwap":5.7767,"ext_from_open_pct":-1.7,"max_ext_allowed_pct":3.0,"volume_pace":1.676,"trend":"flat","recent_slope_pct":-0.0363,"volatility":"high"},"price":5.78,"volume":{"bars":79,"last_bar_volume":61174.0,"baseline_avg":96268.8,"bar_rvol":0.63545,"raw_accel":-0.507785,"smooth_accel":1.582974,"accel_momentum":0.71522,"rvol_3bar":[1.770082,1.360449,0.63545],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":11096.0,"sell_vol":26117.0,"unclassified_vol":0.0,"imbalance":-0.403649,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.3818},"context":{"vwap":5.776701,"price_vs_vwap_pct":0.057114,"ema9":5.787367,"ema20":5.781206,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.529511,"dist_to_hod_atr":5.160456,"atr":0.029067,"spread_atr":0.34403,"own_change_pct":-0.640584,"rel_strength_pct":{"SPY":-0.714315,"IWM":-0.557309}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.256499},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"32215409c05b","ts":"2026-08-28T14:49:15+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.78 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6418,"target":5.92,"target_label":"ceiling","reward_risk":1.09,"pos_in_5d_range_pct":-12.8,"room_to_5d_high_atr":1.41},"price":5.775,"vwap":5.7767,"ext_from_open_pct":-1.79,"max_ext_allowed_pct":3.0,"volume_pace":1.676,"trend":"flat","recent_slope_pct":-0.0536,"volatility":"high"},"price":5.775,"volume":{"bars":79,"last_bar_volume":61174.0,"baseline_avg":96268.8,"bar_rvol":0.63545,"raw_accel":-0.507785,"smooth_accel":1.582974,"accel_momentum":0.71522,"rvol_3bar":[1.770082,1.360449,0.63545],"trend_3bar":"DECELERATING","projected_rvol":0.675234},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":16881.0,"sell_vol":33166.0,"unclassified_vol":0.0,"imbalance":-0.325394,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.52309},"context":{"vwap":5.776701,"price_vs_vwap_pct":-0.02944,"ema9":5.787367,"ema20":5.781206,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.613828,"dist_to_hod_atr":5.332471,"atr":0.029067,"spread_atr":0.34403,"own_change_pct":-0.640584,"rel_strength_pct":{"SPY":-0.714315,"IWM":-0.557309}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.206772},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"1d8fd7462158","ts":"2026-08-28T14:49:20+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.6468,"target":5.92,"target_label":"ceiling","reward_risk":1.05,"pos_in_5d_range_pct":-12.0,"room_to_5d_high_atr":1.4},"price":5.78,"vwap":5.7767,"ext_from_open_pct":-1.7,"max_ext_allowed_pct":4.0,"volume_pace":1.681,"trend":"flat","recent_slope_pct":-0.0363,"volatility":"high"},"price":5.78,"volume":{"bars":79,"last_bar_volume":61174.0,"baseline_avg":96268.8,"bar_rvol":0.63545,"raw_accel":-0.507785,"smooth_accel":1.582974,"accel_momentum":0.71522,"rvol_3bar":[1.770082,1.360449,0.63545],"trend_3bar":"DECELERATING","projected_rvol":1.505379},"flow":{"window_s":30,"trades":77,"trade_rate":2.566667,"buy_vol":32331.0,"sell_vol":30114.0,"unclassified_vol":0.0,"imbalance":0.035503,"bid":5.78,"ask":5.79,"spread_pct":0.172861,"quote_size_imbalance":null,"quote_age_s":0.222712},"context":{"vwap":5.776701,"price_vs_vwap_pct":0.057114,"ema9":5.787367,"ema20":5.781206,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.529511,"dist_to_hod_atr":5.160456,"atr":0.029067,"spread_atr":0.34403,"own_change_pct":-0.640584,"rel_strength_pct":{"SPY":-0.714315,"IWM":-0.557309}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.022561},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"941134b0de48","ts":"2026-08-28T14:49:35+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":10.8751,"target":11.29,"target_label":"premarket_high","reward_risk":1.08,"pos_in_5d_range_pct":-5.4,"room_to_5d_high_atr":1.56},"price":11.075,"vwap":11.0047,"ext_from_open_pct":-0.58,"max_ext_allowed_pct":4.0,"volume_pace":1.601,"trend":"flat","recent_slope_pct":0.006,"volatility":"high"},"price":11.075,"volume":{"bars":79,"last_bar_volume":9081.0,"baseline_avg":24251.2,"bar_rvol":0.374456,"raw_accel":-0.166498,"smooth_accel":-0.508231,"accel_momentum":0.117201,"rvol_3bar":[0.388097,0.437186,0.374456],"trend_3bar":"MIXED","projected_rvol":0.575123},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":5322.0,"sell_vol":1604.0,"unclassified_vol":0.0,"imbalance":0.536818,"bid":11.07,"ask":11.08,"spread_pct":0.090293,"quote_size_imbalance":null,"quote_age_s":2.234893},"context":{"vwap":11.00454,"price_vs_vwap_pct":0.640278,"ema9":11.061949,"ema20":11.041161,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.956009,"dist_to_hod_atr":1.855994,"atr":0.057597,"spread_atr":0.17362,"own_change_pct":-0.29847,"rel_strength_pct":{"SPY":-0.372201,"IWM":-0.215195}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.201014},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"592c3b8960ae","ts":"2026-08-28T14:49:40+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":10.8567,"target":11.14,"target_label":"ceiling","reward_risk":0.42,"pos_in_5d_range_pct":-7.0,"room_to_5d_high_atr":1.59},"price":11.0565,"vwap":11.0048,"ext_from_open_pct":-0.75,"max_ext_allowed_pct":3.0,"volume_pace":1.599,"trend":"flat","recent_slope_pct":-0.0275,"volatility":"high"},"price":11.0565,"volume":{"bars":79,"last_bar_volume":9081.0,"baseline_avg":24251.2,"bar_rvol":0.374456,"raw_accel":-0.166498,"smooth_accel":-0.508231,"accel_momentum":0.117201,"rvol_3bar":[0.388097,0.437186,0.374456],"trend_3bar":"MIXED","projected_rvol":0.563663},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":4561.0,"sell_vol":1354.0,"unclassified_vol":0.0,"imbalance":0.542181,"bid":11.08,"ask":11.09,"spread_pct":0.090212,"quote_size_imbalance":null,"quote_age_s":0.450094},"context":{"vwap":11.00454,"price_vs_vwap_pct":0.472165,"ema9":11.061949,"ema20":11.041161,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.121455,"dist_to_hod_atr":2.177191,"atr":0.057597,"spread_atr":0.17362,"own_change_pct":-0.29847,"rel_strength_pct":{"SPY":-0.372201,"IWM":-0.215195}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.203023},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"65cae4eb428c","ts":"2026-08-28T14:49:45+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4647,"target":5.57,"target_label":"prev_day_high","reward_risk":0.4,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":1.52},"price":5.5401,"vwap":5.5034,"ext_from_open_pct":3.55,"max_ext_allowed_pct":4.0,"volume_pace":0.979,"trend":"flat","recent_slope_pct":0.0501,"volatility":"medium"},"price":5.5401,"volume":{"bars":79,"last_bar_volume":27117.0,"baseline_avg":52872.35,"bar_rvol":0.512877,"raw_accel":0.564834,"smooth_accel":-0.587932,"accel_momentum":0.063232,"rvol_3bar":[0.370514,0.323907,0.512877],"trend_3bar":"MIXED","projected_rvol":1.743369},"flow":{"window_s":30,"trades":135,"trade_rate":4.5,"buy_vol":32578.0,"sell_vol":10973.0,"unclassified_vol":0.0,"imbalance":0.496085,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":1.920926},"context":{"vwap":5.503,"price_vs_vwap_pct":0.674184,"ema9":5.527542,"ema20":5.521811,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.715054,"dist_to_hod_atr":1.762353,"atr":0.02264,"spread_atr":0.441692,"own_change_pct":0.317029,"rel_strength_pct":{"SPY":0.243298,"IWM":0.400304}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.25443},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"80c1bd00651e","ts":"2026-08-28T14:49:45+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":10.8751,"target":11.29,"target_label":"premarket_high","reward_risk":1.08,"pos_in_5d_range_pct":-5.4,"room_to_5d_high_atr":1.56},"price":11.075,"vwap":11.0048,"ext_from_open_pct":-0.58,"max_ext_allowed_pct":3.0,"volume_pace":1.598,"trend":"flat","recent_slope_pct":0.006,"volatility":"high"},"price":11.075,"volume":{"bars":79,"last_bar_volume":9081.0,"baseline_avg":24251.2,"bar_rvol":0.374456,"raw_accel":-0.166498,"smooth_accel":-0.508231,"accel_momentum":0.117201,"rvol_3bar":[0.388097,0.437186,0.374456],"trend_3bar":"MIXED","projected_rvol":0.520991},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":2454.0,"sell_vol":1339.0,"unclassified_vol":0.0,"imbalance":0.293963,"bid":11.07,"ask":11.08,"spread_pct":0.090293,"quote_size_imbalance":null,"quote_age_s":1.28061},"context":{"vwap":11.00454,"price_vs_vwap_pct":0.640278,"ema9":11.061949,"ema20":11.041161,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-0.956009,"dist_to_hod_atr":1.855994,"atr":0.057597,"spread_atr":0.17362,"own_change_pct":-0.29847,"rel_strength_pct":{"SPY":-0.372201,"IWM":-0.215195}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.110076},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e85cae4dd7c9","ts":"2026-08-28T14:49:45+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.1489,"target":13.51,"target_label":"ceiling","reward_risk":1.65,"pos_in_5d_range_pct":15.0,"room_to_5d_high_atr":1.46},"price":13.285,"vwap":13.2454,"ext_from_open_pct":-1.81,"max_ext_allowed_pct":4.0,"volume_pace":1.31,"trend":"flat","recent_slope_pct":0.1701,"volatility":"medium"},"price":13.285,"volume":{"bars":79,"last_bar_volume":5751.0,"baseline_avg":29464.9,"bar_rvol":0.195181,"raw_accel":-0.4005,"smooth_accel":-0.538141,"accel_momentum":-0.209261,"rvol_3bar":[0.377153,0.304759,0.195181],"trend_3bar":"DECELERATING","projected_rvol":7.014448},"flow":{"window_s":30,"trades":450,"trade_rate":15.0,"buy_vol":97417.0,"sell_vol":50183.0,"unclassified_vol":0.0,"imbalance":0.320014,"bid":13.28,"ask":13.29,"spread_pct":0.075273,"quote_size_imbalance":null,"quote_age_s":0.214573},"context":{"vwap":13.244179,"price_vs_vwap_pct":0.308216,"ema9":13.216861,"ema20":13.191884,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.028024,"dist_to_hod_atr":3.046844,"atr":0.090257,"spread_atr":0.110794,"own_change_pct":-0.11325,"rel_strength_pct":{"SPY":-0.186981,"IWM":-0.029975}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.062461},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"dfc5efb4b572","ts":"2026-08-28T14:50:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5035,"ext_from_open_pct":3.64,"max_ext_allowed_pct":3.0,"volume_pace":0.976,"trend":"flat","recent_slope_pct":0.0813,"volatility":"medium"},"price":5.545,"volume":{"bars":80,"last_bar_volume":73324.0,"baseline_avg":53055.3,"bar_rvol":1.38203,"raw_accel":1.703986,"smooth_accel":0.233555,"accel_momentum":0.821487,"rvol_3bar":[0.323907,0.512877,1.38203],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":118,"trade_rate":3.933333,"buy_vol":26817.0,"sell_vol":5477.0,"unclassified_vol":0.0,"imbalance":0.660804,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.339727},"context":{"vwap":5.503453,"price_vs_vwap_pct":0.75493,"ema9":5.531034,"ema20":5.52402,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.62724,"dist_to_hod_atr":1.554458,"atr":0.022516,"spread_atr":0.444131,"own_change_pct":0.452899,"rel_strength_pct":{"SPY":0.392774,"IWM":0.486401}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.913251},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"00ab4e81aeac","ts":"2026-08-28T14:50:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.47,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.5454,"vwap":5.5035,"ext_from_open_pct":3.65,"max_ext_allowed_pct":4.0,"volume_pace":0.971,"trend":"flat","recent_slope_pct":0.0827,"volatility":"medium"},"price":5.5454,"volume":{"bars":80,"last_bar_volume":73324.0,"baseline_avg":53055.3,"bar_rvol":1.38203,"raw_accel":1.703986,"smooth_accel":0.233555,"accel_momentum":0.821487,"rvol_3bar":[0.323907,0.512877,1.38203],"trend_3bar":"ACCELERATING","projected_rvol":0.262562},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":3562.0,"sell_vol":4071.0,"unclassified_vol":0.0,"imbalance":-0.066684,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":1.482386},"context":{"vwap":5.503453,"price_vs_vwap_pct":0.762198,"ema9":5.531034,"ema20":5.52402,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.620072,"dist_to_hod_atr":1.536692,"atr":0.022516,"spread_atr":0.444131,"own_change_pct":0.452899,"rel_strength_pct":{"SPY":0.392774,"IWM":0.486401}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.092159},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5f4f08f84232","ts":"2026-08-28T14:50:50+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.3463,"target":10.567,"target_label":"ceiling","reward_risk":0.86,"pos_in_5d_range_pct":78.2,"room_to_5d_high_atr":0.41},"price":10.465,"vwap":10.4579,"ext_from_open_pct":-0.61,"max_ext_allowed_pct":3.0,"volume_pace":0.927,"trend":"flat","recent_slope_pct":-0.0096,"volatility":"medium"},"price":10.465,"volume":{"bars":80,"last_bar_volume":121354.0,"baseline_avg":194751.75,"bar_rvol":0.623121,"raw_accel":-0.84562,"smooth_accel":2.219821,"accel_momentum":0.408047,"rvol_3bar":[7.650203,4.990148,0.623121],"trend_3bar":"DECELERATING","projected_rvol":0.616052},"flow":{"window_s":30,"trades":84,"trade_rate":2.8,"buy_vol":54169.0,"sell_vol":18223.0,"unclassified_vol":0.0,"imbalance":0.496547,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.593069},"context":{"vwap":10.457904,"price_vs_vwap_pct":0.067856,"ema9":10.454705,"ema20":10.452057,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.965269,"dist_to_hod_atr":4.131924,"atr":0.024686,"spread_atr":0.405091,"own_change_pct":0.09574,"rel_strength_pct":{"SPY":0.035615,"IWM":0.129242}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.309409},"shadow":{"decision":"FAIL","failed":["bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"c06e9e09853c","ts":"2026-08-28T14:50:55+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.36x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":5.0024,"target":5.18,"target_label":"premarket_high","reward_risk":0.65,"pos_in_5d_range_pct":31.9,"room_to_5d_high_atr":1.39},"price":5.11,"vwap":5.0631,"ext_from_open_pct":0.99,"max_ext_allowed_pct":4.0,"volume_pace":0.365,"trend":"flat","recent_slope_pct":0.1771,"volatility":"high"},"price":5.11,"volume":{"bars":80,"last_bar_volume":37047.0,"baseline_avg":17300.95,"bar_rvol":2.141327,"raw_accel":-0.370185,"smooth_accel":1.768418,"accel_momentum":-2.013064,"rvol_3bar":[4.490492,4.027125,2.141327],"trend_3bar":"DECELERATING","projected_rvol":3.883864},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":27964.0,"sell_vol":6148.0,"unclassified_vol":0.0,"imbalance":0.63954,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.725839},"context":{"vwap":5.062188,"price_vs_vwap_pct":0.9445,"ema9":5.075458,"ema20":5.081496,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.583658,"dist_to_hod_atr":1.340437,"atr":0.022381,"spread_atr":0.446812,"own_change_pct":-0.133679,"rel_strength_pct":{"SPY":-0.193804,"IWM":-0.100177}},"vas":{"raw":6,"score":8.1,"components":{"rvol":2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":1.369465},"shadow":{"decision":"FAIL","failed":["rel_strength","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"87555bee3a18","ts":"2026-08-28T14:51:05+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9,"target":11.13,"target_label":"range_20d_high","reward_risk":2.29,"pos_in_5d_range_pct":75.0,"room_to_5d_high_atr":0.4},"price":10.97,"vwap":10.9561,"ext_from_open_pct":0.0,"max_ext_allowed_pct":3.0,"volume_pace":2.133,"trend":"flat","recent_slope_pct":0.0663,"volatility":"low"},"price":10.97,"volume":{"bars":81,"last_bar_volume":89624.0,"baseline_avg":69464.4,"bar_rvol":1.290215,"raw_accel":0.004911,"smooth_accel":-0.308248,"accel_momentum":-0.334034,"rvol_3bar":[0.517924,1.341488,1.290215],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":71,"trade_rate":2.366667,"buy_vol":1972.0,"sell_vol":12247.0,"unclassified_vol":0.0,"imbalance":-0.722625,"bid":10.96,"ask":10.97,"spread_pct":0.091199,"quote_size_imbalance":null,"quote_age_s":1.486721},"context":{"vwap":10.956097,"price_vs_vwap_pct":0.126897,"ema9":10.949894,"ema20":10.941635,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.272727,"dist_to_hod_atr":1.653859,"atr":0.018139,"spread_atr":0.551286,"own_change_pct":0.136011,"rel_strength_pct":{"SPY":0.028666,"IWM":0.065591}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.932341},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c7dca08743ae","ts":"2026-08-28T14:51:05+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":10.3479,"target":10.567,"target_label":"ceiling","reward_risk":0.85,"pos_in_5d_range_pct":78.4,"room_to_5d_high_atr":0.41},"price":10.4666,"vwap":10.4579,"ext_from_open_pct":-0.59,"max_ext_allowed_pct":3.0,"volume_pace":0.926,"trend":"flat","recent_slope_pct":0.0111,"volatility":"medium"},"price":10.4666,"volume":{"bars":81,"last_bar_volume":126159.0,"baseline_avg":195741.4,"bar_rvol":0.644519,"raw_accel":0.039595,"smooth_accel":-0.147599,"accel_momentum":-2.36742,"rvol_3bar":[4.990148,0.623121,0.644519],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":46958.0,"sell_vol":20333.0,"unclassified_vol":0.0,"imbalance":0.39567,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.521011},"context":{"vwap":10.457913,"price_vs_vwap_pct":0.083063,"ema9":10.456444,"ema20":10.453138,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.950128,"dist_to_hod_atr":4.044708,"atr":0.024823,"spread_atr":0.402859,"own_change_pct":0.125355,"rel_strength_pct":{"SPY":0.018011,"IWM":0.054935}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.255016},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"21c99c055d3c","ts":"2026-08-28T14:51:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4845,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.5599,"vwap":5.5038,"ext_from_open_pct":3.92,"max_ext_allowed_pct":3.0,"volume_pace":0.971,"trend":"flat","recent_slope_pct":0.1394,"volatility":"medium"},"price":5.5599,"volume":{"bars":81,"last_bar_volume":47191.0,"baseline_avg":55764.75,"bar_rvol":0.846251,"raw_accel":-0.356404,"smooth_accel":1.23712,"accel_momentum":1.003564,"rvol_3bar":[0.512877,1.38203,0.846251],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":104,"trade_rate":3.466667,"buy_vol":31534.0,"sell_vol":9997.0,"unclassified_vol":0.0,"imbalance":0.518576,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":3.868672},"context":{"vwap":5.503797,"price_vs_vwap_pct":1.019353,"ema9":5.535827,"ema20":5.52697,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.360215,"dist_to_hod_atr":0.877985,"atr":0.022893,"spread_atr":0.436808,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.344735,"IWM":0.381659}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.438846},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7e4955f068fc","ts":"2026-08-28T14:51:10+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.36x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9923,"target":5.14,"target_label":"ceiling","reward_risk":0.37,"pos_in_5d_range_pct":30.7,"room_to_5d_high_atr":1.41},"price":5.0999,"vwap":5.0631,"ext_from_open_pct":0.79,"max_ext_allowed_pct":4.0,"volume_pace":0.364,"trend":"flat","recent_slope_pct":0.2943,"volatility":"high"},"price":5.0999,"volume":{"bars":81,"last_bar_volume":61872.0,"baseline_avg":18689.05,"bar_rvol":3.310602,"raw_accel":0.670095,"smooth_accel":0.488165,"accel_momentum":-1.280253,"rvol_3bar":[4.027125,2.141327,3.310602],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":26457.0,"sell_vol":7882.0,"unclassified_vol":0.0,"imbalance":0.54093,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":3.607393},"context":{"vwap":5.063057,"price_vs_vwap_pct":0.727692,"ema9":5.082346,"ema20":5.084201,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.780156,"dist_to_hod_atr":1.661193,"atr":0.024139,"spread_atr":0.414263,"own_change_pct":0.588583,"rel_strength_pct":{"SPY":0.481238,"IWM":0.518163}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":1.790804},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b8e590469fa4","ts":"2026-08-28T14:51:15+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5038,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.97,"trend":"flat","recent_slope_pct":0.1037,"volatility":"medium"},"price":5.55,"volume":{"bars":81,"last_bar_volume":47191.0,"baseline_avg":55764.75,"bar_rvol":0.846251,"raw_accel":-0.356404,"smooth_accel":1.23712,"accel_momentum":1.003564,"rvol_3bar":[0.512877,1.38203,0.846251],"trend_3bar":"MIXED","projected_rvol":0.42335},"flow":{"window_s":30,"trades":94,"trade_rate":3.133333,"buy_vol":28962.0,"sell_vol":8376.0,"unclassified_vol":0.0,"imbalance":0.551342,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":1.754129},"context":{"vwap":5.503797,"price_vs_vwap_pct":0.839477,"ema9":5.535827,"ema20":5.52697,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.537634,"dist_to_hod_atr":1.310425,"atr":0.022893,"spread_atr":0.436808,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.344735,"IWM":0.381659}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.466574},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7339c5360f45","ts":"2026-08-28T14:51:20+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.95 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9,"target":11.13,"target_label":"range_20d_high","reward_risk":3.54,"pos_in_5d_range_pct":66.9,"room_to_5d_high_atr":0.52},"price":10.9507,"vwap":10.9561,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.128,"trend":"flat","recent_slope_pct":0.0311,"volatility":"low"},"price":10.9507,"volume":{"bars":81,"last_bar_volume":89624.0,"baseline_avg":69464.4,"bar_rvol":1.290215,"raw_accel":0.004911,"smooth_accel":-0.308248,"accel_momentum":-0.334034,"rvol_3bar":[0.517924,1.341488,1.290215],"trend_3bar":"MIXED","projected_rvol":0.151977},"flow":{"window_s":30,"trades":66,"trade_rate":2.2,"buy_vol":2578.0,"sell_vol":12218.0,"unclassified_vol":0.0,"imbalance":-0.651527,"bid":10.96,"ask":10.97,"spread_pct":0.091199,"quote_size_imbalance":null,"quote_age_s":0.803384},"context":{"vwap":10.956097,"price_vs_vwap_pct":-0.04926,"ema9":10.949894,"ema20":10.941635,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.448182,"dist_to_hod_atr":2.717842,"atr":0.018139,"spread_atr":0.551286,"own_change_pct":0.136011,"rel_strength_pct":{"SPY":0.028666,"IWM":0.065591}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.84061},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3c8552b9f142","ts":"2026-08-28T14:51:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5038,"ext_from_open_pct":3.93,"max_ext_allowed_pct":3.0,"volume_pace":0.969,"trend":"flat","recent_slope_pct":0.1398,"volatility":"medium"},"price":5.56,"volume":{"bars":81,"last_bar_volume":47191.0,"baseline_avg":55764.75,"bar_rvol":0.846251,"raw_accel":-0.356404,"smooth_accel":1.23712,"accel_momentum":1.003564,"rvol_3bar":[0.512877,1.38203,0.846251],"trend_3bar":"MIXED","projected_rvol":0.324291},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":1606.0,"sell_vol":5383.0,"unclassified_vol":0.0,"imbalance":-0.540421,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.856638},"context":{"vwap":5.503797,"price_vs_vwap_pct":1.02117,"ema9":5.535827,"ema20":5.52697,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.358423,"dist_to_hod_atr":0.873617,"atr":0.022893,"spread_atr":0.436808,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.344735,"IWM":0.381659}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.457332},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4420ce7dca5e","ts":"2026-08-28T14:51:20+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":4.9974,"target":5.18,"target_label":"premarket_high","reward_risk":0.7,"pos_in_5d_range_pct":31.3,"room_to_5d_high_atr":1.4},"price":5.105,"vwap":5.0635,"ext_from_open_pct":0.89,"max_ext_allowed_pct":4.0,"volume_pace":0.368,"trend":"flat","recent_slope_pct":0.3143,"volatility":"high"},"price":5.105,"volume":{"bars":81,"last_bar_volume":61872.0,"baseline_avg":18689.05,"bar_rvol":3.310602,"raw_accel":0.670095,"smooth_accel":0.488165,"accel_momentum":-1.280253,"rvol_3bar":[4.027125,2.141327,3.310602],"trend_3bar":"MIXED","projected_rvol":5.455655},"flow":{"window_s":30,"trades":111,"trade_rate":3.7,"buy_vol":48997.0,"sell_vol":13513.0,"unclassified_vol":0.0,"imbalance":0.567653,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":1.196655},"context":{"vwap":5.063057,"price_vs_vwap_pct":0.828422,"ema9":5.082346,"ema20":5.084201,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.680934,"dist_to_hod_atr":1.449919,"atr":0.024139,"spread_atr":0.414263,"own_change_pct":0.588583,"rel_strength_pct":{"SPY":0.481238,"IWM":0.518163}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":1.879274},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f8679efdd6d3","ts":"2026-08-28T14:51:25+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9,"target":11.13,"target_label":"range_20d_high","reward_risk":2.29,"pos_in_5d_range_pct":75.0,"room_to_5d_high_atr":0.4},"price":10.97,"vwap":10.9561,"ext_from_open_pct":0.0,"max_ext_allowed_pct":3.0,"volume_pace":2.126,"trend":"flat","recent_slope_pct":0.0663,"volatility":"low"},"price":10.97,"volume":{"bars":81,"last_bar_volume":89624.0,"baseline_avg":69464.4,"bar_rvol":1.290215,"raw_accel":0.004911,"smooth_accel":-0.308248,"accel_momentum":-0.334034,"rvol_3bar":[0.517924,1.341488,1.290215],"trend_3bar":"MIXED","projected_rvol":0.140101},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":2342.0,"sell_vol":1844.0,"unclassified_vol":0.0,"imbalance":0.118968,"bid":10.96,"ask":10.97,"spread_pct":0.091199,"quote_size_imbalance":null,"quote_age_s":1.936511},"context":{"vwap":10.956097,"price_vs_vwap_pct":0.126897,"ema9":10.949894,"ema20":10.941635,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.272727,"dist_to_hod_atr":1.653859,"atr":0.018139,"spread_atr":0.551286,"own_change_pct":0.136011,"rel_strength_pct":{"SPY":0.028666,"IWM":0.065591}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.153494},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"68a43ea71d2a","ts":"2026-08-28T14:51:25+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9697,"target":5.14,"target_label":"ceiling","reward_risk":0.58,"pos_in_5d_range_pct":28.1,"room_to_5d_high_atr":1.47},"price":5.0773,"vwap":5.0636,"ext_from_open_pct":0.34,"max_ext_allowed_pct":4.0,"volume_pace":0.37,"trend":"flat","recent_slope_pct":0.2055,"volatility":"high"},"price":5.0773,"volume":{"bars":81,"last_bar_volume":61872.0,"baseline_avg":18689.05,"bar_rvol":3.310602,"raw_accel":0.670095,"smooth_accel":0.488165,"accel_momentum":-1.280253,"rvol_3bar":[4.027125,2.141327,3.310602],"trend_3bar":"MIXED","projected_rvol":5.89359},"flow":{"window_s":30,"trades":135,"trade_rate":4.5,"buy_vol":38571.0,"sell_vol":7600.0,"unclassified_vol":0.0,"imbalance":0.670789,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":0.022045},"context":{"vwap":5.063057,"price_vs_vwap_pct":0.281321,"ema9":5.082346,"ema20":5.084201,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-1.219844,"dist_to_hod_atr":2.597426,"atr":0.024139,"spread_atr":0.414263,"own_change_pct":0.588583,"rel_strength_pct":{"SPY":0.481238,"IWM":0.518163}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":2.220715},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a26979b0b82d","ts":"2026-08-28T14:51:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5039,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.968,"trend":"flat","recent_slope_pct":0.1037,"volatility":"medium"},"price":5.55,"volume":{"bars":81,"last_bar_volume":47191.0,"baseline_avg":55764.75,"bar_rvol":0.846251,"raw_accel":-0.356404,"smooth_accel":1.23712,"accel_momentum":1.003564,"rvol_3bar":[0.512877,1.38203,0.846251],"trend_3bar":"MIXED","projected_rvol":0.505122},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":1676.0,"sell_vol":12408.0,"unclassified_vol":0.0,"imbalance":-0.761999,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.001851},"context":{"vwap":5.503797,"price_vs_vwap_pct":0.839477,"ema9":5.535827,"ema20":5.52697,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.537634,"dist_to_hod_atr":1.310425,"atr":0.022893,"spread_atr":0.436808,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.344735,"IWM":0.381659}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.644843},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"227d57e563ea","ts":"2026-08-28T14:51:30+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":5.0174,"target":5.18,"target_label":"premarket_high","reward_risk":0.51,"pos_in_5d_range_pct":33.6,"room_to_5d_high_atr":1.36},"price":5.125,"vwap":5.064,"ext_from_open_pct":1.28,"max_ext_allowed_pct":4.0,"volume_pace":0.37,"trend":"flat","recent_slope_pct":0.3927,"volatility":"high"},"price":5.125,"volume":{"bars":81,"last_bar_volume":61872.0,"baseline_avg":18689.05,"bar_rvol":3.310602,"raw_accel":0.670095,"smooth_accel":0.488165,"accel_momentum":-1.280253,"rvol_3bar":[4.027125,2.141327,3.310602],"trend_3bar":"MIXED","projected_rvol":5.228302},"flow":{"window_s":30,"trades":133,"trade_rate":4.433333,"buy_vol":41330.0,"sell_vol":7526.0,"unclassified_vol":0.0,"imbalance":0.691911,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":0.164026},"context":{"vwap":5.063057,"price_vs_vwap_pct":1.22344,"ema9":5.082346,"ema20":5.084201,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.291829,"dist_to_hod_atr":0.621394,"atr":0.024139,"spread_atr":0.414263,"own_change_pct":0.588583,"rel_strength_pct":{"SPY":0.481238,"IWM":0.518163}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":2.290641},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"cc8dbf8a4e8c","ts":"2026-08-28T14:51:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5039,"ext_from_open_pct":3.93,"max_ext_allowed_pct":3.0,"volume_pace":0.968,"trend":"flat","recent_slope_pct":0.1398,"volatility":"medium"},"price":5.56,"volume":{"bars":81,"last_bar_volume":47191.0,"baseline_avg":55764.75,"bar_rvol":0.846251,"raw_accel":-0.356404,"smooth_accel":1.23712,"accel_momentum":1.003564,"rvol_3bar":[0.512877,1.38203,0.846251],"trend_3bar":"MIXED","projected_rvol":0.569976},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":4202.0,"sell_vol":11414.0,"unclassified_vol":0.0,"imbalance":-0.461834,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":1.491959},"context":{"vwap":5.503797,"price_vs_vwap_pct":1.02117,"ema9":5.535827,"ema20":5.52697,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.358423,"dist_to_hod_atr":0.873617,"atr":0.022893,"spread_atr":0.436808,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.344735,"IWM":0.381659}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.390828},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"fa42c8b22614","ts":"2026-08-28T14:51:45+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.504,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":0.967,"trend":"flat","recent_slope_pct":0.1217,"volatility":"medium"},"price":5.555,"volume":{"bars":81,"last_bar_volume":47191.0,"baseline_avg":55764.75,"bar_rvol":0.846251,"raw_accel":-0.356404,"smooth_accel":1.23712,"accel_momentum":1.003564,"rvol_3bar":[0.512877,1.38203,0.846251],"trend_3bar":"MIXED","projected_rvol":0.500364},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":5977.0,"sell_vol":9048.0,"unclassified_vol":0.0,"imbalance":-0.204393,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":1.277128},"context":{"vwap":5.503797,"price_vs_vwap_pct":0.930323,"ema9":5.535827,"ema20":5.52697,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.448029,"dist_to_hod_atr":1.092021,"atr":0.022893,"spread_atr":0.436808,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.344735,"IWM":0.381659}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.172968},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7b666d8b1982","ts":"2026-08-28T14:51:50+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 5.0s / 18s","plan":{"state":"WATCH","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.504,"ext_from_open_pct":3.74,"max_ext_allowed_pct":4.0,"volume_pace":0.966,"trend":"flat","recent_slope_pct":0.1037,"volatility":"medium"},"price":5.55,"volume":{"bars":81,"last_bar_volume":47191.0,"baseline_avg":55764.75,"bar_rvol":0.846251,"raw_accel":-0.356404,"smooth_accel":1.23712,"accel_momentum":1.003564,"rvol_3bar":[0.512877,1.38203,0.846251],"trend_3bar":"MIXED","projected_rvol":0.530034},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":8833.0,"sell_vol":9770.0,"unclassified_vol":0.0,"imbalance":-0.050368,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.255051},"context":{"vwap":5.503797,"price_vs_vwap_pct":0.839477,"ema9":5.535827,"ema20":5.52697,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.537634,"dist_to_hod_atr":1.310425,"atr":0.022893,"spread_atr":0.436808,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.344735,"IWM":0.381659}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.042624},"shadow":{"decision":"FAIL","failed":["imbalance","bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ab1e3f03e3fc","ts":"2026-08-28T14:51:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4819,"target":6.0,"target_label":"range_20d_high","reward_risk":5.87,"pos_in_5d_range_pct":49.1,"room_to_5d_high_atr":1.47},"price":5.5573,"vwap":5.504,"ext_from_open_pct":3.87,"max_ext_allowed_pct":3.0,"volume_pace":0.965,"trend":"flat","recent_slope_pct":0.13,"volatility":"medium"},"price":5.5573,"volume":{"bars":81,"last_bar_volume":47191.0,"baseline_avg":55764.75,"bar_rvol":0.846251,"raw_accel":-0.356404,"smooth_accel":1.23712,"accel_momentum":1.003564,"rvol_3bar":[0.512877,1.38203,0.846251],"trend_3bar":"MIXED","projected_rvol":0.519664},"flow":{"window_s":30,"trades":66,"trade_rate":2.2,"buy_vol":10413.0,"sell_vol":2395.0,"unclassified_vol":0.0,"imbalance":0.626015,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.707674},"context":{"vwap":5.503797,"price_vs_vwap_pct":0.972113,"ema9":5.535827,"ema20":5.52697,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.40681,"dist_to_hod_atr":0.991555,"atr":0.022893,"spread_atr":0.436808,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.344735,"IWM":0.381659}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.529766},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"513c6ec55b03","ts":"2026-08-28T14:52:05+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3928,"target":9.73,"target_label":"premarket_high","reward_risk":0.92,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":0.98},"price":9.5681,"vwap":9.5573,"ext_from_open_pct":-0.54,"max_ext_allowed_pct":3.0,"volume_pace":1.035,"trend":"flat","recent_slope_pct":0.1527,"volatility":"high"},"price":9.5681,"volume":{"bars":82,"last_bar_volume":168168.0,"baseline_avg":69041.85,"bar_rvol":2.43574,"raw_accel":-0.009885,"smooth_accel":2.133032,"accel_momentum":0.518045,"rvol_3bar":[0.99316,1.827513,2.43574],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":178,"trade_rate":5.933333,"buy_vol":27139.0,"sell_vol":43517.0,"unclassified_vol":0.0,"imbalance":-0.231799,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.080603},"context":{"vwap":9.557281,"price_vs_vwap_pct":0.113203,"ema9":9.544954,"ema20":9.5334,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.763211,"dist_to_hod_atr":4.711232,"atr":0.057713,"spread_atr":0.173271,"own_change_pct":0.369166,"rel_strength_pct":{"SPY":0.304511,"IWM":0.342338}},"vas":{"raw":5,"score":7.5,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.564602},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8766a51d15a1","ts":"2026-08-28T14:52:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5041,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.964,"trend":"flat","recent_slope_pct":0.0631,"volatility":"medium"},"price":5.55,"volume":{"bars":82,"last_bar_volume":27271.0,"baseline_avg":53737.9,"bar_rvol":0.507482,"raw_accel":-0.422114,"smooth_accel":1.302429,"accel_momentum":0.065309,"rvol_3bar":[1.38203,0.846251,0.507482],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":79,"trade_rate":2.633333,"buy_vol":9215.0,"sell_vol":11354.0,"unclassified_vol":0.0,"imbalance":-0.103991,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.00903},"context":{"vwap":5.504002,"price_vs_vwap_pct":0.835723,"ema9":5.539662,"ema20":5.52964,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.537634,"dist_to_hod_atr":1.314088,"atr":0.02283,"spread_atr":0.438029,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.387425,"IWM":0.425251}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.052774},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"13adbfbf5565","ts":"2026-08-28T14:52:10+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.3413,"target":10.567,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":77.7,"room_to_5d_high_atr":0.42},"price":10.46,"vwap":10.4579,"ext_from_open_pct":-0.66,"max_ext_allowed_pct":3.0,"volume_pace":0.918,"trend":"flat","recent_slope_pct":0.0112,"volatility":"medium"},"price":10.46,"volume":{"bars":82,"last_bar_volume":47048.0,"baseline_avg":188874.2,"bar_rvol":0.249097,"raw_accel":-0.627074,"smooth_accel":-0.835843,"accel_momentum":-0.688244,"rvol_3bar":[0.623121,0.644519,0.249097],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":5433.0,"sell_vol":19717.0,"unclassified_vol":0.0,"imbalance":-0.567952,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":1.085929},"context":{"vwap":10.457917,"price_vs_vwap_pct":0.019921,"ema9":10.456495,"ema20":10.453477,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.012586,"dist_to_hod_atr":4.371256,"atr":0.024478,"spread_atr":0.408529,"own_change_pct":-0.079312,"rel_strength_pct":{"SPY":-0.143967,"IWM":-0.106141}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.141475},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b24dd4ab6159","ts":"2026-08-28T14:52:15+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5041,"ext_from_open_pct":3.93,"max_ext_allowed_pct":3.0,"volume_pace":0.964,"trend":"flat","recent_slope_pct":0.0991,"volatility":"medium"},"price":5.56,"volume":{"bars":82,"last_bar_volume":27271.0,"baseline_avg":53737.9,"bar_rvol":0.507482,"raw_accel":-0.422114,"smooth_accel":1.302429,"accel_momentum":0.065309,"rvol_3bar":[1.38203,0.846251,0.507482],"trend_3bar":"DECELERATING","projected_rvol":1.302544},"flow":{"window_s":30,"trades":95,"trade_rate":3.166667,"buy_vol":12366.0,"sell_vol":11477.0,"unclassified_vol":0.0,"imbalance":0.037286,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.181307},"context":{"vwap":5.504002,"price_vs_vwap_pct":1.017409,"ema9":5.539662,"ema20":5.52964,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.358423,"dist_to_hod_atr":0.876059,"atr":0.02283,"spread_atr":0.438029,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.387425,"IWM":0.425251}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.018922},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"0fdc80e6ae30","ts":"2026-08-28T14:52:15+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.46 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3363,"target":10.567,"target_label":"ceiling","reward_risk":0.94,"pos_in_5d_range_pct":77.1,"room_to_5d_high_atr":0.43},"price":10.455,"vwap":10.4579,"ext_from_open_pct":-0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.917,"trend":"flat","recent_slope_pct":0.0016,"volatility":"medium"},"price":10.455,"volume":{"bars":82,"last_bar_volume":47048.0,"baseline_avg":188874.2,"bar_rvol":0.249097,"raw_accel":-0.627074,"smooth_accel":-0.835843,"accel_momentum":-0.688244,"rvol_3bar":[0.623121,0.644519,0.249097],"trend_3bar":"MIXED","projected_rvol":0.212078},"flow":{"window_s":30,"trades":32,"trade_rate":1.066667,"buy_vol":4633.0,"sell_vol":20056.0,"unclassified_vol":0.0,"imbalance":-0.624691,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":1.676425},"context":{"vwap":10.457917,"price_vs_vwap_pct":-0.02789,"ema9":10.456495,"ema20":10.453477,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.059903,"dist_to_hod_atr":4.57552,"atr":0.024478,"spread_atr":0.408529,"own_change_pct":-0.079312,"rel_strength_pct":{"SPY":-0.143967,"IWM":-0.106141}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.155609},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ae413aa527e3","ts":"2026-08-28T14:52:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.4% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4588,"target":5.57,"target_label":"prev_day_high","reward_risk":0.47,"pos_in_5d_range_pct":46.5,"room_to_5d_high_atr":1.54},"price":5.5342,"vwap":5.5041,"ext_from_open_pct":3.44,"max_ext_allowed_pct":3.0,"volume_pace":0.963,"trend":"flat","recent_slope_pct":0.0061,"volatility":"medium"},"price":5.5342,"volume":{"bars":82,"last_bar_volume":27271.0,"baseline_avg":53737.9,"bar_rvol":0.507482,"raw_accel":-0.422114,"smooth_accel":1.302429,"accel_momentum":0.065309,"rvol_3bar":[1.38203,0.846251,0.507482],"trend_3bar":"DECELERATING","projected_rvol":0.999518},"flow":{"window_s":30,"trades":86,"trade_rate":2.866667,"buy_vol":9585.0,"sell_vol":10959.0,"unclassified_vol":0.0,"imbalance":-0.066881,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.215691},"context":{"vwap":5.504002,"price_vs_vwap_pct":0.548659,"ema9":5.539662,"ema20":5.52964,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.820789,"dist_to_hod_atr":2.006175,"atr":0.02283,"spread_atr":0.438029,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.387425,"IWM":0.425251}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.033941},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"d71e36bb312f","ts":"2026-08-28T14:52:25+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5041,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.963,"trend":"flat","recent_slope_pct":0.0991,"volatility":"medium"},"price":5.56,"volume":{"bars":82,"last_bar_volume":27271.0,"baseline_avg":53737.9,"bar_rvol":0.507482,"raw_accel":-0.422114,"smooth_accel":1.302429,"accel_momentum":0.065309,"rvol_3bar":[1.38203,0.846251,0.507482],"trend_3bar":"DECELERATING","projected_rvol":0.858299},"flow":{"window_s":30,"trades":79,"trade_rate":2.633333,"buy_vol":8705.0,"sell_vol":11220.0,"unclassified_vol":0.0,"imbalance":-0.126223,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.608567},"context":{"vwap":5.504002,"price_vs_vwap_pct":1.017409,"ema9":5.539662,"ema20":5.52964,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.358423,"dist_to_hod_atr":0.876059,"atr":0.02283,"spread_atr":0.438029,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.387425,"IWM":0.425251}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.064056},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"19d7307f45f4","ts":"2026-08-28T14:52:25+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.55 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3797,"target":9.73,"target_label":"premarket_high","reward_risk":1.0,"pos_in_5d_range_pct":51.9,"room_to_5d_high_atr":1.0},"price":9.555,"vwap":9.5573,"ext_from_open_pct":-0.68,"max_ext_allowed_pct":3.0,"volume_pace":1.034,"trend":"flat","recent_slope_pct":0.1253,"volatility":"high"},"price":9.555,"volume":{"bars":82,"last_bar_volume":168168.0,"baseline_avg":69041.85,"bar_rvol":2.43574,"raw_accel":-0.009885,"smooth_accel":2.133032,"accel_momentum":0.518045,"rvol_3bar":[0.99316,1.827513,2.43574],"trend_3bar":"ACCELERATING","projected_rvol":0.971619},"flow":{"window_s":30,"trades":129,"trade_rate":4.3,"buy_vol":7515.0,"sell_vol":44023.0,"unclassified_vol":0.0,"imbalance":-0.708371,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":0.116026},"context":{"vwap":9.557281,"price_vs_vwap_pct":-0.023865,"ema9":9.544954,"ema20":9.5334,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.896341,"dist_to_hod_atr":4.938217,"atr":0.057713,"spread_atr":0.173271,"own_change_pct":0.369166,"rel_strength_pct":{"SPY":0.304511,"IWM":0.342338}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.725406},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b0e095ab27da","ts":"2026-08-28T14:52:30+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 230.0s, plan says WATCH; stop 5.06, target 5.18 (ceiling), R:R 0.50; selling not fading: red-bar volume 1.06x the advance (max 0.7); no reclaim yet (needs a close > 5.13); R:R 0.50 < 2.0 at 5.14;","plan":{"state":"WATCH","setup":"","stop":5.0553,"target":5.1793,"target_label":"ceiling","reward_risk":0.5,"pos_in_5d_range_pct":50.4,"room_to_5d_high_atr":1.01},"price":5.1377,"vwap":5.1175,"ext_from_open_pct":2.14,"max_ext_allowed_pct":4.0,"volume_pace":1.028,"trend":"flat","recent_slope_pct":0.0536,"volatility":"high"},"price":5.1377,"volume":{"bars":82,"last_bar_volume":372.0,"baseline_avg":876.3,"bar_rvol":0.424512,"raw_accel":-0.602988,"smooth_accel":24.303922,"accel_momentum":24.566201,"rvol_3bar":[1.50186,1.057383,0.424512],"trend_3bar":"DECELERATING","projected_rvol":0.002282},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":1.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":5.13,"ask":5.14,"spread_pct":0.194742,"quote_size_imbalance":null,"quote_age_s":4.669002},"context":{"vwap":5.117505,"price_vs_vwap_pct":0.39462,"ema9":5.120057,"ema20":5.112535,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-0.803197,"dist_to_hod_atr":4.154963,"atr":0.010012,"spread_atr":0.998789,"own_change_pct":0.138672,"rel_strength_pct":{"SPY":0.074017,"IWM":0.111843}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.424512},"shadow":{"decision":"FAIL","failed":["bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"fd807036f73f","ts":"2026-08-28T14:52:35+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.95 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.913,"target":11.13,"target_label":"range_20d_high","reward_risk":4.74,"pos_in_5d_range_pct":67.0,"room_to_5d_high_atr":0.52},"price":10.9508,"vwap":10.9561,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":3.0,"volume_pace":2.112,"trend":"flat","recent_slope_pct":0.0106,"volatility":"low"},"price":10.9508,"volume":{"bars":82,"last_bar_volume":30176.0,"baseline_avg":69753.35,"bar_rvol":0.43261,"raw_accel":-0.663304,"smooth_accel":-0.139175,"accel_momentum":0.169073,"rvol_3bar":[1.341488,1.290215,0.43261],"trend_3bar":"DECELERATING","projected_rvol":0.449723},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":11183.0,"sell_vol":6767.0,"unclassified_vol":0.0,"imbalance":0.246017,"bid":10.96,"ask":10.97,"spread_pct":0.091199,"quote_size_imbalance":null,"quote_age_s":1.584304},"context":{"vwap":10.956112,"price_vs_vwap_pct":-0.048485,"ema9":10.951915,"ema20":10.943384,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.447273,"dist_to_hod_atr":2.657283,"atr":0.018515,"spread_atr":0.540098,"own_change_pct":0.182815,"rel_strength_pct":{"SPY":0.11816,"IWM":0.155987}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.106429},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"3c1ef3e05061","ts":"2026-08-28T14:52:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.0% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4896,"target":6.0,"target_label":"range_20d_high","reward_risk":5.77,"pos_in_5d_range_pct":50.0,"room_to_5d_high_atr":1.44},"price":5.565,"vwap":5.5044,"ext_from_open_pct":4.02,"max_ext_allowed_pct":4.0,"volume_pace":0.965,"trend":"flat","recent_slope_pct":0.1171,"volatility":"medium"},"price":5.565,"volume":{"bars":82,"last_bar_volume":27271.0,"baseline_avg":53737.9,"bar_rvol":0.507482,"raw_accel":-0.422114,"smooth_accel":1.302429,"accel_momentum":0.065309,"rvol_3bar":[1.38203,0.846251,0.507482],"trend_3bar":"DECELERATING","projected_rvol":1.569714},"flow":{"window_s":30,"trades":114,"trade_rate":3.8,"buy_vol":37989.0,"sell_vol":1703.0,"unclassified_vol":0.0,"imbalance":0.914189,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.527674},"context":{"vwap":5.504002,"price_vs_vwap_pct":1.108252,"ema9":5.539662,"ema20":5.52964,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.268817,"dist_to_hod_atr":0.657044,"atr":0.02283,"spread_atr":0.438029,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.387425,"IWM":0.425251}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.463934},"shadow":{"decision":"FAIL","failed":["bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"d79f9b42bb8f","ts":"2026-08-28T14:52:35+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3847,"target":9.73,"target_label":"premarket_high","reward_risk":0.97,"pos_in_5d_range_pct":52.2,"room_to_5d_high_atr":0.99},"price":9.56,"vwap":9.5573,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":3.0,"volume_pace":1.033,"trend":"flat","recent_slope_pct":0.1358,"volatility":"high"},"price":9.56,"volume":{"bars":82,"last_bar_volume":168168.0,"baseline_avg":69041.85,"bar_rvol":2.43574,"raw_accel":-0.009885,"smooth_accel":2.133032,"accel_momentum":0.518045,"rvol_3bar":[0.99316,1.827513,2.43574],"trend_3bar":"ACCELERATING","projected_rvol":0.947028},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":1456.0,"sell_vol":33130.0,"unclassified_vol":0.0,"imbalance":-0.915804,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":0.515059},"context":{"vwap":9.557281,"price_vs_vwap_pct":0.028451,"ema9":9.544954,"ema20":9.5334,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.845528,"dist_to_hod_atr":4.851582,"atr":0.057713,"spread_atr":0.173271,"own_change_pct":0.369166,"rel_strength_pct":{"SPY":0.304511,"IWM":0.342338}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.230661},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3fd9ab5c1e6b","ts":"2026-08-28T14:52:40+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9561,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":2.111,"trend":"flat","recent_slope_pct":0.0274,"volatility":"low"},"price":10.96,"volume":{"bars":82,"last_bar_volume":30176.0,"baseline_avg":69753.35,"bar_rvol":0.43261,"raw_accel":-0.663304,"smooth_accel":-0.139175,"accel_momentum":0.169073,"rvol_3bar":[1.341488,1.290215,0.43261],"trend_3bar":"DECELERATING","projected_rvol":0.417399},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":11475.0,"sell_vol":7362.0,"unclassified_vol":0.0,"imbalance":0.218347,"bid":10.96,"ask":10.97,"spread_pct":0.091199,"quote_size_imbalance":null,"quote_age_s":0.09709},"context":{"vwap":10.956112,"price_vs_vwap_pct":0.035487,"ema9":10.951915,"ema20":10.943384,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":2.160393,"atr":0.018515,"spread_atr":0.540098,"own_change_pct":0.182815,"rel_strength_pct":{"SPY":0.11816,"IWM":0.155987}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.094459},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"fb4e48cd8ea5","ts":"2026-08-28T14:52:45+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.55 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3748,"target":9.73,"target_label":"premarket_high","reward_risk":1.03,"pos_in_5d_range_pct":51.6,"room_to_5d_high_atr":1.01},"price":9.5501,"vwap":9.5573,"ext_from_open_pct":-0.73,"max_ext_allowed_pct":3.0,"volume_pace":1.034,"trend":"flat","recent_slope_pct":0.1151,"volatility":"high"},"price":9.5501,"volume":{"bars":82,"last_bar_volume":168168.0,"baseline_avg":69041.85,"bar_rvol":2.43574,"raw_accel":-0.009885,"smooth_accel":2.133032,"accel_momentum":0.518045,"rvol_3bar":[0.99316,1.827513,2.43574],"trend_3bar":"ACCELERATING","projected_rvol":1.281638},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":19020.0,"sell_vol":42850.0,"unclassified_vol":0.0,"imbalance":-0.385162,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":0.787666},"context":{"vwap":9.557281,"price_vs_vwap_pct":-0.075135,"ema9":9.544954,"ema20":9.5334,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.946138,"dist_to_hod_atr":5.02312,"atr":0.057713,"spread_atr":0.173271,"own_change_pct":0.369166,"rel_strength_pct":{"SPY":0.304511,"IWM":0.342338}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.938156},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"48dab7b66607","ts":"2026-08-28T14:52:50+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4869,"target":6.0,"target_label":"range_20d_high","reward_risk":5.8,"pos_in_5d_range_pct":49.7,"room_to_5d_high_atr":1.45},"price":5.5623,"vwap":5.5045,"ext_from_open_pct":3.97,"max_ext_allowed_pct":4.0,"volume_pace":0.964,"trend":"flat","recent_slope_pct":0.1074,"volatility":"medium"},"price":5.5623,"volume":{"bars":82,"last_bar_volume":27271.0,"baseline_avg":53737.9,"bar_rvol":0.507482,"raw_accel":-0.422114,"smooth_accel":1.302429,"accel_momentum":0.065309,"rvol_3bar":[1.38203,0.846251,0.507482],"trend_3bar":"DECELERATING","projected_rvol":1.276328},"flow":{"window_s":30,"trades":91,"trade_rate":3.033333,"buy_vol":34507.0,"sell_vol":4745.0,"unclassified_vol":0.0,"imbalance":0.758229,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":4.877708},"context":{"vwap":5.504002,"price_vs_vwap_pct":1.059197,"ema9":5.539662,"ema20":5.52964,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.317204,"dist_to_hod_atr":0.775312,"atr":0.02283,"spread_atr":0.438029,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.387425,"IWM":0.425251}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.384787},"shadow":{"decision":"FAIL","failed":["bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"76eec2317a1f","ts":"2026-08-28T14:52:50+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.982,"target":5.14,"target_label":"ceiling","reward_risk":0.47,"pos_in_5d_range_pct":29.5,"room_to_5d_high_atr":1.44},"price":5.0896,"vwap":5.0652,"ext_from_open_pct":0.58,"max_ext_allowed_pct":3.0,"volume_pace":0.373,"trend":"flat","recent_slope_pct":0.2046,"volatility":"high"},"price":5.0896,"volume":{"bars":82,"last_bar_volume":94297.0,"baseline_avg":21004.5,"bar_rvol":4.489371,"raw_accel":0.524066,"smooth_accel":0.315576,"accel_momentum":-0.172589,"rvol_3bar":[2.141327,3.310602,4.489371],"trend_3bar":"ACCELERATING","projected_rvol":0.810798},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":1905.0,"sell_vol":7177.0,"unclassified_vol":0.0,"imbalance":-0.580489,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":0.81172},"context":{"vwap":5.065008,"price_vs_vwap_pct":0.485524,"ema9":5.090877,"ema20":5.088087,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.980545,"dist_to_hod_atr":1.848036,"atr":0.027272,"spread_atr":0.366674,"own_change_pct":0.885827,"rel_strength_pct":{"SPY":0.821172,"IWM":0.858998}},"vas":{"raw":2,"score":5.6,"components":{"rvol":3,"accel":2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-2.60603},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3a78dd58496b","ts":"2026-08-28T14:52:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4946,"target":6.0,"target_label":"range_20d_high","reward_risk":5.7,"pos_in_5d_range_pct":50.6,"room_to_5d_high_atr":1.43},"price":5.57,"vwap":5.5045,"ext_from_open_pct":4.11,"max_ext_allowed_pct":3.0,"volume_pace":0.963,"trend":"flat","recent_slope_pct":0.1351,"volatility":"medium"},"price":5.57,"volume":{"bars":82,"last_bar_volume":27271.0,"baseline_avg":53737.9,"bar_rvol":0.507482,"raw_accel":-0.422114,"smooth_accel":1.302429,"accel_momentum":0.065309,"rvol_3bar":[1.38203,0.846251,0.507482],"trend_3bar":"DECELERATING","projected_rvol":1.172398},"flow":{"window_s":30,"trades":91,"trade_rate":3.033333,"buy_vol":33930.0,"sell_vol":4604.0,"unclassified_vol":0.0,"imbalance":0.761042,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":1.515535},"context":{"vwap":5.504002,"price_vs_vwap_pct":1.199095,"ema9":5.539662,"ema20":5.52964,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.179211,"dist_to_hod_atr":0.438029,"atr":0.02283,"spread_atr":0.438029,"own_change_pct":0.45208,"rel_strength_pct":{"SPY":0.387425,"IWM":0.425251}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.386215},"shadow":{"decision":"FAIL","failed":["bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"9c8cfce7ebb0","ts":"2026-08-28T14:52:55+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":5.0024,"target":5.18,"target_label":"premarket_high","reward_risk":0.65,"pos_in_5d_range_pct":31.9,"room_to_5d_high_atr":1.39},"price":5.11,"vwap":5.0653,"ext_from_open_pct":0.99,"max_ext_allowed_pct":3.0,"volume_pace":0.373,"trend":"flat","recent_slope_pct":0.2845,"volatility":"high"},"price":5.11,"volume":{"bars":82,"last_bar_volume":94297.0,"baseline_avg":21004.5,"bar_rvol":4.489371,"raw_accel":0.524066,"smooth_accel":0.315576,"accel_momentum":-0.172589,"rvol_3bar":[2.141327,3.310602,4.489371],"trend_3bar":"ACCELERATING","projected_rvol":0.756981},"flow":{"window_s":30,"trades":25,"trade_rate":0.833333,"buy_vol":1739.0,"sell_vol":7253.0,"unclassified_vol":0.0,"imbalance":-0.613212,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":1.841307},"context":{"vwap":5.065008,"price_vs_vwap_pct":0.888287,"ema9":5.090877,"ema20":5.088087,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.583658,"dist_to_hod_atr":1.100022,"atr":0.027272,"spread_atr":0.366674,"own_change_pct":0.885827,"rel_strength_pct":{"SPY":0.821172,"IWM":0.858998}},"vas":{"raw":2,"score":5.6,"components":{"rvol":3,"accel":2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-2.752935},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e1b1bd44624b","ts":"2026-08-28T14:53:00+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 260.0s, plan says PASS; stop 5.05, target 5.18 (ceiling), R:R 0.60; target 0.05 away > ~0.05 reachable in 302 min","plan":{"state":"PASS","setup":"","stop":5.0476,"target":5.1793,"target_label":"ceiling","reward_risk":0.6,"pos_in_5d_range_pct":49.3,"room_to_5d_high_atr":1.03},"price":5.13,"vwap":5.1175,"ext_from_open_pct":1.99,"max_ext_allowed_pct":3.0,"volume_pace":1.022,"trend":"flat","recent_slope_pct":0.0236,"volatility":"high"},"price":5.13,"volume":{"bars":82,"last_bar_volume":372.0,"baseline_avg":876.3,"bar_rvol":0.424512,"raw_accel":-0.602988,"smooth_accel":24.303922,"accel_momentum":24.566201,"rvol_3bar":[1.50186,1.057383,0.424512],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":0.0,"sell_vol":2.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":5.13,"ask":5.14,"spread_pct":0.194742,"quote_size_imbalance":null,"quote_age_s":22.249778},"context":{"vwap":5.117505,"price_vs_vwap_pct":0.244156,"ema9":5.120057,"ema20":5.112535,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-0.951866,"dist_to_hod_atr":4.924031,"atr":0.010012,"spread_atr":0.998789,"own_change_pct":0.138672,"rel_strength_pct":{"SPY":0.045588,"IWM":0.10849}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.424512},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"35db8724e52d","ts":"2026-08-28T14:53:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":5.4743,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.2,"room_to_5d_high_atr":1.49},"price":5.5497,"vwap":5.5045,"ext_from_open_pct":3.73,"max_ext_allowed_pct":4.0,"volume_pace":0.962,"trend":"flat","recent_slope_pct":0.0258,"volatility":"medium"},"price":5.5497,"volume":{"bars":83,"last_bar_volume":66594.0,"baseline_avg":51194.75,"bar_rvol":1.300797,"raw_accel":1.441935,"smooth_accel":0.197724,"accel_momentum":-1.104704,"rvol_3bar":[0.846251,0.507482,1.300797],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":12160.0,"sell_vol":6157.0,"unclassified_vol":0.0,"imbalance":0.327728,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":1.106643},"context":{"vwap":5.504532,"price_vs_vwap_pct":0.820564,"ema9":5.543709,"ema20":5.532522,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.543011,"dist_to_hod_atr":1.273554,"atr":0.023792,"spread_atr":0.420315,"own_change_pct":0.540687,"rel_strength_pct":{"SPY":0.447604,"IWM":0.510505}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.426308},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"37db02af4812","ts":"2026-08-28T14:53:05+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9849,"target":5.14,"target_label":"ceiling","reward_risk":0.44,"pos_in_5d_range_pct":29.9,"room_to_5d_high_atr":1.43},"price":5.0925,"vwap":5.0653,"ext_from_open_pct":0.64,"max_ext_allowed_pct":3.0,"volume_pace":0.372,"trend":"flat","recent_slope_pct":0.0492,"volatility":"high"},"price":5.0925,"volume":{"bars":83,"last_bar_volume":14575.0,"baseline_avg":25399.2,"bar_rvol":0.573837,"raw_accel":-0.845435,"smooth_accel":0.121906,"accel_momentum":-0.19367,"rvol_3bar":[3.310602,4.489371,0.573837],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":1560.0,"sell_vol":7230.0,"unclassified_vol":0.0,"imbalance":-0.645051,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":1.684347},"context":{"vwap":5.065275,"price_vs_vwap_pct":0.537483,"ema9":5.094702,"ema20":5.090174,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.924125,"dist_to_hod_atr":1.671953,"atr":0.02841,"spread_atr":0.35199,"own_change_pct":1.186115,"rel_strength_pct":{"SPY":1.093032,"IWM":1.155933}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.370154},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4f95e8e60ae0","ts":"2026-08-28T14:53:05+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3847,"target":9.73,"target_label":"premarket_high","reward_risk":0.97,"pos_in_5d_range_pct":52.2,"room_to_5d_high_atr":0.99},"price":9.56,"vwap":9.5573,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":3.0,"volume_pace":1.032,"trend":"flat","recent_slope_pct":0.037,"volatility":"high"},"price":9.56,"volume":{"bars":83,"last_bar_volume":77707.0,"baseline_avg":74954.6,"bar_rvol":1.036721,"raw_accel":-0.53792,"smooth_accel":1.085743,"accel_momentum":-1.047289,"rvol_3bar":[1.827513,2.43574,1.036721],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":76,"trade_rate":2.533333,"buy_vol":19339.0,"sell_vol":23188.0,"unclassified_vol":0.0,"imbalance":-0.090507,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":0.222947},"context":{"vwap":9.557302,"price_vs_vwap_pct":0.028234,"ema9":9.546963,"ema20":9.535457,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.845528,"dist_to_hod_atr":5.046534,"atr":0.055484,"spread_atr":0.180233,"own_change_pct":0.366593,"rel_strength_pct":{"SPY":0.273509,"IWM":0.336411}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.093831},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b481ed982e3a","ts":"2026-08-28T14:53:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 10.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4834,"target":6.0,"target_label":"range_20d_high","reward_risk":5.85,"pos_in_5d_range_pct":49.3,"room_to_5d_high_atr":1.46},"price":5.5588,"vwap":5.5046,"ext_from_open_pct":3.9,"max_ext_allowed_pct":4.0,"volume_pace":0.961,"trend":"flat","recent_slope_pct":0.0585,"volatility":"medium"},"price":5.5588,"volume":{"bars":83,"last_bar_volume":66594.0,"baseline_avg":51194.75,"bar_rvol":1.300797,"raw_accel":1.441935,"smooth_accel":0.197724,"accel_momentum":-1.104704,"rvol_3bar":[0.846251,0.507482,1.300797],"trend_3bar":"MIXED","projected_rvol":0.29464},"flow":{"window_s":30,"trades":73,"trade_rate":2.433333,"buy_vol":11338.0,"sell_vol":2329.0,"unclassified_vol":0.0,"imbalance":0.659179,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.115156},"context":{"vwap":5.504532,"price_vs_vwap_pct":0.985882,"ema9":5.543709,"ema20":5.532522,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.379928,"dist_to_hod_atr":0.891067,"atr":0.023792,"spread_atr":0.420315,"own_change_pct":0.540687,"rel_strength_pct":{"SPY":0.447604,"IWM":0.510505}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.857458},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8075ddf0ce1a","ts":"2026-08-28T14:53:15+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":5.0047,"target":5.18,"target_label":"premarket_high","reward_risk":0.63,"pos_in_5d_range_pct":32.1,"room_to_5d_high_atr":1.39},"price":5.1123,"vwap":5.0653,"ext_from_open_pct":1.03,"max_ext_allowed_pct":3.0,"volume_pace":0.372,"trend":"flat","recent_slope_pct":0.1267,"volatility":"high"},"price":5.1123,"volume":{"bars":83,"last_bar_volume":14575.0,"baseline_avg":25399.2,"bar_rvol":0.573837,"raw_accel":-0.845435,"smooth_accel":0.121906,"accel_momentum":-0.19367,"rvol_3bar":[3.310602,4.489371,0.573837],"trend_3bar":"MIXED","projected_rvol":0.211188},"flow":{"window_s":30,"trades":25,"trade_rate":0.833333,"buy_vol":1308.0,"sell_vol":1384.0,"unclassified_vol":0.0,"imbalance":-0.028232,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":2.419889},"context":{"vwap":5.065275,"price_vs_vwap_pct":0.928379,"ema9":5.094702,"ema20":5.090174,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.538911,"dist_to_hod_atr":0.975013,"atr":0.02841,"spread_atr":0.35199,"own_change_pct":1.186115,"rel_strength_pct":{"SPY":1.093032,"IWM":1.155933}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.0162},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"55f0c8f5192c","ts":"2026-08-28T14:53:15+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.55 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3797,"target":9.73,"target_label":"premarket_high","reward_risk":1.0,"pos_in_5d_range_pct":51.9,"room_to_5d_high_atr":1.0},"price":9.555,"vwap":9.5573,"ext_from_open_pct":-0.68,"max_ext_allowed_pct":4.0,"volume_pace":1.031,"trend":"flat","recent_slope_pct":0.0266,"volatility":"high"},"price":9.555,"volume":{"bars":83,"last_bar_volume":77707.0,"baseline_avg":74954.6,"bar_rvol":1.036721,"raw_accel":-0.53792,"smooth_accel":1.085743,"accel_momentum":-1.047289,"rvol_3bar":[1.827513,2.43574,1.036721],"trend_3bar":"MIXED","projected_rvol":0.71606},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":5554.0,"sell_vol":19206.0,"unclassified_vol":0.0,"imbalance":-0.551373,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":0.141513},"context":{"vwap":9.557302,"price_vs_vwap_pct":-0.024082,"ema9":9.546963,"ema20":9.535457,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.896341,"dist_to_hod_atr":5.13665,"atr":0.055484,"spread_atr":0.180233,"own_change_pct":0.366593,"rel_strength_pct":{"SPY":0.273509,"IWM":0.336411}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.57162},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0b745614076f","ts":"2026-08-28T14:53:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5046,"ext_from_open_pct":3.93,"max_ext_allowed_pct":3.0,"volume_pace":0.96,"trend":"flat","recent_slope_pct":0.0628,"volatility":"medium"},"price":5.56,"volume":{"bars":83,"last_bar_volume":66594.0,"baseline_avg":51194.75,"bar_rvol":1.300797,"raw_accel":1.441935,"smooth_accel":0.197724,"accel_momentum":-1.104704,"rvol_3bar":[0.846251,0.507482,1.300797],"trend_3bar":"MIXED","projected_rvol":0.239556},"flow":{"window_s":30,"trades":73,"trade_rate":2.433333,"buy_vol":11036.0,"sell_vol":2490.0,"unclassified_vol":0.0,"imbalance":0.63182,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.108923},"context":{"vwap":5.504532,"price_vs_vwap_pct":1.007683,"ema9":5.543709,"ema20":5.532522,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.358423,"dist_to_hod_atr":0.840629,"atr":0.023792,"spread_atr":0.420315,"own_change_pct":0.540687,"rel_strength_pct":{"SPY":0.447604,"IWM":0.510505}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.82187},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"890ad353af80","ts":"2026-08-28T14:53:20+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9907,"target":5.14,"target_label":"ceiling","reward_risk":0.39,"pos_in_5d_range_pct":30.5,"room_to_5d_high_atr":1.42},"price":5.0983,"vwap":5.0653,"ext_from_open_pct":0.76,"max_ext_allowed_pct":3.0,"volume_pace":0.371,"trend":"flat","recent_slope_pct":0.0719,"volatility":"high"},"price":5.0983,"volume":{"bars":83,"last_bar_volume":14575.0,"baseline_avg":25399.2,"bar_rvol":0.573837,"raw_accel":-0.845435,"smooth_accel":0.121906,"accel_momentum":-0.19367,"rvol_3bar":[3.310602,4.489371,0.573837],"trend_3bar":"MIXED","projected_rvol":0.17032},"flow":{"window_s":30,"trades":16,"trade_rate":0.533333,"buy_vol":928.0,"sell_vol":897.0,"unclassified_vol":0.0,"imbalance":0.016986,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":0.164364},"context":{"vwap":5.065275,"price_vs_vwap_pct":0.651988,"ema9":5.094702,"ema20":5.090174,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.811284,"dist_to_hod_atr":1.467799,"atr":0.02841,"spread_atr":0.35199,"own_change_pct":1.186115,"rel_strength_pct":{"SPY":1.093032,"IWM":1.155933}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.009747},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"fc20d395effa","ts":"2026-08-28T14:53:25+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":5.0124,"target":5.18,"target_label":"premarket_high","reward_risk":0.56,"pos_in_5d_range_pct":33.0,"room_to_5d_high_atr":1.37},"price":5.12,"vwap":5.0653,"ext_from_open_pct":1.19,"max_ext_allowed_pct":4.0,"volume_pace":0.371,"trend":"flat","recent_slope_pct":0.1568,"volatility":"high"},"price":5.12,"volume":{"bars":83,"last_bar_volume":14575.0,"baseline_avg":25399.2,"bar_rvol":0.573837,"raw_accel":-0.845435,"smooth_accel":0.121906,"accel_momentum":-0.19367,"rvol_3bar":[3.310602,4.489371,0.573837],"trend_3bar":"MIXED","projected_rvol":0.346405},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":3152.0,"sell_vol":514.0,"unclassified_vol":0.0,"imbalance":0.719585,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":1.714947},"context":{"vwap":5.065275,"price_vs_vwap_pct":1.080395,"ema9":5.094702,"ema20":5.090174,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.389105,"dist_to_hod_atr":0.70398,"atr":0.02841,"spread_atr":0.35199,"own_change_pct":1.186115,"rel_strength_pct":{"SPY":1.093032,"IWM":1.155933}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.412925},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"dbf73a6d551b","ts":"2026-08-28T14:53:25+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3833,"target":9.73,"target_label":"premarket_high","reward_risk":0.98,"pos_in_5d_range_pct":52.1,"room_to_5d_high_atr":0.99},"price":9.5586,"vwap":9.5573,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":4.0,"volume_pace":1.029,"trend":"flat","recent_slope_pct":0.0341,"volatility":"high"},"price":9.5586,"volume":{"bars":83,"last_bar_volume":77707.0,"baseline_avg":74954.6,"bar_rvol":1.036721,"raw_accel":-0.53792,"smooth_accel":1.085743,"accel_momentum":-1.047289,"rvol_3bar":[1.827513,2.43574,1.036721],"trend_3bar":"MIXED","projected_rvol":0.481347},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":5493.0,"sell_vol":10427.0,"unclassified_vol":0.0,"imbalance":-0.309925,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":1.197823},"context":{"vwap":9.557302,"price_vs_vwap_pct":0.013586,"ema9":9.546963,"ema20":9.535457,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.859756,"dist_to_hod_atr":5.071766,"atr":0.055484,"spread_atr":0.180233,"own_change_pct":0.366593,"rel_strength_pct":{"SPY":0.273509,"IWM":0.336411}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.321305},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"44d0c38c3381","ts":"2026-08-28T14:53:35+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.55 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3797,"target":9.73,"target_label":"premarket_high","reward_risk":1.0,"pos_in_5d_range_pct":51.9,"room_to_5d_high_atr":1.0},"price":9.555,"vwap":9.5573,"ext_from_open_pct":-0.68,"max_ext_allowed_pct":3.0,"volume_pace":1.032,"trend":"flat","recent_slope_pct":0.0266,"volatility":"high"},"price":9.555,"volume":{"bars":83,"last_bar_volume":77707.0,"baseline_avg":74954.6,"bar_rvol":1.036721,"raw_accel":-0.53792,"smooth_accel":1.085743,"accel_momentum":-1.047289,"rvol_3bar":[1.827513,2.43574,1.036721],"trend_3bar":"MIXED","projected_rvol":1.208068},"flow":{"window_s":30,"trades":98,"trade_rate":3.266667,"buy_vol":13360.0,"sell_vol":36500.0,"unclassified_vol":0.0,"imbalance":-0.464099,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":0.039966},"context":{"vwap":9.557302,"price_vs_vwap_pct":-0.024082,"ema9":9.546963,"ema20":9.535457,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.896341,"dist_to_hod_atr":5.13665,"atr":0.055484,"spread_atr":0.180233,"own_change_pct":0.366593,"rel_strength_pct":{"SPY":0.273509,"IWM":0.336411}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.481142},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8b4f33f4e662","ts":"2026-08-28T14:53:40+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3897,"target":9.73,"target_label":"premarket_high","reward_risk":0.94,"pos_in_5d_range_pct":52.6,"room_to_5d_high_atr":0.98},"price":9.565,"vwap":9.5573,"ext_from_open_pct":-0.57,"max_ext_allowed_pct":3.0,"volume_pace":1.033,"trend":"flat","recent_slope_pct":0.0475,"volatility":"high"},"price":9.565,"volume":{"bars":83,"last_bar_volume":77707.0,"baseline_avg":74954.6,"bar_rvol":1.036721,"raw_accel":-0.53792,"smooth_accel":1.085743,"accel_momentum":-1.047289,"rvol_3bar":[1.827513,2.43574,1.036721],"trend_3bar":"MIXED","projected_rvol":1.313335},"flow":{"window_s":30,"trades":119,"trade_rate":3.966667,"buy_vol":11947.0,"sell_vol":40416.0,"unclassified_vol":0.0,"imbalance":-0.543685,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":1.484862},"context":{"vwap":9.557302,"price_vs_vwap_pct":0.08055,"ema9":9.546963,"ema20":9.535457,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.794715,"dist_to_hod_atr":4.956417,"atr":0.055484,"spread_atr":0.180233,"own_change_pct":0.366593,"rel_strength_pct":{"SPY":0.273509,"IWM":0.336411}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.56365},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5b95f0335ead","ts":"2026-08-28T14:54:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.108,"target":7.25,"target_label":"premarket_high","reward_risk":0.63,"pos_in_5d_range_pct":62.4,"room_to_5d_high_atr":0.59},"price":7.195,"vwap":7.1887,"ext_from_open_pct":0.21,"max_ext_allowed_pct":3.0,"volume_pace":0.677,"trend":"flat","recent_slope_pct":0.0634,"volatility":"medium"},"price":7.195,"volume":{"bars":84,"last_bar_volume":93924.0,"baseline_avg":46119.15,"bar_rvol":2.036551,"raw_accel":0.062549,"smooth_accel":0.993214,"accel_momentum":0.398267,"rvol_3bar":[3.73507,1.973693,2.036551],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":1279.0,"sell_vol":8286.0,"unclassified_vol":0.0,"imbalance":-0.732567,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":1.927989},"context":{"vwap":7.188674,"price_vs_vwap_pct":0.088,"ema9":7.180273,"ema20":7.173366,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.167582,"dist_to_hod_atr":2.870104,"atr":0.029616,"spread_atr":0.337659,"own_change_pct":0.312666,"rel_strength_pct":{"SPY":0.200212,"IWM":0.255649}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.491909},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"42fdfaffe020","ts":"2026-08-28T14:54:15+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.3463,"target":10.567,"target_label":"ceiling","reward_risk":0.86,"pos_in_5d_range_pct":78.2,"room_to_5d_high_atr":0.41},"price":10.465,"vwap":10.4579,"ext_from_open_pct":-0.61,"max_ext_allowed_pct":3.0,"volume_pace":0.905,"trend":"flat","recent_slope_pct":0.0014,"volatility":"medium"},"price":10.465,"volume":{"bars":84,"last_bar_volume":62965.0,"baseline_avg":182465.0,"bar_rvol":0.34508,"raw_accel":0.38032,"smooth_accel":-0.864124,"accel_momentum":0.02361,"rvol_3bar":[0.249097,0.162211,0.34508],"trend_3bar":"MIXED","projected_rvol":1.572751},"flow":{"window_s":30,"trades":125,"trade_rate":4.166667,"buy_vol":47621.0,"sell_vol":42126.0,"unclassified_vol":0.0,"imbalance":0.061228,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.012243},"context":{"vwap":10.457897,"price_vs_vwap_pct":0.067922,"ema9":10.455957,"ema20":10.453753,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.965269,"dist_to_hod_atr":4.536628,"atr":0.022484,"spread_atr":0.444767,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.112454,"IWM":-0.057016}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.021128},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f9040b350da0","ts":"2026-08-28T14:54:30+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":10.3413,"target":10.567,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":77.7,"room_to_5d_high_atr":0.42},"price":10.46,"vwap":10.4579,"ext_from_open_pct":-0.66,"max_ext_allowed_pct":3.0,"volume_pace":0.904,"trend":"flat","recent_slope_pct":-0.0081,"volatility":"medium"},"price":10.46,"volume":{"bars":84,"last_bar_volume":62965.0,"baseline_avg":182465.0,"bar_rvol":0.34508,"raw_accel":0.38032,"smooth_accel":-0.864124,"accel_momentum":0.02361,"rvol_3bar":[0.249097,0.162211,0.34508],"trend_3bar":"MIXED","projected_rvol":1.074825},"flow":{"window_s":30,"trades":138,"trade_rate":4.6,"buy_vol":44557.0,"sell_vol":53502.0,"unclassified_vol":0.0,"imbalance":-0.091221,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.003355},"context":{"vwap":10.457897,"price_vs_vwap_pct":0.020111,"ema9":10.455957,"ema20":10.453753,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.012586,"dist_to_hod_atr":4.759012,"atr":0.022484,"spread_atr":0.444767,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.112454,"IWM":-0.057016}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.031478},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6d5ab66d12cb","ts":"2026-08-28T14:54:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5061,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.971,"trend":"flat","recent_slope_pct":0.0539,"volatility":"medium"},"price":5.56,"volume":{"bars":84,"last_bar_volume":106685.0,"baseline_avg":49351.7,"bar_rvol":2.161729,"raw_accel":0.602021,"smooth_accel":0.358445,"accel_momentum":0.160721,"rvol_3bar":[0.507482,1.300797,2.161729],"trend_3bar":"ACCELERATING","projected_rvol":2.259271},"flow":{"window_s":30,"trades":106,"trade_rate":3.533333,"buy_vol":55511.0,"sell_vol":6262.0,"unclassified_vol":0.0,"imbalance":0.797258,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.106735},"context":{"vwap":5.505525,"price_vs_vwap_pct":0.989461,"ema9":5.549968,"ema20":5.536567,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.358423,"dist_to_hod_atr":0.799105,"atr":0.025028,"spread_atr":0.399552,"own_change_pct":0.677201,"rel_strength_pct":{"SPY":0.564747,"IWM":0.620185}},"vas":{"raw":7,"score":8.8,"components":{"rvol":2,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.723455},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"92e6cb9b4d59","ts":"2026-08-28T14:54:35+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.3463,"target":10.567,"target_label":"ceiling","reward_risk":0.86,"pos_in_5d_range_pct":78.2,"room_to_5d_high_atr":0.41},"price":10.465,"vwap":10.4579,"ext_from_open_pct":-0.61,"max_ext_allowed_pct":3.0,"volume_pace":0.904,"trend":"flat","recent_slope_pct":0.0014,"volatility":"medium"},"price":10.465,"volume":{"bars":84,"last_bar_volume":62965.0,"baseline_avg":182465.0,"bar_rvol":0.34508,"raw_accel":0.38032,"smooth_accel":-0.864124,"accel_momentum":0.02361,"rvol_3bar":[0.249097,0.162211,0.34508],"trend_3bar":"MIXED","projected_rvol":0.922707},"flow":{"window_s":30,"trades":97,"trade_rate":3.233333,"buy_vol":34997.0,"sell_vol":42050.0,"unclassified_vol":0.0,"imbalance":-0.091542,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.137908},"context":{"vwap":10.457897,"price_vs_vwap_pct":0.067922,"ema9":10.455957,"ema20":10.453753,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.965269,"dist_to_hod_atr":4.536628,"atr":0.022484,"spread_atr":0.444767,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.112454,"IWM":-0.057016}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.031589},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3f2116dec8e3","ts":"2026-08-28T14:54:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.1% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.493,"target":6.0,"target_label":"range_20d_high","reward_risk":5.72,"pos_in_5d_range_pct":50.4,"room_to_5d_high_atr":1.43},"price":5.5684,"vwap":5.5063,"ext_from_open_pct":4.08,"max_ext_allowed_pct":4.0,"volume_pace":0.972,"trend":"flat","recent_slope_pct":0.0841,"volatility":"medium"},"price":5.5684,"volume":{"bars":84,"last_bar_volume":106685.0,"baseline_avg":49351.7,"bar_rvol":2.161729,"raw_accel":0.602021,"smooth_accel":0.358445,"accel_momentum":0.160721,"rvol_3bar":[0.507482,1.300797,2.161729],"trend_3bar":"ACCELERATING","projected_rvol":2.441679},"flow":{"window_s":30,"trades":127,"trade_rate":4.233333,"buy_vol":70241.0,"sell_vol":6430.0,"unclassified_vol":0.0,"imbalance":0.83227,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.04469},"context":{"vwap":5.505525,"price_vs_vwap_pct":1.142035,"ema9":5.549968,"ema20":5.536567,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.207885,"dist_to_hod_atr":0.463481,"atr":0.025028,"spread_atr":0.399552,"own_change_pct":0.677201,"rel_strength_pct":{"SPY":0.564747,"IWM":0.620185}},"vas":{"raw":7,"score":8.8,"components":{"rvol":2,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.799143},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8a2268715e57","ts":"2026-08-28T14:54:45+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.1015,"target":7.25,"target_label":"premarket_high","reward_risk":0.71,"pos_in_5d_range_pct":61.2,"room_to_5d_high_atr":0.61},"price":7.1885,"vwap":7.1887,"ext_from_open_pct":0.12,"max_ext_allowed_pct":4.0,"volume_pace":0.678,"trend":"flat","recent_slope_pct":0.0454,"volatility":"medium"},"price":7.1885,"volume":{"bars":84,"last_bar_volume":93924.0,"baseline_avg":46119.15,"bar_rvol":2.036551,"raw_accel":0.062549,"smooth_accel":0.993214,"accel_momentum":0.398267,"rvol_3bar":[3.73507,1.973693,2.036551],"trend_3bar":"MIXED","projected_rvol":1.234021},"flow":{"window_s":30,"trades":72,"trade_rate":2.4,"buy_vol":21981.0,"sell_vol":2319.0,"unclassified_vol":0.0,"imbalance":0.809136,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.005242},"context":{"vwap":7.188674,"price_vs_vwap_pct":-0.00242,"ema9":7.180273,"ema20":7.173366,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.256868,"dist_to_hod_atr":3.089583,"atr":0.029616,"spread_atr":0.337659,"own_change_pct":0.312666,"rel_strength_pct":{"SPY":0.200212,"IWM":0.255649}},"vas":{"raw":8,"score":9.4,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.647846},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"658971eb7238","ts":"2026-08-28T14:54:50+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.113,"target":7.25,"target_label":"premarket_high","reward_risk":0.57,"pos_in_5d_range_pct":63.3,"room_to_5d_high_atr":0.57},"price":7.2,"vwap":7.1887,"ext_from_open_pct":0.28,"max_ext_allowed_pct":4.0,"volume_pace":0.677,"trend":"flat","recent_slope_pct":0.0773,"volatility":"medium"},"price":7.2,"volume":{"bars":84,"last_bar_volume":93924.0,"baseline_avg":46119.15,"bar_rvol":2.036551,"raw_accel":0.062549,"smooth_accel":0.993214,"accel_momentum":0.398267,"rvol_3bar":[3.73507,1.973693,2.036551],"trend_3bar":"MIXED","projected_rvol":1.126309},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":21384.0,"sell_vol":2505.0,"unclassified_vol":0.0,"imbalance":0.79028,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.039049},"context":{"vwap":7.188674,"price_vs_vwap_pct":0.157553,"ema9":7.180273,"ema20":7.173366,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.098901,"dist_to_hod_atr":2.701275,"atr":0.029616,"spread_atr":0.337659,"own_change_pct":0.312666,"rel_strength_pct":{"SPY":0.200212,"IWM":0.255649}},"vas":{"raw":8,"score":9.4,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.609446},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"adce6e71b7f7","ts":"2026-08-28T14:54:55+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 375.0s, plan says WATCH; stop 5.05, target 5.18 (ceiling), R:R 0.54; no pullback yet (still at the swing high); R:R 0.54 < 2.0 at 5.13; pullback: buy 5.12-5.14 holding + reclaim/fading selling/su","plan":{"state":"WATCH","setup":"","stop":5.0526,"target":5.1793,"target_label":"ceiling","reward_risk":0.54,"pos_in_5d_range_pct":50.0,"room_to_5d_high_atr":1.02},"price":5.135,"vwap":5.1177,"ext_from_open_pct":2.09,"max_ext_allowed_pct":4.0,"volume_pace":1.015,"trend":"flat","recent_slope_pct":0.0349,"volatility":"high"},"price":5.135,"volume":{"bars":84,"last_bar_volume":1496.0,"baseline_avg":769.55,"bar_rvol":1.943993,"raw_accel":6.775973,"smooth_accel":-0.169552,"accel_momentum":-0.139966,"rvol_3bar":[0.424512,0.003375,1.943993],"trend_3bar":"MIXED","projected_rvol":2.588526},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":620.0,"sell_vol":1167.0,"unclassified_vol":0.0,"imbalance":-0.3061,"bid":5.13,"ask":5.14,"spread_pct":0.194742,"quote_size_imbalance":null,"quote_age_s":0.859312},"context":{"vwap":5.117572,"price_vs_vwap_pct":0.340553,"ema9":5.122637,"ema20":5.115227,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-0.855328,"dist_to_hod_atr":4.560177,"atr":0.009715,"spread_atr":1.029385,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.112454,"IWM":-0.057016}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":1,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.595056},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"307028368e9a","ts":"2026-08-28T14:55:00+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":10.3419,"target":10.567,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":77.7,"room_to_5d_high_atr":0.42},"price":10.4606,"vwap":10.4579,"ext_from_open_pct":-0.65,"max_ext_allowed_pct":3.0,"volume_pace":0.899,"trend":"flat","recent_slope_pct":-0.007,"volatility":"medium"},"price":10.4606,"volume":{"bars":84,"last_bar_volume":62965.0,"baseline_avg":182465.0,"bar_rvol":0.34508,"raw_accel":0.38032,"smooth_accel":-0.864124,"accel_momentum":0.02361,"rvol_3bar":[0.249097,0.162211,0.34508],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":164.0,"sell_vol":975.0,"unclassified_vol":0.0,"imbalance":-0.712028,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.003337},"context":{"vwap":10.457897,"price_vs_vwap_pct":0.025848,"ema9":10.455957,"ema20":10.453753,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.006908,"dist_to_hod_atr":4.732326,"atr":0.022484,"spread_atr":0.444767,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.088518,"IWM":0.010054}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.245707},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"80ebd2edf030","ts":"2026-08-28T14:55:05+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.3414,"target":10.567,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":77.7,"room_to_5d_high_atr":0.42},"price":10.4601,"vwap":10.4579,"ext_from_open_pct":-0.65,"max_ext_allowed_pct":3.0,"volume_pace":0.898,"trend":"flat","recent_slope_pct":0.0119,"volatility":"medium"},"price":10.4601,"volume":{"bars":85,"last_bar_volume":99198.0,"baseline_avg":179024.25,"bar_rvol":0.554104,"raw_accel":0.575447,"smooth_accel":-0.34618,"accel_momentum":0.517944,"rvol_3bar":[0.162211,0.34508,0.554104],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":62.0,"sell_vol":1952.0,"unclassified_vol":0.0,"imbalance":-0.938431,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.622922},"context":{"vwap":10.457915,"price_vs_vwap_pct":0.02089,"ema9":10.456886,"ema20":10.454405,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.01164,"dist_to_hod_atr":4.804686,"atr":0.022249,"spread_atr":0.449456,"own_change_pct":0.053563,"rel_strength_pct":{"SPY":-0.034955,"IWM":0.063617}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.519988},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"692b882f3230","ts":"2026-08-28T14:55:20+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 400.0s, plan says PASS; stop 5.05, target 5.18 (ceiling), R:R 0.60; target 0.05 away > ~0.05 reachable in 300 min","plan":{"state":"PASS","setup":"","stop":5.0476,"target":5.1793,"target_label":"ceiling","reward_risk":0.6,"pos_in_5d_range_pct":49.3,"room_to_5d_high_atr":1.03},"price":5.13,"vwap":5.1178,"ext_from_open_pct":1.99,"max_ext_allowed_pct":3.0,"volume_pace":1.019,"trend":"flat","recent_slope_pct":0.0211,"volatility":"high"},"price":5.13,"volume":{"bars":85,"last_bar_volume":1826.0,"baseline_avg":832.4,"bar_rvol":2.193657,"raw_accel":0.220588,"smooth_accel":0.28826,"accel_momentum":0.457812,"rvol_3bar":[0.003375,1.943993,2.193657],"trend_3bar":"ACCELERATING","projected_rvol":7.168429},"flow":{"window_s":30,"trades":39,"trade_rate":1.3,"buy_vol":916.0,"sell_vol":2759.0,"unclassified_vol":0.0,"imbalance":-0.501497,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":0.365362},"context":{"vwap":5.11768,"price_vs_vwap_pct":0.240738,"ema9":5.125109,"ema20":5.117111,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-0.951866,"dist_to_hod_atr":4.885025,"atr":0.010092,"spread_atr":0.990877,"own_change_pct":0.195122,"rel_strength_pct":{"SPY":0.106604,"IWM":0.205176}},"vas":{"raw":2,"score":5.6,"components":{"rvol":2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.100111},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"17717cc5b4af","ts":"2026-08-28T14:55:30+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.18 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.0958,"target":7.25,"target_label":"premarket_high","reward_risk":0.77,"pos_in_5d_range_pct":60.1,"room_to_5d_high_atr":0.62},"price":7.1828,"vwap":7.1888,"ext_from_open_pct":0.04,"max_ext_allowed_pct":4.0,"volume_pace":0.681,"trend":"flat","recent_slope_pct":-0.0189,"volatility":"medium"},"price":7.1828,"volume":{"bars":85,"last_bar_volume":62925.0,"baseline_avg":48782.35,"bar_rvol":1.289913,"raw_accel":-0.330043,"smooth_accel":-0.10368,"accel_momentum":-1.096894,"rvol_3bar":[1.973693,2.036551,1.289913],"trend_3bar":"MIXED","projected_rvol":1.487013},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":30235.0,"sell_vol":6035.0,"unclassified_vol":0.0,"imbalance":0.667218,"bid":7.2,"ask":7.21,"spread_pct":0.138793,"quote_size_imbalance":null,"quote_age_s":0.031406},"context":{"vwap":7.188777,"price_vs_vwap_pct":-0.083145,"ema9":7.182178,"ema20":7.174931,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.335165,"dist_to_hod_atr":3.331999,"atr":0.029172,"spread_atr":0.342798,"own_change_pct":0.066806,"rel_strength_pct":{"SPY":-0.021712,"IWM":0.07686}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.860653},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7612087a3bd5","ts":"2026-08-28T14:55:35+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.1227,"target":7.25,"target_label":"premarket_high","reward_risk":0.46,"pos_in_5d_range_pct":65.1,"room_to_5d_high_atr":0.55},"price":7.2097,"vwap":7.1889,"ext_from_open_pct":0.41,"max_ext_allowed_pct":4.0,"volume_pace":0.681,"trend":"flat","recent_slope_pct":0.0559,"volatility":"medium"},"price":7.2097,"volume":{"bars":85,"last_bar_volume":62925.0,"baseline_avg":48782.35,"bar_rvol":1.289913,"raw_accel":-0.330043,"smooth_accel":-0.10368,"accel_momentum":-1.096894,"rvol_3bar":[1.973693,2.036551,1.289913],"trend_3bar":"MIXED","projected_rvol":1.317209},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":25154.0,"sell_vol":5275.0,"unclassified_vol":0.0,"imbalance":0.653291,"bid":7.2,"ask":7.21,"spread_pct":0.138793,"quote_size_imbalance":null,"quote_age_s":3.502668},"context":{"vwap":7.188777,"price_vs_vwap_pct":0.291049,"ema9":7.182178,"ema20":7.174931,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.965659,"dist_to_hod_atr":2.409872,"atr":0.029172,"spread_atr":0.342798,"own_change_pct":0.066806,"rel_strength_pct":{"SPY":-0.021712,"IWM":0.07686}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.842689},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"463369441833","ts":"2026-08-28T14:56:00+00:00","symbol":"TGB","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":9.4293,"target":9.72,"target_label":"prev_day_high","reward_risk":1.75,"pos_in_5d_range_pct":78.1,"room_to_5d_high_atr":0.44},"price":9.535,"vwap":9.5328,"ext_from_open_pct":-2.21,"max_ext_allowed_pct":4.0,"volume_pace":0.43,"trend":"flat","recent_slope_pct":0.1439,"volatility":"medium"},"price":9.535,"volume":{"bars":85,"last_bar_volume":10775.0,"baseline_avg":14560.9,"bar_rvol":0.739995,"raw_accel":1.959982,"smooth_accel":0.152591,"accel_momentum":-1.04128,"rvol_3bar":[2.021775,0.13868,0.739995],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":24,"trade_rate":0.8,"buy_vol":2331.0,"sell_vol":128.0,"unclassified_vol":0.0,"imbalance":0.895893,"bid":9.53,"ask":9.54,"spread_pct":0.104877,"quote_size_imbalance":null,"quote_age_s":0.002574},"context":{"vwap":9.532849,"price_vs_vwap_pct":0.022559,"ema9":9.498637,"ema20":9.488473,"ema_stack":true,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-2.90224,"dist_to_hod_atr":7.397199,"atr":0.038528,"spread_atr":0.259551,"own_change_pct":0.210637,"rel_strength_pct":{"SPY":0.126662,"IWM":0.190531}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.662956},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e1be6e2fc147","ts":"2026-08-28T14:56:05+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"held 60.0s, plan says WATCH; stop 10.37, target 10.57 (ceiling), R:R 0.65; R:R 0.65 < 2.0 at 10.49; pullback: buy 10.45-10.48 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":10.3713,"target":10.567,"target_label":"ceiling","reward_risk":0.65,"pos_in_5d_range_pct":81.0,"room_to_5d_high_atr":0.36},"price":10.49,"vwap":10.4582,"ext_from_open_pct":-0.37,"max_ext_allowed_pct":3.0,"volume_pace":0.9,"trend":"flat","recent_slope_pct":0.0955,"volatility":"medium"},"price":10.49,"volume":{"bars":86,"last_bar_volume":182581.0,"baseline_avg":178515.55,"bar_rvol":1.022774,"raw_accel":0.840571,"smooth_accel":0.692959,"accel_momentum":1.039139,"rvol_3bar":[0.34508,0.554104,1.022774],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":176,"trade_rate":5.866667,"buy_vol":60300.0,"sell_vol":32764.0,"unclassified_vol":0.0,"imbalance":0.295882,"bid":10.48,"ask":10.49,"spread_pct":0.095374,"quote_size_imbalance":null,"quote_age_s":2.610817},"context":{"vwap":10.458182,"price_vs_vwap_pct":0.304244,"ema9":10.462508,"ema20":10.457319,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.728684,"dist_to_hod_atr":3.376786,"atr":0.022803,"spread_atr":0.438544,"own_change_pct":0.206434,"rel_strength_pct":{"SPY":0.122459,"IWM":0.186328}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.302621},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"06e8e6812d15","ts":"2026-08-28T14:56:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.507,"ext_from_open_pct":3.64,"max_ext_allowed_pct":3.0,"volume_pace":0.966,"trend":"flat","recent_slope_pct":-0.0715,"volatility":"medium"},"price":5.545,"volume":{"bars":86,"last_bar_volume":22645.0,"baseline_avg":53037.35,"bar_rvol":0.426963,"raw_accel":-0.794672,"smooth_accel":0.698737,"accel_momentum":-0.220024,"rvol_3bar":[2.161729,2.164534,0.426963],"trend_3bar":"MIXED","projected_rvol":1.773844},"flow":{"window_s":30,"trades":176,"trade_rate":5.866667,"buy_vol":12139.0,"sell_vol":34901.0,"unclassified_vol":0.0,"imbalance":-0.483886,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.001645},"context":{"vwap":5.506728,"price_vs_vwap_pct":0.695007,"ema9":5.556179,"ema20":5.542156,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.62724,"dist_to_hod_atr":1.401764,"atr":0.024969,"spread_atr":0.400504,"own_change_pct":0.180018,"rel_strength_pct":{"SPY":0.096043,"IWM":0.159912}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.206602},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"dc903905b410","ts":"2026-08-28T14:56:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5075,"ext_from_open_pct":3.74,"max_ext_allowed_pct":4.0,"volume_pace":0.975,"trend":"flat","recent_slope_pct":-0.0536,"volatility":"medium"},"price":5.55,"volume":{"bars":86,"last_bar_volume":22645.0,"baseline_avg":53037.35,"bar_rvol":0.426963,"raw_accel":-0.794672,"smooth_accel":0.698737,"accel_momentum":-0.220024,"rvol_3bar":[2.161729,2.164534,0.426963],"trend_3bar":"MIXED","projected_rvol":3.776659},"flow":{"window_s":30,"trades":345,"trade_rate":11.5,"buy_vol":80362.0,"sell_vol":35367.0,"unclassified_vol":0.0,"imbalance":0.388796,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.11842},"context":{"vwap":5.506728,"price_vs_vwap_pct":0.785805,"ema9":5.556179,"ema20":5.542156,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.537634,"dist_to_hod_atr":1.201512,"atr":0.024969,"spread_atr":0.400504,"own_change_pct":0.180018,"rel_strength_pct":{"SPY":0.096043,"IWM":0.159912}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.166002},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"bbc7209c2396","ts":"2026-08-28T14:56:40+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 5.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.5076,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":0.974,"trend":"flat","recent_slope_pct":-0.0356,"volatility":"medium"},"price":5.555,"volume":{"bars":86,"last_bar_volume":22645.0,"baseline_avg":53037.35,"bar_rvol":0.426963,"raw_accel":-0.794672,"smooth_accel":0.698737,"accel_momentum":-0.220024,"rvol_3bar":[2.161729,2.164534,0.426963],"trend_3bar":"MIXED","projected_rvol":3.326552},"flow":{"window_s":30,"trades":293,"trade_rate":9.766667,"buy_vol":77702.0,"sell_vol":19101.0,"unclassified_vol":0.0,"imbalance":0.605363,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.898967},"context":{"vwap":5.506728,"price_vs_vwap_pct":0.876603,"ema9":5.556179,"ema20":5.542156,"ema_stack":false,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.448029,"dist_to_hod_atr":1.00126,"atr":0.024969,"spread_atr":0.400504,"own_change_pct":0.180018,"rel_strength_pct":{"SPY":0.096043,"IWM":0.159912}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.258468},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ec453933e303","ts":"2026-08-28T14:56:40+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.36x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9924,"target":5.14,"target_label":"ceiling","reward_risk":0.37,"pos_in_5d_range_pct":30.7,"room_to_5d_high_atr":1.41},"price":5.1,"vwap":5.0663,"ext_from_open_pct":0.79,"max_ext_allowed_pct":3.0,"volume_pace":0.364,"trend":"flat","recent_slope_pct":-0.0587,"volatility":"high"},"price":5.1,"volume":{"bars":86,"last_bar_volume":13827.0,"baseline_avg":25027.6,"bar_rvol":0.55247,"raw_accel":-0.356465,"smooth_accel":-0.745274,"accel_momentum":0.025755,"rvol_3bar":[0.32256,0.862886,0.55247],"trend_3bar":"MIXED","projected_rvol":0.38921},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":1679.0,"sell_vol":3979.0,"unclassified_vol":0.0,"imbalance":-0.406504,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.050512},"context":{"vwap":5.066205,"price_vs_vwap_pct":0.667075,"ema9":5.106751,"ema20":5.097858,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.77821,"dist_to_hod_atr":1.39853,"atr":0.028601,"spread_atr":0.349632,"own_change_pct":0.099806,"rel_strength_pct":{"SPY":0.015831,"IWM":0.0797}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.224581},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2ce6349c226a","ts":"2026-08-28T14:56:45+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.36x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":4.9925,"target":5.18,"target_label":"premarket_high","reward_risk":0.74,"pos_in_5d_range_pct":30.7,"room_to_5d_high_atr":1.41},"price":5.1001,"vwap":5.0663,"ext_from_open_pct":0.79,"max_ext_allowed_pct":3.0,"volume_pace":0.364,"trend":"flat","recent_slope_pct":-0.0583,"volatility":"high"},"price":5.1001,"volume":{"bars":86,"last_bar_volume":13827.0,"baseline_avg":25027.6,"bar_rvol":0.55247,"raw_accel":-0.356465,"smooth_accel":-0.745274,"accel_momentum":0.025755,"rvol_3bar":[0.32256,0.862886,0.55247],"trend_3bar":"MIXED","projected_rvol":0.354435},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":1492.0,"sell_vol":4129.0,"unclassified_vol":0.0,"imbalance":-0.469134,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":1.919364},"context":{"vwap":5.066205,"price_vs_vwap_pct":0.669049,"ema9":5.106751,"ema20":5.097858,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.776265,"dist_to_hod_atr":1.395033,"atr":0.028601,"spread_atr":0.349632,"own_change_pct":0.099806,"rel_strength_pct":{"SPY":0.015831,"IWM":0.0797}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.259182},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"1ebb404a3385","ts":"2026-08-28T14:56:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.2% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4996,"target":6.0,"target_label":"range_20d_high","reward_risk":5.63,"pos_in_5d_range_pct":51.1,"room_to_5d_high_atr":1.41},"price":5.575,"vwap":5.5084,"ext_from_open_pct":4.21,"max_ext_allowed_pct":4.0,"volume_pace":0.983,"trend":"flat","recent_slope_pct":0.0363,"volatility":"medium"},"price":5.575,"volume":{"bars":86,"last_bar_volume":22645.0,"baseline_avg":53037.35,"bar_rvol":0.426963,"raw_accel":-0.794672,"smooth_accel":0.698737,"accel_momentum":-0.220024,"rvol_3bar":[2.161729,2.164534,0.426963],"trend_3bar":"MIXED","projected_rvol":4.287454},"flow":{"window_s":30,"trades":381,"trade_rate":12.7,"buy_vol":124097.0,"sell_vol":40957.0,"unclassified_vol":0.0,"imbalance":0.503714,"bid":5.57,"ask":5.58,"spread_pct":0.179372,"quote_size_imbalance":null,"quote_age_s":0.777117},"context":{"vwap":5.506728,"price_vs_vwap_pct":1.239795,"ema9":5.556179,"ema20":5.542156,"ema_stack":true,"ema_warm":true,"hod":5.58,"dist_to_hod_pct":-0.089606,"dist_to_hod_atr":0.200252,"atr":0.024969,"spread_atr":0.400504,"own_change_pct":0.180018,"rel_strength_pct":{"SPY":0.096043,"IWM":0.159912}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.215067},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2789a94bf75c","ts":"2026-08-28T14:57:05+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":4.9874,"target":5.14,"target_label":"ceiling","reward_risk":0.42,"pos_in_5d_range_pct":30.2,"room_to_5d_high_atr":1.43},"price":5.095,"vwap":5.0664,"ext_from_open_pct":0.69,"max_ext_allowed_pct":4.0,"volume_pace":0.363,"trend":"flat","recent_slope_pct":-0.1379,"volatility":"high"},"price":5.095,"volume":{"bars":87,"last_bar_volume":7587.0,"baseline_avg":24753.65,"bar_rvol":0.3065,"raw_accel":-0.451291,"smooth_accel":-0.633496,"accel_momentum":0.111777,"rvol_3bar":[0.862886,0.55247,0.3065],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":2229.0,"sell_vol":2541.0,"unclassified_vol":0.0,"imbalance":-0.065409,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":1.015052},"context":{"vwap":5.066344,"price_vs_vwap_pct":0.565608,"ema9":5.107381,"ema20":5.099005,"ema_stack":false,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.875486,"dist_to_hod_atr":1.592038,"atr":0.028266,"spread_atr":0.353786,"own_change_pct":-0.294634,"rel_strength_pct":{"SPY":-0.39023,"IWM":-0.311397}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.020048},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"592a620327ab","ts":"2026-08-28T14:57:10+00:00","symbol":"TGB","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":9.4343,"target":9.72,"target_label":"prev_day_high","reward_risk":1.7,"pos_in_5d_range_pct":78.7,"room_to_5d_high_atr":0.43},"price":9.54,"vwap":9.5329,"ext_from_open_pct":-2.15,"max_ext_allowed_pct":4.0,"volume_pace":0.429,"trend":"flat","recent_slope_pct":0.0892,"volatility":"medium"},"price":9.54,"volume":{"bars":87,"last_bar_volume":3182.0,"baseline_avg":13844.3,"bar_rvol":0.229842,"raw_accel":-0.080632,"smooth_accel":-0.718946,"accel_momentum":0.035718,"rvol_3bar":[0.739995,0.184536,0.229842],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":21,"trade_rate":0.7,"buy_vol":7909.0,"sell_vol":176.0,"unclassified_vol":0.0,"imbalance":0.956463,"bid":9.53,"ask":9.54,"spread_pct":0.104877,"quote_size_imbalance":null,"quote_age_s":0.339924},"context":{"vwap":9.53284,"price_vs_vwap_pct":0.075107,"ema9":9.512728,"ema20":9.49739,"ema_stack":true,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-2.851324,"dist_to_hod_atr":7.640636,"atr":0.036646,"spread_atr":0.27288,"own_change_pct":0.696643,"rel_strength_pct":{"SPY":0.601048,"IWM":0.67988}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.219835},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"231fe289118f","ts":"2026-08-28T14:57:10+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":5.0024,"target":5.18,"target_label":"premarket_high","reward_risk":0.65,"pos_in_5d_range_pct":31.9,"room_to_5d_high_atr":1.39},"price":5.11,"vwap":5.0664,"ext_from_open_pct":0.99,"max_ext_allowed_pct":4.0,"volume_pace":0.363,"trend":"flat","recent_slope_pct":-0.0792,"volatility":"high"},"price":5.11,"volume":{"bars":87,"last_bar_volume":7587.0,"baseline_avg":24753.65,"bar_rvol":0.3065,"raw_accel":-0.451291,"smooth_accel":-0.633496,"accel_momentum":0.111777,"rvol_3bar":[0.862886,0.55247,0.3065],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":3466.0,"sell_vol":487.0,"unclassified_vol":0.0,"imbalance":0.753605,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.448296},"context":{"vwap":5.066344,"price_vs_vwap_pct":0.861679,"ema9":5.107381,"ema20":5.099005,"ema_stack":true,"ema_warm":true,"hod":5.14,"dist_to_hod_pct":-0.583658,"dist_to_hod_atr":1.061359,"atr":0.028266,"spread_atr":0.353786,"own_change_pct":-0.294634,"rel_strength_pct":{"SPY":-0.39023,"IWM":-0.311397}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.23098},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"43d1719eccc1","ts":"2026-08-28T14:57:40+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"held 475.0s, plan says WATCH; stop 13.17, target 13.64 (premarket_high), R:R 0.81; R:R 0.81 < 2.0 at 13.43; breakout: 1-min close > 13.52 on >= 78352 sh","plan":{"state":"WATCH","setup":"","stop":13.1714,"target":13.64,"target_label":"premarket_high","reward_risk":0.81,"pos_in_5d_range_pct":30.5,"room_to_5d_high_atr":1.19},"price":13.43,"vwap":13.2577,"ext_from_open_pct":-0.74,"max_ext_allowed_pct":4.0,"volume_pace":1.398,"trend":"flat","recent_slope_pct":0.2095,"volatility":"medium"},"price":13.43,"volume":{"bars":87,"last_bar_volume":69656.0,"baseline_avg":44626.65,"bar_rvol":1.560861,"raw_accel":5.092006,"smooth_accel":-0.139486,"accel_momentum":0.74151,"rvol_3bar":[0.378418,0.252459,1.560861],"trend_3bar":"MIXED","projected_rvol":0.507141},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":3346.0,"sell_vol":1544.0,"unclassified_vol":0.0,"imbalance":0.368507,"bid":13.43,"ask":13.44,"spread_pct":0.074432,"quote_size_imbalance":null,"quote_age_s":1.804922},"context":{"vwap":13.257211,"price_vs_vwap_pct":1.303357,"ema9":13.32778,"ema20":13.27543,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-0.958702,"dist_to_hod_atr":1.626057,"atr":0.079948,"spread_atr":0.125081,"own_change_pct":0.454103,"rel_strength_pct":{"SPY":0.358507,"IWM":0.437339}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.575188},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"948a80d36439","ts":"2026-08-28T14:58:00+00:00","symbol":"TGB","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.53 below VWAP $9.53","plan":{"state":"PASS","setup":"","stop":9.4243,"target":9.72,"target_label":"prev_day_high","reward_risk":1.8,"pos_in_5d_range_pct":77.5,"room_to_5d_high_atr":0.45},"price":9.53,"vwap":9.533,"ext_from_open_pct":-2.26,"max_ext_allowed_pct":3.0,"volume_pace":0.431,"trend":"flat","recent_slope_pct":0.0682,"volatility":"medium"},"price":9.53,"volume":{"bars":87,"last_bar_volume":3182.0,"baseline_avg":13844.3,"bar_rvol":0.229842,"raw_accel":-0.080632,"smooth_accel":-0.718946,"accel_momentum":0.035718,"rvol_3bar":[0.739995,0.184536,0.229842],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":5318.0,"sell_vol":5633.0,"unclassified_vol":0.0,"imbalance":-0.028764,"bid":9.53,"ask":9.54,"spread_pct":0.104877,"quote_size_imbalance":null,"quote_age_s":0.000331},"context":{"vwap":9.53284,"price_vs_vwap_pct":-0.029793,"ema9":9.512728,"ema20":9.49739,"ema_stack":true,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-2.953157,"dist_to_hod_atr":7.913516,"atr":0.036646,"spread_atr":0.27288,"own_change_pct":0.696643,"rel_strength_pct":{"SPY":0.619792,"IWM":0.659765}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.006611},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5fd85192e3b6","ts":"2026-08-28T14:58:00+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"held 495.0s, plan says PASS; stop 13.17, target 13.51 (ceiling), R:R 0.36; R:R 0.36 < 2.0 at 13.42; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":13.1714,"target":13.51,"target_label":"ceiling","reward_risk":0.36,"pos_in_5d_range_pct":29.4,"room_to_5d_high_atr":1.21},"price":13.42,"vwap":13.2608,"ext_from_open_pct":-0.81,"max_ext_allowed_pct":4.0,"volume_pace":1.425,"trend":"flat","recent_slope_pct":0.1945,"volatility":"medium"},"price":13.42,"volume":{"bars":87,"last_bar_volume":69656.0,"baseline_avg":44626.65,"bar_rvol":1.560861,"raw_accel":5.092006,"smooth_accel":-0.139486,"accel_momentum":0.74151,"rvol_3bar":[0.378418,0.252459,1.560861],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":249,"trade_rate":8.3,"buy_vol":73923.0,"sell_vol":20406.0,"unclassified_vol":0.0,"imbalance":0.567344,"bid":13.41,"ask":13.42,"spread_pct":0.074543,"quote_size_imbalance":null,"quote_age_s":0.001425},"context":{"vwap":13.257211,"price_vs_vwap_pct":1.227926,"ema9":13.32778,"ema20":13.27543,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.032448,"dist_to_hod_atr":1.751139,"atr":0.079948,"spread_atr":0.125081,"own_change_pct":0.454103,"rel_strength_pct":{"SPY":0.377251,"IWM":0.417225}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.885545},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f655d16617f9","ts":"2026-08-28T14:58:05+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3938,"target":5.49,"target_label":"ceiling","reward_risk":0.88,"pos_in_5d_range_pct":95.6,"room_to_5d_high_atr":0.07},"price":5.445,"vwap":5.4354,"ext_from_open_pct":-0.46,"max_ext_allowed_pct":3.0,"volume_pace":1.596,"trend":"flat","recent_slope_pct":0.083,"volatility":"medium"},"price":5.445,"volume":{"bars":88,"last_bar_volume":90728.0,"baseline_avg":54473.05,"bar_rvol":1.665558,"raw_accel":2.552249,"smooth_accel":1.135189,"accel_momentum":0.739303,"rvol_3bar":[6.394203,0.475981,1.665558],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":202,"trade_rate":6.733333,"buy_vol":80453.0,"sell_vol":8115.0,"unclassified_vol":0.0,"imbalance":0.816751,"bid":5.44,"ask":5.45,"spread_pct":0.183655,"quote_size_imbalance":null,"quote_age_s":2.867608},"context":{"vwap":5.435426,"price_vs_vwap_pct":0.176134,"ema9":5.430244,"ema20":5.427495,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.819672,"dist_to_hod_atr":2.787653,"atr":0.016143,"spread_atr":0.619479,"own_change_pct":0.278341,"rel_strength_pct":{"SPY":0.201489,"IWM":0.241463}},"vas":{"raw":7,"score":8.8,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.360346},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ba8341094ba7","ts":"2026-08-28T14:58:10+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.0399,"target":5.1793,"target_label":"ceiling","reward_risk":0.69,"pos_in_5d_range_pct":48.1,"room_to_5d_high_atr":1.05},"price":5.1223,"vwap":5.1178,"ext_from_open_pct":1.83,"max_ext_allowed_pct":3.0,"volume_pace":0.988,"trend":"flat","recent_slope_pct":-0.0646,"volatility":"high"},"price":5.1223,"volume":{"bars":88,"last_bar_volume":1.0,"baseline_avg":902.5,"bar_rvol":0.001108,"raw_accel":-0.995575,"smooth_accel":-0.333233,"accel_momentum":-1.493575,"rvol_3bar":[2.154496,0.238611,0.001108],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":97.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":46.537891},"context":{"vwap":5.117813,"price_vs_vwap_pct":0.087683,"ema9":5.124402,"ema20":5.118891,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.100535,"dist_to_hod_atr":6.173917,"atr":0.009232,"spread_atr":1.083143,"own_change_pct":-0.194932,"rel_strength_pct":{"SPY":-0.271783,"IWM":-0.23181}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.001108},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"c120a52a158c","ts":"2026-08-28T14:58:50+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3764,"target":5.49,"target_label":"ceiling","reward_risk":1.22,"pos_in_5d_range_pct":90.5,"room_to_5d_high_atr":0.16},"price":5.4276,"vwap":5.4354,"ext_from_open_pct":-0.78,"max_ext_allowed_pct":3.0,"volume_pace":1.587,"trend":"flat","recent_slope_pct":0.019,"volatility":"medium"},"price":5.4276,"volume":{"bars":88,"last_bar_volume":90728.0,"baseline_avg":54473.05,"bar_rvol":1.665558,"raw_accel":2.552249,"smooth_accel":1.135189,"accel_momentum":0.739303,"rvol_3bar":[6.394203,0.475981,1.665558],"trend_3bar":"MIXED","projected_rvol":0.384234},"flow":{"window_s":30,"trades":32,"trade_rate":1.066667,"buy_vol":697.0,"sell_vol":8382.0,"unclassified_vol":0.0,"imbalance":-0.846459,"bid":5.44,"ask":5.45,"spread_pct":0.183655,"quote_size_imbalance":null,"quote_age_s":0.132948},"context":{"vwap":5.435426,"price_vs_vwap_pct":-0.143988,"ema9":5.430244,"ema20":5.427495,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.136612,"dist_to_hod_atr":3.865546,"atr":0.016143,"spread_atr":0.619479,"own_change_pct":0.278341,"rel_strength_pct":{"SPY":0.201489,"IWM":0.241463}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.409826},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8701550377a0","ts":"2026-08-28T14:58:55+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3938,"target":5.49,"target_label":"ceiling","reward_risk":0.88,"pos_in_5d_range_pct":95.6,"room_to_5d_high_atr":0.07},"price":5.445,"vwap":5.4354,"ext_from_open_pct":-0.46,"max_ext_allowed_pct":3.0,"volume_pace":1.586,"trend":"flat","recent_slope_pct":0.083,"volatility":"medium"},"price":5.445,"volume":{"bars":88,"last_bar_volume":90728.0,"baseline_avg":54473.05,"bar_rvol":1.665558,"raw_accel":2.552249,"smooth_accel":1.135189,"accel_momentum":0.739303,"rvol_3bar":[6.394203,0.475981,1.665558],"trend_3bar":"MIXED","projected_rvol":0.351487},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":361.0,"sell_vol":6767.0,"unclassified_vol":0.0,"imbalance":-0.898709,"bid":5.44,"ask":5.45,"spread_pct":0.183655,"quote_size_imbalance":null,"quote_age_s":0.049612},"context":{"vwap":5.435426,"price_vs_vwap_pct":0.176134,"ema9":5.430244,"ema20":5.427495,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.819672,"dist_to_hod_atr":2.787653,"atr":0.016143,"spread_atr":0.619479,"own_change_pct":0.278341,"rel_strength_pct":{"SPY":0.201489,"IWM":0.241463}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.496852},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3d15f96972b5","ts":"2026-08-28T14:59:05+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":11.0973,"target":11.32,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":92.0,"room_to_5d_high_atr":0.11},"price":11.265,"vwap":11.1594,"ext_from_open_pct":-1.87,"max_ext_allowed_pct":3.0,"volume_pace":2.425,"trend":"flat","recent_slope_pct":-0.062,"volatility":"medium"},"price":11.265,"volume":{"bars":89,"last_bar_volume":103715.0,"baseline_avg":28543.6,"bar_rvol":3.633564,"raw_accel":3.03796,"smooth_accel":1.712755,"accel_momentum":1.708376,"rvol_3bar":[0.526625,0.883589,3.633564],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":79,"trade_rate":2.633333,"buy_vol":5447.0,"sell_vol":8994.0,"unclassified_vol":0.0,"imbalance":-0.24562,"bid":11.26,"ask":11.27,"spread_pct":0.088771,"quote_size_imbalance":null,"quote_age_s":0.405919},"context":{"vwap":11.159169,"price_vs_vwap_pct":0.948379,"ema9":11.27614,"ema20":11.228925,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.194014,"dist_to_hod_atr":3.731002,"atr":0.06773,"spread_atr":0.147645,"own_change_pct":0.177462,"rel_strength_pct":{"SPY":0.129691,"IWM":0.170758}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.892476},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5acfc28120c8","ts":"2026-08-28T14:59:05+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":5.0069,"target":5.1522,"target_label":"ceiling","reward_risk":0.35,"pos_in_5d_range_pct":32.4,"room_to_5d_high_atr":1.38},"price":5.1145,"vwap":5.0686,"ext_from_open_pct":1.08,"max_ext_allowed_pct":3.0,"volume_pace":0.366,"trend":"flat","recent_slope_pct":0.041,"volatility":"high"},"price":5.1145,"volume":{"bars":89,"last_bar_volume":14240.0,"baseline_avg":27626.55,"bar_rvol":0.515446,"raw_accel":-0.789909,"smooth_accel":1.060263,"accel_momentum":0.044169,"rvol_3bar":[0.3065,2.757986,0.515446],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":672.0,"sell_vol":437.0,"unclassified_vol":0.0,"imbalance":0.211903,"bid":5.14,"ask":5.15,"spread_pct":0.194363,"quote_size_imbalance":null,"quote_age_s":2.586625},"context":{"vwap":5.068553,"price_vs_vwap_pct":0.906519,"ema9":5.119104,"ema20":5.106532,"ema_stack":false,"ema_warm":true,"hod":5.165,"dist_to_hod_pct":-0.977735,"dist_to_hod_atr":1.563642,"atr":0.032296,"spread_atr":0.309632,"own_change_pct":0.134634,"rel_strength_pct":{"SPY":0.086863,"IWM":0.12793}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.109224},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"dd8952b0c081","ts":"2026-08-28T14:59:10+00:00","symbol":"TGB","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":9.4293,"target":9.72,"target_label":"prev_day_high","reward_risk":1.75,"pos_in_5d_range_pct":78.1,"room_to_5d_high_atr":0.44},"price":9.535,"vwap":9.5329,"ext_from_open_pct":-2.21,"max_ext_allowed_pct":4.0,"volume_pace":0.429,"trend":"flat","recent_slope_pct":-0.0157,"volatility":"medium"},"price":9.535,"volume":{"bars":89,"last_bar_volume":4392.0,"baseline_avg":12734.65,"bar_rvol":0.344886,"raw_accel":-0.75619,"smooth_accel":0.6431,"accel_momentum":1.071576,"rvol_3bar":[0.229842,1.408064,0.344886],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":17,"trade_rate":0.566667,"buy_vol":2684.0,"sell_vol":100.0,"unclassified_vol":0.0,"imbalance":0.928161,"bid":9.53,"ask":9.54,"spread_pct":0.104877,"quote_size_imbalance":null,"quote_age_s":0.475067},"context":{"vwap":9.532906,"price_vs_vwap_pct":0.021969,"ema9":9.517946,"ema20":9.502829,"ema_stack":true,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-2.90224,"dist_to_hod_atr":8.134791,"atr":0.035035,"spread_atr":0.285431,"own_change_pct":0.157729,"rel_strength_pct":{"SPY":0.109957,"IWM":0.151025}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.32011},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c50c2dfd1f9b","ts":"2026-08-28T14:59:15+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":5.0274,"target":5.18,"target_label":"premarket_high","reward_risk":0.42,"pos_in_5d_range_pct":34.7,"room_to_5d_high_atr":1.33},"price":5.135,"vwap":5.0686,"ext_from_open_pct":1.48,"max_ext_allowed_pct":3.0,"volume_pace":0.366,"trend":"flat","recent_slope_pct":0.1209,"volatility":"high"},"price":5.135,"volume":{"bars":89,"last_bar_volume":14240.0,"baseline_avg":27626.55,"bar_rvol":0.515446,"raw_accel":-0.789909,"smooth_accel":1.060263,"accel_momentum":0.044169,"rvol_3bar":[0.3065,2.757986,0.515446],"trend_3bar":"MIXED","projected_rvol":0.203138},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":484.0,"sell_vol":1020.0,"unclassified_vol":0.0,"imbalance":-0.356383,"bid":5.13,"ask":5.14,"spread_pct":0.194742,"quote_size_imbalance":null,"quote_age_s":0.600334},"context":{"vwap":5.068553,"price_vs_vwap_pct":1.310974,"ema9":5.119104,"ema20":5.106532,"ema_stack":true,"ema_warm":true,"hod":5.165,"dist_to_hod_pct":-0.580833,"dist_to_hod_atr":0.928896,"atr":0.032296,"spread_atr":0.309632,"own_change_pct":0.134634,"rel_strength_pct":{"SPY":0.086863,"IWM":0.12793}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.183696},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"004da5d9fc25","ts":"2026-08-28T14:59:15+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.9729,"target":7.18,"target_label":"ceiling","reward_risk":1.16,"pos_in_5d_range_pct":-1.6,"room_to_5d_high_atr":1.85},"price":7.0686,"vwap":7.0606,"ext_from_open_pct":-1.0,"max_ext_allowed_pct":4.0,"volume_pace":1.513,"trend":"flat","recent_slope_pct":0.0456,"volatility":"medium"},"price":7.0686,"volume":{"bars":89,"last_bar_volume":13180.0,"baseline_avg":72430.2,"bar_rvol":0.181968,"raw_accel":-0.272127,"smooth_accel":-0.643942,"accel_momentum":-0.400398,"rvol_3bar":[0.254371,0.098844,0.181968],"trend_3bar":"MIXED","projected_rvol":1.770422},"flow":{"window_s":30,"trades":129,"trade_rate":4.3,"buy_vol":25918.0,"sell_vol":13851.0,"unclassified_vol":0.0,"imbalance":0.303427,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":0.600272},"context":{"vwap":7.060577,"price_vs_vwap_pct":0.113636,"ema9":7.052017,"ema20":7.048431,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.551532,"dist_to_hod_atr":4.939812,"atr":0.022551,"spread_atr":0.44343,"own_change_pct":0.141945,"rel_strength_pct":{"SPY":0.094173,"IWM":0.135241}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.055214},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"1008667da76a","ts":"2026-08-28T14:59:20+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.0426,"target":5.1793,"target_label":"ceiling","reward_risk":0.66,"pos_in_5d_range_pct":48.5,"room_to_5d_high_atr":1.05},"price":5.125,"vwap":5.1178,"ext_from_open_pct":1.89,"max_ext_allowed_pct":3.0,"volume_pace":0.978,"trend":"flat","recent_slope_pct":-0.0105,"volatility":"high"},"price":5.125,"volume":{"bars":89,"last_bar_volume":804.0,"baseline_avg":892.4,"bar_rvol":0.900941,"raw_accel":2.603765,"smooth_accel":-0.805911,"accel_momentum":-0.472678,"rvol_3bar":[0.238611,0.001108,0.900941],"trend_3bar":"MIXED","projected_rvol":0.087405},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":501.0,"sell_vol":125.0,"unclassified_vol":0.0,"imbalance":0.600639,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":2.480362},"context":{"vwap":5.117842,"price_vs_vwap_pct":0.139856,"ema9":5.124521,"ema20":5.119473,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.048404,"dist_to_hod_atr":5.851246,"atr":0.00928,"spread_atr":1.077578,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.047772,"IWM":-0.006704}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.54114},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"64e08e4b1ac6","ts":"2026-08-28T14:59:25+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.382,"target":5.49,"target_label":"ceiling","reward_risk":1.11,"pos_in_5d_range_pct":92.1,"room_to_5d_high_atr":0.13},"price":5.4332,"vwap":5.4354,"ext_from_open_pct":-0.67,"max_ext_allowed_pct":3.0,"volume_pace":1.579,"trend":"flat","recent_slope_pct":0.0118,"volatility":"medium"},"price":5.4332,"volume":{"bars":89,"last_bar_volume":17559.0,"baseline_avg":53910.5,"bar_rvol":0.325706,"raw_accel":-0.806465,"smooth_accel":-0.530477,"accel_momentum":-1.665667,"rvol_3bar":[0.475981,1.665558,0.325706],"trend_3bar":"MIXED","projected_rvol":0.312295},"flow":{"window_s":30,"trades":16,"trade_rate":0.533333,"buy_vol":6189.0,"sell_vol":834.0,"unclassified_vol":0.0,"imbalance":0.762495,"bid":5.44,"ask":5.45,"spread_pct":0.183655,"quote_size_imbalance":null,"quote_age_s":11.609919},"context":{"vwap":5.435442,"price_vs_vwap_pct":-0.041252,"ema9":5.433196,"ema20":5.429162,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.034608,"dist_to_hod_atr":3.419422,"atr":0.016611,"spread_atr":0.602011,"own_change_pct":0.368664,"rel_strength_pct":{"SPY":0.320892,"IWM":0.36196}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.248349},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ea346f833b32","ts":"2026-08-28T14:59:25+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":6.9693,"target":7.18,"target_label":"ceiling","reward_risk":1.2,"pos_in_5d_range_pct":-2.2,"room_to_5d_high_atr":1.85},"price":7.065,"vwap":7.0606,"ext_from_open_pct":-1.05,"max_ext_allowed_pct":4.0,"volume_pace":1.511,"trend":"flat","recent_slope_pct":0.0354,"volatility":"medium"},"price":7.065,"volume":{"bars":89,"last_bar_volume":13180.0,"baseline_avg":72430.2,"bar_rvol":0.181968,"raw_accel":-0.272127,"smooth_accel":-0.643942,"accel_momentum":-0.400398,"rvol_3bar":[0.254371,0.098844,0.181968],"trend_3bar":"MIXED","projected_rvol":1.087734},"flow":{"window_s":30,"trades":126,"trade_rate":4.2,"buy_vol":19223.0,"sell_vol":13620.0,"unclassified_vol":0.0,"imbalance":0.1706,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":0.035698},"context":{"vwap":7.060577,"price_vs_vwap_pct":0.062648,"ema9":7.052017,"ema20":7.048431,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.601671,"dist_to_hod_atr":5.099447,"atr":0.022551,"spread_atr":0.44343,"own_change_pct":0.141945,"rel_strength_pct":{"SPY":0.094173,"IWM":0.135241}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.031044},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f85a395ee1af","ts":"2026-08-28T14:59:30+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3938,"target":5.49,"target_label":"ceiling","reward_risk":0.88,"pos_in_5d_range_pct":95.6,"room_to_5d_high_atr":0.07},"price":5.445,"vwap":5.4355,"ext_from_open_pct":-0.46,"max_ext_allowed_pct":3.0,"volume_pace":1.578,"trend":"flat","recent_slope_pct":0.0551,"volatility":"medium"},"price":5.445,"volume":{"bars":89,"last_bar_volume":17559.0,"baseline_avg":53910.5,"bar_rvol":0.325706,"raw_accel":-0.806465,"smooth_accel":-0.530477,"accel_momentum":-1.665667,"rvol_3bar":[0.475981,1.665558,0.325706],"trend_3bar":"MIXED","projected_rvol":0.366571},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":8163.0,"sell_vol":1718.0,"unclassified_vol":0.0,"imbalance":0.652262,"bid":5.44,"ask":5.45,"spread_pct":0.183655,"quote_size_imbalance":null,"quote_age_s":0.002069},"context":{"vwap":5.435442,"price_vs_vwap_pct":0.175842,"ema9":5.433196,"ema20":5.429162,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.819672,"dist_to_hod_atr":2.709049,"atr":0.016611,"spread_atr":0.602011,"own_change_pct":0.368664,"rel_strength_pct":{"SPY":0.320892,"IWM":0.36196}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.212446},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"bce9add2c921","ts":"2026-08-28T14:59:30+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.9742,"target":7.18,"target_label":"ceiling","reward_risk":1.15,"pos_in_5d_range_pct":-1.5,"room_to_5d_high_atr":1.84},"price":7.0699,"vwap":7.0606,"ext_from_open_pct":-0.98,"max_ext_allowed_pct":4.0,"volume_pace":1.509,"trend":"flat","recent_slope_pct":0.0493,"volatility":"medium"},"price":7.0699,"volume":{"bars":89,"last_bar_volume":13180.0,"baseline_avg":72430.2,"bar_rvol":0.181968,"raw_accel":-0.272127,"smooth_accel":-0.643942,"accel_momentum":-0.400398,"rvol_3bar":[0.254371,0.098844,0.181968],"trend_3bar":"MIXED","projected_rvol":0.912575},"flow":{"window_s":30,"trades":129,"trade_rate":4.3,"buy_vol":19445.0,"sell_vol":13604.0,"unclassified_vol":0.0,"imbalance":0.176738,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":0.003802},"context":{"vwap":7.060577,"price_vs_vwap_pct":0.132048,"ema9":7.052017,"ema20":7.048431,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.533426,"dist_to_hod_atr":4.882166,"atr":0.022551,"spread_atr":0.44343,"own_change_pct":0.141945,"rel_strength_pct":{"SPY":0.094173,"IWM":0.135241}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.032161},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c8b7e5e48c24","ts":"2026-08-28T14:59:35+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.06 below VWAP $7.06","plan":{"state":"PASS","setup":"","stop":6.9633,"target":7.18,"target_label":"ceiling","reward_risk":1.26,"pos_in_5d_range_pct":-3.0,"room_to_5d_high_atr":1.87},"price":7.059,"vwap":7.0606,"ext_from_open_pct":-1.13,"max_ext_allowed_pct":3.0,"volume_pace":1.509,"trend":"flat","recent_slope_pct":0.0184,"volatility":"medium"},"price":7.059,"volume":{"bars":89,"last_bar_volume":13180.0,"baseline_avg":72430.2,"bar_rvol":0.181968,"raw_accel":-0.272127,"smooth_accel":-0.643942,"accel_momentum":-0.400398,"rvol_3bar":[0.254371,0.098844,0.181968],"trend_3bar":"MIXED","projected_rvol":0.884643},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":6251.0,"sell_vol":3325.0,"unclassified_vol":0.0,"imbalance":0.305556,"bid":7.05,"ask":7.06,"spread_pct":0.141743,"quote_size_imbalance":null,"quote_age_s":0.269866},"context":{"vwap":7.060577,"price_vs_vwap_pct":-0.022331,"ema9":7.052017,"ema20":7.048431,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.685237,"dist_to_hod_atr":5.365505,"atr":0.022551,"spread_atr":0.44343,"own_change_pct":0.141945,"rel_strength_pct":{"SPY":0.094173,"IWM":0.135241}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.055601},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"58b1482697a2","ts":"2026-08-28T14:59:40+00:00","symbol":"TGB","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.53 below VWAP $9.53","plan":{"state":"PASS","setup":"","stop":9.4243,"target":9.72,"target_label":"prev_day_high","reward_risk":1.8,"pos_in_5d_range_pct":77.5,"room_to_5d_high_atr":0.45},"price":9.53,"vwap":9.5329,"ext_from_open_pct":-2.26,"max_ext_allowed_pct":4.0,"volume_pace":0.428,"trend":"flat","recent_slope_pct":-0.0262,"volatility":"medium"},"price":9.53,"volume":{"bars":89,"last_bar_volume":4392.0,"baseline_avg":12734.65,"bar_rvol":0.344886,"raw_accel":-0.75619,"smooth_accel":0.6431,"accel_momentum":1.071576,"rvol_3bar":[0.229842,1.408064,0.344886],"trend_3bar":"MIXED","projected_rvol":0.681291},"flow":{"window_s":30,"trades":22,"trade_rate":0.733333,"buy_vol":2857.0,"sell_vol":253.0,"unclassified_vol":0.0,"imbalance":0.837299,"bid":9.53,"ask":9.54,"spread_pct":0.104877,"quote_size_imbalance":null,"quote_age_s":1.267536},"context":{"vwap":9.532906,"price_vs_vwap_pct":-0.030481,"ema9":9.517946,"ema20":9.502829,"ema_stack":true,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-2.953157,"dist_to_hod_atr":8.277507,"atr":0.035035,"spread_atr":0.285431,"own_change_pct":0.157729,"rel_strength_pct":{"SPY":0.109957,"IWM":0.151025}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.288773},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7fc25094c3c7","ts":"2026-08-28T14:59:45+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":10.8502,"target":11.14,"target_label":"ceiling","reward_risk":0.45,"pos_in_5d_range_pct":-7.5,"room_to_5d_high_atr":1.59},"price":11.05,"vwap":11.0085,"ext_from_open_pct":-0.81,"max_ext_allowed_pct":3.0,"volume_pace":1.49,"trend":"flat","recent_slope_pct":-0.0181,"volatility":"high"},"price":11.05,"volume":{"bars":89,"last_bar_volume":13324.0,"baseline_avg":19772.4,"bar_rvol":0.673869,"raw_accel":0.835515,"smooth_accel":6.1e-05,"accel_momentum":0.288438,"rvol_3bar":[0.56714,0.352893,0.673869],"trend_3bar":"MIXED","projected_rvol":0.41708},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":2780.0,"sell_vol":2475.0,"unclassified_vol":0.0,"imbalance":0.05804,"bid":11.05,"ask":11.06,"spread_pct":0.090457,"quote_size_imbalance":null,"quote_age_s":0.070509},"context":{"vwap":11.008389,"price_vs_vwap_pct":0.377993,"ema9":11.069031,"ema20":11.061991,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.179585,"dist_to_hod_atr":2.851327,"atr":0.046259,"spread_atr":0.216173,"own_change_pct":-0.045167,"rel_strength_pct":{"SPY":-0.092939,"IWM":-0.051871}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.039111},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6c58f083baf3","ts":"2026-08-28T14:59:50+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":10.8552,"target":11.14,"target_label":"ceiling","reward_risk":0.43,"pos_in_5d_range_pct":-7.1,"room_to_5d_high_atr":1.59},"price":11.055,"vwap":11.0085,"ext_from_open_pct":-0.76,"max_ext_allowed_pct":3.0,"volume_pace":1.489,"trend":"flat","recent_slope_pct":-0.009,"volatility":"high"},"price":11.055,"volume":{"bars":89,"last_bar_volume":13324.0,"baseline_avg":19772.4,"bar_rvol":0.673869,"raw_accel":0.835515,"smooth_accel":6.1e-05,"accel_momentum":0.288438,"rvol_3bar":[0.56714,0.352893,0.673869],"trend_3bar":"MIXED","projected_rvol":0.37786},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":2538.0,"sell_vol":2339.0,"unclassified_vol":0.0,"imbalance":0.040804,"bid":11.05,"ask":11.06,"spread_pct":0.090457,"quote_size_imbalance":null,"quote_age_s":0.30782},"context":{"vwap":11.008389,"price_vs_vwap_pct":0.423413,"ema9":11.069031,"ema20":11.061991,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.13487,"dist_to_hod_atr":2.74324,"atr":0.046259,"spread_atr":0.216173,"own_change_pct":-0.045167,"rel_strength_pct":{"SPY":-0.092939,"IWM":-0.051871}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.027496},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e2dc74568dc3","ts":"2026-08-28T14:59:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5105,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.983,"trend":"flat","recent_slope_pct":-0.0539,"volatility":"medium"},"price":5.55,"volume":{"bars":89,"last_bar_volume":40358.0,"baseline_avg":62622.1,"bar_rvol":0.644469,"raw_accel":-0.742702,"smooth_accel":0.70422,"accel_momentum":0.326597,"rvol_3bar":[4.052161,2.763603,0.644469],"trend_3bar":"DECELERATING","projected_rvol":0.386788},"flow":{"window_s":30,"trades":108,"trade_rate":3.6,"buy_vol":7446.0,"sell_vol":11512.0,"unclassified_vol":0.0,"imbalance":-0.214474,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":1.349894},"context":{"vwap":5.510386,"price_vs_vwap_pct":0.718889,"ema9":5.564924,"ema20":5.550455,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.715564,"dist_to_hod_atr":1.525519,"atr":0.026221,"spread_atr":0.38138,"own_change_pct":-0.089686,"rel_strength_pct":{"SPY":-0.137458,"IWM":-0.09639}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.138222},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"728aa5071018","ts":"2026-08-28T15:00:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4821,"target":6.0,"target_label":"range_20d_high","reward_risk":5.87,"pos_in_5d_range_pct":49.1,"room_to_5d_high_atr":1.47},"price":5.5575,"vwap":5.5107,"ext_from_open_pct":3.88,"max_ext_allowed_pct":4.0,"volume_pace":0.986,"trend":"flat","recent_slope_pct":-0.0269,"volatility":"medium"},"price":5.5575,"volume":{"bars":89,"last_bar_volume":40358.0,"baseline_avg":62622.1,"bar_rvol":0.644469,"raw_accel":-0.742702,"smooth_accel":0.70422,"accel_momentum":0.326597,"rvol_3bar":[4.052161,2.763603,0.644469],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":118,"trade_rate":3.933333,"buy_vol":33670.0,"sell_vol":11472.0,"unclassified_vol":0.0,"imbalance":0.491737,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.001516},"context":{"vwap":5.510386,"price_vs_vwap_pct":0.854995,"ema9":5.564924,"ema20":5.550455,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.581395,"dist_to_hod_atr":1.239484,"atr":0.026221,"spread_atr":0.38138,"own_change_pct":-0.089686,"rel_strength_pct":{"SPY":-0.143925,"IWM":-0.116499}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.316909},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"f43805b30355","ts":"2026-08-28T15:00:05+00:00","symbol":"TGB","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":9.4293,"target":9.72,"target_label":"prev_day_high","reward_risk":1.75,"pos_in_5d_range_pct":78.1,"room_to_5d_high_atr":0.44},"price":9.535,"vwap":9.5329,"ext_from_open_pct":-2.21,"max_ext_allowed_pct":4.0,"volume_pace":0.427,"trend":"flat","recent_slope_pct":-0.0157,"volatility":"medium"},"price":9.535,"volume":{"bars":90,"last_bar_volume":6218.0,"baseline_avg":11986.35,"bar_rvol":0.518757,"raw_accel":0.415756,"smooth_accel":0.722159,"accel_momentum":0.079058,"rvol_3bar":[1.408064,0.344886,0.518757],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":4806.0,"sell_vol":253.0,"unclassified_vol":0.0,"imbalance":0.89998,"bid":9.53,"ask":9.54,"spread_pct":0.104877,"quote_size_imbalance":null,"quote_age_s":0.348596},"context":{"vwap":9.532887,"price_vs_vwap_pct":0.022167,"ema9":9.519357,"ema20":9.504941,"ema_stack":true,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-2.90224,"dist_to_hod_atr":8.46862,"atr":0.033654,"spread_atr":0.297145,"own_change_pct":0.105097,"rel_strength_pct":{"SPY":0.050859,"IWM":0.078284}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.466871},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0aedf5c92ad4","ts":"2026-08-28T15:00:20+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":5.0021,"target":5.1522,"target_label":"ceiling","reward_risk":0.39,"pos_in_5d_range_pct":31.8,"room_to_5d_high_atr":1.39},"price":5.1097,"vwap":5.0697,"ext_from_open_pct":0.98,"max_ext_allowed_pct":3.0,"volume_pace":0.369,"trend":"flat","recent_slope_pct":-0.03,"volatility":"high"},"price":5.1097,"volume":{"bars":90,"last_bar_volume":24715.0,"baseline_avg":28191.15,"bar_rvol":0.876694,"raw_accel":0.735604,"smooth_accel":1.487995,"accel_momentum":0.427733,"rvol_3bar":[2.757986,0.515446,0.876694],"trend_3bar":"MIXED","projected_rvol":3.397875},"flow":{"window_s":30,"trades":106,"trade_rate":3.533333,"buy_vol":20148.0,"sell_vol":12528.0,"unclassified_vol":0.0,"imbalance":0.233199,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.226849},"context":{"vwap":5.069146,"price_vs_vwap_pct":0.800021,"ema9":5.122283,"ema20":5.109243,"ema_stack":false,"ema_warm":true,"hod":5.165,"dist_to_hod_pct":-1.070668,"dist_to_hod_atr":1.738395,"atr":0.031811,"spread_atr":0.314357,"own_change_pct":0.285134,"rel_strength_pct":{"SPY":0.230895,"IWM":0.258321}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.204444},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a0f072c4800f","ts":"2026-08-28T15:00:25+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3778,"target":5.49,"target_label":"ceiling","reward_risk":1.19,"pos_in_5d_range_pct":90.9,"room_to_5d_high_atr":0.15},"price":5.429,"vwap":5.4355,"ext_from_open_pct":-0.75,"max_ext_allowed_pct":3.0,"volume_pace":1.567,"trend":"flat","recent_slope_pct":-0.0131,"volatility":"medium"},"price":5.429,"volume":{"bars":90,"last_bar_volume":21319.0,"baseline_avg":53976.45,"bar_rvol":0.394969,"raw_accel":0.214135,"smooth_accel":-0.574187,"accel_momentum":-0.043709,"rvol_3bar":[1.665558,0.325706,0.394969],"trend_3bar":"MIXED","projected_rvol":0.336458},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":6909.0,"sell_vol":953.0,"unclassified_vol":0.0,"imbalance":0.757568,"bid":5.44,"ask":5.45,"spread_pct":0.183655,"quote_size_imbalance":null,"quote_age_s":1.481625},"context":{"vwap":5.435459,"price_vs_vwap_pct":-0.118836,"ema9":5.435556,"ema20":5.43067,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.111111,"dist_to_hod_atr":3.613393,"atr":0.016882,"spread_atr":0.59236,"own_change_pct":0.368664,"rel_strength_pct":{"SPY":0.314425,"IWM":0.34185}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.299216},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d94a295b88a6","ts":"2026-08-28T15:00:25+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5111,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.99,"trend":"flat","recent_slope_pct":-0.1168,"volatility":"medium"},"price":5.55,"volume":{"bars":90,"last_bar_volume":48547.0,"baseline_avg":63429.8,"bar_rvol":0.765366,"raw_accel":0.202909,"smooth_accel":-0.285755,"accel_momentum":-0.989975,"rvol_3bar":[2.763603,0.644469,0.765366],"trend_3bar":"MIXED","projected_rvol":2.510076},"flow":{"window_s":30,"trades":118,"trade_rate":3.933333,"buy_vol":61751.0,"sell_vol":30932.0,"unclassified_vol":0.0,"imbalance":0.332521,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.282034},"context":{"vwap":5.510746,"price_vs_vwap_pct":0.712326,"ema9":5.563439,"ema20":5.551126,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.715564,"dist_to_hod_atr":1.509973,"atr":0.026491,"spread_atr":0.377493,"own_change_pct":-0.224417,"rel_strength_pct":{"SPY":-0.278655,"IWM":-0.25123}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.2545},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"df2108ec1edb","ts":"2026-08-28T15:00:30+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3889,"target":5.49,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":94.1,"room_to_5d_high_atr":0.1},"price":5.4401,"vwap":5.4355,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":1.565,"trend":"flat","recent_slope_pct":0.0278,"volatility":"medium"},"price":5.4401,"volume":{"bars":90,"last_bar_volume":21319.0,"baseline_avg":53976.45,"bar_rvol":0.394969,"raw_accel":0.214135,"smooth_accel":-0.574187,"accel_momentum":-0.043709,"rvol_3bar":[1.665558,0.325706,0.394969],"trend_3bar":"MIXED","projected_rvol":0.280826},"flow":{"window_s":30,"trades":21,"trade_rate":0.7,"buy_vol":6750.0,"sell_vol":829.0,"unclassified_vol":0.0,"imbalance":0.781238,"bid":5.44,"ask":5.45,"spread_pct":0.183655,"quote_size_imbalance":null,"quote_age_s":0.002046},"context":{"vwap":5.435459,"price_vs_vwap_pct":0.085378,"ema9":5.435556,"ema20":5.43067,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.908925,"dist_to_hod_atr":2.955874,"atr":0.016882,"spread_atr":0.59236,"own_change_pct":0.368664,"rel_strength_pct":{"SPY":0.314425,"IWM":0.34185}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.308564},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"94123a57fe9e","ts":"2026-08-28T15:00:40+00:00","symbol":"TGB","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":9.4393,"target":9.72,"target_label":"prev_day_high","reward_risk":1.66,"pos_in_5d_range_pct":79.3,"room_to_5d_high_atr":0.41},"price":9.545,"vwap":9.533,"ext_from_open_pct":-2.1,"max_ext_allowed_pct":3.0,"volume_pace":0.429,"trend":"flat","recent_slope_pct":0.0052,"volatility":"medium"},"price":9.545,"volume":{"bars":90,"last_bar_volume":6218.0,"baseline_avg":11986.35,"bar_rvol":0.518757,"raw_accel":0.415756,"smooth_accel":0.722159,"accel_momentum":0.079058,"rvol_3bar":[1.408064,0.344886,0.518757],"trend_3bar":"MIXED","projected_rvol":1.443142},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":8764.0,"sell_vol":1105.0,"unclassified_vol":0.0,"imbalance":0.776066,"bid":9.54,"ask":9.55,"spread_pct":0.104767,"quote_size_imbalance":null,"quote_age_s":0.060345},"context":{"vwap":9.532887,"price_vs_vwap_pct":0.127067,"ema9":9.519357,"ema20":9.504941,"ema_stack":true,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-2.800407,"dist_to_hod_atr":8.171475,"atr":0.033654,"spread_atr":0.297145,"own_change_pct":0.105097,"rel_strength_pct":{"SPY":0.050859,"IWM":0.078284}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.40259},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"203c33a0d5da","ts":"2026-08-28T15:00:40+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":5.0172,"target":5.18,"target_label":"premarket_high","reward_risk":0.51,"pos_in_5d_range_pct":33.5,"room_to_5d_high_atr":1.36},"price":5.1248,"vwap":5.0698,"ext_from_open_pct":1.28,"max_ext_allowed_pct":3.0,"volume_pace":0.368,"trend":"flat","recent_slope_pct":0.0288,"volatility":"high"},"price":5.1248,"volume":{"bars":90,"last_bar_volume":24715.0,"baseline_avg":28191.15,"bar_rvol":0.876694,"raw_accel":0.735604,"smooth_accel":1.487995,"accel_momentum":0.427733,"rvol_3bar":[2.757986,0.515446,0.876694],"trend_3bar":"MIXED","projected_rvol":1.784549},"flow":{"window_s":30,"trades":105,"trade_rate":3.5,"buy_vol":18220.0,"sell_vol":12236.0,"unclassified_vol":0.0,"imbalance":0.19648,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":1.305444},"context":{"vwap":5.069146,"price_vs_vwap_pct":1.097902,"ema9":5.122283,"ema20":5.109243,"ema_stack":true,"ema_warm":true,"hod":5.165,"dist_to_hod_pct":-0.778316,"dist_to_hod_atr":1.263716,"atr":0.031811,"spread_atr":0.314357,"own_change_pct":0.285134,"rel_strength_pct":{"SPY":0.230895,"IWM":0.258321}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.172253},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f7ccf374157f","ts":"2026-08-28T15:00:50+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.37x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9974,"target":5.1522,"target_label":"ceiling","reward_risk":0.44,"pos_in_5d_range_pct":31.3,"room_to_5d_high_atr":1.4},"price":5.105,"vwap":5.0697,"ext_from_open_pct":0.89,"max_ext_allowed_pct":4.0,"volume_pace":0.368,"trend":"flat","recent_slope_pct":-0.0484,"volatility":"high"},"price":5.105,"volume":{"bars":90,"last_bar_volume":24715.0,"baseline_avg":28191.15,"bar_rvol":0.876694,"raw_accel":0.735604,"smooth_accel":1.487995,"accel_momentum":0.427733,"rvol_3bar":[2.757986,0.515446,0.876694],"trend_3bar":"MIXED","projected_rvol":1.428491},"flow":{"window_s":30,"trades":21,"trade_rate":0.7,"buy_vol":1148.0,"sell_vol":481.0,"unclassified_vol":0.0,"imbalance":0.409454,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.885129},"context":{"vwap":5.069146,"price_vs_vwap_pct":0.707303,"ema9":5.122283,"ema20":5.109243,"ema_stack":false,"ema_warm":true,"hod":5.165,"dist_to_hod_pct":-1.161665,"dist_to_hod_atr":1.886143,"atr":0.031811,"spread_atr":0.314357,"own_change_pct":0.285134,"rel_strength_pct":{"SPY":0.230895,"IWM":0.258321}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.358965},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0c5ad2340dd5","ts":"2026-08-28T15:00:50+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.9743,"target":7.18,"target_label":"ceiling","reward_risk":1.15,"pos_in_5d_range_pct":-1.4,"room_to_5d_high_atr":1.84},"price":7.07,"vwap":7.0606,"ext_from_open_pct":-0.98,"max_ext_allowed_pct":4.0,"volume_pace":1.501,"trend":"flat","recent_slope_pct":0.0587,"volatility":"medium"},"price":7.07,"volume":{"bars":90,"last_bar_volume":41260.0,"baseline_avg":67226.15,"bar_rvol":0.613749,"raw_accel":1.454997,"smooth_accel":-0.17563,"accel_momentum":0.468312,"rvol_3bar":[0.098844,0.181968,0.613749],"trend_3bar":"ACCELERATING","projected_rvol":0.719684},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":20986.0,"sell_vol":1566.0,"unclassified_vol":0.0,"imbalance":0.861121,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":0.169346},"context":{"vwap":7.060572,"price_vs_vwap_pct":0.133526,"ema9":7.053613,"ema20":7.049533,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.532033,"dist_to_hod_atr":4.917472,"atr":0.022369,"spread_atr":0.447043,"own_change_pct":0.141844,"rel_strength_pct":{"SPY":0.087605,"IWM":0.115031}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.528512},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"12d24867e212","ts":"2026-08-28T15:00:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5112,"ext_from_open_pct":3.64,"max_ext_allowed_pct":4.0,"volume_pace":0.987,"trend":"flat","recent_slope_pct":-0.1348,"volatility":"medium"},"price":5.545,"volume":{"bars":90,"last_bar_volume":48547.0,"baseline_avg":63429.8,"bar_rvol":0.765366,"raw_accel":0.202909,"smooth_accel":-0.285755,"accel_momentum":-0.989975,"rvol_3bar":[2.763603,0.644469,0.765366],"trend_3bar":"MIXED","projected_rvol":1.394057},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":12238.0,"sell_vol":2479.0,"unclassified_vol":0.0,"imbalance":0.663111,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":1.10195},"context":{"vwap":5.510746,"price_vs_vwap_pct":0.621594,"ema9":5.563439,"ema20":5.551126,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.805009,"dist_to_hod_atr":1.69872,"atr":0.026491,"spread_atr":0.377493,"own_change_pct":-0.224417,"rel_strength_pct":{"SPY":-0.278655,"IWM":-0.25123}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.507522},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8ad1e062924f","ts":"2026-08-28T15:01:00+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":5.4646,"target":5.57,"target_label":"prev_day_high","reward_risk":0.4,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":1.52},"price":5.54,"vwap":5.5112,"ext_from_open_pct":3.55,"max_ext_allowed_pct":4.0,"volume_pace":0.986,"trend":"flat","recent_slope_pct":-0.1528,"volatility":"medium"},"price":5.54,"volume":{"bars":90,"last_bar_volume":48547.0,"baseline_avg":63429.8,"bar_rvol":0.765366,"raw_accel":0.202909,"smooth_accel":-0.285755,"accel_momentum":-0.989975,"rvol_3bar":[2.763603,0.644469,0.765366],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":13556.0,"sell_vol":2541.0,"unclassified_vol":0.0,"imbalance":0.684289,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.001462},"context":{"vwap":5.510746,"price_vs_vwap_pct":0.530862,"ema9":5.563439,"ema20":5.551126,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.894454,"dist_to_hod_atr":1.887466,"atr":0.026491,"spread_atr":0.377493,"own_change_pct":-0.224417,"rel_strength_pct":{"SPY":-0.292831,"IWM":-0.247869}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.523731},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"18a688045a4f","ts":"2026-08-28T15:01:00+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"held 675.0s, plan says WATCH; stop 13.17, target 13.64 (premarket_high), R:R 0.81; R:R 0.81 < 2.0 at 13.43; breakout: 1-min close > 13.52 on >= 82445 sh","plan":{"state":"WATCH","setup":"","stop":13.1714,"target":13.64,"target_label":"premarket_high","reward_risk":0.81,"pos_in_5d_range_pct":30.5,"room_to_5d_high_atr":1.19},"price":13.43,"vwap":13.2671,"ext_from_open_pct":-0.74,"max_ext_allowed_pct":4.0,"volume_pace":1.451,"trend":"flat","recent_slope_pct":-0.0036,"volatility":"medium"},"price":13.43,"volume":{"bars":90,"last_bar_volume":92813.0,"baseline_avg":53029.3,"bar_rvol":1.750221,"raw_accel":0.020147,"smooth_accel":1.941513,"accel_momentum":-2.432268,"rvol_3bar":[2.255679,1.786356,1.750221],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":17206.0,"sell_vol":1353.0,"unclassified_vol":0.0,"imbalance":0.854195,"bid":13.42,"ask":13.43,"spread_pct":0.074488,"quote_size_imbalance":null,"quote_age_s":0.00388},"context":{"vwap":13.266174,"price_vs_vwap_pct":1.234916,"ema9":13.360463,"ema20":13.30696,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-0.958702,"dist_to_hod_atr":1.570626,"atr":0.08277,"spread_atr":0.120817,"own_change_pct":0.45695,"rel_strength_pct":{"SPY":0.388536,"IWM":0.433498}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":1.49503},"shadow":{"decision":"FAIL","failed":["not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"ec7f9315f890","ts":"2026-08-28T15:01:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":11.1013,"target":11.32,"target_label":"prev_day_high","reward_risk":0.16,"pos_in_5d_range_pct":94.7,"room_to_5d_high_atr":0.07},"price":11.29,"vwap":11.1604,"ext_from_open_pct":-1.66,"max_ext_allowed_pct":4.0,"volume_pace":2.391,"trend":"flat","recent_slope_pct":-0.062,"volatility":"medium"},"price":11.29,"volume":{"bars":91,"last_bar_volume":17586.0,"baseline_avg":28905.6,"bar_rvol":0.608394,"raw_accel":-0.333864,"smooth_accel":1.67187,"accel_momentum":-0.872261,"rvol_3bar":[3.633564,0.898824,0.608394],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":21,"trade_rate":0.7,"buy_vol":1079.0,"sell_vol":466.0,"unclassified_vol":0.0,"imbalance":0.396764,"bid":11.29,"ask":11.3,"spread_pct":0.088535,"quote_size_imbalance":null,"quote_age_s":0.408516},"context":{"vwap":11.160434,"price_vs_vwap_pct":1.160945,"ema9":11.280025,"ema20":11.23941,"ema_stack":true,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-1.976957,"dist_to_hod_atr":3.53464,"atr":0.06442,"spread_atr":0.155232,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.068414,"IWM":-0.023452}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.241389},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"5ed729c2fbdf","ts":"2026-08-28T15:01:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5113,"ext_from_open_pct":3.64,"max_ext_allowed_pct":4.0,"volume_pace":0.988,"trend":"flat","recent_slope_pct":-0.1889,"volatility":"medium"},"price":5.545,"volume":{"bars":91,"last_bar_volume":83544.0,"baseline_avg":63035.25,"bar_rvol":1.325354,"raw_accel":0.720889,"smooth_accel":-0.558555,"accel_momentum":-0.2728,"rvol_3bar":[0.644469,0.765366,1.325354],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":27039.0,"sell_vol":5236.0,"unclassified_vol":0.0,"imbalance":0.675538,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.961697},"context":{"vwap":5.511197,"price_vs_vwap_pct":0.613345,"ema9":5.558751,"ema20":5.550066,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.805009,"dist_to_hod_atr":1.692288,"atr":0.026591,"spread_atr":0.376064,"own_change_pct":-0.449236,"rel_strength_pct":{"SPY":-0.517651,"IWM":-0.472688}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.895327},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bd9b54ef2ee9","ts":"2026-08-28T15:01:05+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"held 680.0s, plan says PASS; stop 13.17, target 13.51 (ceiling), R:R 0.36; R:R 0.36 < 2.0 at 13.42; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":13.1714,"target":13.51,"target_label":"ceiling","reward_risk":0.36,"pos_in_5d_range_pct":29.4,"room_to_5d_high_atr":1.21},"price":13.42,"vwap":13.2681,"ext_from_open_pct":-0.81,"max_ext_allowed_pct":3.0,"volume_pace":1.459,"trend":"flat","recent_slope_pct":0.0149,"volatility":"medium"},"price":13.42,"volume":{"bars":91,"last_bar_volume":28630.0,"baseline_avg":56846.1,"bar_rvol":0.503641,"raw_accel":-0.69153,"smooth_accel":0.139101,"accel_momentum":-1.802412,"rvol_3bar":[1.786356,1.750221,0.503641],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":74,"trade_rate":2.466667,"buy_vol":18011.0,"sell_vol":23974.0,"unclassified_vol":0.0,"imbalance":-0.142027,"bid":13.41,"ask":13.42,"spread_pct":0.074543,"quote_size_imbalance":null,"quote_age_s":0.262069},"context":{"vwap":13.267143,"price_vs_vwap_pct":1.152145,"ema9":13.374371,"ema20":13.318678,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.032448,"dist_to_hod_atr":1.719896,"atr":0.0814,"spread_atr":0.12285,"own_change_pct":0.530724,"rel_strength_pct":{"SPY":0.46231,"IWM":0.507272}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.071531},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"2675045e6f7d","ts":"2026-08-28T15:01:10+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"held 365.0s, plan says PASS; stop 10.39, target 10.66 (prev_day_high), R:R 1.28; target 0.15 away > ~0.12 reachable in 294 min","plan":{"state":"PASS","setup":"","stop":10.3898,"target":10.66,"target_label":"prev_day_high","reward_risk":1.28,"pos_in_5d_range_pct":83.1,"room_to_5d_high_atr":0.32},"price":10.5085,"vwap":10.4596,"ext_from_open_pct":-0.19,"max_ext_allowed_pct":4.0,"volume_pace":0.887,"trend":"flat","recent_slope_pct":0.0352,"volatility":"medium"},"price":10.5085,"volume":{"bars":91,"last_bar_volume":164680.0,"baseline_avg":182696.6,"bar_rvol":0.901385,"raw_accel":-0.098563,"smooth_accel":-0.031535,"accel_momentum":0.206188,"rvol_3bar":[0.128133,1.03975,0.901385],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":160,"trade_rate":5.333333,"buy_vol":119458.0,"sell_vol":33570.0,"unclassified_vol":0.0,"imbalance":0.561257,"bid":10.5,"ask":10.51,"spread_pct":0.095193,"quote_size_imbalance":null,"quote_age_s":0.0546},"context":{"vwap":10.459431,"price_vs_vwap_pct":0.469136,"ema9":10.486353,"ema20":10.473107,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.55361,"dist_to_hod_atr":2.248038,"atr":0.026023,"spread_atr":0.38428,"own_change_pct":0.190749,"rel_strength_pct":{"SPY":0.122334,"IWM":0.167297}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.505909},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3075db08d241","ts":"2026-08-28T15:01:15+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"held 370.0s, plan says WATCH; stop 10.39, target 10.57 (ceiling), R:R 0.52; R:R 0.52 < 2.0 at 10.51; pullback: buy 10.45-10.48 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":10.3863,"target":10.567,"target_label":"ceiling","reward_risk":0.52,"pos_in_5d_range_pct":82.7,"room_to_5d_high_atr":0.33},"price":10.505,"vwap":10.4597,"ext_from_open_pct":-0.23,"max_ext_allowed_pct":4.0,"volume_pace":0.888,"trend":"flat","recent_slope_pct":0.0286,"volatility":"medium"},"price":10.505,"volume":{"bars":91,"last_bar_volume":164680.0,"baseline_avg":182696.6,"bar_rvol":0.901385,"raw_accel":-0.098563,"smooth_accel":-0.031535,"accel_momentum":0.206188,"rvol_3bar":[0.128133,1.03975,0.901385],"trend_3bar":"MIXED","projected_rvol":1.691635},"flow":{"window_s":30,"trades":168,"trade_rate":5.6,"buy_vol":139655.0,"sell_vol":33639.0,"unclassified_vol":0.0,"imbalance":0.61177,"bid":10.5,"ask":10.51,"spread_pct":0.095193,"quote_size_imbalance":null,"quote_age_s":0.284032},"context":{"vwap":10.459431,"price_vs_vwap_pct":0.435673,"ema9":10.486353,"ema20":10.473107,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.586732,"dist_to_hod_atr":2.382537,"atr":0.026023,"spread_atr":0.38428,"own_change_pct":0.190749,"rel_strength_pct":{"SPY":0.122334,"IWM":0.167297}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.55144},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"476e5419ace2","ts":"2026-08-28T15:01:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4647,"target":5.57,"target_label":"prev_day_high","reward_risk":0.4,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":1.52},"price":5.5401,"vwap":5.5113,"ext_from_open_pct":3.55,"max_ext_allowed_pct":3.0,"volume_pace":0.986,"trend":"flat","recent_slope_pct":-0.2065,"volatility":"medium"},"price":5.5401,"volume":{"bars":91,"last_bar_volume":83544.0,"baseline_avg":63035.25,"bar_rvol":1.325354,"raw_accel":0.720889,"smooth_accel":-0.558555,"accel_momentum":-0.2728,"rvol_3bar":[0.644469,0.765366,1.325354],"trend_3bar":"ACCELERATING","projected_rvol":1.003391},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":19335.0,"sell_vol":5104.0,"unclassified_vol":0.0,"imbalance":0.582307,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.143434},"context":{"vwap":5.511197,"price_vs_vwap_pct":0.524435,"ema9":5.558751,"ema20":5.550066,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.892665,"dist_to_hod_atr":1.87656,"atr":0.026591,"spread_atr":0.376064,"own_change_pct":-0.449236,"rel_strength_pct":{"SPY":-0.517651,"IWM":-0.472688}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.771763},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"47ac9d916ec8","ts":"2026-08-28T15:01:20+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.12 below VWAP $5.12","plan":{"state":"PASS","setup":"","stop":5.0326,"target":5.1793,"target_label":"ceiling","reward_risk":0.78,"pos_in_5d_range_pct":47.0,"room_to_5d_high_atr":1.08},"price":5.115,"vwap":5.1179,"ext_from_open_pct":1.69,"max_ext_allowed_pct":3.0,"volume_pace":0.968,"trend":"flat","recent_slope_pct":-0.0293,"volatility":"high"},"price":5.115,"volume":{"bars":91,"last_bar_volume":257.0,"baseline_avg":887.9,"bar_rvol":0.289447,"raw_accel":0.157788,"smooth_accel":-0.461885,"accel_momentum":0.306299,"rvol_3bar":[0.900941,0.146805,0.289447],"trend_3bar":"MIXED","projected_rvol":7.092015},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":509.0,"sell_vol":1593.0,"unclassified_vol":0.0,"imbalance":-0.515699,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":3.330939},"context":{"vwap":5.117851,"price_vs_vwap_pct":-0.055715,"ema9":5.122894,"ema20":5.119569,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.241481,"dist_to_hod_atr":7.039755,"atr":0.009134,"spread_atr":1.09483,"own_change_pct":-0.150165,"rel_strength_pct":{"SPY":-0.218579,"IWM":-0.173617}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.149268},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2ce3b1395a1c","ts":"2026-08-28T15:01:20+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"held 375.0s, plan says PASS; stop 10.39, target 10.66 (prev_day_high), R:R 1.28; target 0.15 away > ~0.12 reachable in 294 min","plan":{"state":"PASS","setup":"","stop":10.3898,"target":10.66,"target_label":"prev_day_high","reward_risk":1.28,"pos_in_5d_range_pct":83.1,"room_to_5d_high_atr":0.32},"price":10.5085,"vwap":10.4597,"ext_from_open_pct":-0.19,"max_ext_allowed_pct":4.0,"volume_pace":0.887,"trend":"flat","recent_slope_pct":0.0352,"volatility":"medium"},"price":10.5085,"volume":{"bars":91,"last_bar_volume":164680.0,"baseline_avg":182696.6,"bar_rvol":0.901385,"raw_accel":-0.098563,"smooth_accel":-0.031535,"accel_momentum":0.206188,"rvol_3bar":[0.128133,1.03975,0.901385],"trend_3bar":"MIXED","projected_rvol":1.321387},"flow":{"window_s":30,"trades":167,"trade_rate":5.566667,"buy_vol":138059.0,"sell_vol":26967.0,"unclassified_vol":0.0,"imbalance":0.673179,"bid":10.5,"ask":10.51,"spread_pct":0.095193,"quote_size_imbalance":null,"quote_age_s":0.59536},"context":{"vwap":10.459431,"price_vs_vwap_pct":0.469136,"ema9":10.486353,"ema20":10.473107,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.55361,"dist_to_hod_atr":2.248038,"atr":0.026023,"spread_atr":0.38428,"own_change_pct":0.190749,"rel_strength_pct":{"SPY":0.122334,"IWM":0.167297}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.606793},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"20c6e722be76","ts":"2026-08-28T15:01:25+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"held 380.0s, plan says WATCH; stop 10.38, target 10.57 (ceiling), R:R 0.56; R:R 0.56 < 2.0 at 10.50; pullback: buy 10.45-10.48 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":10.3813,"target":10.567,"target_label":"ceiling","reward_risk":0.56,"pos_in_5d_range_pct":82.1,"room_to_5d_high_atr":0.34},"price":10.5,"vwap":10.4596,"ext_from_open_pct":-0.28,"max_ext_allowed_pct":4.0,"volume_pace":0.886,"trend":"flat","recent_slope_pct":0.0191,"volatility":"medium"},"price":10.5,"volume":{"bars":91,"last_bar_volume":164680.0,"baseline_avg":182696.6,"bar_rvol":0.901385,"raw_accel":-0.098563,"smooth_accel":-0.031535,"accel_momentum":0.206188,"rvol_3bar":[0.128133,1.03975,0.901385],"trend_3bar":"MIXED","projected_rvol":1.058345},"flow":{"window_s":30,"trades":85,"trade_rate":2.833333,"buy_vol":112124.0,"sell_vol":15006.0,"unclassified_vol":0.0,"imbalance":0.763927,"bid":10.5,"ask":10.51,"spread_pct":0.095193,"quote_size_imbalance":null,"quote_age_s":1.572273},"context":{"vwap":10.459431,"price_vs_vwap_pct":0.38787,"ema9":10.486353,"ema20":10.473107,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.634049,"dist_to_hod_atr":2.574677,"atr":0.026023,"spread_atr":0.38428,"own_change_pct":0.190749,"rel_strength_pct":{"SPY":0.122334,"IWM":0.167297}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.688592},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2da13de9d262","ts":"2026-08-28T15:01:30+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.05 below VWAP $7.06","plan":{"state":"PASS","setup":"","stop":6.9573,"target":7.18,"target_label":"ceiling","reward_risk":1.33,"pos_in_5d_range_pct":-3.9,"room_to_5d_high_atr":1.89},"price":7.053,"vwap":7.0606,"ext_from_open_pct":-1.22,"max_ext_allowed_pct":4.0,"volume_pace":1.494,"trend":"flat","recent_slope_pct":0.0047,"volatility":"medium"},"price":7.053,"volume":{"bars":91,"last_bar_volume":46929.0,"baseline_avg":64633.75,"bar_rvol":0.726076,"raw_accel":0.137397,"smooth_accel":0.461997,"accel_momentum":0.637626,"rvol_3bar":[0.181968,0.613749,0.726076],"trend_3bar":"ACCELERATING","projected_rvol":0.288982},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":7943.0,"sell_vol":1396.0,"unclassified_vol":0.0,"imbalance":0.701039,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":0.003703},"context":{"vwap":7.060605,"price_vs_vwap_pct":-0.107706,"ema9":7.056791,"ema20":7.051435,"ema_stack":false,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.768802,"dist_to_hod_atr":5.787764,"atr":0.021943,"spread_atr":0.455729,"own_change_pct":0.205528,"rel_strength_pct":{"SPY":0.137114,"IWM":0.182076}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.509007},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"bf5407ea688f","ts":"2026-08-28T15:01:35+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.9693,"target":7.18,"target_label":"ceiling","reward_risk":1.2,"pos_in_5d_range_pct":-2.2,"room_to_5d_high_atr":1.85},"price":7.065,"vwap":7.0606,"ext_from_open_pct":-1.05,"max_ext_allowed_pct":3.0,"volume_pace":1.493,"trend":"flat","recent_slope_pct":0.0387,"volatility":"medium"},"price":7.065,"volume":{"bars":91,"last_bar_volume":46929.0,"baseline_avg":64633.75,"bar_rvol":0.726076,"raw_accel":0.137397,"smooth_accel":0.461997,"accel_momentum":0.637626,"rvol_3bar":[0.181968,0.613749,0.726076],"trend_3bar":"ACCELERATING","projected_rvol":0.260642},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":6201.0,"sell_vol":1446.0,"unclassified_vol":0.0,"imbalance":0.621812,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":1.68514},"context":{"vwap":7.060605,"price_vs_vwap_pct":0.062251,"ema9":7.056791,"ema20":7.051435,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.601671,"dist_to_hod_atr":5.240888,"atr":0.021943,"spread_atr":0.455729,"own_change_pct":0.205528,"rel_strength_pct":{"SPY":0.137114,"IWM":0.182076}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.451483},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"23c58a0b02cb","ts":"2026-08-28T15:01:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.4877,"target":6.0,"target_label":"range_20d_high","reward_risk":5.79,"pos_in_5d_range_pct":49.8,"room_to_5d_high_atr":1.45},"price":5.5631,"vwap":5.5118,"ext_from_open_pct":3.98,"max_ext_allowed_pct":3.0,"volume_pace":0.992,"trend":"flat","recent_slope_pct":-0.1237,"volatility":"medium"},"price":5.5631,"volume":{"bars":91,"last_bar_volume":83544.0,"baseline_avg":63035.25,"bar_rvol":1.325354,"raw_accel":0.720889,"smooth_accel":-0.558555,"accel_momentum":-0.2728,"rvol_3bar":[0.644469,0.765366,1.325354],"trend_3bar":"ACCELERATING","projected_rvol":2.24353},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":12329.0,"sell_vol":63369.0,"unclassified_vol":0.0,"imbalance":-0.674258,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.593963},"context":{"vwap":5.511197,"price_vs_vwap_pct":0.941768,"ema9":5.558751,"ema20":5.550066,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.481216,"dist_to_hod_atr":1.011612,"atr":0.026591,"spread_atr":0.376064,"own_change_pct":-0.449236,"rel_strength_pct":{"SPY":-0.517651,"IWM":-0.472688}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.893631},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7f0c6cc08ded","ts":"2026-08-28T15:01:40+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.06 below VWAP $7.06","plan":{"state":"PASS","setup":"","stop":6.9643,"target":7.18,"target_label":"ceiling","reward_risk":1.25,"pos_in_5d_range_pct":-2.9,"room_to_5d_high_atr":1.87},"price":7.06,"vwap":7.0606,"ext_from_open_pct":-1.12,"max_ext_allowed_pct":3.0,"volume_pace":1.491,"trend":"flat","recent_slope_pct":0.0245,"volatility":"medium"},"price":7.06,"volume":{"bars":91,"last_bar_volume":46929.0,"baseline_avg":64633.75,"bar_rvol":0.726076,"raw_accel":0.137397,"smooth_accel":0.461997,"accel_momentum":0.637626,"rvol_3bar":[0.181968,0.613749,0.726076],"trend_3bar":"ACCELERATING","projected_rvol":0.228921},"flow":{"window_s":30,"trades":39,"trade_rate":1.3,"buy_vol":5040.0,"sell_vol":1329.0,"unclassified_vol":0.0,"imbalance":0.582666,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":0.195968},"context":{"vwap":7.060605,"price_vs_vwap_pct":-0.008564,"ema9":7.056791,"ema20":7.051435,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.671309,"dist_to_hod_atr":5.468753,"atr":0.021943,"spread_atr":0.455729,"own_change_pct":0.205528,"rel_strength_pct":{"SPY":0.137114,"IWM":0.182076}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.42306},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ab11f496817f","ts":"2026-08-28T15:01:45+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5118,"ext_from_open_pct":3.64,"max_ext_allowed_pct":3.0,"volume_pace":0.993,"trend":"flat","recent_slope_pct":-0.1889,"volatility":"medium"},"price":5.545,"volume":{"bars":91,"last_bar_volume":83544.0,"baseline_avg":63035.25,"bar_rvol":1.325354,"raw_accel":0.720889,"smooth_accel":-0.558555,"accel_momentum":-0.2728,"rvol_3bar":[0.644469,0.765366,1.325354],"trend_3bar":"ACCELERATING","projected_rvol":2.289682},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":14316.0,"sell_vol":75248.0,"unclassified_vol":0.0,"imbalance":-0.680318,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":2.157766},"context":{"vwap":5.511197,"price_vs_vwap_pct":0.613345,"ema9":5.558751,"ema20":5.550066,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.805009,"dist_to_hod_atr":1.692288,"atr":0.026591,"spread_atr":0.376064,"own_change_pct":-0.449236,"rel_strength_pct":{"SPY":-0.517651,"IWM":-0.472688}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.901662},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"601e8f0e2fdf","ts":"2026-08-28T15:01:45+00:00","symbol":"TGB","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.53 below VWAP $9.53","plan":{"state":"PASS","setup":"","stop":9.4243,"target":9.72,"target_label":"prev_day_high","reward_risk":1.8,"pos_in_5d_range_pct":77.5,"room_to_5d_high_atr":0.45},"price":9.53,"vwap":9.5331,"ext_from_open_pct":-2.26,"max_ext_allowed_pct":3.0,"volume_pace":0.429,"trend":"flat","recent_slope_pct":0.0262,"volatility":"medium"},"price":9.53,"volume":{"bars":91,"last_bar_volume":17689.0,"baseline_avg":11822.6,"bar_rvol":1.496202,"raw_accel":1.844805,"smooth_accel":0.186044,"accel_momentum":-0.536115,"rvol_3bar":[0.344886,0.518757,1.496202],"trend_3bar":"ACCELERATING","projected_rvol":0.549231},"flow":{"window_s":30,"trades":25,"trade_rate":0.833333,"buy_vol":2954.0,"sell_vol":1119.0,"unclassified_vol":0.0,"imbalance":0.450528,"bid":9.53,"ask":9.54,"spread_pct":0.104877,"quote_size_imbalance":null,"quote_age_s":0.004503},"context":{"vwap":9.53308,"price_vs_vwap_pct":-0.032308,"ema9":9.525485,"ema20":9.509232,"ema_stack":true,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-2.953157,"dist_to_hod_atr":8.778426,"atr":0.033036,"spread_atr":0.302704,"own_change_pct":0.157315,"rel_strength_pct":{"SPY":0.088901,"IWM":0.133863}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.674081},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b824fb8b7f6f","ts":"2026-08-28T15:01:50+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":11.0873,"target":11.32,"target_label":"prev_day_high","reward_risk":0.39,"pos_in_5d_range_pct":91.0,"room_to_5d_high_atr":0.13},"price":11.255,"vwap":11.1608,"ext_from_open_pct":-1.96,"max_ext_allowed_pct":4.0,"volume_pace":2.38,"trend":"flat","recent_slope_pct":-0.124,"volatility":"medium"},"price":11.255,"volume":{"bars":91,"last_bar_volume":17586.0,"baseline_avg":28905.6,"bar_rvol":0.608394,"raw_accel":-0.333864,"smooth_accel":1.67187,"accel_momentum":-0.872261,"rvol_3bar":[3.633564,0.898824,0.608394],"trend_3bar":"DECELERATING","projected_rvol":0.591},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":2552.0,"sell_vol":2591.0,"unclassified_vol":0.0,"imbalance":-0.007583,"bid":11.25,"ask":11.26,"spread_pct":0.088849,"quote_size_imbalance":null,"quote_age_s":0.230743},"context":{"vwap":11.160434,"price_vs_vwap_pct":0.847337,"ema9":11.280025,"ema20":11.23941,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.280837,"dist_to_hod_atr":4.077953,"atr":0.06442,"spread_atr":0.155232,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.068414,"IWM":-0.023452}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.004614},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"1648b28ba1fa","ts":"2026-08-28T15:01:50+00:00","symbol":"TGB","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":9.4293,"target":9.72,"target_label":"prev_day_high","reward_risk":1.75,"pos_in_5d_range_pct":78.1,"room_to_5d_high_atr":0.44},"price":9.535,"vwap":9.5331,"ext_from_open_pct":-2.21,"max_ext_allowed_pct":4.0,"volume_pace":0.429,"trend":"flat","recent_slope_pct":0.0367,"volatility":"medium"},"price":9.535,"volume":{"bars":91,"last_bar_volume":17689.0,"baseline_avg":11822.6,"bar_rvol":1.496202,"raw_accel":1.844805,"smooth_accel":0.186044,"accel_momentum":-0.536115,"rvol_3bar":[0.344886,0.518757,1.496202],"trend_3bar":"ACCELERATING","projected_rvol":0.506488},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":3074.0,"sell_vol":1119.0,"unclassified_vol":0.0,"imbalance":0.466253,"bid":9.53,"ask":9.54,"spread_pct":0.104877,"quote_size_imbalance":null,"quote_age_s":0.136247},"context":{"vwap":9.53308,"price_vs_vwap_pct":0.020141,"ema9":9.525485,"ema20":9.509232,"ema_stack":true,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-2.90224,"dist_to_hod_atr":8.627074,"atr":0.033036,"spread_atr":0.302704,"own_change_pct":0.157315,"rel_strength_pct":{"SPY":0.088901,"IWM":0.133863}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.697609},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a73d45b81302","ts":"2026-08-28T15:02:10+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3838,"target":5.49,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.12},"price":5.435,"vwap":5.4356,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":3.0,"volume_pace":1.581,"trend":"flat","recent_slope_pct":-0.0401,"volatility":"medium"},"price":5.435,"volume":{"bars":92,"last_bar_volume":39927.0,"baseline_avg":49977.9,"bar_rvol":0.798893,"raw_accel":1.62574,"smooth_accel":-0.428729,"accel_momentum":0.428233,"rvol_3bar":[0.394969,0.300622,0.798893],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":187,"trade_rate":6.233333,"buy_vol":40494.0,"sell_vol":111699.0,"unclassified_vol":0.0,"imbalance":-0.46786,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":1.645029},"context":{"vwap":5.435515,"price_vs_vwap_pct":-0.009479,"ema9":5.437796,"ema20":5.432668,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.001821,"dist_to_hod_atr":3.425924,"atr":0.016054,"spread_atr":0.622895,"own_change_pct":0.150874,"rel_strength_pct":{"SPY":0.108266,"IWM":0.164282}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.37377},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"be89a412066e","ts":"2026-08-28T15:02:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.0% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4873,"target":6.0,"target_label":"range_20d_high","reward_risk":5.8,"pos_in_5d_range_pct":49.7,"room_to_5d_high_atr":1.45},"price":5.5627,"vwap":5.5118,"ext_from_open_pct":3.98,"max_ext_allowed_pct":3.0,"volume_pace":0.99,"trend":"flat","recent_slope_pct":-0.0576,"volatility":"medium"},"price":5.5627,"volume":{"bars":92,"last_bar_volume":118516.0,"baseline_avg":65510.7,"bar_rvol":1.809109,"raw_accel":0.418606,"smooth_accel":-0.386309,"accel_momentum":0.172247,"rvol_3bar":[0.765366,1.325354,1.809109],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":39,"trade_rate":1.3,"buy_vol":6185.0,"sell_vol":21197.0,"unclassified_vol":0.0,"imbalance":-0.548243,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.914041},"context":{"vwap":5.511809,"price_vs_vwap_pct":0.9233,"ema9":5.555021,"ema20":5.549117,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.488372,"dist_to_hod_atr":1.028842,"atr":0.026535,"spread_atr":0.376865,"own_change_pct":-0.536804,"rel_strength_pct":{"SPY":-0.579413,"IWM":-0.523396}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.991832},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"97eb845d1813","ts":"2026-08-28T15:02:10+00:00","symbol":"TGB","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.53 below VWAP $9.53","plan":{"state":"PASS","setup":"","stop":9.4243,"target":9.72,"target_label":"prev_day_high","reward_risk":1.8,"pos_in_5d_range_pct":77.5,"room_to_5d_high_atr":0.45},"price":9.53,"vwap":9.5331,"ext_from_open_pct":-2.26,"max_ext_allowed_pct":3.0,"volume_pace":0.428,"trend":"flat","recent_slope_pct":0.021,"volatility":"medium"},"price":9.53,"volume":{"bars":92,"last_bar_volume":4990.0,"baseline_avg":11598.95,"bar_rvol":0.430211,"raw_accel":-0.717904,"smooth_accel":0.129318,"accel_momentum":-0.056725,"rvol_3bar":[0.518757,1.496202,0.430211],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":1272.0,"sell_vol":23.0,"unclassified_vol":0.0,"imbalance":0.964479,"bid":9.53,"ask":9.54,"spread_pct":0.104877,"quote_size_imbalance":null,"quote_age_s":0.445779},"context":{"vwap":9.533109,"price_vs_vwap_pct":-0.032612,"ema9":9.527388,"ema20":9.511686,"ema_stack":true,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-2.953157,"dist_to_hod_atr":9.033022,"atr":0.032104,"spread_atr":0.311484,"own_change_pct":-0.052411,"rel_strength_pct":{"SPY":-0.095019,"IWM":-0.039002}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":1,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.41493},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"32fd5e02700b","ts":"2026-08-28T15:02:10+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 140.0s, plan says PASS; stop 10.85, target 11.14 (ceiling), R:R 0.45; R:R 0.45 < 2.0 at 11.05; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":10.8502,"target":11.14,"target_label":"ceiling","reward_risk":0.45,"pos_in_5d_range_pct":-7.5,"room_to_5d_high_atr":1.59},"price":11.05,"vwap":11.009,"ext_from_open_pct":-0.81,"max_ext_allowed_pct":3.0,"volume_pace":1.464,"trend":"flat","recent_slope_pct":-0.0271,"volatility":"high"},"price":11.05,"volume":{"bars":92,"last_bar_volume":13611.0,"baseline_avg":14988.95,"bar_rvol":0.908069,"raw_accel":1.743047,"smooth_accel":-0.183287,"accel_momentum":-0.314646,"rvol_3bar":[0.416428,0.263502,0.908069],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":79,"trade_rate":2.633333,"buy_vol":2933.0,"sell_vol":10282.0,"unclassified_vol":0.0,"imbalance":-0.55611,"bid":11.04,"ask":11.05,"spread_pct":0.090539,"quote_size_imbalance":null,"quote_age_s":0.228447},"context":{"vwap":11.008928,"price_vs_vwap_pct":0.373079,"ema9":11.06596,"ema20":11.062212,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.179585,"dist_to_hod_atr":3.165582,"atr":0.041667,"spread_atr":0.239999,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.042608,"IWM":0.013408}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.504987},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8f67ab0e90a1","ts":"2026-08-28T15:02:15+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3901,"target":5.49,"target_label":"ceiling","reward_risk":0.95,"pos_in_5d_range_pct":94.5,"room_to_5d_high_atr":0.09},"price":5.4413,"vwap":5.4356,"ext_from_open_pct":-0.52,"max_ext_allowed_pct":3.0,"volume_pace":1.58,"trend":"flat","recent_slope_pct":-0.0169,"volatility":"medium"},"price":5.4413,"volume":{"bars":92,"last_bar_volume":39927.0,"baseline_avg":49977.9,"bar_rvol":0.798893,"raw_accel":1.62574,"smooth_accel":-0.428729,"accel_momentum":0.428233,"rvol_3bar":[0.394969,0.300622,0.798893],"trend_3bar":"MIXED","projected_rvol":9.895494},"flow":{"window_s":30,"trades":190,"trade_rate":6.333333,"buy_vol":40481.0,"sell_vol":111800.0,"unclassified_vol":0.0,"imbalance":-0.468338,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.777785},"context":{"vwap":5.435515,"price_vs_vwap_pct":0.106425,"ema9":5.437796,"ema20":5.432668,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.887067,"dist_to_hod_atr":3.0335,"atr":0.016054,"spread_atr":0.622895,"own_change_pct":0.150874,"rel_strength_pct":{"SPY":0.108266,"IWM":0.164282}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.374152},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"96b7e2ccd64d","ts":"2026-08-28T15:02:15+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4648,"target":5.57,"target_label":"prev_day_high","reward_risk":0.4,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":1.52},"price":5.5402,"vwap":5.5118,"ext_from_open_pct":3.56,"max_ext_allowed_pct":3.0,"volume_pace":0.99,"trend":"flat","recent_slope_pct":-0.1387,"volatility":"medium"},"price":5.5402,"volume":{"bars":92,"last_bar_volume":118516.0,"baseline_avg":65510.7,"bar_rvol":1.809109,"raw_accel":0.418606,"smooth_accel":-0.386309,"accel_momentum":0.172247,"rvol_3bar":[0.765366,1.325354,1.809109],"trend_3bar":"ACCELERATING","projected_rvol":0.372092},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":4252.0,"sell_vol":12110.0,"unclassified_vol":0.0,"imbalance":-0.480259,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":1.446419},"context":{"vwap":5.511809,"price_vs_vwap_pct":0.515085,"ema9":5.555021,"ema20":5.549117,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.890877,"dist_to_hod_atr":1.876788,"atr":0.026535,"spread_atr":0.376865,"own_change_pct":-0.536804,"rel_strength_pct":{"SPY":-0.579413,"IWM":-0.523396}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.868841},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6035ce742197","ts":"2026-08-28T15:02:20+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3838,"target":5.49,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.12},"price":5.435,"vwap":5.4356,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":3.0,"volume_pace":1.579,"trend":"flat","recent_slope_pct":-0.0401,"volatility":"medium"},"price":5.435,"volume":{"bars":92,"last_bar_volume":39927.0,"baseline_avg":49977.9,"bar_rvol":0.798893,"raw_accel":1.62574,"smooth_accel":-0.428729,"accel_momentum":0.428233,"rvol_3bar":[0.394969,0.300622,0.798893],"trend_3bar":"MIXED","projected_rvol":7.496654},"flow":{"window_s":30,"trades":193,"trade_rate":6.433333,"buy_vol":34941.0,"sell_vol":111927.0,"unclassified_vol":0.0,"imbalance":-0.524185,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.627976},"context":{"vwap":5.435515,"price_vs_vwap_pct":-0.009479,"ema9":5.437796,"ema20":5.432668,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.001821,"dist_to_hod_atr":3.425924,"atr":0.016054,"spread_atr":0.622895,"own_change_pct":0.150874,"rel_strength_pct":{"SPY":0.108266,"IWM":0.164282}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.418768},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"97cb82b2a5d0","ts":"2026-08-28T15:02:20+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.0436,"target":5.1793,"target_label":"ceiling","reward_risk":0.65,"pos_in_5d_range_pct":48.7,"room_to_5d_high_atr":1.04},"price":5.126,"vwap":5.1179,"ext_from_open_pct":1.91,"max_ext_allowed_pct":4.0,"volume_pace":0.962,"trend":"flat","recent_slope_pct":0.0039,"volatility":"high"},"price":5.126,"volume":{"bars":92,"last_bar_volume":2804.0,"baseline_avg":865.45,"bar_rvol":3.239933,"raw_accel":9.910506,"smooth_accel":2.096993,"accel_momentum":2.558879,"rvol_3bar":[0.146805,0.289447,3.239933],"trend_3bar":"ACCELERATING","projected_rvol":0.689815},"flow":{"window_s":30,"trades":7,"trade_rate":0.233333,"buy_vol":403.0,"sell_vol":72.0,"unclassified_vol":0.0,"imbalance":0.696842,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":16.019379},"context":{"vwap":5.117879,"price_vs_vwap_pct":0.158675,"ema9":5.122315,"ema20":5.11961,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.029097,"dist_to_hod_atr":5.796182,"atr":0.009196,"spread_atr":1.087464,"own_change_pct":-0.097561,"rel_strength_pct":{"SPY":-0.140169,"IWM":-0.084153}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":2.257722},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f386af171caa","ts":"2026-08-28T15:02:25+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.78 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6418,"target":5.92,"target_label":"ceiling","reward_risk":1.09,"pos_in_5d_range_pct":-12.8,"room_to_5d_high_atr":1.41},"price":5.775,"vwap":5.7785,"ext_from_open_pct":-1.79,"max_ext_allowed_pct":3.0,"volume_pace":1.594,"trend":"flat","recent_slope_pct":-0.0649,"volatility":"high"},"price":5.775,"volume":{"bars":92,"last_bar_volume":31781.0,"baseline_avg":75209.05,"bar_rvol":0.422569,"raw_accel":-0.392089,"smooth_accel":1.02791,"accel_momentum":0.971231,"rvol_3bar":[0.549362,0.613352,0.422569],"trend_3bar":"MIXED","projected_rvol":0.980659},"flow":{"window_s":30,"trades":103,"trade_rate":3.433333,"buy_vol":3517.0,"sell_vol":27767.0,"unclassified_vol":0.0,"imbalance":-0.775157,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":3.130982},"context":{"vwap":5.778451,"price_vs_vwap_pct":-0.059719,"ema9":5.792939,"ema20":5.79027,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.613828,"dist_to_hod_atr":7.33238,"atr":0.021139,"spread_atr":0.473057,"own_change_pct":0.041451,"rel_strength_pct":{"SPY":-0.001158,"IWM":0.054859}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.327557},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e79b2ee73253","ts":"2026-08-28T15:02:35+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.55 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3747,"target":9.73,"target_label":"premarket_high","reward_risk":1.03,"pos_in_5d_range_pct":51.5,"room_to_5d_high_atr":1.01},"price":9.55,"vwap":9.5619,"ext_from_open_pct":-0.73,"max_ext_allowed_pct":3.0,"volume_pace":1.103,"trend":"flat","recent_slope_pct":-0.0827,"volatility":"high"},"price":9.55,"volume":{"bars":92,"last_bar_volume":168576.0,"baseline_avg":106851.4,"bar_rvol":1.577668,"raw_accel":0.214253,"smooth_accel":-0.358225,"accel_momentum":0.161009,"rvol_3bar":[0.932523,1.375472,1.577668],"trend_3bar":"ACCELERATING","projected_rvol":1.371475},"flow":{"window_s":30,"trades":195,"trade_rate":6.5,"buy_vol":51279.0,"sell_vol":23460.0,"unclassified_vol":0.0,"imbalance":0.372215,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":1.210888},"context":{"vwap":9.561879,"price_vs_vwap_pct":-0.124237,"ema9":9.583315,"ema20":9.56661,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.947154,"dist_to_hod_atr":6.513275,"atr":0.044524,"spread_atr":0.224596,"own_change_pct":0.035448,"rel_strength_pct":{"SPY":-0.007161,"IWM":0.048856}},"vas":{"raw":2,"score":5.6,"components":{"rvol":1,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.587232},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"de3162151886","ts":"2026-08-28T15:02:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4809,"target":6.0,"target_label":"range_20d_high","reward_risk":5.88,"pos_in_5d_range_pct":49.0,"room_to_5d_high_atr":1.47},"price":5.5563,"vwap":5.5119,"ext_from_open_pct":3.86,"max_ext_allowed_pct":3.0,"volume_pace":0.987,"trend":"flat","recent_slope_pct":-0.0807,"volatility":"medium"},"price":5.5563,"volume":{"bars":92,"last_bar_volume":118516.0,"baseline_avg":65510.7,"bar_rvol":1.809109,"raw_accel":0.418606,"smooth_accel":-0.386309,"accel_momentum":0.172247,"rvol_3bar":[0.765366,1.325354,1.809109],"trend_3bar":"ACCELERATING","projected_rvol":0.35946},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":2958.0,"sell_vol":9594.0,"unclassified_vol":0.0,"imbalance":-0.528681,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.904722},"context":{"vwap":5.511809,"price_vs_vwap_pct":0.807185,"ema9":5.555021,"ema20":5.549117,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.602862,"dist_to_hod_atr":1.270035,"atr":0.026535,"spread_atr":0.376865,"own_change_pct":-0.536804,"rel_strength_pct":{"SPY":-0.579413,"IWM":-0.523396}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.956441},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2fd01a4c7dda","ts":"2026-08-28T15:02:40+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.09 below VWAP $5.12","plan":{"state":"PASS","setup":"","stop":5.0126,"target":5.1793,"target_label":"ceiling","reward_risk":1.02,"pos_in_5d_range_pct":44.0,"room_to_5d_high_atr":1.14},"price":5.095,"vwap":5.117,"ext_from_open_pct":1.29,"max_ext_allowed_pct":3.0,"volume_pace":1.017,"trend":"flat","recent_slope_pct":-0.1173,"volatility":"high"},"price":5.095,"volume":{"bars":92,"last_bar_volume":2804.0,"baseline_avg":865.45,"bar_rvol":3.239933,"raw_accel":9.910506,"smooth_accel":2.096993,"accel_momentum":2.558879,"rvol_3bar":[0.146805,0.289447,3.239933],"trend_3bar":"ACCELERATING","projected_rvol":23.328904},"flow":{"window_s":30,"trades":108,"trade_rate":3.6,"buy_vol":4858.0,"sell_vol":8602.0,"unclassified_vol":0.0,"imbalance":-0.278158,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.196461},"context":{"vwap":5.117879,"price_vs_vwap_pct":-0.447045,"ema9":5.122315,"ema20":5.11961,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.627633,"dist_to_hod_atr":9.16732,"atr":0.009196,"spread_atr":1.087464,"own_change_pct":-0.097561,"rel_strength_pct":{"SPY":-0.140169,"IWM":-0.084153}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.901212},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5579de9e2af2","ts":"2026-08-28T15:02:40+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.6468,"target":5.92,"target_label":"ceiling","reward_risk":1.05,"pos_in_5d_range_pct":-12.0,"room_to_5d_high_atr":1.4},"price":5.78,"vwap":5.7785,"ext_from_open_pct":-1.7,"max_ext_allowed_pct":3.0,"volume_pace":1.593,"trend":"flat","recent_slope_pct":-0.0477,"volatility":"high"},"price":5.78,"volume":{"bars":92,"last_bar_volume":31781.0,"baseline_avg":75209.05,"bar_rvol":0.422569,"raw_accel":-0.392089,"smooth_accel":1.02791,"accel_momentum":0.971231,"rvol_3bar":[0.549362,0.613352,0.422569],"trend_3bar":"MIXED","projected_rvol":0.949015},"flow":{"window_s":30,"trades":103,"trade_rate":3.433333,"buy_vol":3231.0,"sell_vol":42807.0,"unclassified_vol":0.0,"imbalance":-0.859638,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.7171},"context":{"vwap":5.778451,"price_vs_vwap_pct":0.026809,"ema9":5.792939,"ema20":5.79027,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.529511,"dist_to_hod_atr":7.095852,"atr":0.021139,"spread_atr":0.473057,"own_change_pct":0.041451,"rel_strength_pct":{"SPY":-0.001158,"IWM":0.054859}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.363256},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"051a99797337","ts":"2026-08-28T15:02:45+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4646,"target":5.57,"target_label":"prev_day_high","reward_risk":0.4,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":1.52},"price":5.54,"vwap":5.5119,"ext_from_open_pct":3.55,"max_ext_allowed_pct":3.0,"volume_pace":0.986,"trend":"flat","recent_slope_pct":-0.1395,"volatility":"medium"},"price":5.54,"volume":{"bars":92,"last_bar_volume":118516.0,"baseline_avg":65510.7,"bar_rvol":1.809109,"raw_accel":0.418606,"smooth_accel":-0.386309,"accel_momentum":0.172247,"rvol_3bar":[0.765366,1.325354,1.809109],"trend_3bar":"ACCELERATING","projected_rvol":0.324324},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":2929.0,"sell_vol":6912.0,"unclassified_vol":0.0,"imbalance":-0.404735,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":1.404657},"context":{"vwap":5.511809,"price_vs_vwap_pct":0.511457,"ema9":5.555021,"ema20":5.549117,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.894454,"dist_to_hod_atr":1.884325,"atr":0.026535,"spread_atr":0.376865,"own_change_pct":-0.536804,"rel_strength_pct":{"SPY":-0.579413,"IWM":-0.523396}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.73221},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2f7f1c2f968e","ts":"2026-08-28T15:02:45+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.77 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6396,"target":5.92,"target_label":"ceiling","reward_risk":1.11,"pos_in_5d_range_pct":-13.1,"room_to_5d_high_atr":1.41},"price":5.7728,"vwap":5.7785,"ext_from_open_pct":-1.82,"max_ext_allowed_pct":3.0,"volume_pace":1.593,"trend":"flat","recent_slope_pct":-0.0726,"volatility":"high"},"price":5.7728,"volume":{"bars":92,"last_bar_volume":31781.0,"baseline_avg":75209.05,"bar_rvol":0.422569,"raw_accel":-0.392089,"smooth_accel":1.02791,"accel_momentum":0.971231,"rvol_3bar":[0.549362,0.613352,0.422569],"trend_3bar":"MIXED","projected_rvol":0.945259},"flow":{"window_s":30,"trades":108,"trade_rate":3.6,"buy_vol":3393.0,"sell_vol":48268.0,"unclassified_vol":0.0,"imbalance":-0.868644,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.85051},"context":{"vwap":5.778451,"price_vs_vwap_pct":-0.097792,"ema9":5.792939,"ema20":5.79027,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.650927,"dist_to_hod_atr":7.436453,"atr":0.021139,"spread_atr":0.473057,"own_change_pct":0.041451,"rel_strength_pct":{"SPY":-0.001158,"IWM":0.054859}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.367062},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"da9bc7df0283","ts":"2026-08-28T15:02:50+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3905,"target":5.49,"target_label":"ceiling","reward_risk":0.94,"pos_in_5d_range_pct":94.6,"room_to_5d_high_atr":0.09},"price":5.4417,"vwap":5.4356,"ext_from_open_pct":-0.52,"max_ext_allowed_pct":3.0,"volume_pace":1.573,"trend":"flat","recent_slope_pct":-0.0154,"volatility":"medium"},"price":5.4417,"volume":{"bars":92,"last_bar_volume":39927.0,"baseline_avg":49977.9,"bar_rvol":0.798893,"raw_accel":1.62574,"smooth_accel":-0.428729,"accel_momentum":0.428233,"rvol_3bar":[0.394969,0.300622,0.798893],"trend_3bar":"MIXED","projected_rvol":3.242465},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":327.0,"sell_vol":9827.0,"unclassified_vol":0.0,"imbalance":-0.935592,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.687154},"context":{"vwap":5.435515,"price_vs_vwap_pct":0.113784,"ema9":5.437796,"ema20":5.432668,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.879781,"dist_to_hod_atr":3.008584,"atr":0.016054,"spread_atr":0.622895,"own_change_pct":0.150874,"rel_strength_pct":{"SPY":0.108266,"IWM":0.164282}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.747438},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6c797428d3ee","ts":"2026-08-28T15:02:55+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3838,"target":5.49,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.12},"price":5.435,"vwap":5.4356,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":3.0,"volume_pace":1.572,"trend":"flat","recent_slope_pct":-0.0401,"volatility":"medium"},"price":5.435,"volume":{"bars":92,"last_bar_volume":39927.0,"baseline_avg":49977.9,"bar_rvol":0.798893,"raw_accel":1.62574,"smooth_accel":-0.428729,"accel_momentum":0.428233,"rvol_3bar":[0.394969,0.300622,0.798893],"trend_3bar":"MIXED","projected_rvol":2.988208},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":1027.0,"sell_vol":8855.0,"unclassified_vol":0.0,"imbalance":-0.792147,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":5.687154},"context":{"vwap":5.435515,"price_vs_vwap_pct":-0.009479,"ema9":5.437796,"ema20":5.432668,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.001821,"dist_to_hod_atr":3.425924,"atr":0.016054,"spread_atr":0.622895,"own_change_pct":0.150874,"rel_strength_pct":{"SPY":0.108266,"IWM":0.164282}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.632841},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ce734fc6bb8b","ts":"2026-08-28T15:02:55+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3933,"target":9.73,"target_label":"premarket_high","reward_risk":0.92,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":0.98},"price":9.5686,"vwap":9.562,"ext_from_open_pct":-0.53,"max_ext_allowed_pct":3.0,"volume_pace":1.101,"trend":"flat","recent_slope_pct":-0.0438,"volatility":"high"},"price":9.5686,"volume":{"bars":92,"last_bar_volume":168576.0,"baseline_avg":106851.4,"bar_rvol":1.577668,"raw_accel":0.214253,"smooth_accel":-0.358225,"accel_momentum":0.161009,"rvol_3bar":[0.932523,1.375472,1.577668],"trend_3bar":"ACCELERATING","projected_rvol":1.014374},"flow":{"window_s":30,"trades":80,"trade_rate":2.666667,"buy_vol":9646.0,"sell_vol":8167.0,"unclassified_vol":0.0,"imbalance":0.083029,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.004925},"context":{"vwap":9.561879,"price_vs_vwap_pct":0.070285,"ema9":9.583315,"ema20":9.56661,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.75813,"dist_to_hod_atr":6.095527,"atr":0.044524,"spread_atr":0.224596,"own_change_pct":0.035448,"rel_strength_pct":{"SPY":-0.007161,"IWM":0.048856}},"vas":{"raw":0,"score":4.4,"components":{"rvol":1,"accel":-2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.130993},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"037001f36392","ts":"2026-08-28T15:03:00+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.36x normal below floor 0.4x","plan":{"state":"WATCH","setup":"","stop":5.0189,"target":5.18,"target_label":"premarket_high","reward_risk":0.5,"pos_in_5d_range_pct":33.7,"room_to_5d_high_atr":1.35},"price":5.1265,"vwap":5.0701,"ext_from_open_pct":1.31,"max_ext_allowed_pct":3.0,"volume_pace":0.363,"trend":"flat","recent_slope_pct":-0.085,"volatility":"high"},"price":5.1265,"volume":{"bars":92,"last_bar_volume":4655.0,"baseline_avg":30437.75,"bar_rvol":0.152935,"raw_accel":-0.868566,"smooth_accel":-0.276987,"accel_momentum":-0.11081,"rvol_3bar":[0.876694,1.226028,0.152935],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":736.0,"sell_vol":3929.0,"unclassified_vol":0.0,"imbalance":-0.684459,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":0.503569},"context":{"vwap":5.06984,"price_vs_vwap_pct":1.117585,"ema9":5.115521,"ema20":5.108216,"ema_stack":true,"ema_warm":true,"hod":5.165,"dist_to_hod_pct":-0.745402,"dist_to_hod_atr":1.224593,"atr":0.031439,"spread_atr":0.318076,"own_change_pct":-0.148731,"rel_strength_pct":{"SPY":-0.172608,"IWM":-0.075002}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.104678},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"44ea4ccb4653","ts":"2026-08-28T15:03:00+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.6473,"target":5.92,"target_label":"ceiling","reward_risk":1.05,"pos_in_5d_range_pct":-12.0,"room_to_5d_high_atr":1.4},"price":5.7805,"vwap":5.7785,"ext_from_open_pct":-1.69,"max_ext_allowed_pct":3.0,"volume_pace":1.59,"trend":"flat","recent_slope_pct":-0.0459,"volatility":"high"},"price":5.7805,"volume":{"bars":92,"last_bar_volume":31781.0,"baseline_avg":75209.05,"bar_rvol":0.422569,"raw_accel":-0.392089,"smooth_accel":1.02791,"accel_momentum":0.971231,"rvol_3bar":[0.549362,0.613352,0.422569],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":1783.0,"sell_vol":21623.0,"unclassified_vol":0.0,"imbalance":-0.847646,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.004034},"context":{"vwap":5.778451,"price_vs_vwap_pct":0.035462,"ema9":5.792939,"ema20":5.79027,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.521079,"dist_to_hod_atr":7.072199,"atr":0.021139,"spread_atr":0.473057,"own_change_pct":0.041451,"rel_strength_pct":{"SPY":0.017574,"IWM":0.11518}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.358189},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"1cd77c071eb9","ts":"2026-08-28T15:03:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4646,"target":5.57,"target_label":"prev_day_high","reward_risk":0.4,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":1.52},"price":5.54,"vwap":5.5119,"ext_from_open_pct":3.55,"max_ext_allowed_pct":3.0,"volume_pace":0.983,"trend":"flat","recent_slope_pct":-0.0451,"volatility":"medium"},"price":5.54,"volume":{"bars":93,"last_bar_volume":16601.0,"baseline_avg":69762.55,"bar_rvol":0.237964,"raw_accel":-0.859926,"smooth_accel":-0.110259,"accel_momentum":0.27605,"rvol_3bar":[1.325354,1.809109,0.237964],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":2069.0,"sell_vol":3001.0,"unclassified_vol":0.0,"imbalance":-0.183826,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.172998},"context":{"vwap":5.511899,"price_vs_vwap_pct":0.509828,"ema9":5.554017,"ema20":5.549201,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.894454,"dist_to_hod_atr":1.903979,"atr":0.026261,"spread_atr":0.380796,"own_change_pct":-0.582176,"rel_strength_pct":{"SPY":-0.606053,"IWM":-0.508447}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.043744},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d10dfd072f49","ts":"2026-08-28T15:03:05+00:00","symbol":"LCID","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.36x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":4.9636,"target":5.1522,"target_label":"ceiling","reward_risk":0.75,"pos_in_5d_range_pct":27.4,"room_to_5d_high_atr":1.48},"price":5.0712,"vwap":5.0701,"ext_from_open_pct":0.22,"max_ext_allowed_pct":3.0,"volume_pace":0.362,"trend":"flat","recent_slope_pct":-0.2077,"volatility":"high"},"price":5.0712,"volume":{"bars":93,"last_bar_volume":19265.0,"baseline_avg":30209.75,"bar_rvol":0.637708,"raw_accel":1.550832,"smooth_accel":-0.444072,"accel_momentum":-0.167084,"rvol_3bar":[1.226028,0.152935,0.637708],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":734.0,"sell_vol":3881.0,"unclassified_vol":0.0,"imbalance":-0.681907,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":1.07941},"context":{"vwap":5.07012,"price_vs_vwap_pct":0.021303,"ema9":5.117717,"ema20":5.109957,"ema_stack":false,"ema_warm":true,"hod":5.165,"dist_to_hod_pct":-1.81607,"dist_to_hod_atr":2.821008,"atr":0.033251,"spread_atr":0.300747,"own_change_pct":-0.456311,"rel_strength_pct":{"SPY":-0.480187,"IWM":-0.382582}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.434857},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"970b1f96c846","ts":"2026-08-28T15:03:05+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.77 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6338,"target":5.92,"target_label":"ceiling","reward_risk":1.15,"pos_in_5d_range_pct":-14.0,"room_to_5d_high_atr":1.42},"price":5.767,"vwap":5.7785,"ext_from_open_pct":-1.92,"max_ext_allowed_pct":3.0,"volume_pace":1.591,"trend":"flat","recent_slope_pct":-0.1046,"volatility":"high"},"price":5.767,"volume":{"bars":93,"last_bar_volume":59969.0,"baseline_avg":72270.0,"bar_rvol":0.829791,"raw_accel":0.886945,"smooth_accel":1.110006,"accel_momentum":0.082096,"rvol_3bar":[0.613352,0.422569,0.829791],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":88,"trade_rate":2.933333,"buy_vol":3912.0,"sell_vol":25245.0,"unclassified_vol":0.0,"imbalance":-0.73166,"bid":5.76,"ask":5.77,"spread_pct":0.173461,"quote_size_imbalance":null,"quote_age_s":0.847108},"context":{"vwap":5.778468,"price_vs_vwap_pct":-0.198461,"ema9":5.790451,"ema20":5.78934,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.748735,"dist_to_hod_atr":7.678113,"atr":0.021229,"spread_atr":0.47105,"own_change_pct":-0.250216,"rel_strength_pct":{"SPY":-0.274092,"IWM":-0.176487}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":3,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.607125},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f62080de5c4e","ts":"2026-08-28T15:03:05+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3847,"target":9.73,"target_label":"premarket_high","reward_risk":0.97,"pos_in_5d_range_pct":52.2,"room_to_5d_high_atr":0.99},"price":9.56,"vwap":9.562,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":3.0,"volume_pace":1.099,"trend":"flat","recent_slope_pct":-0.075,"volatility":"high"},"price":9.56,"volume":{"bars":93,"last_bar_volume":101894.0,"baseline_avg":114468.4,"bar_rvol":0.89015,"raw_accel":-0.39556,"smooth_accel":-0.201401,"accel_momentum":0.156824,"rvol_3bar":[1.375472,1.577668,0.89015],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":71,"trade_rate":2.366667,"buy_vol":8817.0,"sell_vol":7721.0,"unclassified_vol":0.0,"imbalance":0.066272,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.514866},"context":{"vwap":9.561973,"price_vs_vwap_pct":-0.020629,"ema9":9.580232,"ema20":9.566732,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.845528,"dist_to_hod_atr":6.283886,"atr":0.044558,"spread_atr":0.224424,"own_change_pct":-0.231489,"rel_strength_pct":{"SPY":-0.255365,"IWM":-0.15776}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.058992},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f4638bfd15a6","ts":"2026-08-28T15:03:10+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3897,"target":9.73,"target_label":"premarket_high","reward_risk":0.94,"pos_in_5d_range_pct":52.6,"room_to_5d_high_atr":0.98},"price":9.565,"vwap":9.562,"ext_from_open_pct":-0.57,"max_ext_allowed_pct":3.0,"volume_pace":1.099,"trend":"flat","recent_slope_pct":-0.0645,"volatility":"high"},"price":9.565,"volume":{"bars":93,"last_bar_volume":101894.0,"baseline_avg":114468.4,"bar_rvol":0.89015,"raw_accel":-0.39556,"smooth_accel":-0.201401,"accel_momentum":0.156824,"rvol_3bar":[1.375472,1.577668,0.89015],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":73,"trade_rate":2.433333,"buy_vol":8135.0,"sell_vol":15120.0,"unclassified_vol":0.0,"imbalance":-0.300366,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.145245},"context":{"vwap":9.561973,"price_vs_vwap_pct":0.031662,"ema9":9.580232,"ema20":9.566732,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.794715,"dist_to_hod_atr":6.171673,"atr":0.044558,"spread_atr":0.224424,"own_change_pct":-0.231489,"rel_strength_pct":{"SPY":-0.255365,"IWM":-0.15776}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.26737},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bb4ace54fdb8","ts":"2026-08-28T15:03:30+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4646,"target":5.57,"target_label":"prev_day_high","reward_risk":0.4,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":1.52},"price":5.54,"vwap":5.5119,"ext_from_open_pct":3.55,"max_ext_allowed_pct":4.0,"volume_pace":0.979,"trend":"flat","recent_slope_pct":-0.0451,"volatility":"medium"},"price":5.54,"volume":{"bars":93,"last_bar_volume":16601.0,"baseline_avg":69762.55,"bar_rvol":0.237964,"raw_accel":-0.859926,"smooth_accel":-0.110259,"accel_momentum":0.27605,"rvol_3bar":[1.325354,1.809109,0.237964],"trend_3bar":"MIXED","projected_rvol":0.199763},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":3238.0,"sell_vol":3730.0,"unclassified_vol":0.0,"imbalance":-0.070608,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.001356},"context":{"vwap":5.511899,"price_vs_vwap_pct":0.509828,"ema9":5.554017,"ema20":5.549201,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.894454,"dist_to_hod_atr":1.903979,"atr":0.026261,"spread_atr":0.380796,"own_change_pct":-0.582176,"rel_strength_pct":{"SPY":-0.606053,"IWM":-0.508447}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.016802},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"245032636e37","ts":"2026-08-28T15:03:50+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.9156,"target":8.53,"target_label":"premarket_high","reward_risk":0.84,"pos_in_5d_range_pct":46.3,"room_to_5d_high_atr":0.97},"price":8.25,"vwap":8.2346,"ext_from_open_pct":0.06,"max_ext_allowed_pct":3.0,"volume_pace":0.432,"trend":"flat","recent_slope_pct":-0.0155,"volatility":"high"},"price":8.25,"volume":{"bars":87,"last_bar_volume":102.0,"baseline_avg":1519.55,"bar_rvol":0.067125,"raw_accel":-0.731499,"smooth_accel":-0.523989,"accel_momentum":-0.353581,"rvol_3bar":[0.522278,0.00328,0.067125],"trend_3bar":"MIXED","projected_rvol":11.766641},"flow":{"window_s":30,"trades":32,"trade_rate":1.066667,"buy_vol":300.0,"sell_vol":14600.0,"unclassified_vol":0.0,"imbalance":-0.959732,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":1.800797},"context":{"vwap":8.23419,"price_vs_vwap_pct":0.192005,"ema9":8.263751,"ema20":8.262856,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.482509,"dist_to_hod_atr":3.875248,"atr":0.010322,"spread_atr":1.937624,"own_change_pct":-0.033857,"rel_strength_pct":{"SPY":-0.057734,"IWM":0.039872}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.064422},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f13e7da06171","ts":"2026-08-28T15:03:55+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.9356,"target":8.53,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":0.96},"price":8.27,"vwap":8.2349,"ext_from_open_pct":0.3,"max_ext_allowed_pct":3.0,"volume_pace":0.432,"trend":"flat","recent_slope_pct":0.0329,"volatility":"high"},"price":8.27,"volume":{"bars":87,"last_bar_volume":102.0,"baseline_avg":1519.55,"bar_rvol":0.067125,"raw_accel":-0.731499,"smooth_accel":-0.523989,"accel_momentum":-0.353581,"rvol_3bar":[0.522278,0.00328,0.067125],"trend_3bar":"MIXED","projected_rvol":11.057341},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":802.0,"sell_vol":14600.0,"unclassified_vol":0.0,"imbalance":-0.895858,"bid":8.25,"ask":8.27,"spread_pct":0.242131,"quote_size_imbalance":null,"quote_age_s":6.800797},"context":{"vwap":8.23419,"price_vs_vwap_pct":0.434894,"ema9":8.263751,"ema20":8.262856,"ema_stack":true,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.241255,"dist_to_hod_atr":1.937624,"atr":0.010322,"spread_atr":1.937624,"own_change_pct":-0.033857,"rel_strength_pct":{"SPY":-0.057734,"IWM":0.039872}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.060135},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"009a591f9689","ts":"2026-08-28T15:03:55+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3847,"target":9.73,"target_label":"premarket_high","reward_risk":0.97,"pos_in_5d_range_pct":52.2,"room_to_5d_high_atr":0.99},"price":9.56,"vwap":9.5621,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":3.0,"volume_pace":1.102,"trend":"flat","recent_slope_pct":-0.075,"volatility":"high"},"price":9.56,"volume":{"bars":93,"last_bar_volume":101894.0,"baseline_avg":114468.4,"bar_rvol":0.89015,"raw_accel":-0.39556,"smooth_accel":-0.201401,"accel_momentum":0.156824,"rvol_3bar":[1.375472,1.577668,0.89015],"trend_3bar":"MIXED","projected_rvol":1.091515},"flow":{"window_s":30,"trades":164,"trade_rate":5.466667,"buy_vol":54006.0,"sell_vol":30335.0,"unclassified_vol":0.0,"imbalance":0.280658,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":1.295232},"context":{"vwap":9.561973,"price_vs_vwap_pct":-0.020629,"ema9":9.580232,"ema20":9.566732,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.845528,"dist_to_hod_atr":6.283886,"atr":0.044558,"spread_atr":0.224424,"own_change_pct":-0.231489,"rel_strength_pct":{"SPY":-0.255365,"IWM":-0.15776}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.249828},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7c53b0d2ab7c","ts":"2026-08-28T15:04:00+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3897,"target":9.73,"target_label":"premarket_high","reward_risk":0.94,"pos_in_5d_range_pct":52.6,"room_to_5d_high_atr":0.98},"price":9.565,"vwap":9.5621,"ext_from_open_pct":-0.57,"max_ext_allowed_pct":3.0,"volume_pace":1.107,"trend":"flat","recent_slope_pct":-0.0645,"volatility":"high"},"price":9.565,"volume":{"bars":93,"last_bar_volume":101894.0,"baseline_avg":114468.4,"bar_rvol":0.89015,"raw_accel":-0.39556,"smooth_accel":-0.201401,"accel_momentum":0.156824,"rvol_3bar":[1.375472,1.577668,0.89015],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":132,"trade_rate":4.4,"buy_vol":75186.0,"sell_vol":40090.0,"unclassified_vol":0.0,"imbalance":0.304452,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.002792},"context":{"vwap":9.561973,"price_vs_vwap_pct":0.031662,"ema9":9.580232,"ema20":9.566732,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.794715,"dist_to_hod_atr":6.171673,"atr":0.044558,"spread_atr":0.224424,"own_change_pct":-0.231489,"rel_strength_pct":{"SPY":-0.239232,"IWM":-0.139315}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.271008},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"303ab14067a4","ts":"2026-08-28T15:04:15+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":10.8452,"target":11.14,"target_label":"ceiling","reward_risk":0.48,"pos_in_5d_range_pct":-7.9,"room_to_5d_high_atr":1.6},"price":11.045,"vwap":11.0096,"ext_from_open_pct":-0.85,"max_ext_allowed_pct":3.0,"volume_pace":1.453,"trend":"flat","recent_slope_pct":-0.0633,"volatility":"high"},"price":11.045,"volume":{"bars":94,"last_bar_volume":25785.0,"baseline_avg":12996.95,"bar_rvol":1.983927,"raw_accel":0.991427,"smooth_accel":0.986113,"accel_momentum":0.88598,"rvol_3bar":[0.908069,0.892747,1.983927],"trend_3bar":"MIXED","projected_rvol":1.606531},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":2494.0,"sell_vol":8861.0,"unclassified_vol":0.0,"imbalance":-0.560722,"bid":11.04,"ask":11.05,"spread_pct":0.090539,"quote_size_imbalance":null,"quote_age_s":0.00531},"context":{"vwap":11.009519,"price_vs_vwap_pct":0.322274,"ema9":11.059886,"ema20":11.059792,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.2243,"dist_to_hod_atr":3.502281,"atr":0.039089,"spread_atr":0.255828,"own_change_pct":-0.11568,"rel_strength_pct":{"SPY":-0.123423,"IWM":-0.023506}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.112432},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"728b8833a7b2","ts":"2026-08-28T15:04:15+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.55 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3797,"target":9.73,"target_label":"premarket_high","reward_risk":1.0,"pos_in_5d_range_pct":51.9,"room_to_5d_high_atr":1.0},"price":9.555,"vwap":9.5621,"ext_from_open_pct":-0.68,"max_ext_allowed_pct":3.0,"volume_pace":1.108,"trend":"flat","recent_slope_pct":-0.0888,"volatility":"high"},"price":9.555,"volume":{"bars":94,"last_bar_volume":168053.0,"baseline_avg":118622.05,"bar_rvol":1.41671,"raw_accel":0.649292,"smooth_accel":0.205528,"accel_momentum":0.40693,"rvol_3bar":[1.577668,0.89015,1.41671],"trend_3bar":"MIXED","projected_rvol":1.446342},"flow":{"window_s":30,"trades":143,"trade_rate":4.766667,"buy_vol":51216.0,"sell_vol":79435.0,"unclassified_vol":0.0,"imbalance":-0.215988,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":1.513018},"context":{"vwap":9.562075,"price_vs_vwap_pct":-0.073989,"ema9":9.577186,"ema20":9.566567,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.896341,"dist_to_hod_atr":6.451515,"atr":0.044176,"spread_atr":0.226369,"own_change_pct":-0.289801,"rel_strength_pct":{"SPY":-0.297544,"IWM":-0.197627}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.305992},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ab9488d9e7c8","ts":"2026-08-28T15:04:20+00:00","symbol":"TGB","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":9.4305,"target":9.72,"target_label":"prev_day_high","reward_risk":1.74,"pos_in_5d_range_pct":78.2,"room_to_5d_high_atr":0.43},"price":9.5362,"vwap":9.533,"ext_from_open_pct":-2.19,"max_ext_allowed_pct":4.0,"volume_pace":0.422,"trend":"flat","recent_slope_pct":-0.0552,"volatility":"medium"},"price":9.5362,"volume":{"bars":94,"last_bar_volume":3879.0,"baseline_avg":10740.4,"bar_rvol":0.36116,"raw_accel":0.444639,"smooth_accel":-0.614509,"accel_momentum":-0.478085,"rvol_3bar":[0.430211,0.187704,0.36116],"trend_3bar":"MIXED","projected_rvol":0.956389},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":3849.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":9.51,"ask":9.52,"spread_pct":0.105097,"quote_size_imbalance":null,"quote_age_s":0.337978},"context":{"vwap":9.533011,"price_vs_vwap_pct":0.033456,"ema9":9.522728,"ema20":9.512242,"ema_stack":true,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-2.89002,"dist_to_hod_atr":9.203236,"atr":0.030837,"spread_atr":0.324286,"own_change_pct":-0.15748,"rel_strength_pct":{"SPY":-0.165223,"IWM":-0.065307}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.36116},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0c4838991213","ts":"2026-08-28T15:04:25+00:00","symbol":"TGB","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.52 below VWAP $9.53","plan":{"state":"PASS","setup":"","stop":9.4093,"target":9.72,"target_label":"prev_day_high","reward_risk":1.94,"pos_in_5d_range_pct":75.7,"room_to_5d_high_atr":0.48},"price":9.515,"vwap":9.533,"ext_from_open_pct":-2.41,"max_ext_allowed_pct":4.0,"volume_pace":0.421,"trend":"flat","recent_slope_pct":-0.0997,"volatility":"medium"},"price":9.515,"volume":{"bars":94,"last_bar_volume":3879.0,"baseline_avg":10740.4,"bar_rvol":0.36116,"raw_accel":0.444639,"smooth_accel":-0.614509,"accel_momentum":-0.478085,"rvol_3bar":[0.430211,0.187704,0.36116],"trend_3bar":"MIXED","projected_rvol":0.76958},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":3424.0,"sell_vol":20.0,"unclassified_vol":0.0,"imbalance":0.988386,"bid":9.51,"ask":9.52,"spread_pct":0.105097,"quote_size_imbalance":null,"quote_age_s":0.003381},"context":{"vwap":9.533011,"price_vs_vwap_pct":-0.18893,"ema9":9.522728,"ema20":9.512242,"ema_stack":false,"ema_warm":true,"hod":9.82,"dist_to_hod_pct":-3.105906,"dist_to_hod_atr":9.890722,"atr":0.030837,"spread_atr":0.324286,"own_change_pct":-0.15748,"rel_strength_pct":{"SPY":-0.165223,"IWM":-0.065307}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.356965},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e433b2074af7","ts":"2026-08-28T15:04:30+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3873,"target":5.49,"target_label":"ceiling","reward_risk":1.01,"pos_in_5d_range_pct":93.7,"room_to_5d_high_atr":0.11},"price":5.4385,"vwap":5.4356,"ext_from_open_pct":-0.58,"max_ext_allowed_pct":3.0,"volume_pace":1.568,"trend":"flat","recent_slope_pct":-0.0226,"volatility":"medium"},"price":5.4385,"volume":{"bars":94,"last_bar_volume":44394.0,"baseline_avg":56067.1,"bar_rvol":0.791801,"raw_accel":-0.67987,"smooth_accel":3.123142,"accel_momentum":2.627779,"rvol_3bar":[0.798893,2.689256,0.791801],"trend_3bar":"MIXED","projected_rvol":1.555386},"flow":{"window_s":30,"trades":192,"trade_rate":6.4,"buy_vol":191.0,"sell_vol":43412.0,"unclassified_vol":0.0,"imbalance":-0.991239,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.001898},"context":{"vwap":5.435556,"price_vs_vwap_pct":0.054168,"ema9":5.43657,"ema20":5.432986,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.938069,"dist_to_hod_atr":3.319153,"atr":0.015516,"spread_atr":0.644496,"own_change_pct":-0.203857,"rel_strength_pct":{"SPY":-0.2116,"IWM":-0.111683}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.784864},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1e31ec15c220","ts":"2026-08-28T15:04:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.8% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.5123,"ext_from_open_pct":3.83,"max_ext_allowed_pct":3.0,"volume_pace":0.977,"trend":"flat","recent_slope_pct":0.0809,"volatility":"medium"},"price":5.555,"volume":{"bars":94,"last_bar_volume":44645.0,"baseline_avg":67476.0,"bar_rvol":0.661643,"raw_accel":1.646571,"smooth_accel":0.042407,"accel_momentum":0.152666,"rvol_3bar":[1.809109,0.237964,0.661643],"trend_3bar":"MIXED","projected_rvol":0.793408},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":17953.0,"sell_vol":8815.0,"unclassified_vol":0.0,"imbalance":0.341378,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.001327},"context":{"vwap":5.512146,"price_vs_vwap_pct":0.777439,"ema9":5.554213,"ema20":5.549753,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.626118,"dist_to_hod_atr":1.3473,"atr":0.025978,"spread_atr":0.384943,"own_change_pct":-0.2693,"rel_strength_pct":{"SPY":-0.277043,"IWM":-0.177126}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.22587},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"331d041ce4cd","ts":"2026-08-28T15:04:35+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3791,"target":5.49,"target_label":"ceiling","reward_risk":1.17,"pos_in_5d_range_pct":91.3,"room_to_5d_high_atr":0.15},"price":5.4303,"vwap":5.4355,"ext_from_open_pct":-0.73,"max_ext_allowed_pct":3.0,"volume_pace":1.568,"trend":"flat","recent_slope_pct":-0.0528,"volatility":"medium"},"price":5.4303,"volume":{"bars":94,"last_bar_volume":44394.0,"baseline_avg":56067.1,"bar_rvol":0.791801,"raw_accel":-0.67987,"smooth_accel":3.123142,"accel_momentum":2.627779,"rvol_3bar":[0.798893,2.689256,0.791801],"trend_3bar":"MIXED","projected_rvol":1.477994},"flow":{"window_s":30,"trades":185,"trade_rate":6.166667,"buy_vol":443.0,"sell_vol":43145.0,"unclassified_vol":0.0,"imbalance":-0.979673,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.228474},"context":{"vwap":5.435556,"price_vs_vwap_pct":-0.09669,"ema9":5.43657,"ema20":5.432986,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.087432,"dist_to_hod_atr":3.84764,"atr":0.015516,"spread_atr":0.644496,"own_change_pct":-0.203857,"rel_strength_pct":{"SPY":-0.2116,"IWM":-0.111683}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.775707},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b82edaaf84ea","ts":"2026-08-28T15:05:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":11.0723,"target":11.32,"target_label":"prev_day_high","reward_risk":0.48,"pos_in_5d_range_pct":89.4,"room_to_5d_high_atr":0.15},"price":11.24,"vwap":11.162,"ext_from_open_pct":-2.09,"max_ext_allowed_pct":4.0,"volume_pace":2.343,"trend":"flat","recent_slope_pct":0.0266,"volatility":"medium"},"price":11.24,"volume":{"bars":95,"last_bar_volume":25591.0,"baseline_avg":23638.4,"bar_rvol":1.082603,"raw_accel":0.168646,"smooth_accel":0.377098,"accel_momentum":0.907487,"rvol_3bar":[1.255698,0.928771,1.082603],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":13931.0,"sell_vol":1569.0,"unclassified_vol":0.0,"imbalance":0.797548,"bid":11.24,"ask":11.25,"spread_pct":0.088928,"quote_size_imbalance":null,"quote_age_s":0.858035},"context":{"vwap":11.162008,"price_vs_vwap_pct":0.698725,"ema9":11.249511,"ema20":11.235567,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.411072,"dist_to_hod_atr":4.485437,"atr":0.061911,"spread_atr":0.161521,"own_change_pct":-0.293359,"rel_strength_pct":{"SPY":-0.286894,"IWM":-0.145926}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.863428},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f85705e8c5fd","ts":"2026-08-28T15:05:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.8343,"target":11.14,"target_label":"ceiling","reward_risk":0.53,"pos_in_5d_range_pct":-8.8,"room_to_5d_high_atr":1.61},"price":11.0341,"vwap":11.0098,"ext_from_open_pct":-0.95,"max_ext_allowed_pct":3.0,"volume_pace":1.45,"trend":"flat","recent_slope_pct":-0.0471,"volatility":"high"},"price":11.0341,"volume":{"bars":95,"last_bar_volume":17555.0,"baseline_avg":13247.75,"bar_rvol":1.325131,"raw_accel":-0.319178,"smooth_accel":1.112754,"accel_momentum":0.126642,"rvol_3bar":[0.892747,1.983927,1.325131],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":6125.0,"sell_vol":8608.0,"unclassified_vol":0.0,"imbalance":-0.168533,"bid":11.03,"ask":11.04,"spread_pct":0.090621,"quote_size_imbalance":null,"quote_age_s":0.409592},"context":{"vwap":11.009723,"price_vs_vwap_pct":0.221412,"ema9":11.054909,"ema20":11.057431,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.321779,"dist_to_hod_atr":3.844992,"atr":0.03844,"spread_atr":0.260148,"own_change_pct":-0.180914,"rel_strength_pct":{"SPY":-0.174449,"IWM":-0.03348}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.223329},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7c494236b6cf","ts":"2026-08-28T15:05:05+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"held 920.0s, plan says WATCH; stop 13.24, target 13.51 (ceiling), R:R 1.02; selling not fading: red-bar volume 1.30x the advance (max 0.7); no reclaim yet (needs a close > 13.41); R:R 1.02 < 2.0 at 13","plan":{"state":"WATCH","setup":"","stop":13.2356,"target":13.51,"target_label":"ceiling","reward_risk":1.02,"pos_in_5d_range_pct":24.2,"room_to_5d_high_atr":1.3},"price":13.3717,"vwap":13.2697,"ext_from_open_pct":-1.17,"max_ext_allowed_pct":4.0,"volume_pace":1.419,"trend":"flat","recent_slope_pct":-0.0124,"volatility":"medium"},"price":13.3717,"volume":{"bars":95,"last_bar_volume":17776.0,"baseline_avg":58576.15,"bar_rvol":0.303468,"raw_accel":0.056711,"smooth_accel":-0.720431,"accel_momentum":-0.07126,"rvol_3bar":[0.205731,0.285316,0.303468],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":6205.0,"sell_vol":4269.0,"unclassified_vol":0.0,"imbalance":0.184839,"bid":13.36,"ask":13.37,"spread_pct":0.074822,"quote_size_imbalance":null,"quote_age_s":0.079373},"context":{"vwap":13.269695,"price_vs_vwap_pct":0.76871,"ema9":13.369158,"ema20":13.33435,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.388643,"dist_to_hod_atr":2.537692,"atr":0.074201,"spread_atr":0.134769,"own_change_pct":-0.010474,"rel_strength_pct":{"SPY":-0.004009,"IWM":0.136959}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.056093},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"860e326a4252","ts":"2026-08-28T15:05:10+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.5124,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":0.973,"trend":"flat","recent_slope_pct":0.0717,"volatility":"medium"},"price":5.555,"volume":{"bars":95,"last_bar_volume":39303.0,"baseline_avg":65706.4,"bar_rvol":0.598161,"raw_accel":-0.119655,"smooth_accel":-0.598778,"accel_momentum":-0.641185,"rvol_3bar":[0.237964,0.661643,0.598161],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":6053.0,"sell_vol":7158.0,"unclassified_vol":0.0,"imbalance":-0.083642,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.260119},"context":{"vwap":5.512378,"price_vs_vwap_pct":0.773213,"ema9":5.555371,"ema20":5.550729,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.626118,"dist_to_hod_atr":1.386482,"atr":0.025244,"spread_atr":0.396138,"own_change_pct":0.044984,"rel_strength_pct":{"SPY":0.051449,"IWM":0.192418}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.050032},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f219166377f7","ts":"2026-08-28T15:05:10+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3997,"target":9.73,"target_label":"premarket_high","reward_risk":0.88,"pos_in_5d_range_pct":53.3,"room_to_5d_high_atr":0.97},"price":9.575,"vwap":9.5621,"ext_from_open_pct":-0.47,"max_ext_allowed_pct":3.0,"volume_pace":1.104,"trend":"flat","recent_slope_pct":-0.0448,"volatility":"high"},"price":9.575,"volume":{"bars":95,"last_bar_volume":82695.0,"baseline_avg":125980.7,"bar_rvol":0.65641,"raw_accel":-0.507923,"smooth_accel":-0.116493,"accel_momentum":-0.322022,"rvol_3bar":[0.89015,1.41671,0.65641],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":129,"trade_rate":4.3,"buy_vol":5373.0,"sell_vol":30301.0,"unclassified_vol":0.0,"imbalance":-0.698772,"bid":9.57,"ask":9.58,"spread_pct":0.104439,"quote_size_imbalance":null,"quote_age_s":0.331459},"context":{"vwap":9.562113,"price_vs_vwap_pct":0.134769,"ema9":9.574749,"ema20":9.566418,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.693089,"dist_to_hod_atr":6.085122,"atr":0.043549,"spread_atr":0.229627,"own_change_pct":-0.246126,"rel_strength_pct":{"SPY":-0.239661,"IWM":-0.098692}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.458681},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"63e7af3a53c4","ts":"2026-08-28T15:05:30+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3847,"target":9.73,"target_label":"premarket_high","reward_risk":0.97,"pos_in_5d_range_pct":52.2,"room_to_5d_high_atr":0.99},"price":9.56,"vwap":9.5621,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":3.0,"volume_pace":1.102,"trend":"flat","recent_slope_pct":-0.0762,"volatility":"high"},"price":9.56,"volume":{"bars":95,"last_bar_volume":82695.0,"baseline_avg":125980.7,"bar_rvol":0.65641,"raw_accel":-0.507923,"smooth_accel":-0.116493,"accel_momentum":-0.322022,"rvol_3bar":[0.89015,1.41671,0.65641],"trend_3bar":"MIXED","projected_rvol":0.64567},"flow":{"window_s":30,"trades":146,"trade_rate":4.866667,"buy_vol":21375.0,"sell_vol":19296.0,"unclassified_vol":0.0,"imbalance":0.051118,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.002716},"context":{"vwap":9.562113,"price_vs_vwap_pct":-0.0221,"ema9":9.574749,"ema20":9.566418,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.845528,"dist_to_hod_atr":6.429563,"atr":0.043549,"spread_atr":0.229627,"own_change_pct":-0.246126,"rel_strength_pct":{"SPY":-0.239661,"IWM":-0.098692}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.033554},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"fc0450ae0604","ts":"2026-08-28T15:05:35+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.4045,"target":9.73,"target_label":"premarket_high","reward_risk":0.86,"pos_in_5d_range_pct":53.6,"room_to_5d_high_atr":0.96},"price":9.5798,"vwap":9.5622,"ext_from_open_pct":-0.42,"max_ext_allowed_pct":3.0,"volume_pace":1.104,"trend":"flat","recent_slope_pct":-0.0348,"volatility":"high"},"price":9.5798,"volume":{"bars":95,"last_bar_volume":82695.0,"baseline_avg":125980.7,"bar_rvol":0.65641,"raw_accel":-0.507923,"smooth_accel":-0.116493,"accel_momentum":-0.322022,"rvol_3bar":[0.89015,1.41671,0.65641],"trend_3bar":"MIXED","projected_rvol":0.83538},"flow":{"window_s":30,"trades":164,"trade_rate":5.466667,"buy_vol":25161.0,"sell_vol":34224.0,"unclassified_vol":0.0,"imbalance":-0.152614,"bid":9.57,"ask":9.58,"spread_pct":0.104439,"quote_size_imbalance":null,"quote_age_s":0.166096},"context":{"vwap":9.562113,"price_vs_vwap_pct":0.184967,"ema9":9.574749,"ema20":9.566418,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.644309,"dist_to_hod_atr":5.974901,"atr":0.043549,"spread_atr":0.229627,"own_change_pct":-0.246126,"rel_strength_pct":{"SPY":-0.239661,"IWM":-0.098692}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.100178},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2a9178ec6976","ts":"2026-08-28T15:06:00+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3847,"target":9.73,"target_label":"premarket_high","reward_risk":0.97,"pos_in_5d_range_pct":52.2,"room_to_5d_high_atr":0.99},"price":9.56,"vwap":9.5622,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":3.0,"volume_pace":1.105,"trend":"flat","recent_slope_pct":-0.0762,"volatility":"high"},"price":9.56,"volume":{"bars":95,"last_bar_volume":82695.0,"baseline_avg":125980.7,"bar_rvol":0.65641,"raw_accel":-0.507923,"smooth_accel":-0.116493,"accel_momentum":-0.322022,"rvol_3bar":[0.89015,1.41671,0.65641],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":232,"trade_rate":7.733333,"buy_vol":24380.0,"sell_vol":56759.0,"unclassified_vol":0.0,"imbalance":-0.399056,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.002689},"context":{"vwap":9.562113,"price_vs_vwap_pct":-0.0221,"ema9":9.574749,"ema20":9.566418,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.845528,"dist_to_hod_atr":6.429563,"atr":0.043549,"spread_atr":0.229627,"own_change_pct":-0.246126,"rel_strength_pct":{"SPY":-0.202267,"IWM":-0.081999}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.261944},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6893702f7569","ts":"2026-08-28T15:06:05+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":13.1714,"target":13.51,"target_label":"ceiling","reward_risk":1.02,"pos_in_5d_range_pct":20.7,"room_to_5d_high_atr":1.36},"price":13.339,"vwap":13.2703,"ext_from_open_pct":-1.41,"max_ext_allowed_pct":4.0,"volume_pace":1.413,"trend":"flat","recent_slope_pct":-0.0331,"volatility":"medium"},"price":13.339,"volume":{"bars":96,"last_bar_volume":24791.0,"baseline_avg":58464.6,"bar_rvol":0.424034,"raw_accel":0.394633,"smooth_accel":-0.312086,"accel_momentum":0.408345,"rvol_3bar":[0.285316,0.303468,0.424034],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":1437.0,"sell_vol":1313.0,"unclassified_vol":0.0,"imbalance":0.045091,"bid":13.33,"ask":13.34,"spread_pct":0.074991,"quote_size_imbalance":null,"quote_age_s":0.363772},"context":{"vwap":13.270268,"price_vs_vwap_pct":0.517943,"ema9":13.365327,"ema20":13.33584,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.629794,"dist_to_hod_atr":3.021731,"atr":0.073137,"spread_atr":0.13673,"own_change_pct":-0.595681,"rel_strength_pct":{"SPY":-0.551823,"IWM":-0.431555}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.01912},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"021fb15c5ac6","ts":"2026-08-28T15:06:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4747,"target":6.0,"target_label":"range_20d_high","reward_risk":5.96,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.5501,"vwap":5.5134,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.987,"trend":"flat","recent_slope_pct":0.0004,"volatility":"medium"},"price":5.5501,"volume":{"bars":96,"last_bar_volume":174318.0,"baseline_avg":65331.1,"bar_rvol":2.668224,"raw_accel":3.435234,"smooth_accel":0.181125,"accel_momentum":0.779903,"rvol_3bar":[0.661643,0.598161,2.668224],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":176,"trade_rate":5.866667,"buy_vol":138484.0,"sell_vol":41947.0,"unclassified_vol":0.0,"imbalance":0.535036,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":2.851589},"context":{"vwap":5.513327,"price_vs_vwap_pct":0.666991,"ema9":5.555297,"ema20":5.551136,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.713775,"dist_to_hod_atr":1.627771,"atr":0.024512,"spread_atr":0.407963,"own_change_pct":0.270758,"rel_strength_pct":{"SPY":0.314617,"IWM":0.434885}},"vas":{"raw":6,"score":8.1,"components":{"rvol":2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.427595},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7413fcd53250","ts":"2026-08-28T15:06:10+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":13.2345,"target":13.51,"target_label":"ceiling","reward_risk":1.02,"pos_in_5d_range_pct":24.1,"room_to_5d_high_atr":1.3},"price":13.3706,"vwap":13.2704,"ext_from_open_pct":-1.18,"max_ext_allowed_pct":4.0,"volume_pace":1.413,"trend":"flat","recent_slope_pct":0.0142,"volatility":"medium"},"price":13.3706,"volume":{"bars":96,"last_bar_volume":24791.0,"baseline_avg":58464.6,"bar_rvol":0.424034,"raw_accel":0.394633,"smooth_accel":-0.312086,"accel_momentum":0.408345,"rvol_3bar":[0.285316,0.303468,0.424034],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":3887.0,"sell_vol":2205.0,"unclassified_vol":0.0,"imbalance":0.2761,"bid":13.33,"ask":13.34,"spread_pct":0.074991,"quote_size_imbalance":null,"quote_age_s":0.299491},"context":{"vwap":13.270268,"price_vs_vwap_pct":0.756069,"ema9":13.365327,"ema20":13.33584,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.396755,"dist_to_hod_atr":2.589664,"atr":0.073137,"spread_atr":0.13673,"own_change_pct":-0.595681,"rel_strength_pct":{"SPY":-0.551823,"IWM":-0.431555}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.117076},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f4abf2ea900a","ts":"2026-08-28T15:06:15+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3897,"target":9.73,"target_label":"premarket_high","reward_risk":0.94,"pos_in_5d_range_pct":52.6,"room_to_5d_high_atr":0.98},"price":9.565,"vwap":9.5622,"ext_from_open_pct":-0.57,"max_ext_allowed_pct":3.0,"volume_pace":1.104,"trend":"flat","recent_slope_pct":-0.0113,"volatility":"high"},"price":9.565,"volume":{"bars":96,"last_bar_volume":121810.0,"baseline_avg":128598.25,"bar_rvol":0.947214,"raw_accel":0.473003,"smooth_accel":-0.08977,"accel_momentum":0.026723,"rvol_3bar":[1.41671,0.65641,0.947214],"trend_3bar":"MIXED","projected_rvol":0.45167},"flow":{"window_s":30,"trades":225,"trade_rate":7.5,"buy_vol":18276.0,"sell_vol":40681.0,"unclassified_vol":0.0,"imbalance":-0.380023,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.011391},"context":{"vwap":9.562191,"price_vs_vwap_pct":0.029372,"ema9":9.571799,"ema20":9.565807,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.794715,"dist_to_hod_atr":6.499701,"atr":0.04231,"spread_atr":0.236353,"own_change_pct":-0.234803,"rel_strength_pct":{"SPY":-0.190945,"IWM":-0.070676}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-1,"accel":0,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.359963},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"157d9f71f2b1","ts":"2026-08-28T15:06:15+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":13.1714,"target":13.51,"target_label":"ceiling","reward_risk":1.07,"pos_in_5d_range_pct":20.3,"room_to_5d_high_atr":1.37},"price":13.335,"vwap":13.2704,"ext_from_open_pct":-1.44,"max_ext_allowed_pct":4.0,"volume_pace":1.412,"trend":"flat","recent_slope_pct":-0.0391,"volatility":"medium"},"price":13.335,"volume":{"bars":96,"last_bar_volume":24791.0,"baseline_avg":58464.6,"bar_rvol":0.424034,"raw_accel":0.394633,"smooth_accel":-0.312086,"accel_momentum":0.408345,"rvol_3bar":[0.285316,0.303468,0.424034],"trend_3bar":"ACCELERATING","projected_rvol":0.386217},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":4089.0,"sell_vol":2816.0,"unclassified_vol":0.0,"imbalance":0.184359,"bid":13.33,"ask":13.34,"spread_pct":0.074991,"quote_size_imbalance":null,"quote_age_s":0.374405},"context":{"vwap":13.270268,"price_vs_vwap_pct":0.4878,"ema9":13.365327,"ema20":13.33584,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.659292,"dist_to_hod_atr":3.076423,"atr":0.073137,"spread_atr":0.13673,"own_change_pct":-0.595681,"rel_strength_pct":{"SPY":-0.551823,"IWM":-0.431555}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.078175},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a9622bb8901d","ts":"2026-08-28T15:06:20+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.54 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3685,"target":9.73,"target_label":"premarket_high","reward_risk":1.06,"pos_in_5d_range_pct":51.1,"room_to_5d_high_atr":1.01},"price":9.5438,"vwap":9.5621,"ext_from_open_pct":-0.79,"max_ext_allowed_pct":3.0,"volume_pace":1.108,"trend":"flat","recent_slope_pct":-0.0556,"volatility":"high"},"price":9.5438,"volume":{"bars":96,"last_bar_volume":121810.0,"baseline_avg":128598.25,"bar_rvol":0.947214,"raw_accel":0.473003,"smooth_accel":-0.08977,"accel_momentum":0.026723,"rvol_3bar":[1.41671,0.65641,0.947214],"trend_3bar":"MIXED","projected_rvol":1.467967},"flow":{"window_s":30,"trades":274,"trade_rate":9.133333,"buy_vol":47283.0,"sell_vol":58356.0,"unclassified_vol":0.0,"imbalance":-0.104819,"bid":9.54,"ask":9.55,"spread_pct":0.104767,"quote_size_imbalance":null,"quote_age_s":0.110013},"context":{"vwap":9.562191,"price_vs_vwap_pct":-0.192334,"ema9":9.571799,"ema20":9.565807,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-3.010163,"dist_to_hod_atr":7.000769,"atr":0.04231,"spread_atr":0.236353,"own_change_pct":-0.234803,"rel_strength_pct":{"SPY":-0.190945,"IWM":-0.070676}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":0,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.099286},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"da4bfd9aec0c","ts":"2026-08-28T15:06:35+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":13.2282,"target":13.51,"target_label":"ceiling","reward_risk":1.07,"pos_in_5d_range_pct":23.5,"room_to_5d_high_atr":1.31},"price":13.3643,"vwap":13.2705,"ext_from_open_pct":-1.22,"max_ext_allowed_pct":4.0,"volume_pace":1.408,"trend":"flat","recent_slope_pct":0.0048,"volatility":"medium"},"price":13.3643,"volume":{"bars":96,"last_bar_volume":24791.0,"baseline_avg":58464.6,"bar_rvol":0.424034,"raw_accel":0.394633,"smooth_accel":-0.312086,"accel_momentum":0.408345,"rvol_3bar":[0.285316,0.303468,0.424034],"trend_3bar":"ACCELERATING","projected_rvol":0.25032},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":5093.0,"sell_vol":2058.0,"unclassified_vol":0.0,"imbalance":0.424416,"bid":13.33,"ask":13.34,"spread_pct":0.074991,"quote_size_imbalance":null,"quote_age_s":0.10777},"context":{"vwap":13.270268,"price_vs_vwap_pct":0.708595,"ema9":13.365327,"ema20":13.33584,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.443215,"dist_to_hod_atr":2.675804,"atr":0.073137,"spread_atr":0.13673,"own_change_pct":-0.595681,"rel_strength_pct":{"SPY":-0.551823,"IWM":-0.431555}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.179967},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"50a72c9e4395","ts":"2026-08-28T15:06:40+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":13.1714,"target":13.51,"target_label":"ceiling","reward_risk":1.07,"pos_in_5d_range_pct":20.3,"room_to_5d_high_atr":1.37},"price":13.335,"vwap":13.2704,"ext_from_open_pct":-1.44,"max_ext_allowed_pct":4.0,"volume_pace":1.407,"trend":"flat","recent_slope_pct":-0.0391,"volatility":"medium"},"price":13.335,"volume":{"bars":96,"last_bar_volume":24791.0,"baseline_avg":58464.6,"bar_rvol":0.424034,"raw_accel":0.394633,"smooth_accel":-0.312086,"accel_momentum":0.408345,"rvol_3bar":[0.285316,0.303468,0.424034],"trend_3bar":"ACCELERATING","projected_rvol":0.221596},"flow":{"window_s":30,"trades":32,"trade_rate":1.066667,"buy_vol":2643.0,"sell_vol":1266.0,"unclassified_vol":0.0,"imbalance":0.352264,"bid":13.33,"ask":13.34,"spread_pct":0.074991,"quote_size_imbalance":null,"quote_age_s":0.098489},"context":{"vwap":13.270268,"price_vs_vwap_pct":0.4878,"ema9":13.365327,"ema20":13.33584,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.659292,"dist_to_hod_atr":3.076423,"atr":0.073137,"spread_atr":0.13673,"own_change_pct":-0.595681,"rel_strength_pct":{"SPY":-0.551823,"IWM":-0.431555}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.149372},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"583519111f4a","ts":"2026-08-28T15:06:45+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":13.2269,"target":13.51,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":23.3,"room_to_5d_high_atr":1.32},"price":13.363,"vwap":13.2705,"ext_from_open_pct":-1.23,"max_ext_allowed_pct":4.0,"volume_pace":1.406,"trend":"flat","recent_slope_pct":0.0028,"volatility":"medium"},"price":13.363,"volume":{"bars":96,"last_bar_volume":24791.0,"baseline_avg":58464.6,"bar_rvol":0.424034,"raw_accel":0.394633,"smooth_accel":-0.312086,"accel_momentum":0.408345,"rvol_3bar":[0.285316,0.303468,0.424034],"trend_3bar":"ACCELERATING","projected_rvol":0.197453},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":2462.0,"sell_vol":551.0,"unclassified_vol":0.0,"imbalance":0.634252,"bid":13.33,"ask":13.34,"spread_pct":0.074991,"quote_size_imbalance":null,"quote_age_s":0.423217},"context":{"vwap":13.270268,"price_vs_vwap_pct":0.698798,"ema9":13.365327,"ema20":13.33584,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.452802,"dist_to_hod_atr":2.693579,"atr":0.073137,"spread_atr":0.13673,"own_change_pct":-0.595681,"rel_strength_pct":{"SPY":-0.551823,"IWM":-0.431555}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.268944},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"451ed242b066","ts":"2026-08-28T15:06:50+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5137,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.986,"trend":"flat","recent_slope_pct":0.036,"volatility":"medium"},"price":5.56,"volume":{"bars":96,"last_bar_volume":174318.0,"baseline_avg":65331.1,"bar_rvol":2.668224,"raw_accel":3.435234,"smooth_accel":0.181125,"accel_momentum":0.779903,"rvol_3bar":[0.661643,0.598161,2.668224],"trend_3bar":"MIXED","projected_rvol":1.063359},"flow":{"window_s":30,"trades":104,"trade_rate":3.466667,"buy_vol":19569.0,"sell_vol":12417.0,"unclassified_vol":0.0,"imbalance":0.223598,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.161342},"context":{"vwap":5.513327,"price_vs_vwap_pct":0.846556,"ema9":5.555297,"ema20":5.551136,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.223888,"atr":0.024512,"spread_atr":0.407963,"own_change_pct":0.270758,"rel_strength_pct":{"SPY":0.314617,"IWM":0.434885}},"vas":{"raw":5,"score":7.5,"components":{"rvol":2,"accel":1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.596609},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5cd0f93a637b","ts":"2026-08-28T15:06:50+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":13.1714,"target":13.51,"target_label":"ceiling","reward_risk":1.24,"pos_in_5d_range_pct":19.0,"room_to_5d_high_atr":1.39},"price":13.3224,"vwap":13.2704,"ext_from_open_pct":-1.53,"max_ext_allowed_pct":3.0,"volume_pace":1.405,"trend":"flat","recent_slope_pct":-0.058,"volatility":"medium"},"price":13.3224,"volume":{"bars":96,"last_bar_volume":24791.0,"baseline_avg":58464.6,"bar_rvol":0.424034,"raw_accel":0.394633,"smooth_accel":-0.312086,"accel_momentum":0.408345,"rvol_3bar":[0.285316,0.303468,0.424034],"trend_3bar":"ACCELERATING","projected_rvol":0.188853},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":2580.0,"sell_vol":753.0,"unclassified_vol":0.0,"imbalance":0.548155,"bid":13.32,"ask":13.33,"spread_pct":0.075047,"quote_size_imbalance":null,"quote_age_s":0.218883},"context":{"vwap":13.270268,"price_vs_vwap_pct":0.392851,"ema9":13.365327,"ema20":13.33584,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.752212,"dist_to_hod_atr":3.248702,"atr":0.073137,"spread_atr":0.13673,"own_change_pct":-0.595681,"rel_strength_pct":{"SPY":-0.551823,"IWM":-0.431555}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.232436},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"09d38a127e73","ts":"2026-08-28T15:06:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4847,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.5601,"vwap":5.5137,"ext_from_open_pct":3.93,"max_ext_allowed_pct":3.0,"volume_pace":0.986,"trend":"flat","recent_slope_pct":0.0364,"volatility":"medium"},"price":5.5601,"volume":{"bars":96,"last_bar_volume":174318.0,"baseline_avg":65331.1,"bar_rvol":2.668224,"raw_accel":3.435234,"smooth_accel":0.181125,"accel_momentum":0.779903,"rvol_3bar":[0.661643,0.598161,2.668224],"trend_3bar":"MIXED","projected_rvol":1.147414},"flow":{"window_s":30,"trades":106,"trade_rate":3.533333,"buy_vol":19469.0,"sell_vol":23217.0,"unclassified_vol":0.0,"imbalance":-0.087804,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.118793},"context":{"vwap":5.513327,"price_vs_vwap_pct":0.848369,"ema9":5.555297,"ema20":5.551136,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.534884,"dist_to_hod_atr":1.219808,"atr":0.024512,"spread_atr":0.407963,"own_change_pct":0.270758,"rel_strength_pct":{"SPY":0.314617,"IWM":0.434885}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":1,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.234281},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b704c7f62943","ts":"2026-08-28T15:07:05+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.46 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3413,"target":10.567,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":77.7,"room_to_5d_high_atr":0.42},"price":10.46,"vwap":10.4606,"ext_from_open_pct":-0.66,"max_ext_allowed_pct":3.0,"volume_pace":0.871,"trend":"flat","recent_slope_pct":-0.0573,"volatility":"medium"},"price":10.46,"volume":{"bars":97,"last_bar_volume":151514.0,"baseline_avg":179888.2,"bar_rvol":0.842268,"raw_accel":2.077426,"smooth_accel":-0.194412,"accel_momentum":-0.383219,"rvol_3bar":[0.606852,0.262387,0.842268],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":39,"trade_rate":1.3,"buy_vol":3102.0,"sell_vol":3901.0,"unclassified_vol":0.0,"imbalance":-0.114094,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.144144},"context":{"vwap":10.460555,"price_vs_vwap_pct":-0.005307,"ema9":10.479255,"ema20":10.475289,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.012586,"dist_to_hod_atr":4.274711,"atr":0.025031,"spread_atr":0.399506,"own_change_pct":-0.129726,"rel_strength_pct":{"SPY":-0.093587,"IWM":-0.039207}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.096098},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"01184decc598","ts":"2026-08-28T15:07:10+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":11.0073,"target":11.32,"target_label":"prev_day_high","reward_risk":0.86,"pos_in_5d_range_pct":82.4,"room_to_5d_high_atr":0.25},"price":11.175,"vwap":11.1626,"ext_from_open_pct":-2.66,"max_ext_allowed_pct":3.0,"volume_pace":2.317,"trend":"flat","recent_slope_pct":-0.116,"volatility":"high"},"price":11.175,"volume":{"bars":97,"last_bar_volume":28760.0,"baseline_avg":23377.15,"bar_rvol":1.230261,"raw_accel":1.73462,"smooth_accel":-0.064791,"accel_momentum":0.043495,"rvol_3bar":[1.082603,0.433507,1.230261],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":8040.0,"sell_vol":3485.0,"unclassified_vol":0.0,"imbalance":0.395228,"bid":11.17,"ask":11.18,"spread_pct":0.089485,"quote_size_imbalance":null,"quote_age_s":0.009275},"context":{"vwap":11.162529,"price_vs_vwap_pct":0.111725,"ema9":11.232887,"ema20":11.229886,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.97542,"dist_to_hod_atr":5.505745,"atr":0.062244,"spread_atr":0.160658,"own_change_pct":-0.533333,"rel_strength_pct":{"SPY":-0.497194,"IWM":-0.442814}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":0,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.486233},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b120310d9924","ts":"2026-08-28T15:07:10+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":10.3472,"target":10.567,"target_label":"ceiling","reward_risk":0.85,"pos_in_5d_range_pct":78.3,"room_to_5d_high_atr":0.41},"price":10.4659,"vwap":10.4606,"ext_from_open_pct":-0.6,"max_ext_allowed_pct":3.0,"volume_pace":0.87,"trend":"flat","recent_slope_pct":-0.046,"volatility":"medium"},"price":10.4659,"volume":{"bars":97,"last_bar_volume":151514.0,"baseline_avg":179888.2,"bar_rvol":0.842268,"raw_accel":2.077426,"smooth_accel":-0.194412,"accel_momentum":-0.383219,"rvol_3bar":[0.606852,0.262387,0.842268],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":3011.0,"sell_vol":3160.0,"unclassified_vol":0.0,"imbalance":-0.024145,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.666047},"context":{"vwap":10.460555,"price_vs_vwap_pct":0.051095,"ema9":10.479255,"ema20":10.475289,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.956752,"dist_to_hod_atr":4.039002,"atr":0.025031,"spread_atr":0.399506,"own_change_pct":-0.129726,"rel_strength_pct":{"SPY":-0.093587,"IWM":-0.039207}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.020337},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"aa79819851f8","ts":"2026-08-28T15:07:15+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.46 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3413,"target":10.567,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":77.7,"room_to_5d_high_atr":0.42},"price":10.46,"vwap":10.4606,"ext_from_open_pct":-0.66,"max_ext_allowed_pct":3.0,"volume_pace":0.87,"trend":"flat","recent_slope_pct":-0.0573,"volatility":"medium"},"price":10.46,"volume":{"bars":97,"last_bar_volume":151514.0,"baseline_avg":179888.2,"bar_rvol":0.842268,"raw_accel":2.077426,"smooth_accel":-0.194412,"accel_momentum":-0.383219,"rvol_3bar":[0.606852,0.262387,0.842268],"trend_3bar":"MIXED","projected_rvol":0.226118},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":2058.0,"sell_vol":9309.0,"unclassified_vol":0.0,"imbalance":-0.637899,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.346581},"context":{"vwap":10.460555,"price_vs_vwap_pct":-0.005307,"ema9":10.479255,"ema20":10.475289,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.012586,"dist_to_hod_atr":4.274711,"atr":0.025031,"spread_atr":0.399506,"own_change_pct":-0.129726,"rel_strength_pct":{"SPY":-0.093587,"IWM":-0.039207}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.537282},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"93646853cf7f","ts":"2026-08-28T15:07:20+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":10.348,"target":10.567,"target_label":"ceiling","reward_risk":0.85,"pos_in_5d_range_pct":78.4,"room_to_5d_high_atr":0.41},"price":10.4667,"vwap":10.4606,"ext_from_open_pct":-0.59,"max_ext_allowed_pct":3.0,"volume_pace":0.869,"trend":"flat","recent_slope_pct":-0.0445,"volatility":"medium"},"price":10.4667,"volume":{"bars":97,"last_bar_volume":151514.0,"baseline_avg":179888.2,"bar_rvol":0.842268,"raw_accel":2.077426,"smooth_accel":-0.194412,"accel_momentum":-0.383219,"rvol_3bar":[0.606852,0.262387,0.842268],"trend_3bar":"MIXED","projected_rvol":0.172457},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":2150.0,"sell_vol":9179.0,"unclassified_vol":0.0,"imbalance":-0.620443,"bid":10.46,"ask":10.47,"spread_pct":0.095557,"quote_size_imbalance":null,"quote_age_s":0.327408},"context":{"vwap":10.460555,"price_vs_vwap_pct":0.058743,"ema9":10.479255,"ema20":10.475289,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.949181,"dist_to_hod_atr":4.007042,"atr":0.025031,"spread_atr":0.399506,"own_change_pct":-0.129726,"rel_strength_pct":{"SPY":-0.093587,"IWM":-0.039207}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.522579},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"44b7fba16120","ts":"2026-08-28T15:07:20+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.7999,"target":14.8698,"target_label":"premarket_high","reward_risk":0.37,"pos_in_5d_range_pct":82.9,"room_to_5d_high_atr":0.46},"price":14.5799,"vwap":14.5148,"ext_from_open_pct":0.76,"max_ext_allowed_pct":4.0,"volume_pace":0.848,"trend":"flat","recent_slope_pct":0.3414,"volatility":"high"},"price":14.5799,"volume":{"bars":96,"last_bar_volume":3501.0,"baseline_avg":1619.45,"bar_rvol":2.161845,"raw_accel":7.64738,"smooth_accel":21.32,"accel_momentum":20.785803,"rvol_3bar":[1.293623,0.049605,2.161845],"trend_3bar":"MIXED","projected_rvol":0.092624},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":62.0,"sell_vol":6.0,"unclassified_vol":0.0,"imbalance":0.823529,"bid":14.19,"ask":14.58,"spread_pct":2.711157,"quote_size_imbalance":null,"quote_age_s":14.117516},"context":{"vwap":14.514801,"price_vs_vwap_pct":0.448504,"ema9":14.313001,"ema20":14.301098,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-4.331365,"dist_to_hod_atr":3.798194,"atr":0.173793,"spread_atr":2.244048,"own_change_pct":-1.181376,"rel_strength_pct":{"SPY":-1.145237,"IWM":-1.090857}},"vas":{"raw":8,"score":9.4,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.780343},"shadow":{"decision":"FAIL","failed":["spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1113bbcc8232","ts":"2026-08-28T15:07:25+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.41 below VWAP $14.51","plan":{"state":"PASS","setup":"","stop":13.93,"target":14.8698,"target_label":"premarket_high","reward_risk":0.96,"pos_in_5d_range_pct":78.8,"room_to_5d_high_atr":0.57},"price":14.41,"vwap":14.5143,"ext_from_open_pct":-0.41,"max_ext_allowed_pct":4.0,"volume_pace":0.851,"trend":"flat","recent_slope_pct":0.1048,"volatility":"high"},"price":14.41,"volume":{"bars":96,"last_bar_volume":3501.0,"baseline_avg":1619.45,"bar_rvol":2.161845,"raw_accel":7.64738,"smooth_accel":21.32,"accel_momentum":20.785803,"rvol_3bar":[1.293623,0.049605,2.161845],"trend_3bar":"MIXED","projected_rvol":1.453827},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":978.0,"sell_vol":6.0,"unclassified_vol":0.0,"imbalance":0.987805,"bid":14.19,"ask":14.43,"spread_pct":1.677149,"quote_size_imbalance":null,"quote_age_s":2.716719},"context":{"vwap":14.514801,"price_vs_vwap_pct":-0.722026,"ema9":14.313001,"ema20":14.301098,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-5.446194,"dist_to_hod_atr":4.775794,"atr":0.173793,"spread_atr":1.380952,"own_change_pct":-1.181376,"rel_strength_pct":{"SPY":-1.145237,"IWM":-1.090857}},"vas":{"raw":8,"score":9.4,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":2.135481},"shadow":{"decision":"FAIL","failed":["spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a749765e1d2d","ts":"2026-08-28T15:07:30+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.1031,"target":7.25,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":0.6},"price":7.1901,"vwap":7.1909,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.671,"trend":"flat","recent_slope_pct":-0.0577,"volatility":"medium"},"price":7.1901,"volume":{"bars":97,"last_bar_volume":21056.0,"baseline_avg":59094.2,"bar_rvol":0.356312,"raw_accel":-0.274506,"smooth_accel":-0.195279,"accel_momentum":-0.149144,"rvol_3bar":[1.374482,0.491503,0.356312],"trend_3bar":"DECELERATING","projected_rvol":1.026057},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":13407.0,"sell_vol":16910.0,"unclassified_vol":0.0,"imbalance":-0.115546,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":3.86299},"context":{"vwap":7.190825,"price_vs_vwap_pct":-0.010087,"ema9":7.206999,"ema20":7.199093,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.23489,"dist_to_hod_atr":3.805967,"atr":0.023621,"spread_atr":0.423356,"own_change_pct":-0.163548,"rel_strength_pct":{"SPY":-0.127409,"IWM":-0.073029}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.04117},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"08ff68436a2a","ts":"2026-08-28T15:07:40+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4786,"target":6.0,"target_label":"range_20d_high","reward_risk":5.91,"pos_in_5d_range_pct":48.7,"room_to_5d_high_atr":1.48},"price":5.554,"vwap":5.5142,"ext_from_open_pct":3.81,"max_ext_allowed_pct":4.0,"volume_pace":0.991,"trend":"flat","recent_slope_pct":0.0009,"volatility":"medium"},"price":5.554,"volume":{"bars":97,"last_bar_volume":74109.0,"baseline_avg":72600.9,"bar_rvol":1.020772,"raw_accel":-0.574863,"smooth_accel":0.600616,"accel_momentum":0.419491,"rvol_3bar":[0.598161,2.668224,1.020772],"trend_3bar":"MIXED","projected_rvol":1.817643},"flow":{"window_s":30,"trades":178,"trade_rate":5.933333,"buy_vol":62518.0,"sell_vol":13715.0,"unclassified_vol":0.0,"imbalance":0.640182,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.785176},"context":{"vwap":5.513783,"price_vs_vwap_pct":0.729398,"ema9":5.556737,"ema20":5.552218,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.644007,"dist_to_hod_atr":1.478194,"atr":0.024354,"spread_atr":0.410609,"own_change_pct":0.404325,"rel_strength_pct":{"SPY":0.440464,"IWM":0.494844}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.65348},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8680119d7430","ts":"2026-08-28T15:07:40+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.1059,"target":7.25,"target_label":"premarket_high","reward_risk":0.66,"pos_in_5d_range_pct":62.0,"room_to_5d_high_atr":0.6},"price":7.1929,"vwap":7.1909,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":0.671,"trend":"flat","recent_slope_pct":-0.05,"volatility":"medium"},"price":7.1929,"volume":{"bars":97,"last_bar_volume":21056.0,"baseline_avg":59094.2,"bar_rvol":0.356312,"raw_accel":-0.274506,"smooth_accel":-0.195279,"accel_momentum":-0.149144,"rvol_3bar":[1.374482,0.491503,0.356312],"trend_3bar":"DECELERATING","projected_rvol":0.898768},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":3254.0,"sell_vol":17090.0,"unclassified_vol":0.0,"imbalance":-0.680102,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.041367},"context":{"vwap":7.190825,"price_vs_vwap_pct":0.028851,"ema9":7.206999,"ema20":7.199093,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.196429,"dist_to_hod_atr":3.687428,"atr":0.023621,"spread_atr":0.423356,"own_change_pct":-0.163548,"rel_strength_pct":{"SPY":-0.127409,"IWM":-0.073029}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.242329},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"5c43876ecf96","ts":"2026-08-28T15:07:45+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3888,"target":5.49,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":94.1,"room_to_5d_high_atr":0.1},"price":5.44,"vwap":5.4356,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":1.665,"trend":"flat","recent_slope_pct":0.0153,"volatility":"medium"},"price":5.44,"volume":{"bars":97,"last_bar_volume":54650.0,"baseline_avg":59394.75,"bar_rvol":0.920115,"raw_accel":-0.138665,"smooth_accel":-0.160469,"accel_momentum":-0.073517,"rvol_3bar":[1.279921,1.119069,0.920115],"trend_3bar":"DECELERATING","projected_rvol":10.498032},"flow":{"window_s":30,"trades":1067,"trade_rate":35.566667,"buy_vol":288314.0,"sell_vol":166740.0,"unclassified_vol":0.0,"imbalance":0.267164,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.746231},"context":{"vwap":5.435497,"price_vs_vwap_pct":0.082837,"ema9":5.433879,"ema20":5.432524,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.910747,"dist_to_hod_atr":3.50373,"atr":0.014271,"spread_atr":0.700746,"own_change_pct":-0.242504,"rel_strength_pct":{"SPY":-0.206365,"IWM":-0.151985}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-1,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.245822},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"ee50fda8052b","ts":"2026-08-28T15:07:45+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.46 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3363,"target":10.567,"target_label":"ceiling","reward_risk":0.94,"pos_in_5d_range_pct":77.1,"room_to_5d_high_atr":0.43},"price":10.455,"vwap":10.4606,"ext_from_open_pct":-0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.868,"trend":"flat","recent_slope_pct":-0.0668,"volatility":"medium"},"price":10.455,"volume":{"bars":97,"last_bar_volume":151514.0,"baseline_avg":179888.2,"bar_rvol":0.842268,"raw_accel":2.077426,"smooth_accel":-0.194412,"accel_momentum":-0.383219,"rvol_3bar":[0.606852,0.262387,0.842268],"trend_3bar":"MIXED","projected_rvol":0.380762},"flow":{"window_s":30,"trades":105,"trade_rate":3.5,"buy_vol":16713.0,"sell_vol":24489.0,"unclassified_vol":0.0,"imbalance":-0.188729,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.215511},"context":{"vwap":10.460555,"price_vs_vwap_pct":-0.053106,"ema9":10.479255,"ema20":10.475289,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.059903,"dist_to_hod_atr":4.474464,"atr":0.025031,"spread_atr":0.399506,"own_change_pct":-0.129726,"rel_strength_pct":{"SPY":-0.093587,"IWM":-0.039207}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.15896},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"64bc429881cc","ts":"2026-08-28T15:07:45+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.103,"target":7.25,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":0.6},"price":7.19,"vwap":7.1909,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.67,"trend":"flat","recent_slope_pct":-0.058,"volatility":"medium"},"price":7.19,"volume":{"bars":97,"last_bar_volume":21056.0,"baseline_avg":59094.2,"bar_rvol":0.356312,"raw_accel":-0.274506,"smooth_accel":-0.195279,"accel_momentum":-0.149144,"rvol_3bar":[1.374482,0.491503,0.356312],"trend_3bar":"DECELERATING","projected_rvol":0.801703},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":3238.0,"sell_vol":13191.0,"unclassified_vol":0.0,"imbalance":-0.605819,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.897211},"context":{"vwap":7.190825,"price_vs_vwap_pct":-0.011478,"ema9":7.206999,"ema20":7.199093,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.236264,"dist_to_hod_atr":3.810201,"atr":0.023621,"spread_atr":0.423356,"own_change_pct":-0.163548,"rel_strength_pct":{"SPY":-0.127409,"IWM":-0.073029}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.215861},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"8f88bb9cec6f","ts":"2026-08-28T15:07:50+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3788,"target":5.49,"target_label":"ceiling","reward_risk":1.17,"pos_in_5d_range_pct":91.2,"room_to_5d_high_atr":0.15},"price":5.43,"vwap":5.4353,"ext_from_open_pct":-0.73,"max_ext_allowed_pct":3.0,"volume_pace":1.667,"trend":"flat","recent_slope_pct":-0.0215,"volatility":"medium"},"price":5.43,"volume":{"bars":97,"last_bar_volume":54650.0,"baseline_avg":59394.75,"bar_rvol":0.920115,"raw_accel":-0.138665,"smooth_accel":-0.160469,"accel_momentum":-0.073517,"rvol_3bar":[1.279921,1.119069,0.920115],"trend_3bar":"DECELERATING","projected_rvol":9.69217},"flow":{"window_s":30,"trades":1059,"trade_rate":35.3,"buy_vol":289944.0,"sell_vol":166963.0,"unclassified_vol":0.0,"imbalance":0.26916,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.642276},"context":{"vwap":5.435497,"price_vs_vwap_pct":-0.101139,"ema9":5.433879,"ema20":5.432524,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.092896,"dist_to_hod_atr":4.204477,"atr":0.014271,"spread_atr":0.700746,"own_change_pct":-0.242504,"rel_strength_pct":{"SPY":-0.206365,"IWM":-0.151985}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-1,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.247658},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"6eeddf2a1b70","ts":"2026-08-28T15:07:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.0% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4896,"target":6.0,"target_label":"range_20d_high","reward_risk":5.77,"pos_in_5d_range_pct":50.0,"room_to_5d_high_atr":1.44},"price":5.565,"vwap":5.5143,"ext_from_open_pct":4.02,"max_ext_allowed_pct":4.0,"volume_pace":0.989,"trend":"flat","recent_slope_pct":0.0405,"volatility":"medium"},"price":5.565,"volume":{"bars":97,"last_bar_volume":74109.0,"baseline_avg":72600.9,"bar_rvol":1.020772,"raw_accel":-0.574863,"smooth_accel":0.600616,"accel_momentum":0.419491,"rvol_3bar":[0.598161,2.668224,1.020772],"trend_3bar":"MIXED","projected_rvol":1.469321},"flow":{"window_s":30,"trades":149,"trade_rate":4.966667,"buy_vol":49579.0,"sell_vol":11602.0,"unclassified_vol":0.0,"imbalance":0.620732,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.059862},"context":{"vwap":5.513783,"price_vs_vwap_pct":0.928898,"ema9":5.556737,"ema20":5.552218,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.447227,"dist_to_hod_atr":1.026524,"atr":0.024354,"spread_atr":0.410609,"own_change_pct":0.404325,"rel_strength_pct":{"SPY":0.440464,"IWM":0.494844}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.633626},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d253510a8842","ts":"2026-08-28T15:07:50+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":13.2145,"target":13.51,"target_label":"ceiling","reward_risk":1.17,"pos_in_5d_range_pct":22.0,"room_to_5d_high_atr":1.34},"price":13.3506,"vwap":13.2709,"ext_from_open_pct":-1.33,"max_ext_allowed_pct":3.0,"volume_pace":1.398,"trend":"flat","recent_slope_pct":-0.0423,"volatility":"medium"},"price":13.3506,"volume":{"bars":97,"last_bar_volume":12789.0,"baseline_avg":58973.1,"bar_rvol":0.216862,"raw_accel":-0.484127,"smooth_accel":-0.257206,"accel_momentum":0.05488,"rvol_3bar":[0.303468,0.424034,0.216862],"trend_3bar":"MIXED","projected_rvol":0.404401},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":3558.0,"sell_vol":5285.0,"unclassified_vol":0.0,"imbalance":-0.195296,"bid":13.3,"ask":13.31,"spread_pct":0.07516,"quote_size_imbalance":null,"quote_age_s":0.092451},"context":{"vwap":13.270501,"price_vs_vwap_pct":0.603584,"ema9":13.358601,"ema20":13.335446,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.544248,"dist_to_hod_atr":2.797383,"atr":0.074856,"spread_atr":0.13359,"own_change_pct":-0.398207,"rel_strength_pct":{"SPY":-0.362068,"IWM":-0.307688}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.042352},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"86e655f4ba43","ts":"2026-08-28T15:07:55+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3879,"target":5.49,"target_label":"ceiling","reward_risk":0.99,"pos_in_5d_range_pct":93.9,"room_to_5d_high_atr":0.1},"price":5.4391,"vwap":5.4356,"ext_from_open_pct":-0.56,"max_ext_allowed_pct":3.0,"volume_pace":1.666,"trend":"flat","recent_slope_pct":0.012,"volatility":"medium"},"price":5.4391,"volume":{"bars":97,"last_bar_volume":54650.0,"baseline_avg":59394.75,"bar_rvol":0.920115,"raw_accel":-0.138665,"smooth_accel":-0.160469,"accel_momentum":-0.073517,"rvol_3bar":[1.279921,1.119069,0.920115],"trend_3bar":"DECELERATING","projected_rvol":8.839771},"flow":{"window_s":30,"trades":1058,"trade_rate":35.266667,"buy_vol":291507.0,"sell_vol":162622.0,"unclassified_vol":0.0,"imbalance":0.283807,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.028655},"context":{"vwap":5.435497,"price_vs_vwap_pct":0.066279,"ema9":5.433879,"ema20":5.432524,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.92714,"dist_to_hod_atr":3.566798,"atr":0.014271,"spread_atr":0.700746,"own_change_pct":-0.242504,"rel_strength_pct":{"SPY":-0.206365,"IWM":-0.151985}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-1,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.261135},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"646663f732f7","ts":"2026-08-28T15:07:55+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.108,"target":7.25,"target_label":"premarket_high","reward_risk":0.63,"pos_in_5d_range_pct":62.4,"room_to_5d_high_atr":0.59},"price":7.195,"vwap":7.1909,"ext_from_open_pct":0.21,"max_ext_allowed_pct":3.0,"volume_pace":0.669,"trend":"flat","recent_slope_pct":-0.0441,"volatility":"medium"},"price":7.195,"volume":{"bars":97,"last_bar_volume":21056.0,"baseline_avg":59094.2,"bar_rvol":0.356312,"raw_accel":-0.274506,"smooth_accel":-0.195279,"accel_momentum":-0.149144,"rvol_3bar":[1.374482,0.491503,0.356312],"trend_3bar":"DECELERATING","projected_rvol":0.664745},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":3324.0,"sell_vol":2385.0,"unclassified_vol":0.0,"imbalance":0.164477,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":2.105384},"context":{"vwap":7.190825,"price_vs_vwap_pct":0.058055,"ema9":7.206999,"ema20":7.199093,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.167582,"dist_to_hod_atr":3.598523,"atr":0.023621,"spread_atr":0.423356,"own_change_pct":-0.163548,"rel_strength_pct":{"SPY":-0.127409,"IWM":-0.073029}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.058605},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"11033774f09c","ts":"2026-08-28T15:07:55+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":13.1689,"target":13.51,"target_label":"ceiling","reward_risk":1.51,"pos_in_5d_range_pct":17.1,"room_to_5d_high_atr":1.42},"price":13.305,"vwap":13.2709,"ext_from_open_pct":-1.66,"max_ext_allowed_pct":3.0,"volume_pace":1.398,"trend":"flat","recent_slope_pct":-0.1107,"volatility":"medium"},"price":13.305,"volume":{"bars":97,"last_bar_volume":12789.0,"baseline_avg":58973.1,"bar_rvol":0.216862,"raw_accel":-0.484127,"smooth_accel":-0.257206,"accel_momentum":0.05488,"rvol_3bar":[0.303468,0.424034,0.216862],"trend_3bar":"MIXED","projected_rvol":0.467548},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":4786.0,"sell_vol":7677.0,"unclassified_vol":0.0,"imbalance":-0.231967,"bid":13.3,"ask":13.31,"spread_pct":0.07516,"quote_size_imbalance":null,"quote_age_s":0.166001},"context":{"vwap":13.270501,"price_vs_vwap_pct":0.259965,"ema9":13.358601,"ema20":13.335446,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.880531,"dist_to_hod_atr":3.406555,"atr":0.074856,"spread_atr":0.13359,"own_change_pct":-0.398207,"rel_strength_pct":{"SPY":-0.362068,"IWM":-0.307688}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.050305},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f32734994dc0","ts":"2026-08-28T15:08:05+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3838,"target":5.49,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.12},"price":5.435,"vwap":5.4356,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":3.0,"volume_pace":1.682,"trend":"flat","recent_slope_pct":0.0223,"volatility":"medium"},"price":5.435,"volume":{"bars":98,"last_bar_volume":545429.0,"baseline_avg":61200.4,"bar_rvol":8.91218,"raw_accel":8.980403,"smooth_accel":1.631133,"accel_momentum":1.791602,"rvol_3bar":[1.119069,0.920115,8.91218],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":601,"trade_rate":20.033333,"buy_vol":204780.0,"sell_vol":97927.0,"unclassified_vol":0.0,"imbalance":0.352992,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.355631},"context":{"vwap":5.43559,"price_vs_vwap_pct":-0.010849,"ema9":5.435103,"ema20":5.433236,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.001821,"dist_to_hod_atr":3.938285,"atr":0.013965,"spread_atr":0.716052,"own_change_pct":0.091996,"rel_strength_pct":{"SPY":0.115222,"IWM":0.169972}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":3.145924},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2a7021bfe7c0","ts":"2026-08-28T15:08:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4869,"target":6.0,"target_label":"range_20d_high","reward_risk":5.8,"pos_in_5d_range_pct":49.7,"room_to_5d_high_atr":1.45},"price":5.5623,"vwap":5.5144,"ext_from_open_pct":3.97,"max_ext_allowed_pct":4.0,"volume_pace":0.989,"trend":"flat","recent_slope_pct":0.0352,"volatility":"medium"},"price":5.5623,"volume":{"bars":98,"last_bar_volume":90804.0,"baseline_avg":75319.3,"bar_rvol":1.205587,"raw_accel":0.225276,"smooth_accel":2.373788,"accel_momentum":1.773172,"rvol_3bar":[2.668224,1.020772,1.205587],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":152,"trade_rate":5.066667,"buy_vol":54799.0,"sell_vol":3054.0,"unclassified_vol":0.0,"imbalance":0.894422,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.01428},"context":{"vwap":5.514328,"price_vs_vwap_pct":0.869943,"ema9":5.55939,"ema20":5.553912,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.495528,"dist_to_hod_atr":1.118861,"atr":0.024757,"spread_atr":0.403921,"own_change_pct":0.36036,"rel_strength_pct":{"SPY":0.383586,"IWM":0.438336}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.078304},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"098cf3281dea","ts":"2026-08-28T15:08:05+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.1031,"target":7.25,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":0.6},"price":7.1901,"vwap":7.1909,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.668,"trend":"flat","recent_slope_pct":-0.088,"volatility":"medium"},"price":7.1901,"volume":{"bars":98,"last_bar_volume":36023.0,"baseline_avg":58531.5,"bar_rvol":0.615446,"raw_accel":0.710819,"smooth_accel":-0.585296,"accel_momentum":-0.390017,"rvol_3bar":[0.491503,0.356312,0.615446],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":3475.0,"sell_vol":2671.0,"unclassified_vol":0.0,"imbalance":0.130817,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":3.347117},"context":{"vwap":7.190874,"price_vs_vwap_pct":-0.010763,"ema9":7.204599,"ema20":7.198703,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.23489,"dist_to_hod_atr":3.887323,"atr":0.023126,"spread_atr":0.432405,"own_change_pct":-0.138793,"rel_strength_pct":{"SPY":-0.115567,"IWM":-0.060817}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.080511},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ce4751f8c867","ts":"2026-08-28T15:08:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.1% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4946,"target":6.0,"target_label":"range_20d_high","reward_risk":5.7,"pos_in_5d_range_pct":50.6,"room_to_5d_high_atr":1.43},"price":5.57,"vwap":5.5145,"ext_from_open_pct":4.11,"max_ext_allowed_pct":4.0,"volume_pace":0.989,"trend":"flat","recent_slope_pct":0.0629,"volatility":"medium"},"price":5.57,"volume":{"bars":98,"last_bar_volume":90804.0,"baseline_avg":75319.3,"bar_rvol":1.205587,"raw_accel":0.225276,"smooth_accel":2.373788,"accel_momentum":1.773172,"rvol_3bar":[2.668224,1.020772,1.205587],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":23537.0,"sell_vol":1101.0,"unclassified_vol":0.0,"imbalance":0.910626,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.185233},"context":{"vwap":5.514328,"price_vs_vwap_pct":1.009579,"ema9":5.55939,"ema20":5.553912,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.357782,"dist_to_hod_atr":0.807842,"atr":0.024757,"spread_atr":0.403921,"own_change_pct":0.36036,"rel_strength_pct":{"SPY":0.383586,"IWM":0.438336}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.097839},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"bccbf0079acb","ts":"2026-08-28T15:08:10+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":10.354,"target":10.567,"target_label":"ceiling","reward_risk":0.79,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.39},"price":10.4727,"vwap":10.4606,"ext_from_open_pct":-0.53,"max_ext_allowed_pct":3.0,"volume_pace":0.865,"trend":"flat","recent_slope_pct":-0.0139,"volatility":"medium"},"price":10.4727,"volume":{"bars":98,"last_bar_volume":57274.0,"baseline_avg":182369.4,"bar_rvol":0.314055,"raw_accel":-0.621989,"smooth_accel":-0.298083,"accel_momentum":-0.103671,"rvol_3bar":[0.262387,0.842268,0.314055],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":123,"trade_rate":4.1,"buy_vol":17068.0,"sell_vol":36810.0,"unclassified_vol":0.0,"imbalance":-0.36642,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.286463},"context":{"vwap":10.46056,"price_vs_vwap_pct":0.116059,"ema9":10.474404,"ema20":10.473356,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.892401,"dist_to_hod_atr":3.712576,"atr":0.0254,"spread_atr":0.393698,"own_change_pct":-0.286123,"rel_strength_pct":{"SPY":-0.262897,"IWM":-0.208147}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.115076},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f5cd45acf343","ts":"2026-08-28T15:08:10+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.1194,"target":7.25,"target_label":"premarket_high","reward_risk":0.5,"pos_in_5d_range_pct":64.5,"room_to_5d_high_atr":0.56},"price":7.2064,"vwap":7.1909,"ext_from_open_pct":0.37,"max_ext_allowed_pct":3.0,"volume_pace":0.668,"trend":"flat","recent_slope_pct":-0.0427,"volatility":"medium"},"price":7.2064,"volume":{"bars":98,"last_bar_volume":36023.0,"baseline_avg":58531.5,"bar_rvol":0.615446,"raw_accel":0.710819,"smooth_accel":-0.585296,"accel_momentum":-0.390017,"rvol_3bar":[0.491503,0.356312,0.615446],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":531.0,"sell_vol":1263.0,"unclassified_vol":0.0,"imbalance":-0.408027,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.815561},"context":{"vwap":7.190874,"price_vs_vwap_pct":0.215913,"ema9":7.204599,"ema20":7.198703,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.010989,"dist_to_hod_atr":3.182502,"atr":0.023126,"spread_atr":0.432405,"own_change_pct":-0.138793,"rel_strength_pct":{"SPY":-0.115567,"IWM":-0.060817}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.251119},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c43e230cc9a0","ts":"2026-08-28T15:08:15+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.45 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3327,"target":10.567,"target_label":"ceiling","reward_risk":0.97,"pos_in_5d_range_pct":76.7,"room_to_5d_high_atr":0.44},"price":10.4514,"vwap":10.4606,"ext_from_open_pct":-0.74,"max_ext_allowed_pct":3.0,"volume_pace":0.865,"trend":"flat","recent_slope_pct":-0.0547,"volatility":"medium"},"price":10.4514,"volume":{"bars":98,"last_bar_volume":57274.0,"baseline_avg":182369.4,"bar_rvol":0.314055,"raw_accel":-0.621989,"smooth_accel":-0.298083,"accel_momentum":-0.103671,"rvol_3bar":[0.262387,0.842268,0.314055],"trend_3bar":"MIXED","projected_rvol":0.379208},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":5230.0,"sell_vol":17962.0,"unclassified_vol":0.0,"imbalance":-0.548982,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.709736},"context":{"vwap":10.46056,"price_vs_vwap_pct":-0.087563,"ema9":10.474404,"ema20":10.473356,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.093972,"dist_to_hod_atr":4.551154,"atr":0.0254,"spread_atr":0.393698,"own_change_pct":-0.286123,"rel_strength_pct":{"SPY":-0.262897,"IWM":-0.208147}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.172411},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e55a5f257bf1","ts":"2026-08-28T15:08:20+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4871,"target":6.0,"target_label":"range_20d_high","reward_risk":5.8,"pos_in_5d_range_pct":49.7,"room_to_5d_high_atr":1.45},"price":5.5625,"vwap":5.5145,"ext_from_open_pct":3.97,"max_ext_allowed_pct":4.0,"volume_pace":0.988,"trend":"flat","recent_slope_pct":0.036,"volatility":"medium"},"price":5.5625,"volume":{"bars":98,"last_bar_volume":90804.0,"baseline_avg":75319.3,"bar_rvol":1.205587,"raw_accel":0.225276,"smooth_accel":2.373788,"accel_momentum":1.773172,"rvol_3bar":[2.668224,1.020772,1.205587],"trend_3bar":"MIXED","projected_rvol":1.296202},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":33419.0,"sell_vol":1033.0,"unclassified_vol":0.0,"imbalance":0.940033,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.060862},"context":{"vwap":5.514328,"price_vs_vwap_pct":0.87357,"ema9":5.55939,"ema20":5.553912,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.49195,"dist_to_hod_atr":1.110782,"atr":0.024757,"spread_atr":0.403921,"own_change_pct":0.36036,"rel_strength_pct":{"SPY":0.383586,"IWM":0.438336}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.133291},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0ef885a29fcd","ts":"2026-08-28T15:08:20+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.1031,"target":7.25,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":0.6},"price":7.1901,"vwap":7.1909,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.668,"trend":"flat","recent_slope_pct":-0.088,"volatility":"medium"},"price":7.1901,"volume":{"bars":98,"last_bar_volume":36023.0,"baseline_avg":58531.5,"bar_rvol":0.615446,"raw_accel":0.710819,"smooth_accel":-0.585296,"accel_momentum":-0.390017,"rvol_3bar":[0.491503,0.356312,0.615446],"trend_3bar":"MIXED","projected_rvol":0.650009},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":679.0,"sell_vol":12452.0,"unclassified_vol":0.0,"imbalance":-0.896581,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":1.826394},"context":{"vwap":7.190874,"price_vs_vwap_pct":-0.010763,"ema9":7.204599,"ema20":7.198703,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.23489,"dist_to_hod_atr":3.887323,"atr":0.023126,"spread_atr":0.432405,"own_change_pct":-0.138793,"rel_strength_pct":{"SPY":-0.115567,"IWM":-0.060817}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.551797},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5dfc69d03684","ts":"2026-08-28T15:08:25+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3925,"target":5.49,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":95.2,"room_to_5d_high_atr":0.08},"price":5.4437,"vwap":5.4357,"ext_from_open_pct":-0.48,"max_ext_allowed_pct":3.0,"volume_pace":1.71,"trend":"flat","recent_slope_pct":0.0543,"volatility":"medium"},"price":5.4437,"volume":{"bars":98,"last_bar_volume":545429.0,"baseline_avg":61200.4,"bar_rvol":8.91218,"raw_accel":8.980403,"smooth_accel":1.631133,"accel_momentum":1.791602,"rvol_3bar":[1.119069,0.920115,8.91218],"trend_3bar":"MIXED","projected_rvol":5.975686},"flow":{"window_s":30,"trades":245,"trade_rate":8.166667,"buy_vol":97334.0,"sell_vol":119193.0,"unclassified_vol":0.0,"imbalance":-0.100953,"bid":5.44,"ask":5.45,"spread_pct":0.183655,"quote_size_imbalance":null,"quote_age_s":0.291713},"context":{"vwap":5.43559,"price_vs_vwap_pct":0.149207,"ema9":5.435103,"ema20":5.433236,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.843352,"dist_to_hod_atr":3.31532,"atr":0.013965,"spread_atr":0.716052,"own_change_pct":0.091996,"rel_strength_pct":{"SPY":0.115222,"IWM":0.169972}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.899709},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"12a32c4e2222","ts":"2026-08-28T15:08:25+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4946,"target":6.0,"target_label":"range_20d_high","reward_risk":5.7,"pos_in_5d_range_pct":50.6,"room_to_5d_high_atr":1.43},"price":5.57,"vwap":5.5146,"ext_from_open_pct":4.11,"max_ext_allowed_pct":3.0,"volume_pace":0.989,"trend":"flat","recent_slope_pct":0.0629,"volatility":"medium"},"price":5.57,"volume":{"bars":98,"last_bar_volume":90804.0,"baseline_avg":75319.3,"bar_rvol":1.205587,"raw_accel":0.225276,"smooth_accel":2.373788,"accel_momentum":1.773172,"rvol_3bar":[2.668224,1.020772,1.205587],"trend_3bar":"MIXED","projected_rvol":1.434565},"flow":{"window_s":30,"trades":58,"trade_rate":1.933333,"buy_vol":34441.0,"sell_vol":10931.0,"unclassified_vol":0.0,"imbalance":0.518161,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":1.461528},"context":{"vwap":5.514328,"price_vs_vwap_pct":1.009579,"ema9":5.55939,"ema20":5.553912,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.357782,"dist_to_hod_atr":0.807842,"atr":0.024757,"spread_atr":0.403921,"own_change_pct":0.36036,"rel_strength_pct":{"SPY":0.383586,"IWM":0.438336}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.624688},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"31a8eed784c3","ts":"2026-08-28T15:08:25+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.1184,"target":7.25,"target_label":"premarket_high","reward_risk":0.51,"pos_in_5d_range_pct":64.3,"room_to_5d_high_atr":0.56},"price":7.2054,"vwap":7.1909,"ext_from_open_pct":0.35,"max_ext_allowed_pct":3.0,"volume_pace":0.668,"trend":"flat","recent_slope_pct":-0.0455,"volatility":"medium"},"price":7.2054,"volume":{"bars":98,"last_bar_volume":36023.0,"baseline_avg":58531.5,"bar_rvol":0.615446,"raw_accel":0.710819,"smooth_accel":-0.585296,"accel_momentum":-0.390017,"rvol_3bar":[0.491503,0.356312,0.615446],"trend_3bar":"MIXED","projected_rvol":0.570606},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":482.0,"sell_vol":13448.0,"unclassified_vol":0.0,"imbalance":-0.930797,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":1.701705},"context":{"vwap":7.190874,"price_vs_vwap_pct":0.202006,"ema9":7.204599,"ema20":7.198703,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.024725,"dist_to_hod_atr":3.225743,"atr":0.023126,"spread_atr":0.432405,"own_change_pct":-0.138793,"rel_strength_pct":{"SPY":-0.115567,"IWM":-0.060817}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.572856},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d8ed8d1b87b5","ts":"2026-08-28T15:08:30+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.18 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.098,"target":7.25,"target_label":"premarket_high","reward_risk":0.75,"pos_in_5d_range_pct":60.6,"room_to_5d_high_atr":0.62},"price":7.185,"vwap":7.1909,"ext_from_open_pct":0.07,"max_ext_allowed_pct":3.0,"volume_pace":0.673,"trend":"flat","recent_slope_pct":-0.1022,"volatility":"medium"},"price":7.185,"volume":{"bars":98,"last_bar_volume":36023.0,"baseline_avg":58531.5,"bar_rvol":0.615446,"raw_accel":0.710819,"smooth_accel":-0.585296,"accel_momentum":-0.390017,"rvol_3bar":[0.491503,0.356312,0.615446],"trend_3bar":"MIXED","projected_rvol":1.858862},"flow":{"window_s":30,"trades":99,"trade_rate":3.3,"buy_vol":27802.0,"sell_vol":26599.0,"unclassified_vol":0.0,"imbalance":0.022114,"bid":7.18,"ask":7.19,"spread_pct":0.139179,"quote_size_imbalance":null,"quote_age_s":0.075945},"context":{"vwap":7.190874,"price_vs_vwap_pct":-0.081686,"ema9":7.204599,"ema20":7.198703,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.304945,"dist_to_hod_atr":4.107849,"atr":0.023126,"spread_atr":0.432405,"own_change_pct":-0.138793,"rel_strength_pct":{"SPY":-0.115567,"IWM":-0.060817}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.01361},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ca9e1e6cb748","ts":"2026-08-28T15:08:40+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":10.3676,"target":10.567,"target_label":"ceiling","reward_risk":0.68,"pos_in_5d_range_pct":80.6,"room_to_5d_high_atr":0.37},"price":10.4863,"vwap":10.4606,"ext_from_open_pct":-0.41,"max_ext_allowed_pct":3.0,"volume_pace":0.862,"trend":"flat","recent_slope_pct":0.012,"volatility":"medium"},"price":10.4863,"volume":{"bars":98,"last_bar_volume":57274.0,"baseline_avg":182369.4,"bar_rvol":0.314055,"raw_accel":-0.621989,"smooth_accel":-0.298083,"accel_momentum":-0.103671,"rvol_3bar":[0.262387,0.842268,0.314055],"trend_3bar":"MIXED","projected_rvol":0.256556},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":324.0,"sell_vol":13997.0,"unclassified_vol":0.0,"imbalance":-0.954752,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":1.024759},"context":{"vwap":10.46056,"price_vs_vwap_pct":0.246071,"ema9":10.474404,"ema20":10.473356,"ema_stack":true,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.763698,"dist_to_hod_atr":3.177146,"atr":0.0254,"spread_atr":0.393698,"own_change_pct":-0.286123,"rel_strength_pct":{"SPY":-0.262897,"IWM":-0.208147}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.299844},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"db38a3851104","ts":"2026-08-28T15:08:45+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.46 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3408,"target":10.567,"target_label":"ceiling","reward_risk":0.91,"pos_in_5d_range_pct":77.6,"room_to_5d_high_atr":0.42},"price":10.4595,"vwap":10.4606,"ext_from_open_pct":-0.66,"max_ext_allowed_pct":3.0,"volume_pace":0.861,"trend":"flat","recent_slope_pct":-0.0392,"volatility":"medium"},"price":10.4595,"volume":{"bars":98,"last_bar_volume":57274.0,"baseline_avg":182369.4,"bar_rvol":0.314055,"raw_accel":-0.621989,"smooth_accel":-0.298083,"accel_momentum":-0.103671,"rvol_3bar":[0.262387,0.842268,0.314055],"trend_3bar":"MIXED","projected_rvol":0.229088},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":325.0,"sell_vol":13720.0,"unclassified_vol":0.0,"imbalance":-0.95372,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":1.52739},"context":{"vwap":10.46056,"price_vs_vwap_pct":-0.010129,"ema9":10.474404,"ema20":10.473356,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.017318,"dist_to_hod_atr":4.232258,"atr":0.0254,"spread_atr":0.393698,"own_change_pct":-0.286123,"rel_strength_pct":{"SPY":-0.262897,"IWM":-0.208147}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.29952},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f1c595c9791b","ts":"2026-08-28T15:09:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":11.0373,"target":11.32,"target_label":"prev_day_high","reward_risk":0.69,"pos_in_5d_range_pct":85.6,"room_to_5d_high_atr":0.2},"price":11.205,"vwap":11.1633,"ext_from_open_pct":-2.4,"max_ext_allowed_pct":3.0,"volume_pace":2.325,"trend":"flat","recent_slope_pct":-0.0223,"volatility":"medium"},"price":11.205,"volume":{"bars":99,"last_bar_volume":72224.0,"baseline_avg":24750.6,"bar_rvol":2.918071,"raw_accel":1.186552,"smooth_accel":1.310364,"accel_momentum":1.412017,"rvol_3bar":[1.230261,1.379764,2.918071],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":66,"trade_rate":2.2,"buy_vol":10478.0,"sell_vol":5891.0,"unclassified_vol":0.0,"imbalance":0.280225,"bid":11.2,"ask":11.21,"spread_pct":0.089246,"quote_size_imbalance":null,"quote_age_s":0.036114},"context":{"vwap":11.163293,"price_vs_vwap_pct":0.373605,"ema9":11.221632,"ema20":11.224841,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.714952,"dist_to_hod_atr":4.965765,"atr":0.062971,"spread_atr":0.158803,"own_change_pct":-0.133809,"rel_strength_pct":{"SPY":-0.058966,"IWM":-0.07842}},"vas":{"raw":7,"score":8.8,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.817716},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"60d85a70a125","ts":"2026-08-28T15:09:15+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":11.0423,"target":11.32,"target_label":"prev_day_high","reward_risk":0.66,"pos_in_5d_range_pct":86.2,"room_to_5d_high_atr":0.19},"price":11.21,"vwap":11.1633,"ext_from_open_pct":-2.35,"max_ext_allowed_pct":4.0,"volume_pace":2.323,"trend":"flat","recent_slope_pct":-0.0134,"volatility":"medium"},"price":11.21,"volume":{"bars":99,"last_bar_volume":72224.0,"baseline_avg":24750.6,"bar_rvol":2.918071,"raw_accel":1.186552,"smooth_accel":1.310364,"accel_momentum":1.412017,"rvol_3bar":[1.230261,1.379764,2.918071],"trend_3bar":"ACCELERATING","projected_rvol":0.735336},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":6778.0,"sell_vol":7110.0,"unclassified_vol":0.0,"imbalance":-0.023906,"bid":11.2,"ask":11.21,"spread_pct":0.089246,"quote_size_imbalance":null,"quote_age_s":0.047934},"context":{"vwap":11.163293,"price_vs_vwap_pct":0.418394,"ema9":11.221632,"ema20":11.224841,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.67154,"dist_to_hod_atr":4.886364,"atr":0.062971,"spread_atr":0.158803,"own_change_pct":-0.133809,"rel_strength_pct":{"SPY":-0.058966,"IWM":-0.07842}},"vas":{"raw":6,"score":8.1,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.069758},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0a1ada9e4f4c","ts":"2026-08-28T15:09:20+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9574,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":3.0,"volume_pace":1.957,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.955,"volume":{"bars":99,"last_bar_volume":31045.0,"baseline_avg":41619.1,"bar_rvol":0.745932,"raw_accel":1.19136,"smooth_accel":-0.092823,"accel_momentum":-0.031186,"rvol_3bar":[0.2696,0.298766,0.745932],"trend_3bar":"ACCELERATING","projected_rvol":2.612046},"flow":{"window_s":30,"trades":139,"trade_rate":4.633333,"buy_vol":26826.0,"sell_vol":19529.0,"unclassified_vol":0.0,"imbalance":0.157416,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.770467},"context":{"vwap":10.957391,"price_vs_vwap_pct":-0.021823,"ema9":10.965274,"ema20":10.963144,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.039946,"atr":0.014803,"spread_atr":0.675544,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.029244,"IWM":0.009789}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.117421},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c220470f97c1","ts":"2026-08-28T15:09:20+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5147,"ext_from_open_pct":3.64,"max_ext_allowed_pct":4.0,"volume_pace":0.983,"trend":"flat","recent_slope_pct":-0.0693,"volatility":"medium"},"price":5.545,"volume":{"bars":99,"last_bar_volume":68578.0,"baseline_avg":78993.05,"bar_rvol":0.868152,"raw_accel":-0.244769,"smooth_accel":-0.095928,"accel_momentum":-2.469716,"rvol_3bar":[1.020772,1.205587,0.868152],"trend_3bar":"MIXED","projected_rvol":0.067563},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":3295.0,"sell_vol":7355.0,"unclassified_vol":0.0,"imbalance":-0.381221,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":1.047718},"context":{"vwap":5.51466,"price_vs_vwap_pct":0.550173,"ema9":5.556312,"ema20":5.552968,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.805009,"dist_to_hod_atr":1.797713,"atr":0.025032,"spread_atr":0.399492,"own_change_pct":-0.19802,"rel_strength_pct":{"SPY":-0.123176,"IWM":-0.142631}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.330958},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6b78b8a40440","ts":"2026-08-28T15:09:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4827,"target":6.0,"target_label":"range_20d_high","reward_risk":5.86,"pos_in_5d_range_pct":49.2,"room_to_5d_high_atr":1.46},"price":5.5581,"vwap":5.5147,"ext_from_open_pct":3.89,"max_ext_allowed_pct":3.0,"volume_pace":0.982,"trend":"flat","recent_slope_pct":-0.0221,"volatility":"medium"},"price":5.5581,"volume":{"bars":99,"last_bar_volume":68578.0,"baseline_avg":78993.05,"bar_rvol":0.868152,"raw_accel":-0.244769,"smooth_accel":-0.095928,"accel_momentum":-2.469716,"rvol_3bar":[1.020772,1.205587,0.868152],"trend_3bar":"MIXED","projected_rvol":0.127657},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":3506.0,"sell_vol":1536.0,"unclassified_vol":0.0,"imbalance":0.390718,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.001169},"context":{"vwap":5.51466,"price_vs_vwap_pct":0.787722,"ema9":5.556312,"ema20":5.552968,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.570662,"dist_to_hod_atr":1.274379,"atr":0.025032,"spread_atr":0.399492,"own_change_pct":-0.19802,"rel_strength_pct":{"SPY":-0.123176,"IWM":-0.142631}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.339203},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"790819a880e2","ts":"2026-08-28T15:09:35+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9574,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.953,"trend":"flat","recent_slope_pct":0.0,"volatility":"low"},"price":10.96,"volume":{"bars":99,"last_bar_volume":31045.0,"baseline_avg":41619.1,"bar_rvol":0.745932,"raw_accel":1.19136,"smooth_accel":-0.092823,"accel_momentum":-0.031186,"rvol_3bar":[0.2696,0.298766,0.745932],"trend_3bar":"ACCELERATING","projected_rvol":1.617856},"flow":{"window_s":30,"trades":146,"trade_rate":4.866667,"buy_vol":19132.0,"sell_vol":19525.0,"unclassified_vol":0.0,"imbalance":-0.010166,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.540717},"context":{"vwap":10.957391,"price_vs_vwap_pct":0.023808,"ema9":10.965274,"ema20":10.963144,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":2.702174,"atr":0.014803,"spread_atr":0.675544,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.029244,"IWM":0.009789}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.007583},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b29d8c79b6d2","ts":"2026-08-28T15:09:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5147,"ext_from_open_pct":3.74,"max_ext_allowed_pct":4.0,"volume_pace":0.982,"trend":"flat","recent_slope_pct":-0.0513,"volatility":"medium"},"price":5.55,"volume":{"bars":99,"last_bar_volume":68578.0,"baseline_avg":78993.05,"bar_rvol":0.868152,"raw_accel":-0.244769,"smooth_accel":-0.095928,"accel_momentum":-2.469716,"rvol_3bar":[1.020772,1.205587,0.868152],"trend_3bar":"MIXED","projected_rvol":0.160571},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":4556.0,"sell_vol":2743.0,"unclassified_vol":0.0,"imbalance":0.24839,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.552217},"context":{"vwap":5.51466,"price_vs_vwap_pct":0.640841,"ema9":5.556312,"ema20":5.552968,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.715564,"dist_to_hod_atr":1.597967,"atr":0.025032,"spread_atr":0.399492,"own_change_pct":-0.19802,"rel_strength_pct":{"SPY":-0.123176,"IWM":-0.142631}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":0,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.215641},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7127fab9d727","ts":"2026-08-28T15:09:35+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":10.3656,"target":10.567,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":80.4,"room_to_5d_high_atr":0.37},"price":10.4843,"vwap":10.4606,"ext_from_open_pct":-0.42,"max_ext_allowed_pct":3.0,"volume_pace":0.858,"trend":"flat","recent_slope_pct":-0.0013,"volatility":"medium"},"price":10.4843,"volume":{"bars":99,"last_bar_volume":46689.0,"baseline_avg":139911.9,"bar_rvol":0.333703,"raw_accel":-0.184813,"smooth_accel":-0.353686,"accel_momentum":-0.055603,"rvol_3bar":[0.842268,0.314055,0.333703],"trend_3bar":"MIXED","projected_rvol":0.615412},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":10628.0,"sell_vol":39344.0,"unclassified_vol":0.0,"imbalance":-0.574642,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.399112},"context":{"vwap":10.460564,"price_vs_vwap_pct":0.226907,"ema9":10.469523,"ema20":10.471132,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.782625,"dist_to_hod_atr":3.159055,"atr":0.026179,"spread_atr":0.38199,"own_change_pct":-0.381316,"rel_strength_pct":{"SPY":-0.306472,"IWM":-0.325927}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.19176},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ff86dd42543b","ts":"2026-08-28T15:09:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5147,"ext_from_open_pct":3.64,"max_ext_allowed_pct":3.0,"volume_pace":0.982,"trend":"flat","recent_slope_pct":-0.0693,"volatility":"medium"},"price":5.545,"volume":{"bars":99,"last_bar_volume":68578.0,"baseline_avg":78993.05,"bar_rvol":0.868152,"raw_accel":-0.244769,"smooth_accel":-0.095928,"accel_momentum":-2.469716,"rvol_3bar":[1.020772,1.205587,0.868152],"trend_3bar":"MIXED","projected_rvol":0.276252},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":4223.0,"sell_vol":9058.0,"unclassified_vol":0.0,"imbalance":-0.364054,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.149271},"context":{"vwap":5.51466,"price_vs_vwap_pct":0.550173,"ema9":5.556312,"ema20":5.552968,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.805009,"dist_to_hod_atr":1.797713,"atr":0.025032,"spread_atr":0.399492,"own_change_pct":-0.19802,"rel_strength_pct":{"SPY":-0.123176,"IWM":-0.142631}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.316054},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"01c30c44cf65","ts":"2026-08-28T15:09:40+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.45 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.334,"target":10.567,"target_label":"ceiling","reward_risk":0.96,"pos_in_5d_range_pct":76.8,"room_to_5d_high_atr":0.44},"price":10.4527,"vwap":10.4606,"ext_from_open_pct":-0.72,"max_ext_allowed_pct":3.0,"volume_pace":0.857,"trend":"flat","recent_slope_pct":-0.0618,"volatility":"medium"},"price":10.4527,"volume":{"bars":99,"last_bar_volume":46689.0,"baseline_avg":139911.9,"bar_rvol":0.333703,"raw_accel":-0.184813,"smooth_accel":-0.353686,"accel_momentum":-0.055603,"rvol_3bar":[0.842268,0.314055,0.333703],"trend_3bar":"MIXED","projected_rvol":0.540865},"flow":{"window_s":30,"trades":39,"trade_rate":1.3,"buy_vol":10625.0,"sell_vol":39349.0,"unclassified_vol":0.0,"imbalance":-0.574779,"bid":10.45,"ask":10.46,"spread_pct":0.095648,"quote_size_imbalance":null,"quote_age_s":0.347031},"context":{"vwap":10.460564,"price_vs_vwap_pct":-0.07518,"ema9":10.469523,"ema20":10.471132,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.081669,"dist_to_hod_atr":4.366143,"atr":0.026179,"spread_atr":0.38199,"own_change_pct":-0.381316,"rel_strength_pct":{"SPY":-0.306472,"IWM":-0.325927}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.191805},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"11444dd5677a","ts":"2026-08-28T15:09:45+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9574,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":3.0,"volume_pace":1.951,"trend":"flat","recent_slope_pct":-0.0091,"volatility":"low"},"price":10.955,"volume":{"bars":99,"last_bar_volume":31045.0,"baseline_avg":41619.1,"bar_rvol":0.745932,"raw_accel":1.19136,"smooth_accel":-0.092823,"accel_momentum":-0.031186,"rvol_3bar":[0.2696,0.298766,0.745932],"trend_3bar":"ACCELERATING","projected_rvol":1.405733},"flow":{"window_s":30,"trades":145,"trade_rate":4.833333,"buy_vol":14900.0,"sell_vol":16247.0,"unclassified_vol":0.0,"imbalance":-0.043247,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.313222},"context":{"vwap":10.957391,"price_vs_vwap_pct":-0.021823,"ema9":10.965274,"ema20":10.963144,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.039946,"atr":0.014803,"spread_atr":0.675544,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.029244,"IWM":0.009789}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.032259},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"96fd71985d24","ts":"2026-08-28T15:09:45+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4779,"target":6.0,"target_label":"range_20d_high","reward_risk":5.92,"pos_in_5d_range_pct":48.7,"room_to_5d_high_atr":1.48},"price":5.5533,"vwap":5.5147,"ext_from_open_pct":3.8,"max_ext_allowed_pct":4.0,"volume_pace":0.981,"trend":"flat","recent_slope_pct":-0.0394,"volatility":"medium"},"price":5.5533,"volume":{"bars":99,"last_bar_volume":68578.0,"baseline_avg":78993.05,"bar_rvol":0.868152,"raw_accel":-0.244769,"smooth_accel":-0.095928,"accel_momentum":-2.469716,"rvol_3bar":[1.020772,1.205587,0.868152],"trend_3bar":"MIXED","projected_rvol":0.250503},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":4357.0,"sell_vol":9064.0,"unclassified_vol":0.0,"imbalance":-0.350719,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.26566},"context":{"vwap":5.51466,"price_vs_vwap_pct":0.700681,"ema9":5.556312,"ema20":5.552968,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.65653,"dist_to_hod_atr":1.466135,"atr":0.025032,"spread_atr":0.399492,"own_change_pct":-0.19802,"rel_strength_pct":{"SPY":-0.123176,"IWM":-0.142631}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.304478},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"030814605464","ts":"2026-08-28T15:09:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5147,"ext_from_open_pct":3.64,"max_ext_allowed_pct":3.0,"volume_pace":0.979,"trend":"flat","recent_slope_pct":-0.0693,"volatility":"medium"},"price":5.545,"volume":{"bars":99,"last_bar_volume":68578.0,"baseline_avg":78993.05,"bar_rvol":0.868152,"raw_accel":-0.244769,"smooth_accel":-0.095928,"accel_momentum":-2.469716,"rvol_3bar":[1.020772,1.205587,0.868152],"trend_3bar":"MIXED","projected_rvol":0.208921},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":4056.0,"sell_vol":8893.0,"unclassified_vol":0.0,"imbalance":-0.373542,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":2.12814},"context":{"vwap":5.51466,"price_vs_vwap_pct":0.550173,"ema9":5.556312,"ema20":5.552968,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.805009,"dist_to_hod_atr":1.797713,"atr":0.025032,"spread_atr":0.399492,"own_change_pct":-0.19802,"rel_strength_pct":{"SPY":-0.123176,"IWM":-0.142631}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.324292},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6bb0fde0eec8","ts":"2026-08-28T15:10:00+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9574,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":4.0,"volume_pace":1.948,"trend":"flat","recent_slope_pct":0.0,"volatility":"low"},"price":10.96,"volume":{"bars":99,"last_bar_volume":31045.0,"baseline_avg":41619.1,"bar_rvol":0.745932,"raw_accel":1.19136,"smooth_accel":-0.092823,"accel_momentum":-0.031186,"rvol_3bar":[0.2696,0.298766,0.745932],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":3566.0,"sell_vol":6882.0,"unclassified_vol":0.0,"imbalance":-0.317381,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":2.716625},"context":{"vwap":10.957391,"price_vs_vwap_pct":0.023808,"ema9":10.965274,"ema20":10.963144,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":2.702174,"atr":0.014803,"spread_atr":0.675544,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.040862,"IWM":0.008092}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.236745},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"cf24786ede92","ts":"2026-08-28T15:10:00+00:00","symbol":"NOK","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":10.3437,"target":10.567,"target_label":"ceiling","reward_risk":0.88,"pos_in_5d_range_pct":77.9,"room_to_5d_high_atr":0.42},"price":10.4624,"vwap":10.4606,"ext_from_open_pct":-0.63,"max_ext_allowed_pct":3.0,"volume_pace":0.858,"trend":"flat","recent_slope_pct":-0.0432,"volatility":"medium"},"price":10.4624,"volume":{"bars":99,"last_bar_volume":46689.0,"baseline_avg":139911.9,"bar_rvol":0.333703,"raw_accel":-0.184813,"smooth_accel":-0.353686,"accel_momentum":-0.055603,"rvol_3bar":[0.842268,0.314055,0.333703],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":154,"trade_rate":5.133333,"buy_vol":17738.0,"sell_vol":62865.0,"unclassified_vol":0.0,"imbalance":-0.559867,"bid":10.43,"ask":10.44,"spread_pct":0.095831,"quote_size_imbalance":null,"quote_age_s":0.002504},"context":{"vwap":10.460564,"price_vs_vwap_pct":0.017549,"ema9":10.469523,"ema20":10.471132,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-0.989874,"dist_to_hod_atr":3.995613,"atr":0.026179,"spread_atr":0.38199,"own_change_pct":-0.381316,"rel_strength_pct":{"SPY":-0.294854,"IWM":-0.327624}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.186829},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4474a6d015d1","ts":"2026-08-28T15:10:05+00:00","symbol":"EXK","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":11.0173,"target":11.32,"target_label":"prev_day_high","reward_risk":0.81,"pos_in_5d_range_pct":83.5,"room_to_5d_high_atr":0.23},"price":11.185,"vwap":11.1634,"ext_from_open_pct":-2.57,"max_ext_allowed_pct":3.0,"volume_pace":2.313,"trend":"flat","recent_slope_pct":-0.0312,"volatility":"medium"},"price":11.185,"volume":{"bars":100,"last_bar_volume":21871.0,"baseline_avg":26612.15,"bar_rvol":0.821843,"raw_accel":-0.697178,"smooth_accel":0.959764,"accel_momentum":-0.3506,"rvol_3bar":[1.379764,2.918071,0.821843],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":3698.0,"sell_vol":6097.0,"unclassified_vol":0.0,"imbalance":-0.244921,"bid":11.18,"ask":11.19,"spread_pct":0.089405,"quote_size_imbalance":null,"quote_age_s":0.026785},"context":{"vwap":11.163425,"price_vs_vwap_pct":0.193267,"ema9":11.214305,"ema20":11.221047,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-2.888598,"dist_to_hod_atr":5.393312,"atr":0.061688,"spread_atr":0.162107,"own_change_pct":-0.577778,"rel_strength_pct":{"SPY":-0.491316,"IWM":-0.524087}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":3,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.201286},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b8a6b69b1735","ts":"2026-08-28T15:10:05+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9574,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":4.0,"volume_pace":1.947,"trend":"flat","recent_slope_pct":-0.0172,"volatility":"low"},"price":10.955,"volume":{"bars":100,"last_bar_volume":49215.0,"baseline_avg":41442.4,"bar_rvol":1.187552,"raw_accel":0.585279,"smooth_accel":0.47616,"accel_momentum":0.568983,"rvol_3bar":[0.298766,0.745932,1.187552],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":4846.0,"sell_vol":8431.0,"unclassified_vol":0.0,"imbalance":-0.270016,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.649488},"context":{"vwap":10.957412,"price_vs_vwap_pct":-0.022011,"ema9":10.96422,"ema20":10.962844,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":2.965576,"atr":0.015174,"spread_atr":0.659017,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.040862,"IWM":0.008092}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.320658},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6b5a186310f6","ts":"2026-08-28T15:10:05+00:00","symbol":"NOK","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.44 below VWAP $10.46","plan":{"state":"PASS","setup":"","stop":10.3163,"target":10.567,"target_label":"ceiling","reward_risk":1.11,"pos_in_5d_range_pct":74.9,"room_to_5d_high_atr":0.47},"price":10.435,"vwap":10.4606,"ext_from_open_pct":-0.89,"max_ext_allowed_pct":4.0,"volume_pace":0.858,"trend":"flat","recent_slope_pct":-0.0599,"volatility":"medium"},"price":10.435,"volume":{"bars":100,"last_bar_volume":129130.0,"baseline_avg":102942.7,"bar_rvol":1.254387,"raw_accel":1.765748,"smooth_accel":-0.26893,"accel_momentum":0.084756,"rvol_3bar":[0.314055,0.333703,1.254387],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":171,"trade_rate":5.7,"buy_vol":28841.0,"sell_vol":62765.0,"unclassified_vol":0.0,"imbalance":-0.370325,"bid":10.43,"ask":10.44,"spread_pct":0.095831,"quote_size_imbalance":null,"quote_age_s":0.546735},"context":{"vwap":10.460565,"price_vs_vwap_pct":-0.24439,"ema9":10.468099,"ema20":10.4703,"ema_stack":false,"ema_warm":true,"hod":10.567,"dist_to_hod_pct":-1.249172,"dist_to_hod_atr":4.741826,"atr":0.027837,"spread_atr":0.359229,"own_change_pct":-0.072588,"rel_strength_pct":{"SPY":0.013873,"IWM":-0.018897}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":0,"accel":-1,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.464531},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2b8e1d132d21","ts":"2026-08-28T15:10:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.1116,"target":7.25,"target_label":"premarket_high","reward_risk":0.59,"pos_in_5d_range_pct":63.0,"room_to_5d_high_atr":0.58},"price":7.1986,"vwap":7.191,"ext_from_open_pct":0.26,"max_ext_allowed_pct":3.0,"volume_pace":0.681,"trend":"flat","recent_slope_pct":-0.0128,"volatility":"medium"},"price":7.1986,"volume":{"bars":100,"last_bar_volume":115027.0,"baseline_avg":58081.25,"bar_rvol":1.98045,"raw_accel":0.449871,"smooth_accel":0.795346,"accel_momentum":0.789098,"rvol_3bar":[0.615446,1.420683,1.98045],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":1636.0,"sell_vol":13166.0,"unclassified_vol":0.0,"imbalance":-0.778949,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.874236},"context":{"vwap":7.19099,"price_vs_vwap_pct":0.105824,"ema9":7.200344,"ema20":7.197601,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.118132,"dist_to_hod_atr":3.415211,"atr":0.023835,"spread_atr":0.419559,"own_change_pct":-0.2772,"rel_strength_pct":{"SPY":-0.190739,"IWM":-0.223509}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.542669},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"02eb449d5c65","ts":"2026-08-28T15:10:05+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.1506,"target":13.51,"target_label":"ceiling","reward_risk":1.64,"pos_in_5d_range_pct":15.2,"room_to_5d_high_atr":1.46},"price":13.2867,"vwap":13.2713,"ext_from_open_pct":-1.8,"max_ext_allowed_pct":4.0,"volume_pace":1.385,"trend":"flat","recent_slope_pct":-0.0811,"volatility":"medium"},"price":13.2867,"volume":{"bars":100,"last_bar_volume":23081.0,"baseline_avg":60921.8,"bar_rvol":0.378863,"raw_accel":-0.127471,"smooth_accel":0.383156,"accel_momentum":0.267226,"rvol_3bar":[0.458055,0.441717,0.378863],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":39,"trade_rate":1.3,"buy_vol":5080.0,"sell_vol":1235.0,"unclassified_vol":0.0,"imbalance":0.608868,"bid":13.28,"ask":13.29,"spread_pct":0.075273,"quote_size_imbalance":null,"quote_age_s":0.026784},"context":{"vwap":13.271298,"price_vs_vwap_pct":0.116052,"ema9":13.327879,"ema20":13.325304,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.015487,"dist_to_hod_atr":3.484584,"atr":0.078431,"spread_atr":0.1275,"own_change_pct":-0.561167,"rel_strength_pct":{"SPY":-0.474706,"IWM":-0.507476}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.230677},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"ba70cf372127","ts":"2026-08-28T15:10:10+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9574,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":4.0,"volume_pace":1.946,"trend":"flat","recent_slope_pct":-0.0081,"volatility":"low"},"price":10.96,"volume":{"bars":100,"last_bar_volume":49215.0,"baseline_avg":41442.4,"bar_rvol":1.187552,"raw_accel":0.585279,"smooth_accel":0.47616,"accel_momentum":0.568983,"rvol_3bar":[0.298766,0.745932,1.187552],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":5011.0,"sell_vol":7871.0,"unclassified_vol":0.0,"imbalance":-0.222015,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":4.592237},"context":{"vwap":10.957412,"price_vs_vwap_pct":0.02362,"ema9":10.96422,"ema20":10.962844,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":2.636068,"atr":0.015174,"spread_atr":0.659017,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.040862,"IWM":0.008092}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.263655},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2cfde09030d1","ts":"2026-08-28T15:10:10+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5147,"ext_from_open_pct":3.64,"max_ext_allowed_pct":4.0,"volume_pace":0.977,"trend":"flat","recent_slope_pct":-0.108,"volatility":"medium"},"price":5.545,"volume":{"bars":100,"last_bar_volume":15233.0,"baseline_avg":81066.1,"bar_rvol":0.187908,"raw_accel":-0.777873,"smooth_accel":-0.393129,"accel_momentum":-0.297201,"rvol_3bar":[1.205587,0.868152,0.187908],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":25,"trade_rate":0.833333,"buy_vol":1211.0,"sell_vol":409.0,"unclassified_vol":0.0,"imbalance":0.495062,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":4.171764},"context":{"vwap":5.514725,"price_vs_vwap_pct":0.548993,"ema9":5.554049,"ema20":5.552209,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.805009,"dist_to_hod_atr":1.833989,"atr":0.024537,"spread_atr":0.407553,"own_change_pct":-0.269784,"rel_strength_pct":{"SPY":-0.183323,"IWM":-0.216093}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.093026},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"d88af74e4b85","ts":"2026-08-28T15:10:10+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.103,"target":7.25,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":0.6},"price":7.19,"vwap":7.191,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.681,"trend":"flat","recent_slope_pct":-0.0367,"volatility":"medium"},"price":7.19,"volume":{"bars":100,"last_bar_volume":115027.0,"baseline_avg":58081.25,"bar_rvol":1.98045,"raw_accel":0.449871,"smooth_accel":0.795346,"accel_momentum":0.789098,"rvol_3bar":[0.615446,1.420683,1.98045],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":1672.0,"sell_vol":11284.0,"unclassified_vol":0.0,"imbalance":-0.741896,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":1.521147},"context":{"vwap":7.19099,"price_vs_vwap_pct":-0.01377,"ema9":7.200344,"ema20":7.197601,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.236264,"dist_to_hod_atr":3.776031,"atr":0.023835,"spread_atr":0.419559,"own_change_pct":-0.2772,"rel_strength_pct":{"SPY":-0.190739,"IWM":-0.223509}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.469287},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3a27cc4413cb","ts":"2026-08-28T15:10:15+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.1095,"target":7.25,"target_label":"premarket_high","reward_risk":0.62,"pos_in_5d_range_pct":62.7,"room_to_5d_high_atr":0.59},"price":7.1965,"vwap":7.191,"ext_from_open_pct":0.23,"max_ext_allowed_pct":4.0,"volume_pace":0.681,"trend":"flat","recent_slope_pct":-0.0186,"volatility":"medium"},"price":7.1965,"volume":{"bars":100,"last_bar_volume":115027.0,"baseline_avg":58081.25,"bar_rvol":1.98045,"raw_accel":0.449871,"smooth_accel":0.795346,"accel_momentum":0.789098,"rvol_3bar":[0.615446,1.420683,1.98045],"trend_3bar":"ACCELERATING","projected_rvol":0.259636},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":2795.0,"sell_vol":12383.0,"unclassified_vol":0.0,"imbalance":-0.631704,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":2.83395},"context":{"vwap":7.19099,"price_vs_vwap_pct":0.076621,"ema9":7.200344,"ema20":7.197601,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.146978,"dist_to_hod_atr":3.503318,"atr":0.023835,"spread_atr":0.419559,"own_change_pct":-0.2772,"rel_strength_pct":{"SPY":-0.190739,"IWM":-0.223509}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.251058},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b97c2ea7f8d9","ts":"2026-08-28T15:10:20+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.95 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9122,"target":11.13,"target_label":"range_20d_high","reward_risk":4.76,"pos_in_5d_range_pct":66.6,"room_to_5d_high_atr":0.53},"price":10.95,"vwap":10.9574,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":4.0,"volume_pace":1.943,"trend":"flat","recent_slope_pct":-0.0264,"volatility":"low"},"price":10.95,"volume":{"bars":100,"last_bar_volume":49215.0,"baseline_avg":41442.4,"bar_rvol":1.187552,"raw_accel":0.585279,"smooth_accel":0.47616,"accel_momentum":0.568983,"rvol_3bar":[0.298766,0.745932,1.187552],"trend_3bar":"ACCELERATING","projected_rvol":0.533874},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":6648.0,"sell_vol":3858.0,"unclassified_vol":0.0,"imbalance":0.265563,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":7.295795},"context":{"vwap":10.957412,"price_vs_vwap_pct":-0.067642,"ema9":10.96422,"ema20":10.962844,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.454545,"dist_to_hod_atr":3.295085,"atr":0.015174,"spread_atr":0.659017,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.040862,"IWM":0.008092}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.315369},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6b1cceec6b7b","ts":"2026-08-28T15:10:20+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.27 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1339,"target":13.51,"target_label":"ceiling","reward_risk":1.76,"pos_in_5d_range_pct":13.4,"room_to_5d_high_atr":1.49},"price":13.27,"vwap":13.2713,"ext_from_open_pct":-1.92,"max_ext_allowed_pct":3.0,"volume_pace":1.382,"trend":"flat","recent_slope_pct":-0.1063,"volatility":"medium"},"price":13.27,"volume":{"bars":100,"last_bar_volume":23081.0,"baseline_avg":60921.8,"bar_rvol":0.378863,"raw_accel":-0.127471,"smooth_accel":0.383156,"accel_momentum":0.267226,"rvol_3bar":[0.458055,0.441717,0.378863],"trend_3bar":"DECELERATING","projected_rvol":0.195201},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":3862.0,"sell_vol":2116.0,"unclassified_vol":0.0,"imbalance":0.292071,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.112371},"context":{"vwap":13.271298,"price_vs_vwap_pct":-0.009784,"ema9":13.327879,"ema20":13.325304,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.138643,"dist_to_hod_atr":3.697509,"atr":0.078431,"spread_atr":0.1275,"own_change_pct":-0.561167,"rel_strength_pct":{"SPY":-0.474706,"IWM":-0.507476}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.110655},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"43e652576815","ts":"2026-08-28T15:10:25+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9574,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":4.0,"volume_pace":1.942,"trend":"flat","recent_slope_pct":-0.0081,"volatility":"low"},"price":10.96,"volume":{"bars":100,"last_bar_volume":49215.0,"baseline_avg":41442.4,"bar_rvol":1.187552,"raw_accel":0.585279,"smooth_accel":0.47616,"accel_momentum":0.568983,"rvol_3bar":[0.298766,0.745932,1.187552],"trend_3bar":"ACCELERATING","projected_rvol":0.459819},"flow":{"window_s":30,"trades":58,"trade_rate":1.933333,"buy_vol":6853.0,"sell_vol":3360.0,"unclassified_vol":0.0,"imbalance":0.342015,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":4.38701},"context":{"vwap":10.957412,"price_vs_vwap_pct":0.02362,"ema9":10.96422,"ema20":10.962844,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":2.636068,"atr":0.015174,"spread_atr":0.659017,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.040862,"IWM":0.008092}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.406161},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"07015d01414b","ts":"2026-08-28T15:10:35+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9183,"target":11.13,"target_label":"range_20d_high","reward_risk":4.6,"pos_in_5d_range_pct":69.2,"room_to_5d_high_atr":0.49},"price":10.9561,"vwap":10.9574,"ext_from_open_pct":-0.13,"max_ext_allowed_pct":4.0,"volume_pace":1.939,"trend":"flat","recent_slope_pct":-0.0152,"volatility":"low"},"price":10.9561,"volume":{"bars":100,"last_bar_volume":49215.0,"baseline_avg":41442.4,"bar_rvol":1.187552,"raw_accel":0.585279,"smooth_accel":0.47616,"accel_momentum":0.568983,"rvol_3bar":[0.298766,0.745932,1.187552],"trend_3bar":"ACCELERATING","projected_rvol":0.406788},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":4942.0,"sell_vol":1552.0,"unclassified_vol":0.0,"imbalance":0.52202,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.468769},"context":{"vwap":10.957412,"price_vs_vwap_pct":-0.011972,"ema9":10.96422,"ema20":10.962844,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.399091,"dist_to_hod_atr":2.893084,"atr":0.015174,"spread_atr":0.659017,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.040862,"IWM":0.008092}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.619926},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"31b8a8c25adc","ts":"2026-08-28T15:10:45+00:00","symbol":"EXK","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":11.0023,"target":11.32,"target_label":"prev_day_high","reward_risk":0.89,"pos_in_5d_range_pct":81.9,"room_to_5d_high_atr":0.25},"price":11.17,"vwap":11.1634,"ext_from_open_pct":-2.7,"max_ext_allowed_pct":3.0,"volume_pace":2.3,"trend":"flat","recent_slope_pct":-0.058,"volatility":"high"},"price":11.17,"volume":{"bars":100,"last_bar_volume":21871.0,"baseline_avg":26612.15,"bar_rvol":0.821843,"raw_accel":-0.697178,"smooth_accel":0.959764,"accel_momentum":-0.3506,"rvol_3bar":[1.379764,2.918071,0.821843],"trend_3bar":"MIXED","projected_rvol":0.325515},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":2484.0,"sell_vol":2311.0,"unclassified_vol":0.0,"imbalance":0.036079,"bid":11.16,"ask":11.17,"spread_pct":0.089566,"quote_size_imbalance":null,"quote_age_s":0.060897},"context":{"vwap":11.163425,"price_vs_vwap_pct":0.058899,"ema9":11.214305,"ema20":11.221047,"ema_stack":false,"ema_warm":true,"hod":11.5177,"dist_to_hod_pct":-3.018832,"dist_to_hod_atr":5.636473,"atr":0.061688,"spread_atr":0.162107,"own_change_pct":-0.577778,"rel_strength_pct":{"SPY":-0.491316,"IWM":-0.524087}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":3,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.029651},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"15ed2fd99795","ts":"2026-08-28T15:10:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4646,"target":5.57,"target_label":"prev_day_high","reward_risk":0.4,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":1.52},"price":5.54,"vwap":5.5148,"ext_from_open_pct":3.55,"max_ext_allowed_pct":3.0,"volume_pace":0.971,"trend":"flat","recent_slope_pct":-0.1261,"volatility":"medium"},"price":5.54,"volume":{"bars":100,"last_bar_volume":15233.0,"baseline_avg":81066.1,"bar_rvol":0.187908,"raw_accel":-0.777873,"smooth_accel":-0.393129,"accel_momentum":-0.297201,"rvol_3bar":[1.205587,0.868152,0.187908],"trend_3bar":"DECELERATING","projected_rvol":0.201398},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":1843.0,"sell_vol":3277.0,"unclassified_vol":0.0,"imbalance":-0.280078,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":2.480188},"context":{"vwap":5.514725,"price_vs_vwap_pct":0.458326,"ema9":5.554049,"ema20":5.552209,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.894454,"dist_to_hod_atr":2.037766,"atr":0.024537,"spread_atr":0.407553,"own_change_pct":-0.269784,"rel_strength_pct":{"SPY":-0.183323,"IWM":-0.216093}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.052629},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"985a5696d588","ts":"2026-08-28T15:10:55+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":13.2082,"target":13.51,"target_label":"ceiling","reward_risk":1.22,"pos_in_5d_range_pct":21.3,"room_to_5d_high_atr":1.35},"price":13.3443,"vwap":13.2715,"ext_from_open_pct":-1.37,"max_ext_allowed_pct":4.0,"volume_pace":1.378,"trend":"flat","recent_slope_pct":0.0055,"volatility":"medium"},"price":13.3443,"volume":{"bars":100,"last_bar_volume":23081.0,"baseline_avg":60921.8,"bar_rvol":0.378863,"raw_accel":-0.127471,"smooth_accel":0.383156,"accel_momentum":0.267226,"rvol_3bar":[0.458055,0.441717,0.378863],"trend_3bar":"DECELERATING","projected_rvol":0.309607},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":1789.0,"sell_vol":1799.0,"unclassified_vol":0.0,"imbalance":-0.002787,"bid":13.25,"ask":13.26,"spread_pct":0.075443,"quote_size_imbalance":null,"quote_age_s":0.166768},"context":{"vwap":13.271298,"price_vs_vwap_pct":0.550071,"ema9":13.327879,"ema20":13.325304,"ema_stack":true,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.590708,"dist_to_hod_atr":2.750182,"atr":0.078431,"spread_atr":0.1275,"own_change_pct":-0.561167,"rel_strength_pct":{"SPY":-0.474706,"IWM":-0.507476}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.001056},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"7e6f8dbc44fe","ts":"2026-08-28T15:11:00+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.25 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1139,"target":13.51,"target_label":"ceiling","reward_risk":1.91,"pos_in_5d_range_pct":11.2,"room_to_5d_high_atr":1.52},"price":13.25,"vwap":13.2713,"ext_from_open_pct":-2.07,"max_ext_allowed_pct":3.0,"volume_pace":1.378,"trend":"flat","recent_slope_pct":-0.1364,"volatility":"medium"},"price":13.25,"volume":{"bars":100,"last_bar_volume":23081.0,"baseline_avg":60921.8,"bar_rvol":0.378863,"raw_accel":-0.127471,"smooth_accel":0.383156,"accel_momentum":0.267226,"rvol_3bar":[0.458055,0.441717,0.378863],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":2286.0,"sell_vol":2804.0,"unclassified_vol":0.0,"imbalance":-0.101768,"bid":13.24,"ask":13.25,"spread_pct":0.0755,"quote_size_imbalance":null,"quote_age_s":0.00325},"context":{"vwap":13.271298,"price_vs_vwap_pct":-0.160485,"ema9":13.327879,"ema20":13.325304,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.286136,"dist_to_hod_atr":3.95251,"atr":0.078431,"spread_atr":0.1275,"own_change_pct":-0.561167,"rel_strength_pct":{"SPY":-0.481155,"IWM":-0.504132}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.038556},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"3497a8d628fa","ts":"2026-08-28T15:11:05+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9574,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.931,"trend":"flat","recent_slope_pct":-0.0208,"volatility":"low"},"price":10.96,"volume":{"bars":101,"last_bar_volume":12317.0,"baseline_avg":39443.85,"bar_rvol":0.312267,"raw_accel":-0.749731,"smooth_accel":0.299636,"accel_momentum":-0.176524,"rvol_3bar":[0.745932,1.187552,0.312267],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":2690.0,"sell_vol":2145.0,"unclassified_vol":0.0,"imbalance":0.11272,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.766239},"context":{"vwap":10.957411,"price_vs_vwap_pct":0.023629,"ema9":10.962376,"ema20":10.962097,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":2.628324,"atr":0.015219,"spread_atr":0.657081,"own_change_pct":-0.04562,"rel_strength_pct":{"SPY":0.034392,"IWM":0.011415}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.035199},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"cdeb92d43d0c","ts":"2026-08-28T15:11:05+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.103,"target":7.25,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":0.6},"price":7.19,"vwap":7.191,"ext_from_open_pct":0.14,"max_ext_allowed_pct":4.0,"volume_pace":0.678,"trend":"flat","recent_slope_pct":0.0,"volatility":"medium"},"price":7.19,"volume":{"bars":101,"last_bar_volume":25895.0,"baseline_avg":60679.3,"bar_rvol":0.426752,"raw_accel":-0.774879,"smooth_accel":1.558106,"accel_momentum":0.762759,"rvol_3bar":[1.420683,1.98045,0.426752],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":16486.0,"sell_vol":4259.0,"unclassified_vol":0.0,"imbalance":0.589395,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":2.115197},"context":{"vwap":7.191023,"price_vs_vwap_pct":-0.014232,"ema9":7.200275,"ema20":7.197829,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.236264,"dist_to_hod_atr":3.913662,"atr":0.022996,"spread_atr":0.434851,"own_change_pct":-0.119302,"rel_strength_pct":{"SPY":-0.03929,"IWM":-0.062266}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.251525},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0f57f2cd1238","ts":"2026-08-28T15:11:10+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9183,"target":11.13,"target_label":"range_20d_high","reward_risk":4.6,"pos_in_5d_range_pct":69.2,"room_to_5d_high_atr":0.49},"price":10.9561,"vwap":10.9574,"ext_from_open_pct":-0.13,"max_ext_allowed_pct":3.0,"volume_pace":1.931,"trend":"flat","recent_slope_pct":-0.0279,"volatility":"low"},"price":10.9561,"volume":{"bars":101,"last_bar_volume":12317.0,"baseline_avg":39443.85,"bar_rvol":0.312267,"raw_accel":-0.749731,"smooth_accel":0.299636,"accel_momentum":-0.176524,"rvol_3bar":[0.745932,1.187552,0.312267],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":3559.0,"sell_vol":4623.0,"unclassified_vol":0.0,"imbalance":-0.130042,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.399002},"context":{"vwap":10.957411,"price_vs_vwap_pct":-0.011964,"ema9":10.962376,"ema20":10.962097,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.399091,"dist_to_hod_atr":2.884586,"atr":0.015219,"spread_atr":0.657081,"own_change_pct":-0.04562,"rel_strength_pct":{"SPY":0.034392,"IWM":0.011415}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.040608},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d3526df83f11","ts":"2026-08-28T15:11:10+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":13.1598,"target":13.51,"target_label":"ceiling","reward_risk":1.57,"pos_in_5d_range_pct":16.1,"room_to_5d_high_atr":1.44},"price":13.2959,"vwap":13.2713,"ext_from_open_pct":-1.73,"max_ext_allowed_pct":3.0,"volume_pace":1.376,"trend":"flat","recent_slope_pct":-0.0503,"volatility":"medium"},"price":13.2959,"volume":{"bars":101,"last_bar_volume":19223.0,"baseline_avg":52970.85,"bar_rvol":0.362898,"raw_accel":-0.16715,"smooth_accel":0.064152,"accel_momentum":-0.319004,"rvol_3bar":[0.441717,0.378863,0.362898],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":2826.0,"sell_vol":3519.0,"unclassified_vol":0.0,"imbalance":-0.10922,"bid":13.23,"ask":13.24,"spread_pct":0.075557,"quote_size_imbalance":null,"quote_age_s":0.253878},"context":{"vwap":13.271345,"price_vs_vwap_pct":0.185021,"ema9":13.312303,"ema20":13.318132,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.94764,"dist_to_hod_atr":3.283935,"atr":0.080422,"spread_atr":0.124344,"own_change_pct":-0.749064,"rel_strength_pct":{"SPY":-0.669051,"IWM":-0.692028}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.039636},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"7baffe76c730","ts":"2026-08-28T15:11:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4646,"target":5.57,"target_label":"prev_day_high","reward_risk":0.4,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":1.52},"price":5.54,"vwap":5.5148,"ext_from_open_pct":3.55,"max_ext_allowed_pct":4.0,"volume_pace":0.968,"trend":"flat","recent_slope_pct":-0.1154,"volatility":"medium"},"price":5.54,"volume":{"bars":101,"last_bar_volume":15107.0,"baseline_avg":78161.55,"bar_rvol":0.193279,"raw_accel":-0.226883,"smooth_accel":-0.708405,"accel_momentum":-0.315276,"rvol_3bar":[0.868152,0.187908,0.193279],"trend_3bar":"MIXED","projected_rvol":0.063919},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":1187.0,"sell_vol":1897.0,"unclassified_vol":0.0,"imbalance":-0.23022,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":15.001108},"context":{"vwap":5.514784,"price_vs_vwap_pct":0.457243,"ema9":5.55124,"ema20":5.551046,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.894454,"dist_to_hod_atr":2.089074,"atr":0.023934,"spread_atr":0.417815,"own_change_pct":-0.270027,"rel_strength_pct":{"SPY":-0.190015,"IWM":-0.212992}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.044497},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8da97cad6f03","ts":"2026-08-28T15:11:15+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.25 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1135,"target":13.51,"target_label":"ceiling","reward_risk":1.91,"pos_in_5d_range_pct":11.2,"room_to_5d_high_atr":1.53},"price":13.2496,"vwap":13.2713,"ext_from_open_pct":-2.07,"max_ext_allowed_pct":3.0,"volume_pace":1.376,"trend":"flat","recent_slope_pct":-0.1201,"volatility":"medium"},"price":13.2496,"volume":{"bars":101,"last_bar_volume":19223.0,"baseline_avg":52970.85,"bar_rvol":0.362898,"raw_accel":-0.16715,"smooth_accel":0.064152,"accel_momentum":-0.319004,"rvol_3bar":[0.441717,0.378863,0.362898],"trend_3bar":"DECELERATING","projected_rvol":0.528291},"flow":{"window_s":30,"trades":77,"trade_rate":2.566667,"buy_vol":7016.0,"sell_vol":3597.0,"unclassified_vol":0.0,"imbalance":0.322152,"bid":13.24,"ask":13.25,"spread_pct":0.0755,"quote_size_imbalance":null,"quote_age_s":0.000808},"context":{"vwap":13.271345,"price_vs_vwap_pct":-0.163851,"ema9":13.312303,"ema20":13.318132,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.289086,"dist_to_hod_atr":3.85965,"atr":0.080422,"spread_atr":0.124344,"own_change_pct":-0.749064,"rel_strength_pct":{"SPY":-0.669051,"IWM":-0.692028}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.116908},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"7a480272243f","ts":"2026-08-28T15:11:20+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9269,"target":11.13,"target_label":"range_20d_high","reward_risk":4.37,"pos_in_5d_range_pct":72.8,"room_to_5d_high_atr":0.43},"price":10.9647,"vwap":10.9574,"ext_from_open_pct":-0.05,"max_ext_allowed_pct":3.0,"volume_pace":1.928,"trend":"flat","recent_slope_pct":-0.0122,"volatility":"low"},"price":10.9647,"volume":{"bars":101,"last_bar_volume":12317.0,"baseline_avg":39443.85,"bar_rvol":0.312267,"raw_accel":-0.749731,"smooth_accel":0.299636,"accel_momentum":-0.176524,"rvol_3bar":[0.745932,1.187552,0.312267],"trend_3bar":"MIXED","projected_rvol":0.570127},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":4040.0,"sell_vol":4705.0,"unclassified_vol":0.0,"imbalance":-0.076043,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":2.812973},"context":{"vwap":10.957411,"price_vs_vwap_pct":0.066522,"ema9":10.962376,"ema20":10.962097,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.320909,"dist_to_hod_atr":2.319496,"atr":0.015219,"spread_atr":0.657081,"own_change_pct":-0.04562,"rel_strength_pct":{"SPY":0.034392,"IWM":0.011415}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.023746},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"cf03d8496056","ts":"2026-08-28T15:11:25+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9187,"target":11.13,"target_label":"range_20d_high","reward_risk":4.58,"pos_in_5d_range_pct":69.3,"room_to_5d_high_atr":0.49},"price":10.9565,"vwap":10.9574,"ext_from_open_pct":-0.12,"max_ext_allowed_pct":3.0,"volume_pace":1.927,"trend":"flat","recent_slope_pct":-0.0272,"volatility":"low"},"price":10.9565,"volume":{"bars":101,"last_bar_volume":12317.0,"baseline_avg":39443.85,"bar_rvol":0.312267,"raw_accel":-0.749731,"smooth_accel":0.299636,"accel_momentum":-0.176524,"rvol_3bar":[0.745932,1.187552,0.312267],"trend_3bar":"MIXED","projected_rvol":0.515366},"flow":{"window_s":30,"trades":72,"trade_rate":2.4,"buy_vol":4155.0,"sell_vol":5363.0,"unclassified_vol":0.0,"imbalance":-0.126917,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":1.135302},"context":{"vwap":10.957411,"price_vs_vwap_pct":-0.008313,"ema9":10.962376,"ema20":10.962097,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.395455,"dist_to_hod_atr":2.858303,"atr":0.015219,"spread_atr":0.657081,"own_change_pct":-0.04562,"rel_strength_pct":{"SPY":0.034392,"IWM":0.011415}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.039632},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5875f8f37627","ts":"2026-08-28T15:11:30+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9574,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.925,"trend":"flat","recent_slope_pct":-0.0208,"volatility":"low"},"price":10.96,"volume":{"bars":101,"last_bar_volume":12317.0,"baseline_avg":39443.85,"bar_rvol":0.312267,"raw_accel":-0.749731,"smooth_accel":0.299636,"accel_momentum":-0.176524,"rvol_3bar":[0.745932,1.187552,0.312267],"trend_3bar":"MIXED","projected_rvol":0.442148},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":4279.0,"sell_vol":4441.0,"unclassified_vol":0.0,"imbalance":-0.018578,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":6.135302},"context":{"vwap":10.957411,"price_vs_vwap_pct":0.023629,"ema9":10.962376,"ema20":10.962097,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":2.628324,"atr":0.015219,"spread_atr":0.657081,"own_change_pct":-0.04562,"rel_strength_pct":{"SPY":0.034392,"IWM":0.011415}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.005801},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3f790b5e7daf","ts":"2026-08-28T15:11:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5148,"ext_from_open_pct":3.64,"max_ext_allowed_pct":3.0,"volume_pace":0.966,"trend":"flat","recent_slope_pct":-0.0973,"volatility":"medium"},"price":5.545,"volume":{"bars":101,"last_bar_volume":15107.0,"baseline_avg":78161.55,"bar_rvol":0.193279,"raw_accel":-0.226883,"smooth_accel":-0.708405,"accel_momentum":-0.315276,"rvol_3bar":[0.868152,0.187908,0.193279],"trend_3bar":"MIXED","projected_rvol":0.096218},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":2749.0,"sell_vol":1544.0,"unclassified_vol":0.0,"imbalance":0.280689,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":1.114304},"context":{"vwap":5.514784,"price_vs_vwap_pct":0.547909,"ema9":5.55124,"ema20":5.551046,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.805009,"dist_to_hod_atr":1.880166,"atr":0.023934,"spread_atr":0.417815,"own_change_pct":-0.270027,"rel_strength_pct":{"SPY":-0.190015,"IWM":-0.212992}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.054251},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9d1b3c75fb24","ts":"2026-08-28T15:11:45+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3788,"target":5.49,"target_label":"ceiling","reward_risk":1.17,"pos_in_5d_range_pct":91.2,"room_to_5d_high_atr":0.15},"price":5.43,"vwap":5.4361,"ext_from_open_pct":-0.73,"max_ext_allowed_pct":3.0,"volume_pace":1.776,"trend":"flat","recent_slope_pct":-0.0277,"volatility":"medium"},"price":5.43,"volume":{"bars":101,"last_bar_volume":37599.0,"baseline_avg":100209.8,"bar_rvol":0.375203,"raw_accel":-0.763388,"smooth_accel":-0.43284,"accel_momentum":-4.155593,"rvol_3bar":[2.091411,1.706028,0.375203],"trend_3bar":"DECELERATING","projected_rvol":3.974329},"flow":{"window_s":30,"trades":315,"trade_rate":10.5,"buy_vol":111939.0,"sell_vol":181600.0,"unclassified_vol":0.0,"imbalance":-0.237314,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.412946},"context":{"vwap":5.436057,"price_vs_vwap_pct":-0.111418,"ema9":5.440913,"ema20":5.436754,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.092896,"dist_to_hod_atr":4.119076,"atr":0.014566,"spread_atr":0.686513,"own_change_pct":0.364634,"rel_strength_pct":{"SPY":0.444647,"IWM":0.42167}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.089041},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"d62251601e36","ts":"2026-08-28T15:11:45+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.95 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9161,"target":11.13,"target_label":"range_20d_high","reward_risk":4.65,"pos_in_5d_range_pct":68.3,"room_to_5d_high_atr":0.5},"price":10.9539,"vwap":10.9574,"ext_from_open_pct":-0.15,"max_ext_allowed_pct":3.0,"volume_pace":1.922,"trend":"flat","recent_slope_pct":-0.0319,"volatility":"low"},"price":10.9539,"volume":{"bars":101,"last_bar_volume":12317.0,"baseline_avg":39443.85,"bar_rvol":0.312267,"raw_accel":-0.749731,"smooth_accel":0.299636,"accel_momentum":-0.176524,"rvol_3bar":[0.745932,1.187552,0.312267],"trend_3bar":"MIXED","projected_rvol":0.433764},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":2092.0,"sell_vol":3746.0,"unclassified_vol":0.0,"imbalance":-0.283316,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":2.259694},"context":{"vwap":10.957411,"price_vs_vwap_pct":-0.032041,"ema9":10.962376,"ema20":10.962097,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.419091,"dist_to_hod_atr":3.029144,"atr":0.015219,"spread_atr":0.657081,"own_change_pct":-0.04562,"rel_strength_pct":{"SPY":0.034392,"IWM":0.011415}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.08847},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f0fbf9bde5a3","ts":"2026-08-28T15:11:45+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.113,"target":7.25,"target_label":"premarket_high","reward_risk":0.57,"pos_in_5d_range_pct":63.3,"room_to_5d_high_atr":0.57},"price":7.2,"vwap":7.1911,"ext_from_open_pct":0.28,"max_ext_allowed_pct":4.0,"volume_pace":0.681,"trend":"flat","recent_slope_pct":0.0278,"volatility":"medium"},"price":7.2,"volume":{"bars":101,"last_bar_volume":25895.0,"baseline_avg":60679.3,"bar_rvol":0.426752,"raw_accel":-0.774879,"smooth_accel":1.558106,"accel_momentum":0.762759,"rvol_3bar":[1.420683,1.98045,0.426752],"trend_3bar":"MIXED","projected_rvol":1.196828},"flow":{"window_s":30,"trades":91,"trade_rate":3.033333,"buy_vol":31533.0,"sell_vol":22597.0,"unclassified_vol":0.0,"imbalance":0.165084,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":1.242486},"context":{"vwap":7.191023,"price_vs_vwap_pct":0.124831,"ema9":7.200275,"ema20":7.197829,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.098901,"dist_to_hod_atr":3.478811,"atr":0.022996,"spread_atr":0.434851,"own_change_pct":-0.119302,"rel_strength_pct":{"SPY":-0.03929,"IWM":-0.062266}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.07045},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"899e2fda271d","ts":"2026-08-28T15:11:50+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9239,"target":11.13,"target_label":"range_20d_high","reward_risk":4.45,"pos_in_5d_range_pct":71.5,"room_to_5d_high_atr":0.45},"price":10.9617,"vwap":10.9574,"ext_from_open_pct":-0.08,"max_ext_allowed_pct":3.0,"volume_pace":1.92,"trend":"flat","recent_slope_pct":-0.0177,"volatility":"low"},"price":10.9617,"volume":{"bars":101,"last_bar_volume":12317.0,"baseline_avg":39443.85,"bar_rvol":0.312267,"raw_accel":-0.749731,"smooth_accel":0.299636,"accel_momentum":-0.176524,"rvol_3bar":[0.745932,1.187552,0.312267],"trend_3bar":"MIXED","projected_rvol":0.401218},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":1824.0,"sell_vol":3868.0,"unclassified_vol":0.0,"imbalance":-0.3591,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.470752},"context":{"vwap":10.957411,"price_vs_vwap_pct":0.039143,"ema9":10.962376,"ema20":10.962097,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.348182,"dist_to_hod_atr":2.51662,"atr":0.015219,"spread_atr":0.657081,"own_change_pct":-0.04562,"rel_strength_pct":{"SPY":0.034392,"IWM":0.011415}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.112135},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"70b5c7e37b5a","ts":"2026-08-28T15:11:55+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.103,"target":7.25,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":0.6},"price":7.19,"vwap":7.191,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.68,"trend":"flat","recent_slope_pct":0.0,"volatility":"medium"},"price":7.19,"volume":{"bars":101,"last_bar_volume":25895.0,"baseline_avg":60679.3,"bar_rvol":0.426752,"raw_accel":-0.774879,"smooth_accel":1.558106,"accel_momentum":0.762759,"rvol_3bar":[1.420683,1.98045,0.426752],"trend_3bar":"MIXED","projected_rvol":1.015467},"flow":{"window_s":30,"trades":75,"trade_rate":2.5,"buy_vol":27080.0,"sell_vol":7840.0,"unclassified_vol":0.0,"imbalance":0.550974,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.228634},"context":{"vwap":7.191023,"price_vs_vwap_pct":-0.014232,"ema9":7.200275,"ema20":7.197829,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.236264,"dist_to_hod_atr":3.913662,"atr":0.022996,"spread_atr":0.434851,"own_change_pct":-0.119302,"rel_strength_pct":{"SPY":-0.03929,"IWM":-0.062266}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.235129},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"fa101e1a2d8b","ts":"2026-08-28T15:11:55+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":13.1714,"target":13.51,"target_label":"ceiling","reward_risk":1.35,"pos_in_5d_range_pct":18.2,"room_to_5d_high_atr":1.4},"price":13.3156,"vwap":13.2715,"ext_from_open_pct":-1.58,"max_ext_allowed_pct":3.0,"volume_pace":1.373,"trend":"flat","recent_slope_pct":-0.0207,"volatility":"medium"},"price":13.3156,"volume":{"bars":101,"last_bar_volume":19223.0,"baseline_avg":52970.85,"bar_rvol":0.362898,"raw_accel":-0.16715,"smooth_accel":0.064152,"accel_momentum":-0.319004,"rvol_3bar":[0.441717,0.378863,0.362898],"trend_3bar":"DECELERATING","projected_rvol":0.535499},"flow":{"window_s":30,"trades":52,"trade_rate":1.733333,"buy_vol":8273.0,"sell_vol":9404.0,"unclassified_vol":0.0,"imbalance":-0.063981,"bid":13.25,"ask":13.26,"spread_pct":0.075443,"quote_size_imbalance":null,"quote_age_s":0.111349},"context":{"vwap":13.271345,"price_vs_vwap_pct":0.333461,"ema9":13.312303,"ema20":13.318132,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.80236,"dist_to_hod_atr":3.038977,"atr":0.080422,"spread_atr":0.124344,"own_change_pct":-0.749064,"rel_strength_pct":{"SPY":-0.669051,"IWM":-0.692028}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.023219},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"376ba121df15","ts":"2026-08-28T15:12:00+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.95 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9122,"target":11.13,"target_label":"range_20d_high","reward_risk":4.76,"pos_in_5d_range_pct":66.6,"room_to_5d_high_atr":0.53},"price":10.95,"vwap":10.9574,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":3.0,"volume_pace":1.918,"trend":"flat","recent_slope_pct":-0.0391,"volatility":"low"},"price":10.95,"volume":{"bars":101,"last_bar_volume":12317.0,"baseline_avg":39443.85,"bar_rvol":0.312267,"raw_accel":-0.749731,"smooth_accel":0.299636,"accel_momentum":-0.176524,"rvol_3bar":[0.745932,1.187552,0.312267],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":58,"trade_rate":1.933333,"buy_vol":3267.0,"sell_vol":3812.0,"unclassified_vol":0.0,"imbalance":-0.076988,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":5.910479},"context":{"vwap":10.957411,"price_vs_vwap_pct":-0.067634,"ema9":10.962376,"ema20":10.962097,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.454545,"dist_to_hod_atr":3.285405,"atr":0.015219,"spread_atr":0.657081,"own_change_pct":-0.04562,"rel_strength_pct":{"SPY":0.031821,"IWM":-0.018776}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.024041},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"52d89c28686b","ts":"2026-08-28T15:12:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.1116,"target":7.25,"target_label":"premarket_high","reward_risk":0.59,"pos_in_5d_range_pct":63.0,"room_to_5d_high_atr":0.58},"price":7.1986,"vwap":7.191,"ext_from_open_pct":0.26,"max_ext_allowed_pct":3.0,"volume_pace":0.68,"trend":"flat","recent_slope_pct":0.017,"volatility":"medium"},"price":7.1986,"volume":{"bars":102,"last_bar_volume":57292.0,"baseline_avg":58662.7,"bar_rvol":0.976634,"raw_accel":1.212473,"smooth_accel":0.453022,"accel_momentum":-1.105083,"rvol_3bar":[1.98045,0.426752,0.976634],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":66,"trade_rate":2.2,"buy_vol":10946.0,"sell_vol":5568.0,"unclassified_vol":0.0,"imbalance":0.325663,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.661368},"context":{"vwap":7.191014,"price_vs_vwap_pct":0.105487,"ema9":7.19822,"ema20":7.197084,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.118132,"dist_to_hod_atr":3.565119,"atr":0.022832,"spread_atr":0.437975,"own_change_pct":-0.183252,"rel_strength_pct":{"SPY":-0.105811,"IWM":-0.156407}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.318054},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"55c0fe7e94e0","ts":"2026-08-28T15:12:05+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.24 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1089,"target":13.51,"target_label":"ceiling","reward_risk":1.95,"pos_in_5d_range_pct":10.7,"room_to_5d_high_atr":1.53},"price":13.245,"vwap":13.2714,"ext_from_open_pct":-2.11,"max_ext_allowed_pct":3.0,"volume_pace":1.371,"trend":"flat","recent_slope_pct":-0.0529,"volatility":"medium"},"price":13.245,"volume":{"bars":102,"last_bar_volume":26002.0,"baseline_avg":37802.25,"bar_rvol":0.687843,"raw_accel":0.35265,"smooth_accel":0.030661,"accel_momentum":-0.033492,"rvol_3bar":[0.378863,0.362898,0.687843],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":7362.0,"sell_vol":9903.0,"unclassified_vol":0.0,"imbalance":-0.147176,"bid":13.24,"ask":13.25,"spread_pct":0.0755,"quote_size_imbalance":null,"quote_age_s":0.595964},"context":{"vwap":13.271455,"price_vs_vwap_pct":-0.199335,"ema9":13.312963,"ema20":13.317891,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.323009,"dist_to_hod_atr":3.833838,"atr":0.082163,"spread_atr":0.121709,"own_change_pct":-0.120765,"rel_strength_pct":{"SPY":-0.043323,"IWM":-0.09392}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.101234},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"177fdf99847d","ts":"2026-08-28T15:12:10+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":13.1714,"target":13.51,"target_label":"ceiling","reward_risk":1.38,"pos_in_5d_range_pct":18.0,"room_to_5d_high_atr":1.41},"price":13.3136,"vwap":13.2715,"ext_from_open_pct":-1.6,"max_ext_allowed_pct":3.0,"volume_pace":1.37,"trend":"flat","recent_slope_pct":0.0504,"volatility":"medium"},"price":13.3136,"volume":{"bars":102,"last_bar_volume":26002.0,"baseline_avg":37802.25,"bar_rvol":0.687843,"raw_accel":0.35265,"smooth_accel":0.030661,"accel_momentum":-0.033492,"rvol_3bar":[0.378863,0.362898,0.687843],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":39,"trade_rate":1.3,"buy_vol":7426.0,"sell_vol":6791.0,"unclassified_vol":0.0,"imbalance":0.044665,"bid":13.24,"ask":13.25,"spread_pct":0.0755,"quote_size_imbalance":null,"quote_age_s":0.294789},"context":{"vwap":13.271455,"price_vs_vwap_pct":0.317564,"ema9":13.312963,"ema20":13.317891,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.817109,"dist_to_hod_atr":2.998913,"atr":0.082163,"spread_atr":0.121709,"own_change_pct":-0.120765,"rel_strength_pct":{"SPY":-0.043323,"IWM":-0.09392}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.030722},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"726d86429337","ts":"2026-08-28T15:12:15+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.9269,"target":11.13,"target_label":"range_20d_high","reward_risk":4.37,"pos_in_5d_range_pct":72.8,"room_to_5d_high_atr":0.43},"price":10.9647,"vwap":10.9574,"ext_from_open_pct":-0.05,"max_ext_allowed_pct":4.0,"volume_pace":1.922,"trend":"flat","recent_slope_pct":-0.0005,"volatility":"low"},"price":10.9647,"volume":{"bars":102,"last_bar_volume":15799.0,"baseline_avg":35578.5,"bar_rvol":0.44406,"raw_accel":0.282699,"smooth_accel":0.313723,"accel_momentum":0.014087,"rvol_3bar":[1.187552,0.312267,0.44406],"trend_3bar":"MIXED","projected_rvol":3.182821},"flow":{"window_s":30,"trades":127,"trade_rate":4.233333,"buy_vol":28866.0,"sell_vol":2411.0,"unclassified_vol":0.0,"imbalance":0.845829,"bid":10.96,"ask":10.97,"spread_pct":0.091199,"quote_size_imbalance":null,"quote_age_s":1.152397},"context":{"vwap":10.957405,"price_vs_vwap_pct":0.06658,"ema9":10.959901,"ema20":10.960945,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.320909,"dist_to_hod_atr":2.325158,"atr":0.015182,"spread_atr":0.658685,"own_change_pct":-0.091241,"rel_strength_pct":{"SPY":-0.0138,"IWM":-0.064396}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.375599},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3dde9ab4faa9","ts":"2026-08-28T15:12:15+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.103,"target":7.25,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":0.6},"price":7.19,"vwap":7.191,"ext_from_open_pct":0.14,"max_ext_allowed_pct":4.0,"volume_pace":0.679,"trend":"flat","recent_slope_pct":-0.007,"volatility":"medium"},"price":7.19,"volume":{"bars":102,"last_bar_volume":57292.0,"baseline_avg":58662.7,"bar_rvol":0.976634,"raw_accel":1.212473,"smooth_accel":0.453022,"accel_momentum":-1.105083,"rvol_3bar":[1.98045,0.426752,0.976634],"trend_3bar":"MIXED","projected_rvol":0.489306},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":4938.0,"sell_vol":5063.0,"unclassified_vol":0.0,"imbalance":-0.012499,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.053271},"context":{"vwap":7.191014,"price_vs_vwap_pct":-0.014106,"ema9":7.19822,"ema20":7.197084,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.236264,"dist_to_hod_atr":3.941777,"atr":0.022832,"spread_atr":0.437975,"own_change_pct":-0.183252,"rel_strength_pct":{"SPY":-0.105811,"IWM":-0.156407}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.012207},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2643ebf68ef6","ts":"2026-08-28T15:12:15+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.25 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1106,"target":13.51,"target_label":"ceiling","reward_risk":1.93,"pos_in_5d_range_pct":10.9,"room_to_5d_high_atr":1.53},"price":13.2467,"vwap":13.2714,"ext_from_open_pct":-2.09,"max_ext_allowed_pct":3.0,"volume_pace":1.37,"trend":"flat","recent_slope_pct":-0.0503,"volatility":"medium"},"price":13.2467,"volume":{"bars":102,"last_bar_volume":26002.0,"baseline_avg":37802.25,"bar_rvol":0.687843,"raw_accel":0.35265,"smooth_accel":0.030661,"accel_momentum":-0.033492,"rvol_3bar":[0.378863,0.362898,0.687843],"trend_3bar":"MIXED","projected_rvol":0.450661},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":6102.0,"sell_vol":1256.0,"unclassified_vol":0.0,"imbalance":0.658603,"bid":13.24,"ask":13.25,"spread_pct":0.0755,"quote_size_imbalance":null,"quote_age_s":0.093101},"context":{"vwap":13.271455,"price_vs_vwap_pct":-0.186526,"ema9":13.312963,"ema20":13.317891,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.310472,"dist_to_hod_atr":3.813147,"atr":0.082163,"spread_atr":0.121709,"own_change_pct":-0.120765,"rel_strength_pct":{"SPY":-0.043323,"IWM":-0.09392}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.453015},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3bfd237fd35a","ts":"2026-08-28T15:12:20+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.1104,"target":7.25,"target_label":"premarket_high","reward_risk":0.6,"pos_in_5d_range_pct":62.8,"room_to_5d_high_atr":0.58},"price":7.1974,"vwap":7.191,"ext_from_open_pct":0.24,"max_ext_allowed_pct":3.0,"volume_pace":0.679,"trend":"flat","recent_slope_pct":0.0136,"volatility":"medium"},"price":7.1974,"volume":{"bars":102,"last_bar_volume":57292.0,"baseline_avg":58662.7,"bar_rvol":0.976634,"raw_accel":1.212473,"smooth_accel":0.453022,"accel_momentum":-1.105083,"rvol_3bar":[1.98045,0.426752,0.976634],"trend_3bar":"MIXED","projected_rvol":0.445274},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":5527.0,"sell_vol":5292.0,"unclassified_vol":0.0,"imbalance":0.021721,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.04855},"context":{"vwap":7.191014,"price_vs_vwap_pct":0.0888,"ema9":7.19822,"ema20":7.197084,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.134615,"dist_to_hod_atr":3.617676,"atr":0.022832,"spread_atr":0.437975,"own_change_pct":-0.183252,"rel_strength_pct":{"SPY":-0.105811,"IWM":-0.156407}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.021214},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a0a63bbe1c53","ts":"2026-08-28T15:12:25+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3889,"target":5.49,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":94.1,"room_to_5d_high_atr":0.1},"price":5.4401,"vwap":5.4362,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":1.794,"trend":"flat","recent_slope_pct":-0.0364,"volatility":"medium"},"price":5.4401,"volume":{"bars":102,"last_bar_volume":406361.0,"baseline_avg":99959.9,"bar_rvol":4.06524,"raw_accel":9.807761,"smooth_accel":-0.226996,"accel_momentum":0.205844,"rvol_3bar":[1.706028,0.375203,4.06524],"trend_3bar":"MIXED","projected_rvol":0.418416},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":527.0,"sell_vol":25082.0,"unclassified_vol":0.0,"imbalance":-0.958843,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":1.320936},"context":{"vwap":5.436177,"price_vs_vwap_pct":0.072163,"ema9":5.43973,"ema20":5.436587,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.908925,"dist_to_hod_atr":3.33679,"atr":0.014954,"spread_atr":0.668695,"own_change_pct":0.092081,"rel_strength_pct":{"SPY":0.169522,"IWM":0.118926}},"vas":{"raw":1,"score":5.0,"components":{"rvol":3,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-3.897925},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6bae7ba31eb9","ts":"2026-08-28T15:12:35+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3838,"target":5.49,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.12},"price":5.435,"vwap":5.4362,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":3.0,"volume_pace":1.793,"trend":"flat","recent_slope_pct":-0.0551,"volatility":"medium"},"price":5.435,"volume":{"bars":102,"last_bar_volume":406361.0,"baseline_avg":99959.9,"bar_rvol":4.06524,"raw_accel":9.807761,"smooth_accel":-0.226996,"accel_momentum":0.205844,"rvol_3bar":[1.706028,0.375203,4.06524],"trend_3bar":"MIXED","projected_rvol":0.436667},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":2775.0,"sell_vol":22687.0,"unclassified_vol":0.0,"imbalance":-0.782028,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.695524},"context":{"vwap":5.436177,"price_vs_vwap_pct":-0.021652,"ema9":5.43973,"ema20":5.436587,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.001821,"dist_to_hod_atr":3.677825,"atr":0.014954,"spread_atr":0.668695,"own_change_pct":0.092081,"rel_strength_pct":{"SPY":0.169522,"IWM":0.118926}},"vas":{"raw":1,"score":5.0,"components":{"rvol":3,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-3.179132},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3b95177478f6","ts":"2026-08-28T15:12:40+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3888,"target":5.49,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":94.1,"room_to_5d_high_atr":0.1},"price":5.44,"vwap":5.4362,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":1.791,"trend":"flat","recent_slope_pct":-0.0367,"volatility":"medium"},"price":5.44,"volume":{"bars":102,"last_bar_volume":406361.0,"baseline_avg":99959.9,"bar_rvol":4.06524,"raw_accel":9.807761,"smooth_accel":-0.226996,"accel_momentum":0.205844,"rvol_3bar":[1.706028,0.375203,4.06524],"trend_3bar":"MIXED","projected_rvol":0.385114},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":2977.0,"sell_vol":20112.0,"unclassified_vol":0.0,"imbalance":-0.742128,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":2.616692},"context":{"vwap":5.436177,"price_vs_vwap_pct":0.070324,"ema9":5.43973,"ema20":5.436587,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.910747,"dist_to_hod_atr":3.343477,"atr":0.014954,"spread_atr":0.668695,"own_change_pct":0.092081,"rel_strength_pct":{"SPY":0.169522,"IWM":0.118926}},"vas":{"raw":1,"score":5.0,"components":{"rvol":3,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-3.01693},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3274334d061f","ts":"2026-08-28T15:12:40+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":13.1539,"target":13.51,"target_label":"ceiling","reward_risk":1.62,"pos_in_5d_range_pct":15.5,"room_to_5d_high_atr":1.45},"price":13.29,"vwap":13.2715,"ext_from_open_pct":-1.77,"max_ext_allowed_pct":3.0,"volume_pace":1.369,"trend":"flat","recent_slope_pct":0.0149,"volatility":"medium"},"price":13.29,"volume":{"bars":102,"last_bar_volume":26002.0,"baseline_avg":37802.25,"bar_rvol":0.687843,"raw_accel":0.35265,"smooth_accel":0.030661,"accel_momentum":-0.033492,"rvol_3bar":[0.378863,0.362898,0.687843],"trend_3bar":"MIXED","projected_rvol":0.800587},"flow":{"window_s":30,"trades":98,"trade_rate":3.266667,"buy_vol":12999.0,"sell_vol":5327.0,"unclassified_vol":0.0,"imbalance":0.41864,"bid":13.29,"ask":13.3,"spread_pct":0.075216,"quote_size_imbalance":null,"quote_age_s":0.0634},"context":{"vwap":13.271455,"price_vs_vwap_pct":0.139738,"ema9":13.312963,"ema20":13.317891,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.99115,"dist_to_hod_atr":3.286147,"atr":0.082163,"spread_atr":0.121709,"own_change_pct":-0.120765,"rel_strength_pct":{"SPY":-0.043323,"IWM":-0.09392}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.287959},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ab6833cea1f8","ts":"2026-08-28T15:12:45+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3788,"target":5.49,"target_label":"ceiling","reward_risk":1.17,"pos_in_5d_range_pct":91.2,"room_to_5d_high_atr":0.15},"price":5.43,"vwap":5.4362,"ext_from_open_pct":-0.73,"max_ext_allowed_pct":3.0,"volume_pace":1.79,"trend":"flat","recent_slope_pct":-0.0735,"volatility":"medium"},"price":5.43,"volume":{"bars":102,"last_bar_volume":406361.0,"baseline_avg":99959.9,"bar_rvol":4.06524,"raw_accel":9.807761,"smooth_accel":-0.226996,"accel_momentum":0.205844,"rvol_3bar":[1.706028,0.375203,4.06524],"trend_3bar":"MIXED","projected_rvol":0.360318},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":3027.0,"sell_vol":18061.0,"unclassified_vol":0.0,"imbalance":-0.712917,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.430649},"context":{"vwap":5.436177,"price_vs_vwap_pct":-0.113629,"ema9":5.43973,"ema20":5.436587,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.092896,"dist_to_hod_atr":4.012173,"atr":0.014954,"spread_atr":0.668695,"own_change_pct":0.092081,"rel_strength_pct":{"SPY":0.169522,"IWM":0.118926}},"vas":{"raw":1,"score":5.0,"components":{"rvol":3,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.89818},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8ba891541186","ts":"2026-08-28T15:12:50+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4823,"target":6.0,"target_label":"range_20d_high","reward_risk":5.86,"pos_in_5d_range_pct":49.2,"room_to_5d_high_atr":1.47},"price":5.5577,"vwap":5.515,"ext_from_open_pct":3.88,"max_ext_allowed_pct":4.0,"volume_pace":0.958,"trend":"flat","recent_slope_pct":0.0494,"volatility":"medium"},"price":5.5577,"volume":{"bars":102,"last_bar_volume":7036.0,"baseline_avg":76557.35,"bar_rvol":0.091905,"raw_accel":-0.63238,"smooth_accel":-0.839925,"accel_momentum":-0.13152,"rvol_3bar":[0.187908,0.193279,0.091905],"trend_3bar":"MIXED","projected_rvol":0.517855},"flow":{"window_s":30,"trades":99,"trade_rate":3.3,"buy_vol":11145.0,"sell_vol":5939.0,"unclassified_vol":0.0,"imbalance":0.30473,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":2.179698},"context":{"vwap":5.514813,"price_vs_vwap_pct":0.777668,"ema9":5.549992,"ema20":5.55047,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.577818,"dist_to_hod_atr":1.382694,"atr":0.02336,"spread_atr":0.428079,"own_change_pct":-0.314607,"rel_strength_pct":{"SPY":-0.237165,"IWM":-0.287762}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.028006},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bb4bc0a10cff","ts":"2026-08-28T15:12:55+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3891,"target":5.49,"target_label":"ceiling","reward_risk":0.97,"pos_in_5d_range_pct":94.2,"room_to_5d_high_atr":0.1},"price":5.4403,"vwap":5.4362,"ext_from_open_pct":-0.54,"max_ext_allowed_pct":3.0,"volume_pace":1.787,"trend":"flat","recent_slope_pct":-0.0356,"volatility":"medium"},"price":5.4403,"volume":{"bars":102,"last_bar_volume":406361.0,"baseline_avg":99959.9,"bar_rvol":4.06524,"raw_accel":9.807761,"smooth_accel":-0.226996,"accel_momentum":0.205844,"rvol_3bar":[1.706028,0.375203,4.06524],"trend_3bar":"MIXED","projected_rvol":0.30896},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":2684.0,"sell_vol":8199.0,"unclassified_vol":0.0,"imbalance":-0.506754,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":2.77508},"context":{"vwap":5.436177,"price_vs_vwap_pct":0.075842,"ema9":5.43973,"ema20":5.436587,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.905282,"dist_to_hod_atr":3.323416,"atr":0.014954,"spread_atr":0.668695,"own_change_pct":0.092081,"rel_strength_pct":{"SPY":0.169522,"IWM":0.118926}},"vas":{"raw":1,"score":5.0,"components":{"rvol":3,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.060075},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f6c70c2bd0d8","ts":"2026-08-28T15:13:00+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3838,"target":5.49,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.12},"price":5.435,"vwap":5.4362,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":3.0,"volume_pace":1.787,"trend":"flat","recent_slope_pct":-0.0551,"volatility":"medium"},"price":5.435,"volume":{"bars":102,"last_bar_volume":406361.0,"baseline_avg":99959.9,"bar_rvol":4.06524,"raw_accel":9.807761,"smooth_accel":-0.226996,"accel_momentum":0.205844,"rvol_3bar":[1.706028,0.375203,4.06524],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":4009.0,"sell_vol":6624.0,"unclassified_vol":0.0,"imbalance":-0.245932,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.00147},"context":{"vwap":5.436177,"price_vs_vwap_pct":-0.021652,"ema9":5.43973,"ema20":5.436587,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.001821,"dist_to_hod_atr":3.677825,"atr":0.014954,"spread_atr":0.668695,"own_change_pct":0.092081,"rel_strength_pct":{"SPY":0.183715,"IWM":0.040896}},"vas":{"raw":2,"score":5.6,"components":{"rvol":3,"accel":-1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.999775},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5686ffef9e11","ts":"2026-08-28T15:13:05+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.6518,"target":5.92,"target_label":"ceiling","reward_risk":1.01,"pos_in_5d_range_pct":-11.3,"room_to_5d_high_atr":1.39},"price":5.785,"vwap":5.7782,"ext_from_open_pct":-1.62,"max_ext_allowed_pct":3.0,"volume_pace":1.517,"trend":"flat","recent_slope_pct":0.0696,"volatility":"high"},"price":5.785,"volume":{"bars":103,"last_bar_volume":110151.0,"baseline_avg":40265.45,"bar_rvol":2.735621,"raw_accel":4.080063,"smooth_accel":0.931298,"accel_momentum":0.513427,"rvol_3bar":[0.840386,0.467026,2.735621],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":105,"trade_rate":3.5,"buy_vol":66233.0,"sell_vol":47322.0,"unclassified_vol":0.0,"imbalance":0.166536,"bid":5.78,"ask":5.79,"spread_pct":0.172861,"quote_size_imbalance":null,"quote_age_s":0.972854},"context":{"vwap":5.778243,"price_vs_vwap_pct":0.116934,"ema9":5.77552,"ema20":5.778995,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.445194,"dist_to_hod_atr":8.001329,"atr":0.018122,"spread_atr":0.551816,"own_change_pct":0.322558,"rel_strength_pct":{"SPY":0.414192,"IWM":0.271373}},"vas":{"raw":7,"score":8.8,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.455579},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"bb9fef9bead5","ts":"2026-08-28T15:13:05+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.1539,"target":13.51,"target_label":"ceiling","reward_risk":1.62,"pos_in_5d_range_pct":15.5,"room_to_5d_high_atr":1.45},"price":13.29,"vwap":13.2715,"ext_from_open_pct":-1.77,"max_ext_allowed_pct":3.0,"volume_pace":1.366,"trend":"flat","recent_slope_pct":0.0301,"volatility":"medium"},"price":13.29,"volume":{"bars":103,"last_bar_volume":28339.0,"baseline_avg":35978.0,"bar_rvol":0.787676,"raw_accel":0.089878,"smooth_accel":-0.039208,"accel_momentum":-0.069869,"rvol_3bar":[0.362898,0.687843,0.787676],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":99,"trade_rate":3.3,"buy_vol":8367.0,"sell_vol":7212.0,"unclassified_vol":0.0,"imbalance":0.074138,"bid":13.28,"ask":13.29,"spread_pct":0.075273,"quote_size_imbalance":null,"quote_age_s":0.37882},"context":{"vwap":13.271506,"price_vs_vwap_pct":0.139354,"ema9":13.30837,"ema20":13.315235,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.99115,"dist_to_hod_atr":3.290618,"atr":0.082051,"spread_atr":0.121875,"own_change_pct":-0.134507,"rel_strength_pct":{"SPY":-0.042872,"IWM":-0.185692}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":0,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.058397},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7f6a611674fa","ts":"2026-08-28T15:13:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.515,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.955,"trend":"flat","recent_slope_pct":0.0402,"volatility":"medium"},"price":5.55,"volume":{"bars":103,"last_bar_volume":35091.0,"baseline_avg":75545.6,"bar_rvol":0.464501,"raw_accel":0.858004,"smooth_accel":-0.672227,"accel_momentum":0.167698,"rvol_3bar":[0.193279,0.091905,0.464501],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":84,"trade_rate":2.8,"buy_vol":10831.0,"sell_vol":1137.0,"unclassified_vol":0.0,"imbalance":0.809993,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":2.576184},"context":{"vwap":5.514974,"price_vs_vwap_pct":0.635103,"ema9":5.550453,"ema20":5.550645,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.715564,"dist_to_hod_atr":1.73009,"atr":0.02312,"spread_atr":0.432523,"own_change_pct":-0.317774,"rel_strength_pct":{"SPY":-0.22614,"IWM":-0.368959}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.376243},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ebc6166de2e2","ts":"2026-08-28T15:13:15+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.27 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1289,"target":13.51,"target_label":"ceiling","reward_risk":1.8,"pos_in_5d_range_pct":12.8,"room_to_5d_high_atr":1.5},"price":13.265,"vwap":13.2715,"ext_from_open_pct":-1.96,"max_ext_allowed_pct":3.0,"volume_pace":1.368,"trend":"flat","recent_slope_pct":-0.0075,"volatility":"medium"},"price":13.265,"volume":{"bars":103,"last_bar_volume":28339.0,"baseline_avg":35978.0,"bar_rvol":0.787676,"raw_accel":0.089878,"smooth_accel":-0.039208,"accel_momentum":-0.069869,"rvol_3bar":[0.362898,0.687843,0.787676],"trend_3bar":"ACCELERATING","projected_rvol":1.396187},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":6042.0,"sell_vol":7470.0,"unclassified_vol":0.0,"imbalance":-0.105684,"bid":13.26,"ask":13.27,"spread_pct":0.075386,"quote_size_imbalance":null,"quote_age_s":0.125661},"context":{"vwap":13.271506,"price_vs_vwap_pct":-0.04902,"ema9":13.30837,"ema20":13.315235,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.175516,"dist_to_hod_atr":3.595305,"atr":0.082051,"spread_atr":0.121875,"own_change_pct":-0.134507,"rel_strength_pct":{"SPY":-0.042872,"IWM":-0.185692}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":0,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.083245},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a1080bbd3ce6","ts":"2026-08-28T15:13:25+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.78 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6434,"target":5.92,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":-12.5,"room_to_5d_high_atr":1.4},"price":5.7766,"vwap":5.7783,"ext_from_open_pct":-1.76,"max_ext_allowed_pct":3.0,"volume_pace":1.516,"trend":"flat","recent_slope_pct":0.0405,"volatility":"high"},"price":5.7766,"volume":{"bars":103,"last_bar_volume":110151.0,"baseline_avg":40265.45,"bar_rvol":2.735621,"raw_accel":4.080063,"smooth_accel":0.931298,"accel_momentum":0.513427,"rvol_3bar":[0.840386,0.467026,2.735621],"trend_3bar":"MIXED","projected_rvol":1.782769},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":4208.0,"sell_vol":33480.0,"unclassified_vol":0.0,"imbalance":-0.776693,"bid":5.78,"ask":5.79,"spread_pct":0.172861,"quote_size_imbalance":null,"quote_age_s":0.592942},"context":{"vwap":5.778243,"price_vs_vwap_pct":-0.028439,"ema9":5.77552,"ema20":5.778995,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.586847,"dist_to_hod_atr":8.464854,"atr":0.018122,"spread_atr":0.551816,"own_change_pct":0.322558,"rel_strength_pct":{"SPY":0.414192,"IWM":0.271373}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.124737},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"87c570c2cb9c","ts":"2026-08-28T15:13:30+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.6468,"target":5.92,"target_label":"ceiling","reward_risk":1.05,"pos_in_5d_range_pct":-12.0,"room_to_5d_high_atr":1.4},"price":5.78,"vwap":5.7783,"ext_from_open_pct":-1.7,"max_ext_allowed_pct":3.0,"volume_pace":1.515,"trend":"flat","recent_slope_pct":0.0523,"volatility":"high"},"price":5.78,"volume":{"bars":103,"last_bar_volume":110151.0,"baseline_avg":40265.45,"bar_rvol":2.735621,"raw_accel":4.080063,"smooth_accel":0.931298,"accel_momentum":0.513427,"rvol_3bar":[0.840386,0.467026,2.735621],"trend_3bar":"MIXED","projected_rvol":1.666938},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":4257.0,"sell_vol":29303.0,"unclassified_vol":0.0,"imbalance":-0.746305,"bid":5.78,"ask":5.79,"spread_pct":0.172861,"quote_size_imbalance":null,"quote_age_s":0.00351},"context":{"vwap":5.778243,"price_vs_vwap_pct":0.030403,"ema9":5.77552,"ema20":5.778995,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.529511,"dist_to_hod_atr":8.277237,"atr":0.018122,"spread_atr":0.551816,"own_change_pct":0.322558,"rel_strength_pct":{"SPY":0.414192,"IWM":0.271373}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.041608},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2cc15b8345fd","ts":"2026-08-28T15:13:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.515,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.952,"trend":"flat","recent_slope_pct":0.0762,"volatility":"medium"},"price":5.56,"volume":{"bars":103,"last_bar_volume":35091.0,"baseline_avg":75545.6,"bar_rvol":0.464501,"raw_accel":0.858004,"smooth_accel":-0.672227,"accel_momentum":0.167698,"rvol_3bar":[0.193279,0.091905,0.464501],"trend_3bar":"MIXED","projected_rvol":0.119179},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":2083.0,"sell_vol":2938.0,"unclassified_vol":0.0,"imbalance":-0.170285,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.208141},"context":{"vwap":5.514974,"price_vs_vwap_pct":0.816427,"ema9":5.550453,"ema20":5.550645,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.297568,"atr":0.02312,"spread_atr":0.432523,"own_change_pct":-0.317774,"rel_strength_pct":{"SPY":-0.22614,"IWM":-0.368959}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.079097},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4278680d7ce8","ts":"2026-08-28T15:13:45+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5151,"ext_from_open_pct":3.93,"max_ext_allowed_pct":3.0,"volume_pace":0.953,"trend":"flat","recent_slope_pct":0.0762,"volatility":"medium"},"price":5.56,"volume":{"bars":103,"last_bar_volume":35091.0,"baseline_avg":75545.6,"bar_rvol":0.464501,"raw_accel":0.858004,"smooth_accel":-0.672227,"accel_momentum":0.167698,"rvol_3bar":[0.193279,0.091905,0.464501],"trend_3bar":"MIXED","projected_rvol":0.46139},"flow":{"window_s":30,"trades":102,"trade_rate":3.4,"buy_vol":16936.0,"sell_vol":7426.0,"unclassified_vol":0.0,"imbalance":0.390362,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":1.609461},"context":{"vwap":5.514974,"price_vs_vwap_pct":0.816427,"ema9":5.550453,"ema20":5.550645,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.297568,"atr":0.02312,"spread_atr":0.432523,"own_change_pct":-0.317774,"rel_strength_pct":{"SPY":-0.22614,"IWM":-0.368959}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.181324},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5ddb11e524ee","ts":"2026-08-28T15:13:45+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.78 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6437,"target":5.92,"target_label":"ceiling","reward_risk":1.07,"pos_in_5d_range_pct":-12.5,"room_to_5d_high_atr":1.4},"price":5.7769,"vwap":5.7783,"ext_from_open_pct":-1.75,"max_ext_allowed_pct":4.0,"volume_pace":1.512,"trend":"flat","recent_slope_pct":0.0416,"volatility":"high"},"price":5.7769,"volume":{"bars":103,"last_bar_volume":110151.0,"baseline_avg":40265.45,"bar_rvol":2.735621,"raw_accel":4.080063,"smooth_accel":0.931298,"accel_momentum":0.513427,"rvol_3bar":[0.840386,0.467026,2.735621],"trend_3bar":"MIXED","projected_rvol":1.124372},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":684.0,"sell_vol":13866.0,"unclassified_vol":0.0,"imbalance":-0.905979,"bid":5.78,"ask":5.79,"spread_pct":0.172861,"quote_size_imbalance":null,"quote_age_s":0.071152},"context":{"vwap":5.778243,"price_vs_vwap_pct":-0.023247,"ema9":5.77552,"ema20":5.778995,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.581788,"dist_to_hod_atr":8.4483,"atr":0.018122,"spread_atr":0.551816,"own_change_pct":0.322558,"rel_strength_pct":{"SPY":0.414192,"IWM":0.271373}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.478416},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"239a91d90394","ts":"2026-08-28T15:13:50+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3888,"target":5.49,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":94.1,"room_to_5d_high_atr":0.1},"price":5.44,"vwap":5.4362,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":1.796,"trend":"flat","recent_slope_pct":-0.0458,"volatility":"medium"},"price":5.44,"volume":{"bars":103,"last_bar_volume":31710.0,"baseline_avg":117380.15,"bar_rvol":0.270148,"raw_accel":-0.921966,"smooth_accel":-0.462007,"accel_momentum":-0.235011,"rvol_3bar":[0.375203,4.06524,0.270148],"trend_3bar":"MIXED","projected_rvol":1.044575},"flow":{"window_s":30,"trades":73,"trade_rate":2.433333,"buy_vol":6837.0,"sell_vol":43543.0,"unclassified_vol":0.0,"imbalance":-0.728583,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":4.291457},"context":{"vwap":5.436174,"price_vs_vwap_pct":0.07038,"ema9":5.438784,"ema20":5.436436,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.910747,"dist_to_hod_atr":3.402875,"atr":0.014693,"spread_atr":0.680575,"own_change_pct":-0.091912,"rel_strength_pct":{"SPY":-0.000278,"IWM":-0.143097}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.196825},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f2a8063cd364","ts":"2026-08-28T15:13:50+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.6495,"target":5.92,"target_label":"ceiling","reward_risk":1.03,"pos_in_5d_range_pct":-11.6,"room_to_5d_high_atr":1.39},"price":5.7827,"vwap":5.7783,"ext_from_open_pct":-1.65,"max_ext_allowed_pct":3.0,"volume_pace":1.511,"trend":"flat","recent_slope_pct":0.0616,"volatility":"high"},"price":5.7827,"volume":{"bars":103,"last_bar_volume":110151.0,"baseline_avg":40265.45,"bar_rvol":2.735621,"raw_accel":4.080063,"smooth_accel":0.931298,"accel_momentum":0.513427,"rvol_3bar":[0.840386,0.467026,2.735621],"trend_3bar":"MIXED","projected_rvol":1.18589},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":552.0,"sell_vol":10046.0,"unclassified_vol":0.0,"imbalance":-0.895829,"bid":5.78,"ask":5.79,"spread_pct":0.172861,"quote_size_imbalance":null,"quote_age_s":0.626746},"context":{"vwap":5.778243,"price_vs_vwap_pct":0.07713,"ema9":5.77552,"ema20":5.778995,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.48398,"dist_to_hod_atr":8.128246,"atr":0.018122,"spread_atr":0.551816,"own_change_pct":0.322558,"rel_strength_pct":{"SPY":0.414192,"IWM":0.271373}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.450649},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f62ba0ac2172","ts":"2026-08-28T15:13:50+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.1613,"target":13.51,"target_label":"ceiling","reward_risk":1.56,"pos_in_5d_range_pct":16.3,"room_to_5d_high_atr":1.44},"price":13.2974,"vwap":13.2716,"ext_from_open_pct":-1.72,"max_ext_allowed_pct":3.0,"volume_pace":1.368,"trend":"flat","recent_slope_pct":0.0412,"volatility":"medium"},"price":13.2974,"volume":{"bars":103,"last_bar_volume":28339.0,"baseline_avg":35978.0,"bar_rvol":0.787676,"raw_accel":0.089878,"smooth_accel":-0.039208,"accel_momentum":-0.069869,"rvol_3bar":[0.362898,0.687843,0.787676],"trend_3bar":"ACCELERATING","projected_rvol":1.326244},"flow":{"window_s":30,"trades":94,"trade_rate":3.133333,"buy_vol":11457.0,"sell_vol":13348.0,"unclassified_vol":0.0,"imbalance":-0.076235,"bid":13.23,"ask":13.24,"spread_pct":0.075557,"quote_size_imbalance":null,"quote_age_s":0.331704},"context":{"vwap":13.271506,"price_vs_vwap_pct":0.195112,"ema9":13.30837,"ema20":13.315235,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.936578,"dist_to_hod_atr":3.200431,"atr":0.082051,"spread_atr":0.121875,"own_change_pct":-0.134507,"rel_strength_pct":{"SPY":-0.042872,"IWM":-0.185692}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":0,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.060048},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"690139b48e35","ts":"2026-08-28T15:13:55+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.23 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.0989,"target":13.51,"target_label":"ceiling","reward_risk":2.02,"pos_in_5d_range_pct":9.6,"room_to_5d_high_atr":1.55},"price":13.235,"vwap":13.2714,"ext_from_open_pct":-2.18,"max_ext_allowed_pct":3.0,"volume_pace":1.367,"trend":"flat","recent_slope_pct":-0.0527,"volatility":"medium"},"price":13.235,"volume":{"bars":103,"last_bar_volume":28339.0,"baseline_avg":35978.0,"bar_rvol":0.787676,"raw_accel":0.089878,"smooth_accel":-0.039208,"accel_momentum":-0.069869,"rvol_3bar":[0.362898,0.687843,0.787676],"trend_3bar":"ACCELERATING","projected_rvol":1.226204},"flow":{"window_s":30,"trades":90,"trade_rate":3.0,"buy_vol":8895.0,"sell_vol":13793.0,"unclassified_vol":0.0,"imbalance":-0.215885,"bid":13.23,"ask":13.24,"spread_pct":0.075557,"quote_size_imbalance":null,"quote_age_s":0.139423},"context":{"vwap":13.271506,"price_vs_vwap_pct":-0.275068,"ema9":13.30837,"ema20":13.315235,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.396755,"dist_to_hod_atr":3.960929,"atr":0.082051,"spread_atr":0.121875,"own_change_pct":-0.134507,"rel_strength_pct":{"SPY":-0.042872,"IWM":-0.185692}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":0,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.170047},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d1d574fa9bf1","ts":"2026-08-28T15:14:00+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.78 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6439,"target":5.92,"target_label":"ceiling","reward_risk":1.07,"pos_in_5d_range_pct":-12.5,"room_to_5d_high_atr":1.4},"price":5.7771,"vwap":5.7783,"ext_from_open_pct":-1.75,"max_ext_allowed_pct":3.0,"volume_pace":1.509,"trend":"flat","recent_slope_pct":0.0423,"volatility":"high"},"price":5.7771,"volume":{"bars":103,"last_bar_volume":110151.0,"baseline_avg":40265.45,"bar_rvol":2.735621,"raw_accel":4.080063,"smooth_accel":0.931298,"accel_momentum":0.513427,"rvol_3bar":[0.840386,0.467026,2.735621],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":445.0,"sell_vol":6999.0,"unclassified_vol":0.0,"imbalance":-0.880441,"bid":5.78,"ask":5.79,"spread_pct":0.172861,"quote_size_imbalance":null,"quote_age_s":0.003496},"context":{"vwap":5.778243,"price_vs_vwap_pct":-0.019785,"ema9":5.77552,"ema20":5.778995,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.578415,"dist_to_hod_atr":8.437263,"atr":0.018122,"spread_atr":0.551816,"own_change_pct":0.322558,"rel_strength_pct":{"SPY":0.341929,"IWM":0.272174}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.408552},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"02fc1159f742","ts":"2026-08-28T15:14:05+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3788,"target":5.49,"target_label":"ceiling","reward_risk":1.17,"pos_in_5d_range_pct":91.2,"room_to_5d_high_atr":0.15},"price":5.43,"vwap":5.4362,"ext_from_open_pct":-0.73,"max_ext_allowed_pct":3.0,"volume_pace":1.795,"trend":"flat","recent_slope_pct":-0.064,"volatility":"medium"},"price":5.43,"volume":{"bars":104,"last_bar_volume":114684.0,"baseline_avg":111270.85,"bar_rvol":1.030674,"raw_accel":2.616651,"smooth_accel":0.46882,"accel_momentum":0.930826,"rvol_3bar":[4.06524,0.270148,1.030674],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":4188.0,"sell_vol":34198.0,"unclassified_vol":0.0,"imbalance":-0.781795,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.489714},"context":{"vwap":5.436181,"price_vs_vwap_pct":-0.113705,"ema9":5.439027,"ema20":5.436775,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.092896,"dist_to_hod_atr":4.178794,"atr":0.014358,"spread_atr":0.696466,"own_change_pct":-0.091827,"rel_strength_pct":{"SPY":-0.072457,"IWM":-0.142212}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.805776},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b9c48b4725aa","ts":"2026-08-28T15:14:05+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.6518,"target":5.92,"target_label":"ceiling","reward_risk":1.01,"pos_in_5d_range_pct":-11.3,"room_to_5d_high_atr":1.39},"price":5.785,"vwap":5.7783,"ext_from_open_pct":-1.62,"max_ext_allowed_pct":3.0,"volume_pace":1.508,"trend":"flat","recent_slope_pct":0.0495,"volatility":"high"},"price":5.785,"volume":{"bars":104,"last_bar_volume":41004.0,"baseline_avg":43630.25,"bar_rvol":0.939807,"raw_accel":-0.627747,"smooth_accel":0.960037,"accel_momentum":0.028739,"rvol_3bar":[0.467026,2.735621,0.939807],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":490.0,"sell_vol":7270.0,"unclassified_vol":0.0,"imbalance":-0.873711,"bid":5.78,"ask":5.79,"spread_pct":0.172861,"quote_size_imbalance":null,"quote_age_s":3.468106},"context":{"vwap":5.778256,"price_vs_vwap_pct":0.116716,"ema9":5.775836,"ema20":5.778814,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.445194,"dist_to_hod_atr":8.136733,"atr":0.01782,"spread_atr":0.561154,"own_change_pct":0.209887,"rel_strength_pct":{"SPY":0.229258,"IWM":0.159503}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":3,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.82112},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4b19068c4b21","ts":"2026-08-28T15:14:10+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3888,"target":5.49,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":94.1,"room_to_5d_high_atr":0.1},"price":5.44,"vwap":5.4362,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":1.794,"trend":"flat","recent_slope_pct":-0.0272,"volatility":"medium"},"price":5.44,"volume":{"bars":104,"last_bar_volume":114684.0,"baseline_avg":111270.85,"bar_rvol":1.030674,"raw_accel":2.616651,"smooth_accel":0.46882,"accel_momentum":0.930826,"rvol_3bar":[4.06524,0.270148,1.030674],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":4253.0,"sell_vol":30546.0,"unclassified_vol":0.0,"imbalance":-0.755568,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.664877},"context":{"vwap":5.436181,"price_vs_vwap_pct":0.070247,"ema9":5.439027,"ema20":5.436775,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.910747,"dist_to_hod_atr":3.482328,"atr":0.014358,"spread_atr":0.696466,"own_change_pct":-0.091827,"rel_strength_pct":{"SPY":-0.072457,"IWM":-0.142212}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.778744},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"13495732b72f","ts":"2026-08-28T15:14:15+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3795,"target":5.49,"target_label":"ceiling","reward_risk":1.16,"pos_in_5d_range_pct":91.4,"room_to_5d_high_atr":0.14},"price":5.4307,"vwap":5.4362,"ext_from_open_pct":-0.72,"max_ext_allowed_pct":3.0,"volume_pace":1.794,"trend":"flat","recent_slope_pct":-0.0614,"volatility":"medium"},"price":5.4307,"volume":{"bars":104,"last_bar_volume":114684.0,"baseline_avg":111270.85,"bar_rvol":1.030674,"raw_accel":2.616651,"smooth_accel":0.46882,"accel_momentum":0.930826,"rvol_3bar":[4.06524,0.270148,1.030674],"trend_3bar":"MIXED","projected_rvol":0.370052},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":2763.0,"sell_vol":27035.0,"unclassified_vol":0.0,"imbalance":-0.814551,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":2.52488},"context":{"vwap":5.436181,"price_vs_vwap_pct":-0.100829,"ema9":5.439027,"ema20":5.436775,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.080146,"dist_to_hod_atr":4.130041,"atr":0.014358,"spread_atr":0.696466,"own_change_pct":-0.091827,"rel_strength_pct":{"SPY":-0.072457,"IWM":-0.142212}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.839537},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5ba1fad85681","ts":"2026-08-28T15:14:50+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3888,"target":5.49,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":94.1,"room_to_5d_high_atr":0.1},"price":5.44,"vwap":5.4362,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":1.794,"trend":"flat","recent_slope_pct":-0.0272,"volatility":"medium"},"price":5.44,"volume":{"bars":104,"last_bar_volume":114684.0,"baseline_avg":111270.85,"bar_rvol":1.030674,"raw_accel":2.616651,"smooth_accel":0.46882,"accel_momentum":0.930826,"rvol_3bar":[4.06524,0.270148,1.030674],"trend_3bar":"MIXED","projected_rvol":0.576453},"flow":{"window_s":30,"trades":82,"trade_rate":2.733333,"buy_vol":5896.0,"sell_vol":34039.0,"unclassified_vol":0.0,"imbalance":-0.70472,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":1.232082},"context":{"vwap":5.436181,"price_vs_vwap_pct":0.070247,"ema9":5.439027,"ema20":5.436775,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.910747,"dist_to_hod_atr":3.482328,"atr":0.014358,"spread_atr":0.696466,"own_change_pct":-0.091827,"rel_strength_pct":{"SPY":-0.072457,"IWM":-0.142212}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.726337},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"355e1b440622","ts":"2026-08-28T15:14:50+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4871,"target":6.0,"target_label":"range_20d_high","reward_risk":5.8,"pos_in_5d_range_pct":49.7,"room_to_5d_high_atr":1.45},"price":5.5625,"vwap":5.5154,"ext_from_open_pct":3.97,"max_ext_allowed_pct":4.0,"volume_pace":0.949,"trend":"flat","recent_slope_pct":0.126,"volatility":"medium"},"price":5.5625,"volume":{"bars":104,"last_bar_volume":28384.0,"baseline_avg":73970.45,"bar_rvol":0.383721,"raw_accel":-0.191132,"smooth_accel":-0.287177,"accel_momentum":0.38505,"rvol_3bar":[0.091905,0.464501,0.383721],"trend_3bar":"MIXED","projected_rvol":0.722218},"flow":{"window_s":30,"trades":78,"trade_rate":2.6,"buy_vol":25037.0,"sell_vol":10059.0,"unclassified_vol":0.0,"imbalance":0.426772,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.121383},"context":{"vwap":5.515144,"price_vs_vwap_pct":0.858663,"ema9":5.554363,"ema20":5.552488,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.49195,"dist_to_hod_atr":1.184388,"atr":0.023219,"spread_atr":0.430687,"own_change_pct":0.468975,"rel_strength_pct":{"SPY":0.488346,"IWM":0.418591}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.163761},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c133d1023bae","ts":"2026-08-28T15:14:50+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.103,"target":7.25,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":0.6},"price":7.19,"vwap":7.1912,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.686,"trend":"flat","recent_slope_pct":-0.0139,"volatility":"medium"},"price":7.19,"volume":{"bars":104,"last_bar_volume":49543.0,"baseline_avg":50573.65,"bar_rvol":0.979621,"raw_accel":2.631918,"smooth_accel":-0.453023,"accel_momentum":0.126691,"rvol_3bar":[0.976634,0.251163,0.979621],"trend_3bar":"MIXED","projected_rvol":2.989462},"flow":{"window_s":30,"trades":227,"trade_rate":7.566667,"buy_vol":57369.0,"sell_vol":44687.0,"unclassified_vol":0.0,"imbalance":0.124265,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.021689},"context":{"vwap":7.191118,"price_vs_vwap_pct":-0.015551,"ema9":7.198861,"ema20":7.197613,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.236264,"dist_to_hod_atr":4.137868,"atr":0.02175,"spread_atr":0.459763,"own_change_pct":0.139082,"rel_strength_pct":{"SPY":0.158453,"IWM":0.088698}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.121733},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"650e0e8f8a98","ts":"2026-08-28T15:14:55+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3838,"target":5.49,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.12},"price":5.435,"vwap":5.4362,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":3.0,"volume_pace":1.792,"trend":"flat","recent_slope_pct":-0.0456,"volatility":"medium"},"price":5.435,"volume":{"bars":104,"last_bar_volume":114684.0,"baseline_avg":111270.85,"bar_rvol":1.030674,"raw_accel":2.616651,"smooth_accel":0.46882,"accel_momentum":0.930826,"rvol_3bar":[4.06524,0.270148,1.030674],"trend_3bar":"MIXED","projected_rvol":0.525028},"flow":{"window_s":30,"trades":73,"trade_rate":2.433333,"buy_vol":5896.0,"sell_vol":27986.0,"unclassified_vol":0.0,"imbalance":-0.651969,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":4.439517},"context":{"vwap":5.436181,"price_vs_vwap_pct":-0.021729,"ema9":5.439027,"ema20":5.436775,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.001821,"dist_to_hod_atr":3.830561,"atr":0.014358,"spread_atr":0.696466,"own_change_pct":-0.091827,"rel_strength_pct":{"SPY":-0.072457,"IWM":-0.142212}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.671967},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c8dcd256570e","ts":"2026-08-28T15:14:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.0% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4896,"target":6.0,"target_label":"range_20d_high","reward_risk":5.77,"pos_in_5d_range_pct":50.0,"room_to_5d_high_atr":1.44},"price":5.565,"vwap":5.5154,"ext_from_open_pct":4.02,"max_ext_allowed_pct":4.0,"volume_pace":0.948,"trend":"flat","recent_slope_pct":0.135,"volatility":"medium"},"price":5.565,"volume":{"bars":104,"last_bar_volume":28384.0,"baseline_avg":73970.45,"bar_rvol":0.383721,"raw_accel":-0.191132,"smooth_accel":-0.287177,"accel_momentum":0.38505,"rvol_3bar":[0.091905,0.464501,0.383721],"trend_3bar":"MIXED","projected_rvol":0.660588},"flow":{"window_s":30,"trades":76,"trade_rate":2.533333,"buy_vol":22616.0,"sell_vol":9862.0,"unclassified_vol":0.0,"imbalance":0.392697,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":1.287757},"context":{"vwap":5.515144,"price_vs_vwap_pct":0.903992,"ema9":5.554363,"ema20":5.552488,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.447227,"dist_to_hod_atr":1.076717,"atr":0.023219,"spread_atr":0.430687,"own_change_pct":0.468975,"rel_strength_pct":{"SPY":0.488346,"IWM":0.418591}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.150686},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9f5ea7de38ec","ts":"2026-08-28T15:14:55+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.108,"target":7.25,"target_label":"premarket_high","reward_risk":0.63,"pos_in_5d_range_pct":62.4,"room_to_5d_high_atr":0.59},"price":7.195,"vwap":7.1912,"ext_from_open_pct":0.21,"max_ext_allowed_pct":3.0,"volume_pace":0.686,"trend":"flat","recent_slope_pct":0.0,"volatility":"medium"},"price":7.195,"volume":{"bars":104,"last_bar_volume":49543.0,"baseline_avg":50573.65,"bar_rvol":0.979621,"raw_accel":2.631918,"smooth_accel":-0.453023,"accel_momentum":0.126691,"rvol_3bar":[0.976634,0.251163,0.979621],"trend_3bar":"MIXED","projected_rvol":2.724272},"flow":{"window_s":30,"trades":213,"trade_rate":7.1,"buy_vol":50757.0,"sell_vol":38992.0,"unclassified_vol":0.0,"imbalance":0.131088,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.009814},"context":{"vwap":7.191118,"price_vs_vwap_pct":0.053979,"ema9":7.198861,"ema20":7.197613,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.167582,"dist_to_hod_atr":3.907986,"atr":0.02175,"spread_atr":0.459763,"own_change_pct":0.139082,"rel_strength_pct":{"SPY":0.158453,"IWM":0.088698}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.128416},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8e329b184657","ts":"2026-08-28T15:15:00+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.78 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6418,"target":5.92,"target_label":"ceiling","reward_risk":1.09,"pos_in_5d_range_pct":-12.8,"room_to_5d_high_atr":1.41},"price":5.775,"vwap":5.7783,"ext_from_open_pct":-1.79,"max_ext_allowed_pct":3.0,"volume_pace":1.5,"trend":"flat","recent_slope_pct":0.0149,"volatility":"high"},"price":5.775,"volume":{"bars":104,"last_bar_volume":41004.0,"baseline_avg":43630.25,"bar_rvol":0.939807,"raw_accel":-0.627747,"smooth_accel":0.960037,"accel_momentum":0.028739,"rvol_3bar":[0.467026,2.735621,0.939807],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":98,"trade_rate":3.266667,"buy_vol":4815.0,"sell_vol":26629.0,"unclassified_vol":0.0,"imbalance":-0.693741,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.003457},"context":{"vwap":5.778256,"price_vs_vwap_pct":-0.056346,"ema9":5.775836,"ema20":5.778814,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.613828,"dist_to_hod_atr":8.697887,"atr":0.01782,"spread_atr":0.561154,"own_change_pct":0.209887,"rel_strength_pct":{"SPY":0.215699,"IWM":0.159525}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":3,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.651983},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3e13fbc1b2d5","ts":"2026-08-28T15:15:05+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":10.8401,"target":11.14,"target_label":"ceiling","reward_risk":0.5,"pos_in_5d_range_pct":-8.3,"room_to_5d_high_atr":1.61},"price":11.04,"vwap":11.0113,"ext_from_open_pct":-0.9,"max_ext_allowed_pct":3.0,"volume_pace":1.365,"trend":"flat","recent_slope_pct":-0.0448,"volatility":"high"},"price":11.04,"volume":{"bars":105,"last_bar_volume":16205.0,"baseline_avg":11426.5,"bar_rvol":1.418195,"raw_accel":1.107556,"smooth_accel":-0.362652,"accel_momentum":0.144629,"rvol_3bar":[0.287123,0.634388,1.418195],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":1731.0,"sell_vol":6025.0,"unclassified_vol":0.0,"imbalance":-0.553636,"bid":11.03,"ask":11.04,"spread_pct":0.090621,"quote_size_imbalance":null,"quote_age_s":0.12362},"context":{"vwap":11.01126,"price_vs_vwap_pct":0.261005,"ema9":11.050966,"ema20":11.052595,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.269015,"dist_to_hod_atr":4.576303,"atr":0.031008,"spread_atr":0.322502,"own_change_pct":0.12602,"rel_strength_pct":{"SPY":0.131832,"IWM":0.075657}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":0,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.785163},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f89bd60989e8","ts":"2026-08-28T15:15:10+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.6468,"target":5.92,"target_label":"ceiling","reward_risk":1.05,"pos_in_5d_range_pct":-12.0,"room_to_5d_high_atr":1.4},"price":5.78,"vwap":5.7783,"ext_from_open_pct":-1.7,"max_ext_allowed_pct":4.0,"volume_pace":1.5,"trend":"flat","recent_slope_pct":0.0225,"volatility":"high"},"price":5.78,"volume":{"bars":105,"last_bar_volume":32688.0,"baseline_avg":42734.25,"bar_rvol":0.764913,"raw_accel":-0.202809,"smooth_accel":0.780476,"accel_momentum":-0.179561,"rvol_3bar":[2.735621,0.939807,0.764913],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":104,"trade_rate":3.466667,"buy_vol":9323.0,"sell_vol":35747.0,"unclassified_vol":0.0,"imbalance":-0.586288,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.103399},"context":{"vwap":5.778256,"price_vs_vwap_pct":0.03018,"ema9":5.775669,"ema20":5.778451,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.529511,"dist_to_hod_atr":8.344411,"atr":0.017976,"spread_atr":0.556294,"own_change_pct":0.08839,"rel_strength_pct":{"SPY":0.094202,"IWM":0.038027}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.44846},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"73e40472b41d","ts":"2026-08-28T15:15:40+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.26,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.45,"pos_in_5d_range_pct":93.5,"room_to_5d_high_atr":0.13},"price":14.7,"vwap":14.6842,"ext_from_open_pct":1.38,"max_ext_allowed_pct":4.0,"volume_pace":1.777,"trend":"flat","recent_slope_pct":0.0085,"volatility":"high"},"price":14.7,"volume":{"bars":105,"last_bar_volume":499.0,"baseline_avg":958.6,"bar_rvol":0.520551,"raw_accel":-0.608934,"smooth_accel":0.095826,"accel_momentum":0.455775,"rvol_3bar":[0.084685,1.308382,0.520551],"trend_3bar":"MIXED","projected_rvol":3.314208},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":1880.0,"sell_vol":234.0,"unclassified_vol":0.0,"imbalance":0.778619,"bid":14.57,"ask":14.79,"spread_pct":1.498638,"quote_size_imbalance":null,"quote_age_s":3.678719},"context":{"vwap":14.684281,"price_vs_vwap_pct":0.107048,"ema9":14.647206,"ema20":14.61975,"ema_stack":true,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.915297,"dist_to_hod_atr":8.093715,"atr":0.093888,"spread_atr":2.343226,"own_change_pct":0.250669,"rel_strength_pct":{"SPY":0.256482,"IWM":0.200307}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.405311},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"26c2068992a1","ts":"2026-08-28T15:15:50+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.68 below VWAP $14.68","plan":{"state":"PASS","setup":"","stop":14.24,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.5,"pos_in_5d_range_pct":92.8,"room_to_5d_high_atr":0.15},"price":14.68,"vwap":14.6843,"ext_from_open_pct":1.24,"max_ext_allowed_pct":4.0,"volume_pace":1.774,"trend":"flat","recent_slope_pct":-0.0188,"volatility":"high"},"price":14.68,"volume":{"bars":105,"last_bar_volume":499.0,"baseline_avg":958.6,"bar_rvol":0.520551,"raw_accel":-0.608934,"smooth_accel":0.095826,"accel_momentum":0.455775,"rvol_3bar":[0.084685,1.308382,0.520551],"trend_3bar":"MIXED","projected_rvol":2.655122},"flow":{"window_s":30,"trades":22,"trade_rate":0.733333,"buy_vol":1882.0,"sell_vol":235.0,"unclassified_vol":0.0,"imbalance":0.777988,"bid":14.57,"ask":14.79,"spread_pct":1.498638,"quote_size_imbalance":null,"quote_age_s":13.678719},"context":{"vwap":14.684281,"price_vs_vwap_pct":-0.029152,"ema9":14.647206,"ema20":14.61975,"ema_stack":true,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-5.044664,"dist_to_hod_atr":8.306736,"atr":0.093888,"spread_atr":2.343226,"own_change_pct":0.250669,"rel_strength_pct":{"SPY":0.256482,"IWM":0.200307}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.404982},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"13abb0f13ec3","ts":"2026-08-28T15:16:50+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.40x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":7.9166,"target":8.53,"target_label":"premarket_high","reward_risk":0.83,"pos_in_5d_range_pct":46.3,"room_to_5d_high_atr":0.97},"price":8.251,"vwap":8.2358,"ext_from_open_pct":0.07,"max_ext_allowed_pct":3.0,"volume_pace":0.4,"trend":"flat","recent_slope_pct":0.0024,"volatility":"high"},"price":8.251,"volume":{"bars":98,"last_bar_volume":5974.0,"baseline_avg":2415.2,"bar_rvol":2.473501,"raw_accel":8.894005,"smooth_accel":0.855145,"accel_momentum":1.819222,"rvol_3bar":[0.226505,0.049783,2.473501],"trend_3bar":"MIXED","projected_rvol":0.160484},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":300.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":8.25,"ask":8.26,"spread_pct":0.121139,"quote_size_imbalance":null,"quote_age_s":33.055019},"context":{"vwap":8.235817,"price_vs_vwap_pct":0.184358,"ema9":8.254398,"ema20":8.256956,"ema_stack":false,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":-0.470446,"dist_to_hod_atr":3.792574,"atr":0.010283,"spread_atr":0.972455,"own_change_pct":-0.060569,"rel_strength_pct":{"SPY":-0.079814,"IWM":-0.097496}},"vas":{"raw":8,"score":9.4,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":2.473501},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e77d0442d200","ts":"2026-08-28T15:17:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.8552,"target":11.14,"target_label":"ceiling","reward_risk":0.43,"pos_in_5d_range_pct":-7.1,"room_to_5d_high_atr":1.59},"price":11.055,"vwap":11.0114,"ext_from_open_pct":-0.76,"max_ext_allowed_pct":3.0,"volume_pace":1.345,"trend":"flat","recent_slope_pct":0.01,"volatility":"high"},"price":11.055,"volume":{"bars":107,"last_bar_volume":6184.0,"baseline_avg":11980.35,"bar_rvol":0.516179,"raw_accel":0.043713,"smooth_accel":0.345403,"accel_momentum":0.384306,"rvol_3bar":[1.418195,0.49857,0.516179],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":1243.0,"sell_vol":2100.0,"unclassified_vol":0.0,"imbalance":-0.256357,"bid":11.05,"ask":11.06,"spread_pct":0.090457,"quote_size_imbalance":null,"quote_age_s":0.078645},"context":{"vwap":11.011399,"price_vs_vwap_pct":0.395962,"ema9":11.04949,"ema20":11.051524,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.13487,"dist_to_hod_atr":4.192017,"atr":0.030272,"spread_atr":0.33034,"own_change_pct":-0.050656,"rel_strength_pct":{"SPY":-0.086823,"IWM":-0.124499}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.132326},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"21c8e1b44329","ts":"2026-08-28T15:17:55+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 1845.0s, plan says PASS; stop 13.41, target 13.70 (prev_day_high), R:R 1.35; target 0.16 away > ~0.16 reachable in 277 min","plan":{"state":"PASS","setup":"","stop":13.4127,"target":13.7,"target_label":"prev_day_high","reward_risk":1.35,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.27},"price":13.535,"vwap":13.4818,"ext_from_open_pct":0.26,"max_ext_allowed_pct":3.0,"volume_pace":0.905,"trend":"flat","recent_slope_pct":-0.0148,"volatility":"medium"},"price":13.535,"volume":{"bars":107,"last_bar_volume":842.0,"baseline_avg":3818.9,"bar_rvol":0.220482,"raw_accel":-0.837859,"smooth_accel":-0.56735,"accel_momentum":-0.497919,"rvol_3bar":[0.154634,1.368037,0.220482],"trend_3bar":"MIXED","projected_rvol":4.568855},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":9963.0,"sell_vol":5811.0,"unclassified_vol":0.0,"imbalance":0.263218,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.919415},"context":{"vwap":13.481263,"price_vs_vwap_pct":0.398603,"ema9":13.52685,"ema20":13.521407,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.551065,"dist_to_hod_atr":3.8761,"atr":0.019349,"spread_atr":0.516813,"own_change_pct":-0.036955,"rel_strength_pct":{"SPY":-0.073122,"IWM":-0.110798}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.058035},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"97281384d0ff","ts":"2026-08-28T15:18:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5163,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.937,"trend":"flat","recent_slope_pct":-0.0314,"volatility":"medium"},"price":5.56,"volume":{"bars":107,"last_bar_volume":37058.0,"baseline_avg":67771.7,"bar_rvol":0.546806,"raw_accel":-0.038429,"smooth_accel":0.763072,"accel_momentum":-0.25744,"rvol_3bar":[0.695435,0.575406,0.546806],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":140,"trade_rate":4.666667,"buy_vol":34894.0,"sell_vol":7888.0,"unclassified_vol":0.0,"imbalance":0.631247,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.000829},"context":{"vwap":5.515941,"price_vs_vwap_pct":0.798754,"ema9":5.561674,"ema20":5.556835,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.300752,"atr":0.023064,"spread_atr":0.433584,"own_change_pct":0.450857,"rel_strength_pct":{"SPY":0.397893,"IWM":0.398859}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.34517},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"044466c2ef7a","ts":"2026-08-28T15:18:00+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 1850.0s, plan says WATCH; stop 13.41, target 13.61 (ceiling), R:R 0.67; no reclaim yet (needs a close > 13.54); R:R 0.67 < 2.0 at 13.53; pullback: buy 13.51-13.53 holding + reclaim/fading selling","plan":{"state":"WATCH","setup":"","stop":13.406,"target":13.61,"target_label":"ceiling","reward_risk":0.67,"pos_in_5d_range_pct":23.9,"room_to_5d_high_atr":1.29},"price":13.5283,"vwap":13.4818,"ext_from_open_pct":0.21,"max_ext_allowed_pct":3.0,"volume_pace":0.905,"trend":"flat","recent_slope_pct":-0.0247,"volatility":"medium"},"price":13.5283,"volume":{"bars":107,"last_bar_volume":842.0,"baseline_avg":3818.9,"bar_rvol":0.220482,"raw_accel":-0.837859,"smooth_accel":-0.56735,"accel_momentum":-0.497919,"rvol_3bar":[0.154634,1.368037,0.220482],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":10163.0,"sell_vol":5829.0,"unclassified_vol":0.0,"imbalance":0.271011,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.003738},"context":{"vwap":13.481263,"price_vs_vwap_pct":0.348904,"ema9":13.52685,"ema20":13.521407,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.600294,"dist_to_hod_atr":4.222365,"atr":0.019349,"spread_atr":0.516813,"own_change_pct":-0.036955,"rel_strength_pct":{"SPY":-0.089919,"IWM":-0.088953}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.059753},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"fe4f81da761c","ts":"2026-08-28T15:18:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.1% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4946,"target":6.0,"target_label":"range_20d_high","reward_risk":5.7,"pos_in_5d_range_pct":50.6,"room_to_5d_high_atr":1.43},"price":5.57,"vwap":5.5164,"ext_from_open_pct":4.11,"max_ext_allowed_pct":3.0,"volume_pace":0.937,"trend":"flat","recent_slope_pct":-0.009,"volatility":"medium"},"price":5.57,"volume":{"bars":108,"last_bar_volume":58165.0,"baseline_avg":59067.15,"bar_rvol":0.984727,"raw_accel":0.569567,"smooth_accel":0.192238,"accel_momentum":-0.570834,"rvol_3bar":[0.575406,0.546806,0.984727],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":150,"trade_rate":5.0,"buy_vol":34980.0,"sell_vol":15263.0,"unclassified_vol":0.0,"imbalance":0.392433,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":1.076774},"context":{"vwap":5.516306,"price_vs_vwap_pct":0.973373,"ema9":5.561339,"ema20":5.557137,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.357782,"dist_to_hod_atr":0.872746,"atr":0.022916,"spread_atr":0.436373,"own_change_pct":0.138681,"rel_strength_pct":{"SPY":0.085717,"IWM":0.086684}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.386439},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0e85074f26a7","ts":"2026-08-28T15:18:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 1860.0s, plan says PASS; stop 13.42, target 13.70 (prev_day_high), R:R 1.31; target 0.16 away > ~0.15 reachable in 277 min","plan":{"state":"PASS","setup":"","stop":13.4177,"target":13.7,"target_label":"prev_day_high","reward_risk":1.31,"pos_in_5d_range_pct":25.3,"room_to_5d_high_atr":1.26},"price":13.54,"vwap":13.4818,"ext_from_open_pct":0.3,"max_ext_allowed_pct":3.0,"volume_pace":0.903,"trend":"flat","recent_slope_pct":0.0059,"volatility":"medium"},"price":13.54,"volume":{"bars":108,"last_bar_volume":16212.0,"baseline_avg":3638.15,"bar_rvol":4.456111,"raw_accel":16.824444,"smooth_accel":1.185363,"accel_momentum":1.752714,"rvol_3bar":[1.368037,0.220482,4.456111],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":67,"trade_rate":2.233333,"buy_vol":9195.0,"sell_vol":5979.0,"unclassified_vol":0.0,"imbalance":0.211941,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":6.407807},"context":{"vwap":13.481808,"price_vs_vwap_pct":0.431632,"ema9":13.52714,"ema20":13.522063,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.514328,"dist_to_hod_atr":3.609025,"atr":0.019396,"spread_atr":0.515575,"own_change_pct":-0.049501,"rel_strength_pct":{"SPY":-0.102465,"IWM":-0.101499}},"vas":{"raw":8,"score":9.4,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.944435},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d03319f4b69f","ts":"2026-08-28T15:18:15+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 1865.0s, plan says WATCH; stop 13.41, target 13.61 (ceiling), R:R 0.67; imbalance -86% still heavy selling; no reclaim yet (needs a close > 13.53); R:R 0.67 < 2.0 at 13.53; pullback: buy 13.51-13","plan":{"state":"WATCH","setup":"","stop":13.4052,"target":13.61,"target_label":"ceiling","reward_risk":0.67,"pos_in_5d_range_pct":23.8,"room_to_5d_high_atr":1.29},"price":13.5275,"vwap":13.4819,"ext_from_open_pct":0.2,"max_ext_allowed_pct":3.0,"volume_pace":0.905,"trend":"flat","recent_slope_pct":-0.0126,"volatility":"medium"},"price":13.5275,"volume":{"bars":108,"last_bar_volume":16212.0,"baseline_avg":3638.15,"bar_rvol":4.456111,"raw_accel":16.824444,"smooth_accel":1.185363,"accel_momentum":1.752714,"rvol_3bar":[1.368037,0.220482,4.456111],"trend_3bar":"MIXED","projected_rvol":3.901983},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":1809.0,"sell_vol":4655.0,"unclassified_vol":0.0,"imbalance":-0.440285,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":11.407807},"context":{"vwap":13.481808,"price_vs_vwap_pct":0.338914,"ema9":13.52714,"ema20":13.522063,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.606172,"dist_to_hod_atr":4.253493,"atr":0.019396,"spread_atr":0.515575,"own_change_pct":-0.049501,"rel_strength_pct":{"SPY":-0.102465,"IWM":-0.101499}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.961957},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3fc0ccd5ec00","ts":"2026-08-28T15:18:20+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 1870.0s, plan says PASS; stop 13.41, target 13.70 (prev_day_high), R:R 1.35; target 0.16 away > ~0.15 reachable in 277 min","plan":{"state":"PASS","setup":"","stop":13.4127,"target":13.7,"target_label":"prev_day_high","reward_risk":1.35,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.27},"price":13.535,"vwap":13.4819,"ext_from_open_pct":0.26,"max_ext_allowed_pct":3.0,"volume_pace":0.904,"trend":"flat","recent_slope_pct":-0.0015,"volatility":"medium"},"price":13.535,"volume":{"bars":108,"last_bar_volume":16212.0,"baseline_avg":3638.15,"bar_rvol":4.456111,"raw_accel":16.824444,"smooth_accel":1.185363,"accel_momentum":1.752714,"rvol_3bar":[1.368037,0.220482,4.456111],"trend_3bar":"MIXED","projected_rvol":3.182936},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":880.0,"sell_vol":4174.0,"unclassified_vol":0.0,"imbalance":-0.651761,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.944838},"context":{"vwap":13.481808,"price_vs_vwap_pct":0.394545,"ema9":13.52714,"ema20":13.522063,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.551065,"dist_to_hod_atr":3.866812,"atr":0.019396,"spread_atr":0.515575,"own_change_pct":-0.049501,"rel_strength_pct":{"SPY":-0.102465,"IWM":-0.101499}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.904319},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8e9a92dae1ef","ts":"2026-08-28T15:18:45+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.78 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6418,"target":5.92,"target_label":"ceiling","reward_risk":1.09,"pos_in_5d_range_pct":-12.8,"room_to_5d_high_atr":1.41},"price":5.775,"vwap":5.7784,"ext_from_open_pct":-1.79,"max_ext_allowed_pct":3.0,"volume_pace":1.49,"trend":"flat","recent_slope_pct":-0.008,"volatility":"high"},"price":5.775,"volume":{"bars":108,"last_bar_volume":99093.0,"baseline_avg":45578.1,"bar_rvol":2.174136,"raw_accel":1.259714,"smooth_accel":0.267864,"accel_momentum":0.303476,"rvol_3bar":[2.056146,0.961356,2.174136],"trend_3bar":"MIXED","projected_rvol":0.872056},"flow":{"window_s":30,"trades":94,"trade_rate":3.133333,"buy_vol":2142.0,"sell_vol":11284.0,"unclassified_vol":0.0,"imbalance":-0.680918,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.160446},"context":{"vwap":5.778443,"price_vs_vwap_pct":-0.059577,"ema9":5.780942,"ema20":5.780578,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.613828,"dist_to_hod_atr":8.74901,"atr":0.017716,"spread_atr":0.564452,"own_change_pct":0.006914,"rel_strength_pct":{"SPY":-0.04605,"IWM":-0.045083}},"vas":{"raw":2,"score":5.6,"components":{"rvol":2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.480408},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5c5f6e6f3373","ts":"2026-08-28T15:19:00+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.6462,"target":5.92,"target_label":"ceiling","reward_risk":1.06,"pos_in_5d_range_pct":-12.1,"room_to_5d_high_atr":1.4},"price":5.7794,"vwap":5.7784,"ext_from_open_pct":-1.71,"max_ext_allowed_pct":4.0,"volume_pace":1.487,"trend":"flat","recent_slope_pct":0.0073,"volatility":"high"},"price":5.7794,"volume":{"bars":108,"last_bar_volume":99093.0,"baseline_avg":45578.1,"bar_rvol":2.174136,"raw_accel":1.259714,"smooth_accel":0.267864,"accel_momentum":0.303476,"rvol_3bar":[2.056146,0.961356,2.174136],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":5337.0,"sell_vol":8558.0,"unclassified_vol":0.0,"imbalance":-0.23181,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.003267},"context":{"vwap":5.778443,"price_vs_vwap_pct":0.016569,"ema9":5.780942,"ema20":5.780578,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.539629,"dist_to_hod_atr":8.500651,"atr":0.017716,"spread_atr":0.564452,"own_change_pct":0.006914,"rel_strength_pct":{"SPY":0.000456,"IWM":-0.043411}},"vas":{"raw":3,"score":6.2,"components":{"rvol":2,"accel":1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.503987},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bfff1acad2b1","ts":"2026-08-28T15:19:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 1915.0s, plan says WATCH; stop 13.41, target 13.61 (ceiling), R:R 0.67; no reclaim yet (needs a close > 13.54); R:R 0.67 < 2.0 at 13.53; pullback: buy 13.51-13.53 holding + reclaim/fading selling","plan":{"state":"WATCH","setup":"","stop":13.4058,"target":13.61,"target_label":"ceiling","reward_risk":0.67,"pos_in_5d_range_pct":23.9,"room_to_5d_high_atr":1.29},"price":13.5281,"vwap":13.482,"ext_from_open_pct":0.21,"max_ext_allowed_pct":4.0,"volume_pace":0.899,"trend":"flat","recent_slope_pct":0.0041,"volatility":"medium"},"price":13.5281,"volume":{"bars":109,"last_bar_volume":5795.0,"baseline_avg":3938.25,"bar_rvol":1.471466,"raw_accel":-0.642549,"smooth_accel":0.917667,"accel_momentum":-0.267697,"rvol_3bar":[0.220482,4.456111,1.471466],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":1299.0,"sell_vol":133.0,"unclassified_vol":0.0,"imbalance":0.814246,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":5.003691},"context":{"vwap":13.482015,"price_vs_vwap_pct":0.341826,"ema9":13.528712,"ema20":13.523295,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.601763,"dist_to_hod_atr":4.282422,"atr":0.019125,"spread_atr":0.522884,"own_change_pct":-0.036928,"rel_strength_pct":{"SPY":-0.043386,"IWM":-0.087253}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":1.198135},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"96d6318314fb","ts":"2026-08-28T15:19:10+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3938,"target":5.49,"target_label":"ceiling","reward_risk":0.88,"pos_in_5d_range_pct":95.6,"room_to_5d_high_atr":0.07},"price":5.445,"vwap":5.4362,"ext_from_open_pct":-0.46,"max_ext_allowed_pct":4.0,"volume_pace":1.761,"trend":"flat","recent_slope_pct":0.0434,"volatility":"medium"},"price":5.445,"volume":{"bars":109,"last_bar_volume":38038.0,"baseline_avg":102519.95,"bar_rvol":0.37103,"raw_accel":0.484121,"smooth_accel":-0.681148,"accel_momentum":0.071621,"rvol_3bar":[0.140274,0.101865,0.37103],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":305,"trade_rate":10.166667,"buy_vol":93638.0,"sell_vol":14426.0,"unclassified_vol":0.0,"imbalance":0.73301,"bid":5.44,"ask":5.45,"spread_pct":0.183655,"quote_size_imbalance":null,"quote_age_s":0.808519},"context":{"vwap":5.436158,"price_vs_vwap_pct":0.162643,"ema9":5.436778,"ema20":5.436215,"ema_stack":true,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.819672,"dist_to_hod_atr":3.446501,"atr":0.013057,"spread_atr":0.765889,"own_change_pct":-0.025735,"rel_strength_pct":{"SPY":-0.032193,"IWM":-0.076061}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.271969},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"cdd0cde44adb","ts":"2026-08-28T15:19:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 1920.0s, plan says PASS; stop 13.41, target 13.70 (prev_day_high), R:R 1.35; target 0.16 away > ~0.15 reachable in 276 min","plan":{"state":"PASS","setup":"","stop":13.4127,"target":13.7,"target_label":"prev_day_high","reward_risk":1.35,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.27},"price":13.535,"vwap":13.482,"ext_from_open_pct":0.26,"max_ext_allowed_pct":3.0,"volume_pace":0.899,"trend":"flat","recent_slope_pct":0.0143,"volatility":"medium"},"price":13.535,"volume":{"bars":109,"last_bar_volume":5795.0,"baseline_avg":3938.25,"bar_rvol":1.471466,"raw_accel":-0.642549,"smooth_accel":0.917667,"accel_momentum":-0.267697,"rvol_3bar":[0.220482,4.456111,1.471466],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":701.0,"sell_vol":133.0,"unclassified_vol":0.0,"imbalance":0.681055,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":10.003691},"context":{"vwap":13.482015,"price_vs_vwap_pct":0.393006,"ema9":13.528712,"ema20":13.523295,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.551065,"dist_to_hod_atr":3.921632,"atr":0.019125,"spread_atr":0.522884,"own_change_pct":-0.036928,"rel_strength_pct":{"SPY":-0.043386,"IWM":-0.087253}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":1.002149},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"69dea9817ba2","ts":"2026-08-28T15:19:15+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.103,"target":7.25,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":0.6},"price":7.19,"vwap":7.1919,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.699,"trend":"flat","recent_slope_pct":-0.0693,"volatility":"medium"},"price":7.19,"volume":{"bars":109,"last_bar_volume":25964.0,"baseline_avg":53305.0,"bar_rvol":0.487084,"raw_accel":-0.621841,"smooth_accel":-0.344763,"accel_momentum":-0.576217,"rvol_3bar":[1.456391,1.293583,0.487084],"trend_3bar":"DECELERATING","projected_rvol":4.257837},"flow":{"window_s":30,"trades":77,"trade_rate":2.566667,"buy_vol":5280.0,"sell_vol":57518.0,"unclassified_vol":0.0,"imbalance":-0.831842,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.065904},"context":{"vwap":7.191918,"price_vs_vwap_pct":-0.026664,"ema9":7.203006,"ema20":7.200612,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.236264,"dist_to_hod_atr":4.228221,"atr":0.021286,"spread_atr":0.469802,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.006458,"IWM":-0.050325}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.405177},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"e0a598608c32","ts":"2026-08-28T15:19:15+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.9642,"target":7.18,"target_label":"ceiling","reward_risk":1.25,"pos_in_5d_range_pct":-2.9,"room_to_5d_high_atr":1.87},"price":7.0599,"vwap":7.0592,"ext_from_open_pct":-1.12,"max_ext_allowed_pct":4.0,"volume_pace":1.421,"trend":"flat","recent_slope_pct":0.0217,"volatility":"medium"},"price":7.0599,"volume":{"bars":109,"last_bar_volume":9586.0,"baseline_avg":41966.75,"bar_rvol":0.228419,"raw_accel":-0.899794,"smooth_accel":0.079159,"accel_momentum":-3.740533,"rvol_3bar":[0.869545,2.547481,0.228419],"trend_3bar":"MIXED","projected_rvol":1.014899},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":10679.0,"sell_vol":1605.0,"unclassified_vol":0.0,"imbalance":0.738684,"bid":7.05,"ask":7.06,"spread_pct":0.141743,"quote_size_imbalance":null,"quote_age_s":0.335949},"context":{"vwap":7.059166,"price_vs_vwap_pct":0.010402,"ema9":7.048901,"ema20":7.046827,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.672702,"dist_to_hod_atr":5.831819,"atr":0.020594,"spread_atr":0.48558,"own_change_pct":0.284293,"rel_strength_pct":{"SPY":0.277835,"IWM":0.233967}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.16873},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d16ef3024f0b","ts":"2026-08-28T15:19:20+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.113,"target":7.25,"target_label":"premarket_high","reward_risk":0.57,"pos_in_5d_range_pct":63.3,"room_to_5d_high_atr":0.57},"price":7.2,"vwap":7.192,"ext_from_open_pct":0.28,"max_ext_allowed_pct":3.0,"volume_pace":0.699,"trend":"flat","recent_slope_pct":-0.0415,"volatility":"medium"},"price":7.2,"volume":{"bars":109,"last_bar_volume":25964.0,"baseline_avg":53305.0,"bar_rvol":0.487084,"raw_accel":-0.621841,"smooth_accel":-0.344763,"accel_momentum":-0.576217,"rvol_3bar":[1.456391,1.293583,0.487084],"trend_3bar":"DECELERATING","projected_rvol":3.42632},"flow":{"window_s":30,"trades":87,"trade_rate":2.9,"buy_vol":7985.0,"sell_vol":57501.0,"unclassified_vol":0.0,"imbalance":-0.756131,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.09768},"context":{"vwap":7.191918,"price_vs_vwap_pct":0.112381,"ema9":7.203006,"ema20":7.200612,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.098901,"dist_to_hod_atr":3.758419,"atr":0.021286,"spread_atr":0.469802,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.006458,"IWM":-0.050325}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.368299},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"38010fbf13d0","ts":"2026-08-28T15:19:30+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.19","plan":{"state":"PASS","setup":"","stop":7.103,"target":7.25,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":0.6},"price":7.19,"vwap":7.192,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.705,"trend":"flat","recent_slope_pct":-0.0693,"volatility":"medium"},"price":7.19,"volume":{"bars":109,"last_bar_volume":25964.0,"baseline_avg":53305.0,"bar_rvol":0.487084,"raw_accel":-0.621841,"smooth_accel":-0.344763,"accel_momentum":-0.576217,"rvol_3bar":[1.456391,1.293583,0.487084],"trend_3bar":"DECELERATING","projected_rvol":4.427802},"flow":{"window_s":30,"trades":134,"trade_rate":4.466667,"buy_vol":11971.0,"sell_vol":106041.0,"unclassified_vol":0.0,"imbalance":-0.797122,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.240088},"context":{"vwap":7.191918,"price_vs_vwap_pct":-0.026664,"ema9":7.203006,"ema20":7.200612,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.236264,"dist_to_hod_atr":4.228221,"atr":0.021286,"spread_atr":0.469802,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.006458,"IWM":-0.050325}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.388265},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"e3156cc1e651","ts":"2026-08-28T15:19:40+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.1133,"target":7.25,"target_label":"premarket_high","reward_risk":0.57,"pos_in_5d_range_pct":63.4,"room_to_5d_high_atr":0.57},"price":7.2003,"vwap":7.192,"ext_from_open_pct":0.28,"max_ext_allowed_pct":3.0,"volume_pace":0.705,"trend":"flat","recent_slope_pct":-0.0407,"volatility":"medium"},"price":7.2003,"volume":{"bars":109,"last_bar_volume":25964.0,"baseline_avg":53305.0,"bar_rvol":0.487084,"raw_accel":-0.621841,"smooth_accel":-0.344763,"accel_momentum":-0.576217,"rvol_3bar":[1.456391,1.293583,0.487084],"trend_3bar":"DECELERATING","projected_rvol":3.517128},"flow":{"window_s":30,"trades":142,"trade_rate":4.733333,"buy_vol":14113.0,"sell_vol":110133.0,"unclassified_vol":0.0,"imbalance":-0.772822,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.282247},"context":{"vwap":7.191918,"price_vs_vwap_pct":0.116553,"ema9":7.203006,"ema20":7.200612,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.09478,"dist_to_hod_atr":3.744325,"atr":0.021286,"spread_atr":0.469802,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.006458,"IWM":-0.050325}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.376429},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"512780f70c67","ts":"2026-08-28T15:19:50+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.05 below VWAP $7.06","plan":{"state":"PASS","setup":"","stop":6.9552,"target":7.18,"target_label":"ceiling","reward_risk":1.35,"pos_in_5d_range_pct":-4.2,"room_to_5d_high_atr":1.89},"price":7.0509,"vwap":7.0592,"ext_from_open_pct":-1.25,"max_ext_allowed_pct":3.0,"volume_pace":1.419,"trend":"flat","recent_slope_pct":-0.0038,"volatility":"medium"},"price":7.0509,"volume":{"bars":109,"last_bar_volume":9586.0,"baseline_avg":41966.75,"bar_rvol":0.228419,"raw_accel":-0.899794,"smooth_accel":0.079159,"accel_momentum":-3.740533,"rvol_3bar":[0.869545,2.547481,0.228419],"trend_3bar":"MIXED","projected_rvol":1.016119},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":3047.0,"sell_vol":3682.0,"unclassified_vol":0.0,"imbalance":-0.094368,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":0.049273},"context":{"vwap":7.059166,"price_vs_vwap_pct":-0.117091,"ema9":7.048901,"ema20":7.046827,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.79805,"dist_to_hod_atr":6.268841,"atr":0.020594,"spread_atr":0.48558,"own_change_pct":0.284293,"rel_strength_pct":{"SPY":0.277835,"IWM":0.233967}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.021555},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"76eb95e927ec","ts":"2026-08-28T15:20:20+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.9743,"target":7.18,"target_label":"ceiling","reward_risk":1.15,"pos_in_5d_range_pct":-1.4,"room_to_5d_high_atr":1.84},"price":7.07,"vwap":7.0592,"ext_from_open_pct":-0.98,"max_ext_allowed_pct":4.0,"volume_pace":1.426,"trend":"flat","recent_slope_pct":0.0215,"volatility":"medium"},"price":7.07,"volume":{"bars":110,"last_bar_volume":53483.0,"baseline_avg":41787.05,"bar_rvol":1.279894,"raw_accel":4.119577,"smooth_accel":0.03538,"accel_momentum":-0.04378,"rvol_3bar":[2.547481,0.228419,1.279894],"trend_3bar":"MIXED","projected_rvol":2.810249},"flow":{"window_s":30,"trades":117,"trade_rate":3.9,"buy_vol":30618.0,"sell_vol":26473.0,"unclassified_vol":0.0,"imbalance":0.072603,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":0.96218},"context":{"vwap":7.059155,"price_vs_vwap_pct":0.153635,"ema9":7.050121,"ema20":7.047606,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.532033,"dist_to_hod_atr":5.37858,"atr":0.020451,"spread_atr":0.488962,"own_change_pct":0.284293,"rel_strength_pct":{"SPY":0.27073,"IWM":0.193686}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":0,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.092925},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"906d7c09fd68","ts":"2026-08-28T15:20:40+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 2010.0s, plan says WATCH; stop 13.41, target 13.61 (ceiling), R:R 0.65; imbalance -100% still heavy selling; no reclaim yet (needs a close > 13.54); R:R 0.65 < 2.0 at 13.53; pullback: buy 13.51-1","plan":{"state":"WATCH","setup":"","stop":13.4079,"target":13.61,"target_label":"ceiling","reward_risk":0.65,"pos_in_5d_range_pct":24.2,"room_to_5d_high_atr":1.28},"price":13.5302,"vwap":13.4824,"ext_from_open_pct":0.22,"max_ext_allowed_pct":3.0,"volume_pace":0.892,"trend":"flat","recent_slope_pct":0.0126,"volatility":"medium"},"price":13.5302,"volume":{"bars":110,"last_bar_volume":9417.0,"baseline_avg":4059.9,"bar_rvol":2.319515,"raw_accel":0.625022,"smooth_accel":3.712657,"accel_momentum":2.794991,"rvol_3bar":[4.456111,1.471466,2.319515],"trend_3bar":"MIXED","projected_rvol":0.079805},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":36.0,"sell_vol":178.0,"unclassified_vol":0.0,"imbalance":-0.663551,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":3.271466},"context":{"vwap":13.482365,"price_vs_vwap_pct":0.354795,"ema9":13.52997,"ema20":13.52441,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.586334,"dist_to_hod_atr":4.201248,"atr":0.018994,"spread_atr":0.526472,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.013562,"IWM":-0.090607}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.539118},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"95e919c3fb33","ts":"2026-08-28T15:20:45+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 2015.0s, plan says PASS; stop 13.42, target 13.70 (prev_day_high), R:R 1.31; target 0.16 away > ~0.15 reachable in 274 min","plan":{"state":"PASS","setup":"","stop":13.4177,"target":13.7,"target_label":"prev_day_high","reward_risk":1.31,"pos_in_5d_range_pct":25.3,"room_to_5d_high_atr":1.26},"price":13.54,"vwap":13.4824,"ext_from_open_pct":0.3,"max_ext_allowed_pct":3.0,"volume_pace":0.892,"trend":"flat","recent_slope_pct":0.0271,"volatility":"medium"},"price":13.54,"volume":{"bars":110,"last_bar_volume":9417.0,"baseline_avg":4059.9,"bar_rvol":2.319515,"raw_accel":0.625022,"smooth_accel":3.712657,"accel_momentum":2.794991,"rvol_3bar":[4.456111,1.471466,2.319515],"trend_3bar":"MIXED","projected_rvol":0.071266},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":11.0,"sell_vol":178.0,"unclassified_vol":0.0,"imbalance":-0.883598,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.710479},"context":{"vwap":13.482365,"price_vs_vwap_pct":0.427482,"ema9":13.52997,"ema20":13.52441,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.514328,"dist_to_hod_atr":3.685305,"atr":0.018994,"spread_atr":0.526472,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.013562,"IWM":-0.090607}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.049519},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4024d293299b","ts":"2026-08-28T15:20:45+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":6.965,"target":7.18,"target_label":"ceiling","reward_risk":1.25,"pos_in_5d_range_pct":-2.8,"room_to_5d_high_atr":1.87},"price":7.0607,"vwap":7.0592,"ext_from_open_pct":-1.11,"max_ext_allowed_pct":4.0,"volume_pace":1.421,"trend":"flat","recent_slope_pct":-0.0048,"volatility":"medium"},"price":7.0607,"volume":{"bars":110,"last_bar_volume":53483.0,"baseline_avg":41787.05,"bar_rvol":1.279894,"raw_accel":4.119577,"smooth_accel":0.03538,"accel_momentum":-0.04378,"rvol_3bar":[2.547481,0.228419,1.279894],"trend_3bar":"MIXED","projected_rvol":1.294883},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":1737.0,"sell_vol":14.0,"unclassified_vol":0.0,"imbalance":0.984009,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":0.288537},"context":{"vwap":7.059155,"price_vs_vwap_pct":0.021892,"ema9":7.050121,"ema20":7.047606,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.66156,"dist_to_hod_atr":5.833314,"atr":0.020451,"spread_atr":0.488962,"own_change_pct":0.284293,"rel_strength_pct":{"SPY":0.27073,"IWM":0.193686}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":0,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":1.259428},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"856499d8146c","ts":"2026-08-28T15:20:50+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.9743,"target":7.18,"target_label":"ceiling","reward_risk":1.15,"pos_in_5d_range_pct":-1.4,"room_to_5d_high_atr":1.84},"price":7.07,"vwap":7.0592,"ext_from_open_pct":-0.98,"max_ext_allowed_pct":4.0,"volume_pace":1.421,"trend":"flat","recent_slope_pct":0.0215,"volatility":"medium"},"price":7.07,"volume":{"bars":110,"last_bar_volume":53483.0,"baseline_avg":41787.05,"bar_rvol":1.279894,"raw_accel":4.119577,"smooth_accel":0.03538,"accel_momentum":-0.04378,"rvol_3bar":[2.547481,0.228419,1.279894],"trend_3bar":"MIXED","projected_rvol":1.335916},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":7366.0,"sell_vol":10.0,"unclassified_vol":0.0,"imbalance":0.997289,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":0.333324},"context":{"vwap":7.059155,"price_vs_vwap_pct":0.153635,"ema9":7.050121,"ema20":7.047606,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.532033,"dist_to_hod_atr":5.37858,"atr":0.020451,"spread_atr":0.488962,"own_change_pct":0.284293,"rel_strength_pct":{"SPY":0.27073,"IWM":0.193686}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":0,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":1.276424},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6b5558ee5646","ts":"2026-08-28T15:21:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5168,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.924,"trend":"flat","recent_slope_pct":0.018,"volatility":"medium"},"price":5.56,"volume":{"bars":111,"last_bar_volume":27552.0,"baseline_avg":54117.95,"bar_rvol":0.50911,"raw_accel":0.214279,"smooth_accel":-0.131584,"accel_momentum":-0.312237,"rvol_3bar":[1.217729,0.409487,0.50911],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":125,"trade_rate":4.166667,"buy_vol":16798.0,"sell_vol":1199.0,"unclassified_vol":0.0,"imbalance":0.866756,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.622802},"context":{"vwap":5.516826,"price_vs_vwap_pct":0.78258,"ema9":5.555766,"ema20":5.555157,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.284547,"atr":0.023355,"spread_atr":0.428182,"own_change_pct":-0.2693,"rel_strength_pct":{"SPY":-0.319777,"IWM":-0.421984}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.441274},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"47665a5d268e","ts":"2026-08-28T15:21:05+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.1437,"target":13.51,"target_label":"ceiling","reward_risk":1.69,"pos_in_5d_range_pct":14.4,"room_to_5d_high_atr":1.47},"price":13.2798,"vwap":13.2709,"ext_from_open_pct":-1.85,"max_ext_allowed_pct":4.0,"volume_pace":1.318,"trend":"flat","recent_slope_pct":0.0749,"volatility":"medium"},"price":13.2798,"volume":{"bars":111,"last_bar_volume":7555.0,"baseline_avg":23968.2,"bar_rvol":0.315209,"raw_accel":0.064384,"smooth_accel":-0.64686,"accel_momentum":-0.150077,"rvol_3bar":[0.454606,0.251222,0.315209],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":1898.0,"sell_vol":1592.0,"unclassified_vol":0.0,"imbalance":0.087679,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.335524},"context":{"vwap":13.270936,"price_vs_vwap_pct":0.066794,"ema9":13.265185,"ema20":13.281655,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.066372,"dist_to_hod_atr":4.573513,"atr":0.061266,"spread_atr":0.163223,"own_change_pct":0.188608,"rel_strength_pct":{"SPY":0.138131,"IWM":0.035924}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.027637},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"dee84b4cbc9a","ts":"2026-08-28T15:21:10+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.27 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1339,"target":13.51,"target_label":"ceiling","reward_risk":1.76,"pos_in_5d_range_pct":13.4,"room_to_5d_high_atr":1.49},"price":13.27,"vwap":13.2709,"ext_from_open_pct":-1.92,"max_ext_allowed_pct":4.0,"volume_pace":1.317,"trend":"flat","recent_slope_pct":0.0601,"volatility":"medium"},"price":13.27,"volume":{"bars":111,"last_bar_volume":7555.0,"baseline_avg":23968.2,"bar_rvol":0.315209,"raw_accel":0.064384,"smooth_accel":-0.64686,"accel_momentum":-0.150077,"rvol_3bar":[0.454606,0.251222,0.315209],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":18,"trade_rate":0.6,"buy_vol":1890.0,"sell_vol":523.0,"unclassified_vol":0.0,"imbalance":0.566515,"bid":13.27,"ask":13.27,"spread_pct":0.0,"quote_size_imbalance":null,"quote_age_s":1.143535},"context":{"vwap":13.270936,"price_vs_vwap_pct":-0.007052,"ema9":13.265185,"ema20":13.281655,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.138643,"dist_to_hod_atr":4.733472,"atr":0.061266,"spread_atr":0.0,"own_change_pct":0.188608,"rel_strength_pct":{"SPY":0.138131,"IWM":0.035924}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.178571},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e6be69d27ccd","ts":"2026-08-28T15:21:15+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5168,"ext_from_open_pct":3.93,"max_ext_allowed_pct":3.0,"volume_pace":0.923,"trend":"flat","recent_slope_pct":0.018,"volatility":"medium"},"price":5.56,"volume":{"bars":111,"last_bar_volume":27552.0,"baseline_avg":54117.95,"bar_rvol":0.50911,"raw_accel":0.214279,"smooth_accel":-0.131584,"accel_momentum":-0.312237,"rvol_3bar":[1.217729,0.409487,0.50911],"trend_3bar":"MIXED","projected_rvol":0.102886},"flow":{"window_s":30,"trades":85,"trade_rate":2.833333,"buy_vol":4458.0,"sell_vol":1245.0,"unclassified_vol":0.0,"imbalance":0.563388,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":3.917151},"context":{"vwap":5.516826,"price_vs_vwap_pct":0.78258,"ema9":5.555766,"ema20":5.555157,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.284547,"atr":0.023355,"spread_atr":0.428182,"own_change_pct":-0.2693,"rel_strength_pct":{"SPY":-0.319777,"IWM":-0.421984}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.286826},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c03d95b04907","ts":"2026-08-28T15:21:25+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.1395,"target":13.51,"target_label":"ceiling","reward_risk":1.72,"pos_in_5d_range_pct":14.0,"room_to_5d_high_atr":1.48},"price":13.2756,"vwap":13.2709,"ext_from_open_pct":-1.88,"max_ext_allowed_pct":3.0,"volume_pace":1.314,"trend":"flat","recent_slope_pct":0.0686,"volatility":"medium"},"price":13.2756,"volume":{"bars":111,"last_bar_volume":7555.0,"baseline_avg":23968.2,"bar_rvol":0.315209,"raw_accel":0.064384,"smooth_accel":-0.64686,"accel_momentum":-0.150077,"rvol_3bar":[0.454606,0.251222,0.315209],"trend_3bar":"MIXED","projected_rvol":0.095527},"flow":{"window_s":30,"trades":22,"trade_rate":0.733333,"buy_vol":755.0,"sell_vol":402.0,"unclassified_vol":0.0,"imbalance":0.305099,"bid":13.25,"ask":13.26,"spread_pct":0.075443,"quote_size_imbalance":null,"quote_age_s":0.200803},"context":{"vwap":13.270936,"price_vs_vwap_pct":0.035145,"ema9":13.265185,"ema20":13.281655,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.097345,"dist_to_hod_atr":4.642067,"atr":0.061266,"spread_atr":0.163223,"own_change_pct":0.188608,"rel_strength_pct":{"SPY":0.138131,"IWM":0.035924}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.09617},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3c45206da98a","ts":"2026-08-28T15:21:30+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.25 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1139,"target":13.51,"target_label":"ceiling","reward_risk":1.91,"pos_in_5d_range_pct":11.2,"room_to_5d_high_atr":1.52},"price":13.25,"vwap":13.2709,"ext_from_open_pct":-2.07,"max_ext_allowed_pct":3.0,"volume_pace":1.316,"trend":"flat","recent_slope_pct":0.03,"volatility":"medium"},"price":13.25,"volume":{"bars":111,"last_bar_volume":7555.0,"baseline_avg":23968.2,"bar_rvol":0.315209,"raw_accel":0.064384,"smooth_accel":-0.64686,"accel_momentum":-0.150077,"rvol_3bar":[0.454606,0.251222,0.315209],"trend_3bar":"MIXED","projected_rvol":0.917883},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":4233.0,"sell_vol":6767.0,"unclassified_vol":0.0,"imbalance":-0.230364,"bid":13.25,"ask":13.26,"spread_pct":0.075443,"quote_size_imbalance":null,"quote_age_s":0.002698},"context":{"vwap":13.270936,"price_vs_vwap_pct":-0.157757,"ema9":13.265185,"ema20":13.281655,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.286136,"dist_to_hod_atr":5.059918,"atr":0.061266,"spread_atr":0.163223,"own_change_pct":0.188608,"rel_strength_pct":{"SPY":0.138131,"IWM":0.035924}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.072613},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b9f8eedf46df","ts":"2026-08-28T15:22:10+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.1489,"target":13.51,"target_label":"ceiling","reward_risk":1.65,"pos_in_5d_range_pct":15.0,"room_to_5d_high_atr":1.46},"price":13.285,"vwap":13.2709,"ext_from_open_pct":-1.81,"max_ext_allowed_pct":4.0,"volume_pace":1.311,"trend":"flat","recent_slope_pct":0.0749,"volatility":"medium"},"price":13.285,"volume":{"bars":112,"last_bar_volume":18949.0,"baseline_avg":22914.45,"bar_rvol":0.826945,"raw_accel":1.50814,"smooth_accel":-0.37142,"accel_momentum":0.27544,"rvol_3bar":[0.251222,0.315209,0.826945],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":5609.0,"sell_vol":1199.0,"unclassified_vol":0.0,"imbalance":0.647767,"bid":13.28,"ask":13.29,"spread_pct":0.075273,"quote_size_imbalance":null,"quote_age_s":0.035144},"context":{"vwap":13.270898,"price_vs_vwap_pct":0.106261,"ema9":13.265148,"ema20":13.280069,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.028024,"dist_to_hod_atr":4.602755,"atr":0.059747,"spread_atr":0.167373,"own_change_pct":0.151,"rel_strength_pct":{"SPY":0.149064,"IWM":0.070504}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.535668},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7c9bcc3908cc","ts":"2026-08-28T15:22:20+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.27 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1339,"target":13.51,"target_label":"ceiling","reward_risk":1.76,"pos_in_5d_range_pct":13.4,"room_to_5d_high_atr":1.49},"price":13.27,"vwap":13.2709,"ext_from_open_pct":-1.92,"max_ext_allowed_pct":3.0,"volume_pace":1.31,"trend":"flat","recent_slope_pct":0.0523,"volatility":"medium"},"price":13.27,"volume":{"bars":112,"last_bar_volume":18949.0,"baseline_avg":22914.45,"bar_rvol":0.826945,"raw_accel":1.50814,"smooth_accel":-0.37142,"accel_momentum":0.27544,"rvol_3bar":[0.251222,0.315209,0.826945],"trend_3bar":"ACCELERATING","projected_rvol":0.544765},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":5206.0,"sell_vol":1437.0,"unclassified_vol":0.0,"imbalance":0.567364,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.111363},"context":{"vwap":13.270898,"price_vs_vwap_pct":-0.006768,"ema9":13.265148,"ema20":13.280069,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.138643,"dist_to_hod_atr":4.853814,"atr":0.059747,"spread_atr":0.167373,"own_change_pct":0.151,"rel_strength_pct":{"SPY":0.149064,"IWM":0.070504}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.469179},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"98746129b607","ts":"2026-08-28T15:22:25+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.1389,"target":13.51,"target_label":"ceiling","reward_risk":1.73,"pos_in_5d_range_pct":13.9,"room_to_5d_high_atr":1.48},"price":13.275,"vwap":13.2709,"ext_from_open_pct":-1.88,"max_ext_allowed_pct":3.0,"volume_pace":1.31,"trend":"flat","recent_slope_pct":0.0599,"volatility":"medium"},"price":13.275,"volume":{"bars":112,"last_bar_volume":18949.0,"baseline_avg":22914.45,"bar_rvol":0.826945,"raw_accel":1.50814,"smooth_accel":-0.37142,"accel_momentum":0.27544,"rvol_3bar":[0.251222,0.315209,0.826945],"trend_3bar":"ACCELERATING","projected_rvol":0.918233},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":7012.0,"sell_vol":2237.0,"unclassified_vol":0.0,"imbalance":0.516272,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.029569},"context":{"vwap":13.270898,"price_vs_vwap_pct":0.030909,"ema9":13.265148,"ema20":13.280069,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.10177,"dist_to_hod_atr":4.770128,"atr":0.059747,"spread_atr":0.167373,"own_change_pct":0.151,"rel_strength_pct":{"SPY":0.149064,"IWM":0.070504}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.426929},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"70d23cabded8","ts":"2026-08-28T15:22:30+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.26 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1205,"target":13.51,"target_label":"ceiling","reward_risk":1.86,"pos_in_5d_range_pct":11.9,"room_to_5d_high_atr":1.51},"price":13.2566,"vwap":13.2709,"ext_from_open_pct":-2.02,"max_ext_allowed_pct":3.0,"volume_pace":1.309,"trend":"flat","recent_slope_pct":0.0321,"volatility":"medium"},"price":13.2566,"volume":{"bars":112,"last_bar_volume":18949.0,"baseline_avg":22914.45,"bar_rvol":0.826945,"raw_accel":1.50814,"smooth_accel":-0.37142,"accel_momentum":0.27544,"rvol_3bar":[0.251222,0.315209,0.826945],"trend_3bar":"ACCELERATING","projected_rvol":0.773922},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":6680.0,"sell_vol":2187.0,"unclassified_vol":0.0,"imbalance":0.50671,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.002641},"context":{"vwap":13.270898,"price_vs_vwap_pct":-0.107741,"ema9":13.265148,"ema20":13.280069,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.237463,"dist_to_hod_atr":5.078094,"atr":0.059747,"spread_atr":0.167373,"own_change_pct":0.151,"rel_strength_pct":{"SPY":0.149064,"IWM":0.070504}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.419022},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e6aae8437eab","ts":"2026-08-28T15:22:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4803,"target":6.0,"target_label":"range_20d_high","reward_risk":5.89,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.5557,"vwap":5.5169,"ext_from_open_pct":3.84,"max_ext_allowed_pct":4.0,"volume_pace":0.914,"trend":"flat","recent_slope_pct":0.0431,"volatility":"medium"},"price":5.5557,"volume":{"bars":112,"last_bar_volume":11630.0,"baseline_avg":51318.35,"bar_rvol":0.226625,"raw_accel":-0.577889,"smooth_accel":-0.616041,"accel_momentum":-0.484456,"rvol_3bar":[0.409487,0.50911,0.226625],"trend_3bar":"MIXED","projected_rvol":0.320788},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":8858.0,"sell_vol":658.0,"unclassified_vol":0.0,"imbalance":0.861707,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.92321},"context":{"vwap":5.516879,"price_vs_vwap_pct":0.703682,"ema9":5.554612,"ema20":5.554665,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.613596,"dist_to_hod_atr":1.525369,"atr":0.022486,"spread_atr":0.444714,"own_change_pct":-0.359066,"rel_strength_pct":{"SPY":-0.361003,"IWM":-0.439563}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.195284},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7ce91eeb9c4f","ts":"2026-08-28T15:22:35+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.1362,"target":13.51,"target_label":"ceiling","reward_risk":1.75,"pos_in_5d_range_pct":13.6,"room_to_5d_high_atr":1.48},"price":13.2723,"vwap":13.2709,"ext_from_open_pct":-1.9,"max_ext_allowed_pct":3.0,"volume_pace":1.309,"trend":"flat","recent_slope_pct":0.0558,"volatility":"medium"},"price":13.2723,"volume":{"bars":112,"last_bar_volume":18949.0,"baseline_avg":22914.45,"bar_rvol":0.826945,"raw_accel":1.50814,"smooth_accel":-0.37142,"accel_momentum":0.27544,"rvol_3bar":[0.251222,0.315209,0.826945],"trend_3bar":"ACCELERATING","projected_rvol":0.948472},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":8588.0,"sell_vol":4090.0,"unclassified_vol":0.0,"imbalance":0.354788,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.119856},"context":{"vwap":13.270898,"price_vs_vwap_pct":0.010563,"ema9":13.265148,"ema20":13.280069,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.121681,"dist_to_hod_atr":4.815319,"atr":0.059747,"spread_atr":0.167373,"own_change_pct":0.151,"rel_strength_pct":{"SPY":0.149064,"IWM":0.070504}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.29339},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"aca474d55e86","ts":"2026-08-28T15:22:50+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.4233,"target":9.73,"target_label":"premarket_high","reward_risk":0.75,"pos_in_5d_range_pct":54.9,"room_to_5d_high_atr":0.94},"price":9.5986,"vwap":9.559,"ext_from_open_pct":-0.22,"max_ext_allowed_pct":3.0,"volume_pace":1.095,"trend":"flat","recent_slope_pct":0.1303,"volatility":"high"},"price":9.5986,"volume":{"bars":112,"last_bar_volume":55419.0,"baseline_avg":107451.9,"bar_rvol":0.515756,"raw_accel":-0.037062,"smooth_accel":0.353403,"accel_momentum":0.391868,"rvol_3bar":[0.717421,0.516088,0.515756],"trend_3bar":"DECELERATING","projected_rvol":1.432023},"flow":{"window_s":30,"trades":245,"trade_rate":8.166667,"buy_vol":65094.0,"sell_vol":48396.0,"unclassified_vol":0.0,"imbalance":0.147132,"bid":9.59,"ask":9.6,"spread_pct":0.104221,"quote_size_imbalance":null,"quote_age_s":0.629518},"context":{"vwap":9.558783,"price_vs_vwap_pct":0.416552,"ema9":9.547681,"ema20":9.546067,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.453252,"dist_to_hod_atr":6.109876,"atr":0.03951,"spread_atr":0.253102,"own_change_pct":0.082791,"rel_strength_pct":{"SPY":0.080854,"IWM":0.002295}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.075884},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"a58a4fc83843","ts":"2026-08-28T15:23:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 2155.0s, plan says WATCH; stop 13.41, target 13.61 (ceiling), R:R 0.65; no reclaim yet (needs a close > 13.54); R:R 0.65 < 2.0 at 13.53; pullback: buy 13.51-13.53 holding + reclaim/fading selling","plan":{"state":"WATCH","setup":"","stop":13.4077,"target":13.61,"target_label":"ceiling","reward_risk":0.65,"pos_in_5d_range_pct":24.1,"room_to_5d_high_atr":1.28},"price":13.53,"vwap":13.4826,"ext_from_open_pct":0.22,"max_ext_allowed_pct":3.0,"volume_pace":0.876,"trend":"flat","recent_slope_pct":-0.0111,"volatility":"medium"},"price":13.53,"volume":{"bars":113,"last_bar_volume":3656.0,"baseline_avg":4278.85,"bar_rvol":0.854435,"raw_accel":1.560224,"smooth_accel":-0.831307,"accel_momentum":-0.315442,"rvol_3bar":[0.048318,0.319149,0.854435],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":1768.0,"sell_vol":1594.0,"unclassified_vol":0.0,"imbalance":0.051755,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.223954},"context":{"vwap":13.482558,"price_vs_vwap_pct":0.351877,"ema9":13.533032,"ema20":13.527529,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.587803,"dist_to_hod_atr":4.663761,"atr":0.017154,"spread_atr":0.58297,"own_change_pct":0.049526,"rel_strength_pct":{"SPY":0.059855,"IWM":0.046173}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.044221},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5bc8a6c5fddb","ts":"2026-08-28T15:23:05+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":10.8496,"target":11.14,"target_label":"ceiling","reward_risk":0.45,"pos_in_5d_range_pct":-7.6,"room_to_5d_high_atr":1.6},"price":11.0494,"vwap":11.0122,"ext_from_open_pct":-0.81,"max_ext_allowed_pct":3.0,"volume_pace":1.298,"trend":"flat","recent_slope_pct":-0.0328,"volatility":"high"},"price":11.0494,"volume":{"bars":113,"last_bar_volume":4863.0,"baseline_avg":11848.9,"bar_rvol":0.410418,"raw_accel":-0.752443,"smooth_accel":0.793727,"accel_momentum":-0.079928,"rvol_3bar":[0.978835,1.701184,0.410418],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":2171.0,"sell_vol":768.0,"unclassified_vol":0.0,"imbalance":0.477373,"bid":11.05,"ask":11.06,"spread_pct":0.090457,"quote_size_imbalance":null,"quote_age_s":0.500122},"context":{"vwap":11.012241,"price_vs_vwap_pct":0.33743,"ema9":11.052456,"ema20":11.052422,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.184951,"dist_to_hod_atr":4.773284,"atr":0.027759,"spread_atr":0.360248,"own_change_pct":-0.011764,"rel_strength_pct":{"SPY":-0.001435,"IWM":-0.015117}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.195923},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6224a3d60750","ts":"2026-08-28T15:23:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 205.0s, plan says WATCH; stop 7.15, target 7.39 (prev_day_high), R:R 1.72; R:R 1.72 < 2.0 at 7.24; breakout: 1-min close > 7.29 on >= 74659 sh","plan":{"state":"WATCH","setup":"","stop":7.153,"target":7.39,"target_label":"prev_day_high","reward_risk":1.72,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.24,"vwap":7.1926,"ext_from_open_pct":0.84,"max_ext_allowed_pct":4.0,"volume_pace":0.706,"trend":"flat","recent_slope_pct":0.1592,"volatility":"medium"},"price":7.24,"volume":{"bars":113,"last_bar_volume":49969.0,"baseline_avg":62969.05,"bar_rvol":0.793549,"raw_accel":0.052622,"smooth_accel":-0.589522,"accel_momentum":-0.962833,"rvol_3bar":[0.222177,0.764431,0.793549],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":117,"trade_rate":3.9,"buy_vol":36651.0,"sell_vol":7778.0,"unclassified_vol":0.0,"imbalance":0.649868,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.580615},"context":{"vwap":7.192469,"price_vs_vwap_pct":0.660849,"ema9":7.209739,"ema20":7.204587,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.549451,"dist_to_hod_atr":1.879085,"atr":0.021287,"spread_atr":0.469771,"own_change_pct":0.319139,"rel_strength_pct":{"SPY":0.329468,"IWM":0.315786}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.515702},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c7cd5d28d287","ts":"2026-08-28T15:23:05+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.26 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1189,"target":13.51,"target_label":"ceiling","reward_risk":1.87,"pos_in_5d_range_pct":11.8,"room_to_5d_high_atr":1.52},"price":13.255,"vwap":13.2709,"ext_from_open_pct":-2.03,"max_ext_allowed_pct":4.0,"volume_pace":1.305,"trend":"flat","recent_slope_pct":0.0038,"volatility":"medium"},"price":13.255,"volume":{"bars":113,"last_bar_volume":18443.0,"baseline_avg":21581.9,"bar_rvol":0.854559,"raw_accel":-0.026703,"smooth_accel":0.035621,"accel_momentum":0.407041,"rvol_3bar":[0.315209,0.826945,0.854559],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":3560.0,"sell_vol":2605.0,"unclassified_vol":0.0,"imbalance":0.154907,"bid":13.29,"ask":13.3,"spread_pct":0.075216,"quote_size_imbalance":null,"quote_age_s":1.582419},"context":{"vwap":13.270915,"price_vs_vwap_pct":-0.119925,"ema9":13.269119,"ema20":13.280539,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.249263,"dist_to_hod_atr":5.232787,"atr":0.058286,"spread_atr":0.171567,"own_change_pct":0.264151,"rel_strength_pct":{"SPY":0.27448,"IWM":0.260798}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.132377},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"98391d256a95","ts":"2026-08-28T15:23:10+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.8702,"target":11.14,"target_label":"ceiling","reward_risk":0.35,"pos_in_5d_range_pct":-5.8,"room_to_5d_high_atr":1.57},"price":11.07,"vwap":11.0123,"ext_from_open_pct":-0.63,"max_ext_allowed_pct":3.0,"volume_pace":1.297,"trend":"flat","recent_slope_pct":0.0044,"volatility":"high"},"price":11.07,"volume":{"bars":113,"last_bar_volume":4863.0,"baseline_avg":11848.9,"bar_rvol":0.410418,"raw_accel":-0.752443,"smooth_accel":0.793727,"accel_momentum":-0.079928,"rvol_3bar":[0.978835,1.701184,0.410418],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":2571.0,"sell_vol":676.0,"unclassified_vol":0.0,"imbalance":0.583616,"bid":11.06,"ask":11.07,"spread_pct":0.090375,"quote_size_imbalance":null,"quote_age_s":0.263296},"context":{"vwap":11.012241,"price_vs_vwap_pct":0.524494,"ema9":11.052456,"ema20":11.052422,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.000724,"dist_to_hod_atr":4.031174,"atr":0.027759,"spread_atr":0.360248,"own_change_pct":-0.011764,"rel_strength_pct":{"SPY":-0.001435,"IWM":-0.015117}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.239526},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"42f8a45f1b40","ts":"2026-08-28T15:23:10+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 210.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.17; R:R 0.17 < 2.0 at 7.24; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.1926,"ext_from_open_pct":0.77,"max_ext_allowed_pct":4.0,"volume_pace":0.705,"trend":"flat","recent_slope_pct":0.1454,"volatility":"medium"},"price":7.235,"volume":{"bars":113,"last_bar_volume":49969.0,"baseline_avg":62969.05,"bar_rvol":0.793549,"raw_accel":0.052622,"smooth_accel":-0.589522,"accel_momentum":-0.962833,"rvol_3bar":[0.222177,0.764431,0.793549],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":102,"trade_rate":3.4,"buy_vol":34171.0,"sell_vol":6370.0,"unclassified_vol":0.0,"imbalance":0.68575,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.325738},"context":{"vwap":7.192469,"price_vs_vwap_pct":0.591332,"ema9":7.209739,"ema20":7.204587,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":2.113971,"atr":0.021287,"spread_atr":0.469771,"own_change_pct":0.319139,"rel_strength_pct":{"SPY":0.329468,"IWM":0.315786}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.544176},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"dfafdf8a6d1e","ts":"2026-08-28T15:23:10+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.1589,"target":13.51,"target_label":"ceiling","reward_risk":1.58,"pos_in_5d_range_pct":16.0,"room_to_5d_high_atr":1.44},"price":13.295,"vwap":13.2709,"ext_from_open_pct":-1.74,"max_ext_allowed_pct":3.0,"volume_pace":1.304,"trend":"flat","recent_slope_pct":0.064,"volatility":"medium"},"price":13.295,"volume":{"bars":113,"last_bar_volume":18443.0,"baseline_avg":21581.9,"bar_rvol":0.854559,"raw_accel":-0.026703,"smooth_accel":0.035621,"accel_momentum":0.407041,"rvol_3bar":[0.315209,0.826945,0.854559],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":3479.0,"sell_vol":2805.0,"unclassified_vol":0.0,"imbalance":0.107257,"bid":13.29,"ask":13.3,"spread_pct":0.075216,"quote_size_imbalance":null,"quote_age_s":0.190136},"context":{"vwap":13.270915,"price_vs_vwap_pct":0.181486,"ema9":13.269119,"ema20":13.280539,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.954277,"dist_to_hod_atr":4.54652,"atr":0.058286,"spread_atr":0.171567,"own_change_pct":0.264151,"rel_strength_pct":{"SPY":0.27448,"IWM":0.260798}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.091657},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"87f908e3f251","ts":"2026-08-28T15:23:15+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 215.0s, plan says WATCH; stop 7.16, target 7.39 (prev_day_high), R:R 1.67; R:R 1.67 < 2.0 at 7.25; breakout: 1-min close > 7.29 on >= 74659 sh","plan":{"state":"WATCH","setup":"","stop":7.158,"target":7.39,"target_label":"prev_day_high","reward_risk":1.67,"pos_in_5d_range_pct":71.6,"room_to_5d_high_atr":0.45},"price":7.245,"vwap":7.1928,"ext_from_open_pct":0.91,"max_ext_allowed_pct":4.0,"volume_pace":0.707,"trend":"flat","recent_slope_pct":0.173,"volatility":"medium"},"price":7.245,"volume":{"bars":113,"last_bar_volume":49969.0,"baseline_avg":62969.05,"bar_rvol":0.793549,"raw_accel":0.052622,"smooth_accel":-0.589522,"accel_momentum":-0.962833,"rvol_3bar":[0.222177,0.764431,0.793549],"trend_3bar":"ACCELERATING","projected_rvol":2.732771},"flow":{"window_s":30,"trades":123,"trade_rate":4.1,"buy_vol":43406.0,"sell_vol":7176.0,"unclassified_vol":0.0,"imbalance":0.716263,"bid":7.24,"ask":7.25,"spread_pct":0.138026,"quote_size_imbalance":null,"quote_age_s":0.04287},"context":{"vwap":7.192469,"price_vs_vwap_pct":0.730366,"ema9":7.209739,"ema20":7.204587,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.480769,"dist_to_hod_atr":1.6442,"atr":0.021287,"spread_atr":0.469771,"own_change_pct":0.319139,"rel_strength_pct":{"SPY":0.329468,"IWM":0.315786}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.568389},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"57b223186d39","ts":"2026-08-28T15:23:15+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.55 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3773,"target":9.73,"target_label":"premarket_high","reward_risk":1.01,"pos_in_5d_range_pct":51.7,"room_to_5d_high_atr":1.0},"price":9.5526,"vwap":9.5591,"ext_from_open_pct":-0.7,"max_ext_allowed_pct":3.0,"volume_pace":1.097,"trend":"flat","recent_slope_pct":0.0171,"volatility":"high"},"price":9.5526,"volume":{"bars":113,"last_bar_volume":158844.0,"baseline_avg":101794.05,"bar_rvol":1.560445,"raw_accel":1.866237,"smooth_accel":0.583256,"accel_momentum":0.229853,"rvol_3bar":[0.516088,0.515756,1.560445],"trend_3bar":"MIXED","projected_rvol":1.547792},"flow":{"window_s":30,"trades":197,"trade_rate":6.566667,"buy_vol":63688.0,"sell_vol":34071.0,"unclassified_vol":0.0,"imbalance":0.302959,"bid":9.61,"ask":9.62,"spread_pct":0.104004,"quote_size_imbalance":null,"quote_age_s":0.052327},"context":{"vwap":9.559046,"price_vs_vwap_pct":-0.067433,"ema9":9.557385,"ema20":9.550842,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.920732,"dist_to_hod_atr":7.014309,"atr":0.040973,"spread_atr":0.244061,"own_change_pct":0.536406,"rel_strength_pct":{"SPY":0.546735,"IWM":0.533054}},"vas":{"raw":6,"score":8.1,"components":{"rvol":1,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.472751},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"41db8378333d","ts":"2026-08-28T15:23:20+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3838,"target":5.49,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.12},"price":5.435,"vwap":5.4367,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":3.0,"volume_pace":1.795,"trend":"flat","recent_slope_pct":-0.0692,"volatility":"medium"},"price":5.435,"volume":{"bars":113,"last_bar_volume":20157.0,"baseline_avg":118789.65,"bar_rvol":0.169687,"raw_accel":-0.798119,"smooth_accel":0.219325,"accel_momentum":-4.74858,"rvol_3bar":[1.156814,0.862275,0.169687],"trend_3bar":"DECELERATING","projected_rvol":3.704742},"flow":{"window_s":30,"trades":136,"trade_rate":4.533333,"buy_vol":65283.0,"sell_vol":81965.0,"unclassified_vol":0.0,"imbalance":-0.113292,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":2.244609},"context":{"vwap":5.436669,"price_vs_vwap_pct":-0.030706,"ema9":5.442436,"ema20":5.439702,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.001821,"dist_to_hod_atr":3.894186,"atr":0.014124,"spread_atr":0.708034,"own_change_pct":0.134315,"rel_strength_pct":{"SPY":0.144644,"IWM":0.130962}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.019224},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"ecaaf921e181","ts":"2026-08-28T15:23:20+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"held 150.0s, plan says WATCH; stop 6.99, target 7.18 (ceiling), R:R 0.99; R:R 0.99 < 2.0 at 7.08; pullback: buy 7.05-7.08 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":6.9893,"target":7.18,"target_label":"ceiling","reward_risk":0.99,"pos_in_5d_range_pct":0.7,"room_to_5d_high_atr":1.8},"price":7.085,"vwap":7.0595,"ext_from_open_pct":-0.77,"max_ext_allowed_pct":4.0,"volume_pace":1.43,"trend":"flat","recent_slope_pct":0.099,"volatility":"medium"},"price":7.085,"volume":{"bars":113,"last_bar_volume":105999.0,"baseline_avg":43409.9,"bar_rvol":2.441816,"raw_accel":1.118539,"smooth_accel":0.279629,"accel_momentum":0.183145,"rvol_3bar":[1.110542,1.17988,2.441816],"trend_3bar":"ACCELERATING","projected_rvol":1.864897},"flow":{"window_s":30,"trades":75,"trade_rate":2.5,"buy_vol":22438.0,"sell_vol":4847.0,"unclassified_vol":0.0,"imbalance":0.644713,"bid":7.08,"ask":7.09,"spread_pct":0.141143,"quote_size_imbalance":null,"quote_age_s":0.050886},"context":{"vwap":7.05946,"price_vs_vwap_pct":0.361784,"ema9":7.060166,"ema20":7.053492,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.32312,"dist_to_hod_atr":4.66567,"atr":0.020361,"spread_atr":0.491123,"own_change_pct":0.20111,"rel_strength_pct":{"SPY":0.211439,"IWM":0.197757}},"vas":{"raw":6,"score":8.1,"components":{"rvol":2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.574271},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2dcbaf291225","ts":"2026-08-28T15:23:20+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.4397,"target":9.73,"target_label":"premarket_high","reward_risk":0.66,"pos_in_5d_range_pct":56.0,"room_to_5d_high_atr":0.91},"price":9.615,"vwap":9.5592,"ext_from_open_pct":-0.05,"max_ext_allowed_pct":3.0,"volume_pace":1.097,"trend":"flat","recent_slope_pct":0.1474,"volatility":"high"},"price":9.615,"volume":{"bars":113,"last_bar_volume":158844.0,"baseline_avg":101794.05,"bar_rvol":1.560445,"raw_accel":1.866237,"smooth_accel":0.583256,"accel_momentum":0.229853,"rvol_3bar":[0.516088,0.515756,1.560445],"trend_3bar":"MIXED","projected_rvol":1.523959},"flow":{"window_s":30,"trades":74,"trade_rate":2.466667,"buy_vol":53806.0,"sell_vol":28520.0,"unclassified_vol":0.0,"imbalance":0.307145,"bid":9.61,"ask":9.62,"spread_pct":0.104004,"quote_size_imbalance":null,"quote_age_s":0.441704},"context":{"vwap":9.559046,"price_vs_vwap_pct":0.585352,"ema9":9.557385,"ema20":9.550842,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.286585,"dist_to_hod_atr":5.491369,"atr":0.040973,"spread_atr":0.244061,"own_change_pct":0.536406,"rel_strength_pct":{"SPY":0.546735,"IWM":0.533054}},"vas":{"raw":6,"score":8.1,"components":{"rvol":1,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.479282},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b523b73255f5","ts":"2026-08-28T15:23:25+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3891,"target":5.49,"target_label":"ceiling","reward_risk":0.97,"pos_in_5d_range_pct":94.2,"room_to_5d_high_atr":0.1},"price":5.4403,"vwap":5.4367,"ext_from_open_pct":-0.54,"max_ext_allowed_pct":3.0,"volume_pace":1.794,"trend":"flat","recent_slope_pct":-0.0498,"volatility":"medium"},"price":5.4403,"volume":{"bars":113,"last_bar_volume":20157.0,"baseline_avg":118789.65,"bar_rvol":0.169687,"raw_accel":-0.798119,"smooth_accel":0.219325,"accel_momentum":-4.74858,"rvol_3bar":[1.156814,0.862275,0.169687],"trend_3bar":"DECELERATING","projected_rvol":2.967834},"flow":{"window_s":30,"trades":136,"trade_rate":4.533333,"buy_vol":65483.0,"sell_vol":81912.0,"unclassified_vol":0.0,"imbalance":-0.111462,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":3.828581},"context":{"vwap":5.436669,"price_vs_vwap_pct":0.06678,"ema9":5.442436,"ema20":5.439702,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.905282,"dist_to_hod_atr":3.518928,"atr":0.014124,"spread_atr":0.708034,"own_change_pct":0.134315,"rel_strength_pct":{"SPY":0.144644,"IWM":0.130962}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.018914},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"1565c0d9d8e4","ts":"2026-08-28T15:23:30+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3827,"target":5.49,"target_label":"ceiling","reward_risk":1.1,"pos_in_5d_range_pct":92.3,"room_to_5d_high_atr":0.13},"price":5.4339,"vwap":5.4367,"ext_from_open_pct":-0.66,"max_ext_allowed_pct":3.0,"volume_pace":1.792,"trend":"flat","recent_slope_pct":-0.0733,"volatility":"medium"},"price":5.4339,"volume":{"bars":113,"last_bar_volume":20157.0,"baseline_avg":118789.65,"bar_rvol":0.169687,"raw_accel":-0.798119,"smooth_accel":0.219325,"accel_momentum":-4.74858,"rvol_3bar":[1.156814,0.862275,0.169687],"trend_3bar":"DECELERATING","projected_rvol":2.484594},"flow":{"window_s":30,"trades":140,"trade_rate":4.666667,"buy_vol":65483.0,"sell_vol":82089.0,"unclassified_vol":0.0,"imbalance":-0.112528,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.000876},"context":{"vwap":5.436669,"price_vs_vwap_pct":-0.050939,"ema9":5.442436,"ema20":5.439702,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.021858,"dist_to_hod_atr":3.972069,"atr":0.014124,"spread_atr":0.708034,"own_change_pct":0.134315,"rel_strength_pct":{"SPY":0.144644,"IWM":0.130962}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.019095},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"e1790abcc891","ts":"2026-08-28T15:23:35+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3889,"target":5.49,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":94.1,"room_to_5d_high_atr":0.1},"price":5.4401,"vwap":5.4367,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":1.791,"trend":"flat","recent_slope_pct":-0.0505,"volatility":"medium"},"price":5.4401,"volume":{"bars":113,"last_bar_volume":20157.0,"baseline_avg":118789.65,"bar_rvol":0.169687,"raw_accel":-0.798119,"smooth_accel":0.219325,"accel_momentum":-4.74858,"rvol_3bar":[1.156814,0.862275,0.169687],"trend_3bar":"DECELERATING","projected_rvol":2.14733},"flow":{"window_s":30,"trades":139,"trade_rate":4.633333,"buy_vol":60658.0,"sell_vol":82287.0,"unclassified_vol":0.0,"imbalance":-0.15131,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":3.901564},"context":{"vwap":5.436669,"price_vs_vwap_pct":0.063101,"ema9":5.442436,"ema20":5.439702,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.908925,"dist_to_hod_atr":3.533088,"atr":0.014124,"spread_atr":0.708034,"own_change_pct":0.134315,"rel_strength_pct":{"SPY":0.144644,"IWM":0.130962}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.025675},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"c839ec7722cb","ts":"2026-08-28T15:23:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.8% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.517,"ext_from_open_pct":3.83,"max_ext_allowed_pct":3.0,"volume_pace":0.908,"trend":"flat","recent_slope_pct":0.036,"volatility":"medium"},"price":5.555,"volume":{"bars":113,"last_bar_volume":11743.0,"baseline_avg":45974.05,"bar_rvol":0.255427,"raw_accel":0.009716,"smooth_accel":-0.653038,"accel_momentum":-0.036997,"rvol_3bar":[0.50911,0.226625,0.255427],"trend_3bar":"MIXED","projected_rvol":0.567227},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":3325.0,"sell_vol":11626.0,"unclassified_vol":0.0,"imbalance":-0.555214,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.213404},"context":{"vwap":5.516937,"price_vs_vwap_pct":0.689937,"ema9":5.55569,"ema20":5.555173,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.626118,"dist_to_hod_atr":1.610133,"atr":0.021737,"spread_atr":0.460038,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.010329,"IWM":-0.003353}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.141816},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"400319dc13dc","ts":"2026-08-28T15:23:40+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3838,"target":5.49,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.12},"price":5.435,"vwap":5.4367,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":3.0,"volume_pace":1.79,"trend":"flat","recent_slope_pct":-0.0692,"volatility":"medium"},"price":5.435,"volume":{"bars":113,"last_bar_volume":20157.0,"baseline_avg":118789.65,"bar_rvol":0.169687,"raw_accel":-0.798119,"smooth_accel":0.219325,"accel_momentum":-4.74858,"rvol_3bar":[1.156814,0.862275,0.169687],"trend_3bar":"DECELERATING","projected_rvol":1.879785},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":1247.0,"sell_vol":4291.0,"unclassified_vol":0.0,"imbalance":-0.549657,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":8.901564},"context":{"vwap":5.436669,"price_vs_vwap_pct":-0.030706,"ema9":5.442436,"ema20":5.439702,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.001821,"dist_to_hod_atr":3.894186,"atr":0.014124,"spread_atr":0.708034,"own_change_pct":0.134315,"rel_strength_pct":{"SPY":0.144644,"IWM":0.130962}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.093269},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"76aa02f28ddf","ts":"2026-08-28T15:23:45+00:00","symbol":"STLA","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.3887,"target":5.49,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":94.1,"room_to_5d_high_atr":0.1},"price":5.4399,"vwap":5.4367,"ext_from_open_pct":-0.55,"max_ext_allowed_pct":3.0,"volume_pace":1.789,"trend":"flat","recent_slope_pct":-0.0512,"volatility":"medium"},"price":5.4399,"volume":{"bars":113,"last_bar_volume":20157.0,"baseline_avg":118789.65,"bar_rvol":0.169687,"raw_accel":-0.798119,"smooth_accel":0.219325,"accel_momentum":-4.74858,"rvol_3bar":[1.156814,0.862275,0.169687],"trend_3bar":"DECELERATING","projected_rvol":1.673378},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":1249.0,"sell_vol":1298.0,"unclassified_vol":0.0,"imbalance":-0.019238,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.060584},"context":{"vwap":5.436669,"price_vs_vwap_pct":0.059422,"ema9":5.442436,"ema20":5.439702,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-0.912568,"dist_to_hod_atr":3.547249,"atr":0.014124,"spread_atr":0.708034,"own_change_pct":0.134315,"rel_strength_pct":{"SPY":0.144644,"IWM":0.130962}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.003264},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"3f7e80f91ef9","ts":"2026-08-28T15:23:45+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"held 175.0s, plan says PASS; stop 6.97, target 7.18 (ceiling), R:R 1.17; target 0.11 away > ~0.09 reachable in 271 min","plan":{"state":"PASS","setup":"","stop":6.972,"target":7.18,"target_label":"ceiling","reward_risk":1.17,"pos_in_5d_range_pct":-1.8,"room_to_5d_high_atr":1.85},"price":7.0677,"vwap":7.0596,"ext_from_open_pct":-1.01,"max_ext_allowed_pct":3.0,"volume_pace":1.436,"trend":"flat","recent_slope_pct":0.0501,"volatility":"medium"},"price":7.0677,"volume":{"bars":113,"last_bar_volume":105999.0,"baseline_avg":43409.9,"bar_rvol":2.441816,"raw_accel":1.118539,"smooth_accel":0.279629,"accel_momentum":0.183145,"rvol_3bar":[1.110542,1.17988,2.441816],"trend_3bar":"ACCELERATING","projected_rvol":2.369076},"flow":{"window_s":30,"trades":99,"trade_rate":3.3,"buy_vol":14242.0,"sell_vol":37101.0,"unclassified_vol":0.0,"imbalance":-0.445221,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":1.416209},"context":{"vwap":7.05946,"price_vs_vwap_pct":0.116723,"ema9":7.060166,"ema20":7.053492,"ema_stack":true,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.564067,"dist_to_hod_atr":5.515313,"atr":0.020361,"spread_atr":0.491123,"own_change_pct":0.20111,"rel_strength_pct":{"SPY":0.211439,"IWM":0.197757}},"vas":{"raw":2,"score":5.6,"components":{"rvol":2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.087149},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"61068653f28d","ts":"2026-08-28T15:23:45+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.27 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1339,"target":13.51,"target_label":"ceiling","reward_risk":1.76,"pos_in_5d_range_pct":13.4,"room_to_5d_high_atr":1.49},"price":13.27,"vwap":13.2709,"ext_from_open_pct":-1.92,"max_ext_allowed_pct":3.0,"volume_pace":1.301,"trend":"flat","recent_slope_pct":0.0264,"volatility":"medium"},"price":13.27,"volume":{"bars":113,"last_bar_volume":18443.0,"baseline_avg":21581.9,"bar_rvol":0.854559,"raw_accel":-0.026703,"smooth_accel":0.035621,"accel_momentum":0.407041,"rvol_3bar":[0.315209,0.826945,0.854559],"trend_3bar":"ACCELERATING","projected_rvol":0.706827},"flow":{"window_s":30,"trades":39,"trade_rate":1.3,"buy_vol":4415.0,"sell_vol":3930.0,"unclassified_vol":0.0,"imbalance":0.058119,"bid":13.26,"ask":13.27,"spread_pct":0.075386,"quote_size_imbalance":null,"quote_age_s":0.076614},"context":{"vwap":13.270915,"price_vs_vwap_pct":-0.006896,"ema9":13.269119,"ema20":13.280539,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.138643,"dist_to_hod_atr":4.975437,"atr":0.058286,"spread_atr":0.171567,"own_change_pct":0.264151,"rel_strength_pct":{"SPY":0.27448,"IWM":0.260798}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.049666},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b036e9d79ee3","ts":"2026-08-28T15:23:50+00:00","symbol":"STLA","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.43 below VWAP $5.44","plan":{"state":"PASS","setup":"","stop":5.3838,"target":5.49,"target_label":"ceiling","reward_risk":1.08,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.12},"price":5.435,"vwap":5.4367,"ext_from_open_pct":-0.64,"max_ext_allowed_pct":3.0,"volume_pace":1.788,"trend":"flat","recent_slope_pct":-0.0692,"volatility":"medium"},"price":5.435,"volume":{"bars":113,"last_bar_volume":20157.0,"baseline_avg":118789.65,"bar_rvol":0.169687,"raw_accel":-0.798119,"smooth_accel":0.219325,"accel_momentum":-4.74858,"rvol_3bar":[1.156814,0.862275,0.169687],"trend_3bar":"DECELERATING","projected_rvol":1.538801},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":1849.0,"sell_vol":3784.0,"unclassified_vol":0.0,"imbalance":-0.343511,"bid":5.43,"ask":5.44,"spread_pct":0.183993,"quote_size_imbalance":null,"quote_age_s":0.196816},"context":{"vwap":5.436669,"price_vs_vwap_pct":-0.030706,"ema9":5.442436,"ema20":5.439702,"ema_stack":false,"ema_warm":true,"hod":5.49,"dist_to_hod_pct":-1.001821,"dist_to_hod_atr":3.894186,"atr":0.014124,"spread_atr":0.708034,"own_change_pct":0.134315,"rel_strength_pct":{"SPY":0.144644,"IWM":0.130962}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.058289},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"d2ce9468c824","ts":"2026-08-28T15:24:00+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.1383,"target":13.51,"target_label":"ceiling","reward_risk":1.73,"pos_in_5d_range_pct":13.8,"room_to_5d_high_atr":1.48},"price":13.2744,"vwap":13.2709,"ext_from_open_pct":-1.89,"max_ext_allowed_pct":4.0,"volume_pace":1.3,"trend":"flat","recent_slope_pct":0.033,"volatility":"medium"},"price":13.2744,"volume":{"bars":113,"last_bar_volume":18443.0,"baseline_avg":21581.9,"bar_rvol":0.854559,"raw_accel":-0.026703,"smooth_accel":0.035621,"accel_momentum":0.407041,"rvol_3bar":[0.315209,0.826945,0.854559],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":11207.0,"sell_vol":3425.0,"unclassified_vol":0.0,"imbalance":0.531848,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.002545},"context":{"vwap":13.270915,"price_vs_vwap_pct":0.026259,"ema9":13.269119,"ema20":13.280539,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.106195,"dist_to_hod_atr":4.899947,"atr":0.058286,"spread_atr":0.171567,"own_change_pct":0.264151,"rel_strength_pct":{"SPY":0.194408,"IWM":0.270858}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-1,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.454495},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6f5b9417fbc0","ts":"2026-08-28T15:24:05+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.25 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1185,"target":13.51,"target_label":"ceiling","reward_risk":1.88,"pos_in_5d_range_pct":11.7,"room_to_5d_high_atr":1.52},"price":13.2546,"vwap":13.2709,"ext_from_open_pct":-2.04,"max_ext_allowed_pct":4.0,"volume_pace":1.299,"trend":"flat","recent_slope_pct":-0.0312,"volatility":"medium"},"price":13.2546,"volume":{"bars":114,"last_bar_volume":19565.0,"baseline_avg":21898.95,"bar_rvol":0.893422,"raw_accel":0.060836,"smooth_accel":0.948314,"accel_momentum":0.912692,"rvol_3bar":[0.826945,0.854559,0.893422],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":11598.0,"sell_vol":3573.0,"unclassified_vol":0.0,"imbalance":0.52897,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.129243},"context":{"vwap":13.27093,"price_vs_vwap_pct":-0.123053,"ema9":13.270175,"ema20":13.279954,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.252212,"dist_to_hod_atr":5.353719,"atr":0.057044,"spread_atr":0.175302,"own_change_pct":0.257547,"rel_strength_pct":{"SPY":0.187804,"IWM":0.264254}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.472593},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9f457567bb08","ts":"2026-08-28T15:24:10+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 270.0s, plan says PASS; stop 7.12, target 7.25 (premarket_high), R:R 0.47; R:R 0.47 < 2.0 at 7.21; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.1221,"target":7.25,"target_label":"premarket_high","reward_risk":0.47,"pos_in_5d_range_pct":65.0,"room_to_5d_high_atr":0.55},"price":7.2091,"vwap":7.193,"ext_from_open_pct":0.41,"max_ext_allowed_pct":3.0,"volume_pace":0.706,"trend":"flat","recent_slope_pct":0.0529,"volatility":"medium"},"price":7.2091,"volume":{"bars":114,"last_bar_volume":77238.0,"baseline_avg":60413.6,"bar_rvol":1.278487,"raw_accel":0.545718,"smooth_accel":-0.191399,"accel_momentum":0.398122,"rvol_3bar":[0.764431,0.793549,1.278487],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":6953.0,"sell_vol":13788.0,"unclassified_vol":0.0,"imbalance":-0.329541,"bid":7.24,"ask":7.25,"spread_pct":0.138026,"quote_size_imbalance":null,"quote_age_s":1.477438},"context":{"vwap":7.193,"price_vs_vwap_pct":0.223834,"ema9":7.216791,"ema20":7.208436,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.973901,"dist_to_hod_atr":3.065185,"atr":0.023131,"spread_atr":0.432325,"own_change_pct":0.625,"rel_strength_pct":{"SPY":0.555257,"IWM":0.631707}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":0,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.421313},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"80be91b5c8a4","ts":"2026-08-28T15:24:10+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.1389,"target":13.51,"target_label":"ceiling","reward_risk":1.73,"pos_in_5d_range_pct":13.9,"room_to_5d_high_atr":1.48},"price":13.275,"vwap":13.2709,"ext_from_open_pct":-1.88,"max_ext_allowed_pct":4.0,"volume_pace":1.3,"trend":"flat","recent_slope_pct":-0.0005,"volatility":"medium"},"price":13.275,"volume":{"bars":114,"last_bar_volume":19565.0,"baseline_avg":21898.95,"bar_rvol":0.893422,"raw_accel":0.060836,"smooth_accel":0.948314,"accel_momentum":0.912692,"rvol_3bar":[0.826945,0.854559,0.893422],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":77,"trade_rate":2.566667,"buy_vol":11958.0,"sell_vol":4903.0,"unclassified_vol":0.0,"imbalance":0.418421,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.333455},"context":{"vwap":13.27093,"price_vs_vwap_pct":0.030667,"ema9":13.270175,"ema20":13.279954,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.10177,"dist_to_hod_atr":4.996103,"atr":0.057044,"spread_atr":0.175302,"own_change_pct":0.257547,"rel_strength_pct":{"SPY":0.187804,"IWM":0.264254}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.373827},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"1ea0fde12f39","ts":"2026-08-28T15:24:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.517,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.904,"trend":"flat","recent_slope_pct":0.0187,"volatility":"medium"},"price":5.56,"volume":{"bars":114,"last_bar_volume":20839.0,"baseline_avg":45731.15,"bar_rvol":0.455685,"raw_accel":0.774589,"smooth_accel":-0.61939,"accel_momentum":0.033648,"rvol_3bar":[0.226625,0.255427,0.455685],"trend_3bar":"ACCELERATING","projected_rvol":0.313222},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":4112.0,"sell_vol":3812.0,"unclassified_vol":0.0,"imbalance":0.03786,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":3.967798},"context":{"vwap":5.51703,"price_vs_vwap_pct":0.778853,"ema9":5.554632,"ema20":5.554719,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.422835,"atr":0.021085,"spread_atr":0.474278,"own_change_pct":0.097385,"rel_strength_pct":{"SPY":0.027642,"IWM":0.104092}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.017252},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"963e1ad7b266","ts":"2026-08-28T15:24:15+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 275.0s, plan says WATCH; stop 7.16, target 7.39 (prev_day_high), R:R 1.63; R:R 1.63 < 2.0 at 7.25; breakout: 1-min close > 7.29 on >= 75892 sh","plan":{"state":"WATCH","setup":"","stop":7.1616,"target":7.39,"target_label":"prev_day_high","reward_risk":1.63,"pos_in_5d_range_pct":72.2,"room_to_5d_high_atr":0.44},"price":7.2486,"vwap":7.193,"ext_from_open_pct":0.96,"max_ext_allowed_pct":3.0,"volume_pace":0.706,"trend":"flat","recent_slope_pct":0.1621,"volatility":"medium"},"price":7.2486,"volume":{"bars":114,"last_bar_volume":77238.0,"baseline_avg":60413.6,"bar_rvol":1.278487,"raw_accel":0.545718,"smooth_accel":-0.191399,"accel_momentum":0.398122,"rvol_3bar":[0.764431,0.793549,1.278487],"trend_3bar":"ACCELERATING","projected_rvol":0.177907},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":7566.0,"sell_vol":13592.0,"unclassified_vol":0.0,"imbalance":-0.28481,"bid":7.24,"ask":7.25,"spread_pct":0.138026,"quote_size_imbalance":null,"quote_age_s":6.477438},"context":{"vwap":7.193,"price_vs_vwap_pct":0.772979,"ema9":7.216791,"ema20":7.208436,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.431319,"dist_to_hod_atr":1.357501,"atr":0.023131,"spread_atr":0.432325,"own_change_pct":0.625,"rel_strength_pct":{"SPY":0.555257,"IWM":0.631707}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":-1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.364125},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"99adec84c8ef","ts":"2026-08-28T15:24:15+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.27 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1289,"target":13.51,"target_label":"ceiling","reward_risk":1.8,"pos_in_5d_range_pct":12.8,"room_to_5d_high_atr":1.5},"price":13.265,"vwap":13.2709,"ext_from_open_pct":-1.96,"max_ext_allowed_pct":3.0,"volume_pace":1.3,"trend":"flat","recent_slope_pct":-0.0155,"volatility":"medium"},"price":13.265,"volume":{"bars":114,"last_bar_volume":19565.0,"baseline_avg":21898.95,"bar_rvol":0.893422,"raw_accel":0.060836,"smooth_accel":0.948314,"accel_momentum":0.912692,"rvol_3bar":[0.826945,0.854559,0.893422],"trend_3bar":"ACCELERATING","projected_rvol":1.587108},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":10631.0,"sell_vol":6182.0,"unclassified_vol":0.0,"imbalance":0.264617,"bid":13.26,"ask":13.27,"spread_pct":0.075386,"quote_size_imbalance":null,"quote_age_s":0.111122},"context":{"vwap":13.27093,"price_vs_vwap_pct":-0.044686,"ema9":13.270175,"ema20":13.279954,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.175516,"dist_to_hod_atr":5.171405,"atr":0.057044,"spread_atr":0.175302,"own_change_pct":0.257547,"rel_strength_pct":{"SPY":0.187804,"IWM":0.264254}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.236414},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4792e9c5b602","ts":"2026-08-28T15:24:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.517,"ext_from_open_pct":3.93,"max_ext_allowed_pct":3.0,"volume_pace":0.903,"trend":"flat","recent_slope_pct":0.0187,"volatility":"medium"},"price":5.56,"volume":{"bars":114,"last_bar_volume":20839.0,"baseline_avg":45731.15,"bar_rvol":0.455685,"raw_accel":0.774589,"smooth_accel":-0.61939,"accel_momentum":0.033648,"rvol_3bar":[0.226625,0.255427,0.455685],"trend_3bar":"ACCELERATING","projected_rvol":0.265158},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":3009.0,"sell_vol":3066.0,"unclassified_vol":0.0,"imbalance":-0.009383,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":8.967798},"context":{"vwap":5.51703,"price_vs_vwap_pct":0.778853,"ema9":5.554632,"ema20":5.554719,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.422835,"atr":0.021085,"spread_atr":0.474278,"own_change_pct":0.097385,"rel_strength_pct":{"SPY":0.027642,"IWM":0.104092}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.004276},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7cc81750fd2e","ts":"2026-08-28T15:24:30+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5171,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.903,"trend":"flat","recent_slope_pct":0.0187,"volatility":"medium"},"price":5.56,"volume":{"bars":114,"last_bar_volume":20839.0,"baseline_avg":45731.15,"bar_rvol":0.455685,"raw_accel":0.774589,"smooth_accel":-0.61939,"accel_momentum":0.033648,"rvol_3bar":[0.226625,0.255427,0.455685],"trend_3bar":"ACCELERATING","projected_rvol":0.574576},"flow":{"window_s":30,"trades":86,"trade_rate":2.866667,"buy_vol":10623.0,"sell_vol":2515.0,"unclassified_vol":0.0,"imbalance":0.617141,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.000481},"context":{"vwap":5.51703,"price_vs_vwap_pct":0.778853,"ema9":5.554632,"ema20":5.554719,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.422835,"atr":0.021085,"spread_atr":0.474278,"own_change_pct":0.097385,"rel_strength_pct":{"SPY":0.027642,"IWM":0.104092}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.281222},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9dd974e1794a","ts":"2026-08-28T15:24:30+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.1389,"target":13.51,"target_label":"ceiling","reward_risk":1.73,"pos_in_5d_range_pct":13.9,"room_to_5d_high_atr":1.48},"price":13.275,"vwap":13.2709,"ext_from_open_pct":-1.88,"max_ext_allowed_pct":3.0,"volume_pace":1.297,"trend":"flat","recent_slope_pct":-0.0005,"volatility":"medium"},"price":13.275,"volume":{"bars":114,"last_bar_volume":19565.0,"baseline_avg":21898.95,"bar_rvol":0.893422,"raw_accel":0.060836,"smooth_accel":0.948314,"accel_momentum":0.912692,"rvol_3bar":[0.826945,0.854559,0.893422],"trend_3bar":"ACCELERATING","projected_rvol":0.930273},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":4693.0,"sell_vol":5493.0,"unclassified_vol":0.0,"imbalance":-0.078539,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.002533},"context":{"vwap":13.27093,"price_vs_vwap_pct":0.030667,"ema9":13.270175,"ema20":13.279954,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.10177,"dist_to_hod_atr":4.996103,"atr":0.057044,"spread_atr":0.175302,"own_change_pct":0.257547,"rel_strength_pct":{"SPY":0.187804,"IWM":0.264254}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.070169},"shadow":{"decision":"FAIL","failed":["imbalance","bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d9a07e044b3e","ts":"2026-08-28T15:24:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.2% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4996,"target":6.0,"target_label":"range_20d_high","reward_risk":5.63,"pos_in_5d_range_pct":51.1,"room_to_5d_high_atr":1.41},"price":5.575,"vwap":5.518,"ext_from_open_pct":4.21,"max_ext_allowed_pct":4.0,"volume_pace":0.918,"trend":"flat","recent_slope_pct":0.0727,"volatility":"medium"},"price":5.575,"volume":{"bars":114,"last_bar_volume":20839.0,"baseline_avg":45731.15,"bar_rvol":0.455685,"raw_accel":0.774589,"smooth_accel":-0.61939,"accel_momentum":0.033648,"rvol_3bar":[0.226625,0.255427,0.455685],"trend_3bar":"ACCELERATING","projected_rvol":5.734522},"flow":{"window_s":30,"trades":339,"trade_rate":11.3,"buy_vol":148693.0,"sell_vol":2674.0,"unclassified_vol":0.0,"imbalance":0.964669,"bid":5.57,"ask":5.58,"spread_pct":0.179372,"quote_size_imbalance":null,"quote_age_s":3.523215},"context":{"vwap":5.51703,"price_vs_vwap_pct":1.050738,"ema9":5.554632,"ema20":5.554719,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.268336,"dist_to_hod_atr":0.711418,"atr":0.021085,"spread_atr":0.474278,"own_change_pct":0.097385,"rel_strength_pct":{"SPY":0.027642,"IWM":0.104092}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.439585},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5bcee1f2390b","ts":"2026-08-28T15:24:35+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":14.3797,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.38,"pos_in_5d_range_pct":95.3,"room_to_5d_high_atr":0.1},"price":14.755,"vwap":14.6823,"ext_from_open_pct":1.76,"max_ext_allowed_pct":3.0,"volume_pace":1.709,"trend":"flat","recent_slope_pct":0.2656,"volatility":"high"},"price":14.755,"volume":{"bars":114,"last_bar_volume":886.0,"baseline_avg":1415.15,"bar_rvol":0.626082,"raw_accel":-0.532454,"smooth_accel":-0.394644,"accel_momentum":0.190143,"rvol_3bar":[0.46764,1.396411,0.626082],"trend_3bar":"MIXED","projected_rvol":1.508169},"flow":{"window_s":30,"trades":7,"trade_rate":0.233333,"buy_vol":1130.0,"sell_vol":10.0,"unclassified_vol":0.0,"imbalance":0.982456,"bid":14.71,"ask":14.8,"spread_pct":0.609963,"quote_size_imbalance":null,"quote_age_s":5.001127},"context":{"vwap":14.682093,"price_vs_vwap_pct":0.496573,"ema9":14.65076,"ema20":14.631806,"ema_stack":true,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.559538,"dist_to_hod_atr":7.680423,"atr":0.091779,"spread_atr":0.980619,"own_change_pct":1.304945,"rel_strength_pct":{"SPY":1.235202,"IWM":1.311652}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.615098},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"768b9ad5d7c2","ts":"2026-08-28T15:24:45+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.15,"target":14.8698,"target_label":"premarket_high","reward_risk":0.8,"pos_in_5d_range_pct":82.2,"room_to_5d_high_atr":0.48},"price":14.55,"vwap":14.5086,"ext_from_open_pct":0.55,"max_ext_allowed_pct":4.0,"volume_pace":0.755,"trend":"flat","recent_slope_pct":0.076,"volatility":"high"},"price":14.55,"volume":{"bars":113,"last_bar_volume":286.0,"baseline_avg":722.1,"bar_rvol":0.396067,"raw_accel":0.35545,"smooth_accel":-0.731065,"accel_momentum":-0.145678,"rvol_3bar":[0.234189,0.295953,0.396067],"trend_3bar":"ACCELERATING","projected_rvol":1.34792},"flow":{"window_s":30,"trades":18,"trade_rate":0.6,"buy_vol":385.0,"sell_vol":211.0,"unclassified_vol":0.0,"imbalance":0.291946,"bid":14.37,"ask":14.57,"spread_pct":1.38217,"quote_size_imbalance":null,"quote_age_s":23.230236},"context":{"vwap":14.508703,"price_vs_vwap_pct":0.284639,"ema9":14.426656,"ema20":14.39061,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-4.527559,"dist_to_hod_atr":4.73703,"atr":0.145661,"spread_atr":1.373052,"own_change_pct":0.2079,"rel_strength_pct":{"SPY":0.138157,"IWM":0.214607}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.11563},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4d8541a312f6","ts":"2026-08-28T15:24:55+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.26 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.122,"target":13.51,"target_label":"ceiling","reward_risk":1.85,"pos_in_5d_range_pct":12.1,"room_to_5d_high_atr":1.51},"price":13.2581,"vwap":13.2709,"ext_from_open_pct":-2.01,"max_ext_allowed_pct":4.0,"volume_pace":1.294,"trend":"flat","recent_slope_pct":-0.0259,"volatility":"medium"},"price":13.2581,"volume":{"bars":114,"last_bar_volume":19565.0,"baseline_avg":21898.95,"bar_rvol":0.893422,"raw_accel":0.060836,"smooth_accel":0.948314,"accel_momentum":0.912692,"rvol_3bar":[0.826945,0.854559,0.893422],"trend_3bar":"ACCELERATING","projected_rvol":0.75087},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":4893.0,"sell_vol":858.0,"unclassified_vol":0.0,"imbalance":0.701617,"bid":13.28,"ask":13.29,"spread_pct":0.075273,"quote_size_imbalance":null,"quote_age_s":0.098832},"context":{"vwap":13.27093,"price_vs_vwap_pct":-0.096679,"ema9":13.270175,"ema20":13.279954,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.226401,"dist_to_hod_atr":5.292363,"atr":0.057044,"spread_atr":0.175302,"own_change_pct":0.257547,"rel_strength_pct":{"SPY":0.187804,"IWM":0.264254}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.62684},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"679846b21899","ts":"2026-08-28T15:25:00+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.1389,"target":13.51,"target_label":"ceiling","reward_risk":1.73,"pos_in_5d_range_pct":13.9,"room_to_5d_high_atr":1.48},"price":13.275,"vwap":13.2709,"ext_from_open_pct":-1.88,"max_ext_allowed_pct":3.0,"volume_pace":1.293,"trend":"flat","recent_slope_pct":-0.0005,"volatility":"medium"},"price":13.275,"volume":{"bars":114,"last_bar_volume":19565.0,"baseline_avg":21898.95,"bar_rvol":0.893422,"raw_accel":0.060836,"smooth_accel":0.948314,"accel_momentum":0.912692,"rvol_3bar":[0.826945,0.854559,0.893422],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":4390.0,"sell_vol":1143.0,"unclassified_vol":0.0,"imbalance":0.586843,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.002499},"context":{"vwap":13.27093,"price_vs_vwap_pct":0.030667,"ema9":13.270175,"ema20":13.279954,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.10177,"dist_to_hod_atr":4.996103,"atr":0.057044,"spread_atr":0.175302,"own_change_pct":0.257547,"rel_strength_pct":{"SPY":0.189744,"IWM":0.257547}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.524298},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"14bf0dd2ce4e","ts":"2026-08-28T15:25:00+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.46 below VWAP $14.51","plan":{"state":"PASS","setup":"","stop":14.06,"target":14.8698,"target_label":"premarket_high","reward_risk":1.02,"pos_in_5d_range_pct":80.0,"room_to_5d_high_atr":0.54},"price":14.46,"vwap":14.5085,"ext_from_open_pct":-0.07,"max_ext_allowed_pct":3.0,"volume_pace":0.753,"trend":"flat","recent_slope_pct":-0.0484,"volatility":"high"},"price":14.46,"volume":{"bars":113,"last_bar_volume":286.0,"baseline_avg":722.1,"bar_rvol":0.396067,"raw_accel":0.35545,"smooth_accel":-0.731065,"accel_momentum":-0.145678,"rvol_3bar":[0.234189,0.295953,0.396067],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":9,"trade_rate":0.3,"buy_vol":110.0,"sell_vol":121.0,"unclassified_vol":0.0,"imbalance":-0.047619,"bid":14.37,"ask":14.57,"spread_pct":1.38217,"quote_size_imbalance":null,"quote_age_s":38.230236},"context":{"vwap":14.508703,"price_vs_vwap_pct":-0.335679,"ema9":14.426656,"ema20":14.39061,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-5.11811,"dist_to_hod_atr":5.354904,"atr":0.145661,"spread_atr":1.373052,"own_change_pct":0.2079,"rel_strength_pct":{"SPY":0.140097,"IWM":0.2079}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.01886},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"929564cf043d","ts":"2026-08-28T15:25:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"held 115.0s, plan says WATCH; stop 10.87, target 11.14 (ceiling), R:R 0.38; selling not fading: red-bar volume 1.61x the advance (max 0.7); no reclaim yet (needs a close > 11.07); R:R 0.38 < 2.0 at 11","plan":{"state":"WATCH","setup":"","stop":10.8651,"target":11.14,"target_label":"ceiling","reward_risk":0.38,"pos_in_5d_range_pct":-6.2,"room_to_5d_high_atr":1.58},"price":11.065,"vwap":11.0125,"ext_from_open_pct":-0.67,"max_ext_allowed_pct":4.0,"volume_pace":1.283,"trend":"flat","recent_slope_pct":0.0361,"volatility":"high"},"price":11.065,"volume":{"bars":115,"last_bar_volume":8557.0,"baseline_avg":10496.95,"bar_rvol":0.815189,"raw_accel":0.252672,"smooth_accel":-0.451579,"accel_momentum":-0.703146,"rvol_3bar":[0.410418,0.596873,0.815189],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":5946.0,"sell_vol":1045.0,"unclassified_vol":0.0,"imbalance":0.701044,"bid":11.06,"ask":11.07,"spread_pct":0.090375,"quote_size_imbalance":null,"quote_age_s":0.598753},"context":{"vwap":11.012485,"price_vs_vwap_pct":0.476866,"ema9":11.055672,"ema20":11.054074,"ema_stack":true,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.04544,"dist_to_hod_atr":4.444682,"atr":0.026301,"spread_atr":0.380212,"own_change_pct":0.010852,"rel_strength_pct":{"SPY":-0.056951,"IWM":0.010852}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.571484},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"dab79e80cebf","ts":"2026-08-28T15:25:05+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.27 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1328,"target":13.51,"target_label":"ceiling","reward_risk":1.77,"pos_in_5d_range_pct":13.3,"room_to_5d_high_atr":1.49},"price":13.2689,"vwap":13.2709,"ext_from_open_pct":-1.93,"max_ext_allowed_pct":3.0,"volume_pace":1.292,"trend":"flat","recent_slope_pct":-0.0017,"volatility":"medium"},"price":13.2689,"volume":{"bars":115,"last_bar_volume":15719.0,"baseline_avg":22036.1,"bar_rvol":0.713329,"raw_accel":-0.196576,"smooth_accel":0.598923,"accel_momentum":-0.349391,"rvol_3bar":[0.854559,0.893422,0.713329],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":4187.0,"sell_vol":1049.0,"unclassified_vol":0.0,"imbalance":0.599312,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.096995},"context":{"vwap":13.270932,"price_vs_vwap_pct":-0.015314,"ema9":13.27114,"ema20":13.279482,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.146755,"dist_to_hod_atr":5.279166,"atr":0.055141,"spread_atr":0.181352,"own_change_pct":0.150886,"rel_strength_pct":{"SPY":0.083083,"IWM":0.150886}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.427507},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f21df22f08df","ts":"2026-08-28T15:25:10+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.16,"target":14.8698,"target_label":"premarket_high","reward_risk":0.77,"pos_in_5d_range_pct":82.4,"room_to_5d_high_atr":0.48},"price":14.56,"vwap":14.5085,"ext_from_open_pct":0.62,"max_ext_allowed_pct":4.0,"volume_pace":0.752,"trend":"flat","recent_slope_pct":0.2144,"volatility":"high"},"price":14.56,"volume":{"bars":114,"last_bar_volume":755.0,"baseline_avg":733.8,"bar_rvol":1.028891,"raw_accel":1.63986,"smooth_accel":-0.060765,"accel_momentum":0.6703,"rvol_3bar":[0.295953,0.396067,1.028891],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":7,"trade_rate":0.233333,"buy_vol":15.0,"sell_vol":20.0,"unclassified_vol":0.0,"imbalance":-0.142857,"bid":14.37,"ask":14.57,"spread_pct":1.38217,"quote_size_imbalance":null,"quote_age_s":7.098719},"context":{"vwap":14.508526,"price_vs_vwap_pct":0.354784,"ema9":14.433325,"ema20":14.397219,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-4.461942,"dist_to_hod_atr":4.591068,"atr":0.148114,"spread_atr":1.350314,"own_change_pct":0.069204,"rel_strength_pct":{"SPY":0.001401,"IWM":0.069204}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.146984},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b00dbfddb8d9","ts":"2026-08-28T15:25:25+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 345.0s, plan says PASS; stop 7.14, target 7.25 (premarket_high), R:R 0.23; R:R 0.23 < 2.0 at 7.23; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.143,"target":7.25,"target_label":"premarket_high","reward_risk":0.23,"pos_in_5d_range_pct":68.8,"room_to_5d_high_atr":0.49},"price":7.23,"vwap":7.1933,"ext_from_open_pct":0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.703,"trend":"flat","recent_slope_pct":0.0693,"volatility":"medium"},"price":7.23,"volume":{"bars":115,"last_bar_volume":23568.0,"baseline_avg":62860.5,"bar_rvol":0.374925,"raw_accel":-0.694865,"smooth_accel":-0.365243,"accel_momentum":-0.173844,"rvol_3bar":[0.793549,1.278487,0.374925],"trend_3bar":"MIXED","projected_rvol":0.583005},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":4184.0,"sell_vol":11450.0,"unclassified_vol":0.0,"imbalance":-0.464756,"bid":7.24,"ask":7.25,"spread_pct":0.138026,"quote_size_imbalance":null,"quote_age_s":0.214225},"context":{"vwap":7.193174,"price_vs_vwap_pct":0.511963,"ema9":7.223433,"ema20":7.212394,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.686813,"dist_to_hod_atr":2.047983,"atr":0.024414,"spread_atr":0.409597,"own_change_pct":0.76442,"rel_strength_pct":{"SPY":0.696617,"IWM":0.76442}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.174249},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6cc28c14a461","ts":"2026-08-28T15:25:35+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 355.0s, plan says WATCH; stop 7.16, target 7.39 (prev_day_high), R:R 1.61; R:R 1.61 < 2.0 at 7.25; breakout: 1-min close > 7.29 on >= 75619 sh","plan":{"state":"WATCH","setup":"","stop":7.163,"target":7.39,"target_label":"prev_day_high","reward_risk":1.61,"pos_in_5d_range_pct":72.5,"room_to_5d_high_atr":0.43},"price":7.25,"vwap":7.1933,"ext_from_open_pct":0.97,"max_ext_allowed_pct":3.0,"volume_pace":0.702,"trend":"flat","recent_slope_pct":0.1245,"volatility":"medium"},"price":7.25,"volume":{"bars":115,"last_bar_volume":23568.0,"baseline_avg":62860.5,"bar_rvol":0.374925,"raw_accel":-0.694865,"smooth_accel":-0.365243,"accel_momentum":-0.173844,"rvol_3bar":[0.793549,1.278487,0.374925],"trend_3bar":"MIXED","projected_rvol":0.42445},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":3510.0,"sell_vol":11516.0,"unclassified_vol":0.0,"imbalance":-0.53281,"bid":7.24,"ask":7.25,"spread_pct":0.138026,"quote_size_imbalance":null,"quote_age_s":1.396134},"context":{"vwap":7.193174,"price_vs_vwap_pct":0.790004,"ema9":7.223433,"ema20":7.212394,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.412088,"dist_to_hod_atr":1.22879,"atr":0.024414,"spread_atr":0.409597,"own_change_pct":0.76442,"rel_strength_pct":{"SPY":0.696617,"IWM":0.76442}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.199764},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"be6df68e07a9","ts":"2026-08-28T15:25:35+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.1389,"target":13.51,"target_label":"ceiling","reward_risk":1.73,"pos_in_5d_range_pct":13.9,"room_to_5d_high_atr":1.48},"price":13.275,"vwap":13.2709,"ext_from_open_pct":-1.88,"max_ext_allowed_pct":3.0,"volume_pace":1.289,"trend":"flat","recent_slope_pct":0.0075,"volatility":"medium"},"price":13.275,"volume":{"bars":115,"last_bar_volume":15719.0,"baseline_avg":22036.1,"bar_rvol":0.713329,"raw_accel":-0.196576,"smooth_accel":0.598923,"accel_momentum":-0.349391,"rvol_3bar":[0.854559,0.893422,0.713329],"trend_3bar":"MIXED","projected_rvol":0.686536},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":4830.0,"sell_vol":3990.0,"unclassified_vol":0.0,"imbalance":0.095238,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.43294},"context":{"vwap":13.270932,"price_vs_vwap_pct":0.030652,"ema9":13.27114,"ema20":13.279482,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.10177,"dist_to_hod_atr":5.168541,"atr":0.055141,"spread_atr":0.181352,"own_change_pct":0.150886,"rel_strength_pct":{"SPY":0.083083,"IWM":0.150886}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.067936},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a11e5ca915b3","ts":"2026-08-28T15:25:35+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.47 below VWAP $14.51","plan":{"state":"PASS","setup":"","stop":14.07,"target":14.8698,"target_label":"premarket_high","reward_risk":1.0,"pos_in_5d_range_pct":80.3,"room_to_5d_high_atr":0.53},"price":14.47,"vwap":14.5085,"ext_from_open_pct":0.0,"max_ext_allowed_pct":4.0,"volume_pace":0.75,"trend":"flat","recent_slope_pct":0.09,"volatility":"high"},"price":14.47,"volume":{"bars":114,"last_bar_volume":755.0,"baseline_avg":733.8,"bar_rvol":1.028891,"raw_accel":1.63986,"smooth_accel":-0.060765,"accel_momentum":0.6703,"rvol_3bar":[0.295953,0.396067,1.028891],"trend_3bar":"ACCELERATING","projected_rvol":0.035043},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":5.0,"sell_vol":10.0,"unclassified_vol":0.0,"imbalance":-0.333333,"bid":14.37,"ask":14.57,"spread_pct":1.38217,"quote_size_imbalance":null,"quote_age_s":32.098719},"context":{"vwap":14.508526,"price_vs_vwap_pct":-0.265541,"ema9":14.433325,"ema20":14.397219,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-5.052493,"dist_to_hod_atr":5.19871,"atr":0.148114,"spread_atr":1.350314,"own_change_pct":0.069204,"rel_strength_pct":{"SPY":0.001401,"IWM":0.069204}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.342964},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5fb89fde6092","ts":"2026-08-28T15:25:40+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.13,"target":14.8698,"target_label":"premarket_high","reward_risk":0.85,"pos_in_5d_range_pct":81.7,"room_to_5d_high_atr":0.49},"price":14.53,"vwap":14.5085,"ext_from_open_pct":0.41,"max_ext_allowed_pct":4.0,"volume_pace":0.749,"trend":"flat","recent_slope_pct":0.173,"volatility":"high"},"price":14.53,"volume":{"bars":114,"last_bar_volume":755.0,"baseline_avg":733.8,"bar_rvol":1.028891,"raw_accel":1.63986,"smooth_accel":-0.060765,"accel_momentum":0.6703,"rvol_3bar":[0.295953,0.396067,1.028891],"trend_3bar":"ACCELERATING","projected_rvol":0.224857},"flow":{"window_s":30,"trades":7,"trade_rate":0.233333,"buy_vol":90.0,"sell_vol":15.0,"unclassified_vol":0.0,"imbalance":0.714286,"bid":14.37,"ask":14.57,"spread_pct":1.38217,"quote_size_imbalance":null,"quote_age_s":4.079784},"context":{"vwap":14.508526,"price_vs_vwap_pct":0.148009,"ema9":14.433325,"ema20":14.397219,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-4.658793,"dist_to_hod_atr":4.793615,"atr":0.148114,"spread_atr":1.350314,"own_change_pct":0.069204,"rel_strength_pct":{"SPY":0.001401,"IWM":0.069204}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.734922},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9160824ec863","ts":"2026-08-28T15:25:50+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 2320.0s, plan says PASS; stop 13.41, target 13.70 (prev_day_high), R:R 1.35; target 0.16 away > ~0.14 reachable in 269 min","plan":{"state":"PASS","setup":"","stop":13.4127,"target":13.7,"target_label":"prev_day_high","reward_risk":1.35,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.27},"price":13.535,"vwap":13.4842,"ext_from_open_pct":0.26,"max_ext_allowed_pct":3.0,"volume_pace":0.893,"trend":"flat","recent_slope_pct":-0.0108,"volatility":"medium"},"price":13.535,"volume":{"bars":115,"last_bar_volume":4666.0,"baseline_avg":6841.85,"bar_rvol":0.681979,"raw_accel":-0.916717,"smooth_accel":4.817031,"accel_momentum":1.856308,"rvol_3bar":[0.854435,12.807992,0.681979],"trend_3bar":"MIXED","projected_rvol":0.664908},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":3409.0,"sell_vol":264.0,"unclassified_vol":0.0,"imbalance":0.856248,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.43907},"context":{"vwap":13.484052,"price_vs_vwap_pct":0.377841,"ema9":13.527541,"ema20":13.525733,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.551065,"dist_to_hod_atr":4.308895,"atr":0.017406,"spread_atr":0.574519,"own_change_pct":-0.110824,"rel_strength_pct":{"SPY":-0.178627,"IWM":-0.110824}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.583944},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"529a339fde1f","ts":"2026-08-28T15:25:55+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 2325.0s, plan says WATCH; stop 13.41, target 13.61 (ceiling), R:R 0.65; selling not fading: red-bar volume 12.38x the advance (max 0.7); imbalance -99% still heavy selling; no reclaim yet (needs ","plan":{"state":"WATCH","setup":"","stop":13.4077,"target":13.61,"target_label":"ceiling","reward_risk":0.65,"pos_in_5d_range_pct":24.1,"room_to_5d_high_atr":1.28},"price":13.53,"vwap":13.4842,"ext_from_open_pct":0.22,"max_ext_allowed_pct":3.0,"volume_pace":0.894,"trend":"flat","recent_slope_pct":-0.0182,"volatility":"medium"},"price":13.53,"volume":{"bars":115,"last_bar_volume":4666.0,"baseline_avg":6841.85,"bar_rvol":0.681979,"raw_accel":-0.916717,"smooth_accel":4.817031,"accel_momentum":1.856308,"rvol_3bar":[0.854435,12.807992,0.681979],"trend_3bar":"MIXED","projected_rvol":0.89003},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":1825.0,"sell_vol":1530.0,"unclassified_vol":0.0,"imbalance":0.087928,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.083849},"context":{"vwap":13.484052,"price_vs_vwap_pct":0.34076,"ema9":13.527541,"ema20":13.525733,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.587803,"dist_to_hod_atr":4.596155,"atr":0.017406,"spread_atr":0.574519,"own_change_pct":-0.110824,"rel_strength_pct":{"SPY":-0.178627,"IWM":-0.110824}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.059965},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"918752fadbc7","ts":"2026-08-28T15:26:00+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.47 below VWAP $14.51","plan":{"state":"PASS","setup":"","stop":14.0836,"target":14.8698,"target_label":"premarket_high","reward_risk":1.03,"pos_in_5d_range_pct":80.3,"room_to_5d_high_atr":0.53},"price":14.47,"vwap":14.5085,"ext_from_open_pct":0.0,"max_ext_allowed_pct":4.0,"volume_pace":0.748,"trend":"flat","recent_slope_pct":0.09,"volatility":"high"},"price":14.47,"volume":{"bars":114,"last_bar_volume":755.0,"baseline_avg":733.8,"bar_rvol":1.028891,"raw_accel":1.63986,"smooth_accel":-0.060765,"accel_momentum":0.6703,"rvol_3bar":[0.295953,0.396067,1.028891],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":100.0,"sell_vol":120.0,"unclassified_vol":0.0,"imbalance":-0.090909,"bid":14.37,"ask":14.56,"spread_pct":1.313515,"quote_size_imbalance":null,"quote_age_s":17.252685},"context":{"vwap":14.508526,"price_vs_vwap_pct":-0.265541,"ema9":14.433325,"ema20":14.397219,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-5.052493,"dist_to_hod_atr":5.19871,"atr":0.148114,"spread_atr":1.282798,"own_change_pct":0.069204,"rel_strength_pct":{"SPY":0.037957,"IWM":0.092658}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.093536},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"96e44bf1bde7","ts":"2026-08-28T15:26:05+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.26 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1277,"target":13.51,"target_label":"ceiling","reward_risk":1.81,"pos_in_5d_range_pct":12.7,"room_to_5d_high_atr":1.5},"price":13.2638,"vwap":13.271,"ext_from_open_pct":-1.97,"max_ext_allowed_pct":3.0,"volume_pace":1.29,"trend":"flat","recent_slope_pct":-0.024,"volatility":"medium"},"price":13.2638,"volume":{"bars":116,"last_bar_volume":33882.0,"baseline_avg":21933.25,"bar_rvol":1.544778,"raw_accel":1.155481,"smooth_accel":0.538835,"accel_momentum":-0.060088,"rvol_3bar":[0.893422,0.713329,1.544778],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":20640.0,"sell_vol":4591.0,"unclassified_vol":0.0,"imbalance":0.636083,"bid":13.28,"ask":13.29,"spread_pct":0.075273,"quote_size_imbalance":null,"quote_age_s":0.51459},"context":{"vwap":13.270975,"price_vs_vwap_pct":-0.054062,"ema9":13.273912,"ema20":13.280008,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.184366,"dist_to_hod_atr":5.559185,"atr":0.053281,"spread_atr":0.187683,"own_change_pct":0.037651,"rel_strength_pct":{"SPY":0.006404,"IWM":0.061105}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.982606},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c661524e8bcb","ts":"2026-08-28T15:26:10+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.1589,"target":13.51,"target_label":"ceiling","reward_risk":1.58,"pos_in_5d_range_pct":16.0,"room_to_5d_high_atr":1.44},"price":13.295,"vwap":13.271,"ext_from_open_pct":-1.74,"max_ext_allowed_pct":4.0,"volume_pace":1.291,"trend":"flat","recent_slope_pct":0.023,"volatility":"medium"},"price":13.295,"volume":{"bars":116,"last_bar_volume":33882.0,"baseline_avg":21933.25,"bar_rvol":1.544778,"raw_accel":1.155481,"smooth_accel":0.538835,"accel_momentum":-0.060088,"rvol_3bar":[0.893422,0.713329,1.544778],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":15566.0,"sell_vol":6908.0,"unclassified_vol":0.0,"imbalance":0.385245,"bid":13.29,"ask":13.3,"spread_pct":0.075216,"quote_size_imbalance":null,"quote_age_s":0.095606},"context":{"vwap":13.270975,"price_vs_vwap_pct":0.181037,"ema9":13.273912,"ema20":13.280008,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-1.954277,"dist_to_hod_atr":4.973613,"atr":0.053281,"spread_atr":0.187683,"own_change_pct":0.037651,"rel_strength_pct":{"SPY":0.006404,"IWM":0.061105}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.595118},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"1e27f8d4c186","ts":"2026-08-28T15:26:20+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.1336,"target":14.8698,"target_label":"premarket_high","reward_risk":0.91,"pos_in_5d_range_pct":81.5,"room_to_5d_high_atr":0.5},"price":14.52,"vwap":14.5085,"ext_from_open_pct":0.35,"max_ext_allowed_pct":4.0,"volume_pace":0.746,"trend":"flat","recent_slope_pct":0.2144,"volatility":"high"},"price":14.52,"volume":{"bars":115,"last_bar_volume":225.0,"baseline_avg":671.65,"bar_rvol":0.334996,"raw_accel":-0.701987,"smooth_accel":0.343949,"accel_momentum":0.404714,"rvol_3bar":[0.396067,1.028891,0.334996],"trend_3bar":"MIXED","projected_rvol":0.468994},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":110.0,"sell_vol":100.0,"unclassified_vol":0.0,"imbalance":0.047619,"bid":14.37,"ask":14.56,"spread_pct":1.313515,"quote_size_imbalance":null,"quote_age_s":37.252685},"context":{"vwap":14.508503,"price_vs_vwap_pct":0.079247,"ema9":14.44066,"ema20":14.40415,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-4.724409,"dist_to_hod_atr":4.903969,"atr":0.14682,"spread_atr":1.294103,"own_change_pct":-0.206897,"rel_strength_pct":{"SPY":-0.238143,"IWM":-0.183442}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.015952},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bb4c6bdea975","ts":"2026-08-28T15:26:25+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.27 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1293,"target":13.51,"target_label":"ceiling","reward_risk":1.8,"pos_in_5d_range_pct":12.9,"room_to_5d_high_atr":1.5},"price":13.2654,"vwap":13.271,"ext_from_open_pct":-1.96,"max_ext_allowed_pct":4.0,"volume_pace":1.289,"trend":"flat","recent_slope_pct":-0.0215,"volatility":"medium"},"price":13.2654,"volume":{"bars":116,"last_bar_volume":33882.0,"baseline_avg":21933.25,"bar_rvol":1.544778,"raw_accel":1.155481,"smooth_accel":0.538835,"accel_momentum":-0.060088,"rvol_3bar":[0.893422,0.713329,1.544778],"trend_3bar":"MIXED","projected_rvol":0.966642},"flow":{"window_s":30,"trades":68,"trade_rate":2.266667,"buy_vol":14135.0,"sell_vol":3707.0,"unclassified_vol":0.0,"imbalance":0.584464,"bid":13.28,"ask":13.29,"spread_pct":0.075273,"quote_size_imbalance":null,"quote_age_s":2.112773},"context":{"vwap":13.270975,"price_vs_vwap_pct":-0.042006,"ema9":13.273912,"ema20":13.280008,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.172566,"dist_to_hod_atr":5.529156,"atr":0.053281,"spread_atr":0.187683,"own_change_pct":0.037651,"rel_strength_pct":{"SPY":0.006404,"IWM":0.061105}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.902866},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2e2721f78d60","ts":"2026-08-28T15:26:30+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 2360.0s, plan says PASS; stop 13.41, target 13.70 (prev_day_high), R:R 1.35; target 0.16 away > ~0.14 reachable in 268 min","plan":{"state":"PASS","setup":"","stop":13.4127,"target":13.7,"target_label":"prev_day_high","reward_risk":1.35,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.27},"price":13.535,"vwap":13.4842,"ext_from_open_pct":0.26,"max_ext_allowed_pct":4.0,"volume_pace":0.89,"trend":"flat","recent_slope_pct":0.0111,"volatility":"medium"},"price":13.535,"volume":{"bars":116,"last_bar_volume":5582.0,"baseline_avg":7005.5,"bar_rvol":0.796803,"raw_accel":0.196314,"smooth_accel":11.502169,"accel_momentum":6.685138,"rvol_3bar":[12.807992,0.681979,0.796803],"trend_3bar":"MIXED","projected_rvol":0.325744},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":1113.0,"sell_vol":28.0,"unclassified_vol":0.0,"imbalance":0.95092,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.003264},"context":{"vwap":13.484205,"price_vs_vwap_pct":0.376704,"ema9":13.528033,"ema20":13.526139,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.551065,"dist_to_hod_atr":4.212197,"atr":0.017805,"spread_atr":0.561626,"own_change_pct":-0.073855,"rel_strength_pct":{"SPY":-0.105102,"IWM":-0.050401}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.757696},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"192f8a1e6997","ts":"2026-08-28T15:26:30+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.1489,"target":13.51,"target_label":"ceiling","reward_risk":1.65,"pos_in_5d_range_pct":15.0,"room_to_5d_high_atr":1.46},"price":13.285,"vwap":13.271,"ext_from_open_pct":-1.81,"max_ext_allowed_pct":3.0,"volume_pace":1.288,"trend":"flat","recent_slope_pct":0.008,"volatility":"medium"},"price":13.285,"volume":{"bars":116,"last_bar_volume":33882.0,"baseline_avg":21933.25,"bar_rvol":1.544778,"raw_accel":1.155481,"smooth_accel":0.538835,"accel_momentum":-0.060088,"rvol_3bar":[0.893422,0.713329,1.544778],"trend_3bar":"MIXED","projected_rvol":0.806173},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":5134.0,"sell_vol":3707.0,"unclassified_vol":0.0,"imbalance":0.161407,"bid":13.28,"ask":13.29,"spread_pct":0.075273,"quote_size_imbalance":null,"quote_age_s":0.002368},"context":{"vwap":13.270975,"price_vs_vwap_pct":0.105685,"ema9":13.273912,"ema20":13.280008,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.028024,"dist_to_hod_atr":5.161296,"atr":0.053281,"spread_atr":0.187683,"own_change_pct":0.037651,"rel_strength_pct":{"SPY":0.006404,"IWM":0.061105}},"vas":{"raw":4,"score":6.9,"components":{"rvol":1,"accel":2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.249338},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"fb828fd16e21","ts":"2026-08-28T15:26:35+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.46 below VWAP $14.51","plan":{"state":"PASS","setup":"","stop":14.0736,"target":14.8698,"target_label":"premarket_high","reward_risk":1.06,"pos_in_5d_range_pct":80.0,"room_to_5d_high_atr":0.54},"price":14.46,"vwap":14.5085,"ext_from_open_pct":-0.07,"max_ext_allowed_pct":4.0,"volume_pace":0.744,"trend":"flat","recent_slope_pct":0.1315,"volatility":"high"},"price":14.46,"volume":{"bars":115,"last_bar_volume":225.0,"baseline_avg":671.65,"bar_rvol":0.334996,"raw_accel":-0.701987,"smooth_accel":0.343949,"accel_momentum":0.404714,"rvol_3bar":[0.396067,1.028891,0.334996],"trend_3bar":"MIXED","projected_rvol":0.319044},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":120.0,"sell_vol":5.0,"unclassified_vol":0.0,"imbalance":0.92,"bid":14.38,"ask":14.56,"spread_pct":1.243953,"quote_size_imbalance":null,"quote_age_s":3.567139},"context":{"vwap":14.508503,"price_vs_vwap_pct":-0.334304,"ema9":14.44066,"ema20":14.40415,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-5.11811,"dist_to_hod_atr":5.312633,"atr":0.14682,"spread_atr":1.225992,"own_change_pct":-0.206897,"rel_strength_pct":{"SPY":-0.238143,"IWM":-0.183442}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.308196},"shadow":{"decision":"FAIL","failed":["bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c046badc9180","ts":"2026-08-28T15:26:40+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 2370.0s, plan says WATCH; stop 13.41, target 13.61 (ceiling), R:R 0.65; selling not fading: red-bar volume 6.70x the advance (max 0.7); R:R 0.65 < 2.0 at 13.53; pullback: buy 13.51-13.54 holding ","plan":{"state":"WATCH","setup":"","stop":13.4077,"target":13.61,"target_label":"ceiling","reward_risk":0.65,"pos_in_5d_range_pct":24.1,"room_to_5d_high_atr":1.28},"price":13.53,"vwap":13.4842,"ext_from_open_pct":0.22,"max_ext_allowed_pct":4.0,"volume_pace":0.889,"trend":"flat","recent_slope_pct":0.0037,"volatility":"medium"},"price":13.53,"volume":{"bars":116,"last_bar_volume":5582.0,"baseline_avg":7005.5,"bar_rvol":0.796803,"raw_accel":0.196314,"smooth_accel":11.502169,"accel_momentum":6.685138,"rvol_3bar":[12.807992,0.681979,0.796803],"trend_3bar":"MIXED","projected_rvol":0.31411},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":1227.0,"sell_vol":222.0,"unclassified_vol":0.0,"imbalance":0.693582,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.487029},"context":{"vwap":13.484205,"price_vs_vwap_pct":0.339623,"ema9":13.528033,"ema20":13.526139,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.587803,"dist_to_hod_atr":4.49301,"atr":0.017805,"spread_atr":0.561626,"own_change_pct":-0.073855,"rel_strength_pct":{"SPY":-0.105102,"IWM":-0.050401}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.552648},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"518d8d1e1e2c","ts":"2026-08-28T15:26:40+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.1536,"target":14.8698,"target_label":"premarket_high","reward_risk":0.85,"pos_in_5d_range_pct":82.0,"room_to_5d_high_atr":0.49},"price":14.54,"vwap":14.5085,"ext_from_open_pct":0.48,"max_ext_allowed_pct":4.0,"volume_pace":0.744,"trend":"flat","recent_slope_pct":0.242,"volatility":"high"},"price":14.54,"volume":{"bars":115,"last_bar_volume":225.0,"baseline_avg":671.65,"bar_rvol":0.334996,"raw_accel":-0.701987,"smooth_accel":0.343949,"accel_momentum":0.404714,"rvol_3bar":[0.396067,1.028891,0.334996],"trend_3bar":"MIXED","projected_rvol":0.29033},"flow":{"window_s":30,"trades":7,"trade_rate":0.233333,"buy_vol":125.0,"sell_vol":5.0,"unclassified_vol":0.0,"imbalance":0.923077,"bid":14.38,"ask":14.56,"spread_pct":1.243953,"quote_size_imbalance":null,"quote_age_s":8.567139},"context":{"vwap":14.508503,"price_vs_vwap_pct":0.217097,"ema9":14.44066,"ema20":14.40415,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-4.593176,"dist_to_hod_atr":4.767748,"atr":0.14682,"spread_atr":1.225992,"own_change_pct":-0.206897,"rel_strength_pct":{"SPY":-0.238143,"IWM":-0.183442}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.309227},"shadow":{"decision":"FAIL","failed":["bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"92ac08224a89","ts":"2026-08-28T15:26:45+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.46 below VWAP $14.51","plan":{"state":"PASS","setup":"","stop":14.0736,"target":14.8698,"target_label":"premarket_high","reward_risk":1.06,"pos_in_5d_range_pct":80.0,"room_to_5d_high_atr":0.54},"price":14.46,"vwap":14.5082,"ext_from_open_pct":-0.07,"max_ext_allowed_pct":4.0,"volume_pace":0.749,"trend":"flat","recent_slope_pct":0.1315,"volatility":"high"},"price":14.46,"volume":{"bars":115,"last_bar_volume":225.0,"baseline_avg":671.65,"bar_rvol":0.334996,"raw_accel":-0.701987,"smooth_accel":0.343949,"accel_momentum":0.404714,"rvol_3bar":[0.396067,1.028891,0.334996],"trend_3bar":"MIXED","projected_rvol":3.235812},"flow":{"window_s":30,"trades":167,"trade_rate":5.566667,"buy_vol":603.0,"sell_vol":927.0,"unclassified_vol":0.0,"imbalance":-0.211765,"bid":14.38,"ask":14.54,"spread_pct":1.106501,"quote_size_imbalance":null,"quote_age_s":1.07923},"context":{"vwap":14.508503,"price_vs_vwap_pct":-0.334304,"ema9":14.44066,"ema20":14.40415,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-5.11811,"dist_to_hod_atr":5.312633,"atr":0.14682,"spread_atr":1.089771,"own_change_pct":-0.206897,"rel_strength_pct":{"SPY":-0.238143,"IWM":-0.183442}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.07094},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9f246bcb27ca","ts":"2026-08-28T15:26:50+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.1536,"target":14.8698,"target_label":"premarket_high","reward_risk":0.85,"pos_in_5d_range_pct":82.0,"room_to_5d_high_atr":0.49},"price":14.54,"vwap":14.5084,"ext_from_open_pct":0.48,"max_ext_allowed_pct":4.0,"volume_pace":0.748,"trend":"flat","recent_slope_pct":0.242,"volatility":"high"},"price":14.54,"volume":{"bars":115,"last_bar_volume":225.0,"baseline_avg":671.65,"bar_rvol":0.334996,"raw_accel":-0.701987,"smooth_accel":0.343949,"accel_momentum":0.404714,"rvol_3bar":[0.396067,1.028891,0.334996],"trend_3bar":"MIXED","projected_rvol":2.921164},"flow":{"window_s":30,"trades":167,"trade_rate":5.566667,"buy_vol":603.0,"sell_vol":927.0,"unclassified_vol":0.0,"imbalance":-0.211765,"bid":14.38,"ask":14.54,"spread_pct":1.106501,"quote_size_imbalance":null,"quote_age_s":6.07923},"context":{"vwap":14.508503,"price_vs_vwap_pct":0.217097,"ema9":14.44066,"ema20":14.40415,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-4.593176,"dist_to_hod_atr":4.767748,"atr":0.14682,"spread_atr":1.089771,"own_change_pct":-0.206897,"rel_strength_pct":{"SPY":-0.238143,"IWM":-0.183442}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.07094},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c666ab1fad32","ts":"2026-08-28T15:26:55+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.44 below VWAP $14.51","plan":{"state":"PASS","setup":"","stop":14.0536,"target":14.8698,"target_label":"premarket_high","reward_risk":1.11,"pos_in_5d_range_pct":79.6,"room_to_5d_high_atr":0.55},"price":14.44,"vwap":14.5081,"ext_from_open_pct":-0.21,"max_ext_allowed_pct":4.0,"volume_pace":0.748,"trend":"flat","recent_slope_pct":0.1039,"volatility":"high"},"price":14.44,"volume":{"bars":115,"last_bar_volume":225.0,"baseline_avg":671.65,"bar_rvol":0.334996,"raw_accel":-0.701987,"smooth_accel":0.343949,"accel_momentum":0.404714,"rvol_3bar":[0.396067,1.028891,0.334996],"trend_3bar":"MIXED","projected_rvol":2.671846},"flow":{"window_s":30,"trades":168,"trade_rate":5.6,"buy_vol":598.0,"sell_vol":937.0,"unclassified_vol":0.0,"imbalance":-0.220847,"bid":14.38,"ask":14.54,"spread_pct":1.106501,"quote_size_imbalance":null,"quote_age_s":11.07923},"context":{"vwap":14.508503,"price_vs_vwap_pct":-0.472154,"ema9":14.44066,"ema20":14.40415,"ema_stack":false,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-5.249344,"dist_to_hod_atr":5.448855,"atr":0.14682,"spread_atr":1.089771,"own_change_pct":-0.206897,"rel_strength_pct":{"SPY":-0.238143,"IWM":-0.183442}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.073983},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"53fd83e006e6","ts":"2026-08-28T15:27:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 2395.0s, plan says PASS; stop 13.41, target 13.70 (prev_day_high), R:R 1.35; target 0.16 away > ~0.13 reachable in 268 min","plan":{"state":"PASS","setup":"","stop":13.4127,"target":13.7,"target_label":"prev_day_high","reward_risk":1.35,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.27},"price":13.535,"vwap":13.4843,"ext_from_open_pct":0.26,"max_ext_allowed_pct":3.0,"volume_pace":0.886,"trend":"flat","recent_slope_pct":0.037,"volatility":"medium"},"price":13.535,"volume":{"bars":117,"last_bar_volume":1588.0,"baseline_avg":7191.2,"bar_rvol":0.220825,"raw_accel":-0.715514,"smooth_accel":-0.806316,"accel_momentum":-12.308486,"rvol_3bar":[0.681979,0.796803,0.220825],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":150.0,"sell_vol":363.0,"unclassified_vol":0.0,"imbalance":-0.415205,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.492221},"context":{"vwap":13.484253,"price_vs_vwap_pct":0.376339,"ema9":13.528426,"ema20":13.526507,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.551065,"dist_to_hod_atr":4.388335,"atr":0.017091,"spread_atr":0.585111,"own_change_pct":-0.035464,"rel_strength_pct":{"SPY":-0.108417,"IWM":-0.045518}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.091688},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d5a287cd653c","ts":"2026-08-28T15:27:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 2400.0s, plan says WATCH; stop 13.40, target 13.61 (ceiling), R:R 0.74; selling not fading: red-bar volume 6.70x the advance (max 0.7); imbalance -38% still heavy selling; no reclaim yet (needs a","plan":{"state":"WATCH","setup":"","stop":13.3971,"target":13.61,"target_label":"ceiling","reward_risk":0.74,"pos_in_5d_range_pct":22.9,"room_to_5d_high_atr":1.31},"price":13.5194,"vwap":13.4843,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.887,"trend":"flat","recent_slope_pct":0.0139,"volatility":"medium"},"price":13.5194,"volume":{"bars":117,"last_bar_volume":1588.0,"baseline_avg":7191.2,"bar_rvol":0.220825,"raw_accel":-0.715514,"smooth_accel":-0.806316,"accel_momentum":-12.308486,"rvol_3bar":[0.681979,0.796803,0.220825],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":1078.0,"sell_vol":2334.0,"unclassified_vol":0.0,"imbalance":-0.368113,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.102844},"context":{"vwap":13.484253,"price_vs_vwap_pct":0.260649,"ema9":13.528426,"ema20":13.526507,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.665687,"dist_to_hod_atr":5.301109,"atr":0.017091,"spread_atr":0.585111,"own_change_pct":-0.035464,"rel_strength_pct":{"SPY":-0.108417,"IWM":-0.045518}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.081289},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"dd9ffbd784b0","ts":"2026-08-28T15:27:15+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.27 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1311,"target":13.51,"target_label":"ceiling","reward_risk":1.78,"pos_in_5d_range_pct":13.1,"room_to_5d_high_atr":1.49},"price":13.2672,"vwap":13.271,"ext_from_open_pct":-1.94,"max_ext_allowed_pct":3.0,"volume_pace":1.283,"trend":"flat","recent_slope_pct":-0.0033,"volatility":"medium"},"price":13.2672,"volume":{"bars":117,"last_bar_volume":15212.0,"baseline_avg":22387.8,"bar_rvol":0.679477,"raw_accel":-0.55103,"smooth_accel":0.137929,"accel_momentum":-0.400906,"rvol_3bar":[0.713329,1.544778,0.679477],"trend_3bar":"MIXED","projected_rvol":0.983393},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":5790.0,"sell_vol":4623.0,"unclassified_vol":0.0,"imbalance":0.112071,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.000208},"context":{"vwap":13.271018,"price_vs_vwap_pct":-0.028768,"ema9":13.27613,"ema20":13.280483,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.159292,"dist_to_hod_atr":5.585841,"atr":0.052418,"spread_atr":0.190773,"own_change_pct":0.150773,"rel_strength_pct":{"SPY":0.07782,"IWM":0.140719}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.07615},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4c84e4ab3311","ts":"2026-08-28T15:27:15+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.1236,"target":14.8698,"target_label":"premarket_high","reward_risk":0.93,"pos_in_5d_range_pct":81.2,"room_to_5d_high_atr":0.51},"price":14.51,"vwap":14.5081,"ext_from_open_pct":0.28,"max_ext_allowed_pct":3.0,"volume_pace":0.746,"trend":"flat","recent_slope_pct":0.0553,"volatility":"high"},"price":14.51,"volume":{"bars":116,"last_bar_volume":1645.0,"baseline_avg":678.85,"bar_rvol":2.423216,"raw_accel":6.311111,"smooth_accel":2.953313,"accel_momentum":2.609364,"rvol_3bar":[1.028891,0.334996,2.423216],"trend_3bar":"MIXED","projected_rvol":0.147308},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":30.0,"sell_vol":10.0,"unclassified_vol":0.0,"imbalance":0.5,"bid":14.38,"ask":14.54,"spread_pct":1.106501,"quote_size_imbalance":null,"quote_age_s":31.07923},"context":{"vwap":14.508097,"price_vs_vwap_pct":0.013118,"ema9":14.440528,"ema20":14.407564,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-4.790026,"dist_to_hod_atr":4.964399,"atr":0.147047,"spread_atr":1.088087,"own_change_pct":-0.069204,"rel_strength_pct":{"SPY":-0.142157,"IWM":-0.079258}},"vas":{"raw":8,"score":9.4,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.211608},"shadow":{"decision":"FAIL","failed":["spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d346bd079e31","ts":"2026-08-28T15:27:20+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 2410.0s, plan says PASS; stop 13.41, target 13.70 (prev_day_high), R:R 1.39; target 0.17 away > ~0.13 reachable in 268 min","plan":{"state":"PASS","setup":"","stop":13.4083,"target":13.7,"target_label":"prev_day_high","reward_risk":1.39,"pos_in_5d_range_pct":24.2,"room_to_5d_high_atr":1.28},"price":13.5306,"vwap":13.4844,"ext_from_open_pct":0.23,"max_ext_allowed_pct":3.0,"volume_pace":0.886,"trend":"flat","recent_slope_pct":0.0305,"volatility":"medium"},"price":13.5306,"volume":{"bars":117,"last_bar_volume":1588.0,"baseline_avg":7191.2,"bar_rvol":0.220825,"raw_accel":-0.715514,"smooth_accel":-0.806316,"accel_momentum":-12.308486,"rvol_3bar":[0.681979,0.796803,0.220825],"trend_3bar":"MIXED","projected_rvol":1.509762},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":1406.0,"sell_vol":2313.0,"unclassified_vol":0.0,"imbalance":-0.243883,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":1.675766},"context":{"vwap":13.484253,"price_vs_vwap_pct":0.343709,"ema9":13.528426,"ema20":13.526507,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.583395,"dist_to_hod_atr":4.645784,"atr":0.017091,"spread_atr":0.585111,"own_change_pct":-0.035464,"rel_strength_pct":{"SPY":-0.108417,"IWM":-0.045518}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.053856},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"50b7f981c97e","ts":"2026-08-28T15:27:20+00:00","symbol":"EQX","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.1389,"target":13.51,"target_label":"ceiling","reward_risk":1.73,"pos_in_5d_range_pct":13.9,"room_to_5d_high_atr":1.48},"price":13.275,"vwap":13.271,"ext_from_open_pct":-1.88,"max_ext_allowed_pct":3.0,"volume_pace":1.283,"trend":"flat","recent_slope_pct":0.0084,"volatility":"medium"},"price":13.275,"volume":{"bars":117,"last_bar_volume":15212.0,"baseline_avg":22387.8,"bar_rvol":0.679477,"raw_accel":-0.55103,"smooth_accel":0.137929,"accel_momentum":-0.400906,"rvol_3bar":[0.713329,1.544778,0.679477],"trend_3bar":"MIXED","projected_rvol":1.139013},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":8682.0,"sell_vol":4623.0,"unclassified_vol":0.0,"imbalance":0.305073,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.050083},"context":{"vwap":13.271018,"price_vs_vwap_pct":0.030007,"ema9":13.27613,"ema20":13.280483,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.10177,"dist_to_hod_atr":5.437038,"atr":0.052418,"spread_atr":0.190773,"own_change_pct":0.150773,"rel_strength_pct":{"SPY":0.07782,"IWM":0.140719}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.20729},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5d8b70e4da6d","ts":"2026-08-28T15:27:20+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.46 below VWAP $14.51","plan":{"state":"PASS","setup":"","stop":14.0736,"target":14.8698,"target_label":"premarket_high","reward_risk":1.06,"pos_in_5d_range_pct":80.0,"room_to_5d_high_atr":0.54},"price":14.46,"vwap":14.5081,"ext_from_open_pct":-0.07,"max_ext_allowed_pct":4.0,"volume_pace":0.746,"trend":"flat","recent_slope_pct":-0.0138,"volatility":"high"},"price":14.46,"volume":{"bars":116,"last_bar_volume":1645.0,"baseline_avg":678.85,"bar_rvol":2.423216,"raw_accel":6.311111,"smooth_accel":2.953313,"accel_momentum":2.609364,"rvol_3bar":[1.028891,0.334996,2.423216],"trend_3bar":"MIXED","projected_rvol":0.702659},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":25.0,"sell_vol":144.0,"unclassified_vol":0.0,"imbalance":-0.704142,"bid":14.38,"ask":14.54,"spread_pct":1.106501,"quote_size_imbalance":null,"quote_age_s":36.07923},"context":{"vwap":14.508097,"price_vs_vwap_pct":-0.331517,"ema9":14.440528,"ema20":14.407564,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-5.11811,"dist_to_hod_atr":5.304426,"atr":0.147047,"spread_atr":1.088087,"own_change_pct":-0.069204,"rel_strength_pct":{"SPY":-0.142157,"IWM":-0.079258}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.706288},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"14a06f382499","ts":"2026-08-28T15:27:25+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 2415.0s, plan says WATCH; stop 13.40, target 13.61 (ceiling), R:R 0.74; selling not fading: red-bar volume 6.70x the advance (max 0.7); no reclaim yet (needs a close > 13.54); R:R 0.74 < 2.0 at 1","plan":{"state":"WATCH","setup":"","stop":13.3977,"target":13.61,"target_label":"ceiling","reward_risk":0.74,"pos_in_5d_range_pct":22.9,"room_to_5d_high_atr":1.31},"price":13.52,"vwap":13.4844,"ext_from_open_pct":0.15,"max_ext_allowed_pct":3.0,"volume_pace":0.885,"trend":"flat","recent_slope_pct":0.0148,"volatility":"medium"},"price":13.52,"volume":{"bars":117,"last_bar_volume":1588.0,"baseline_avg":7191.2,"bar_rvol":0.220825,"raw_accel":-0.715514,"smooth_accel":-0.806316,"accel_momentum":-12.308486,"rvol_3bar":[0.681979,0.796803,0.220825],"trend_3bar":"MIXED","projected_rvol":1.219824},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":1406.0,"sell_vol":2249.0,"unclassified_vol":0.0,"imbalance":-0.230643,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.320723},"context":{"vwap":13.484253,"price_vs_vwap_pct":0.265099,"ema9":13.528426,"ema20":13.526507,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.661278,"dist_to_hod_atr":5.266003,"atr":0.017091,"spread_atr":0.585111,"own_change_pct":-0.035464,"rel_strength_pct":{"SPY":-0.108417,"IWM":-0.045518}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.050932},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7899d629fb4b","ts":"2026-08-28T15:27:25+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 465.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.17; R:R 0.17 < 2.0 at 7.24; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.1949,"ext_from_open_pct":0.77,"max_ext_allowed_pct":3.0,"volume_pace":0.714,"trend":"flat","recent_slope_pct":-0.0207,"volatility":"medium"},"price":7.235,"volume":{"bars":117,"last_bar_volume":140325.0,"baseline_avg":59547.3,"bar_rvol":2.35653,"raw_accel":7.048004,"smooth_accel":0.038076,"accel_momentum":-0.025194,"rvol_3bar":[0.374925,0.289988,2.35653],"trend_3bar":"MIXED","projected_rvol":2.319057},"flow":{"window_s":30,"trades":149,"trade_rate":4.966667,"buy_vol":45292.0,"sell_vol":45639.0,"unclassified_vol":0.0,"imbalance":-0.003816,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.244959},"context":{"vwap":7.194461,"price_vs_vwap_pct":0.563472,"ema9":7.233773,"ema20":7.219572,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":1.668618,"atr":0.026968,"spread_atr":0.370804,"own_change_pct":0.554401,"rel_strength_pct":{"SPY":0.481448,"IWM":0.544347}},"vas":{"raw":2,"score":5.6,"components":{"rvol":2,"accel":0,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.008993},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"8394910f4127","ts":"2026-08-28T15:27:25+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.27 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1339,"target":13.51,"target_label":"ceiling","reward_risk":1.76,"pos_in_5d_range_pct":13.4,"room_to_5d_high_atr":1.49},"price":13.27,"vwap":13.271,"ext_from_open_pct":-1.92,"max_ext_allowed_pct":4.0,"volume_pace":1.282,"trend":"flat","recent_slope_pct":0.0009,"volatility":"medium"},"price":13.27,"volume":{"bars":117,"last_bar_volume":15212.0,"baseline_avg":22387.8,"bar_rvol":0.679477,"raw_accel":-0.55103,"smooth_accel":0.137929,"accel_momentum":-0.400906,"rvol_3bar":[0.713329,1.544778,0.679477],"trend_3bar":"MIXED","projected_rvol":1.10353},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":10098.0,"sell_vol":4389.0,"unclassified_vol":0.0,"imbalance":0.394077,"bid":13.26,"ask":13.27,"spread_pct":0.075386,"quote_size_imbalance":null,"quote_age_s":0.21048},"context":{"vwap":13.271018,"price_vs_vwap_pct":-0.00767,"ema9":13.27613,"ema20":13.280483,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.138643,"dist_to_hod_atr":5.532424,"atr":0.052418,"spread_atr":0.190773,"own_change_pct":0.150773,"rel_strength_pct":{"SPY":0.07782,"IWM":0.140719}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.267767},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"05f2c4a5b974","ts":"2026-08-28T15:27:35+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3847,"target":9.73,"target_label":"premarket_high","reward_risk":0.97,"pos_in_5d_range_pct":52.2,"room_to_5d_high_atr":0.99},"price":9.56,"vwap":9.5604,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":3.0,"volume_pace":1.098,"trend":"flat","recent_slope_pct":-0.0688,"volatility":"high"},"price":9.56,"volume":{"bars":117,"last_bar_volume":86352.0,"baseline_avg":106066.55,"bar_rvol":0.81413,"raw_accel":1.077067,"smooth_accel":-0.451603,"accel_momentum":-0.927085,"rvol_3bar":[1.11464,0.377676,0.81413],"trend_3bar":"MIXED","projected_rvol":0.424795},"flow":{"window_s":30,"trades":88,"trade_rate":2.933333,"buy_vol":8628.0,"sell_vol":10306.0,"unclassified_vol":0.0,"imbalance":-0.088624,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":0.074156},"context":{"vwap":9.560394,"price_vs_vwap_pct":-0.004116,"ema9":9.58346,"ema20":9.567458,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.845528,"dist_to_hod_atr":6.534261,"atr":0.042851,"spread_atr":0.233366,"own_change_pct":0.508901,"rel_strength_pct":{"SPY":0.435948,"IWM":0.498847}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.072151},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e9770d3a756d","ts":"2026-08-28T15:27:45+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 485.0s, plan says WATCH; stop 7.16, target 7.39 (prev_day_high), R:R 1.65; R:R 1.65 < 2.0 at 7.25; breakout: 1-min close > 7.29 on >= 78457 sh","plan":{"state":"WATCH","setup":"","stop":7.1593,"target":7.39,"target_label":"prev_day_high","reward_risk":1.65,"pos_in_5d_range_pct":71.8,"room_to_5d_high_atr":0.44},"price":7.2463,"vwap":7.195,"ext_from_open_pct":0.92,"max_ext_allowed_pct":4.0,"volume_pace":0.713,"trend":"flat","recent_slope_pct":0.0105,"volatility":"medium"},"price":7.2463,"volume":{"bars":117,"last_bar_volume":140325.0,"baseline_avg":59547.3,"bar_rvol":2.35653,"raw_accel":7.048004,"smooth_accel":0.038076,"accel_momentum":-0.025194,"rvol_3bar":[0.374925,0.289988,2.35653],"trend_3bar":"MIXED","projected_rvol":1.38402},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":9341.0,"sell_vol":11234.0,"unclassified_vol":0.0,"imbalance":-0.092005,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.609078},"context":{"vwap":7.194461,"price_vs_vwap_pct":0.720537,"ema9":7.233773,"ema20":7.219572,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.462912,"dist_to_hod_atr":1.24961,"atr":0.026968,"spread_atr":0.370804,"own_change_pct":0.554401,"rel_strength_pct":{"SPY":0.481448,"IWM":0.544347}},"vas":{"raw":2,"score":5.6,"components":{"rvol":2,"accel":0,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.216812},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"59d02fd6b57e","ts":"2026-08-28T15:27:45+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.1236,"target":14.8698,"target_label":"premarket_high","reward_risk":0.93,"pos_in_5d_range_pct":81.2,"room_to_5d_high_atr":0.51},"price":14.51,"vwap":14.5081,"ext_from_open_pct":0.28,"max_ext_allowed_pct":3.0,"volume_pace":0.743,"trend":"flat","recent_slope_pct":0.0553,"volatility":"high"},"price":14.51,"volume":{"bars":116,"last_bar_volume":1645.0,"baseline_avg":678.85,"bar_rvol":2.423216,"raw_accel":6.311111,"smooth_accel":2.953313,"accel_momentum":2.609364,"rvol_3bar":[1.028891,0.334996,2.423216],"trend_3bar":"MIXED","projected_rvol":0.392821},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":20.0,"sell_vol":155.0,"unclassified_vol":0.0,"imbalance":-0.771429,"bid":14.38,"ask":14.54,"spread_pct":1.106501,"quote_size_imbalance":null,"quote_age_s":20.028348},"context":{"vwap":14.508097,"price_vs_vwap_pct":0.013118,"ema9":14.440528,"ema20":14.407564,"ema_stack":true,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-4.790026,"dist_to_hod_atr":4.964399,"atr":0.147047,"spread_atr":1.088087,"own_change_pct":-0.069204,"rel_strength_pct":{"SPY":-0.142157,"IWM":-0.079258}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.869338},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b66025b65383","ts":"2026-08-28T15:27:55+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.67 below VWAP $14.68","plan":{"state":"PASS","setup":"","stop":14.2969,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.6,"pos_in_5d_range_pct":92.6,"room_to_5d_high_atr":0.15},"price":14.6722,"vwap":14.6834,"ext_from_open_pct":1.19,"max_ext_allowed_pct":3.0,"volume_pace":1.703,"trend":"flat","recent_slope_pct":-0.0844,"volatility":"high"},"price":14.6722,"volume":{"bars":117,"last_bar_volume":4105.0,"baseline_avg":1399.85,"bar_rvol":2.932457,"raw_accel":2.711573,"smooth_accel":1.755821,"accel_momentum":1.124819,"rvol_3bar":[2.92797,0.690064,2.932457],"trend_3bar":"MIXED","projected_rvol":1.591339},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":9.0,"sell_vol":74.0,"unclassified_vol":0.0,"imbalance":-0.783133,"bid":14.66,"ask":14.75,"spread_pct":0.612037,"quote_size_imbalance":null,"quote_age_s":16.981937},"context":{"vwap":14.683531,"price_vs_vwap_pct":-0.07717,"ema9":14.691695,"ema20":14.658129,"ema_stack":false,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-5.095117,"dist_to_hod_atr":8.752293,"atr":0.089999,"spread_atr":1.000008,"own_change_pct":0.985626,"rel_strength_pct":{"SPY":0.912674,"IWM":0.975572}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.296503},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"284ee5e46f3b","ts":"2026-08-28T15:27:55+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 495.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.19; R:R 0.19 < 2.0 at 7.23; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.1461,"target":7.25,"target_label":"premarket_high","reward_risk":0.19,"pos_in_5d_range_pct":69.4,"room_to_5d_high_atr":0.48},"price":7.2331,"vwap":7.195,"ext_from_open_pct":0.74,"max_ext_allowed_pct":3.0,"volume_pace":0.713,"trend":"flat","recent_slope_pct":-0.0259,"volatility":"medium"},"price":7.2331,"volume":{"bars":117,"last_bar_volume":140325.0,"baseline_avg":59547.3,"bar_rvol":2.35653,"raw_accel":7.048004,"smooth_accel":0.038076,"accel_momentum":-0.025194,"rvol_3bar":[0.374925,0.289988,2.35653],"trend_3bar":"MIXED","projected_rvol":1.332893},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":3388.0,"sell_vol":11829.0,"unclassified_vol":0.0,"imbalance":-0.554709,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.211311},"context":{"vwap":7.194461,"price_vs_vwap_pct":0.537063,"ema9":7.233773,"ema20":7.219572,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.644231,"dist_to_hod_atr":1.739071,"atr":0.026968,"spread_atr":0.370804,"own_change_pct":0.554401,"rel_strength_pct":{"SPY":0.481448,"IWM":0.544347}},"vas":{"raw":0,"score":4.4,"components":{"rvol":2,"accel":0,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-1.307187},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"16ae8a639fc5","ts":"2026-08-28T15:27:55+00:00","symbol":"BETR","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.42 below VWAP $14.51","plan":{"state":"PASS","setup":"","stop":14.0336,"target":14.8698,"target_label":"premarket_high","reward_risk":1.16,"pos_in_5d_range_pct":79.1,"room_to_5d_high_atr":0.57},"price":14.42,"vwap":14.508,"ext_from_open_pct":-0.35,"max_ext_allowed_pct":3.0,"volume_pace":0.742,"trend":"flat","recent_slope_pct":-0.0692,"volatility":"high"},"price":14.42,"volume":{"bars":116,"last_bar_volume":1645.0,"baseline_avg":678.85,"bar_rvol":2.423216,"raw_accel":6.311111,"smooth_accel":2.953313,"accel_momentum":2.609364,"rvol_3bar":[1.028891,0.334996,2.423216],"trend_3bar":"MIXED","projected_rvol":0.329434},"flow":{"window_s":30,"trades":9,"trade_rate":0.3,"buy_vol":20.0,"sell_vol":21.0,"unclassified_vol":0.0,"imbalance":-0.02439,"bid":14.38,"ask":14.53,"spread_pct":1.037703,"quote_size_imbalance":null,"quote_age_s":3.700775},"context":{"vwap":14.508097,"price_vs_vwap_pct":-0.607225,"ema9":14.440528,"ema20":14.407564,"ema_stack":false,"ema_warm":true,"hod":15.24,"dist_to_hod_pct":-5.380577,"dist_to_hod_atr":5.576448,"atr":0.147047,"spread_atr":1.020082,"own_change_pct":-0.069204,"rel_strength_pct":{"SPY":-0.142157,"IWM":-0.079258}},"vas":{"raw":6,"score":8.1,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.059103},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4dd6c3c6698a","ts":"2026-08-28T15:28:00+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 500.0s, plan says WATCH; stop 7.16, target 7.39 (prev_day_high), R:R 1.65; R:R 1.65 < 2.0 at 7.25; breakout: 1-min close > 7.29 on >= 78457 sh","plan":{"state":"WATCH","setup":"","stop":7.1594,"target":7.39,"target_label":"prev_day_high","reward_risk":1.65,"pos_in_5d_range_pct":71.8,"room_to_5d_high_atr":0.44},"price":7.2464,"vwap":7.1951,"ext_from_open_pct":0.92,"max_ext_allowed_pct":3.0,"volume_pace":0.713,"trend":"flat","recent_slope_pct":0.0108,"volatility":"medium"},"price":7.2464,"volume":{"bars":117,"last_bar_volume":140325.0,"baseline_avg":59547.3,"bar_rvol":2.35653,"raw_accel":7.048004,"smooth_accel":0.038076,"accel_momentum":-0.025194,"rvol_3bar":[0.374925,0.289988,2.35653],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":21,"trade_rate":0.7,"buy_vol":2135.0,"sell_vol":10804.0,"unclassified_vol":0.0,"imbalance":-0.66999,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.402471},"context":{"vwap":7.194461,"price_vs_vwap_pct":0.721927,"ema9":7.233773,"ema20":7.219572,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.461538,"dist_to_hod_atr":1.245902,"atr":0.026968,"spread_atr":0.370804,"own_change_pct":0.554401,"rel_strength_pct":{"SPY":0.489838,"IWM":0.534284}},"vas":{"raw":0,"score":4.4,"components":{"rvol":2,"accel":0,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-1.578851},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7f011ebc02bb","ts":"2026-08-28T15:28:00+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3947,"target":9.73,"target_label":"premarket_high","reward_risk":0.91,"pos_in_5d_range_pct":52.9,"room_to_5d_high_atr":0.98},"price":9.57,"vwap":9.5605,"ext_from_open_pct":-0.52,"max_ext_allowed_pct":4.0,"volume_pace":1.097,"trend":"flat","recent_slope_pct":-0.0479,"volatility":"high"},"price":9.57,"volume":{"bars":117,"last_bar_volume":86352.0,"baseline_avg":106066.55,"bar_rvol":0.81413,"raw_accel":1.077067,"smooth_accel":-0.451603,"accel_momentum":-0.927085,"rvol_3bar":[1.11464,0.377676,0.81413],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":66,"trade_rate":2.2,"buy_vol":23563.0,"sell_vol":11286.0,"unclassified_vol":0.0,"imbalance":0.352291,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.001444},"context":{"vwap":9.560394,"price_vs_vwap_pct":0.100482,"ema9":9.58346,"ema20":9.567458,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.743902,"dist_to_hod_atr":6.300894,"atr":0.042851,"spread_atr":0.233366,"own_change_pct":0.508901,"rel_strength_pct":{"SPY":0.444338,"IWM":0.488784}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.286811},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"466e26c217aa","ts":"2026-08-28T15:28:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 505.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.15; R:R 0.15 < 2.0 at 7.24; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.1497,"target":7.25,"target_label":"premarket_high","reward_risk":0.15,"pos_in_5d_range_pct":70.0,"room_to_5d_high_atr":0.47},"price":7.2367,"vwap":7.1951,"ext_from_open_pct":0.79,"max_ext_allowed_pct":3.0,"volume_pace":0.712,"trend":"flat","recent_slope_pct":-0.0397,"volatility":"medium"},"price":7.2367,"volume":{"bars":118,"last_bar_volume":72969.0,"baseline_avg":65510.75,"bar_rvol":1.113848,"raw_accel":-0.48,"smooth_accel":0.530293,"accel_momentum":0.492218,"rvol_3bar":[0.289988,2.35653,1.113848],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":14,"trade_rate":0.466667,"buy_vol":2769.0,"sell_vol":10504.0,"unclassified_vol":0.0,"imbalance":-0.582762,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":3.866563},"context":{"vwap":7.195066,"price_vs_vwap_pct":0.578645,"ema9":7.236298,"ema20":7.222127,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.59478,"dist_to_hod_atr":1.598673,"atr":0.027085,"spread_atr":0.369209,"own_change_pct":0.228219,"rel_strength_pct":{"SPY":0.163656,"IWM":0.208102}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.649108},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b05dac0a2bea","ts":"2026-08-28T15:28:05+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.1386,"target":13.51,"target_label":"ceiling","reward_risk":1.73,"pos_in_5d_range_pct":13.9,"room_to_5d_high_atr":1.48},"price":13.2747,"vwap":13.271,"ext_from_open_pct":-1.89,"max_ext_allowed_pct":4.0,"volume_pace":1.281,"trend":"flat","recent_slope_pct":-0.0231,"volatility":"medium"},"price":13.2747,"volume":{"bars":118,"last_bar_volume":29954.0,"baseline_avg":22508.95,"bar_rvol":1.33076,"raw_accel":0.969103,"smooth_accel":0.47129,"accel_momentum":0.333361,"rvol_3bar":[1.544778,0.679477,1.33076],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":19217.0,"sell_vol":1919.0,"unclassified_vol":0.0,"imbalance":0.818414,"bid":13.26,"ask":13.27,"spread_pct":0.075386,"quote_size_imbalance":null,"quote_age_s":0.46359},"context":{"vwap":13.27097,"price_vs_vwap_pct":0.028106,"ema9":13.271904,"ema20":13.278056,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.103982,"dist_to_hod_atr":5.575087,"atr":0.051174,"spread_atr":0.195411,"own_change_pct":-0.225819,"rel_strength_pct":{"SPY":-0.290381,"IWM":-0.245936}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.089112},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0800b08838bc","ts":"2026-08-28T15:28:10+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":14.3147,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.56,"pos_in_5d_range_pct":93.2,"room_to_5d_high_atr":0.14},"price":14.69,"vwap":14.6834,"ext_from_open_pct":1.31,"max_ext_allowed_pct":3.0,"volume_pace":1.7,"trend":"flat","recent_slope_pct":-0.0769,"volatility":"high"},"price":14.69,"volume":{"bars":118,"last_bar_volume":2042.0,"baseline_avg":1582.35,"bar_rvol":1.290486,"raw_accel":-0.502558,"smooth_accel":0.030402,"accel_momentum":-1.725419,"rvol_3bar":[0.690064,2.932457,1.290486],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":19.0,"sell_vol":75.0,"unclassified_vol":0.0,"imbalance":-0.595745,"bid":14.63,"ask":14.75,"spread_pct":0.816882,"quote_size_imbalance":null,"quote_age_s":5.0286},"context":{"vwap":14.683444,"price_vs_vwap_pct":0.044649,"ema9":14.687796,"ema20":14.659469,"ema_stack":true,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.97998,"dist_to_hod_atr":8.020445,"atr":0.095992,"spread_atr":1.250102,"own_change_pct":0.08322,"rel_strength_pct":{"SPY":0.018657,"IWM":0.063103}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":0,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.7688},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9809b2861642","ts":"2026-08-28T15:28:10+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.26 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1278,"target":13.51,"target_label":"ceiling","reward_risk":1.81,"pos_in_5d_range_pct":12.7,"room_to_5d_high_atr":1.5},"price":13.2639,"vwap":13.271,"ext_from_open_pct":-1.97,"max_ext_allowed_pct":4.0,"volume_pace":1.28,"trend":"flat","recent_slope_pct":-0.0393,"volatility":"medium"},"price":13.2639,"volume":{"bars":118,"last_bar_volume":29954.0,"baseline_avg":22508.95,"bar_rvol":1.33076,"raw_accel":0.969103,"smooth_accel":0.47129,"accel_momentum":0.333361,"rvol_3bar":[1.544778,0.679477,1.33076],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":13734.0,"sell_vol":2008.0,"unclassified_vol":0.0,"imbalance":0.744886,"bid":13.26,"ask":13.27,"spread_pct":0.075386,"quote_size_imbalance":null,"quote_age_s":0.748378},"context":{"vwap":13.27097,"price_vs_vwap_pct":-0.053275,"ema9":13.271904,"ema20":13.278056,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.183628,"dist_to_hod_atr":5.786131,"atr":0.051174,"spread_atr":0.195411,"own_change_pct":-0.225819,"rel_strength_pct":{"SPY":-0.290381,"IWM":-0.245936}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.991265},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e37943fb3430","ts":"2026-08-28T15:28:15+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 515.0s, plan says WATCH; stop 7.15, target 7.39 (prev_day_high), R:R 1.74; R:R 1.74 < 2.0 at 7.24; breakout: 1-min close > 7.29 on >= 79481 sh","plan":{"state":"WATCH","setup":"","stop":7.1516,"target":7.39,"target_label":"prev_day_high","reward_risk":1.74,"pos_in_5d_range_pct":70.4,"room_to_5d_high_atr":0.46},"price":7.2386,"vwap":7.1952,"ext_from_open_pct":0.82,"max_ext_allowed_pct":3.0,"volume_pace":0.713,"trend":"flat","recent_slope_pct":-0.0345,"volatility":"medium"},"price":7.2386,"volume":{"bars":118,"last_bar_volume":72969.0,"baseline_avg":65510.75,"bar_rvol":1.113848,"raw_accel":-0.48,"smooth_accel":0.530293,"accel_momentum":0.492218,"rvol_3bar":[0.289988,2.35653,1.113848],"trend_3bar":"MIXED","projected_rvol":0.950134},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":8525.0,"sell_vol":18194.0,"unclassified_vol":0.0,"imbalance":-0.361877,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.618803},"context":{"vwap":7.195066,"price_vs_vwap_pct":0.605052,"ema9":7.236298,"ema20":7.222127,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.568681,"dist_to_hod_atr":1.528524,"atr":0.027085,"spread_atr":0.369209,"own_change_pct":0.228219,"rel_strength_pct":{"SPY":0.163656,"IWM":0.208102}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.403076},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"81177f55a989","ts":"2026-08-28T15:28:20+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.1376,"target":13.51,"target_label":"ceiling","reward_risk":1.74,"pos_in_5d_range_pct":13.8,"room_to_5d_high_atr":1.48},"price":13.2737,"vwap":13.271,"ext_from_open_pct":-1.89,"max_ext_allowed_pct":4.0,"volume_pace":1.28,"trend":"flat","recent_slope_pct":-0.0246,"volatility":"medium"},"price":13.2737,"volume":{"bars":118,"last_bar_volume":29954.0,"baseline_avg":22508.95,"bar_rvol":1.33076,"raw_accel":0.969103,"smooth_accel":0.47129,"accel_momentum":0.333361,"rvol_3bar":[1.544778,0.679477,1.33076],"trend_3bar":"MIXED","projected_rvol":1.049183},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":12242.0,"sell_vol":2599.0,"unclassified_vol":0.0,"imbalance":0.649754,"bid":13.25,"ask":13.26,"spread_pct":0.075443,"quote_size_imbalance":null,"quote_age_s":0.026109},"context":{"vwap":13.27097,"price_vs_vwap_pct":0.020571,"ema9":13.271904,"ema20":13.278056,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.111357,"dist_to_hod_atr":5.594628,"atr":0.051174,"spread_atr":0.195411,"own_change_pct":-0.225819,"rel_strength_pct":{"SPY":-0.290381,"IWM":-0.245936}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.864666},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4508a9c917c9","ts":"2026-08-28T15:28:25+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.67 below VWAP $14.68","plan":{"state":"PASS","setup":"","stop":14.2947,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.61,"pos_in_5d_range_pct":92.5,"room_to_5d_high_atr":0.15},"price":14.67,"vwap":14.6834,"ext_from_open_pct":1.17,"max_ext_allowed_pct":3.0,"volume_pace":1.697,"trend":"flat","recent_slope_pct":-0.1042,"volatility":"high"},"price":14.67,"volume":{"bars":118,"last_bar_volume":2042.0,"baseline_avg":1582.35,"bar_rvol":1.290486,"raw_accel":-0.502558,"smooth_accel":0.030402,"accel_momentum":-1.725419,"rvol_3bar":[0.690064,2.932457,1.290486],"trend_3bar":"MIXED","projected_rvol":0.204759},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":11.0,"sell_vol":124.0,"unclassified_vol":0.0,"imbalance":-0.837037,"bid":14.63,"ask":14.75,"spread_pct":0.816882,"quote_size_imbalance":null,"quote_age_s":0.627763},"context":{"vwap":14.683444,"price_vs_vwap_pct":-0.091559,"ema9":14.687796,"ema20":14.659469,"ema_stack":false,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-5.109347,"dist_to_hod_atr":8.228795,"atr":0.095992,"spread_atr":1.250102,"own_change_pct":0.08322,"rel_strength_pct":{"SPY":0.018657,"IWM":0.063103}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":0,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-1.080184},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e795a57bf79e","ts":"2026-08-28T15:28:25+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 525.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.17; R:R 0.17 < 2.0 at 7.24; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.1952,"ext_from_open_pct":0.77,"max_ext_allowed_pct":4.0,"volume_pace":0.712,"trend":"flat","recent_slope_pct":-0.0444,"volatility":"medium"},"price":7.235,"volume":{"bars":118,"last_bar_volume":72969.0,"baseline_avg":65510.75,"bar_rvol":1.113848,"raw_accel":-0.48,"smooth_accel":0.530293,"accel_momentum":0.492218,"rvol_3bar":[0.289988,2.35653,1.113848],"trend_3bar":"MIXED","projected_rvol":0.644194},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":8855.0,"sell_vol":8942.0,"unclassified_vol":0.0,"imbalance":-0.004888,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.010015},"context":{"vwap":7.195066,"price_vs_vwap_pct":0.555018,"ema9":7.236298,"ema20":7.222127,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":1.661439,"atr":0.027085,"spread_atr":0.369209,"own_change_pct":0.228219,"rel_strength_pct":{"SPY":0.163656,"IWM":0.208102}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.005445},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5e6e10b16d28","ts":"2026-08-28T15:28:25+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3847,"target":9.73,"target_label":"premarket_high","reward_risk":0.97,"pos_in_5d_range_pct":52.2,"room_to_5d_high_atr":0.99},"price":9.56,"vwap":9.5605,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":3.0,"volume_pace":1.098,"trend":"flat","recent_slope_pct":-0.1356,"volatility":"high"},"price":9.56,"volume":{"bars":118,"last_bar_volume":59096.0,"baseline_avg":103593.35,"bar_rvol":0.570461,"raw_accel":-0.315638,"smooth_accel":-0.639182,"accel_momentum":-0.187579,"rvol_3bar":[0.377676,0.81413,0.570461],"trend_3bar":"MIXED","projected_rvol":1.294461},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":21146.0,"sell_vol":37043.0,"unclassified_vol":0.0,"imbalance":-0.273196,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.114869},"context":{"vwap":9.560463,"price_vs_vwap_pct":-0.004847,"ema9":9.580768,"ema20":9.5677,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.845528,"dist_to_hod_atr":6.440337,"atr":0.043476,"spread_atr":0.230012,"own_change_pct":-0.273025,"rel_strength_pct":{"SPY":-0.337588,"IWM":-0.293142}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.155848},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d7fdcd15058b","ts":"2026-08-28T15:28:25+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.25 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1139,"target":13.51,"target_label":"ceiling","reward_risk":1.91,"pos_in_5d_range_pct":11.2,"room_to_5d_high_atr":1.52},"price":13.25,"vwap":13.2709,"ext_from_open_pct":-2.07,"max_ext_allowed_pct":4.0,"volume_pace":1.279,"trend":"flat","recent_slope_pct":-0.0603,"volatility":"medium"},"price":13.25,"volume":{"bars":118,"last_bar_volume":29954.0,"baseline_avg":22508.95,"bar_rvol":1.33076,"raw_accel":0.969103,"smooth_accel":0.47129,"accel_momentum":0.333361,"rvol_3bar":[1.544778,0.679477,1.33076],"trend_3bar":"MIXED","projected_rvol":0.908119},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":7963.0,"sell_vol":799.0,"unclassified_vol":0.0,"imbalance":0.817622,"bid":13.25,"ask":13.26,"spread_pct":0.075443,"quote_size_imbalance":null,"quote_age_s":0.140627},"context":{"vwap":13.27097,"price_vs_vwap_pct":-0.158015,"ema9":13.271904,"ema20":13.278056,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.286136,"dist_to_hod_atr":6.057753,"atr":0.051174,"spread_atr":0.195411,"own_change_pct":-0.225819,"rel_strength_pct":{"SPY":-0.290381,"IWM":-0.245936}},"vas":{"raw":5,"score":7.5,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.088058},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3017c1a20796","ts":"2026-08-28T15:28:30+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 530.0s, plan says WATCH; stop 7.15, target 7.39 (prev_day_high), R:R 1.72; R:R 1.72 < 2.0 at 7.24; breakout: 1-min close > 7.29 on >= 79481 sh","plan":{"state":"WATCH","setup":"","stop":7.153,"target":7.39,"target_label":"prev_day_high","reward_risk":1.72,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.24,"vwap":7.1953,"ext_from_open_pct":0.84,"max_ext_allowed_pct":3.0,"volume_pace":0.714,"trend":"flat","recent_slope_pct":-0.0306,"volatility":"medium"},"price":7.24,"volume":{"bars":118,"last_bar_volume":72969.0,"baseline_avg":65510.75,"bar_rvol":1.113848,"raw_accel":-0.48,"smooth_accel":0.530293,"accel_momentum":0.492218,"rvol_3bar":[0.289988,2.35653,1.113848],"trend_3bar":"MIXED","projected_rvol":1.190614},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":14006.0,"sell_vol":24993.0,"unclassified_vol":0.0,"imbalance":-0.281725,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.857699},"context":{"vwap":7.195066,"price_vs_vwap_pct":0.62451,"ema9":7.236298,"ema20":7.222127,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.549451,"dist_to_hod_atr":1.476834,"atr":0.027085,"spread_atr":0.369209,"own_change_pct":0.228219,"rel_strength_pct":{"SPY":0.163656,"IWM":0.208102}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.313799},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"069bf7d7e67a","ts":"2026-08-28T15:28:35+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3898,"target":9.73,"target_label":"premarket_high","reward_risk":0.94,"pos_in_5d_range_pct":52.6,"room_to_5d_high_atr":0.98},"price":9.5651,"vwap":9.5605,"ext_from_open_pct":-0.57,"max_ext_allowed_pct":3.0,"volume_pace":1.097,"trend":"flat","recent_slope_pct":-0.1249,"volatility":"high"},"price":9.5651,"volume":{"bars":118,"last_bar_volume":59096.0,"baseline_avg":103593.35,"bar_rvol":0.570461,"raw_accel":-0.315638,"smooth_accel":-0.639182,"accel_momentum":-0.187579,"rvol_3bar":[0.377676,0.81413,0.570461],"trend_3bar":"MIXED","projected_rvol":0.997345},"flow":{"window_s":30,"trades":79,"trade_rate":2.633333,"buy_vol":10555.0,"sell_vol":22696.0,"unclassified_vol":0.0,"imbalance":-0.365132,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.154899},"context":{"vwap":9.560463,"price_vs_vwap_pct":0.048498,"ema9":9.580768,"ema20":9.5677,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.793699,"dist_to_hod_atr":6.323031,"atr":0.043476,"spread_atr":0.230012,"own_change_pct":-0.273025,"rel_strength_pct":{"SPY":-0.337588,"IWM":-0.293142}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.208294},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1a084a4c05d2","ts":"2026-08-28T15:28:40+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 540.0s, plan says PASS; stop 7.14, target 7.25 (premarket_high), R:R 0.23; R:R 0.23 < 2.0 at 7.23; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.143,"target":7.25,"target_label":"premarket_high","reward_risk":0.23,"pos_in_5d_range_pct":68.8,"room_to_5d_high_atr":0.49},"price":7.23,"vwap":7.1953,"ext_from_open_pct":0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.713,"trend":"flat","recent_slope_pct":-0.0582,"volatility":"medium"},"price":7.23,"volume":{"bars":118,"last_bar_volume":72969.0,"baseline_avg":65510.75,"bar_rvol":1.113848,"raw_accel":-0.48,"smooth_accel":0.530293,"accel_momentum":0.492218,"rvol_3bar":[0.289988,2.35653,1.113848],"trend_3bar":"MIXED","projected_rvol":0.930969},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":11738.0,"sell_vol":21131.0,"unclassified_vol":0.0,"imbalance":-0.285771,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":8.273085},"context":{"vwap":7.195066,"price_vs_vwap_pct":0.485526,"ema9":7.236298,"ema20":7.222127,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.686813,"dist_to_hod_atr":1.846043,"atr":0.027085,"spread_atr":0.369209,"own_change_pct":0.228219,"rel_strength_pct":{"SPY":0.163656,"IWM":0.208102}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.318305},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"cba2b56e6e07","ts":"2026-08-28T15:28:45+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 545.0s, plan says WATCH; stop 7.15, target 7.39 (prev_day_high), R:R 1.72; R:R 1.72 < 2.0 at 7.24; breakout: 1-min close > 7.29 on >= 79481 sh","plan":{"state":"WATCH","setup":"","stop":7.153,"target":7.39,"target_label":"prev_day_high","reward_risk":1.72,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.24,"vwap":7.1954,"ext_from_open_pct":0.84,"max_ext_allowed_pct":3.0,"volume_pace":0.713,"trend":"flat","recent_slope_pct":-0.0306,"volatility":"medium"},"price":7.24,"volume":{"bars":118,"last_bar_volume":72969.0,"baseline_avg":65510.75,"bar_rvol":1.113848,"raw_accel":-0.48,"smooth_accel":0.530293,"accel_momentum":0.492218,"rvol_3bar":[0.289988,2.35653,1.113848],"trend_3bar":"MIXED","projected_rvol":0.843607},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":7029.0,"sell_vol":18859.0,"unclassified_vol":0.0,"imbalance":-0.456968,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":13.273085},"context":{"vwap":7.195066,"price_vs_vwap_pct":0.62451,"ema9":7.236298,"ema20":7.222127,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.549451,"dist_to_hod_atr":1.476834,"atr":0.027085,"spread_atr":0.369209,"own_change_pct":0.228219,"rel_strength_pct":{"SPY":0.163656,"IWM":0.208102}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.508993},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"105f78e804af","ts":"2026-08-28T15:28:50+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":14.3627,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.43,"pos_in_5d_range_pct":94.7,"room_to_5d_high_atr":0.11},"price":14.738,"vwap":14.6835,"ext_from_open_pct":1.64,"max_ext_allowed_pct":4.0,"volume_pace":1.691,"trend":"flat","recent_slope_pct":-0.0117,"volatility":"high"},"price":14.738,"volume":{"bars":118,"last_bar_volume":2042.0,"baseline_avg":1582.35,"bar_rvol":1.290486,"raw_accel":-0.502558,"smooth_accel":0.030402,"accel_momentum":-1.725419,"rvol_3bar":[0.690064,2.932457,1.290486],"trend_3bar":"MIXED","projected_rvol":0.178216},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":101.0,"sell_vol":123.0,"unclassified_vol":0.0,"imbalance":-0.098214,"bid":14.63,"ask":14.75,"spread_pct":0.816882,"quote_size_imbalance":null,"quote_age_s":20.000895},"context":{"vwap":14.683444,"price_vs_vwap_pct":0.371548,"ema9":14.687796,"ema20":14.659469,"ema_stack":true,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.6695,"dist_to_hod_atr":7.520404,"atr":0.095992,"spread_atr":1.250102,"own_change_pct":0.08322,"rel_strength_pct":{"SPY":0.018657,"IWM":0.063103}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":0,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.126744},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"63071ba53807","ts":"2026-08-28T15:28:50+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 550.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.17; R:R 0.17 < 2.0 at 7.24; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.1953,"ext_from_open_pct":0.77,"max_ext_allowed_pct":3.0,"volume_pace":0.713,"trend":"flat","recent_slope_pct":-0.0444,"volatility":"medium"},"price":7.235,"volume":{"bars":118,"last_bar_volume":72969.0,"baseline_avg":65510.75,"bar_rvol":1.113848,"raw_accel":-0.48,"smooth_accel":0.530293,"accel_momentum":0.492218,"rvol_3bar":[0.289988,2.35653,1.113848],"trend_3bar":"MIXED","projected_rvol":0.771189},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":6483.0,"sell_vol":18646.0,"unclassified_vol":0.0,"imbalance":-0.484022,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":2.789675},"context":{"vwap":7.195066,"price_vs_vwap_pct":0.555018,"ema9":7.236298,"ema20":7.222127,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":1.661439,"atr":0.027085,"spread_atr":0.369209,"own_change_pct":0.228219,"rel_strength_pct":{"SPY":0.163656,"IWM":0.208102}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.539127},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a53822ba1699","ts":"2026-08-28T15:28:55+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 555.0s, plan says WATCH; stop 7.15, target 7.39 (prev_day_high), R:R 1.73; R:R 1.73 < 2.0 at 7.24; breakout: 1-min close > 7.29 on >= 79481 sh","plan":{"state":"WATCH","setup":"","stop":7.1529,"target":7.39,"target_label":"prev_day_high","reward_risk":1.73,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.2399,"vwap":7.1954,"ext_from_open_pct":0.83,"max_ext_allowed_pct":4.0,"volume_pace":0.713,"trend":"flat","recent_slope_pct":-0.0309,"volatility":"medium"},"price":7.2399,"volume":{"bars":118,"last_bar_volume":72969.0,"baseline_avg":65510.75,"bar_rvol":1.113848,"raw_accel":-0.48,"smooth_accel":0.530293,"accel_momentum":0.492218,"rvol_3bar":[0.289988,2.35653,1.113848],"trend_3bar":"MIXED","projected_rvol":0.786991},"flow":{"window_s":30,"trades":67,"trade_rate":2.233333,"buy_vol":9481.0,"sell_vol":20195.0,"unclassified_vol":0.0,"imbalance":-0.361032,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.69094},"context":{"vwap":7.195066,"price_vs_vwap_pct":0.62312,"ema9":7.236298,"ema20":7.222127,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.550824,"dist_to_hod_atr":1.480526,"atr":0.027085,"spread_atr":0.369209,"own_change_pct":0.228219,"rel_strength_pct":{"SPY":0.163656,"IWM":0.208102}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.402135},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"44f9d4e6ed7c","ts":"2026-08-28T15:29:00+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 560.0s, plan says PASS; stop 7.14, target 7.25 (premarket_high), R:R 0.23; R:R 0.23 < 2.0 at 7.23; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.143,"target":7.25,"target_label":"premarket_high","reward_risk":0.23,"pos_in_5d_range_pct":68.8,"room_to_5d_high_atr":0.49},"price":7.23,"vwap":7.1954,"ext_from_open_pct":0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.712,"trend":"flat","recent_slope_pct":-0.0582,"volatility":"medium"},"price":7.23,"volume":{"bars":118,"last_bar_volume":72969.0,"baseline_avg":65510.75,"bar_rvol":1.113848,"raw_accel":-0.48,"smooth_accel":0.530293,"accel_momentum":0.492218,"rvol_3bar":[0.289988,2.35653,1.113848],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":4117.0,"sell_vol":4594.0,"unclassified_vol":0.0,"imbalance":-0.054758,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.380037},"context":{"vwap":7.195066,"price_vs_vwap_pct":0.485526,"ema9":7.236298,"ema20":7.222127,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.686813,"dist_to_hod_atr":1.846043,"atr":0.027085,"spread_atr":0.369209,"own_change_pct":0.228219,"rel_strength_pct":{"SPY":0.201116,"IWM":0.194683}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.060992},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"243ec5bb7321","ts":"2026-08-28T15:29:10+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":14.3846,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.37,"pos_in_5d_range_pct":95.4,"room_to_5d_high_atr":0.09},"price":14.7599,"vwap":14.6835,"ext_from_open_pct":1.79,"max_ext_allowed_pct":3.0,"volume_pace":1.695,"trend":"flat","recent_slope_pct":0.0345,"volatility":"high"},"price":14.7599,"volume":{"bars":119,"last_bar_volume":2441.0,"baseline_avg":1679.1,"bar_rvol":1.453755,"raw_accel":0.195397,"smooth_accel":0.37408,"accel_momentum":0.343678,"rvol_3bar":[2.932457,1.290486,1.453755],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":1087.0,"sell_vol":1231.0,"unclassified_vol":0.0,"imbalance":-0.062123,"bid":14.68,"ask":14.76,"spread_pct":0.543478,"quote_size_imbalance":null,"quote_age_s":10.000883},"context":{"vwap":14.683527,"price_vs_vwap_pct":0.520127,"ema9":14.695237,"ema20":14.66571,"ema_stack":true,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.527843,"dist_to_hod_atr":7.22768,"atr":0.09685,"spread_atr":0.826021,"own_change_pct":-0.169492,"rel_strength_pct":{"SPY":-0.196595,"IWM":-0.203027}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.090311},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"23e69be47830","ts":"2026-08-28T15:29:15+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":14.3515,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.46,"pos_in_5d_range_pct":94.4,"room_to_5d_high_atr":0.11},"price":14.7268,"vwap":14.6835,"ext_from_open_pct":1.56,"max_ext_allowed_pct":3.0,"volume_pace":1.694,"trend":"flat","recent_slope_pct":-0.0105,"volatility":"high"},"price":14.7268,"volume":{"bars":119,"last_bar_volume":2441.0,"baseline_avg":1679.1,"bar_rvol":1.453755,"raw_accel":0.195397,"smooth_accel":0.37408,"accel_momentum":0.343678,"rvol_3bar":[2.932457,1.290486,1.453755],"trend_3bar":"MIXED","projected_rvol":0.088142},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":1087.0,"sell_vol":1256.0,"unclassified_vol":0.0,"imbalance":-0.07213,"bid":14.68,"ask":14.76,"spread_pct":0.543478,"quote_size_imbalance":null,"quote_age_s":0.757984},"context":{"vwap":14.683527,"price_vs_vwap_pct":0.294704,"ema9":14.695237,"ema20":14.66571,"ema_stack":true,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.741945,"dist_to_hod_atr":7.569446,"atr":0.09685,"spread_atr":0.826021,"own_change_pct":-0.169492,"rel_strength_pct":{"SPY":-0.196595,"IWM":-0.203027}},"vas":{"raw":3,"score":6.2,"components":{"rvol":0,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.104859},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ea43b4563ba4","ts":"2026-08-28T15:29:15+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3847,"target":9.73,"target_label":"premarket_high","reward_risk":0.97,"pos_in_5d_range_pct":52.2,"room_to_5d_high_atr":0.99},"price":9.56,"vwap":9.5606,"ext_from_open_pct":-0.62,"max_ext_allowed_pct":3.0,"volume_pace":1.095,"trend":"flat","recent_slope_pct":-0.1394,"volatility":"high"},"price":9.56,"volume":{"bars":119,"last_bar_volume":91045.0,"baseline_avg":99045.85,"bar_rvol":0.919221,"raw_accel":0.540629,"smooth_accel":-0.410327,"accel_momentum":0.228855,"rvol_3bar":[0.81413,0.570461,0.919221],"trend_3bar":"MIXED","projected_rvol":0.847809},"flow":{"window_s":30,"trades":86,"trade_rate":2.866667,"buy_vol":27692.0,"sell_vol":19599.0,"unclassified_vol":0.0,"imbalance":0.171132,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":0.703971},"context":{"vwap":9.560568,"price_vs_vwap_pct":-0.005941,"ema9":9.577615,"ema20":9.567443,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.845528,"dist_to_hod_atr":6.476258,"atr":0.043235,"spread_atr":0.231295,"own_change_pct":-0.258608,"rel_strength_pct":{"SPY":-0.285712,"IWM":-0.292144}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.157308},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"be5c15cfe904","ts":"2026-08-28T15:29:25+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 585.0s, plan says WATCH; stop 7.15, target 7.39 (prev_day_high), R:R 1.72; R:R 1.72 < 2.0 at 7.24; breakout: 1-min close > 7.29 on >= 79634 sh","plan":{"state":"WATCH","setup":"","stop":7.153,"target":7.39,"target_label":"prev_day_high","reward_risk":1.72,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.24,"vwap":7.1954,"ext_from_open_pct":0.84,"max_ext_allowed_pct":3.0,"volume_pace":0.71,"trend":"flat","recent_slope_pct":-0.0583,"volatility":"medium"},"price":7.24,"volume":{"bars":119,"last_bar_volume":47710.0,"baseline_avg":67358.05,"bar_rvol":0.708304,"raw_accel":-0.346161,"smooth_accel":1.207371,"accel_momentum":0.677078,"rvol_3bar":[2.35653,1.113848,0.708304],"trend_3bar":"DECELERATING","projected_rvol":0.080667},"flow":{"window_s":30,"trades":32,"trade_rate":1.066667,"buy_vol":945.0,"sell_vol":1769.0,"unclassified_vol":0.0,"imbalance":-0.303611,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.279123},"context":{"vwap":7.19537,"price_vs_vwap_pct":0.62026,"ema9":7.235039,"ema20":7.222877,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.549451,"dist_to_hod_atr":1.496908,"atr":0.026722,"spread_atr":0.374227,"own_change_pct":-0.207039,"rel_strength_pct":{"SPY":-0.234143,"IWM":-0.240575}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.215049},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"39d54b1b47fa","ts":"2026-08-28T15:29:30+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 590.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.20; R:R 0.20 < 2.0 at 7.23; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.1456,"target":7.25,"target_label":"premarket_high","reward_risk":0.2,"pos_in_5d_range_pct":69.3,"room_to_5d_high_atr":0.48},"price":7.2326,"vwap":7.1954,"ext_from_open_pct":0.73,"max_ext_allowed_pct":3.0,"volume_pace":0.71,"trend":"flat","recent_slope_pct":-0.0787,"volatility":"medium"},"price":7.2326,"volume":{"bars":119,"last_bar_volume":47710.0,"baseline_avg":67358.05,"bar_rvol":0.708304,"raw_accel":-0.346161,"smooth_accel":1.207371,"accel_momentum":0.677078,"rvol_3bar":[2.35653,1.113848,0.708304],"trend_3bar":"DECELERATING","projected_rvol":0.080376},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":945.0,"sell_vol":1762.0,"unclassified_vol":0.0,"imbalance":-0.30181,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.284246},"context":{"vwap":7.19537,"price_vs_vwap_pct":0.517416,"ema9":7.235039,"ema20":7.222877,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.651099,"dist_to_hod_atr":1.773836,"atr":0.026722,"spread_atr":0.374227,"own_change_pct":-0.207039,"rel_strength_pct":{"SPY":-0.234143,"IWM":-0.240575}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.213773},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"be3127b6f759","ts":"2026-08-28T15:29:40+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 600.0s, plan says WATCH; stop 7.16, target 7.39 (prev_day_high), R:R 1.65; R:R 1.65 < 2.0 at 7.25; breakout: 1-min close > 7.29 on >= 79634 sh","plan":{"state":"WATCH","setup":"","stop":7.1591,"target":7.39,"target_label":"prev_day_high","reward_risk":1.65,"pos_in_5d_range_pct":71.8,"room_to_5d_high_atr":0.44},"price":7.2461,"vwap":7.1954,"ext_from_open_pct":0.92,"max_ext_allowed_pct":3.0,"volume_pace":0.709,"trend":"flat","recent_slope_pct":-0.0414,"volatility":"medium"},"price":7.2461,"volume":{"bars":119,"last_bar_volume":47710.0,"baseline_avg":67358.05,"bar_rvol":0.708304,"raw_accel":-0.346161,"smooth_accel":1.207371,"accel_momentum":0.677078,"rvol_3bar":[2.35653,1.113848,0.708304],"trend_3bar":"DECELERATING","projected_rvol":0.077608},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":495.0,"sell_vol":1871.0,"unclassified_vol":0.0,"imbalance":-0.581572,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":2.377923},"context":{"vwap":7.19537,"price_vs_vwap_pct":0.705037,"ema9":7.235039,"ema20":7.222877,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.465659,"dist_to_hod_atr":1.26863,"atr":0.026722,"spread_atr":0.374227,"own_change_pct":-0.207039,"rel_strength_pct":{"SPY":-0.234143,"IWM":-0.240575}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.41193},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"12124c38256b","ts":"2026-08-28T15:29:45+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 605.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.17; R:R 0.17 < 2.0 at 7.24; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.1954,"ext_from_open_pct":0.77,"max_ext_allowed_pct":4.0,"volume_pace":0.708,"trend":"flat","recent_slope_pct":-0.0721,"volatility":"medium"},"price":7.235,"volume":{"bars":119,"last_bar_volume":47710.0,"baseline_avg":67358.05,"bar_rvol":0.708304,"raw_accel":-0.346161,"smooth_accel":1.207371,"accel_momentum":0.677078,"rvol_3bar":[2.35653,1.113848,0.708304],"trend_3bar":"DECELERATING","projected_rvol":0.078506},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":679.0,"sell_vol":2101.0,"unclassified_vol":0.0,"imbalance":-0.511511,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.176966},"context":{"vwap":7.19537,"price_vs_vwap_pct":0.550771,"ema9":7.235039,"ema20":7.222877,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":1.684021,"atr":0.026722,"spread_atr":0.374227,"own_change_pct":-0.207039,"rel_strength_pct":{"SPY":-0.234143,"IWM":-0.240575}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.362305},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"50b6526d73cc","ts":"2026-08-28T15:29:50+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 610.0s, plan says WATCH; stop 7.16, target 7.39 (prev_day_high), R:R 1.65; R:R 1.65 < 2.0 at 7.25; breakout: 1-min close > 7.29 on >= 79634 sh","plan":{"state":"WATCH","setup":"","stop":7.1591,"target":7.39,"target_label":"prev_day_high","reward_risk":1.65,"pos_in_5d_range_pct":71.8,"room_to_5d_high_atr":0.44},"price":7.2461,"vwap":7.1954,"ext_from_open_pct":0.92,"max_ext_allowed_pct":4.0,"volume_pace":0.708,"trend":"flat","recent_slope_pct":-0.0414,"volatility":"medium"},"price":7.2461,"volume":{"bars":119,"last_bar_volume":47710.0,"baseline_avg":67358.05,"bar_rvol":0.708304,"raw_accel":-0.346161,"smooth_accel":1.207371,"accel_momentum":0.677078,"rvol_3bar":[2.35653,1.113848,0.708304],"trend_3bar":"DECELERATING","projected_rvol":0.070922},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":629.0,"sell_vol":1528.0,"unclassified_vol":0.0,"imbalance":-0.416783,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.425481},"context":{"vwap":7.19537,"price_vs_vwap_pct":0.705037,"ema9":7.235039,"ema20":7.222877,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.465659,"dist_to_hod_atr":1.26863,"atr":0.026722,"spread_atr":0.374227,"own_change_pct":-0.207039,"rel_strength_pct":{"SPY":-0.234143,"IWM":-0.240575}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.295209},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"c660d56ed15b","ts":"2026-08-28T15:29:55+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 615.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.17; R:R 0.17 < 2.0 at 7.24; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.1954,"ext_from_open_pct":0.77,"max_ext_allowed_pct":4.0,"volume_pace":0.707,"trend":"flat","recent_slope_pct":-0.0721,"volatility":"medium"},"price":7.235,"volume":{"bars":119,"last_bar_volume":47710.0,"baseline_avg":67358.05,"bar_rvol":0.708304,"raw_accel":-0.346161,"smooth_accel":1.207371,"accel_momentum":0.677078,"rvol_3bar":[2.35653,1.113848,0.708304],"trend_3bar":"DECELERATING","projected_rvol":0.06807},"flow":{"window_s":30,"trades":24,"trade_rate":0.8,"buy_vol":589.0,"sell_vol":1350.0,"unclassified_vol":0.0,"imbalance":-0.39247,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.010511},"context":{"vwap":7.19537,"price_vs_vwap_pct":0.550771,"ema9":7.235039,"ema20":7.222877,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":1.684021,"atr":0.026722,"spread_atr":0.374227,"own_change_pct":-0.207039,"rel_strength_pct":{"SPY":-0.234143,"IWM":-0.240575}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.277988},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"64cbbb3016d6","ts":"2026-08-28T15:30:00+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4127,"target":13.7,"target_label":"prev_day_high","reward_risk":1.35,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.27},"price":13.535,"vwap":13.4853,"ext_from_open_pct":0.26,"max_ext_allowed_pct":4.0,"volume_pace":0.886,"trend":"flat","recent_slope_pct":0.0037,"volatility":"medium"},"price":13.535,"volume":{"bars":119,"last_bar_volume":17067.0,"baseline_avg":7168.25,"bar_rvol":2.380916,"raw_accel":2.366272,"smooth_accel":-0.642016,"accel_momentum":0.167768,"rvol_3bar":[0.220825,0.725441,2.380916],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":8558.0,"sell_vol":915.0,"unclassified_vol":0.0,"imbalance":0.806819,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.003087},"context":{"vwap":13.484839,"price_vs_vwap_pct":0.371984,"ema9":13.527193,"ema20":13.526233,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.551065,"dist_to_hod_atr":4.527899,"atr":0.016564,"spread_atr":0.60372,"own_change_pct":0.073992,"rel_strength_pct":{"SPY":0.057859,"IWM":0.070639}},"vas":{"raw":3,"score":6.2,"components":{"rvol":2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.920969},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2af01c534dc6","ts":"2026-08-28T15:30:00+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 620.0s, plan says WATCH; stop 7.15, target 7.39 (prev_day_high), R:R 1.76; R:R 1.76 < 2.0 at 7.24; breakout: 1-min close > 7.29 on >= 79634 sh","plan":{"state":"WATCH","setup":"","stop":7.1499,"target":7.39,"target_label":"prev_day_high","reward_risk":1.76,"pos_in_5d_range_pct":70.1,"room_to_5d_high_atr":0.47},"price":7.2369,"vwap":7.1955,"ext_from_open_pct":0.79,"max_ext_allowed_pct":4.0,"volume_pace":0.708,"trend":"flat","recent_slope_pct":-0.0668,"volatility":"medium"},"price":7.2369,"volume":{"bars":119,"last_bar_volume":47710.0,"baseline_avg":67358.05,"bar_rvol":0.708304,"raw_accel":-0.346161,"smooth_accel":1.207371,"accel_momentum":0.677078,"rvol_3bar":[2.35653,1.113848,0.708304],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":9089.0,"sell_vol":1807.0,"unclassified_vol":0.0,"imbalance":0.668319,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.963849},"context":{"vwap":7.19537,"price_vs_vwap_pct":0.577177,"ema9":7.235039,"ema20":7.222877,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.592033,"dist_to_hod_atr":1.612918,"atr":0.026722,"spread_atr":0.374227,"own_change_pct":-0.207039,"rel_strength_pct":{"SPY":-0.223172,"IWM":-0.210392}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.473373},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"aea9ce1f2191","ts":"2026-08-28T15:30:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":13.4045,"target":13.61,"target_label":"ceiling","reward_risk":0.68,"pos_in_5d_range_pct":23.8,"room_to_5d_high_atr":1.29},"price":13.5268,"vwap":13.4853,"ext_from_open_pct":0.2,"max_ext_allowed_pct":4.0,"volume_pace":0.886,"trend":"flat","recent_slope_pct":0.0027,"volatility":"medium"},"price":13.5268,"volume":{"bars":120,"last_bar_volume":15644.0,"baseline_avg":7844.7,"bar_rvol":1.994213,"raw_accel":-0.083377,"smooth_accel":2.192041,"accel_momentum":2.834058,"rvol_3bar":[0.725441,2.380916,1.994213],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":9711.0,"sell_vol":944.0,"unclassified_vol":0.0,"imbalance":0.822806,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.562888},"context":{"vwap":13.485292,"price_vs_vwap_pct":0.307805,"ema9":13.528754,"ema20":13.527068,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.611315,"dist_to_hod_atr":5.057055,"atr":0.016452,"spread_atr":0.607819,"own_change_pct":0.110947,"rel_strength_pct":{"SPY":0.094814,"IWM":0.107594}},"vas":{"raw":7,"score":8.8,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.640851},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2bcd5e1033fb","ts":"2026-08-28T15:30:05+00:00","symbol":"RDW","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.8453,"target":11.14,"target_label":"ceiling","reward_risk":0.47,"pos_in_5d_range_pct":-7.9,"room_to_5d_high_atr":1.6},"price":11.0451,"vwap":11.013,"ext_from_open_pct":-0.85,"max_ext_allowed_pct":4.0,"volume_pace":1.245,"trend":"flat","recent_slope_pct":-0.0295,"volatility":"high"},"price":11.0451,"volume":{"bars":120,"last_bar_volume":8447.0,"baseline_avg":9223.25,"bar_rvol":0.915838,"raw_accel":2.663351,"smooth_accel":-0.024695,"accel_momentum":-0.207874,"rvol_3bar":[1.422217,0.221195,0.915838],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":16,"trade_rate":0.533333,"buy_vol":725.0,"sell_vol":147.0,"unclassified_vol":0.0,"imbalance":0.662844,"bid":11.04,"ask":11.05,"spread_pct":0.090539,"quote_size_imbalance":null,"quote_age_s":0.420228},"context":{"vwap":11.013046,"price_vs_vwap_pct":0.291057,"ema9":11.053784,"ema20":11.053749,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.223406,"dist_to_hod_atr":5.616765,"atr":0.024356,"spread_atr":0.410582,"own_change_pct":-0.084996,"rel_strength_pct":{"SPY":-0.101129,"IWM":-0.088349}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-1,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.607058},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6ea6ea149bac","ts":"2026-08-28T15:30:05+00:00","symbol":"SMR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.4098,"target":9.73,"target_label":"premarket_high","reward_risk":0.83,"pos_in_5d_range_pct":54.0,"room_to_5d_high_atr":0.96},"price":9.5851,"vwap":9.5606,"ext_from_open_pct":-0.36,"max_ext_allowed_pct":3.0,"volume_pace":1.089,"trend":"flat","recent_slope_pct":-0.0282,"volatility":"high"},"price":9.5851,"volume":{"bars":120,"last_bar_volume":43051.0,"baseline_avg":99515.8,"bar_rvol":0.432605,"raw_accel":-0.527146,"smooth_accel":-0.222605,"accel_momentum":0.187722,"rvol_3bar":[0.570461,0.919221,0.432605],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":611.0,"sell_vol":2012.0,"unclassified_vol":0.0,"imbalance":-0.534121,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.119208},"context":{"vwap":9.560599,"price_vs_vwap_pct":0.25627,"ema9":9.576092,"ema20":9.567686,"ema_stack":true,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.590447,"dist_to_hod_atr":5.935272,"atr":0.042947,"spread_atr":0.232847,"own_change_pct":-0.364394,"rel_strength_pct":{"SPY":-0.380526,"IWM":-0.367746}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.231063},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8accb9faeacb","ts":"2026-08-28T15:30:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 5.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.4127,"target":13.7,"target_label":"prev_day_high","reward_risk":1.35,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.27},"price":13.535,"vwap":13.4853,"ext_from_open_pct":0.26,"max_ext_allowed_pct":4.0,"volume_pace":0.885,"trend":"flat","recent_slope_pct":0.0148,"volatility":"medium"},"price":13.535,"volume":{"bars":120,"last_bar_volume":15644.0,"baseline_avg":7844.7,"bar_rvol":1.994213,"raw_accel":-0.083377,"smooth_accel":2.192041,"accel_momentum":2.834058,"rvol_3bar":[0.725441,2.380916,1.994213],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":9696.0,"sell_vol":912.0,"unclassified_vol":0.0,"imbalance":0.828054,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.64847},"context":{"vwap":13.485292,"price_vs_vwap_pct":0.368612,"ema9":13.528754,"ema20":13.527068,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.551065,"dist_to_hod_atr":4.558644,"atr":0.016452,"spread_atr":0.607819,"own_change_pct":0.110947,"rel_strength_pct":{"SPY":0.094814,"IWM":0.107594}},"vas":{"raw":7,"score":8.8,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.651316},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"1b41d8bb0a11","ts":"2026-08-28T15:30:10+00:00","symbol":"SMR","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.55 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3797,"target":9.73,"target_label":"premarket_high","reward_risk":1.0,"pos_in_5d_range_pct":51.9,"room_to_5d_high_atr":1.0},"price":9.555,"vwap":9.5606,"ext_from_open_pct":-0.68,"max_ext_allowed_pct":3.0,"volume_pace":1.089,"trend":"flat","recent_slope_pct":-0.0911,"volatility":"high"},"price":9.555,"volume":{"bars":120,"last_bar_volume":43051.0,"baseline_avg":99515.8,"bar_rvol":0.432605,"raw_accel":-0.527146,"smooth_accel":-0.222605,"accel_momentum":0.187722,"rvol_3bar":[0.570461,0.919221,0.432605],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":77,"trade_rate":2.566667,"buy_vol":2007.0,"sell_vol":7724.0,"unclassified_vol":0.0,"imbalance":-0.587504,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":0.252737},"context":{"vwap":9.560599,"price_vs_vwap_pct":-0.058564,"ema9":9.576092,"ema20":9.567686,"ema_stack":false,"ema_warm":true,"hod":9.84,"dist_to_hod_pct":-2.896341,"dist_to_hod_atr":6.636142,"atr":0.042947,"spread_atr":0.232847,"own_change_pct":-0.364394,"rel_strength_pct":{"SPY":-0.380526,"IWM":-0.367746}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.254157},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"51993e144da5","ts":"2026-08-28T15:30:20+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 640.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.17; R:R 0.17 < 2.0 at 7.24; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.1955,"ext_from_open_pct":0.77,"max_ext_allowed_pct":4.0,"volume_pace":0.706,"trend":"flat","recent_slope_pct":-0.0684,"volatility":"medium"},"price":7.235,"volume":{"bars":120,"last_bar_volume":13603.0,"baseline_avg":65776.75,"bar_rvol":0.206806,"raw_accel":-0.714882,"smooth_accel":-0.259457,"accel_momentum":-1.466828,"rvol_3bar":[1.113848,0.708304,0.206806],"trend_3bar":"DECELERATING","projected_rvol":0.20191},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":11201.0,"sell_vol":2848.0,"unclassified_vol":0.0,"imbalance":0.594562,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.90559},"context":{"vwap":7.195463,"price_vs_vwap_pct":0.549474,"ema9":7.235411,"ema20":7.224212,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":1.728477,"atr":0.026034,"spread_atr":0.384106,"own_change_pct":-0.18069,"rel_strength_pct":{"SPY":-0.196822,"IWM":-0.184042}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.122959},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"a5563d2d9867","ts":"2026-08-28T15:30:25+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 645.0s, plan says WATCH; stop 7.16, target 7.39 (prev_day_high), R:R 1.66; R:R 1.66 < 2.0 at 7.25; breakout: 1-min close > 7.29 on >= 79068 sh","plan":{"state":"WATCH","setup":"","stop":7.1588,"target":7.39,"target_label":"prev_day_high","reward_risk":1.66,"pos_in_5d_range_pct":71.7,"room_to_5d_high_atr":0.44},"price":7.2458,"vwap":7.1955,"ext_from_open_pct":0.92,"max_ext_allowed_pct":3.0,"volume_pace":0.706,"trend":"flat","recent_slope_pct":-0.0385,"volatility":"medium"},"price":7.2458,"volume":{"bars":120,"last_bar_volume":13603.0,"baseline_avg":65776.75,"bar_rvol":0.206806,"raw_accel":-0.714882,"smooth_accel":-0.259457,"accel_momentum":-1.466828,"rvol_3bar":[1.113848,0.708304,0.206806],"trend_3bar":"DECELERATING","projected_rvol":0.162039},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":11215.0,"sell_vol":2626.0,"unclassified_vol":0.0,"imbalance":0.620548,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.946349},"context":{"vwap":7.195463,"price_vs_vwap_pct":0.699568,"ema9":7.235411,"ema20":7.224212,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.46978,"dist_to_hod_atr":1.313642,"atr":0.026034,"spread_atr":0.384106,"own_change_pct":-0.18069,"rel_strength_pct":{"SPY":-0.196822,"IWM":-0.184042}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.128333},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"8a3ab253a589","ts":"2026-08-28T15:30:30+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 650.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.17; R:R 0.17 < 2.0 at 7.24; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.1955,"ext_from_open_pct":0.77,"max_ext_allowed_pct":4.0,"volume_pace":0.705,"trend":"flat","recent_slope_pct":-0.0684,"volatility":"medium"},"price":7.235,"volume":{"bars":120,"last_bar_volume":13603.0,"baseline_avg":65776.75,"bar_rvol":0.206806,"raw_accel":-0.714882,"smooth_accel":-0.259457,"accel_momentum":-1.466828,"rvol_3bar":[1.113848,0.708304,0.206806],"trend_3bar":"DECELERATING","projected_rvol":0.135975},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":2729.0,"sell_vol":1743.0,"unclassified_vol":0.0,"imbalance":0.220483,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.940288},"context":{"vwap":7.195463,"price_vs_vwap_pct":0.549474,"ema9":7.235411,"ema20":7.224212,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":1.728477,"atr":0.026034,"spread_atr":0.384106,"own_change_pct":-0.18069,"rel_strength_pct":{"SPY":-0.196822,"IWM":-0.184042}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.045597},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"61c66f4fa340","ts":"2026-08-28T15:30:40+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 660.0s, plan says WATCH; stop 7.15, target 7.39 (prev_day_high), R:R 1.74; R:R 1.74 < 2.0 at 7.24; breakout: 1-min close > 7.29 on >= 79068 sh","plan":{"state":"WATCH","setup":"","stop":7.152,"target":7.39,"target_label":"prev_day_high","reward_risk":1.74,"pos_in_5d_range_pct":70.5,"room_to_5d_high_atr":0.46},"price":7.239,"vwap":7.1955,"ext_from_open_pct":0.82,"max_ext_allowed_pct":3.0,"volume_pace":0.704,"trend":"flat","recent_slope_pct":-0.0573,"volatility":"medium"},"price":7.239,"volume":{"bars":120,"last_bar_volume":13603.0,"baseline_avg":65776.75,"bar_rvol":0.206806,"raw_accel":-0.714882,"smooth_accel":-0.259457,"accel_momentum":-1.466828,"rvol_3bar":[1.113848,0.708304,0.206806],"trend_3bar":"DECELERATING","projected_rvol":0.107181},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":2576.0,"sell_vol":1348.0,"unclassified_vol":0.0,"imbalance":0.312946,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.040375},"context":{"vwap":7.195463,"price_vs_vwap_pct":0.605064,"ema9":7.235411,"ema20":7.224212,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.563187,"dist_to_hod_atr":1.574835,"atr":0.026034,"spread_atr":0.384106,"own_change_pct":-0.18069,"rel_strength_pct":{"SPY":-0.196822,"IWM":-0.184042}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.064719},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"2f328709573c","ts":"2026-08-28T15:30:40+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.6668,"target":5.92,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":-9.0,"room_to_5d_high_atr":1.36},"price":5.8,"vwap":5.7795,"ext_from_open_pct":-1.36,"max_ext_allowed_pct":3.0,"volume_pace":1.444,"trend":"flat","recent_slope_pct":-0.0601,"volatility":"high"},"price":5.8,"volume":{"bars":120,"last_bar_volume":10466.0,"baseline_avg":62203.35,"bar_rvol":0.168255,"raw_accel":-0.729993,"smooth_accel":-0.540938,"accel_momentum":-0.009087,"rvol_3bar":[0.687756,0.639682,0.168255],"trend_3bar":"DECELERATING","projected_rvol":0.341533},"flow":{"window_s":30,"trades":96,"trade_rate":3.2,"buy_vol":8905.0,"sell_vol":5179.0,"unclassified_vol":0.0,"imbalance":0.264556,"bid":5.79,"ask":5.8,"spread_pct":0.172563,"quote_size_imbalance":null,"quote_age_s":0.028202},"context":{"vwap":5.779459,"price_vs_vwap_pct":0.35541,"ema9":5.80421,"ema20":5.796697,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.192243,"dist_to_hod_atr":5.523654,"atr":0.023535,"spread_atr":0.424896,"own_change_pct":-0.151364,"rel_strength_pct":{"SPY":-0.167497,"IWM":-0.154717}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.044513},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"e8d575ad0295","ts":"2026-08-28T15:30:50+00:00","symbol":"NVAX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":8.9648,"target":9.18,"target_label":"prev_day_high","reward_risk":0.95,"pos_in_5d_range_pct":61.7,"room_to_5d_high_atr":1.15},"price":9.075,"vwap":9.0728,"ext_from_open_pct":-1.14,"max_ext_allowed_pct":3.0,"volume_pace":0.922,"trend":"flat","recent_slope_pct":0.085,"volatility":"medium"},"price":9.075,"volume":{"bars":120,"last_bar_volume":3617.0,"baseline_avg":2899.45,"bar_rvol":1.247478,"raw_accel":-0.234497,"smooth_accel":-0.507465,"accel_momentum":-4.833063,"rvol_3bar":[0.382837,1.588796,1.247478],"trend_3bar":"MIXED","projected_rvol":1.923261},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":285.0,"sell_vol":3972.0,"unclassified_vol":0.0,"imbalance":-0.866103,"bid":9.07,"ask":9.08,"spread_pct":0.110193,"quote_size_imbalance":null,"quote_age_s":1.610432},"context":{"vwap":9.072753,"price_vs_vwap_pct":0.02477,"ema9":9.044734,"ema20":9.034072,"ema_stack":true,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-2.419355,"dist_to_hod_atr":8.91942,"atr":0.025226,"spread_atr":0.396419,"own_change_pct":0.330965,"rel_strength_pct":{"SPY":0.314832,"IWM":0.327612}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-1.080444},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ada82b396e11","ts":"2026-08-28T15:30:50+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 670.0s, plan says PASS; stop 7.14, target 7.25 (premarket_high), R:R 0.23; R:R 0.23 < 2.0 at 7.23; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.143,"target":7.25,"target_label":"premarket_high","reward_risk":0.23,"pos_in_5d_range_pct":68.8,"room_to_5d_high_atr":0.49},"price":7.23,"vwap":7.1955,"ext_from_open_pct":0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.704,"trend":"flat","recent_slope_pct":-0.0822,"volatility":"medium"},"price":7.23,"volume":{"bars":120,"last_bar_volume":13603.0,"baseline_avg":65776.75,"bar_rvol":0.206806,"raw_accel":-0.714882,"smooth_accel":-0.259457,"accel_momentum":-1.466828,"rvol_3bar":[1.113848,0.708304,0.206806],"trend_3bar":"DECELERATING","projected_rvol":0.167986},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":347.0,"sell_vol":4434.0,"unclassified_vol":0.0,"imbalance":-0.854842,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.940151},"context":{"vwap":7.195463,"price_vs_vwap_pct":0.479985,"ema9":7.235411,"ema20":7.224212,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.686813,"dist_to_hod_atr":1.92053,"atr":0.026034,"spread_atr":0.384106,"own_change_pct":-0.18069,"rel_strength_pct":{"SPY":-0.196822,"IWM":-0.184042}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.176786},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"99c84fcb69e2","ts":"2026-08-28T15:30:55+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 675.0s, plan says WATCH; stop 7.15, target 7.39 (prev_day_high), R:R 1.72; R:R 1.72 < 2.0 at 7.24; breakout: 1-min close > 7.29 on >= 79068 sh","plan":{"state":"WATCH","setup":"","stop":7.153,"target":7.39,"target_label":"prev_day_high","reward_risk":1.72,"pos_in_5d_range_pct":70.6,"room_to_5d_high_atr":0.46},"price":7.24,"vwap":7.1956,"ext_from_open_pct":0.84,"max_ext_allowed_pct":3.0,"volume_pace":0.705,"trend":"flat","recent_slope_pct":-0.0545,"volatility":"medium"},"price":7.24,"volume":{"bars":120,"last_bar_volume":13603.0,"baseline_avg":65776.75,"bar_rvol":0.206806,"raw_accel":-0.714882,"smooth_accel":-0.259457,"accel_momentum":-1.466828,"rvol_3bar":[1.113848,0.708304,0.206806],"trend_3bar":"DECELERATING","projected_rvol":0.332148},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":5483.0,"sell_vol":10103.0,"unclassified_vol":0.0,"imbalance":-0.29642,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.065505},"context":{"vwap":7.195463,"price_vs_vwap_pct":0.618962,"ema9":7.235411,"ema20":7.224212,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.549451,"dist_to_hod_atr":1.536424,"atr":0.026034,"spread_atr":0.384106,"own_change_pct":-0.18069,"rel_strength_pct":{"SPY":-0.196822,"IWM":-0.184042}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.061301},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"dac9f2669422","ts":"2026-08-28T15:31:00+00:00","symbol":"NVAX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.07 below VWAP $9.07","plan":{"state":"PASS","setup":"","stop":8.9617,"target":9.18,"target_label":"prev_day_high","reward_risk":0.98,"pos_in_5d_range_pct":61.5,"room_to_5d_high_atr":1.15},"price":9.0719,"vwap":9.0729,"ext_from_open_pct":-1.18,"max_ext_allowed_pct":3.0,"volume_pace":0.923,"trend":"flat","recent_slope_pct":0.0782,"volatility":"medium"},"price":9.0719,"volume":{"bars":120,"last_bar_volume":3617.0,"baseline_avg":2899.45,"bar_rvol":1.247478,"raw_accel":-0.234497,"smooth_accel":-0.507465,"accel_momentum":-4.833063,"rvol_3bar":[0.382837,1.588796,1.247478],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":991.0,"sell_vol":3060.0,"unclassified_vol":0.0,"imbalance":-0.510738,"bid":9.07,"ask":9.08,"spread_pct":0.110193,"quote_size_imbalance":null,"quote_age_s":0.538947},"context":{"vwap":9.072753,"price_vs_vwap_pct":-0.009398,"ema9":9.044734,"ema20":9.034072,"ema_stack":true,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-2.452688,"dist_to_hod_atr":9.04231,"atr":0.025226,"spread_atr":0.396419,"own_change_pct":0.330965,"rel_strength_pct":{"SPY":0.360898,"IWM":0.426479}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.637135},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"aade4d67ccdb","ts":"2026-08-28T15:31:00+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 55.0s, plan says WATCH; stop 13.41, target 13.61 (ceiling), R:R 0.65; selling not fading: red-bar volume 4.25x the advance (max 0.7); imbalance -100% still heavy selling; R:R 0.65 < 2.0 at 13.53;","plan":{"state":"WATCH","setup":"","stop":13.4077,"target":13.61,"target_label":"ceiling","reward_risk":0.65,"pos_in_5d_range_pct":24.1,"room_to_5d_high_atr":1.28},"price":13.53,"vwap":13.4854,"ext_from_open_pct":0.22,"max_ext_allowed_pct":3.0,"volume_pace":0.881,"trend":"flat","recent_slope_pct":0.0074,"volatility":"medium"},"price":13.53,"volume":{"bars":120,"last_bar_volume":15644.0,"baseline_avg":7844.7,"bar_rvol":1.994213,"raw_accel":-0.083377,"smooth_accel":2.192041,"accel_momentum":2.834058,"rvol_3bar":[0.725441,2.380916,1.994213],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":15,"trade_rate":0.5,"buy_vol":1002.0,"sell_vol":223.0,"unclassified_vol":0.0,"imbalance":0.635918,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.003006},"context":{"vwap":13.485292,"price_vs_vwap_pct":0.331535,"ema9":13.528754,"ema20":13.527068,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.587803,"dist_to_hod_atr":4.862553,"atr":0.016452,"spread_atr":0.607819,"own_change_pct":0.110947,"rel_strength_pct":{"SPY":0.140881,"IWM":0.206461}},"vas":{"raw":7,"score":8.8,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.268156},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b2eadd57e7d1","ts":"2026-08-28T15:31:00+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 680.0s, plan says PASS; stop 7.15, target 7.25 (premarket_high), R:R 0.17; R:R 0.17 < 2.0 at 7.24; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.148,"target":7.25,"target_label":"premarket_high","reward_risk":0.17,"pos_in_5d_range_pct":69.7,"room_to_5d_high_atr":0.47},"price":7.235,"vwap":7.1956,"ext_from_open_pct":0.77,"max_ext_allowed_pct":3.0,"volume_pace":0.704,"trend":"flat","recent_slope_pct":-0.0684,"volatility":"medium"},"price":7.235,"volume":{"bars":120,"last_bar_volume":13603.0,"baseline_avg":65776.75,"bar_rvol":0.206806,"raw_accel":-0.714882,"smooth_accel":-0.259457,"accel_momentum":-1.466828,"rvol_3bar":[1.113848,0.708304,0.206806],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":6280.0,"sell_vol":10587.0,"unclassified_vol":0.0,"imbalance":-0.255351,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":2.893209},"context":{"vwap":7.195463,"price_vs_vwap_pct":0.549474,"ema9":7.235411,"ema20":7.224212,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.618132,"dist_to_hod_atr":1.728477,"atr":0.026034,"spread_atr":0.384106,"own_change_pct":-0.18069,"rel_strength_pct":{"SPY":-0.150756,"IWM":-0.085175}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.052808},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"689b5c028a78","ts":"2026-08-28T15:31:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 60.0s, plan says PASS; stop 13.41, target 13.70 (prev_day_high), R:R 1.35; target 0.17 away > ~0.13 reachable in 264 min","plan":{"state":"PASS","setup":"","stop":13.4121,"target":13.7,"target_label":"prev_day_high","reward_risk":1.35,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.28},"price":13.5344,"vwap":13.4854,"ext_from_open_pct":0.25,"max_ext_allowed_pct":3.0,"volume_pace":0.88,"trend":"flat","recent_slope_pct":0.0176,"volatility":"medium"},"price":13.5344,"volume":{"bars":121,"last_bar_volume":3842.0,"baseline_avg":8396.45,"bar_rvol":0.457574,"raw_accel":-0.754411,"smooth_accel":1.986356,"accel_momentum":-0.205685,"rvol_3bar":[2.380916,1.994213,0.457574],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":14,"trade_rate":0.466667,"buy_vol":1002.0,"sell_vol":233.0,"unclassified_vol":0.0,"imbalance":0.622672,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":4.551556},"context":{"vwap":13.4854,"price_vs_vwap_pct":0.36336,"ema9":13.529003,"ema20":13.527348,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.555474,"dist_to_hod_atr":4.677403,"atr":0.016163,"spread_atr":0.618704,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.029934,"IWM":0.095514}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.284919},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"1daf415a0e80","ts":"2026-08-28T15:31:05+00:00","symbol":"RDW","event":"REJECT","bot":{"state":"REJECT","reason":"price $11.01 below VWAP $11.01","plan":{"state":"PASS","setup":"","stop":10.8102,"target":11.14,"target_label":"ceiling","reward_risk":0.65,"pos_in_5d_range_pct":-10.9,"room_to_5d_high_atr":1.64},"price":11.01,"vwap":11.0131,"ext_from_open_pct":-1.17,"max_ext_allowed_pct":3.0,"volume_pace":1.239,"trend":"flat","recent_slope_pct":-0.108,"volatility":"high"},"price":11.01,"volume":{"bars":121,"last_bar_volume":10511.0,"baseline_avg":8874.25,"bar_rvol":1.184438,"raw_accel":0.244347,"smooth_accel":-0.277677,"accel_momentum":-0.252981,"rvol_3bar":[0.221195,0.915838,1.184438],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":76,"trade_rate":2.533333,"buy_vol":931.0,"sell_vol":5834.0,"unclassified_vol":0.0,"imbalance":-0.72476,"bid":11.01,"ask":11.02,"spread_pct":0.090785,"quote_size_imbalance":null,"quote_age_s":0.555892},"context":{"vwap":11.013117,"price_vs_vwap_pct":-0.028306,"ema9":11.048027,"ema20":11.051011,"ema_stack":false,"ema_warm":true,"hod":11.1819,"dist_to_hod_pct":-1.537306,"dist_to_hod_atr":6.828715,"atr":0.025173,"spread_atr":0.397249,"own_change_pct":-0.252422,"rel_strength_pct":{"SPY":-0.222489,"IWM":-0.156908}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":0,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.858433},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c26f58b71a17","ts":"2026-08-28T15:31:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 685.0s, plan says WATCH; stop 7.16, target 7.39 (prev_day_high), R:R 1.67; R:R 1.67 < 2.0 at 7.24; breakout: 1-min close > 7.29 on >= 78890 sh","plan":{"state":"WATCH","setup":"","stop":7.1574,"target":7.39,"target_label":"prev_day_high","reward_risk":1.67,"pos_in_5d_range_pct":71.4,"room_to_5d_high_atr":0.45},"price":7.2444,"vwap":7.1956,"ext_from_open_pct":0.9,"max_ext_allowed_pct":3.0,"volume_pace":0.704,"trend":"flat","recent_slope_pct":0.0014,"volatility":"medium"},"price":7.2444,"volume":{"bars":121,"last_bar_volume":21339.0,"baseline_avg":60705.55,"bar_rvol":0.351516,"raw_accel":0.406066,"smooth_accel":-0.64178,"accel_momentum":-0.382324,"rvol_3bar":[0.708304,0.206806,0.351516],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":6317.0,"sell_vol":10484.0,"unclassified_vol":0.0,"imbalance":-0.248021,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":1.700931},"context":{"vwap":7.195606,"price_vs_vwap_pct":0.678106,"ema9":7.235329,"ema20":7.22524,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.489011,"dist_to_hod_atr":1.406526,"atr":0.025311,"spread_atr":0.395092,"own_change_pct":-0.187622,"rel_strength_pct":{"SPY":-0.157689,"IWM":-0.092108}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.087183},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"edaf80eb6398","ts":"2026-08-28T15:31:05+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.06 below VWAP $7.06","plan":{"state":"PASS","setup":"","stop":6.9643,"target":7.18,"target_label":"ceiling","reward_risk":1.25,"pos_in_5d_range_pct":-2.9,"room_to_5d_high_atr":1.87},"price":7.06,"vwap":7.0602,"ext_from_open_pct":-1.12,"max_ext_allowed_pct":4.0,"volume_pace":1.41,"trend":"flat","recent_slope_pct":-0.0444,"volatility":"medium"},"price":7.06,"volume":{"bars":121,"last_bar_volume":77413.0,"baseline_avg":44259.9,"bar_rvol":1.749055,"raw_accel":5.99622,"smooth_accel":-0.259752,"accel_momentum":0.246487,"rvol_3bar":[0.449405,0.125148,1.749055],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":4196.0,"sell_vol":116.0,"unclassified_vol":0.0,"imbalance":0.946197,"bid":7.06,"ask":7.07,"spread_pct":0.141543,"quote_size_imbalance":null,"quote_age_s":0.89436},"context":{"vwap":7.060215,"price_vs_vwap_pct":-0.003044,"ema9":7.070707,"ema20":7.064278,"ema_stack":false,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.671309,"dist_to_hod_atr":6.387284,"atr":0.018787,"spread_atr":0.532274,"own_change_pct":-0.074923,"rel_strength_pct":{"SPY":-0.044989,"IWM":0.020591}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.65495},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"604ee650fd84","ts":"2026-08-28T15:31:05+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.6568,"target":5.92,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":-10.5,"room_to_5d_high_atr":1.38},"price":5.79,"vwap":5.7796,"ext_from_open_pct":-1.53,"max_ext_allowed_pct":4.0,"volume_pace":1.446,"trend":"flat","recent_slope_pct":-0.0639,"volatility":"high"},"price":5.79,"volume":{"bars":121,"last_bar_volume":60524.0,"baseline_avg":60832.65,"bar_rvol":0.994926,"raw_accel":2.979705,"smooth_accel":-0.178005,"accel_momentum":0.362933,"rvol_3bar":[0.639682,0.168255,0.994926],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":98,"trade_rate":3.266667,"buy_vol":47699.0,"sell_vol":11263.0,"unclassified_vol":0.0,"imbalance":0.617957,"bid":5.79,"ask":5.8,"spread_pct":0.172563,"quote_size_imbalance":null,"quote_age_s":0.703859},"context":{"vwap":5.779599,"price_vs_vwap_pct":0.179963,"ema9":5.804908,"ema20":5.797745,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.360877,"dist_to_hod_atr":5.981867,"atr":0.023404,"spread_atr":0.427276,"own_change_pct":-0.125537,"rel_strength_pct":{"SPY":-0.095604,"IWM":-0.030023}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.614822},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b17c5baef1f0","ts":"2026-08-28T15:31:10+00:00","symbol":"NVAX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":8.9651,"target":9.18,"target_label":"prev_day_high","reward_risk":0.95,"pos_in_5d_range_pct":61.8,"room_to_5d_high_atr":1.15},"price":9.0753,"vwap":9.0729,"ext_from_open_pct":-1.14,"max_ext_allowed_pct":3.0,"volume_pace":0.922,"trend":"flat","recent_slope_pct":0.0829,"volatility":"medium"},"price":9.0753,"volume":{"bars":121,"last_bar_volume":6884.0,"baseline_avg":2785.2,"bar_rvol":2.471636,"raw_accel":0.903235,"smooth_accel":-0.188769,"accel_momentum":0.318696,"rvol_3bar":[1.588796,1.247478,2.471636],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":1031.0,"sell_vol":2151.0,"unclassified_vol":0.0,"imbalance":-0.35198,"bid":9.07,"ask":9.08,"spread_pct":0.110193,"quote_size_imbalance":null,"quote_age_s":0.073214},"context":{"vwap":9.072855,"price_vs_vwap_pct":0.02695,"ema9":9.050167,"ema20":9.037675,"ema_stack":true,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-2.416129,"dist_to_hod_atr":7.905289,"atr":0.028424,"spread_atr":0.351815,"own_change_pct":0.297402,"rel_strength_pct":{"SPY":0.327336,"IWM":0.392916}},"vas":{"raw":0,"score":4.4,"components":{"rvol":2,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.869966},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6fa584ac8038","ts":"2026-08-28T15:31:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 65.0s, plan says WATCH; stop 13.41, target 13.61 (ceiling), R:R 0.65; selling not fading: red-bar volume 4.25x the advance (max 0.7); imbalance -77% still heavy selling; no reclaim yet (needs a c","plan":{"state":"WATCH","setup":"","stop":13.4077,"target":13.61,"target_label":"ceiling","reward_risk":0.65,"pos_in_5d_range_pct":24.1,"room_to_5d_high_atr":1.28},"price":13.53,"vwap":13.4855,"ext_from_open_pct":0.22,"max_ext_allowed_pct":3.0,"volume_pace":0.881,"trend":"flat","recent_slope_pct":0.0111,"volatility":"medium"},"price":13.53,"volume":{"bars":121,"last_bar_volume":3842.0,"baseline_avg":8396.45,"bar_rvol":0.457574,"raw_accel":-0.754411,"smooth_accel":1.986356,"accel_momentum":-0.205685,"rvol_3bar":[2.380916,1.994213,0.457574],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":25,"trade_rate":0.833333,"buy_vol":348.0,"sell_vol":2617.0,"unclassified_vol":0.0,"imbalance":-0.765261,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":1.318661},"context":{"vwap":13.4854,"price_vs_vwap_pct":0.330732,"ema9":13.529003,"ema20":13.527348,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.587803,"dist_to_hod_atr":4.949633,"atr":0.016163,"spread_atr":0.618704,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.029934,"IWM":0.095514}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.350164},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"ecdecabc4588","ts":"2026-08-28T15:31:10+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 690.0s, plan says PASS; stop 7.14, target 7.25 (premarket_high), R:R 0.23; R:R 0.23 < 2.0 at 7.23; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.143,"target":7.25,"target_label":"premarket_high","reward_risk":0.23,"pos_in_5d_range_pct":68.8,"room_to_5d_high_atr":0.49},"price":7.23,"vwap":7.1956,"ext_from_open_pct":0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.704,"trend":"flat","recent_slope_pct":-0.0384,"volatility":"medium"},"price":7.23,"volume":{"bars":121,"last_bar_volume":21339.0,"baseline_avg":60705.55,"bar_rvol":0.351516,"raw_accel":0.406066,"smooth_accel":-0.64178,"accel_momentum":-0.382324,"rvol_3bar":[0.708304,0.206806,0.351516],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":6618.0,"sell_vol":10791.0,"unclassified_vol":0.0,"imbalance":-0.239704,"bid":7.23,"ask":7.24,"spread_pct":0.138217,"quote_size_imbalance":null,"quote_age_s":0.002982},"context":{"vwap":7.195606,"price_vs_vwap_pct":0.477984,"ema9":7.235329,"ema20":7.22524,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.686813,"dist_to_hod_atr":1.975458,"atr":0.025311,"spread_atr":0.395092,"own_change_pct":-0.187622,"rel_strength_pct":{"SPY":-0.157689,"IWM":-0.092108}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.08426},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e2a97a262846","ts":"2026-08-28T15:31:15+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.6567,"target":5.92,"target_label":"ceiling","reward_risk":0.98,"pos_in_5d_range_pct":-10.5,"room_to_5d_high_atr":1.38},"price":5.7899,"vwap":5.7796,"ext_from_open_pct":-1.53,"max_ext_allowed_pct":3.0,"volume_pace":1.448,"trend":"flat","recent_slope_pct":-0.0643,"volatility":"high"},"price":5.7899,"volume":{"bars":121,"last_bar_volume":60524.0,"baseline_avg":60832.65,"bar_rvol":0.994926,"raw_accel":2.979705,"smooth_accel":-0.178005,"accel_momentum":0.362933,"rvol_3bar":[0.639682,0.168255,0.994926],"trend_3bar":"MIXED","projected_rvol":1.922849},"flow":{"window_s":30,"trades":94,"trade_rate":3.133333,"buy_vol":21942.0,"sell_vol":34209.0,"unclassified_vol":0.0,"imbalance":-0.218464,"bid":5.78,"ask":5.79,"spread_pct":0.172861,"quote_size_imbalance":null,"quote_age_s":1.537382},"context":{"vwap":5.779599,"price_vs_vwap_pct":0.178232,"ema9":5.804908,"ema20":5.797745,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.362563,"dist_to_hod_atr":5.98614,"atr":0.023404,"spread_atr":0.427276,"own_change_pct":-0.125537,"rel_strength_pct":{"SPY":-0.095604,"IWM":-0.030023}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.217356},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"16967ef5048d","ts":"2026-08-28T15:31:20+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.9728,"target":7.18,"target_label":"ceiling","reward_risk":1.16,"pos_in_5d_range_pct":-1.7,"room_to_5d_high_atr":1.85},"price":7.0685,"vwap":7.0602,"ext_from_open_pct":-1.0,"max_ext_allowed_pct":3.0,"volume_pace":1.409,"trend":"flat","recent_slope_pct":-0.0204,"volatility":"medium"},"price":7.0685,"volume":{"bars":121,"last_bar_volume":77413.0,"baseline_avg":44259.9,"bar_rvol":1.749055,"raw_accel":5.99622,"smooth_accel":-0.259752,"accel_momentum":0.246487,"rvol_3bar":[0.449405,0.125148,1.749055],"trend_3bar":"MIXED","projected_rvol":0.512292},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":5142.0,"sell_vol":2620.0,"unclassified_vol":0.0,"imbalance":0.324916,"bid":7.05,"ask":7.06,"spread_pct":0.141743,"quote_size_imbalance":null,"quote_age_s":0.045278},"context":{"vwap":7.060215,"price_vs_vwap_pct":0.117349,"ema9":7.070707,"ema20":7.064278,"ema_stack":false,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.552925,"dist_to_hod_atr":5.934852,"atr":0.018787,"spread_atr":0.532274,"own_change_pct":-0.074923,"rel_strength_pct":{"SPY":-0.044989,"IWM":0.020591}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.568296},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f33bd7443393","ts":"2026-08-28T15:31:25+00:00","symbol":"NVAX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.07 below VWAP $9.07","plan":{"state":"PASS","setup":"","stop":8.9592,"target":9.18,"target_label":"prev_day_high","reward_risk":1.0,"pos_in_5d_range_pct":61.3,"room_to_5d_high_atr":1.16},"price":9.0694,"vwap":9.0729,"ext_from_open_pct":-1.2,"max_ext_allowed_pct":3.0,"volume_pace":0.92,"trend":"flat","recent_slope_pct":0.0699,"volatility":"medium"},"price":9.0694,"volume":{"bars":121,"last_bar_volume":6884.0,"baseline_avg":2785.2,"bar_rvol":2.471636,"raw_accel":0.903235,"smooth_accel":-0.188769,"accel_momentum":0.318696,"rvol_3bar":[1.588796,1.247478,2.471636],"trend_3bar":"MIXED","projected_rvol":0.277467},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":866.0,"sell_vol":368.0,"unclassified_vol":0.0,"imbalance":0.403566,"bid":9.07,"ask":9.08,"spread_pct":0.110193,"quote_size_imbalance":null,"quote_age_s":3.94135},"context":{"vwap":9.072855,"price_vs_vwap_pct":-0.038079,"ema9":9.050167,"ema20":9.037675,"ema_stack":true,"ema_warm":true,"hod":9.3,"dist_to_hod_pct":-2.47957,"dist_to_hod_atr":8.11286,"atr":0.028424,"spread_atr":0.351815,"own_change_pct":0.297402,"rel_strength_pct":{"SPY":0.327336,"IWM":0.392916}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.997467},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"dc179fedcc19","ts":"2026-08-28T15:31:25+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 80.0s, plan says PASS; stop 13.41, target 13.70 (prev_day_high), R:R 1.38; target 0.17 away > ~0.13 reachable in 264 min","plan":{"state":"PASS","setup":"","stop":13.4091,"target":13.7,"target_label":"prev_day_high","reward_risk":1.38,"pos_in_5d_range_pct":24.3,"room_to_5d_high_atr":1.28},"price":13.5314,"vwap":13.4855,"ext_from_open_pct":0.23,"max_ext_allowed_pct":3.0,"volume_pace":0.879,"trend":"flat","recent_slope_pct":0.0132,"volatility":"medium"},"price":13.5314,"volume":{"bars":121,"last_bar_volume":3842.0,"baseline_avg":8396.45,"bar_rvol":0.457574,"raw_accel":-0.754411,"smooth_accel":1.986356,"accel_momentum":-0.205685,"rvol_3bar":[2.380916,1.994213,0.457574],"trend_3bar":"DECELERATING","projected_rvol":0.854647},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":454.0,"sell_vol":2617.0,"unclassified_vol":0.0,"imbalance":-0.704331,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":10.433934},"context":{"vwap":13.4854,"price_vs_vwap_pct":0.341113,"ema9":13.529003,"ema20":13.527348,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.577517,"dist_to_hod_atr":4.863014,"atr":0.016163,"spread_atr":0.618704,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.029934,"IWM":0.095514}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.322284},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"a8ffb632b37e","ts":"2026-08-28T15:31:25+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.06 below VWAP $7.06","plan":{"state":"PASS","setup":"","stop":6.9629,"target":7.18,"target_label":"ceiling","reward_risk":1.27,"pos_in_5d_range_pct":-3.1,"room_to_5d_high_atr":1.87},"price":7.0586,"vwap":7.0602,"ext_from_open_pct":-1.14,"max_ext_allowed_pct":3.0,"volume_pace":1.408,"trend":"flat","recent_slope_pct":-0.0484,"volatility":"medium"},"price":7.0586,"volume":{"bars":121,"last_bar_volume":77413.0,"baseline_avg":44259.9,"bar_rvol":1.749055,"raw_accel":5.99622,"smooth_accel":-0.259752,"accel_momentum":0.246487,"rvol_3bar":[0.449405,0.125148,1.749055],"trend_3bar":"MIXED","projected_rvol":0.442098},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":4944.0,"sell_vol":3210.0,"unclassified_vol":0.0,"imbalance":0.212656,"bid":7.05,"ask":7.06,"spread_pct":0.141743,"quote_size_imbalance":null,"quote_age_s":3.002001},"context":{"vwap":7.060215,"price_vs_vwap_pct":-0.022873,"ema9":7.070707,"ema20":7.064278,"ema_stack":false,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.690808,"dist_to_hod_atr":6.461803,"atr":0.018787,"spread_atr":0.532274,"own_change_pct":-0.074923,"rel_strength_pct":{"SPY":-0.044989,"IWM":0.020591}},"vas":{"raw":2,"score":5.6,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.371948},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"76ba4942a80d","ts":"2026-08-28T15:31:30+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 85.0s, plan says WATCH; stop 13.41, target 13.61 (ceiling), R:R 0.67; selling not fading: red-bar volume 4.25x the advance (max 0.7); imbalance -64% still heavy selling; no reclaim yet (needs a c","plan":{"state":"WATCH","setup":"","stop":13.4061,"target":13.61,"target_label":"ceiling","reward_risk":0.67,"pos_in_5d_range_pct":23.9,"room_to_5d_high_atr":1.29},"price":13.5284,"vwap":13.4855,"ext_from_open_pct":0.21,"max_ext_allowed_pct":3.0,"volume_pace":0.879,"trend":"flat","recent_slope_pct":0.0087,"volatility":"medium"},"price":13.5284,"volume":{"bars":121,"last_bar_volume":3842.0,"baseline_avg":8396.45,"bar_rvol":0.457574,"raw_accel":-0.754411,"smooth_accel":1.986356,"accel_momentum":-0.205685,"rvol_3bar":[2.380916,1.994213,0.457574],"trend_3bar":"DECELERATING","projected_rvol":0.736025},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":454.0,"sell_vol":2636.0,"unclassified_vol":0.0,"imbalance":-0.706149,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.002983},"context":{"vwap":13.4854,"price_vs_vwap_pct":0.318867,"ema9":13.529003,"ema20":13.527348,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.599559,"dist_to_hod_atr":5.048626,"atr":0.016163,"spread_atr":0.618704,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.029934,"IWM":0.095514}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.323116},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"026c17a7c375","ts":"2026-08-28T15:31:30+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.1429,"target":13.51,"target_label":"ceiling","reward_risk":1.7,"pos_in_5d_range_pct":14.3,"room_to_5d_high_atr":1.47},"price":13.279,"vwap":13.2708,"ext_from_open_pct":-1.86,"max_ext_allowed_pct":3.0,"volume_pace":1.26,"trend":"flat","recent_slope_pct":0.0363,"volatility":"medium"},"price":13.279,"volume":{"bars":121,"last_bar_volume":7326.0,"baseline_avg":22749.5,"bar_rvol":0.322029,"raw_accel":-0.730046,"smooth_accel":-0.256793,"accel_momentum":-0.512359,"rvol_3bar":[1.071946,1.203638,0.322029],"trend_3bar":"MIXED","projected_rvol":0.23895},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":1470.0,"sell_vol":1248.0,"unclassified_vol":0.0,"imbalance":0.081678,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.002093},"context":{"vwap":13.270801,"price_vs_vwap_pct":0.061785,"ema9":13.267618,"ema20":13.274158,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.072271,"dist_to_hod_atr":5.985863,"atr":0.046944,"spread_atr":0.21302,"own_change_pct":-0.112909,"rel_strength_pct":{"SPY":-0.082975,"IWM":-0.017395}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.026303},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b03304b49157","ts":"2026-08-28T15:31:40+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.26 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1239,"target":13.51,"target_label":"ceiling","reward_risk":1.84,"pos_in_5d_range_pct":12.3,"room_to_5d_high_atr":1.51},"price":13.26,"vwap":13.2708,"ext_from_open_pct":-2.0,"max_ext_allowed_pct":3.0,"volume_pace":1.259,"trend":"flat","recent_slope_pct":0.0076,"volatility":"medium"},"price":13.26,"volume":{"bars":121,"last_bar_volume":7326.0,"baseline_avg":22749.5,"bar_rvol":0.322029,"raw_accel":-0.730046,"smooth_accel":-0.256793,"accel_momentum":-0.512359,"rvol_3bar":[1.071946,1.203638,0.322029],"trend_3bar":"MIXED","projected_rvol":0.307062},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":1470.0,"sell_vol":2762.0,"unclassified_vol":0.0,"imbalance":-0.305293,"bid":13.26,"ask":13.27,"spread_pct":0.075386,"quote_size_imbalance":null,"quote_age_s":0.060354},"context":{"vwap":13.270801,"price_vs_vwap_pct":-0.081386,"ema9":13.267618,"ema20":13.274158,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.212389,"dist_to_hod_atr":6.390601,"atr":0.046944,"spread_atr":0.21302,"own_change_pct":-0.112909,"rel_strength_pct":{"SPY":-0.082975,"IWM":-0.017395}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.098313},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a956343cb2b5","ts":"2026-08-28T15:31:45+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 100.0s, plan says PASS; stop 13.41, target 13.70 (prev_day_high), R:R 1.38; target 0.17 away > ~0.13 reachable in 263 min","plan":{"state":"PASS","setup":"","stop":13.4088,"target":13.7,"target_label":"prev_day_high","reward_risk":1.38,"pos_in_5d_range_pct":24.3,"room_to_5d_high_atr":1.28},"price":13.5311,"vwap":13.4855,"ext_from_open_pct":0.23,"max_ext_allowed_pct":4.0,"volume_pace":0.877,"trend":"flat","recent_slope_pct":0.0127,"volatility":"medium"},"price":13.5311,"volume":{"bars":121,"last_bar_volume":3842.0,"baseline_avg":8396.45,"bar_rvol":0.457574,"raw_accel":-0.754411,"smooth_accel":1.986356,"accel_momentum":-0.205685,"rvol_3bar":[2.380916,1.994213,0.457574],"trend_3bar":"DECELERATING","projected_rvol":0.491319},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":14.0,"sell_vol":100.0,"unclassified_vol":0.0,"imbalance":-0.754386,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":15.002983},"context":{"vwap":13.4854,"price_vs_vwap_pct":0.338889,"ema9":13.529003,"ema20":13.527348,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.579721,"dist_to_hod_atr":4.881576,"atr":0.016163,"spread_atr":0.618704,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.029934,"IWM":0.095514}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.345188},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"63feaa283074","ts":"2026-08-28T15:31:50+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"held 105.0s, plan says WATCH; stop 13.40, target 13.61 (ceiling), R:R 0.70; selling not fading: red-bar volume 4.25x the advance (max 0.7); no reclaim yet (needs a close > 13.54); R:R 0.70 < 2.0 at 13","plan":{"state":"WATCH","setup":"","stop":13.4027,"target":13.61,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":23.5,"room_to_5d_high_atr":1.3},"price":13.525,"vwap":13.4855,"ext_from_open_pct":0.19,"max_ext_allowed_pct":4.0,"volume_pace":0.877,"trend":"flat","recent_slope_pct":0.0037,"volatility":"medium"},"price":13.525,"volume":{"bars":121,"last_bar_volume":3842.0,"baseline_avg":8396.45,"bar_rvol":0.457574,"raw_accel":-0.754411,"smooth_accel":1.986356,"accel_momentum":-0.205685,"rvol_3bar":[2.380916,1.994213,0.457574],"trend_3bar":"DECELERATING","projected_rvol":0.513646},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":514.0,"sell_vol":100.0,"unclassified_vol":0.0,"imbalance":0.674267,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.776447},"context":{"vwap":13.4854,"price_vs_vwap_pct":0.293655,"ema9":13.529003,"ema20":13.527348,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.624541,"dist_to_hod_atr":5.258985,"atr":0.016163,"spread_atr":0.618704,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.029934,"IWM":0.095514}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.308527},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"54799f68b7ba","ts":"2026-08-28T15:31:50+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 730.0s, plan says WATCH; stop 7.15, target 7.39 (prev_day_high), R:R 1.72; R:R 1.72 < 2.0 at 7.24; breakout: 1-min close > 7.29 on >= 78890 sh","plan":{"state":"WATCH","setup":"","stop":7.1531,"target":7.39,"target_label":"prev_day_high","reward_risk":1.72,"pos_in_5d_range_pct":70.7,"room_to_5d_high_atr":0.46},"price":7.2401,"vwap":7.1959,"ext_from_open_pct":0.84,"max_ext_allowed_pct":3.0,"volume_pace":0.705,"trend":"flat","recent_slope_pct":-0.0105,"volatility":"medium"},"price":7.2401,"volume":{"bars":121,"last_bar_volume":21339.0,"baseline_avg":60705.55,"bar_rvol":0.351516,"raw_accel":0.406066,"smooth_accel":-0.64178,"accel_momentum":-0.382324,"rvol_3bar":[0.708304,0.206806,0.351516],"trend_3bar":"MIXED","projected_rvol":0.910276},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":12706.0,"sell_vol":14490.0,"unclassified_vol":0.0,"imbalance":-0.065598,"bid":7.22,"ask":7.23,"spread_pct":0.138408,"quote_size_imbalance":null,"quote_age_s":3.8895},"context":{"vwap":7.195606,"price_vs_vwap_pct":0.618347,"ema9":7.235329,"ema20":7.22524,"ema_stack":true,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.548077,"dist_to_hod_atr":1.576415,"atr":0.025311,"spread_atr":0.395092,"own_change_pct":-0.187622,"rel_strength_pct":{"SPY":-0.157689,"IWM":-0.092108}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.023059},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"540fb367ec96","ts":"2026-08-28T15:31:55+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"held 735.0s, plan says PASS; stop 7.14, target 7.25 (premarket_high), R:R 0.23; R:R 0.23 < 2.0 at 7.23; no breakout level or rising-low pullback to trade","plan":{"state":"PASS","setup":"","stop":7.143,"target":7.25,"target_label":"premarket_high","reward_risk":0.23,"pos_in_5d_range_pct":68.8,"room_to_5d_high_atr":0.49},"price":7.23,"vwap":7.1959,"ext_from_open_pct":0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.705,"trend":"flat","recent_slope_pct":-0.0384,"volatility":"medium"},"price":7.23,"volume":{"bars":121,"last_bar_volume":21339.0,"baseline_avg":60705.55,"bar_rvol":0.351516,"raw_accel":0.406066,"smooth_accel":-0.64178,"accel_momentum":-0.382324,"rvol_3bar":[0.708304,0.206806,0.351516],"trend_3bar":"MIXED","projected_rvol":0.88316},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":15564.0,"sell_vol":7824.0,"unclassified_vol":0.0,"imbalance":0.330939,"bid":7.22,"ask":7.23,"spread_pct":0.138408,"quote_size_imbalance":null,"quote_age_s":8.8895},"context":{"vwap":7.195606,"price_vs_vwap_pct":0.477984,"ema9":7.235329,"ema20":7.22524,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.686813,"dist_to_hod_atr":1.975458,"atr":0.025311,"spread_atr":0.395092,"own_change_pct":-0.187622,"rel_strength_pct":{"SPY":-0.157689,"IWM":-0.092108}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.11633},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"41211caae0dc","ts":"2026-08-28T15:32:00+00:00","symbol":"JOBY","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.971,"target":7.18,"target_label":"ceiling","reward_risk":1.18,"pos_in_5d_range_pct":-1.9,"room_to_5d_high_atr":1.85},"price":7.0667,"vwap":7.0602,"ext_from_open_pct":-1.03,"max_ext_allowed_pct":3.0,"volume_pace":1.403,"trend":"flat","recent_slope_pct":-0.0255,"volatility":"medium"},"price":7.0667,"volume":{"bars":121,"last_bar_volume":77413.0,"baseline_avg":44259.9,"bar_rvol":1.749055,"raw_accel":5.99622,"smooth_accel":-0.259752,"accel_momentum":0.246487,"rvol_3bar":[0.449405,0.125148,1.749055],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":1230.0,"sell_vol":5186.0,"unclassified_vol":0.0,"imbalance":-0.616584,"bid":7.05,"ask":7.06,"spread_pct":0.141743,"quote_size_imbalance":null,"quote_age_s":0.002103},"context":{"vwap":7.060215,"price_vs_vwap_pct":0.091854,"ema9":7.070707,"ema20":7.064278,"ema_stack":false,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.577994,"dist_to_hod_atr":6.030661,"atr":0.018787,"spread_atr":0.532274,"own_change_pct":-0.074923,"rel_strength_pct":{"SPY":-0.0317,"IWM":0.052414}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":1,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.078439},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5117e809561c","ts":"2026-08-28T15:32:05+00:00","symbol":"JOBY","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.05 below VWAP $7.06","plan":{"state":"PASS","setup":"","stop":6.9593,"target":7.18,"target_label":"ceiling","reward_risk":1.31,"pos_in_5d_range_pct":-3.6,"room_to_5d_high_atr":1.88},"price":7.055,"vwap":7.0602,"ext_from_open_pct":-1.19,"max_ext_allowed_pct":4.0,"volume_pace":1.403,"trend":"flat","recent_slope_pct":-0.0788,"volatility":"medium"},"price":7.055,"volume":{"bars":122,"last_bar_volume":17827.0,"baseline_avg":45580.1,"bar_rvol":0.391114,"raw_accel":-0.769716,"smooth_accel":-0.25602,"accel_momentum":0.003733,"rvol_3bar":[0.125148,1.749055,0.391114],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":6686.0,"sell_vol":5295.0,"unclassified_vol":0.0,"imbalance":0.1161,"bid":7.05,"ask":7.06,"spread_pct":0.141743,"quote_size_imbalance":null,"quote_age_s":1.042852},"context":{"vwap":7.060222,"price_vs_vwap_pct":-0.07397,"ema9":7.069905,"ema20":7.064509,"ema_stack":false,"ema_warm":true,"hod":7.18,"dist_to_hod_pct":-1.740947,"dist_to_hod_atr":6.555897,"atr":0.019067,"spread_atr":0.524472,"own_change_pct":-0.117314,"rel_strength_pct":{"SPY":-0.074091,"IWM":0.010023}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.045408},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"75cc15d220cf","ts":"2026-08-28T15:32:25+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5205,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.897,"trend":"flat","recent_slope_pct":-0.0648,"volatility":"medium"},"price":5.56,"volume":{"bars":122,"last_bar_volume":55270.0,"baseline_avg":43988.75,"bar_rvol":1.256458,"raw_accel":4.02583,"smooth_accel":0.186261,"accel_momentum":0.901016,"rvol_3bar":[0.931097,0.198126,1.256458],"trend_3bar":"MIXED","projected_rvol":0.130833},"flow":{"window_s":30,"trades":38,"trade_rate":1.266667,"buy_vol":2871.0,"sell_vol":5310.0,"unclassified_vol":0.0,"imbalance":-0.29813,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.150474},"context":{"vwap":5.52044,"price_vs_vwap_pct":0.716617,"ema9":5.569823,"ema20":5.565383,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.572681,"atr":0.019076,"spread_atr":0.524227,"own_change_pct":-0.089767,"rel_strength_pct":{"SPY":-0.046543,"IWM":0.037571}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.374587},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9d9bd17647e6","ts":"2026-08-28T15:32:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.0% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4896,"target":6.0,"target_label":"range_20d_high","reward_risk":5.77,"pos_in_5d_range_pct":50.0,"room_to_5d_high_atr":1.44},"price":5.565,"vwap":5.5205,"ext_from_open_pct":4.02,"max_ext_allowed_pct":4.0,"volume_pace":0.897,"trend":"flat","recent_slope_pct":-0.0469,"volatility":"medium"},"price":5.565,"volume":{"bars":122,"last_bar_volume":55270.0,"baseline_avg":43988.75,"bar_rvol":1.256458,"raw_accel":4.02583,"smooth_accel":0.186261,"accel_momentum":0.901016,"rvol_3bar":[0.931097,0.198126,1.256458],"trend_3bar":"MIXED","projected_rvol":0.166042},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":3392.0,"sell_vol":260.0,"unclassified_vol":0.0,"imbalance":0.857612,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":1.175507},"context":{"vwap":5.52044,"price_vs_vwap_pct":0.80719,"ema9":5.569823,"ema20":5.565383,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.447227,"dist_to_hod_atr":1.310567,"atr":0.019076,"spread_atr":0.524227,"own_change_pct":-0.089767,"rel_strength_pct":{"SPY":-0.046543,"IWM":0.037571}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.077553},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"bc27b27ce1bc","ts":"2026-08-28T15:32:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5205,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.896,"trend":"flat","recent_slope_pct":-0.0648,"volatility":"medium"},"price":5.56,"volume":{"bars":122,"last_bar_volume":55270.0,"baseline_avg":43988.75,"bar_rvol":1.256458,"raw_accel":4.02583,"smooth_accel":0.186261,"accel_momentum":0.901016,"rvol_3bar":[0.931097,0.198126,1.256458],"trend_3bar":"MIXED","projected_rvol":0.149142},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":3514.0,"sell_vol":239.0,"unclassified_vol":0.0,"imbalance":0.872635,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.340004},"context":{"vwap":5.52044,"price_vs_vwap_pct":0.716617,"ema9":5.569823,"ema20":5.565383,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.572681,"atr":0.019076,"spread_atr":0.524227,"own_change_pct":-0.089767,"rel_strength_pct":{"SPY":-0.046543,"IWM":0.037571}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.096429},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"cdc7102baa28","ts":"2026-08-28T15:32:35+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.1432,"target":7.25,"target_label":"premarket_high","reward_risk":0.23,"pos_in_5d_range_pct":68.8,"room_to_5d_high_atr":0.49},"price":7.2302,"vwap":7.1959,"ext_from_open_pct":0.7,"max_ext_allowed_pct":3.0,"volume_pace":0.702,"trend":"flat","recent_slope_pct":-0.0159,"volatility":"medium"},"price":7.2302,"volume":{"bars":122,"last_bar_volume":50649.0,"baseline_avg":60477.75,"bar_rvol":0.837482,"raw_accel":1.373541,"smooth_accel":-0.67207,"accel_momentum":-0.03029,"rvol_3bar":[0.206806,0.351516,0.837482],"trend_3bar":"ACCELERATING","projected_rvol":0.313589},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":1857.0,"sell_vol":9206.0,"unclassified_vol":0.0,"imbalance":-0.664286,"bid":7.21,"ask":7.22,"spread_pct":0.1386,"quote_size_imbalance":null,"quote_age_s":0.692145},"context":{"vwap":7.195884,"price_vs_vwap_pct":0.476882,"ema9":7.233263,"ema20":7.225217,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.684066,"dist_to_hod_atr":1.972625,"atr":0.025246,"spread_atr":0.396109,"own_change_pct":-0.413508,"rel_strength_pct":{"SPY":-0.370284,"IWM":-0.286171}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.556328},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8ca4e822bc0c","ts":"2026-08-28T15:32:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.0% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4896,"target":6.0,"target_label":"range_20d_high","reward_risk":5.77,"pos_in_5d_range_pct":50.0,"room_to_5d_high_atr":1.44},"price":5.565,"vwap":5.5205,"ext_from_open_pct":4.02,"max_ext_allowed_pct":4.0,"volume_pace":0.896,"trend":"flat","recent_slope_pct":-0.0469,"volatility":"medium"},"price":5.565,"volume":{"bars":122,"last_bar_volume":55270.0,"baseline_avg":43988.75,"bar_rvol":1.256458,"raw_accel":4.02583,"smooth_accel":0.186261,"accel_momentum":0.901016,"rvol_3bar":[0.931097,0.198126,1.256458],"trend_3bar":"MIXED","projected_rvol":0.144207},"flow":{"window_s":30,"trades":32,"trade_rate":1.066667,"buy_vol":3505.0,"sell_vol":179.0,"unclassified_vol":0.0,"imbalance":0.902823,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.119151},"context":{"vwap":5.52044,"price_vs_vwap_pct":0.80719,"ema9":5.569823,"ema20":5.565383,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.447227,"dist_to_hod_atr":1.310567,"atr":0.019076,"spread_atr":0.524227,"own_change_pct":-0.089767,"rel_strength_pct":{"SPY":-0.046543,"IWM":0.037571}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.134359},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"70c9b5bd4f25","ts":"2026-08-28T15:33:05+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.6518,"target":5.9,"target_label":"ceiling","reward_risk":0.86,"pos_in_5d_range_pct":-11.3,"room_to_5d_high_atr":1.39},"price":5.785,"vwap":5.7797,"ext_from_open_pct":-1.62,"max_ext_allowed_pct":4.0,"volume_pace":1.436,"trend":"flat","recent_slope_pct":-0.1082,"volatility":"high"},"price":5.785,"volume":{"bars":123,"last_bar_volume":45165.0,"baseline_avg":63238.75,"bar_rvol":0.714198,"raw_accel":-0.147396,"smooth_accel":0.74239,"accel_momentum":0.793797,"rvol_3bar":[0.994926,0.858916,0.714198],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":16199.0,"sell_vol":2364.0,"unclassified_vol":0.0,"imbalance":0.7453,"bid":5.78,"ask":5.79,"spread_pct":0.172861,"quote_size_imbalance":null,"quote_age_s":3.136551},"context":{"vwap":5.779708,"price_vs_vwap_pct":0.091569,"ema9":5.798541,"ema20":5.795864,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.445194,"dist_to_hod_atr":6.130699,"atr":0.023651,"spread_atr":0.422807,"own_change_pct":-0.428579,"rel_strength_pct":{"SPY":-0.409222,"IWM":-0.336394}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.532292},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"dadda523eee3","ts":"2026-08-28T15:33:35+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":14.3247,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.53,"pos_in_5d_range_pct":93.5,"room_to_5d_high_atr":0.13},"price":14.7,"vwap":14.6842,"ext_from_open_pct":1.38,"max_ext_allowed_pct":3.0,"volume_pace":1.655,"trend":"flat","recent_slope_pct":-0.0644,"volatility":"high"},"price":14.7,"volume":{"bars":123,"last_bar_volume":181.0,"baseline_avg":1911.0,"bar_rvol":0.094715,"raw_accel":-0.801317,"smooth_accel":-0.392251,"accel_momentum":0.058844,"rvol_3bar":[1.347358,0.486398,0.094715],"trend_3bar":"DECELERATING","projected_rvol":0.188383},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":107.0,"sell_vol":103.0,"unclassified_vol":0.0,"imbalance":0.019048,"bid":14.68,"ask":14.76,"spread_pct":0.543478,"quote_size_imbalance":null,"quote_age_s":2.660685},"context":{"vwap":14.684178,"price_vs_vwap_pct":0.107746,"ema9":14.718364,"ema20":14.688749,"ema_stack":false,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.915297,"dist_to_hod_atr":8.652217,"atr":0.087827,"spread_atr":0.91088,"own_change_pct":0.223552,"rel_strength_pct":{"SPY":0.242908,"IWM":0.315736}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.001804},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"bc81816b0dd9","ts":"2026-08-28T15:34:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4859,"target":6.0,"target_label":"range_20d_high","reward_risk":5.82,"pos_in_5d_range_pct":49.6,"room_to_5d_high_atr":1.45},"price":5.5613,"vwap":5.521,"ext_from_open_pct":3.95,"max_ext_allowed_pct":4.0,"volume_pace":0.896,"trend":"flat","recent_slope_pct":-0.0496,"volatility":"medium"},"price":5.5613,"volume":{"bars":123,"last_bar_volume":58910.0,"baseline_avg":46400.45,"bar_rvol":1.2696,"raw_accel":0.065859,"smooth_accel":0.700358,"accel_momentum":0.514098,"rvol_3bar":[0.198126,1.256458,1.2696],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":2584.0,"sell_vol":25535.0,"unclassified_vol":0.0,"imbalance":-0.81621,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":2.557646},"context":{"vwap":5.52075,"price_vs_vwap_pct":0.734499,"ema9":5.568858,"ema20":5.565347,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.513417,"dist_to_hod_atr":1.526687,"atr":0.018799,"spread_atr":0.531947,"own_change_pct":-0.268817,"rel_strength_pct":{"SPY":-0.239141,"IWM":-0.198416}},"vas":{"raw":2,"score":5.6,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.03626},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ef89b294870f","ts":"2026-08-28T15:34:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.0% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4896,"target":6.0,"target_label":"range_20d_high","reward_risk":5.77,"pos_in_5d_range_pct":50.0,"room_to_5d_high_atr":1.44},"price":5.565,"vwap":5.521,"ext_from_open_pct":4.02,"max_ext_allowed_pct":4.0,"volume_pace":0.895,"trend":"flat","recent_slope_pct":-0.0426,"volatility":"medium"},"price":5.565,"volume":{"bars":124,"last_bar_volume":41121.0,"baseline_avg":47591.4,"bar_rvol":0.864043,"raw_accel":-0.301969,"smooth_accel":1.469132,"accel_momentum":0.768774,"rvol_3bar":[1.256458,1.2696,0.864043],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":2746.0,"sell_vol":25634.0,"unclassified_vol":0.0,"imbalance":-0.806483,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.78082},"context":{"vwap":5.520955,"price_vs_vwap_pct":0.797772,"ema9":5.567347,"ema20":5.564961,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.447227,"dist_to_hod_atr":1.359829,"atr":0.018385,"spread_atr":0.543931,"own_change_pct":-0.254686,"rel_strength_pct":{"SPY":-0.225009,"IWM":-0.184284}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.696836},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a1f89e2233f8","ts":"2026-08-28T15:34:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.1287,"target":7.25,"target_label":"premarket_high","reward_risk":0.39,"pos_in_5d_range_pct":66.2,"room_to_5d_high_atr":0.53},"price":7.2157,"vwap":7.1964,"ext_from_open_pct":0.5,"max_ext_allowed_pct":3.0,"volume_pace":0.714,"trend":"flat","recent_slope_pct":-0.0673,"volatility":"medium"},"price":7.2157,"volume":{"bars":124,"last_bar_volume":138514.0,"baseline_avg":61950.45,"bar_rvol":2.235884,"raw_accel":1.784873,"smooth_accel":1.890444,"accel_momentum":1.983949,"rvol_3bar":[0.837482,0.82696,2.235884],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":141,"trade_rate":4.7,"buy_vol":65215.0,"sell_vol":63921.0,"unclassified_vol":0.0,"imbalance":0.01002,"bid":7.21,"ask":7.22,"spread_pct":0.1386,"quote_size_imbalance":null,"quote_age_s":0.23938},"context":{"vwap":7.196372,"price_vs_vwap_pct":0.268583,"ema9":7.225056,"ema20":7.222485,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-0.883242,"dist_to_hod_atr":2.522226,"atr":0.025493,"spread_atr":0.392259,"own_change_pct":-0.207469,"rel_strength_pct":{"SPY":-0.177792,"IWM":-0.137068}},"vas":{"raw":6,"score":8.1,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.022405},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b2bfe217dfa0","ts":"2026-08-28T15:34:20+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":14.3447,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.48,"pos_in_5d_range_pct":94.1,"room_to_5d_high_atr":0.12},"price":14.72,"vwap":14.6842,"ext_from_open_pct":1.52,"max_ext_allowed_pct":4.0,"volume_pace":1.645,"trend":"flat","recent_slope_pct":-0.0544,"volatility":"high"},"price":14.72,"volume":{"bars":124,"last_bar_volume":212.0,"baseline_avg":1915.6,"bar_rvol":0.11067,"raw_accel":-0.557319,"smooth_accel":-0.79116,"accel_momentum":-0.398909,"rvol_3bar":[0.486398,0.094715,0.11067],"trend_3bar":"MIXED","projected_rvol":0.00783},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":2.0,"sell_vol":5.0,"unclassified_vol":0.0,"imbalance":-0.428571,"bid":14.68,"ask":14.76,"spread_pct":0.543478,"quote_size_imbalance":null,"quote_age_s":20.000589},"context":{"vwap":14.684206,"price_vs_vwap_pct":0.243757,"ema9":14.726611,"ema20":14.695497,"ema_stack":false,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.78593,"dist_to_hod_atr":8.622441,"atr":0.085811,"spread_atr":0.932282,"own_change_pct":0.234975,"rel_strength_pct":{"SPY":0.264651,"IWM":0.305376}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.04743},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2ba65a5948f3","ts":"2026-08-28T15:34:30+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.521,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.893,"trend":"flat","recent_slope_pct":-0.0606,"volatility":"medium"},"price":5.56,"volume":{"bars":124,"last_bar_volume":41121.0,"baseline_avg":47591.4,"bar_rvol":0.864043,"raw_accel":-0.301969,"smooth_accel":1.469132,"accel_momentum":0.768774,"rvol_3bar":[1.256458,1.2696,0.864043],"trend_3bar":"MIXED","projected_rvol":0.255298},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":3180.0,"sell_vol":2895.0,"unclassified_vol":0.0,"imbalance":0.046914,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.674538},"context":{"vwap":5.520955,"price_vs_vwap_pct":0.707208,"ema9":5.567347,"ema20":5.564961,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.631794,"atr":0.018385,"spread_atr":0.543931,"own_change_pct":-0.254686,"rel_strength_pct":{"SPY":-0.225009,"IWM":-0.184284}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.040535},"shadow":{"decision":"FAIL","failed":["imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e1ad76d4912a","ts":"2026-08-28T15:34:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.1% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4946,"target":6.0,"target_label":"range_20d_high","reward_risk":5.7,"pos_in_5d_range_pct":50.6,"room_to_5d_high_atr":1.43},"price":5.57,"vwap":5.521,"ext_from_open_pct":4.11,"max_ext_allowed_pct":4.0,"volume_pace":0.892,"trend":"flat","recent_slope_pct":-0.0246,"volatility":"medium"},"price":5.57,"volume":{"bars":124,"last_bar_volume":41121.0,"baseline_avg":47591.4,"bar_rvol":0.864043,"raw_accel":-0.301969,"smooth_accel":1.469132,"accel_momentum":0.768774,"rvol_3bar":[1.256458,1.2696,0.864043],"trend_3bar":"MIXED","projected_rvol":0.29213},"flow":{"window_s":30,"trades":50,"trade_rate":1.666667,"buy_vol":4933.0,"sell_vol":2845.0,"unclassified_vol":0.0,"imbalance":0.268449,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":1.274311},"context":{"vwap":5.520955,"price_vs_vwap_pct":0.888336,"ema9":5.567347,"ema20":5.564961,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.357782,"dist_to_hod_atr":1.087863,"atr":0.018385,"spread_atr":0.543931,"own_change_pct":-0.254686,"rel_strength_pct":{"SPY":-0.225009,"IWM":-0.184284}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.231952},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4f5710edf026","ts":"2026-08-28T15:35:05+00:00","symbol":"STDN","event":"WAIT","bot":{"state":"WAIT","reason":"held 45.0s, plan says WATCH; stop 14.34, target 14.90 (range_20d_high), R:R 0.48; selling not fading: red-bar volume 1.02x the advance (max 0.7); pullback low 14.58 broke support 14.68; R:R 0.48 < 2.0","plan":{"state":"WATCH","setup":"","stop":14.3447,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.48,"pos_in_5d_range_pct":94.1,"room_to_5d_high_atr":0.12},"price":14.72,"vwap":14.6844,"ext_from_open_pct":1.52,"max_ext_allowed_pct":4.0,"volume_pace":1.64,"trend":"flat","recent_slope_pct":-0.017,"volatility":"high"},"price":14.72,"volume":{"bars":125,"last_bar_volume":1209.0,"baseline_avg":1862.4,"bar_rvol":0.649162,"raw_accel":1.596649,"smooth_accel":-0.660161,"accel_momentum":0.130998,"rvol_3bar":[0.094715,0.11067,0.649162],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":115.0,"sell_vol":30.0,"unclassified_vol":0.0,"imbalance":0.586207,"bid":14.68,"ask":14.76,"spread_pct":0.543478,"quote_size_imbalance":null,"quote_age_s":4.091008},"context":{"vwap":14.684384,"price_vs_vwap_pct":0.242543,"ema9":14.733269,"ema20":14.701631,"ema_stack":false,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.78593,"dist_to_hod_atr":8.96505,"atr":0.082532,"spread_atr":0.969326,"own_change_pct":0.27106,"rel_strength_pct":{"SPY":0.33429,"IWM":0.396785}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.380543},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ea99dc33f3f9","ts":"2026-08-28T15:35:05+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":7.118,"target":7.25,"target_label":"premarket_high","reward_risk":0.52,"pos_in_5d_range_pct":64.2,"room_to_5d_high_atr":0.56},"price":7.205,"vwap":7.1965,"ext_from_open_pct":0.35,"max_ext_allowed_pct":4.0,"volume_pace":0.715,"trend":"flat","recent_slope_pct":-0.0552,"volatility":"medium"},"price":7.205,"volume":{"bars":125,"last_bar_volume":50985.0,"baseline_avg":66399.0,"bar_rvol":0.767858,"raw_accel":-0.631914,"smooth_accel":1.795119,"accel_momentum":-0.095326,"rvol_3bar":[0.82696,2.235884,0.767858],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":9923.0,"sell_vol":6156.0,"unclassified_vol":0.0,"imbalance":0.234281,"bid":7.2,"ask":7.21,"spread_pct":0.138793,"quote_size_imbalance":null,"quote_age_s":1.281777},"context":{"vwap":7.196491,"price_vs_vwap_pct":0.118238,"ema9":7.221045,"ema20":7.220819,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.03022,"dist_to_hod_atr":2.909283,"atr":0.02578,"spread_atr":0.387904,"own_change_pct":-0.440796,"rel_strength_pct":{"SPY":-0.377567,"IWM":-0.315071}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-1,"accel":3,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.179894},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"54bf4c6811c8","ts":"2026-08-28T15:36:00+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.5215,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":0.893,"trend":"flat","recent_slope_pct":-0.036,"volatility":"medium"},"price":5.555,"volume":{"bars":125,"last_bar_volume":35275.0,"baseline_avg":48228.25,"bar_rvol":0.731418,"raw_accel":-0.142166,"smooth_accel":0.299233,"accel_momentum":-1.169899,"rvol_3bar":[1.2696,0.864043,0.731418],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":134,"trade_rate":4.466667,"buy_vol":39675.0,"sell_vol":39608.0,"unclassified_vol":0.0,"imbalance":0.000845,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":1.232267},"context":{"vwap":5.521135,"price_vs_vwap_pct":0.613372,"ema9":5.566877,"ema20":5.564965,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.626118,"dist_to_hod_atr":1.943668,"atr":0.018007,"spread_atr":0.555334,"own_change_pct":-0.09156,"rel_strength_pct":{"SPY":-0.05026,"IWM":-0.05466}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.000618},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"10e960db8257","ts":"2026-08-28T15:36:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.1% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4918,"target":6.0,"target_label":"range_20d_high","reward_risk":5.74,"pos_in_5d_range_pct":50.3,"room_to_5d_high_atr":1.43},"price":5.5672,"vwap":5.5215,"ext_from_open_pct":4.06,"max_ext_allowed_pct":4.0,"volume_pace":0.893,"trend":"flat","recent_slope_pct":-0.0034,"volatility":"medium"},"price":5.5672,"volume":{"bars":126,"last_bar_volume":83734.0,"baseline_avg":47556.05,"bar_rvol":1.760743,"raw_accel":1.373749,"smooth_accel":0.302315,"accel_momentum":0.003082,"rvol_3bar":[0.864043,0.731418,1.760743],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":42004.0,"sell_vol":2823.0,"unclassified_vol":0.0,"imbalance":0.874049,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":3.720505},"context":{"vwap":5.521493,"price_vs_vwap_pct":0.827797,"ema9":5.564502,"ema20":5.564016,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.407871,"dist_to_hod_atr":1.240607,"atr":0.018378,"spread_atr":0.544126,"own_change_pct":-0.358744,"rel_strength_pct":{"SPY":-0.317444,"IWM":-0.321844}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":1.538976},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a1b0081998d9","ts":"2026-08-28T15:36:15+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.5215,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":0.893,"trend":"flat","recent_slope_pct":-0.0473,"volatility":"medium"},"price":5.555,"volume":{"bars":126,"last_bar_volume":83734.0,"baseline_avg":47556.05,"bar_rvol":1.760743,"raw_accel":1.373749,"smooth_accel":0.302315,"accel_momentum":0.003082,"rvol_3bar":[0.864043,0.731418,1.760743],"trend_3bar":"MIXED","projected_rvol":0.943224},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":43804.0,"sell_vol":4728.0,"unclassified_vol":0.0,"imbalance":0.805159,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.214069},"context":{"vwap":5.521493,"price_vs_vwap_pct":0.606842,"ema9":5.564502,"ema20":5.564016,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.626118,"dist_to_hod_atr":1.90444,"atr":0.018378,"spread_atr":0.544126,"own_change_pct":-0.358744,"rel_strength_pct":{"SPY":-0.317444,"IWM":-0.321844}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":1.417679},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6f51c9af5283","ts":"2026-08-28T15:36:20+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5216,"ext_from_open_pct":3.74,"max_ext_allowed_pct":4.0,"volume_pace":0.893,"trend":"flat","recent_slope_pct":-0.0653,"volatility":"medium"},"price":5.55,"volume":{"bars":126,"last_bar_volume":83734.0,"baseline_avg":47556.05,"bar_rvol":1.760743,"raw_accel":1.373749,"smooth_accel":0.302315,"accel_momentum":0.003082,"rvol_3bar":[0.864043,0.731418,1.760743],"trend_3bar":"MIXED","projected_rvol":1.123958},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":44316.0,"sell_vol":4623.0,"unclassified_vol":0.0,"imbalance":0.811071,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":2.243699},"context":{"vwap":5.521493,"price_vs_vwap_pct":0.516287,"ema9":5.564502,"ema20":5.564016,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.715564,"dist_to_hod_atr":2.176503,"atr":0.018378,"spread_atr":0.544126,"own_change_pct":-0.358744,"rel_strength_pct":{"SPY":-0.317444,"IWM":-0.321844}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":1.428088},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2c38083fb01c","ts":"2026-08-28T15:36:25+00:00","symbol":"FWDI","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":6.378,"target":6.64,"target_label":"ceiling","reward_risk":1.34,"pos_in_5d_range_pct":73.3,"room_to_5d_high_atr":1.14},"price":6.49,"vwap":6.4753,"ext_from_open_pct":-2.99,"max_ext_allowed_pct":3.0,"volume_pace":1.257,"trend":"flat","recent_slope_pct":0.1473,"volatility":"high"},"price":6.49,"volume":{"bars":126,"last_bar_volume":831.0,"baseline_avg":7018.15,"bar_rvol":0.118407,"raw_accel":-0.526371,"smooth_accel":-0.708719,"accel_momentum":-0.183434,"rvol_3bar":[0.192692,0.156293,0.118407],"trend_3bar":"DECELERATING","projected_rvol":6.174961},"flow":{"window_s":30,"trades":161,"trade_rate":5.366667,"buy_vol":13639.0,"sell_vol":4518.0,"unclassified_vol":0.0,"imbalance":0.502341,"bid":6.48,"ask":6.49,"spread_pct":0.154202,"quote_size_imbalance":null,"quote_age_s":0.022659},"context":{"vwap":6.475242,"price_vs_vwap_pct":0.22791,"ema9":6.444953,"ema20":6.441601,"ema_stack":true,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-4.277286,"dist_to_hod_atr":10.137705,"atr":0.028606,"spread_atr":0.349576,"own_change_pct":-0.386698,"rel_strength_pct":{"SPY":-0.345397,"IWM":-0.349797}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.059481},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"0e6d9e7d14d7","ts":"2026-08-28T15:36:25+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5216,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.892,"trend":"flat","recent_slope_pct":-0.0293,"volatility":"medium"},"price":5.56,"volume":{"bars":126,"last_bar_volume":83734.0,"baseline_avg":47556.05,"bar_rvol":1.760743,"raw_accel":1.373749,"smooth_accel":0.302315,"accel_momentum":0.003082,"rvol_3bar":[0.864043,0.731418,1.760743],"trend_3bar":"MIXED","projected_rvol":0.914862},"flow":{"window_s":30,"trades":71,"trade_rate":2.366667,"buy_vol":39561.0,"sell_vol":4873.0,"unclassified_vol":0.0,"imbalance":0.780663,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":7.243699},"context":{"vwap":5.521493,"price_vs_vwap_pct":0.697397,"ema9":5.564502,"ema20":5.564016,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.632377,"atr":0.018378,"spread_atr":0.544126,"own_change_pct":-0.358744,"rel_strength_pct":{"SPY":-0.317444,"IWM":-0.321844}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":1.374548},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a717e3356cc4","ts":"2026-08-28T15:36:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.1% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4915,"target":6.0,"target_label":"range_20d_high","reward_risk":5.74,"pos_in_5d_range_pct":50.2,"room_to_5d_high_atr":1.44},"price":5.5669,"vwap":5.5216,"ext_from_open_pct":4.05,"max_ext_allowed_pct":4.0,"volume_pace":0.892,"trend":"flat","recent_slope_pct":-0.0045,"volatility":"medium"},"price":5.5669,"volume":{"bars":126,"last_bar_volume":83734.0,"baseline_avg":47556.05,"bar_rvol":1.760743,"raw_accel":1.373749,"smooth_accel":0.302315,"accel_momentum":0.003082,"rvol_3bar":[0.864043,0.731418,1.760743],"trend_3bar":"MIXED","projected_rvol":0.785137},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":15328.0,"sell_vol":3341.0,"unclassified_vol":0.0,"imbalance":0.64208,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":3.593326},"context":{"vwap":5.521493,"price_vs_vwap_pct":0.822363,"ema9":5.564502,"ema20":5.564016,"ema_stack":true,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.413238,"dist_to_hod_atr":1.25693,"atr":0.018378,"spread_atr":0.544126,"own_change_pct":-0.358744,"rel_strength_pct":{"SPY":-0.317444,"IWM":-0.321844}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":1.130539},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1feb91f9bf44","ts":"2026-08-28T15:36:35+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.4868,"target":6.0,"target_label":"range_20d_high","reward_risk":5.8,"pos_in_5d_range_pct":49.7,"room_to_5d_high_atr":1.45},"price":5.5622,"vwap":5.5216,"ext_from_open_pct":3.97,"max_ext_allowed_pct":4.0,"volume_pace":0.891,"trend":"flat","recent_slope_pct":-0.0214,"volatility":"medium"},"price":5.5622,"volume":{"bars":126,"last_bar_volume":83734.0,"baseline_avg":47556.05,"bar_rvol":1.760743,"raw_accel":1.373749,"smooth_accel":0.302315,"accel_momentum":0.003082,"rvol_3bar":[0.864043,0.731418,1.760743],"trend_3bar":"MIXED","projected_rvol":0.679355},"flow":{"window_s":30,"trades":58,"trade_rate":1.933333,"buy_vol":14241.0,"sell_vol":3206.0,"unclassified_vol":0.0,"imbalance":0.632487,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":4.999781},"context":{"vwap":5.521493,"price_vs_vwap_pct":0.737241,"ema9":5.564502,"ema20":5.564016,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.497317,"dist_to_hod_atr":1.512669,"atr":0.018378,"spread_atr":0.544126,"own_change_pct":-0.358744,"rel_strength_pct":{"SPY":-0.317444,"IWM":-0.321844}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":1.113647},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0e15dd1177ed","ts":"2026-08-28T15:36:40+00:00","symbol":"FWDI","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"PASS","setup":"","stop":6.368,"target":6.64,"target_label":"ceiling","reward_risk":1.43,"pos_in_5d_range_pct":72.8,"room_to_5d_high_atr":1.16},"price":6.48,"vwap":6.4753,"ext_from_open_pct":-3.14,"max_ext_allowed_pct":3.0,"volume_pace":1.265,"trend":"flat","recent_slope_pct":0.1163,"volatility":"high"},"price":6.48,"volume":{"bars":126,"last_bar_volume":831.0,"baseline_avg":7018.15,"bar_rvol":0.118407,"raw_accel":-0.526371,"smooth_accel":-0.708719,"accel_momentum":-0.183434,"rvol_3bar":[0.192692,0.156293,0.118407],"trend_3bar":"DECELERATING","projected_rvol":6.523514},"flow":{"window_s":30,"trades":243,"trade_rate":8.1,"buy_vol":20385.0,"sell_vol":9989.0,"unclassified_vol":0.0,"imbalance":0.342266,"bid":6.47,"ask":6.48,"spread_pct":0.15444,"quote_size_imbalance":null,"quote_age_s":0.414939},"context":{"vwap":6.475242,"price_vs_vwap_pct":0.073476,"ema9":6.444953,"ema20":6.441601,"ema_stack":true,"ema_warm":true,"hod":6.78,"dist_to_hod_pct":-4.424779,"dist_to_hod_atr":10.487281,"atr":0.028606,"spread_atr":0.349576,"own_change_pct":-0.386698,"rel_strength_pct":{"SPY":-0.345397,"IWM":-0.349797}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.040527},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"1efd3b9373af","ts":"2026-08-28T15:36:45+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9584,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":3.0,"volume_pace":1.726,"trend":"flat","recent_slope_pct":-0.0299,"volatility":"low"},"price":10.955,"volume":{"bars":126,"last_bar_volume":15383.0,"baseline_avg":29350.95,"bar_rvol":0.524106,"raw_accel":0.356765,"smooth_accel":0.028084,"accel_momentum":-0.272254,"rvol_3bar":[1.16133,0.377596,0.524106],"trend_3bar":"MIXED","projected_rvol":2.740945},"flow":{"window_s":30,"trades":173,"trade_rate":5.766667,"buy_vol":26773.0,"sell_vol":29195.0,"unclassified_vol":0.0,"imbalance":-0.043275,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":2.26111},"context":{"vwap":10.95839,"price_vs_vwap_pct":-0.030939,"ema9":10.966632,"ema20":10.966588,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.468922,"atr":0.012972,"spread_atr":0.770872,"own_change_pct":-0.069263,"rel_strength_pct":{"SPY":-0.027963,"IWM":-0.032363}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.022681},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9d106bfe7ee1","ts":"2026-08-28T15:36:45+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":13.1389,"target":13.495,"target_label":"ceiling","reward_risk":1.62,"pos_in_5d_range_pct":13.9,"room_to_5d_high_atr":1.48},"price":13.275,"vwap":13.2705,"ext_from_open_pct":-1.88,"max_ext_allowed_pct":3.0,"volume_pace":1.232,"trend":"flat","recent_slope_pct":0.0441,"volatility":"medium"},"price":13.275,"volume":{"bars":126,"last_bar_volume":9314.0,"baseline_avg":19855.75,"bar_rvol":0.469083,"raw_accel":-0.47949,"smooth_accel":0.514811,"accel_momentum":0.062711,"rvol_3bar":[1.329417,0.88495,0.469083],"trend_3bar":"DECELERATING","projected_rvol":0.994976},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":6416.0,"sell_vol":5151.0,"unclassified_vol":0.0,"imbalance":0.109363,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.12926},"context":{"vwap":13.270516,"price_vs_vwap_pct":0.033792,"ema9":13.257811,"ema20":13.265767,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.10177,"dist_to_hod_atr":7.202402,"atr":0.03957,"spread_atr":0.252716,"own_change_pct":-0.124341,"rel_strength_pct":{"SPY":-0.08304,"IWM":-0.08744}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.0513},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"9d9942485a0a","ts":"2026-08-28T15:36:50+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9584,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.725,"trend":"flat","recent_slope_pct":-0.0208,"volatility":"low"},"price":10.96,"volume":{"bars":126,"last_bar_volume":15383.0,"baseline_avg":29350.95,"bar_rvol":0.524106,"raw_accel":0.356765,"smooth_accel":0.028084,"accel_momentum":-0.272254,"rvol_3bar":[1.16133,0.377596,0.524106],"trend_3bar":"MIXED","projected_rvol":2.484472},"flow":{"window_s":30,"trades":170,"trade_rate":5.666667,"buy_vol":26867.0,"sell_vol":28628.0,"unclassified_vol":0.0,"imbalance":-0.031733,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":7.26111},"context":{"vwap":10.95839,"price_vs_vwap_pct":0.014688,"ema9":10.966632,"ema20":10.966588,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":3.083486,"atr":0.012972,"spread_atr":0.770872,"own_change_pct":-0.069263,"rel_strength_pct":{"SPY":-0.027963,"IWM":-0.032363}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.016631},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"936e6b9a0fdd","ts":"2026-08-28T15:36:50+00:00","symbol":"EQX","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.27 below VWAP $13.27","plan":{"state":"PASS","setup":"","stop":13.1339,"target":13.495,"target_label":"ceiling","reward_risk":1.65,"pos_in_5d_range_pct":13.4,"room_to_5d_high_atr":1.49},"price":13.27,"vwap":13.2705,"ext_from_open_pct":-1.92,"max_ext_allowed_pct":3.0,"volume_pace":1.231,"trend":"flat","recent_slope_pct":0.0366,"volatility":"medium"},"price":13.27,"volume":{"bars":126,"last_bar_volume":9314.0,"baseline_avg":19855.75,"bar_rvol":0.469083,"raw_accel":-0.47949,"smooth_accel":0.514811,"accel_momentum":0.062711,"rvol_3bar":[1.329417,0.88495,0.469083],"trend_3bar":"DECELERATING","projected_rvol":1.032366},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":6317.0,"sell_vol":5069.0,"unclassified_vol":0.0,"imbalance":0.109608,"bid":13.27,"ask":13.28,"spread_pct":0.07533,"quote_size_imbalance":null,"quote_age_s":0.100046},"context":{"vwap":13.270516,"price_vs_vwap_pct":-0.003885,"ema9":13.257811,"ema20":13.265767,"ema_stack":false,"ema_warm":true,"hod":13.56,"dist_to_hod_pct":-2.138643,"dist_to_hod_atr":7.32876,"atr":0.03957,"spread_atr":0.252716,"own_change_pct":-0.124341,"rel_strength_pct":{"SPY":-0.08304,"IWM":-0.08744}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.051415},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"ae6b125c5603","ts":"2026-08-28T15:37:05+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9183,"target":11.13,"target_label":"range_20d_high","reward_risk":4.6,"pos_in_5d_range_pct":69.2,"room_to_5d_high_atr":0.49},"price":10.9561,"vwap":10.9584,"ext_from_open_pct":-0.13,"max_ext_allowed_pct":4.0,"volume_pace":1.725,"trend":"flat","recent_slope_pct":0.0014,"volatility":"low"},"price":10.9561,"volume":{"bars":127,"last_bar_volume":62472.0,"baseline_avg":28282.0,"bar_rvol":2.208896,"raw_accel":3.061106,"smooth_accel":0.024736,"accel_momentum":-0.003349,"rvol_3bar":[0.377596,0.524106,2.208896],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":154,"trade_rate":5.133333,"buy_vol":36571.0,"sell_vol":23957.0,"unclassified_vol":0.0,"imbalance":0.208399,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.123345},"context":{"vwap":10.958451,"price_vs_vwap_pct":-0.021452,"ema9":10.967166,"ema20":10.966846,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.399091,"dist_to_hod_atr":3.325033,"atr":0.013203,"spread_atr":0.757411,"own_change_pct":-0.051936,"rel_strength_pct":{"SPY":-0.012566,"IWM":-0.025061}},"vas":{"raw":3,"score":6.2,"components":{"rvol":2,"accel":0,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.460333},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c7109b59bcc6","ts":"2026-08-28T15:37:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3927,"target":13.62,"target_label":"premarket_high","reward_risk":0.86,"pos_in_5d_range_pct":22.3,"room_to_5d_high_atr":1.32},"price":13.515,"vwap":13.4857,"ext_from_open_pct":0.11,"max_ext_allowed_pct":4.0,"volume_pace":0.846,"trend":"flat","recent_slope_pct":-0.0127,"volatility":"medium"},"price":13.515,"volume":{"bars":127,"last_bar_volume":441.0,"baseline_avg":8055.4,"bar_rvol":0.054746,"raw_accel":-0.781016,"smooth_accel":-0.313714,"accel_momentum":0.15366,"rvol_3bar":[0.528007,0.144878,0.054746],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":7,"trade_rate":0.233333,"buy_vol":240.0,"sell_vol":50.0,"unclassified_vol":0.0,"imbalance":0.655172,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":5.002722},"context":{"vwap":13.48574,"price_vs_vwap_pct":0.216967,"ema9":13.521291,"ema20":13.523763,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.698016,"dist_to_hod_atr":6.512008,"atr":0.014588,"spread_atr":0.685474,"own_change_pct":-0.069501,"rel_strength_pct":{"SPY":-0.030131,"IWM":-0.042625}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.035868},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"408f9c0cbab3","ts":"2026-08-28T15:37:20+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.78 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6418,"target":5.9,"target_label":"ceiling","reward_risk":0.94,"pos_in_5d_range_pct":-12.8,"room_to_5d_high_atr":1.41},"price":5.775,"vwap":5.7798,"ext_from_open_pct":-1.79,"max_ext_allowed_pct":3.0,"volume_pace":1.415,"trend":"flat","recent_slope_pct":-0.0519,"volatility":"high"},"price":5.775,"volume":{"bars":127,"last_bar_volume":20058.0,"baseline_avg":57314.55,"bar_rvol":0.349963,"raw_accel":0.38637,"smooth_accel":-0.087158,"accel_momentum":0.217421,"rvol_3bar":[1.26316,0.236799,0.349963],"trend_3bar":"MIXED","projected_rvol":3.786316},"flow":{"window_s":30,"trades":149,"trade_rate":4.966667,"buy_vol":29089.0,"sell_vol":54211.0,"unclassified_vol":0.0,"imbalance":-0.301585,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.87051},"context":{"vwap":5.779792,"price_vs_vwap_pct":-0.082909,"ema9":5.790986,"ema20":5.792624,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.613828,"dist_to_hod_atr":7.533808,"atr":0.020574,"spread_atr":0.486052,"own_change_pct":-0.172712,"rel_strength_pct":{"SPY":-0.133342,"IWM":-0.145836}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.105544},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0c46df16881a","ts":"2026-08-28T15:37:25+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.0% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4886,"target":6.0,"target_label":"range_20d_high","reward_risk":5.78,"pos_in_5d_range_pct":49.9,"room_to_5d_high_atr":1.45},"price":5.564,"vwap":5.5218,"ext_from_open_pct":4.0,"max_ext_allowed_pct":4.0,"volume_pace":0.89,"trend":"flat","recent_slope_pct":0.0007,"volatility":"medium"},"price":5.564,"volume":{"bars":127,"last_bar_volume":31771.0,"baseline_avg":49815.8,"bar_rvol":0.63777,"raw_accel":-0.620572,"smooth_accel":-0.029111,"accel_momentum":-0.331426,"rvol_3bar":[0.731418,1.760743,0.63777],"trend_3bar":"MIXED","projected_rvol":1.569719},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":7104.0,"sell_vol":31090.0,"unclassified_vol":0.0,"imbalance":-0.628004,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":6.965755},"context":{"vwap":5.521626,"price_vs_vwap_pct":0.767413,"ema9":5.563601,"ema20":5.563633,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.465116,"dist_to_hod_atr":1.421234,"atr":0.018294,"spread_atr":0.546629,"own_change_pct":-0.089847,"rel_strength_pct":{"SPY":-0.050477,"IWM":-0.062972}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.400522},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"60e09b72f917","ts":"2026-08-28T15:37:30+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.19 below VWAP $7.20","plan":{"state":"PASS","setup":"","stop":7.1016,"target":7.25,"target_label":"premarket_high","reward_risk":0.71,"pos_in_5d_range_pct":61.2,"room_to_5d_high_atr":0.61},"price":7.1886,"vwap":7.1966,"ext_from_open_pct":0.12,"max_ext_allowed_pct":3.0,"volume_pace":0.71,"trend":"flat","recent_slope_pct":-0.0683,"volatility":"medium"},"price":7.1886,"volume":{"bars":127,"last_bar_volume":7553.0,"baseline_avg":60976.3,"bar_rvol":0.123868,"raw_accel":-0.862643,"smooth_accel":-0.524799,"accel_momentum":-1.533302,"rvol_3bar":[0.767858,0.878497,0.123868],"trend_3bar":"MIXED","projected_rvol":1.102297},"flow":{"window_s":30,"trades":105,"trade_rate":3.5,"buy_vol":12708.0,"sell_vol":20899.0,"unclassified_vol":0.0,"imbalance":-0.243729,"bid":7.18,"ask":7.19,"spread_pct":0.139179,"quote_size_imbalance":null,"quote_age_s":0.08238},"context":{"vwap":7.196608,"price_vs_vwap_pct":-0.111278,"ema9":7.215205,"ema20":7.21787,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.255495,"dist_to_hod_atr":3.685679,"atr":0.024799,"spread_atr":0.403247,"own_change_pct":-0.22699,"rel_strength_pct":{"SPY":-0.18762,"IWM":-0.200114}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.03019},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6c052de0f2cd","ts":"2026-08-28T15:37:30+00:00","symbol":"ACHR","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.6467,"target":5.9,"target_label":"ceiling","reward_risk":0.9,"pos_in_5d_range_pct":-12.0,"room_to_5d_high_atr":1.4},"price":5.7799,"vwap":5.7798,"ext_from_open_pct":-1.7,"max_ext_allowed_pct":3.0,"volume_pace":1.413,"trend":"flat","recent_slope_pct":-0.0349,"volatility":"high"},"price":5.7799,"volume":{"bars":127,"last_bar_volume":20058.0,"baseline_avg":57314.55,"bar_rvol":0.349963,"raw_accel":0.38637,"smooth_accel":-0.087158,"accel_momentum":0.217421,"rvol_3bar":[1.26316,0.236799,0.349963],"trend_3bar":"MIXED","projected_rvol":2.580183},"flow":{"window_s":30,"trades":145,"trade_rate":4.833333,"buy_vol":29161.0,"sell_vol":44780.0,"unclassified_vol":0.0,"imbalance":-0.211236,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":0.002327},"context":{"vwap":5.779792,"price_vs_vwap_pct":0.001869,"ema9":5.790986,"ema20":5.792624,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.531197,"dist_to_hod_atr":7.295642,"atr":0.020574,"spread_atr":0.486052,"own_change_pct":-0.172712,"rel_strength_pct":{"SPY":-0.133342,"IWM":-0.145836}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.073925},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7791295e86d0","ts":"2026-08-28T15:37:35+00:00","symbol":"ACHR","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.78 below VWAP $5.78","plan":{"state":"PASS","setup":"","stop":5.6418,"target":5.9,"target_label":"ceiling","reward_risk":0.94,"pos_in_5d_range_pct":-12.8,"room_to_5d_high_atr":1.41},"price":5.775,"vwap":5.7798,"ext_from_open_pct":-1.79,"max_ext_allowed_pct":3.0,"volume_pace":1.412,"trend":"flat","recent_slope_pct":-0.0519,"volatility":"high"},"price":5.775,"volume":{"bars":127,"last_bar_volume":20058.0,"baseline_avg":57314.55,"bar_rvol":0.349963,"raw_accel":0.38637,"smooth_accel":-0.087158,"accel_momentum":0.217421,"rvol_3bar":[1.26316,0.236799,0.349963],"trend_3bar":"MIXED","projected_rvol":2.234048},"flow":{"window_s":30,"trades":76,"trade_rate":2.533333,"buy_vol":9375.0,"sell_vol":12140.0,"unclassified_vol":0.0,"imbalance":-0.128515,"bid":5.77,"ask":5.78,"spread_pct":0.17316,"quote_size_imbalance":null,"quote_age_s":2.050499},"context":{"vwap":5.779792,"price_vs_vwap_pct":-0.082909,"ema9":5.790986,"ema20":5.792624,"ema_stack":false,"ema_warm":true,"hod":5.93,"dist_to_hod_pct":-2.613828,"dist_to_hod_atr":7.533808,"atr":0.020574,"spread_atr":0.486052,"own_change_pct":-0.172712,"rel_strength_pct":{"SPY":-0.133342,"IWM":-0.145836}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.044976},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"b9ef890bf58b","ts":"2026-08-28T15:37:40+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5218,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.89,"trend":"flat","recent_slope_pct":-0.0497,"volatility":"medium"},"price":5.55,"volume":{"bars":127,"last_bar_volume":31771.0,"baseline_avg":49815.8,"bar_rvol":0.63777,"raw_accel":-0.620572,"smooth_accel":-0.029111,"accel_momentum":-0.331426,"rvol_3bar":[0.731418,1.760743,0.63777],"trend_3bar":"MIXED","projected_rvol":1.521806},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":8931.0,"sell_vol":11106.0,"unclassified_vol":0.0,"imbalance":-0.108549,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.155902},"context":{"vwap":5.521626,"price_vs_vwap_pct":0.513865,"ema9":5.563601,"ema20":5.563633,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.715564,"dist_to_hod_atr":2.186514,"atr":0.018294,"spread_atr":0.546629,"own_change_pct":-0.089847,"rel_strength_pct":{"SPY":-0.050477,"IWM":-0.062972}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.069229},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"be8374e4ebef","ts":"2026-08-28T15:37:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.8% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.5219,"ext_from_open_pct":3.83,"max_ext_allowed_pct":3.0,"volume_pace":0.891,"trend":"flat","recent_slope_pct":-0.0317,"volatility":"medium"},"price":5.555,"volume":{"bars":127,"last_bar_volume":31771.0,"baseline_avg":49815.8,"bar_rvol":0.63777,"raw_accel":-0.620572,"smooth_accel":-0.029111,"accel_momentum":-0.331426,"rvol_3bar":[0.731418,1.760743,0.63777],"trend_3bar":"MIXED","projected_rvol":1.848474},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":7948.0,"sell_vol":36712.0,"unclassified_vol":0.0,"imbalance":-0.644066,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.414811},"context":{"vwap":5.521626,"price_vs_vwap_pct":0.604418,"ema9":5.563601,"ema20":5.563633,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.626118,"dist_to_hod_atr":1.9132,"atr":0.018294,"spread_atr":0.546629,"own_change_pct":-0.089847,"rel_strength_pct":{"SPY":-0.050477,"IWM":-0.062972}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.410766},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4d12c3c7a1be","ts":"2026-08-28T15:37:55+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5219,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.891,"trend":"flat","recent_slope_pct":-0.0497,"volatility":"medium"},"price":5.55,"volume":{"bars":127,"last_bar_volume":31771.0,"baseline_avg":49815.8,"bar_rvol":0.63777,"raw_accel":-0.620572,"smooth_accel":-0.029111,"accel_momentum":-0.331426,"rvol_3bar":[0.731418,1.760743,0.63777],"trend_3bar":"MIXED","projected_rvol":1.807532},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":12772.0,"sell_vol":37186.0,"unclassified_vol":0.0,"imbalance":-0.488691,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":1.216048},"context":{"vwap":5.521626,"price_vs_vwap_pct":0.513865,"ema9":5.563601,"ema20":5.563633,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.715564,"dist_to_hod_atr":2.186514,"atr":0.018294,"spread_atr":0.546629,"own_change_pct":-0.089847,"rel_strength_pct":{"SPY":-0.050477,"IWM":-0.062972}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.311672},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"51d810790e6e","ts":"2026-08-28T15:38:00+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.8% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4777,"target":6.0,"target_label":"range_20d_high","reward_risk":5.92,"pos_in_5d_range_pct":48.6,"room_to_5d_high_atr":1.48},"price":5.5531,"vwap":5.5219,"ext_from_open_pct":3.8,"max_ext_allowed_pct":3.0,"volume_pace":0.891,"trend":"flat","recent_slope_pct":-0.0385,"volatility":"medium"},"price":5.5531,"volume":{"bars":127,"last_bar_volume":31771.0,"baseline_avg":49815.8,"bar_rvol":0.63777,"raw_accel":-0.620572,"smooth_accel":-0.029111,"accel_momentum":-0.331426,"rvol_3bar":[0.731418,1.760743,0.63777],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":11870.0,"sell_vol":37140.0,"unclassified_vol":0.0,"imbalance":-0.515609,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":3.166054},"context":{"vwap":5.521626,"price_vs_vwap_pct":0.570008,"ema9":5.563601,"ema20":5.563633,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.660107,"dist_to_hod_atr":2.01706,"atr":0.018294,"spread_atr":0.546629,"own_change_pct":-0.089847,"rel_strength_pct":{"SPY":-0.014988,"IWM":-0.054617}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.32884},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7037dba6d92a","ts":"2026-08-28T15:38:00+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":7.1146,"target":7.25,"target_label":"premarket_high","reward_risk":0.56,"pos_in_5d_range_pct":63.6,"room_to_5d_high_atr":0.57},"price":7.2016,"vwap":7.1966,"ext_from_open_pct":0.3,"max_ext_allowed_pct":3.0,"volume_pace":0.722,"trend":"flat","recent_slope_pct":-0.0322,"volatility":"medium"},"price":7.2016,"volume":{"bars":127,"last_bar_volume":7553.0,"baseline_avg":60976.3,"bar_rvol":0.123868,"raw_accel":-0.862643,"smooth_accel":-0.524799,"accel_momentum":-1.533302,"rvol_3bar":[0.767858,0.878497,0.123868],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":142,"trade_rate":4.733333,"buy_vol":55336.0,"sell_vol":75346.0,"unclassified_vol":0.0,"imbalance":-0.15312,"bid":7.18,"ask":7.19,"spread_pct":0.139179,"quote_size_imbalance":null,"quote_age_s":5.242852},"context":{"vwap":7.196608,"price_vs_vwap_pct":0.069363,"ema9":7.215205,"ema20":7.21787,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.076923,"dist_to_hod_atr":3.161458,"atr":0.024799,"spread_atr":0.403247,"own_change_pct":-0.22699,"rel_strength_pct":{"SPY":-0.152131,"IWM":-0.191759}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.018967},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"28c3a317c373","ts":"2026-08-28T15:38:05+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":6.19,"target":6.74,"target_label":"range_20d_high","reward_risk":0.77,"pos_in_5d_range_pct":100.6,"room_to_5d_high_atr":-0.02},"price":6.4999,"vwap":6.4493,"ext_from_open_pct":4.84,"max_ext_allowed_pct":5.0,"volume_pace":7.135,"trend":"flat","recent_slope_pct":0.8913,"volatility":"high"},"price":6.4999,"volume":{"bars":119,"last_bar_volume":9094.0,"baseline_avg":5446.25,"bar_rvol":1.669773,"raw_accel":0.332064,"smooth_accel":2.711683,"accel_momentum":1.952391,"rvol_3bar":[0.071491,1.295507,1.669773],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":91,"trade_rate":3.033333,"buy_vol":7404.0,"sell_vol":973.0,"unclassified_vol":0.0,"imbalance":0.767697,"bid":6.47,"ask":6.5,"spread_pct":0.462606,"quote_size_imbalance":null,"quote_age_s":1.355812},"context":{"vwap":6.44927,"price_vs_vwap_pct":0.785043,"ema9":6.314227,"ema20":6.223344,"ema_stack":true,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-12.163514,"dist_to_hod_atr":5.830212,"atr":0.154385,"spread_atr":0.194319,"own_change_pct":4.374397,"rel_strength_pct":{"SPY":4.449256,"IWM":4.409627}},"vas":{"raw":7,"score":8.8,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.28188},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5e468ab2cc88","ts":"2026-08-28T15:38:05+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9585,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.728,"trend":"flat","recent_slope_pct":-0.0019,"volatility":"low"},"price":10.96,"volume":{"bars":128,"last_bar_volume":78734.0,"baseline_avg":29485.4,"bar_rvol":2.670271,"raw_accel":0.260309,"smooth_accel":0.851503,"accel_momentum":0.826767,"rvol_3bar":[0.524106,2.208896,2.670271],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":1497.0,"sell_vol":540.0,"unclassified_vol":0.0,"imbalance":0.469809,"bid":10.96,"ask":10.97,"spread_pct":0.091199,"quote_size_imbalance":null,"quote_age_s":0.532042},"context":{"vwap":10.958479,"price_vs_vwap_pct":0.013882,"ema9":10.966313,"ema20":10.96647,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":2.922185,"atr":0.013688,"spread_atr":0.730546,"own_change_pct":-0.100238,"rel_strength_pct":{"SPY":-0.025379,"IWM":-0.065008}},"vas":{"raw":8,"score":9.4,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.254516},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"16bf32e36049","ts":"2026-08-28T15:38:05+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.18 below VWAP $7.20","plan":{"state":"PASS","setup":"","stop":7.0931,"target":7.25,"target_label":"premarket_high","reward_risk":0.8,"pos_in_5d_range_pct":59.7,"room_to_5d_high_atr":0.63},"price":7.1801,"vwap":7.1966,"ext_from_open_pct":0.0,"max_ext_allowed_pct":3.0,"volume_pace":0.721,"trend":"flat","recent_slope_pct":-0.0671,"volatility":"medium"},"price":7.1801,"volume":{"bars":128,"last_bar_volume":164289.0,"baseline_avg":57436.95,"bar_rvol":2.860336,"raw_accel":10.441346,"smooth_accel":-0.051861,"accel_momentum":0.472938,"rvol_3bar":[0.878497,0.123868,2.860336],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":140,"trade_rate":4.666667,"buy_vol":54412.0,"sell_vol":62553.0,"unclassified_vol":0.0,"imbalance":-0.069602,"bid":7.18,"ask":7.19,"spread_pct":0.139179,"quote_size_imbalance":null,"quote_age_s":0.543511},"context":{"vwap":7.196623,"price_vs_vwap_pct":-0.22959,"ema9":7.212484,"ema20":7.216321,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.372253,"dist_to_hod_atr":3.968978,"atr":0.02517,"spread_atr":0.397295,"own_change_pct":-0.044415,"rel_strength_pct":{"SPY":0.030444,"IWM":-0.009185}},"vas":{"raw":3,"score":6.2,"components":{"rvol":2,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.199085},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"da6434268af4","ts":"2026-08-28T15:38:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.3927,"target":13.62,"target_label":"premarket_high","reward_risk":0.86,"pos_in_5d_range_pct":22.3,"room_to_5d_high_atr":1.32},"price":13.515,"vwap":13.4858,"ext_from_open_pct":0.11,"max_ext_allowed_pct":4.0,"volume_pace":0.84,"trend":"flat","recent_slope_pct":0.0004,"volatility":"medium"},"price":13.515,"volume":{"bars":128,"last_bar_volume":1318.0,"baseline_avg":8035.35,"bar_rvol":0.164025,"raw_accel":-0.343899,"smooth_accel":-0.651533,"accel_momentum":-0.337819,"rvol_3bar":[0.144878,0.054746,0.164025],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":9,"trade_rate":0.3,"buy_vol":103.0,"sell_vol":345.0,"unclassified_vol":0.0,"imbalance":-0.540179,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":3.177696},"context":{"vwap":13.485766,"price_vs_vwap_pct":0.216774,"ema9":13.520133,"ema20":13.522976,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.698016,"dist_to_hod_atr":6.832789,"atr":0.013904,"spread_atr":0.719241,"own_change_pct":-0.080583,"rel_strength_pct":{"SPY":-0.005724,"IWM":-0.045353}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.088603},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9eec2614c169","ts":"2026-08-28T15:38:30+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":7.1142,"target":7.25,"target_label":"premarket_high","reward_risk":0.56,"pos_in_5d_range_pct":63.5,"room_to_5d_high_atr":0.57},"price":7.2012,"vwap":7.1966,"ext_from_open_pct":0.3,"max_ext_allowed_pct":3.0,"volume_pace":0.72,"trend":"flat","recent_slope_pct":-0.0085,"volatility":"medium"},"price":7.2012,"volume":{"bars":128,"last_bar_volume":164289.0,"baseline_avg":57436.95,"bar_rvol":2.860336,"raw_accel":10.441346,"smooth_accel":-0.051861,"accel_momentum":0.472938,"rvol_3bar":[0.878497,0.123868,2.860336],"trend_3bar":"MIXED","projected_rvol":0.335498},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":1411.0,"sell_vol":8224.0,"unclassified_vol":0.0,"imbalance":-0.707109,"bid":7.18,"ask":7.19,"spread_pct":0.139179,"quote_size_imbalance":null,"quote_age_s":0.206309},"context":{"vwap":7.196623,"price_vs_vwap_pct":0.063603,"ema9":7.212484,"ema20":7.216321,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.082418,"dist_to_hod_atr":3.130685,"atr":0.02517,"spread_atr":0.397295,"own_change_pct":-0.044415,"rel_strength_pct":{"SPY":0.030444,"IWM":-0.009185}},"vas":{"raw":1,"score":5.0,"components":{"rvol":2,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.022571},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"096889a1f6b4","ts":"2026-08-28T15:38:35+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.18 below VWAP $7.20","plan":{"state":"PASS","setup":"","stop":7.098,"target":7.25,"target_label":"premarket_high","reward_risk":0.75,"pos_in_5d_range_pct":60.6,"room_to_5d_high_atr":0.62},"price":7.185,"vwap":7.1966,"ext_from_open_pct":0.07,"max_ext_allowed_pct":3.0,"volume_pace":0.72,"trend":"flat","recent_slope_pct":-0.0535,"volatility":"medium"},"price":7.185,"volume":{"bars":128,"last_bar_volume":164289.0,"baseline_avg":57436.95,"bar_rvol":2.860336,"raw_accel":10.441346,"smooth_accel":-0.051861,"accel_momentum":0.472938,"rvol_3bar":[0.878497,0.123868,2.860336],"trend_3bar":"MIXED","projected_rvol":0.365409},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":2562.0,"sell_vol":5910.0,"unclassified_vol":0.0,"imbalance":-0.395184,"bid":7.18,"ask":7.19,"spread_pct":0.139179,"quote_size_imbalance":null,"quote_age_s":4.591539},"context":{"vwap":7.196623,"price_vs_vwap_pct":-0.161503,"ema9":7.212484,"ema20":7.216321,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.304945,"dist_to_hod_atr":3.774303,"atr":0.02517,"spread_atr":0.397295,"own_change_pct":-0.044415,"rel_strength_pct":{"SPY":0.030444,"IWM":-0.009185}},"vas":{"raw":1,"score":5.0,"components":{"rvol":2,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.13036},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6ca03ba89585","ts":"2026-08-28T15:38:45+00:00","symbol":"SOUN","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":7.1193,"target":7.25,"target_label":"premarket_high","reward_risk":0.5,"pos_in_5d_range_pct":64.5,"room_to_5d_high_atr":0.56},"price":7.2063,"vwap":7.1966,"ext_from_open_pct":0.37,"max_ext_allowed_pct":3.0,"volume_pace":0.719,"trend":"flat","recent_slope_pct":0.0057,"volatility":"medium"},"price":7.2063,"volume":{"bars":128,"last_bar_volume":164289.0,"baseline_avg":57436.95,"bar_rvol":2.860336,"raw_accel":10.441346,"smooth_accel":-0.051861,"accel_momentum":0.472938,"rvol_3bar":[0.878497,0.123868,2.860336],"trend_3bar":"MIXED","projected_rvol":0.394102},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":5999.0,"sell_vol":2915.0,"unclassified_vol":0.0,"imbalance":0.345973,"bid":7.18,"ask":7.19,"spread_pct":0.139179,"quote_size_imbalance":null,"quote_age_s":0.495549},"context":{"vwap":7.196623,"price_vs_vwap_pct":0.134469,"ema9":7.212484,"ema20":7.216321,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.012363,"dist_to_hod_atr":2.928064,"atr":0.02517,"spread_atr":0.397295,"own_change_pct":-0.044415,"rel_strength_pct":{"SPY":0.030444,"IWM":-0.009185}},"vas":{"raw":5,"score":7.5,"components":{"rvol":2,"accel":0,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.989598},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9d5919c894e2","ts":"2026-08-28T15:38:50+00:00","symbol":"SOUN","event":"REJECT","bot":{"state":"REJECT","reason":"price $7.20 below VWAP $7.20","plan":{"state":"PASS","setup":"","stop":7.108,"target":7.25,"target_label":"premarket_high","reward_risk":0.63,"pos_in_5d_range_pct":62.4,"room_to_5d_high_atr":0.59},"price":7.195,"vwap":7.1966,"ext_from_open_pct":0.21,"max_ext_allowed_pct":3.0,"volume_pace":0.72,"trend":"flat","recent_slope_pct":-0.0257,"volatility":"medium"},"price":7.195,"volume":{"bars":128,"last_bar_volume":164289.0,"baseline_avg":57436.95,"bar_rvol":2.860336,"raw_accel":10.441346,"smooth_accel":-0.051861,"accel_momentum":0.472938,"rvol_3bar":[0.878497,0.123868,2.860336],"trend_3bar":"MIXED","projected_rvol":0.629845},"flow":{"window_s":30,"trades":60,"trade_rate":2.0,"buy_vol":13999.0,"sell_vol":7889.0,"unclassified_vol":0.0,"imbalance":0.279148,"bid":7.19,"ask":7.2,"spread_pct":0.138985,"quote_size_imbalance":null,"quote_age_s":0.211945},"context":{"vwap":7.196623,"price_vs_vwap_pct":-0.022549,"ema9":7.212484,"ema20":7.216321,"ema_stack":false,"ema_warm":true,"hod":7.28,"dist_to_hod_pct":-1.167582,"dist_to_hod_atr":3.377008,"atr":0.02517,"spread_atr":0.397295,"own_change_pct":-0.044415,"rel_strength_pct":{"SPY":0.030444,"IWM":-0.009185}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":0,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.798458},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"37f170d3b3d1","ts":"2026-08-28T15:39:05+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.60 below VWAP $14.68","plan":{"state":"PASS","setup":"","stop":14.2247,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.8,"pos_in_5d_range_pct":90.2,"room_to_5d_high_atr":0.2},"price":14.6,"vwap":14.6841,"ext_from_open_pct":0.69,"max_ext_allowed_pct":3.0,"volume_pace":1.6,"trend":"flat","recent_slope_pct":-0.2037,"volatility":"high"},"price":14.6,"volume":{"bars":129,"last_bar_volume":224.0,"baseline_avg":1493.35,"bar_rvol":0.149998,"raw_accel":-0.400007,"smooth_accel":-0.626289,"accel_momentum":0.069716,"rvol_3bar":[0.201899,0.001729,0.149998],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":321.0,"sell_vol":2337.0,"unclassified_vol":0.0,"imbalance":-0.758465,"bid":14.6,"ask":14.75,"spread_pct":1.022147,"quote_size_imbalance":null,"quote_age_s":2.685961},"context":{"vwap":14.684452,"price_vs_vwap_pct":-0.575109,"ema9":14.738292,"ema20":14.714979,"ema_stack":false,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-5.562132,"dist_to_hod_atr":11.281166,"atr":0.076224,"spread_atr":1.967874,"own_change_pct":-0.132795,"rel_strength_pct":{"SPY":-0.011472,"IWM":-0.025441}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.113768},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2ae268d03c6c","ts":"2026-08-28T15:39:45+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"spread 2.39% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":6.19,"target":11.0,"target_label":"premarket_high","reward_risk":7.59,"pos_in_5d_range_pct":110.6,"room_to_5d_high_atr":-0.31},"price":6.75,"vwap":6.4512,"ext_from_open_pct":8.87,"max_ext_allowed_pct":4.0,"volume_pace":7.135,"trend":"flat","recent_slope_pct":1.5823,"volatility":"high"},"price":6.75,"volume":{"bars":120,"last_bar_volume":7414.0,"baseline_avg":5798.75,"bar_rvol":1.278551,"raw_accel":-0.184737,"smooth_accel":4.732007,"accel_momentum":2.020324,"rvol_3bar":[1.295507,1.669773,1.278551],"trend_3bar":"MIXED","projected_rvol":2.088956},"flow":{"window_s":30,"trades":162,"trade_rate":5.4,"buy_vol":4933.0,"sell_vol":2648.0,"unclassified_vol":0.0,"imbalance":0.301411,"bid":6.62,"ask":6.78,"spread_pct":2.38806,"quote_size_imbalance":null,"quote_age_s":1.163409},"context":{"vwap":6.449557,"price_vs_vwap_pct":4.658358,"ema9":6.349581,"ema20":6.248835,"ema_stack":true,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-8.783784,"dist_to_hod_atr":4.123223,"atr":0.157644,"spread_atr":1.014947,"own_change_pct":3.607342,"rel_strength_pct":{"SPY":3.728666,"IWM":3.714696}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.38537},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9298d5506966","ts":"2026-08-28T15:39:55+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.02% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":14.3746,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.4,"pos_in_5d_range_pct":95.1,"room_to_5d_high_atr":0.1},"price":14.7499,"vwap":14.6846,"ext_from_open_pct":1.72,"max_ext_allowed_pct":4.0,"volume_pace":1.597,"trend":"flat","recent_slope_pct":0.0001,"volatility":"high"},"price":14.7499,"volume":{"bars":129,"last_bar_volume":224.0,"baseline_avg":1493.35,"bar_rvol":0.149998,"raw_accel":-0.400007,"smooth_accel":-0.626289,"accel_momentum":0.069716,"rvol_3bar":[0.201899,0.001729,0.149998],"trend_3bar":"MIXED","projected_rvol":3.080566},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":1483.0,"sell_vol":17.0,"unclassified_vol":0.0,"imbalance":0.977333,"bid":14.6,"ask":14.75,"spread_pct":1.022147,"quote_size_imbalance":null,"quote_age_s":25.000229},"context":{"vwap":14.684452,"price_vs_vwap_pct":0.445698,"ema9":14.738292,"ema20":14.714979,"ema_stack":true,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.592526,"dist_to_hod_atr":9.314603,"atr":0.076224,"spread_atr":1.967874,"own_change_pct":-0.132795,"rel_strength_pct":{"SPY":-0.011472,"IWM":-0.025441}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.146598},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f726fef335c5","ts":"2026-08-28T15:40:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4826,"target":6.0,"target_label":"range_20d_high","reward_risk":5.86,"pos_in_5d_range_pct":49.2,"room_to_5d_high_atr":1.46},"price":5.558,"vwap":5.5223,"ext_from_open_pct":3.89,"max_ext_allowed_pct":4.0,"volume_pace":0.886,"trend":"flat","recent_slope_pct":-0.0029,"volatility":"medium"},"price":5.558,"volume":{"bars":130,"last_bar_volume":37250.0,"baseline_avg":50560.1,"bar_rvol":0.736747,"raw_accel":-0.391956,"smooth_accel":0.203787,"accel_momentum":0.104505,"rvol_3bar":[1.674926,1.206112,0.736747],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":49,"trade_rate":1.633333,"buy_vol":3766.0,"sell_vol":2611.0,"unclassified_vol":0.0,"imbalance":0.18112,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.075783},"context":{"vwap":5.52231,"price_vs_vwap_pct":0.646291,"ema9":5.560061,"ema20":5.561725,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.572451,"dist_to_hod_atr":1.884012,"atr":0.016985,"spread_atr":0.588754,"own_change_pct":-0.17071,"rel_strength_pct":{"SPY":-0.066121,"IWM":-0.09518}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.133439},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"e69e42710d0f","ts":"2026-08-28T15:40:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3827,"target":13.62,"target_label":"premarket_high","reward_risk":0.94,"pos_in_5d_range_pct":21.1,"room_to_5d_high_atr":1.34},"price":13.505,"vwap":13.4859,"ext_from_open_pct":0.04,"max_ext_allowed_pct":3.0,"volume_pace":0.833,"trend":"flat","recent_slope_pct":-0.0107,"volatility":"medium"},"price":13.505,"volume":{"bars":130,"last_bar_volume":1753.0,"baseline_avg":7273.7,"bar_rvol":0.241005,"raw_accel":-0.678702,"smooth_accel":0.445254,"accel_momentum":0.285286,"rvol_3bar":[0.164025,0.748356,0.241005],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":1894.0,"sell_vol":1737.0,"unclassified_vol":0.0,"imbalance":0.043239,"bid":13.5,"ask":13.51,"spread_pct":0.074047,"quote_size_imbalance":null,"quote_age_s":0.941061},"context":{"vwap":13.485897,"price_vs_vwap_pct":0.141652,"ema9":13.518925,"ema20":13.521784,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.771492,"dist_to_hod_atr":7.764574,"atr":0.013523,"spread_atr":0.739483,"own_change_pct":0.053274,"rel_strength_pct":{"SPY":0.157863,"IWM":0.128804}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.010421},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b558ff13d981","ts":"2026-08-28T15:40:10+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.68 below VWAP $14.68","plan":{"state":"PASS","setup":"","stop":14.2997,"target":14.8988,"target_label":"range_20d_high","reward_risk":0.6,"pos_in_5d_range_pct":92.7,"room_to_5d_high_atr":0.15},"price":14.675,"vwap":14.6846,"ext_from_open_pct":1.21,"max_ext_allowed_pct":4.0,"volume_pace":1.594,"trend":"flat","recent_slope_pct":-0.061,"volatility":"high"},"price":14.675,"volume":{"bars":130,"last_bar_volume":4217.0,"baseline_avg":1476.5,"bar_rvol":2.856079,"raw_accel":10.424314,"smooth_accel":1.624926,"accel_momentum":2.251215,"rvol_3bar":[0.001729,0.149998,2.856079],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":162.0,"sell_vol":42.0,"unclassified_vol":0.0,"imbalance":0.588235,"bid":14.6,"ask":14.75,"spread_pct":1.022147,"quote_size_imbalance":null,"quote_age_s":10.000196},"context":{"vwap":14.684604,"price_vs_vwap_pct":-0.0654,"ema9":14.740614,"ema20":14.718304,"ema_stack":false,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-5.077006,"dist_to_hod_atr":9.632219,"atr":0.081487,"spread_atr":1.840786,"own_change_pct":-0.067751,"rel_strength_pct":{"SPY":0.036838,"IWM":0.007779}},"vas":{"raw":8,"score":9.4,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.680046},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"535b933ef1b5","ts":"2026-08-28T15:40:15+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.3877,"target":13.62,"target_label":"premarket_high","reward_risk":0.9,"pos_in_5d_range_pct":21.7,"room_to_5d_high_atr":1.33},"price":13.51,"vwap":13.486,"ext_from_open_pct":0.07,"max_ext_allowed_pct":3.0,"volume_pace":0.833,"trend":"flat","recent_slope_pct":-0.0033,"volatility":"medium"},"price":13.51,"volume":{"bars":130,"last_bar_volume":1753.0,"baseline_avg":7273.7,"bar_rvol":0.241005,"raw_accel":-0.678702,"smooth_accel":0.445254,"accel_momentum":0.285286,"rvol_3bar":[0.164025,0.748356,0.241005],"trend_3bar":"MIXED","projected_rvol":3.211021},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":3697.0,"sell_vol":2216.0,"unclassified_vol":0.0,"imbalance":0.250465,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":0.079694},"context":{"vwap":13.485897,"price_vs_vwap_pct":0.178728,"ema9":13.518925,"ema20":13.521784,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.734754,"dist_to_hod_atr":7.394833,"atr":0.013523,"spread_atr":0.739483,"own_change_pct":0.053274,"rel_strength_pct":{"SPY":0.157863,"IWM":0.128804}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.060363},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"35ee63a4aee8","ts":"2026-08-28T15:40:25+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.06% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":6.19,"target":6.74,"target_label":"range_20d_high","reward_risk":0.28,"pos_in_5d_range_pct":105.4,"room_to_5d_high_atr":-0.16},"price":6.6201,"vwap":6.4593,"ext_from_open_pct":6.78,"max_ext_allowed_pct":4.0,"volume_pace":7.292,"trend":"flat","recent_slope_pct":1.3382,"volatility":"high"},"price":6.6201,"volume":{"bars":121,"last_bar_volume":31541.0,"baseline_avg":6020.3,"bar_rvol":5.239108,"raw_accel":3.254249,"smooth_accel":5.115438,"accel_momentum":0.383432,"rvol_3bar":[1.669773,1.278551,5.239108],"trend_3bar":"MIXED","projected_rvol":4.556584},"flow":{"window_s":30,"trades":254,"trade_rate":8.466667,"buy_vol":15221.0,"sell_vol":11141.0,"unclassified_vol":0.0,"imbalance":0.154768,"bid":6.6,"ask":6.67,"spread_pct":1.055011,"quote_size_imbalance":null,"quote_age_s":2.085102},"context":{"vwap":6.457153,"price_vs_vwap_pct":2.523519,"ema9":6.451665,"ema20":6.307042,"ema_stack":true,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-10.539189,"dist_to_hod_atr":4.441403,"atr":0.175598,"spread_atr":0.398639,"own_change_pct":8.716323,"rel_strength_pct":{"SPY":8.820912,"IWM":8.791853}},"vas":{"raw":8,"score":9.4,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.810847},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"1f133d67ce00","ts":"2026-08-28T15:40:30+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.8% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.5223,"ext_from_open_pct":3.83,"max_ext_allowed_pct":3.0,"volume_pace":0.884,"trend":"flat","recent_slope_pct":-0.0137,"volatility":"medium"},"price":5.555,"volume":{"bars":130,"last_bar_volume":37250.0,"baseline_avg":50560.1,"bar_rvol":0.736747,"raw_accel":-0.391956,"smooth_accel":0.203787,"accel_momentum":0.104505,"rvol_3bar":[1.674926,1.206112,0.736747],"trend_3bar":"DECELERATING","projected_rvol":0.206843},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":3909.0,"sell_vol":1320.0,"unclassified_vol":0.0,"imbalance":0.495123,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.755981},"context":{"vwap":5.52231,"price_vs_vwap_pct":0.591966,"ema9":5.560061,"ema20":5.561725,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.626118,"dist_to_hod_atr":2.060638,"atr":0.016985,"spread_atr":0.588754,"own_change_pct":-0.17071,"rel_strength_pct":{"SPY":-0.066121,"IWM":-0.09518}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.364781},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"eddee2935da3","ts":"2026-08-28T15:40:40+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5224,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.883,"trend":"flat","recent_slope_pct":0.0043,"volatility":"medium"},"price":5.56,"volume":{"bars":130,"last_bar_volume":37250.0,"baseline_avg":50560.1,"bar_rvol":0.736747,"raw_accel":-0.391956,"smooth_accel":0.203787,"accel_momentum":0.104505,"rvol_3bar":[1.674926,1.206112,0.736747],"trend_3bar":"DECELERATING","projected_rvol":0.448486},"flow":{"window_s":30,"trades":69,"trade_rate":2.3,"buy_vol":9767.0,"sell_vol":1971.0,"unclassified_vol":0.0,"imbalance":0.664168,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.254122},"context":{"vwap":5.52231,"price_vs_vwap_pct":0.682508,"ema9":5.560061,"ema20":5.561725,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.766261,"atr":0.016985,"spread_atr":0.588754,"own_change_pct":-0.17071,"rel_strength_pct":{"SPY":-0.066121,"IWM":-0.09518}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.489324},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"9579ce507d9a","ts":"2026-08-28T15:40:55+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.29 below VWAP $6.46","plan":{"state":"PASS","setup":"","stop":5.79,"target":6.74,"target_label":"range_20d_high","reward_risk":0.9,"pos_in_5d_range_pct":92.2,"room_to_5d_high_atr":0.23},"price":6.29,"vwap":6.4577,"ext_from_open_pct":1.45,"max_ext_allowed_pct":4.0,"volume_pace":7.325,"trend":"flat","recent_slope_pct":0.336,"volatility":"high"},"price":6.29,"volume":{"bars":121,"last_bar_volume":31541.0,"baseline_avg":6020.3,"bar_rvol":5.239108,"raw_accel":3.254249,"smooth_accel":5.115438,"accel_momentum":0.383432,"rvol_3bar":[1.669773,1.278551,5.239108],"trend_3bar":"MIXED","projected_rvol":4.019492},"flow":{"window_s":30,"trades":117,"trade_rate":3.9,"buy_vol":4605.0,"sell_vol":6147.0,"unclassified_vol":0.0,"imbalance":-0.143415,"bid":6.29,"ask":6.54,"spread_pct":3.897116,"quote_size_imbalance":null,"quote_age_s":0.095576},"context":{"vwap":6.457153,"price_vs_vwap_pct":-2.588642,"ema9":6.451665,"ema20":6.307042,"ema_stack":false,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-15.0,"dist_to_hod_atr":6.321268,"atr":0.175598,"spread_atr":1.423709,"own_change_pct":8.716323,"rel_strength_pct":{"SPY":8.820912,"IWM":8.791853}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.751368},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"64b6e6f8a489","ts":"2026-08-28T15:41:00+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.4% above open $6.20 (max 4%: volume pace strong, buying normal)","plan":{"state":"WATCH","setup":"","stop":6.19,"target":6.74,"target_label":"range_20d_high","reward_risk":0.95,"pos_in_5d_range_pct":99.5,"room_to_5d_high_atr":0.02},"price":6.4715,"vwap":6.4587,"ext_from_open_pct":4.38,"max_ext_allowed_pct":4.0,"volume_pace":7.323,"trend":"flat","recent_slope_pct":0.8896,"volatility":"high"},"price":6.4715,"volume":{"bars":121,"last_bar_volume":31541.0,"baseline_avg":6020.3,"bar_rvol":5.239108,"raw_accel":3.254249,"smooth_accel":5.115438,"accel_momentum":0.383432,"rvol_3bar":[1.669773,1.278551,5.239108],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":115,"trade_rate":3.833333,"buy_vol":4492.0,"sell_vol":5252.0,"unclassified_vol":0.0,"imbalance":-0.077997,"bid":6.42,"ask":6.48,"spread_pct":0.930233,"quote_size_imbalance":null,"quote_age_s":0.579888},"context":{"vwap":6.457153,"price_vs_vwap_pct":0.222195,"ema9":6.451665,"ema20":6.307042,"ema_stack":true,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-12.547297,"dist_to_hod_atr":5.287655,"atr":0.175598,"spread_atr":0.34169,"own_change_pct":8.716323,"rel_strength_pct":{"SPY":8.925493,"IWM":8.904249}},"vas":{"raw":7,"score":8.8,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.408633},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"fbb898bd1d7a","ts":"2026-08-28T15:41:10+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.45 below VWAP $6.46","plan":{"state":"PASS","setup":"","stop":6.19,"target":6.74,"target_label":"range_20d_high","reward_risk":1.12,"pos_in_5d_range_pct":98.6,"room_to_5d_high_atr":0.04},"price":6.45,"vwap":6.4587,"ext_from_open_pct":4.03,"max_ext_allowed_pct":4.0,"volume_pace":7.319,"trend":"flat","recent_slope_pct":-0.1519,"volatility":"high"},"price":6.45,"volume":{"bars":122,"last_bar_volume":22711.0,"baseline_avg":7308.45,"bar_rvol":3.107499,"raw_accel":-0.279953,"smooth_accel":2.783654,"accel_momentum":-2.331784,"rvol_3bar":[1.278551,5.239108,3.107499],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":120,"trade_rate":4.0,"buy_vol":2806.0,"sell_vol":3421.0,"unclassified_vol":0.0,"imbalance":-0.098763,"bid":6.42,"ask":6.45,"spread_pct":0.4662,"quote_size_imbalance":null,"quote_age_s":2.70773},"context":{"vwap":6.458736,"price_vs_vwap_pct":-0.135257,"ema9":6.455632,"ema20":6.322704,"ema_stack":false,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-12.837838,"dist_to_hod_atr":4.629678,"atr":0.205198,"spread_atr":0.1462,"own_change_pct":2.722222,"rel_strength_pct":{"SPY":2.931392,"IWM":2.910148}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.306907},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"165a1c1b6d00","ts":"2026-08-28T15:41:15+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5224,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.88,"trend":"flat","recent_slope_pct":-0.0112,"volatility":"medium"},"price":5.55,"volume":{"bars":131,"last_bar_volume":18863.0,"baseline_avg":51288.1,"bar_rvol":0.367785,"raw_accel":-0.493611,"smooth_accel":-0.40869,"accel_momentum":-0.612477,"rvol_3bar":[1.206112,0.736747,0.367785],"trend_3bar":"DECELERATING","projected_rvol":0.286928},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":3957.0,"sell_vol":3058.0,"unclassified_vol":0.0,"imbalance":0.128154,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":1.003258},"context":{"vwap":5.52238,"price_vs_vwap_pct":0.500138,"ema9":5.560049,"ema20":5.56156,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.715564,"dist_to_hod_atr":2.426286,"atr":0.016486,"spread_atr":0.606572,"own_change_pct":0.090009,"rel_strength_pct":{"SPY":0.299179,"IWM":0.277935}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.047133},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"e80000d6de1a","ts":"2026-08-28T15:41:25+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.3325,"target":14.8,"target_label":"ceiling","reward_risk":0.25,"pos_in_5d_range_pct":93.7,"room_to_5d_high_atr":0.13},"price":14.7078,"vwap":14.6832,"ext_from_open_pct":1.43,"max_ext_allowed_pct":3.0,"volume_pace":1.629,"trend":"flat","recent_slope_pct":-0.1098,"volatility":"high"},"price":14.7078,"volume":{"bars":131,"last_bar_volume":57.0,"baseline_avg":1495.7,"bar_rvol":0.038109,"raw_accel":-0.986483,"smooth_accel":8.23614,"accel_momentum":6.611213,"rvol_3bar":[0.149998,2.856079,0.038109],"trend_3bar":"MIXED","projected_rvol":22.119409},"flow":{"window_s":30,"trades":170,"trade_rate":5.666667,"buy_vol":5150.0,"sell_vol":8637.0,"unclassified_vol":0.0,"imbalance":-0.252919,"bid":14.57,"ask":14.73,"spread_pct":1.09215,"quote_size_imbalance":null,"quote_age_s":0.873419},"context":{"vwap":14.684601,"price_vs_vwap_pct":0.157979,"ema9":14.724991,"ema20":14.71299,"ema_stack":false,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.864844,"dist_to_hod_atr":9.182108,"atr":0.081909,"spread_atr":1.95338,"own_change_pct":-0.659896,"rel_strength_pct":{"SPY":-0.450726,"IWM":-0.47197}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.009639},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"26ed8594672d","ts":"2026-08-28T15:41:30+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.5225,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":0.882,"trend":"flat","recent_slope_pct":0.0068,"volatility":"medium"},"price":5.555,"volume":{"bars":131,"last_bar_volume":18863.0,"baseline_avg":51288.1,"bar_rvol":0.367785,"raw_accel":-0.493611,"smooth_accel":-0.40869,"accel_momentum":-0.612477,"rvol_3bar":[1.206112,0.736747,0.367785],"trend_3bar":"DECELERATING","projected_rvol":1.463419},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":34939.0,"sell_vol":2589.0,"unclassified_vol":0.0,"imbalance":0.862023,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":1.934567},"context":{"vwap":5.52238,"price_vs_vwap_pct":0.590679,"ema9":5.560049,"ema20":5.56156,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.626118,"dist_to_hod_atr":2.123001,"atr":0.016486,"spread_atr":0.606572,"own_change_pct":0.090009,"rel_strength_pct":{"SPY":0.299179,"IWM":0.277935}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.317039},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"ab251419ec74","ts":"2026-08-28T15:41:30+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.65 below VWAP $14.68","plan":{"state":"PASS","setup":"","stop":14.2747,"target":14.8,"target_label":"ceiling","reward_risk":0.4,"pos_in_5d_range_pct":91.8,"room_to_5d_high_atr":0.17},"price":14.65,"vwap":14.6825,"ext_from_open_pct":1.03,"max_ext_allowed_pct":3.0,"volume_pace":1.629,"trend":"flat","recent_slope_pct":-0.1885,"volatility":"high"},"price":14.65,"volume":{"bars":131,"last_bar_volume":57.0,"baseline_avg":1495.7,"bar_rvol":0.038109,"raw_accel":-0.986483,"smooth_accel":8.23614,"accel_momentum":6.611213,"rvol_3bar":[0.149998,2.856079,0.038109],"trend_3bar":"MIXED","projected_rvol":18.816608},"flow":{"window_s":30,"trades":172,"trade_rate":5.733333,"buy_vol":5150.0,"sell_vol":8922.0,"unclassified_vol":0.0,"imbalance":-0.26805,"bid":14.57,"ask":14.73,"spread_pct":1.09215,"quote_size_imbalance":null,"quote_age_s":0.00012},"context":{"vwap":14.684601,"price_vs_vwap_pct":-0.23563,"ema9":14.724991,"ema20":14.71299,"ema_stack":false,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-5.238714,"dist_to_hod_atr":9.887766,"atr":0.081909,"spread_atr":1.95338,"own_change_pct":-0.659896,"rel_strength_pct":{"SPY":-0.450726,"IWM":-0.47197}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.010215},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9d239d6a8f08","ts":"2026-08-28T15:41:40+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"VWAP sloping down","plan":{"state":"WATCH","setup":"","stop":14.3146,"target":14.8,"target_label":"ceiling","reward_risk":0.29,"pos_in_5d_range_pct":93.1,"room_to_5d_high_atr":0.14},"price":14.6899,"vwap":14.6829,"ext_from_open_pct":1.31,"max_ext_allowed_pct":3.0,"volume_pace":1.627,"trend":"flat","recent_slope_pct":-0.1342,"volatility":"high"},"price":14.6899,"volume":{"bars":131,"last_bar_volume":57.0,"baseline_avg":1495.7,"bar_rvol":0.038109,"raw_accel":-0.986483,"smooth_accel":8.23614,"accel_momentum":6.611213,"rvol_3bar":[0.149998,2.856079,0.038109],"trend_3bar":"MIXED","projected_rvol":14.115464},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":768.0,"sell_vol":1274.0,"unclassified_vol":0.0,"imbalance":-0.247796,"bid":14.57,"ask":14.69,"spread_pct":0.820232,"quote_size_imbalance":null,"quote_age_s":2.707719},"context":{"vwap":14.684601,"price_vs_vwap_pct":0.036083,"ema9":14.724991,"ema20":14.71299,"ema_stack":false,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-4.980627,"dist_to_hod_atr":9.400642,"atr":0.081909,"spread_atr":1.465035,"own_change_pct":-0.659896,"rel_strength_pct":{"SPY":-0.450726,"IWM":-0.47197}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.009443},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8d4a923086c6","ts":"2026-08-28T15:41:45+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"spread 2.18% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":6.19,"target":6.74,"target_label":"range_20d_high","reward_risk":0.83,"pos_in_5d_range_pct":100.2,"room_to_5d_high_atr":-0.01},"price":6.4899,"vwap":6.4587,"ext_from_open_pct":4.68,"max_ext_allowed_pct":4.0,"volume_pace":7.31,"trend":"flat","recent_slope_pct":-0.03,"volatility":"high"},"price":6.4899,"volume":{"bars":122,"last_bar_volume":22711.0,"baseline_avg":7308.45,"bar_rvol":3.107499,"raw_accel":-0.279953,"smooth_accel":2.783654,"accel_momentum":-2.331784,"rvol_3bar":[1.278551,5.239108,3.107499],"trend_3bar":"MIXED","projected_rvol":0.912916},"flow":{"window_s":30,"trades":73,"trade_rate":2.433333,"buy_vol":1567.0,"sell_vol":1570.0,"unclassified_vol":0.0,"imbalance":-0.000956,"bid":6.35,"ask":6.49,"spread_pct":2.180685,"quote_size_imbalance":null,"quote_age_s":2.547363},"context":{"vwap":6.458736,"price_vs_vwap_pct":0.482511,"ema9":6.455632,"ema20":6.322704,"ema_stack":true,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-12.298649,"dist_to_hod_atr":4.435232,"atr":0.205198,"spread_atr":0.682268,"own_change_pct":2.722222,"rel_strength_pct":{"SPY":2.931392,"IWM":2.910148}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.002972},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"02b7a856d68f","ts":"2026-08-28T15:41:50+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.39 below VWAP $6.46","plan":{"state":"PASS","setup":"","stop":6.17,"target":6.74,"target_label":"range_20d_high","reward_risk":1.59,"pos_in_5d_range_pct":96.2,"room_to_5d_high_atr":0.11},"price":6.39,"vwap":6.4585,"ext_from_open_pct":3.06,"max_ext_allowed_pct":4.0,"volume_pace":7.306,"trend":"flat","recent_slope_pct":-0.3356,"volatility":"high"},"price":6.39,"volume":{"bars":122,"last_bar_volume":22711.0,"baseline_avg":7308.45,"bar_rvol":3.107499,"raw_accel":-0.279953,"smooth_accel":2.783654,"accel_momentum":-2.331784,"rvol_3bar":[1.278551,5.239108,3.107499],"trend_3bar":"MIXED","projected_rvol":0.841984},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":1582.0,"sell_vol":1295.0,"unclassified_vol":0.0,"imbalance":0.099757,"bid":6.38,"ask":6.49,"spread_pct":1.709402,"quote_size_imbalance":null,"quote_age_s":3.409688},"context":{"vwap":6.458736,"price_vs_vwap_pct":-1.064231,"ema9":6.455632,"ema20":6.322704,"ema_stack":false,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-13.648649,"dist_to_hod_atr":4.922079,"atr":0.205198,"spread_atr":0.536068,"own_change_pct":2.722222,"rel_strength_pct":{"SPY":2.931392,"IWM":2.910148}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.309994},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7410e09f6857","ts":"2026-08-28T15:41:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5225,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.88,"trend":"flat","recent_slope_pct":-0.0112,"volatility":"medium"},"price":5.55,"volume":{"bars":131,"last_bar_volume":18863.0,"baseline_avg":51288.1,"bar_rvol":0.367785,"raw_accel":-0.493611,"smooth_accel":-0.40869,"accel_momentum":-0.612477,"rvol_3bar":[1.206112,0.736747,0.367785],"trend_3bar":"DECELERATING","projected_rvol":0.95304},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":32931.0,"sell_vol":3781.0,"unclassified_vol":0.0,"imbalance":0.794018,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":4.566696},"context":{"vwap":5.52238,"price_vs_vwap_pct":0.500138,"ema9":5.560049,"ema20":5.56156,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.715564,"dist_to_hod_atr":2.426286,"atr":0.016486,"spread_atr":0.606572,"own_change_pct":0.090009,"rel_strength_pct":{"SPY":0.299179,"IWM":0.277935}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.292028},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"0f04820f8f55","ts":"2026-08-28T15:41:55+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.55% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":6.19,"target":6.74,"target_label":"range_20d_high","reward_risk":0.83,"pos_in_5d_range_pct":100.2,"room_to_5d_high_atr":-0.01},"price":6.4899,"vwap":6.4587,"ext_from_open_pct":4.68,"max_ext_allowed_pct":4.0,"volume_pace":7.304,"trend":"flat","recent_slope_pct":-0.03,"volatility":"high"},"price":6.4899,"volume":{"bars":122,"last_bar_volume":22711.0,"baseline_avg":7308.45,"bar_rvol":3.107499,"raw_accel":-0.279953,"smooth_accel":2.783654,"accel_momentum":-2.331784,"rvol_3bar":[1.278551,5.239108,3.107499],"trend_3bar":"MIXED","projected_rvol":0.836939},"flow":{"window_s":30,"trades":62,"trade_rate":2.066667,"buy_vol":2005.0,"sell_vol":1197.0,"unclassified_vol":0.0,"imbalance":0.252342,"bid":6.39,"ask":6.49,"spread_pct":1.552795,"quote_size_imbalance":null,"quote_age_s":2.964655},"context":{"vwap":6.458736,"price_vs_vwap_pct":0.482511,"ema9":6.455632,"ema20":6.322704,"ema_stack":true,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-12.298649,"dist_to_hod_atr":4.435232,"atr":0.205198,"spread_atr":0.487335,"own_change_pct":2.722222,"rel_strength_pct":{"SPY":2.931392,"IWM":2.910148}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.784153},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d4090ffafe92","ts":"2026-08-28T15:41:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.5225,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":0.879,"trend":"flat","recent_slope_pct":0.0068,"volatility":"medium"},"price":5.555,"volume":{"bars":131,"last_bar_volume":18863.0,"baseline_avg":51288.1,"bar_rvol":0.367785,"raw_accel":-0.493611,"smooth_accel":-0.40869,"accel_momentum":-0.612477,"rvol_3bar":[1.206112,0.736747,0.367785],"trend_3bar":"DECELERATING","projected_rvol":0.889308},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":33026.0,"sell_vol":3956.0,"unclassified_vol":0.0,"imbalance":0.786058,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.730843},"context":{"vwap":5.52238,"price_vs_vwap_pct":0.590679,"ema9":5.560049,"ema20":5.56156,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.626118,"dist_to_hod_atr":2.123001,"atr":0.016486,"spread_atr":0.606572,"own_change_pct":0.090009,"rel_strength_pct":{"SPY":0.299179,"IWM":0.277935}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.2891},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"89e46ff8a8a3","ts":"2026-08-28T15:42:00+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.95 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9127,"target":11.13,"target_label":"range_20d_high","reward_risk":4.74,"pos_in_5d_range_pct":66.8,"room_to_5d_high_atr":0.53},"price":10.9505,"vwap":10.9585,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":3.0,"volume_pace":1.704,"trend":"flat","recent_slope_pct":-0.0272,"volatility":"low"},"price":10.9505,"volume":{"bars":131,"last_bar_volume":11958.0,"baseline_avg":30546.5,"bar_rvol":0.391469,"raw_accel":-0.621295,"smooth_accel":-0.668987,"accel_momentum":-0.998789,"rvol_3bar":[0.258206,1.074683,0.391469],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":123,"trade_rate":4.1,"buy_vol":9804.0,"sell_vol":49122.0,"unclassified_vol":0.0,"imbalance":-0.667244,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.143401},"context":{"vwap":10.958516,"price_vs_vwap_pct":-0.073148,"ema9":10.963872,"ema20":10.965182,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.45,"dist_to_hod_atr":3.821471,"atr":0.012953,"spread_atr":0.772014,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.104194,"IWM":0.132243}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.261205},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7973e33720cb","ts":"2026-08-28T15:42:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5225,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.878,"trend":"flat","recent_slope_pct":-0.0369,"volatility":"medium"},"price":5.55,"volume":{"bars":132,"last_bar_volume":42232.0,"baseline_avg":50853.65,"bar_rvol":0.830462,"raw_accel":1.23888,"smooth_accel":-0.44131,"accel_momentum":-0.03262,"rvol_3bar":[0.736747,0.367785,0.830462],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":1434.0,"sell_vol":2416.0,"unclassified_vol":0.0,"imbalance":-0.255065,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":4.989578},"context":{"vwap":5.52253,"price_vs_vwap_pct":0.497418,"ema9":5.559039,"ema20":5.560936,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.715564,"dist_to_hod_atr":2.496442,"atr":0.016023,"spread_atr":0.62411,"own_change_pct":-0.089928,"rel_strength_pct":{"SPY":0.059865,"IWM":0.087915}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.211822},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"cbbc035394a4","ts":"2026-08-28T15:42:10+00:00","symbol":"STDN","event":"REJECT","bot":{"state":"REJECT","reason":"price $14.63 below VWAP $14.68","plan":{"state":"PASS","setup":"","stop":14.2547,"target":14.8,"target_label":"ceiling","reward_risk":0.45,"pos_in_5d_range_pct":91.2,"room_to_5d_high_atr":0.18},"price":14.63,"vwap":14.6829,"ext_from_open_pct":0.9,"max_ext_allowed_pct":4.0,"volume_pace":1.624,"trend":"flat","recent_slope_pct":-0.1905,"volatility":"high"},"price":14.63,"volume":{"bars":132,"last_bar_volume":14075.0,"baseline_avg":1434.45,"bar_rvol":9.812123,"raw_accel":38.248492,"smooth_accel":30.636207,"accel_momentum":22.400067,"rvol_3bar":[2.856079,0.038109,9.812123],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":0.0,"sell_vol":682.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":14.57,"ask":14.69,"spread_pct":0.820232,"quote_size_imbalance":null,"quote_age_s":10.000093},"context":{"vwap":14.68295,"price_vs_vwap_pct":-0.360621,"ema9":14.717973,"ema20":14.710791,"ema_stack":false,"ema_warm":true,"hod":15.4599,"dist_to_hod_pct":-5.368081,"dist_to_hod_atr":9.129663,"atr":0.090901,"spread_atr":1.32011,"own_change_pct":-0.203806,"rel_strength_pct":{"SPY":-0.054012,"IWM":-0.025963}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-9.812123},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6225fb817bea","ts":"2026-08-28T15:43:40+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4796,"target":6.0,"target_label":"range_20d_high","reward_risk":5.9,"pos_in_5d_range_pct":48.9,"room_to_5d_high_atr":1.47},"price":5.555,"vwap":5.5226,"ext_from_open_pct":3.83,"max_ext_allowed_pct":4.0,"volume_pace":0.87,"trend":"flat","recent_slope_pct":-0.0059,"volatility":"medium"},"price":5.555,"volume":{"bars":133,"last_bar_volume":7843.0,"baseline_avg":52383.75,"bar_rvol":0.149722,"raw_accel":-0.814288,"smooth_accel":-0.620191,"accel_momentum":-0.17888,"rvol_3bar":[0.367785,0.830462,0.149722],"trend_3bar":"MIXED","projected_rvol":0.261522},"flow":{"window_s":30,"trades":76,"trade_rate":2.533333,"buy_vol":2701.0,"sell_vol":4598.0,"unclassified_vol":0.0,"imbalance":-0.259899,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.000402},"context":{"vwap":5.522558,"price_vs_vwap_pct":0.587439,"ema9":5.558771,"ema20":5.560627,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.626118,"dist_to_hod_atr":2.244654,"atr":0.015593,"spread_atr":0.64133,"own_change_pct":0.082837,"rel_strength_pct":{"SPY":0.243,"IWM":0.270797}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.038913},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f482c896f06f","ts":"2026-08-28T15:43:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.0% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4896,"target":6.0,"target_label":"range_20d_high","reward_risk":5.77,"pos_in_5d_range_pct":50.0,"room_to_5d_high_atr":1.44},"price":5.565,"vwap":5.5227,"ext_from_open_pct":4.02,"max_ext_allowed_pct":4.0,"volume_pace":0.872,"trend":"flat","recent_slope_pct":0.03,"volatility":"medium"},"price":5.565,"volume":{"bars":133,"last_bar_volume":7843.0,"baseline_avg":52383.75,"bar_rvol":0.149722,"raw_accel":-0.814288,"smooth_accel":-0.620191,"accel_momentum":-0.17888,"rvol_3bar":[0.367785,0.830462,0.149722],"trend_3bar":"MIXED","projected_rvol":1.0142},"flow":{"window_s":30,"trades":172,"trade_rate":5.733333,"buy_vol":36733.0,"sell_vol":3214.0,"unclassified_vol":0.0,"imbalance":0.839087,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.875471},"context":{"vwap":5.522558,"price_vs_vwap_pct":0.768514,"ema9":5.558771,"ema20":5.560627,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.447227,"dist_to_hod_atr":1.603324,"atr":0.015593,"spread_atr":0.64133,"own_change_pct":0.082837,"rel_strength_pct":{"SPY":0.243,"IWM":0.270797}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.12563},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9eed5e9c51c7","ts":"2026-08-28T15:43:55+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4817,"target":6.0,"target_label":"range_20d_high","reward_risk":5.87,"pos_in_5d_range_pct":49.1,"room_to_5d_high_atr":1.47},"price":5.5571,"vwap":5.5227,"ext_from_open_pct":3.87,"max_ext_allowed_pct":4.0,"volume_pace":0.871,"trend":"flat","recent_slope_pct":0.0016,"volatility":"medium"},"price":5.5571,"volume":{"bars":133,"last_bar_volume":7843.0,"baseline_avg":52383.75,"bar_rvol":0.149722,"raw_accel":-0.814288,"smooth_accel":-0.620191,"accel_momentum":-0.17888,"rvol_3bar":[0.367785,0.830462,0.149722],"trend_3bar":"MIXED","projected_rvol":0.970606},"flow":{"window_s":30,"trades":186,"trade_rate":6.2,"buy_vol":38966.0,"sell_vol":3260.0,"unclassified_vol":0.0,"imbalance":0.845593,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":4.142668},"context":{"vwap":5.522558,"price_vs_vwap_pct":0.625465,"ema9":5.558771,"ema20":5.560627,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.588551,"dist_to_hod_atr":2.109974,"atr":0.015593,"spread_atr":0.64133,"own_change_pct":0.082837,"rel_strength_pct":{"SPY":0.243,"IWM":0.270797}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.126604},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"de64e8f2e89b","ts":"2026-08-28T15:44:00+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.0% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4896,"target":6.0,"target_label":"range_20d_high","reward_risk":5.77,"pos_in_5d_range_pct":50.0,"room_to_5d_high_atr":1.44},"price":5.565,"vwap":5.5228,"ext_from_open_pct":4.02,"max_ext_allowed_pct":4.0,"volume_pace":0.871,"trend":"flat","recent_slope_pct":0.03,"volatility":"medium"},"price":5.565,"volume":{"bars":133,"last_bar_volume":7843.0,"baseline_avg":52383.75,"bar_rvol":0.149722,"raw_accel":-0.814288,"smooth_accel":-0.620191,"accel_momentum":-0.17888,"rvol_3bar":[0.367785,0.830462,0.149722],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":189,"trade_rate":6.3,"buy_vol":39535.0,"sell_vol":3328.0,"unclassified_vol":0.0,"imbalance":0.844715,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":1.299002},"context":{"vwap":5.522558,"price_vs_vwap_pct":0.768514,"ema9":5.558771,"ema20":5.560627,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.447227,"dist_to_hod_atr":1.603324,"atr":0.015593,"spread_atr":0.64133,"own_change_pct":0.082837,"rel_strength_pct":{"SPY":0.181047,"IWM":0.197023}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.126472},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"9185bc5209c1","ts":"2026-08-28T15:44:05+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.9272,"target":11.13,"target_label":"range_20d_high","reward_risk":4.36,"pos_in_5d_range_pct":72.9,"room_to_5d_high_atr":0.43},"price":10.965,"vwap":10.9585,"ext_from_open_pct":-0.05,"max_ext_allowed_pct":4.0,"volume_pace":1.695,"trend":"flat","recent_slope_pct":0.0122,"volatility":"low"},"price":10.965,"volume":{"bars":134,"last_bar_volume":14361.0,"baseline_avg":30721.0,"bar_rvol":0.467465,"raw_accel":-0.635091,"smooth_accel":1.313603,"accel_momentum":1.322802,"rvol_3bar":[2.305658,1.332164,0.467465],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":123,"trade_rate":4.1,"buy_vol":21961.0,"sell_vol":6508.0,"unclassified_vol":0.0,"imbalance":0.542801,"bid":10.96,"ask":10.97,"spread_pct":0.091199,"quote_size_imbalance":null,"quote_age_s":0.91837},"context":{"vwap":10.958491,"price_vs_vwap_pct":0.059397,"ema9":10.959771,"ema20":10.962637,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.318182,"dist_to_hod_atr":2.655098,"atr":0.013182,"spread_atr":0.758599,"own_change_pct":-0.101231,"rel_strength_pct":{"SPY":-0.003021,"IWM":0.012955}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.253741},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"1893fae43dd5","ts":"2026-08-28T15:44:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4846,"target":6.0,"target_label":"range_20d_high","reward_risk":5.83,"pos_in_5d_range_pct":49.4,"room_to_5d_high_atr":1.46},"price":5.56,"vwap":5.5228,"ext_from_open_pct":3.93,"max_ext_allowed_pct":4.0,"volume_pace":0.871,"trend":"flat","recent_slope_pct":0.018,"volatility":"medium"},"price":5.56,"volume":{"bars":134,"last_bar_volume":47653.0,"baseline_avg":52188.75,"bar_rvol":0.91309,"raw_accel":2.652358,"smooth_accel":-0.167387,"accel_momentum":0.452804,"rvol_3bar":[0.830462,0.149722,0.91309],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":189,"trade_rate":6.3,"buy_vol":38826.0,"sell_vol":4366.0,"unclassified_vol":0.0,"imbalance":0.797833,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":4.999327},"context":{"vwap":5.522759,"price_vs_vwap_pct":0.674312,"ema9":5.560017,"ema20":5.561044,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.536673,"dist_to_hod_atr":1.885912,"atr":0.015907,"spread_atr":0.628637,"own_change_pct":0.089928,"rel_strength_pct":{"SPY":0.188138,"IWM":0.204114}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.728493},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c3dc78d87408","ts":"2026-08-28T15:44:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.393,"target":13.62,"target_label":"premarket_high","reward_risk":0.86,"pos_in_5d_range_pct":22.4,"room_to_5d_high_atr":1.31},"price":13.5153,"vwap":13.4862,"ext_from_open_pct":0.11,"max_ext_allowed_pct":4.0,"volume_pace":0.814,"trend":"flat","recent_slope_pct":0.0004,"volatility":"medium"},"price":13.5153,"volume":{"bars":134,"last_bar_volume":3111.0,"baseline_avg":7184.5,"bar_rvol":0.433016,"raw_accel":-0.144389,"smooth_accel":-0.476835,"accel_momentum":-0.788081,"rvol_3bar":[0.088304,0.506019,0.433016],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":601.0,"sell_vol":459.0,"unclassified_vol":0.0,"imbalance":0.133962,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":2.167788},"context":{"vwap":13.486174,"price_vs_vwap_pct":0.215972,"ema9":13.518208,"ema20":13.520408,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.695812,"dist_to_hod_atr":7.126145,"atr":0.013289,"spread_atr":0.752497,"own_change_pct":0.03701,"rel_strength_pct":{"SPY":0.13522,"IWM":0.151196}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.058008},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"418afdc960dc","ts":"2026-08-28T15:44:10+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +4.1% above open $5.35 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":5.4946,"target":6.0,"target_label":"range_20d_high","reward_risk":5.7,"pos_in_5d_range_pct":50.6,"room_to_5d_high_atr":1.43},"price":5.57,"vwap":5.5228,"ext_from_open_pct":4.11,"max_ext_allowed_pct":4.0,"volume_pace":0.87,"trend":"flat","recent_slope_pct":0.0539,"volatility":"medium"},"price":5.57,"volume":{"bars":134,"last_bar_volume":47653.0,"baseline_avg":52188.75,"bar_rvol":0.91309,"raw_accel":2.652358,"smooth_accel":-0.167387,"accel_momentum":0.452804,"rvol_3bar":[0.830462,0.149722,0.91309],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":172,"trade_rate":5.733333,"buy_vol":38942.0,"sell_vol":2376.0,"unclassified_vol":0.0,"imbalance":0.88499,"bid":5.56,"ask":5.57,"spread_pct":0.179695,"quote_size_imbalance":null,"quote_age_s":0.257917},"context":{"vwap":5.522759,"price_vs_vwap_pct":0.855381,"ema9":5.560017,"ema20":5.561044,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.357782,"dist_to_hod_atr":1.257275,"atr":0.015907,"spread_atr":0.628637,"own_change_pct":0.089928,"rel_strength_pct":{"SPY":0.188138,"IWM":0.204114}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-1,"accel":-1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.808075},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"50f40302e95c","ts":"2026-08-28T15:44:15+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.3984,"target":13.62,"target_label":"premarket_high","reward_risk":0.81,"pos_in_5d_range_pct":23.0,"room_to_5d_high_atr":1.3},"price":13.5207,"vwap":13.4862,"ext_from_open_pct":0.15,"max_ext_allowed_pct":4.0,"volume_pace":0.813,"trend":"flat","recent_slope_pct":0.0084,"volatility":"medium"},"price":13.5207,"volume":{"bars":134,"last_bar_volume":3111.0,"baseline_avg":7184.5,"bar_rvol":0.433016,"raw_accel":-0.144389,"smooth_accel":-0.476835,"accel_momentum":-0.788081,"rvol_3bar":[0.088304,0.506019,0.433016],"trend_3bar":"MIXED","projected_rvol":0.017816},"flow":{"window_s":30,"trades":8,"trade_rate":0.266667,"buy_vol":272.0,"sell_vol":9.0,"unclassified_vol":0.0,"imbalance":0.935943,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":0.993632},"context":{"vwap":13.486174,"price_vs_vwap_pct":0.256013,"ema9":13.518208,"ema20":13.520408,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.656135,"dist_to_hod_atr":6.719797,"atr":0.013289,"spread_atr":0.752497,"own_change_pct":0.03701,"rel_strength_pct":{"SPY":0.13522,"IWM":0.151196}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.405278},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"de576e34d373","ts":"2026-08-28T15:44:25+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.395,"target":13.62,"target_label":"premarket_high","reward_risk":0.84,"pos_in_5d_range_pct":22.6,"room_to_5d_high_atr":1.31},"price":13.5173,"vwap":13.4862,"ext_from_open_pct":0.13,"max_ext_allowed_pct":4.0,"volume_pace":0.812,"trend":"flat","recent_slope_pct":0.0034,"volatility":"medium"},"price":13.5173,"volume":{"bars":134,"last_bar_volume":3111.0,"baseline_avg":7184.5,"bar_rvol":0.433016,"raw_accel":-0.144389,"smooth_accel":-0.476835,"accel_momentum":-0.788081,"rvol_3bar":[0.088304,0.506019,0.433016],"trend_3bar":"MIXED","projected_rvol":0.032403},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":85.0,"sell_vol":16.0,"unclassified_vol":0.0,"imbalance":0.683168,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":1.124184},"context":{"vwap":13.486174,"price_vs_vwap_pct":0.230802,"ema9":13.518208,"ema20":13.520408,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.681117,"dist_to_hod_atr":6.975646,"atr":0.013289,"spread_atr":0.752497,"own_change_pct":0.03701,"rel_strength_pct":{"SPY":0.13522,"IWM":0.151196}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.295822},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b3b1019387d3","ts":"2026-08-28T15:44:30+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.3977,"target":13.62,"target_label":"premarket_high","reward_risk":0.82,"pos_in_5d_range_pct":22.9,"room_to_5d_high_atr":1.31},"price":13.52,"vwap":13.4862,"ext_from_open_pct":0.15,"max_ext_allowed_pct":4.0,"volume_pace":0.811,"trend":"flat","recent_slope_pct":0.0074,"volatility":"medium"},"price":13.52,"volume":{"bars":134,"last_bar_volume":3111.0,"baseline_avg":7184.5,"bar_rvol":0.433016,"raw_accel":-0.144389,"smooth_accel":-0.476835,"accel_momentum":-0.788081,"rvol_3bar":[0.088304,0.506019,0.433016],"trend_3bar":"MIXED","projected_rvol":0.115805},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":299.0,"sell_vol":117.0,"unclassified_vol":0.0,"imbalance":0.4375,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":0.002352},"context":{"vwap":13.486174,"price_vs_vwap_pct":0.250822,"ema9":13.518208,"ema20":13.520408,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.661278,"dist_to_hod_atr":6.772472,"atr":0.013289,"spread_atr":0.752497,"own_change_pct":0.03701,"rel_strength_pct":{"SPY":0.13522,"IWM":0.151196}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.189444},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0b7a9f407acb","ts":"2026-08-28T15:44:55+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3945,"target":13.62,"target_label":"premarket_high","reward_risk":0.84,"pos_in_5d_range_pct":22.5,"room_to_5d_high_atr":1.31},"price":13.5168,"vwap":13.4863,"ext_from_open_pct":0.12,"max_ext_allowed_pct":4.0,"volume_pace":0.811,"trend":"flat","recent_slope_pct":0.0027,"volatility":"medium"},"price":13.5168,"volume":{"bars":134,"last_bar_volume":3111.0,"baseline_avg":7184.5,"bar_rvol":0.433016,"raw_accel":-0.144389,"smooth_accel":-0.476835,"accel_momentum":-0.788081,"rvol_3bar":[0.088304,0.506019,0.433016],"trend_3bar":"MIXED","projected_rvol":0.574115},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":3247.0,"sell_vol":437.0,"unclassified_vol":0.0,"imbalance":0.762758,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.331142},"context":{"vwap":13.486174,"price_vs_vwap_pct":0.227094,"ema9":13.518208,"ema20":13.520408,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.684791,"dist_to_hod_atr":7.013271,"atr":0.013289,"spread_atr":0.752497,"own_change_pct":0.03701,"rel_strength_pct":{"SPY":0.13522,"IWM":0.151196}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.330286},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6286877fe9e7","ts":"2026-08-28T15:45:00+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.4027,"target":13.62,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":23.5,"room_to_5d_high_atr":1.3},"price":13.525,"vwap":13.4863,"ext_from_open_pct":0.19,"max_ext_allowed_pct":4.0,"volume_pace":0.81,"trend":"flat","recent_slope_pct":0.0148,"volatility":"medium"},"price":13.525,"volume":{"bars":134,"last_bar_volume":3111.0,"baseline_avg":7184.5,"bar_rvol":0.433016,"raw_accel":-0.144389,"smooth_accel":-0.476835,"accel_momentum":-0.788081,"rvol_3bar":[0.088304,0.506019,0.433016],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":3057.0,"sell_vol":547.0,"unclassified_vol":0.0,"imbalance":0.696448,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.002334},"context":{"vwap":13.486174,"price_vs_vwap_pct":0.287897,"ema9":13.518208,"ema20":13.520408,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.624541,"dist_to_hod_atr":6.396223,"atr":0.013289,"spread_atr":0.752497,"own_change_pct":0.03701,"rel_strength_pct":{"SPY":0.144293,"IWM":0.174746}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.301573},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"01ec9aad9c8d","ts":"2026-08-28T15:45:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3941,"target":13.62,"target_label":"premarket_high","reward_risk":0.85,"pos_in_5d_range_pct":22.5,"room_to_5d_high_atr":1.31},"price":13.5164,"vwap":13.4863,"ext_from_open_pct":0.12,"max_ext_allowed_pct":3.0,"volume_pace":0.809,"trend":"flat","recent_slope_pct":0.0021,"volatility":"medium"},"price":13.5164,"volume":{"bars":135,"last_bar_volume":4020.0,"baseline_avg":4538.75,"bar_rvol":0.885706,"raw_accel":0.292189,"smooth_accel":0.157991,"accel_momentum":0.634826,"rvol_3bar":[0.506019,0.433016,0.885706],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":16,"trade_rate":0.533333,"buy_vol":1514.0,"sell_vol":424.0,"unclassified_vol":0.0,"imbalance":0.562436,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.159354},"context":{"vwap":13.486267,"price_vs_vwap_pct":0.223436,"ema9":13.519566,"ema20":13.520845,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.68773,"dist_to_hod_atr":6.979189,"atr":0.013411,"spread_atr":0.74564,"own_change_pct":0.020707,"rel_strength_pct":{"SPY":0.12799,"IWM":0.158443}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-1,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.498153},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"79c9659e1f04","ts":"2026-08-28T15:45:15+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.4052,"target":13.62,"target_label":"premarket_high","reward_risk":0.76,"pos_in_5d_range_pct":23.8,"room_to_5d_high_atr":1.29},"price":13.5275,"vwap":13.4863,"ext_from_open_pct":0.2,"max_ext_allowed_pct":3.0,"volume_pace":0.809,"trend":"flat","recent_slope_pct":0.0185,"volatility":"medium"},"price":13.5275,"volume":{"bars":135,"last_bar_volume":4020.0,"baseline_avg":4538.75,"bar_rvol":0.885706,"raw_accel":0.292189,"smooth_accel":0.157991,"accel_momentum":0.634826,"rvol_3bar":[0.506019,0.433016,0.885706],"trend_3bar":"MIXED","projected_rvol":0.248527},"flow":{"window_s":30,"trades":16,"trade_rate":0.533333,"buy_vol":1418.0,"sell_vol":423.0,"unclassified_vol":0.0,"imbalance":0.540467,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.863506},"context":{"vwap":13.486267,"price_vs_vwap_pct":0.305742,"ema9":13.519566,"ema20":13.520845,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.606172,"dist_to_hod_atr":6.151529,"atr":0.013411,"spread_atr":0.74564,"own_change_pct":0.020707,"rel_strength_pct":{"SPY":0.12799,"IWM":0.158443}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-1,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.478695},"shadow":{"decision":"FAIL","failed":["bar_rvol"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c86d3874890f","ts":"2026-08-28T15:45:25+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4829,"target":6.0,"target_label":"range_20d_high","reward_risk":5.86,"pos_in_5d_range_pct":49.2,"room_to_5d_high_atr":1.46},"price":5.5583,"vwap":5.5229,"ext_from_open_pct":3.89,"max_ext_allowed_pct":4.0,"volume_pace":0.866,"trend":"flat","recent_slope_pct":0.016,"volatility":"medium"},"price":5.5583,"volume":{"bars":135,"last_bar_volume":32824.0,"baseline_avg":53529.45,"bar_rvol":0.613195,"raw_accel":-0.311187,"smooth_accel":-0.101937,"accel_momentum":0.06545,"rvol_3bar":[0.149722,0.91309,0.613195],"trend_3bar":"MIXED","projected_rvol":0.464402},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":2316.0,"sell_vol":8285.0,"unclassified_vol":0.0,"imbalance":-0.56306,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.002367},"context":{"vwap":5.522891,"price_vs_vwap_pct":0.641136,"ema9":5.560014,"ema20":5.560944,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.567084,"dist_to_hod_atr":1.956821,"atr":0.0162,"spread_atr":0.617294,"own_change_pct":0.081001,"rel_strength_pct":{"SPY":0.188284,"IWM":0.218737}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.345266},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"08669380a3f1","ts":"2026-08-28T15:45:35+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.9% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4825,"target":6.0,"target_label":"range_20d_high","reward_risk":5.86,"pos_in_5d_range_pct":49.2,"room_to_5d_high_atr":1.47},"price":5.5579,"vwap":5.523,"ext_from_open_pct":3.89,"max_ext_allowed_pct":3.0,"volume_pace":0.866,"trend":"flat","recent_slope_pct":0.0146,"volatility":"medium"},"price":5.5579,"volume":{"bars":135,"last_bar_volume":32824.0,"baseline_avg":53529.45,"bar_rvol":0.613195,"raw_accel":-0.311187,"smooth_accel":-0.101937,"accel_momentum":0.06545,"rvol_3bar":[0.149722,0.91309,0.613195],"trend_3bar":"MIXED","projected_rvol":0.761589},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":4929.0,"sell_vol":15771.0,"unclassified_vol":0.0,"imbalance":-0.523768,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":3.390764},"context":{"vwap":5.522891,"price_vs_vwap_pct":0.633893,"ema9":5.560014,"ema20":5.560944,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.57424,"dist_to_hod_atr":1.981512,"atr":0.0162,"spread_atr":0.617294,"own_change_pct":0.081001,"rel_strength_pct":{"SPY":0.188284,"IWM":0.218737}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.321172},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"88619f0404fe","ts":"2026-08-28T15:46:05+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.32 below VWAP $6.46","plan":{"state":"PASS","setup":"","stop":5.8951,"target":6.74,"target_label":"range_20d_high","reward_risk":1.01,"pos_in_5d_range_pct":93.2,"room_to_5d_high_atr":0.2},"price":6.3151,"vwap":6.46,"ext_from_open_pct":1.86,"max_ext_allowed_pct":4.0,"volume_pace":7.237,"trend":"flat","recent_slope_pct":-0.831,"volatility":"high"},"price":6.3151,"volume":{"bars":127,"last_bar_volume":10872.0,"baseline_avg":9406.85,"bar_rvol":1.155754,"raw_accel":2.720739,"smooth_accel":-0.436616,"accel_momentum":0.321277,"rvol_3bar":[0.73699,0.314935,1.155754],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":89,"trade_rate":2.966667,"buy_vol":2098.0,"sell_vol":3848.0,"unclassified_vol":0.0,"imbalance":-0.294316,"bid":6.29,"ask":6.5,"spread_pct":3.283815,"quote_size_imbalance":null,"quote_age_s":5.4403},"context":{"vwap":6.459982,"price_vs_vwap_pct":-2.242757,"ema9":6.513263,"ema20":6.410473,"ema_stack":false,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-14.660811,"dist_to_hod_atr":5.504225,"atr":0.197103,"spread_atr":1.065432,"own_change_pct":0.440392,"rel_strength_pct":{"SPY":0.435217,"IWM":0.500911}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":0,"accel":-2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.340156},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"26e3d83b7eac","ts":"2026-08-28T15:46:30+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4771,"target":6.0,"target_label":"range_20d_high","reward_risk":5.93,"pos_in_5d_range_pct":48.6,"room_to_5d_high_atr":1.48},"price":5.5525,"vwap":5.5232,"ext_from_open_pct":3.79,"max_ext_allowed_pct":4.0,"volume_pace":0.865,"trend":"flat","recent_slope_pct":-0.0277,"volatility":"medium"},"price":5.5525,"volume":{"bars":136,"last_bar_volume":39265.0,"baseline_avg":46020.1,"bar_rvol":0.853214,"raw_accel":0.196228,"smooth_accel":0.736952,"accel_momentum":0.838889,"rvol_3bar":[0.91309,0.613195,0.853214],"trend_3bar":"MIXED","projected_rvol":1.743934},"flow":{"window_s":30,"trades":58,"trade_rate":1.933333,"buy_vol":31958.0,"sell_vol":8170.0,"unclassified_vol":0.0,"imbalance":0.592803,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":0.93634},"context":{"vwap":5.523033,"price_vs_vwap_pct":0.533534,"ema9":5.560011,"ema20":5.560854,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.670841,"dist_to_hod_atr":2.379909,"atr":0.015757,"spread_atr":0.634642,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.005176,"IWM":0.060518}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.505788},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e03c76940710","ts":"2026-08-28T15:46:35+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"spread 3.28% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":6.07,"target":6.74,"target_label":"range_20d_high","reward_risk":0.6,"pos_in_5d_range_pct":100.2,"room_to_5d_high_atr":-0.01},"price":6.49,"vwap":6.4599,"ext_from_open_pct":4.68,"max_ext_allowed_pct":4.0,"volume_pace":7.225,"trend":"flat","recent_slope_pct":-0.2909,"volatility":"high"},"price":6.49,"volume":{"bars":127,"last_bar_volume":10872.0,"baseline_avg":9406.85,"bar_rvol":1.155754,"raw_accel":2.720739,"smooth_accel":-0.436616,"accel_momentum":0.321277,"rvol_3bar":[0.73699,0.314935,1.155754],"trend_3bar":"MIXED","projected_rvol":0.548901},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":1096.0,"sell_vol":1667.0,"unclassified_vol":0.0,"imbalance":-0.206659,"bid":6.29,"ask":6.5,"spread_pct":3.283815,"quote_size_imbalance":null,"quote_age_s":2.354063},"context":{"vwap":6.459982,"price_vs_vwap_pct":0.464681,"ema9":6.513263,"ema20":6.410473,"ema_stack":false,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-12.297297,"dist_to_hod_atr":4.616872,"atr":0.197103,"spread_atr":1.065432,"own_change_pct":0.440392,"rel_strength_pct":{"SPY":0.435217,"IWM":0.500911}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":0,"accel":-2,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.238847},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e3b4894f9d42","ts":"2026-08-28T15:46:45+00:00","symbol":"XLAB","event":"REJECT","bot":{"state":"REJECT","reason":"price $6.37 below VWAP $6.46","plan":{"state":"PASS","setup":"","stop":5.99,"target":6.74,"target_label":"range_20d_high","reward_risk":0.97,"pos_in_5d_range_pct":95.4,"room_to_5d_high_atr":0.13},"price":6.37,"vwap":6.4598,"ext_from_open_pct":2.74,"max_ext_allowed_pct":5.0,"volume_pace":7.217,"trend":"flat","recent_slope_pct":-0.6608,"volatility":"high"},"price":6.37,"volume":{"bars":127,"last_bar_volume":10872.0,"baseline_avg":9406.85,"bar_rvol":1.155754,"raw_accel":2.720739,"smooth_accel":-0.436616,"accel_momentum":0.321277,"rvol_3bar":[0.73699,0.314935,1.155754],"trend_3bar":"MIXED","projected_rvol":0.441664},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":896.0,"sell_vol":476.0,"unclassified_vol":0.0,"imbalance":0.306122,"bid":6.29,"ask":6.48,"spread_pct":2.975724,"quote_size_imbalance":null,"quote_age_s":1.910826},"context":{"vwap":6.459982,"price_vs_vwap_pct":-1.39291,"ema9":6.513263,"ema20":6.410473,"ema_stack":false,"ema_warm":true,"hod":7.4,"dist_to_hod_pct":-13.918919,"dist_to_hod_atr":5.22569,"atr":0.197103,"spread_atr":0.963962,"own_change_pct":0.440392,"rel_strength_pct":{"SPY":0.435217,"IWM":0.500911}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.353802},"shadow":{"decision":"FAIL","failed":["vas","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"325e7fddfb29","ts":"2026-08-28T15:46:50+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.7% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4746,"target":5.57,"target_label":"prev_day_high","reward_risk":0.27,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":1.49},"price":5.55,"vwap":5.5232,"ext_from_open_pct":3.74,"max_ext_allowed_pct":3.0,"volume_pace":0.864,"trend":"flat","recent_slope_pct":-0.0367,"volatility":"medium"},"price":5.55,"volume":{"bars":136,"last_bar_volume":39265.0,"baseline_avg":46020.1,"bar_rvol":0.853214,"raw_accel":0.196228,"smooth_accel":0.736952,"accel_momentum":0.838889,"rvol_3bar":[0.91309,0.613195,0.853214],"trend_3bar":"MIXED","projected_rvol":1.175226},"flow":{"window_s":30,"trades":89,"trade_rate":2.966667,"buy_vol":33712.0,"sell_vol":4858.0,"unclassified_vol":0.0,"imbalance":0.748094,"bid":5.55,"ask":5.56,"spread_pct":0.180018,"quote_size_imbalance":null,"quote_age_s":2.656793},"context":{"vwap":5.523033,"price_vs_vwap_pct":0.488269,"ema9":5.560011,"ema20":5.560854,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.715564,"dist_to_hod_atr":2.538569,"atr":0.015757,"spread_atr":0.634642,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.005176,"IWM":0.060518}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.638285},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"14cd48cc71a9","ts":"2026-08-28T15:48:50+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5238,"ext_from_open_pct":3.64,"max_ext_allowed_pct":4.0,"volume_pace":0.871,"trend":"flat","recent_slope_pct":-0.072,"volatility":"medium"},"price":5.545,"volume":{"bars":138,"last_bar_volume":166748.0,"baseline_avg":40193.7,"bar_rvol":4.14861,"raw_accel":2.584822,"smooth_accel":1.859239,"accel_momentum":1.645626,"rvol_3bar":[0.853214,1.144376,4.14861],"trend_3bar":"ACCELERATING","projected_rvol":1.394338},"flow":{"window_s":30,"trades":97,"trade_rate":3.233333,"buy_vol":15357.0,"sell_vol":18607.0,"unclassified_vol":0.0,"imbalance":-0.09569,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":4.654076},"context":{"vwap":5.523667,"price_vs_vwap_pct":0.38621,"ema9":5.558007,"ema20":5.559747,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.805009,"dist_to_hod_atr":2.870237,"atr":0.015678,"spread_atr":0.63783,"own_change_pct":-0.138547,"rel_strength_pct":{"SPY":-0.08033,"IWM":-0.039345}},"vas":{"raw":7,"score":8.8,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.396979},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"51bab94e3f1c","ts":"2026-08-28T15:49:05+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $5.35 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":5.4696,"target":5.57,"target_label":"prev_day_high","reward_risk":0.33,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":1.51},"price":5.545,"vwap":5.5238,"ext_from_open_pct":3.64,"max_ext_allowed_pct":3.0,"volume_pace":0.87,"trend":"flat","recent_slope_pct":-0.0901,"volatility":"medium"},"price":5.545,"volume":{"bars":139,"last_bar_volume":47729.0,"baseline_avg":47621.4,"bar_rvol":1.002259,"raw_accel":-0.713766,"smooth_accel":1.17962,"accel_momentum":-0.67962,"rvol_3bar":[1.144376,4.14861,1.002259],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":105,"trade_rate":3.5,"buy_vol":16287.0,"sell_vol":24114.0,"unclassified_vol":0.0,"imbalance":-0.193733,"bid":5.54,"ask":5.55,"spread_pct":0.180343,"quote_size_imbalance":null,"quote_age_s":0.289741},"context":{"vwap":5.523781,"price_vs_vwap_pct":0.384133,"ema9":5.554406,"ema20":5.557866,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-0.805009,"dist_to_hod_atr":2.814813,"atr":0.015987,"spread_atr":0.625514,"own_change_pct":-0.449236,"rel_strength_pct":{"SPY":-0.363865,"IWM":-0.331558}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.194171},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"693e9ccfcfac","ts":"2026-08-28T15:50:05+00:00","symbol":"SNAP","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.4546,"target":5.57,"target_label":"prev_day_high","reward_risk":0.53,"pos_in_5d_range_pct":46.0,"room_to_5d_high_atr":1.56},"price":5.53,"vwap":5.5239,"ext_from_open_pct":3.36,"max_ext_allowed_pct":4.0,"volume_pace":0.868,"trend":"flat","recent_slope_pct":-0.1444,"volatility":"medium"},"price":5.53,"volume":{"bars":140,"last_bar_volume":57457.0,"baseline_avg":49306.65,"bar_rvol":1.165299,"raw_accel":0.203817,"smooth_accel":1.292789,"accel_momentum":0.11317,"rvol_3bar":[4.14861,1.002259,1.165299],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":43,"trade_rate":1.433333,"buy_vol":2372.0,"sell_vol":2359.0,"unclassified_vol":0.0,"imbalance":0.002748,"bid":5.53,"ask":5.54,"spread_pct":0.180668,"quote_size_imbalance":null,"quote_age_s":3.647502},"context":{"vwap":5.523865,"price_vs_vwap_pct":0.111058,"ema9":5.549524,"ema20":5.555212,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-1.073345,"dist_to_hod_atr":3.628054,"atr":0.016538,"spread_atr":0.604676,"own_change_pct":-0.539568,"rel_strength_pct":{"SPY":-0.470988,"IWM":-0.462195}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.003202},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f118ac975635","ts":"2026-08-28T15:50:20+00:00","symbol":"SNAP","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.4496,"target":5.57,"target_label":"prev_day_high","reward_risk":0.6,"pos_in_5d_range_pct":45.4,"room_to_5d_high_atr":1.57},"price":5.525,"vwap":5.5239,"ext_from_open_pct":3.27,"max_ext_allowed_pct":3.0,"volume_pace":0.871,"trend":"flat","recent_slope_pct":-0.1624,"volatility":"medium"},"price":5.525,"volume":{"bars":140,"last_bar_volume":57457.0,"baseline_avg":49306.65,"bar_rvol":1.165299,"raw_accel":0.203817,"smooth_accel":1.292789,"accel_momentum":0.11317,"rvol_3bar":[4.14861,1.002259,1.165299],"trend_3bar":"MIXED","projected_rvol":2.591517},"flow":{"window_s":30,"trades":120,"trade_rate":4.0,"buy_vol":21269.0,"sell_vol":23324.0,"unclassified_vol":0.0,"imbalance":-0.046083,"bid":5.52,"ask":5.53,"spread_pct":0.180995,"quote_size_imbalance":null,"quote_age_s":1.800659},"context":{"vwap":5.523865,"price_vs_vwap_pct":0.020542,"ema9":5.549524,"ema20":5.555212,"ema_stack":false,"ema_warm":true,"hod":5.59,"dist_to_hod_pct":-1.162791,"dist_to_hod_atr":3.930391,"atr":0.016538,"spread_atr":0.604676,"own_change_pct":-0.539568,"rel_strength_pct":{"SPY":-0.470988,"IWM":-0.462195}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.053701},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3fe107c60a84","ts":"2026-08-28T15:55:20+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":13.4264,"target":13.62,"target_label":"premarket_high","reward_risk":0.58,"pos_in_5d_range_pct":26.4,"room_to_5d_high_atr":1.25},"price":13.5487,"vwap":13.4889,"ext_from_open_pct":0.36,"max_ext_allowed_pct":4.0,"volume_pace":0.788,"trend":"flat","recent_slope_pct":-0.0115,"volatility":"medium"},"price":13.5487,"volume":{"bars":145,"last_bar_volume":2573.0,"baseline_avg":5213.25,"bar_rvol":0.49355,"raw_accel":-0.522812,"smooth_accel":-0.686676,"accel_momentum":-0.142765,"rvol_3bar":[1.179685,1.082361,0.49355],"trend_3bar":"DECELERATING","projected_rvol":0.347},"flow":{"window_s":30,"trades":14,"trade_rate":0.466667,"buy_vol":1405.0,"sell_vol":492.0,"unclassified_vol":0.0,"imbalance":0.481286,"bid":13.55,"ask":13.56,"spread_pct":0.073774,"quote_size_imbalance":null,"quote_age_s":6.329094},"context":{"vwap":13.488916,"price_vs_vwap_pct":0.443206,"ema9":13.549148,"ema20":13.538922,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.450404,"dist_to_hod_atr":4.308468,"atr":0.014228,"spread_atr":0.70285,"own_change_pct":0.110742,"rel_strength_pct":{"SPY":0.135357,"IWM":0.107375}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.237539},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"442fa49556e5","ts":"2026-08-28T15:55:35+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"WATCH","setup":"","stop":13.4427,"target":13.62,"target_label":"premarket_high","reward_risk":0.45,"pos_in_5d_range_pct":28.4,"room_to_5d_high_atr":1.21},"price":13.565,"vwap":13.4891,"ext_from_open_pct":0.48,"max_ext_allowed_pct":4.0,"volume_pace":0.788,"trend":"flat","recent_slope_pct":0.0125,"volatility":"medium"},"price":13.565,"volume":{"bars":145,"last_bar_volume":2573.0,"baseline_avg":5213.25,"bar_rvol":0.49355,"raw_accel":-0.522812,"smooth_accel":-0.686676,"accel_momentum":-0.142765,"rvol_3bar":[1.179685,1.082361,0.49355],"trend_3bar":"DECELERATING","projected_rvol":1.138089},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":2298.0,"sell_vol":646.0,"unclassified_vol":0.0,"imbalance":0.561141,"bid":13.56,"ask":13.57,"spread_pct":0.073719,"quote_size_imbalance":null,"quote_age_s":1.276841},"context":{"vwap":13.488916,"price_vs_vwap_pct":0.564046,"ema9":13.549148,"ema20":13.538922,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.330639,"dist_to_hod_atr":3.162823,"atr":0.014228,"spread_atr":0.70285,"own_change_pct":0.110742,"rel_strength_pct":{"SPY":0.135357,"IWM":0.107375}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.276951},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"67536770a419","ts":"2026-08-28T15:57:05+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9587,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":3.0,"volume_pace":1.612,"trend":"flat","recent_slope_pct":-0.0228,"volatility":"low"},"price":10.955,"volume":{"bars":147,"last_bar_volume":62003.0,"baseline_avg":26723.55,"bar_rvol":2.320163,"raw_accel":1.335945,"smooth_accel":1.380996,"accel_momentum":1.320653,"rvol_3bar":[0.522536,1.014425,2.320163],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":187,"trade_rate":6.233333,"buy_vol":10853.0,"sell_vol":65517.0,"unclassified_vol":0.0,"imbalance":-0.715778,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":1.085219},"context":{"vwap":10.9587,"price_vs_vwap_pct":-0.033761,"ema9":10.963943,"ema20":10.964006,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.937319,"atr":0.011429,"spread_atr":0.87496,"own_change_pct":-0.091158,"rel_strength_pct":{"SPY":-0.000456,"IWM":-0.027148}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.660723},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f131d156c09d","ts":"2026-08-28T15:57:15+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.9236,"target":11.13,"target_label":"range_20d_high","reward_risk":4.46,"pos_in_5d_range_pct":71.4,"room_to_5d_high_atr":0.45},"price":10.9614,"vwap":10.9587,"ext_from_open_pct":-0.08,"max_ext_allowed_pct":3.0,"volume_pace":1.613,"trend":"flat","recent_slope_pct":-0.0111,"volatility":"low"},"price":10.9614,"volume":{"bars":147,"last_bar_volume":62003.0,"baseline_avg":26723.55,"bar_rvol":2.320163,"raw_accel":1.335945,"smooth_accel":1.380996,"accel_momentum":1.320653,"rvol_3bar":[0.522536,1.014425,2.320163],"trend_3bar":"ACCELERATING","projected_rvol":9.626715},"flow":{"window_s":30,"trades":191,"trade_rate":6.366667,"buy_vol":20084.0,"sell_vol":67499.0,"unclassified_vol":0.0,"imbalance":-0.541372,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.028223},"context":{"vwap":10.9587,"price_vs_vwap_pct":0.02464,"ema9":10.963943,"ema20":10.964006,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.350909,"dist_to_hod_atr":3.377345,"atr":0.011429,"spread_atr":0.87496,"own_change_pct":-0.091158,"rel_strength_pct":{"SPY":-0.000456,"IWM":-0.027148}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.256072},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4c6569f2fdd9","ts":"2026-08-28T15:57:20+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9587,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":3.0,"volume_pace":1.612,"trend":"flat","recent_slope_pct":-0.0228,"volatility":"low"},"price":10.955,"volume":{"bars":147,"last_bar_volume":62003.0,"baseline_avg":26723.55,"bar_rvol":2.320163,"raw_accel":1.335945,"smooth_accel":1.380996,"accel_momentum":1.320653,"rvol_3bar":[0.522536,1.014425,2.320163],"trend_3bar":"ACCELERATING","projected_rvol":7.287842},"flow":{"window_s":30,"trades":177,"trade_rate":5.9,"buy_vol":19365.0,"sell_vol":65203.0,"unclassified_vol":0.0,"imbalance":-0.542025,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.1072},"context":{"vwap":10.9587,"price_vs_vwap_pct":-0.033761,"ema9":10.963943,"ema20":10.964006,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.937319,"atr":0.011429,"spread_atr":0.87496,"own_change_pct":-0.091158,"rel_strength_pct":{"SPY":-0.000456,"IWM":-0.027148}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.257587},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8226e968f195","ts":"2026-08-28T15:57:25+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9587,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":4.0,"volume_pace":1.612,"trend":"flat","recent_slope_pct":-0.0137,"volatility":"low"},"price":10.96,"volume":{"bars":147,"last_bar_volume":62003.0,"baseline_avg":26723.55,"bar_rvol":2.320163,"raw_accel":1.335945,"smooth_accel":1.380996,"accel_momentum":1.320653,"rvol_3bar":[0.522536,1.014425,2.320163],"trend_3bar":"ACCELERATING","projected_rvol":5.900054},"flow":{"window_s":30,"trades":157,"trade_rate":5.233333,"buy_vol":19505.0,"sell_vol":59915.0,"unclassified_vol":0.0,"imbalance":-0.508814,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":1.490718},"context":{"vwap":10.9587,"price_vs_vwap_pct":0.011865,"ema9":10.963943,"ema20":10.964006,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":3.499839,"atr":0.011429,"spread_atr":0.87496,"own_change_pct":-0.091158,"rel_strength_pct":{"SPY":-0.000456,"IWM":-0.027148}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.180531},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"828a94630103","ts":"2026-08-28T15:57:40+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.95 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9162,"target":11.13,"target_label":"range_20d_high","reward_risk":4.65,"pos_in_5d_range_pct":68.3,"room_to_5d_high_atr":0.5},"price":10.954,"vwap":10.9587,"ext_from_open_pct":-0.15,"max_ext_allowed_pct":3.0,"volume_pace":1.612,"trend":"flat","recent_slope_pct":-0.0246,"volatility":"low"},"price":10.954,"volume":{"bars":147,"last_bar_volume":62003.0,"baseline_avg":26723.55,"bar_rvol":2.320163,"raw_accel":1.335945,"smooth_accel":1.380996,"accel_momentum":1.320653,"rvol_3bar":[0.522536,1.014425,2.320163],"trend_3bar":"ACCELERATING","projected_rvol":4.59415},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":3590.0,"sell_vol":14181.0,"unclassified_vol":0.0,"imbalance":-0.595971,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.730198},"context":{"vwap":10.9587,"price_vs_vwap_pct":-0.042886,"ema9":10.963943,"ema20":10.964006,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.418182,"dist_to_hod_atr":4.024815,"atr":0.011429,"spread_atr":0.87496,"own_change_pct":-0.091158,"rel_strength_pct":{"SPY":-0.000456,"IWM":-0.027148}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.38275},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"de87265ed92e","ts":"2026-08-28T15:57:45+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9587,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.613,"trend":"flat","recent_slope_pct":-0.0137,"volatility":"low"},"price":10.96,"volume":{"bars":147,"last_bar_volume":62003.0,"baseline_avg":26723.55,"bar_rvol":2.320163,"raw_accel":1.335945,"smooth_accel":1.380996,"accel_momentum":1.320653,"rvol_3bar":[0.522536,1.014425,2.320163],"trend_3bar":"ACCELERATING","projected_rvol":4.398168},"flow":{"window_s":30,"trades":74,"trade_rate":2.466667,"buy_vol":9719.0,"sell_vol":14117.0,"unclassified_vol":0.0,"imbalance":-0.184511,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.012642},"context":{"vwap":10.9587,"price_vs_vwap_pct":0.011865,"ema9":10.963943,"ema20":10.964006,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":3.499839,"atr":0.011429,"spread_atr":0.87496,"own_change_pct":-0.091158,"rel_strength_pct":{"SPY":-0.000456,"IWM":-0.027148}},"vas":{"raw":5,"score":7.5,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.428095},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"293d5f11f477","ts":"2026-08-28T15:57:50+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9587,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":3.0,"volume_pace":1.612,"trend":"flat","recent_slope_pct":-0.0228,"volatility":"low"},"price":10.955,"volume":{"bars":147,"last_bar_volume":62003.0,"baseline_avg":26723.55,"bar_rvol":2.320163,"raw_accel":1.335945,"smooth_accel":1.380996,"accel_momentum":1.320653,"rvol_3bar":[0.522536,1.014425,2.320163],"trend_3bar":"ACCELERATING","projected_rvol":3.969532},"flow":{"window_s":30,"trades":73,"trade_rate":2.433333,"buy_vol":9369.0,"sell_vol":14112.0,"unclassified_vol":0.0,"imbalance":-0.201993,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":1.070351},"context":{"vwap":10.9587,"price_vs_vwap_pct":-0.033761,"ema9":10.963943,"ema20":10.964006,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.937319,"atr":0.011429,"spread_atr":0.87496,"own_change_pct":-0.091158,"rel_strength_pct":{"SPY":-0.000456,"IWM":-0.027148}},"vas":{"raw":5,"score":7.5,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.468657},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"602f42bc37f1","ts":"2026-08-28T15:58:00+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9587,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":4.0,"volume_pace":1.61,"trend":"flat","recent_slope_pct":-0.0137,"volatility":"low"},"price":10.96,"volume":{"bars":147,"last_bar_volume":62003.0,"baseline_avg":26723.55,"bar_rvol":2.320163,"raw_accel":1.335945,"smooth_accel":1.380996,"accel_momentum":1.320653,"rvol_3bar":[0.522536,1.014425,2.320163],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":7361.0,"sell_vol":14343.0,"unclassified_vol":0.0,"imbalance":-0.321692,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.031318},"context":{"vwap":10.9587,"price_vs_vwap_pct":0.011865,"ema9":10.963943,"ema20":10.964006,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":3.499839,"atr":0.011429,"spread_atr":0.87496,"own_change_pct":-0.091158,"rel_strength_pct":{"SPY":-0.019874,"IWM":-0.040614}},"vas":{"raw":4,"score":6.9,"components":{"rvol":2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.746378},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"525de317e1db","ts":"2026-08-28T15:58:10+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9587,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":3.0,"volume_pace":1.609,"trend":"flat","recent_slope_pct":-0.0228,"volatility":"low"},"price":10.955,"volume":{"bars":148,"last_bar_volume":89133.0,"baseline_avg":26700.1,"bar_rvol":3.338302,"raw_accel":0.437559,"smooth_accel":3.211401,"accel_momentum":1.830405,"rvol_3bar":[1.014425,2.320163,3.338302],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":53,"trade_rate":1.766667,"buy_vol":7094.0,"sell_vol":1306.0,"unclassified_vol":0.0,"imbalance":0.689048,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.451906},"context":{"vwap":10.958692,"price_vs_vwap_pct":-0.033686,"ema9":10.963155,"ema20":10.963625,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.875057,"atr":0.011613,"spread_atr":0.861124,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.025685,"IWM":0.004945}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":2.300249},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a76a4c0961ab","ts":"2026-08-28T15:58:15+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.9224,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.9,"room_to_5d_high_atr":0.46},"price":10.9602,"vwap":10.9587,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.608,"trend":"flat","recent_slope_pct":-0.0133,"volatility":"low"},"price":10.9602,"volume":{"bars":148,"last_bar_volume":89133.0,"baseline_avg":26700.1,"bar_rvol":3.338302,"raw_accel":0.437559,"smooth_accel":3.211401,"accel_momentum":1.830405,"rvol_3bar":[1.014425,2.320163,3.338302],"trend_3bar":"ACCELERATING","projected_rvol":0.267265},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":1343.0,"sell_vol":1423.0,"unclassified_vol":0.0,"imbalance":-0.028923,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":1.792246},"context":{"vwap":10.958692,"price_vs_vwap_pct":0.013765,"ema9":10.963155,"ema20":10.963625,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.361818,"dist_to_hod_atr":3.427273,"atr":0.011613,"spread_atr":0.861124,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.025685,"IWM":0.004945}},"vas":{"raw":7,"score":8.8,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.096552},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f68ec205828c","ts":"2026-08-28T15:58:20+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9587,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":3.0,"volume_pace":1.607,"trend":"flat","recent_slope_pct":-0.0228,"volatility":"low"},"price":10.955,"volume":{"bars":148,"last_bar_volume":89133.0,"baseline_avg":26700.1,"bar_rvol":3.338302,"raw_accel":0.437559,"smooth_accel":3.211401,"accel_momentum":1.830405,"rvol_3bar":[1.014425,2.320163,3.338302],"trend_3bar":"ACCELERATING","projected_rvol":0.37483},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":1495.0,"sell_vol":2574.0,"unclassified_vol":0.0,"imbalance":-0.265176,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":3.226361},"context":{"vwap":10.958692,"price_vs_vwap_pct":-0.033686,"ema9":10.963155,"ema20":10.963625,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.875057,"atr":0.011613,"spread_atr":0.861124,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.025685,"IWM":0.004945}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.885237},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0236d143700c","ts":"2026-08-28T15:58:40+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9587,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.605,"trend":"flat","recent_slope_pct":-0.0137,"volatility":"low"},"price":10.96,"volume":{"bars":148,"last_bar_volume":89133.0,"baseline_avg":26700.1,"bar_rvol":3.338302,"raw_accel":0.437559,"smooth_accel":3.211401,"accel_momentum":1.830405,"rvol_3bar":[1.014425,2.320163,3.338302],"trend_3bar":"ACCELERATING","projected_rvol":0.576964},"flow":{"window_s":30,"trades":65,"trade_rate":2.166667,"buy_vol":2408.0,"sell_vol":6747.0,"unclassified_vol":0.0,"imbalance":-0.473949,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.997268},"context":{"vwap":10.958692,"price_vs_vwap_pct":0.011939,"ema9":10.963155,"ema20":10.963625,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":3.444495,"atr":0.011613,"spread_atr":0.861124,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.025685,"IWM":0.004945}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.582184},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"165839413e65","ts":"2026-08-28T15:58:45+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9183,"target":11.13,"target_label":"range_20d_high","reward_risk":4.6,"pos_in_5d_range_pct":69.2,"room_to_5d_high_atr":0.49},"price":10.9561,"vwap":10.9587,"ext_from_open_pct":-0.13,"max_ext_allowed_pct":4.0,"volume_pace":1.604,"trend":"flat","recent_slope_pct":-0.0208,"volatility":"low"},"price":10.9561,"volume":{"bars":148,"last_bar_volume":89133.0,"baseline_avg":26700.1,"bar_rvol":3.338302,"raw_accel":0.437559,"smooth_accel":3.211401,"accel_momentum":1.830405,"rvol_3bar":[1.014425,2.320163,3.338302],"trend_3bar":"ACCELERATING","projected_rvol":0.554205},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":2227.0,"sell_vol":7087.0,"unclassified_vol":0.0,"imbalance":-0.521795,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.755139},"context":{"vwap":10.958692,"price_vs_vwap_pct":-0.023649,"ema9":10.963155,"ema20":10.963625,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.399091,"dist_to_hod_atr":3.780333,"atr":0.011613,"spread_atr":0.861124,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.025685,"IWM":0.004945}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.74191},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3a532f7d5ddb","ts":"2026-08-28T15:58:55+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9587,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":4.0,"volume_pace":1.603,"trend":"flat","recent_slope_pct":-0.0137,"volatility":"low"},"price":10.96,"volume":{"bars":148,"last_bar_volume":89133.0,"baseline_avg":26700.1,"bar_rvol":3.338302,"raw_accel":0.437559,"smooth_accel":3.211401,"accel_momentum":1.830405,"rvol_3bar":[1.014425,2.320163,3.338302],"trend_3bar":"ACCELERATING","projected_rvol":0.462838},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":2039.0,"sell_vol":4739.0,"unclassified_vol":0.0,"imbalance":-0.398348,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.09065},"context":{"vwap":10.958692,"price_vs_vwap_pct":0.011939,"ema9":10.963155,"ema20":10.963625,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":3.444495,"atr":0.011613,"spread_atr":0.861124,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.025685,"IWM":0.004945}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.329805},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"586a32a3b0c7","ts":"2026-08-28T15:59:00+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.95 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9122,"target":11.13,"target_label":"range_20d_high","reward_risk":4.76,"pos_in_5d_range_pct":66.6,"room_to_5d_high_atr":0.53},"price":10.95,"vwap":10.9587,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":3.0,"volume_pace":1.602,"trend":"flat","recent_slope_pct":-0.0319,"volatility":"low"},"price":10.95,"volume":{"bars":148,"last_bar_volume":89133.0,"baseline_avg":26700.1,"bar_rvol":3.338302,"raw_accel":0.437559,"smooth_accel":3.211401,"accel_momentum":1.830405,"rvol_3bar":[1.014425,2.320163,3.338302],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":48,"trade_rate":1.6,"buy_vol":1637.0,"sell_vol":2748.0,"unclassified_vol":0.0,"imbalance":-0.253364,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.68635},"context":{"vwap":10.958692,"price_vs_vwap_pct":-0.079312,"ema9":10.963155,"ema20":10.963625,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.454545,"dist_to_hod_atr":4.305619,"atr":0.011613,"spread_atr":0.861124,"own_change_pct":-0.0456,"rel_strength_pct":{"SPY":0.012069,"IWM":0.030191}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.845805},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b574a2df3a98","ts":"2026-08-28T16:03:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.4129,"target":13.62,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":24.8,"room_to_5d_high_atr":1.27},"price":13.5352,"vwap":13.491,"ext_from_open_pct":0.26,"max_ext_allowed_pct":4.0,"volume_pace":0.778,"trend":"flat","recent_slope_pct":0.0151,"volatility":"medium"},"price":13.5352,"volume":{"bars":153,"last_bar_volume":3021.0,"baseline_avg":7572.1,"bar_rvol":0.398965,"raw_accel":-0.835993,"smooth_accel":-0.158156,"accel_momentum":-5.098885,"rvol_3bar":[0.967788,2.756247,0.398965],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":1332.0,"sell_vol":301.0,"unclassified_vol":0.0,"imbalance":0.631353,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.163013},"context":{"vwap":13.490967,"price_vs_vwap_pct":0.327873,"ema9":13.542342,"ema20":13.541956,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.549596,"dist_to_hod_atr":4.637043,"atr":0.016131,"spread_atr":0.619926,"own_change_pct":-0.238808,"rel_strength_pct":{"SPY":-0.239456,"IWM":-0.186552}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.251888},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8b1e9649dc71","ts":"2026-08-28T16:04:15+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.4183,"target":13.62,"target_label":"premarket_high","reward_risk":0.65,"pos_in_5d_range_pct":25.4,"room_to_5d_high_atr":1.26},"price":13.5406,"vwap":13.4911,"ext_from_open_pct":0.3,"max_ext_allowed_pct":3.0,"volume_pace":0.774,"trend":"flat","recent_slope_pct":0.012,"volatility":"medium"},"price":13.5406,"volume":{"bars":154,"last_bar_volume":2961.0,"baseline_avg":7541.35,"bar_rvol":0.392635,"raw_accel":-0.019861,"smooth_accel":-0.3794,"accel_momentum":-0.221243,"rvol_3bar":[2.756247,0.398965,0.392635],"trend_3bar":"DECELERATING","projected_rvol":0.175565},"flow":{"window_s":30,"trades":9,"trade_rate":0.3,"buy_vol":214.0,"sell_vol":535.0,"unclassified_vol":0.0,"imbalance":-0.428571,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.085428},"context":{"vwap":13.491046,"price_vs_vwap_pct":0.367311,"ema9":13.540873,"ema20":13.541293,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.509919,"dist_to_hod_atr":4.458873,"atr":0.015564,"spread_atr":0.642489,"own_change_pct":-0.147547,"rel_strength_pct":{"SPY":-0.133932,"IWM":-0.134063}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.168272},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"eb9cbbbb97c3","ts":"2026-08-28T16:04:25+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.4077,"target":13.62,"target_label":"premarket_high","reward_risk":0.74,"pos_in_5d_range_pct":24.1,"room_to_5d_high_atr":1.28},"price":13.53,"vwap":13.4911,"ext_from_open_pct":0.22,"max_ext_allowed_pct":3.0,"volume_pace":0.774,"trend":"flat","recent_slope_pct":-0.0037,"volatility":"medium"},"price":13.53,"volume":{"bars":154,"last_bar_volume":2961.0,"baseline_avg":7541.35,"bar_rvol":0.392635,"raw_accel":-0.019861,"smooth_accel":-0.3794,"accel_momentum":-0.221243,"rvol_3bar":[2.756247,0.398965,0.392635],"trend_3bar":"DECELERATING","projected_rvol":0.47164},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":214.0,"sell_vol":1586.0,"unclassified_vol":0.0,"imbalance":-0.762222,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":2.099466},"context":{"vwap":13.491046,"price_vs_vwap_pct":0.288741,"ema9":13.540873,"ema20":13.541293,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.587803,"dist_to_hod_atr":5.139911,"atr":0.015564,"spread_atr":0.642489,"own_change_pct":-0.147547,"rel_strength_pct":{"SPY":-0.133932,"IWM":-0.134063}},"vas":{"raw":-7,"score":0.0,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.299275},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"b7c53ac0ee52","ts":"2026-08-28T16:04:45+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.4177,"target":13.62,"target_label":"premarket_high","reward_risk":0.65,"pos_in_5d_range_pct":25.3,"room_to_5d_high_atr":1.26},"price":13.54,"vwap":13.4911,"ext_from_open_pct":0.3,"max_ext_allowed_pct":3.0,"volume_pace":0.773,"trend":"flat","recent_slope_pct":0.0111,"volatility":"medium"},"price":13.54,"volume":{"bars":154,"last_bar_volume":2961.0,"baseline_avg":7541.35,"bar_rvol":0.392635,"raw_accel":-0.019861,"smooth_accel":-0.3794,"accel_momentum":-0.221243,"rvol_3bar":[2.756247,0.398965,0.392635],"trend_3bar":"DECELERATING","projected_rvol":0.524044},"flow":{"window_s":30,"trades":15,"trade_rate":0.5,"buy_vol":1371.0,"sell_vol":1262.0,"unclassified_vol":0.0,"imbalance":0.041398,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.302738},"context":{"vwap":13.491046,"price_vs_vwap_pct":0.362864,"ema9":13.540873,"ema20":13.541293,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.514328,"dist_to_hod_atr":4.497422,"atr":0.015564,"spread_atr":0.642489,"own_change_pct":-0.147547,"rel_strength_pct":{"SPY":-0.133932,"IWM":-0.134063}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.016254},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"ff2ecd1d82e9","ts":"2026-08-28T16:04:50+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.4127,"target":13.62,"target_label":"premarket_high","reward_risk":0.7,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.27},"price":13.535,"vwap":13.4911,"ext_from_open_pct":0.26,"max_ext_allowed_pct":3.0,"volume_pace":0.772,"trend":"flat","recent_slope_pct":0.0037,"volatility":"medium"},"price":13.535,"volume":{"bars":154,"last_bar_volume":2961.0,"baseline_avg":7541.35,"bar_rvol":0.392635,"raw_accel":-0.019861,"smooth_accel":-0.3794,"accel_momentum":-0.221243,"rvol_3bar":[2.756247,0.398965,0.392635],"trend_3bar":"DECELERATING","projected_rvol":0.503464},"flow":{"window_s":30,"trades":17,"trade_rate":0.566667,"buy_vol":1371.0,"sell_vol":1462.0,"unclassified_vol":0.0,"imbalance":-0.032121,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":0.383416},"context":{"vwap":13.491046,"price_vs_vwap_pct":0.325802,"ema9":13.540873,"ema20":13.541293,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.551065,"dist_to_hod_atr":4.818666,"atr":0.015564,"spread_atr":0.642489,"own_change_pct":-0.147547,"rel_strength_pct":{"SPY":-0.133932,"IWM":-0.134063}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.012612},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"0eedc846d743","ts":"2026-08-28T16:05:35+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4093,"target":13.62,"target_label":"premarket_high","reward_risk":0.72,"pos_in_5d_range_pct":24.3,"room_to_5d_high_atr":1.28},"price":13.5316,"vwap":13.4912,"ext_from_open_pct":0.23,"max_ext_allowed_pct":3.0,"volume_pace":0.77,"trend":"flat","recent_slope_pct":0.0024,"volatility":"medium"},"price":13.5316,"volume":{"bars":155,"last_bar_volume":3366.0,"baseline_avg":7533.85,"bar_rvol":0.446784,"raw_accel":0.136778,"smooth_accel":-0.818549,"accel_momentum":-0.439149,"rvol_3bar":[0.398965,0.392635,0.446784],"trend_3bar":"MIXED","projected_rvol":0.555891},"flow":{"window_s":30,"trades":51,"trade_rate":1.7,"buy_vol":1121.0,"sell_vol":1322.0,"unclassified_vol":0.0,"imbalance":-0.082276,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.089294},"context":{"vwap":13.491131,"price_vs_vwap_pct":0.299971,"ema9":13.539699,"ema20":13.540694,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.576047,"dist_to_hod_atr":5.154549,"atr":0.01521,"spread_atr":0.657468,"own_change_pct":0.073937,"rel_strength_pct":{"SPY":0.107657,"IWM":0.107657}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.03676},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7c438092a172","ts":"2026-08-28T16:06:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.4164,"target":13.62,"target_label":"premarket_high","reward_risk":0.66,"pos_in_5d_range_pct":25.2,"room_to_5d_high_atr":1.27},"price":13.5387,"vwap":13.4912,"ext_from_open_pct":0.29,"max_ext_allowed_pct":4.0,"volume_pace":0.768,"trend":"flat","recent_slope_pct":-0.0019,"volatility":"medium"},"price":13.5387,"volume":{"bars":156,"last_bar_volume":3053.0,"baseline_avg":7501.15,"bar_rvol":0.407004,"raw_accel":-0.092989,"smooth_accel":-0.664148,"accel_momentum":0.1544,"rvol_3bar":[0.392635,0.446784,0.407004],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":684.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.057781},"context":{"vwap":13.491198,"price_vs_vwap_pct":0.352095,"ema9":13.536759,"ema20":13.539199,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.52388,"dist_to_hod_atr":4.692371,"atr":0.015195,"spread_atr":0.658117,"own_change_pct":-0.073883,"rel_strength_pct":{"SPY":-0.09269,"IWM":-0.10086}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.407004},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"51b1d858c4ac","ts":"2026-08-28T16:06:10+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":13.4163,"target":13.62,"target_label":"premarket_high","reward_risk":0.67,"pos_in_5d_range_pct":25.2,"room_to_5d_high_atr":1.27},"price":13.5386,"vwap":13.4912,"ext_from_open_pct":0.29,"max_ext_allowed_pct":4.0,"volume_pace":0.767,"trend":"flat","recent_slope_pct":-0.0021,"volatility":"medium"},"price":13.5386,"volume":{"bars":156,"last_bar_volume":3053.0,"baseline_avg":7501.15,"bar_rvol":0.407004,"raw_accel":-0.092989,"smooth_accel":-0.664148,"accel_momentum":0.1544,"rvol_3bar":[0.392635,0.446784,0.407004],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":7,"trade_rate":0.233333,"buy_vol":558.0,"sell_vol":11.0,"unclassified_vol":0.0,"imbalance":0.961336,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":5.057781},"context":{"vwap":13.491198,"price_vs_vwap_pct":0.351354,"ema9":13.536759,"ema20":13.539199,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.524614,"dist_to_hod_atr":4.698952,"atr":0.015195,"spread_atr":0.658117,"own_change_pct":-0.073883,"rel_strength_pct":{"SPY":-0.09269,"IWM":-0.10086}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.391268},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9e4aaf18f8d4","ts":"2026-08-28T16:06:25+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4067,"target":13.62,"target_label":"premarket_high","reward_risk":0.74,"pos_in_5d_range_pct":24.0,"room_to_5d_high_atr":1.29},"price":13.529,"vwap":13.4912,"ext_from_open_pct":0.21,"max_ext_allowed_pct":4.0,"volume_pace":0.766,"trend":"flat","recent_slope_pct":-0.0163,"volatility":"medium"},"price":13.529,"volume":{"bars":156,"last_bar_volume":3053.0,"baseline_avg":7501.15,"bar_rvol":0.407004,"raw_accel":-0.092989,"smooth_accel":-0.664148,"accel_momentum":0.1544,"rvol_3bar":[0.392635,0.446784,0.407004],"trend_3bar":"MIXED","projected_rvol":0.105904},"flow":{"window_s":30,"trades":8,"trade_rate":0.266667,"buy_vol":320.0,"sell_vol":11.0,"unclassified_vol":0.0,"imbalance":0.933535,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":2.434328},"context":{"vwap":13.491198,"price_vs_vwap_pct":0.280197,"ema9":13.536759,"ema20":13.539199,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.595151,"dist_to_hod_atr":5.330744,"atr":0.015195,"spread_atr":0.658117,"own_change_pct":-0.073883,"rel_strength_pct":{"SPY":-0.09269,"IWM":-0.10086}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.379953},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"dec7035f28f9","ts":"2026-08-28T16:08:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3976,"target":13.62,"target_label":"premarket_high","reward_risk":0.82,"pos_in_5d_range_pct":22.9,"room_to_5d_high_atr":1.31},"price":13.5199,"vwap":13.4913,"ext_from_open_pct":0.15,"max_ext_allowed_pct":4.0,"volume_pace":0.761,"trend":"flat","recent_slope_pct":-0.0275,"volatility":"medium"},"price":13.5199,"volume":{"bars":158,"last_bar_volume":5138.0,"baseline_avg":7383.4,"bar_rvol":0.695885,"raw_accel":1.783541,"smooth_accel":-0.021288,"accel_momentum":0.676401,"rvol_3bar":[0.407004,0.128828,0.695885],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":1537.0,"sell_vol":1870.0,"unclassified_vol":0.0,"imbalance":-0.09774,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":5.001155},"context":{"vwap":13.491306,"price_vs_vwap_pct":0.211941,"ema9":13.531126,"ema20":13.535957,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.662013,"dist_to_hod_atr":5.954345,"atr":0.015132,"spread_atr":0.66086,"own_change_pct":-0.1256,"rel_strength_pct":{"SPY":-0.184613,"IWM":-0.199808}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.068016},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8110a2918ad4","ts":"2026-08-28T16:08:40+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.3927,"target":13.62,"target_label":"premarket_high","reward_risk":0.86,"pos_in_5d_range_pct":22.3,"room_to_5d_high_atr":1.32},"price":13.515,"vwap":13.4913,"ext_from_open_pct":0.11,"max_ext_allowed_pct":4.0,"volume_pace":0.758,"trend":"flat","recent_slope_pct":-0.0348,"volatility":"medium"},"price":13.515,"volume":{"bars":158,"last_bar_volume":5138.0,"baseline_avg":7383.4,"bar_rvol":0.695885,"raw_accel":1.783541,"smooth_accel":-0.021288,"accel_momentum":0.676401,"rvol_3bar":[0.407004,0.128828,0.695885],"trend_3bar":"MIXED","projected_rvol":0.366701},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":487.0,"sell_vol":717.0,"unclassified_vol":0.0,"imbalance":-0.19103,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":10.001121},"context":{"vwap":13.491306,"price_vs_vwap_pct":0.175621,"ema9":13.531126,"ema20":13.535957,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.698016,"dist_to_hod_atr":6.278166,"atr":0.015132,"spread_atr":0.66086,"own_change_pct":-0.1256,"rel_strength_pct":{"SPY":-0.184613,"IWM":-0.199808}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":0,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.132935},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a3b373822bce","ts":"2026-08-28T16:10:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.4027,"target":13.62,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":23.5,"room_to_5d_high_atr":1.3},"price":13.525,"vwap":13.4922,"ext_from_open_pct":0.19,"max_ext_allowed_pct":4.0,"volume_pace":0.778,"trend":"flat","recent_slope_pct":-0.0022,"volatility":"medium"},"price":13.525,"volume":{"bars":160,"last_bar_volume":58030.0,"baseline_avg":7219.15,"bar_rvol":8.038342,"raw_accel":30.266164,"smooth_accel":7.814423,"accel_momentum":7.966662,"rvol_3bar":[0.695885,0.253914,8.038342],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":6300.0,"sell_vol":61.0,"unclassified_vol":0.0,"imbalance":0.980821,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":2.082631},"context":{"vwap":13.492127,"price_vs_vwap_pct":0.243647,"ema9":13.52612,"ema20":13.532586,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.624541,"dist_to_hod_atr":5.604568,"atr":0.015166,"spread_atr":0.659361,"own_change_pct":-0.147765,"rel_strength_pct":{"SPY":-0.24491,"IWM":-0.250644}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":7.884172},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a740e3638e2d","ts":"2026-08-28T16:10:45+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"WATCH","setup":"","stop":13.4177,"target":13.62,"target_label":"premarket_high","reward_risk":0.65,"pos_in_5d_range_pct":25.3,"room_to_5d_high_atr":1.26},"price":13.54,"vwap":13.4925,"ext_from_open_pct":0.3,"max_ext_allowed_pct":3.0,"volume_pace":0.781,"trend":"flat","recent_slope_pct":0.02,"volatility":"medium"},"price":13.54,"volume":{"bars":160,"last_bar_volume":58030.0,"baseline_avg":7219.15,"bar_rvol":8.038342,"raw_accel":30.266164,"smooth_accel":7.814423,"accel_momentum":7.966662,"rvol_3bar":[0.695885,0.253914,8.038342],"trend_3bar":"MIXED","projected_rvol":3.214229},"flow":{"window_s":30,"trades":91,"trade_rate":3.033333,"buy_vol":5986.0,"sell_vol":6883.0,"unclassified_vol":0.0,"imbalance":-0.069702,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.498127},"context":{"vwap":13.492127,"price_vs_vwap_pct":0.354823,"ema9":13.52612,"ema20":13.532586,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.514328,"dist_to_hod_atr":4.615526,"atr":0.015166,"spread_atr":0.659361,"own_change_pct":-0.147765,"rel_strength_pct":{"SPY":-0.24491,"IWM":-0.250644}},"vas":{"raw":7,"score":8.8,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":-0.560292},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1a09098be2b9","ts":"2026-08-28T16:10:50+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.4127,"target":13.62,"target_label":"premarket_high","reward_risk":0.7,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.27},"price":13.535,"vwap":13.4925,"ext_from_open_pct":0.26,"max_ext_allowed_pct":3.0,"volume_pace":0.78,"trend":"flat","recent_slope_pct":0.0126,"volatility":"medium"},"price":13.535,"volume":{"bars":160,"last_bar_volume":58030.0,"baseline_avg":7219.15,"bar_rvol":8.038342,"raw_accel":30.266164,"smooth_accel":7.814423,"accel_momentum":7.966662,"rvol_3bar":[0.695885,0.253914,8.038342],"trend_3bar":"MIXED","projected_rvol":2.968937},"flow":{"window_s":30,"trades":90,"trade_rate":3.0,"buy_vol":4598.0,"sell_vol":7341.0,"unclassified_vol":0.0,"imbalance":-0.229751,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.307769},"context":{"vwap":13.492127,"price_vs_vwap_pct":0.317764,"ema9":13.52612,"ema20":13.532586,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.551065,"dist_to_hod_atr":4.945207,"atr":0.015166,"spread_atr":0.659361,"own_change_pct":-0.147765,"rel_strength_pct":{"SPY":-0.24491,"IWM":-0.250644}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-1.846819},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4ac8ea7e7db2","ts":"2026-08-28T16:11:05+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.93,"target":11.13,"target_label":"range_20d_high","reward_risk":4.18,"pos_in_5d_range_pct":74.4,"room_to_5d_high_atr":0.41},"price":10.9686,"vwap":10.9582,"ext_from_open_pct":-0.01,"max_ext_allowed_pct":3.0,"volume_pace":1.589,"trend":"flat","recent_slope_pct":0.0522,"volatility":"low"},"price":10.9686,"volume":{"bars":161,"last_bar_volume":24577.0,"baseline_avg":39184.7,"bar_rvol":0.627209,"raw_accel":-0.503976,"smooth_accel":-0.328386,"accel_momentum":-0.033574,"rvol_3bar":[2.92072,1.321842,0.627209],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":774.0,"sell_vol":6476.0,"unclassified_vol":0.0,"imbalance":-0.786483,"bid":10.96,"ask":10.97,"spread_pct":0.091199,"quote_size_imbalance":null,"quote_age_s":2.659674},"context":{"vwap":10.958222,"price_vs_vwap_pct":0.094706,"ema9":10.956252,"ema20":10.957208,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.285455,"dist_to_hod_atr":2.300014,"atr":0.013652,"spread_atr":0.732489,"own_change_pct":0.137049,"rel_strength_pct":{"SPY":0.076746,"IWM":0.101651}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.493289},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"615810749f84","ts":"2026-08-28T16:11:30+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.95 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9128,"target":11.13,"target_label":"range_20d_high","reward_risk":4.74,"pos_in_5d_range_pct":66.9,"room_to_5d_high_atr":0.53},"price":10.9506,"vwap":10.9582,"ext_from_open_pct":-0.18,"max_ext_allowed_pct":3.0,"volume_pace":1.588,"trend":"flat","recent_slope_pct":0.0194,"volatility":"low"},"price":10.9506,"volume":{"bars":161,"last_bar_volume":24577.0,"baseline_avg":39184.7,"bar_rvol":0.627209,"raw_accel":-0.503976,"smooth_accel":-0.328386,"accel_momentum":-0.033574,"rvol_3bar":[2.92072,1.321842,0.627209],"trend_3bar":"DECELERATING","projected_rvol":0.894737},"flow":{"window_s":30,"trades":33,"trade_rate":1.1,"buy_vol":14305.0,"sell_vol":3225.0,"unclassified_vol":0.0,"imbalance":0.632059,"bid":10.96,"ask":10.97,"spread_pct":0.091199,"quote_size_imbalance":null,"quote_age_s":4.752362},"context":{"vwap":10.958222,"price_vs_vwap_pct":-0.069554,"ema9":10.956252,"ema20":10.957208,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.449091,"dist_to_hod_atr":3.618494,"atr":0.013652,"spread_atr":0.732489,"own_change_pct":0.137049,"rel_strength_pct":{"SPY":0.076746,"IWM":0.101651}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.396433},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"8b69e1014dc8","ts":"2026-08-28T16:11:40+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":10.924,"target":11.13,"target_label":"range_20d_high","reward_risk":4.44,"pos_in_5d_range_pct":71.6,"room_to_5d_high_atr":0.45},"price":10.9618,"vwap":10.9582,"ext_from_open_pct":-0.07,"max_ext_allowed_pct":3.0,"volume_pace":1.586,"trend":"flat","recent_slope_pct":0.0398,"volatility":"low"},"price":10.9618,"volume":{"bars":161,"last_bar_volume":24577.0,"baseline_avg":39184.7,"bar_rvol":0.627209,"raw_accel":-0.503976,"smooth_accel":-0.328386,"accel_momentum":-0.033574,"rvol_3bar":[2.92072,1.321842,0.627209],"trend_3bar":"DECELERATING","projected_rvol":0.671244},"flow":{"window_s":30,"trades":28,"trade_rate":0.933333,"buy_vol":13959.0,"sell_vol":3174.0,"unclassified_vol":0.0,"imbalance":0.629487,"bid":10.96,"ask":10.97,"spread_pct":0.091199,"quote_size_imbalance":null,"quote_age_s":2.17518},"context":{"vwap":10.958222,"price_vs_vwap_pct":0.032652,"ema9":10.956252,"ema20":10.957208,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.347273,"dist_to_hod_atr":2.798107,"atr":0.013652,"spread_atr":0.732489,"own_change_pct":0.137049,"rel_strength_pct":{"SPY":0.076746,"IWM":0.101651}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.39482},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"94e6838a10cc","ts":"2026-08-28T16:12:30+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9582,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":3.0,"volume_pace":1.585,"trend":"flat","recent_slope_pct":0.0047,"volatility":"low"},"price":10.955,"volume":{"bars":162,"last_bar_volume":24136.0,"baseline_avg":39958.9,"bar_rvol":0.604021,"raw_accel":-0.017944,"smooth_accel":-0.261384,"accel_momentum":0.067002,"rvol_3bar":[1.321842,0.627209,0.604021],"trend_3bar":"DECELERATING","projected_rvol":1.448238},"flow":{"window_s":30,"trades":88,"trade_rate":2.933333,"buy_vol":15110.0,"sell_vol":13825.0,"unclassified_vol":0.0,"imbalance":0.04441,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.27599},"context":{"vwap":10.958233,"price_vs_vwap_pct":-0.0295,"ema9":10.958002,"ema20":10.95795,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.199965,"atr":0.014063,"spread_atr":0.711103,"own_change_pct":0.136986,"rel_strength_pct":{"SPY":0.142173,"IWM":0.157218}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.026824},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"944f416b0041","ts":"2026-08-28T16:12:40+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9582,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.586,"trend":"flat","recent_slope_pct":0.0138,"volatility":"low"},"price":10.96,"volume":{"bars":162,"last_bar_volume":24136.0,"baseline_avg":39958.9,"bar_rvol":0.604021,"raw_accel":-0.017944,"smooth_accel":-0.261384,"accel_momentum":0.067002,"rvol_3bar":[1.321842,0.627209,0.604021],"trend_3bar":"DECELERATING","projected_rvol":1.488742},"flow":{"window_s":30,"trades":90,"trade_rate":3.0,"buy_vol":18624.0,"sell_vol":19292.0,"unclassified_vol":0.0,"imbalance":-0.017618,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.086502},"context":{"vwap":10.958233,"price_vs_vwap_pct":0.016128,"ema9":10.958002,"ema20":10.95795,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":2.844413,"atr":0.014063,"spread_atr":0.711103,"own_change_pct":0.136986,"rel_strength_pct":{"SPY":0.142173,"IWM":0.157218}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.010642},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"af9c9873d633","ts":"2026-08-28T16:12:45+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9582,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":3.0,"volume_pace":1.585,"trend":"flat","recent_slope_pct":0.0047,"volatility":"low"},"price":10.955,"volume":{"bars":162,"last_bar_volume":24136.0,"baseline_avg":39958.9,"bar_rvol":0.604021,"raw_accel":-0.017944,"smooth_accel":-0.261384,"accel_momentum":0.067002,"rvol_3bar":[1.321842,0.627209,0.604021],"trend_3bar":"DECELERATING","projected_rvol":1.33614},"flow":{"window_s":30,"trades":96,"trade_rate":3.2,"buy_vol":18929.0,"sell_vol":19365.0,"unclassified_vol":0.0,"imbalance":-0.011386,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.022694},"context":{"vwap":10.958233,"price_vs_vwap_pct":-0.0295,"ema9":10.958002,"ema20":10.95795,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.199965,"atr":0.014063,"spread_atr":0.711103,"own_change_pct":0.136986,"rel_strength_pct":{"SPY":0.142173,"IWM":0.157218}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.006877},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"fb6be94c63e3","ts":"2026-08-28T16:12:55+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9582,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":4.0,"volume_pace":1.583,"trend":"flat","recent_slope_pct":0.0138,"volatility":"low"},"price":10.96,"volume":{"bars":162,"last_bar_volume":24136.0,"baseline_avg":39958.9,"bar_rvol":0.604021,"raw_accel":-0.017944,"smooth_accel":-0.261384,"accel_momentum":0.067002,"rvol_3bar":[1.321842,0.627209,0.604021],"trend_3bar":"DECELERATING","projected_rvol":1.100576},"flow":{"window_s":30,"trades":77,"trade_rate":2.566667,"buy_vol":17920.0,"sell_vol":16764.0,"unclassified_vol":0.0,"imbalance":0.033329,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.003499},"context":{"vwap":10.958233,"price_vs_vwap_pct":0.016128,"ema9":10.958002,"ema20":10.95795,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":2.844413,"atr":0.014063,"spread_atr":0.711103,"own_change_pct":0.136986,"rel_strength_pct":{"SPY":0.142173,"IWM":0.157218}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-1,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.020132},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"1dba6652c038","ts":"2026-08-28T16:13:05+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.95 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9134,"target":11.13,"target_label":"range_20d_high","reward_risk":4.72,"pos_in_5d_range_pct":67.1,"room_to_5d_high_atr":0.52},"price":10.9512,"vwap":10.9582,"ext_from_open_pct":-0.17,"max_ext_allowed_pct":4.0,"volume_pace":1.582,"trend":"flat","recent_slope_pct":-0.0342,"volatility":"low"},"price":10.9512,"volume":{"bars":163,"last_bar_volume":41355.0,"baseline_avg":40449.25,"bar_rvol":1.022392,"raw_accel":0.713416,"smooth_accel":-0.485173,"accel_momentum":-0.223788,"rvol_3bar":[0.627209,0.604021,1.022392],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":6833.0,"sell_vol":1318.0,"unclassified_vol":0.0,"imbalance":0.676604,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.143383},"context":{"vwap":10.958241,"price_vs_vwap_pct":-0.064256,"ema9":10.958381,"ema20":10.958136,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.443636,"dist_to_hod_atr":3.368596,"atr":0.014487,"spread_atr":0.690286,"own_change_pct":0.136135,"rel_strength_pct":{"SPY":0.176318,"IWM":0.205232}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.691755},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"6d63143d92c4","ts":"2026-08-28T16:13:10+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9208,"target":11.13,"target_label":"range_20d_high","reward_risk":4.53,"pos_in_5d_range_pct":70.2,"room_to_5d_high_atr":0.47},"price":10.9586,"vwap":10.9582,"ext_from_open_pct":-0.1,"max_ext_allowed_pct":4.0,"volume_pace":1.581,"trend":"flat","recent_slope_pct":-0.0207,"volatility":"low"},"price":10.9586,"volume":{"bars":163,"last_bar_volume":41355.0,"baseline_avg":40449.25,"bar_rvol":1.022392,"raw_accel":0.713416,"smooth_accel":-0.485173,"accel_momentum":-0.223788,"rvol_3bar":[0.627209,0.604021,1.022392],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":22,"trade_rate":0.733333,"buy_vol":2588.0,"sell_vol":392.0,"unclassified_vol":0.0,"imbalance":0.736913,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":2.806058},"context":{"vwap":10.958241,"price_vs_vwap_pct":0.003273,"ema9":10.958381,"ema20":10.958136,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.376364,"dist_to_hod_atr":2.857784,"atr":0.014487,"spread_atr":0.690286,"own_change_pct":0.136135,"rel_strength_pct":{"SPY":0.176318,"IWM":0.205232}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.753414},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"59c33b9fc2ed","ts":"2026-08-28T16:13:15+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9582,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":4.0,"volume_pace":1.582,"trend":"flat","recent_slope_pct":-0.0273,"volatility":"low"},"price":10.955,"volume":{"bars":163,"last_bar_volume":41355.0,"baseline_avg":40449.25,"bar_rvol":1.022392,"raw_accel":0.713416,"smooth_accel":-0.485173,"accel_momentum":-0.223788,"rvol_3bar":[0.627209,0.604021,1.022392],"trend_3bar":"MIXED","projected_rvol":1.139601},"flow":{"window_s":30,"trades":21,"trade_rate":0.7,"buy_vol":2483.0,"sell_vol":10353.0,"unclassified_vol":0.0,"imbalance":-0.613119,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.017788},"context":{"vwap":10.958241,"price_vs_vwap_pct":-0.029579,"ema9":10.958381,"ema20":10.958136,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.106287,"atr":0.014487,"spread_atr":0.690286,"own_change_pct":0.136135,"rel_strength_pct":{"SPY":0.176318,"IWM":0.205232}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.626848},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b90b6b702e34","ts":"2026-08-28T16:13:25+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9222,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.96,"vwap":10.9582,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":4.0,"volume_pace":1.581,"trend":"flat","recent_slope_pct":-0.0182,"volatility":"low"},"price":10.96,"volume":{"bars":163,"last_bar_volume":41355.0,"baseline_avg":40449.25,"bar_rvol":1.022392,"raw_accel":0.713416,"smooth_accel":-0.485173,"accel_momentum":-0.223788,"rvol_3bar":[0.627209,0.604021,1.022392],"trend_3bar":"MIXED","projected_rvol":0.724463},"flow":{"window_s":30,"trades":25,"trade_rate":0.833333,"buy_vol":2875.0,"sell_vol":10377.0,"unclassified_vol":0.0,"imbalance":-0.566103,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":1.074843},"context":{"vwap":10.958241,"price_vs_vwap_pct":0.016049,"ema9":10.958381,"ema20":10.958136,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.363636,"dist_to_hod_atr":2.761144,"atr":0.014487,"spread_atr":0.690286,"own_change_pct":0.136135,"rel_strength_pct":{"SPY":0.176318,"IWM":0.205232}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.57878},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b91d7fa38e6e","ts":"2026-08-28T16:13:30+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9582,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":4.0,"volume_pace":1.58,"trend":"flat","recent_slope_pct":-0.0273,"volatility":"low"},"price":10.955,"volume":{"bars":163,"last_bar_volume":41355.0,"baseline_avg":40449.25,"bar_rvol":1.022392,"raw_accel":0.713416,"smooth_accel":-0.485173,"accel_momentum":-0.223788,"rvol_3bar":[0.627209,0.604021,1.022392],"trend_3bar":"MIXED","projected_rvol":0.630321},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":1974.0,"sell_vol":10774.0,"unclassified_vol":0.0,"imbalance":-0.690304,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.923122},"context":{"vwap":10.958241,"price_vs_vwap_pct":-0.029579,"ema9":10.958381,"ema20":10.958136,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.106287,"atr":0.014487,"spread_atr":0.690286,"own_change_pct":0.136135,"rel_strength_pct":{"SPY":0.176318,"IWM":0.205232}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.705762},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"87f145ef69eb","ts":"2026-08-28T16:13:50+00:00","symbol":"AGNC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":10.9221,"target":11.13,"target_label":"range_20d_high","reward_risk":4.49,"pos_in_5d_range_pct":70.8,"room_to_5d_high_atr":0.46},"price":10.9599,"vwap":10.9582,"ext_from_open_pct":-0.09,"max_ext_allowed_pct":3.0,"volume_pace":1.577,"trend":"flat","recent_slope_pct":-0.0183,"volatility":"low"},"price":10.9599,"volume":{"bars":163,"last_bar_volume":41355.0,"baseline_avg":40449.25,"bar_rvol":1.022392,"raw_accel":0.713416,"smooth_accel":-0.485173,"accel_momentum":-0.223788,"rvol_3bar":[0.627209,0.604021,1.022392],"trend_3bar":"MIXED","projected_rvol":0.398544},"flow":{"window_s":30,"trades":32,"trade_rate":1.066667,"buy_vol":587.0,"sell_vol":867.0,"unclassified_vol":0.0,"imbalance":-0.192572,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":0.378496},"context":{"vwap":10.958241,"price_vs_vwap_pct":0.015136,"ema9":10.958381,"ema20":10.958136,"ema_stack":true,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.364545,"dist_to_hod_atr":2.768047,"atr":0.014487,"spread_atr":0.690286,"own_change_pct":0.136135,"rel_strength_pct":{"SPY":0.176318,"IWM":0.205232}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":0,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.196884},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7b71b07f1145","ts":"2026-08-28T16:14:10+00:00","symbol":"AGNC","event":"REJECT","bot":{"state":"REJECT","reason":"price $10.96 below VWAP $10.96","plan":{"state":"PASS","setup":"","stop":10.9172,"target":11.13,"target_label":"range_20d_high","reward_risk":4.62,"pos_in_5d_range_pct":68.7,"room_to_5d_high_atr":0.5},"price":10.955,"vwap":10.9582,"ext_from_open_pct":-0.14,"max_ext_allowed_pct":4.0,"volume_pace":1.575,"trend":"flat","recent_slope_pct":-0.0137,"volatility":"low"},"price":10.955,"volume":{"bars":164,"last_bar_volume":19211.0,"baseline_avg":41451.7,"bar_rvol":0.463455,"raw_accel":-0.535461,"smooth_accel":-0.503386,"accel_momentum":-0.018213,"rvol_3bar":[0.604021,1.022392,0.463455],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":2655.0,"sell_vol":4404.0,"unclassified_vol":0.0,"imbalance":-0.247769,"bid":10.95,"ask":10.96,"spread_pct":0.091283,"quote_size_imbalance":null,"quote_age_s":1.430781},"context":{"vwap":10.958239,"price_vs_vwap_pct":-0.029555,"ema9":10.958705,"ema20":10.958314,"ema_stack":false,"ema_warm":true,"hod":11.0,"dist_to_hod_pct":-0.409091,"dist_to_hod_atr":3.155874,"atr":0.014259,"spread_atr":0.701305,"own_change_pct":0.091324,"rel_strength_pct":{"SPY":0.129564,"IWM":0.1857}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-1},"missing":[],"volume_pressure":-0.11483},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"3eca86773c8f","ts":"2026-08-28T16:24:55+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.48 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.3627,"target":13.57,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":18.7,"room_to_5d_high_atr":1.38},"price":13.485,"vwap":13.4932,"ext_from_open_pct":-0.11,"max_ext_allowed_pct":3.0,"volume_pace":0.742,"trend":"flat","recent_slope_pct":-0.0592,"volatility":"medium"},"price":13.485,"volume":{"bars":174,"last_bar_volume":294.0,"baseline_avg":7256.9,"bar_rvol":0.040513,"raw_accel":-0.984984,"smooth_accel":2.943998,"accel_momentum":-2.62488,"rvol_3bar":[0.941215,3.045419,0.040513],"trend_3bar":"MIXED","projected_rvol":1.393533},"flow":{"window_s":30,"trades":76,"trade_rate":2.533333,"buy_vol":3546.0,"sell_vol":5560.0,"unclassified_vol":0.0,"imbalance":-0.221173,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":0.188284},"context":{"vwap":13.493168,"price_vs_vwap_pct":-0.060533,"ema9":13.512561,"ema20":13.519294,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.918442,"dist_to_hod_atr":8.50984,"atr":0.014689,"spread_atr":0.680787,"own_change_pct":-0.142759,"rel_strength_pct":{"SPY":-0.119379,"IWM":-0.156274}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.00896},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5a663326c2b9","ts":"2026-08-28T16:25:15+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3727,"target":13.62,"target_label":"premarket_high","reward_risk":1.02,"pos_in_5d_range_pct":19.9,"room_to_5d_high_atr":1.36},"price":13.495,"vwap":13.4932,"ext_from_open_pct":-0.04,"max_ext_allowed_pct":3.0,"volume_pace":0.741,"trend":"flat","recent_slope_pct":-0.0481,"volatility":"medium"},"price":13.495,"volume":{"bars":175,"last_bar_volume":9270.0,"baseline_avg":7123.55,"bar_rvol":1.301317,"raw_accel":4.20527,"smooth_accel":1.658548,"accel_momentum":-1.28545,"rvol_3bar":[3.045419,0.040513,1.301317],"trend_3bar":"MIXED","projected_rvol":0.708074},"flow":{"window_s":30,"trades":81,"trade_rate":2.7,"buy_vol":3784.0,"sell_vol":5448.0,"unclassified_vol":0.0,"imbalance":-0.180243,"bid":13.49,"ask":13.5,"spread_pct":0.074102,"quote_size_imbalance":null,"quote_age_s":1.254716},"context":{"vwap":13.493177,"price_vs_vwap_pct":0.01351,"ema9":13.507049,"ema20":13.516027,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.844967,"dist_to_hod_atr":7.279948,"atr":0.015797,"spread_atr":0.633039,"own_change_pct":-0.244857,"rel_strength_pct":{"SPY":-0.156566,"IWM":-0.19756}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.234553},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7db2339f7f11","ts":"2026-08-28T16:25:25+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.48 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.3627,"target":13.57,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":18.7,"room_to_5d_high_atr":1.38},"price":13.485,"vwap":13.4932,"ext_from_open_pct":-0.11,"max_ext_allowed_pct":3.0,"volume_pace":0.741,"trend":"flat","recent_slope_pct":-0.063,"volatility":"medium"},"price":13.485,"volume":{"bars":175,"last_bar_volume":9270.0,"baseline_avg":7123.55,"bar_rvol":1.301317,"raw_accel":4.20527,"smooth_accel":1.658548,"accel_momentum":-1.28545,"rvol_3bar":[3.045419,0.040513,1.301317],"trend_3bar":"MIXED","projected_rvol":1.352023},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":1195.0,"sell_vol":2818.0,"unclassified_vol":0.0,"imbalance":-0.404436,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":1.453395},"context":{"vwap":13.493177,"price_vs_vwap_pct":-0.060602,"ema9":13.507049,"ema20":13.516027,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.918442,"dist_to_hod_atr":7.912987,"atr":0.015797,"spread_atr":0.633039,"own_change_pct":-0.244857,"rel_strength_pct":{"SPY":-0.156566,"IWM":-0.19756}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.526299},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c1098b5758d4","ts":"2026-08-28T16:25:30+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3742,"target":13.62,"target_label":"premarket_high","reward_risk":1.01,"pos_in_5d_range_pct":20.1,"room_to_5d_high_atr":1.35},"price":13.4965,"vwap":13.4932,"ext_from_open_pct":-0.03,"max_ext_allowed_pct":3.0,"volume_pace":0.741,"trend":"flat","recent_slope_pct":-0.0459,"volatility":"medium"},"price":13.4965,"volume":{"bars":175,"last_bar_volume":9270.0,"baseline_avg":7123.55,"bar_rvol":1.301317,"raw_accel":4.20527,"smooth_accel":1.658548,"accel_momentum":-1.28545,"rvol_3bar":[3.045419,0.040513,1.301317],"trend_3bar":"MIXED","projected_rvol":1.133704},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":1220.0,"sell_vol":2818.0,"unclassified_vol":0.0,"imbalance":-0.39574,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":0.000153},"context":{"vwap":13.493177,"price_vs_vwap_pct":0.024627,"ema9":13.507049,"ema20":13.516027,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.833946,"dist_to_hod_atr":7.184992,"atr":0.015797,"spread_atr":0.633039,"own_change_pct":-0.244857,"rel_strength_pct":{"SPY":-0.156566,"IWM":-0.19756}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.514984},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"734d21586a79","ts":"2026-08-28T16:25:45+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.48 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.3627,"target":13.57,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":18.7,"room_to_5d_high_atr":1.38},"price":13.485,"vwap":13.4932,"ext_from_open_pct":-0.11,"max_ext_allowed_pct":4.0,"volume_pace":0.74,"trend":"flat","recent_slope_pct":-0.063,"volatility":"medium"},"price":13.485,"volume":{"bars":175,"last_bar_volume":9270.0,"baseline_avg":7123.55,"bar_rvol":1.301317,"raw_accel":4.20527,"smooth_accel":1.658548,"accel_momentum":-1.28545,"rvol_3bar":[3.045419,0.040513,1.301317],"trend_3bar":"MIXED","projected_rvol":0.757862},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":125.0,"sell_vol":2663.0,"unclassified_vol":0.0,"imbalance":-0.91033,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":8.674987},"context":{"vwap":13.493177,"price_vs_vwap_pct":-0.060602,"ema9":13.507049,"ema20":13.516027,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.918442,"dist_to_hod_atr":7.912987,"atr":0.015797,"spread_atr":0.633039,"own_change_pct":-0.244857,"rel_strength_pct":{"SPY":-0.156566,"IWM":-0.19756}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-1.184628},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f69a717f96e0","ts":"2026-08-28T16:25:50+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.387,"target":13.62,"target_label":"premarket_high","reward_risk":0.91,"pos_in_5d_range_pct":21.6,"room_to_5d_high_atr":1.33},"price":13.5093,"vwap":13.4932,"ext_from_open_pct":0.07,"max_ext_allowed_pct":4.0,"volume_pace":0.739,"trend":"flat","recent_slope_pct":-0.027,"volatility":"medium"},"price":13.5093,"volume":{"bars":175,"last_bar_volume":9270.0,"baseline_avg":7123.55,"bar_rvol":1.301317,"raw_accel":4.20527,"smooth_accel":1.658548,"accel_momentum":-1.28545,"rvol_3bar":[3.045419,0.040513,1.301317],"trend_3bar":"MIXED","projected_rvol":0.688814},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":165.0,"sell_vol":2452.0,"unclassified_vol":0.0,"imbalance":-0.873901,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":4.841206},"context":{"vwap":13.493177,"price_vs_vwap_pct":0.119489,"ema9":13.507049,"ema20":13.516027,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.739897,"dist_to_hod_atr":6.374703,"atr":0.015797,"spread_atr":0.633039,"own_change_pct":-0.244857,"rel_strength_pct":{"SPY":-0.156566,"IWM":-0.19756}},"vas":{"raw":0,"score":4.4,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-1.137223},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"376cefb47bcd","ts":"2026-08-28T16:26:00+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.48 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.3627,"target":13.57,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":18.7,"room_to_5d_high_atr":1.38},"price":13.485,"vwap":13.4932,"ext_from_open_pct":-0.11,"max_ext_allowed_pct":4.0,"volume_pace":0.739,"trend":"flat","recent_slope_pct":-0.063,"volatility":"medium"},"price":13.485,"volume":{"bars":175,"last_bar_volume":9270.0,"baseline_avg":7123.55,"bar_rvol":1.301317,"raw_accel":4.20527,"smooth_accel":1.658548,"accel_momentum":-1.28545,"rvol_3bar":[3.045419,0.040513,1.301317],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":40.0,"sell_vol":73.0,"unclassified_vol":0.0,"imbalance":-0.292035,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":0.000135},"context":{"vwap":13.493177,"price_vs_vwap_pct":-0.060602,"ema9":13.507049,"ema20":13.516027,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.918442,"dist_to_hod_atr":7.912987,"atr":0.015797,"spread_atr":0.633039,"own_change_pct":-0.244857,"rel_strength_pct":{"SPY":-0.208489,"IWM":-0.239789}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.380031},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9b8f45331bab","ts":"2026-08-28T16:26:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3883,"target":13.62,"target_label":"premarket_high","reward_risk":0.89,"pos_in_5d_range_pct":21.8,"room_to_5d_high_atr":1.32},"price":13.5106,"vwap":13.4932,"ext_from_open_pct":0.08,"max_ext_allowed_pct":4.0,"volume_pace":0.738,"trend":"flat","recent_slope_pct":0.0046,"volatility":"medium"},"price":13.5106,"volume":{"bars":176,"last_bar_volume":4151.0,"baseline_avg":7418.75,"bar_rvol":0.559528,"raw_accel":-0.552211,"smooth_accel":-0.539811,"accel_momentum":-2.198359,"rvol_3bar":[0.040513,1.301317,0.559528],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":8,"trade_rate":0.266667,"buy_vol":116.0,"sell_vol":78.0,"unclassified_vol":0.0,"imbalance":0.195876,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":2.693461},"context":{"vwap":13.493178,"price_vs_vwap_pct":0.129118,"ema9":13.502639,"ema20":13.513072,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.730345,"dist_to_hod_atr":6.025322,"atr":0.016497,"spread_atr":0.606169,"own_change_pct":-0.221976,"rel_strength_pct":{"SPY":-0.185607,"IWM":-0.216908}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.109598},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0c744e31c740","ts":"2026-08-28T16:26:20+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.48 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.3627,"target":13.57,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":18.7,"room_to_5d_high_atr":1.38},"price":13.485,"vwap":13.4932,"ext_from_open_pct":-0.11,"max_ext_allowed_pct":4.0,"volume_pace":0.737,"trend":"flat","recent_slope_pct":-0.0334,"volatility":"medium"},"price":13.485,"volume":{"bars":176,"last_bar_volume":4151.0,"baseline_avg":7418.75,"bar_rvol":0.559528,"raw_accel":-0.552211,"smooth_accel":-0.539811,"accel_momentum":-2.198359,"rvol_3bar":[0.040513,1.301317,0.559528],"trend_3bar":"MIXED","projected_rvol":0.034777},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":76.0,"sell_vol":72.0,"unclassified_vol":0.0,"imbalance":0.027027,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":4.137286},"context":{"vwap":13.493178,"price_vs_vwap_pct":-0.060607,"ema9":13.502639,"ema20":13.513072,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.918442,"dist_to_hod_atr":7.577116,"atr":0.016497,"spread_atr":0.606169,"own_change_pct":-0.221976,"rel_strength_pct":{"SPY":-0.185607,"IWM":-0.216908}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.015122},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"adf627e073dc","ts":"2026-08-28T16:26:35+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3759,"target":13.62,"target_label":"premarket_high","reward_risk":1.0,"pos_in_5d_range_pct":20.3,"room_to_5d_high_atr":1.35},"price":13.4982,"vwap":13.4932,"ext_from_open_pct":-0.01,"max_ext_allowed_pct":4.0,"volume_pace":0.736,"trend":"flat","recent_slope_pct":-0.0138,"volatility":"medium"},"price":13.4982,"volume":{"bars":176,"last_bar_volume":4151.0,"baseline_avg":7418.75,"bar_rvol":0.559528,"raw_accel":-0.552211,"smooth_accel":-0.539811,"accel_momentum":-2.198359,"rvol_3bar":[0.040513,1.301317,0.559528],"trend_3bar":"MIXED","projected_rvol":0.023339},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":15.0,"sell_vol":5.0,"unclassified_vol":0.0,"imbalance":0.5,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":3.864312},"context":{"vwap":13.493178,"price_vs_vwap_pct":0.03722,"ema9":13.502639,"ema20":13.513072,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.821455,"dist_to_hod_atr":6.776972,"atr":0.016497,"spread_atr":0.606169,"own_change_pct":-0.221976,"rel_strength_pct":{"SPY":-0.185607,"IWM":-0.216908}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.279764},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1dfff3665d7f","ts":"2026-08-28T16:26:40+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.48 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.3627,"target":13.57,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":18.7,"room_to_5d_high_atr":1.38},"price":13.485,"vwap":13.4932,"ext_from_open_pct":-0.11,"max_ext_allowed_pct":4.0,"volume_pace":0.736,"trend":"flat","recent_slope_pct":-0.0334,"volatility":"medium"},"price":13.485,"volume":{"bars":176,"last_bar_volume":4151.0,"baseline_avg":7418.75,"bar_rvol":0.559528,"raw_accel":-0.552211,"smooth_accel":-0.539811,"accel_momentum":-2.198359,"rvol_3bar":[0.040513,1.301317,0.559528],"trend_3bar":"MIXED","projected_rvol":0.021432},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":15.0,"sell_vol":10.0,"unclassified_vol":0.0,"imbalance":0.2,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":1.53967},"context":{"vwap":13.493178,"price_vs_vwap_pct":-0.060607,"ema9":13.502639,"ema20":13.513072,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.918442,"dist_to_hod_atr":7.577116,"atr":0.016497,"spread_atr":0.606169,"own_change_pct":-0.221976,"rel_strength_pct":{"SPY":-0.185607,"IWM":-0.216908}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.111906},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5c817d20cc90","ts":"2026-08-28T16:26:45+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3736,"target":13.62,"target_label":"premarket_high","reward_risk":1.01,"pos_in_5d_range_pct":20.0,"room_to_5d_high_atr":1.35},"price":13.4959,"vwap":13.4932,"ext_from_open_pct":-0.03,"max_ext_allowed_pct":4.0,"volume_pace":0.735,"trend":"flat","recent_slope_pct":-0.0172,"volatility":"medium"},"price":13.4959,"volume":{"bars":176,"last_bar_volume":4151.0,"baseline_avg":7418.75,"bar_rvol":0.559528,"raw_accel":-0.552211,"smooth_accel":-0.539811,"accel_momentum":-2.198359,"rvol_3bar":[0.040513,1.301317,0.559528],"trend_3bar":"MIXED","projected_rvol":0.021747},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":30.0,"sell_vol":10.0,"unclassified_vol":0.0,"imbalance":0.5,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":1.090871},"context":{"vwap":13.493178,"price_vs_vwap_pct":0.020174,"ema9":13.502639,"ema20":13.513072,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.838354,"dist_to_hod_atr":6.916391,"atr":0.016497,"spread_atr":0.606169,"own_change_pct":-0.221976,"rel_strength_pct":{"SPY":-0.185607,"IWM":-0.216908}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.279764},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"fd2b9a5fe8c1","ts":"2026-08-28T16:26:55+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.48 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.3627,"target":13.57,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":18.7,"room_to_5d_high_atr":1.38},"price":13.485,"vwap":13.4932,"ext_from_open_pct":-0.11,"max_ext_allowed_pct":3.0,"volume_pace":0.736,"trend":"flat","recent_slope_pct":-0.0334,"volatility":"medium"},"price":13.485,"volume":{"bars":176,"last_bar_volume":4151.0,"baseline_avg":7418.75,"bar_rvol":0.559528,"raw_accel":-0.552211,"smooth_accel":-0.539811,"accel_momentum":-2.198359,"rvol_3bar":[0.040513,1.301317,0.559528],"trend_3bar":"MIXED","projected_rvol":0.562163},"flow":{"window_s":30,"trades":36,"trade_rate":1.2,"buy_vol":2084.0,"sell_vol":1653.0,"unclassified_vol":0.0,"imbalance":0.115333,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":0.425863},"context":{"vwap":13.493178,"price_vs_vwap_pct":-0.060607,"ema9":13.502639,"ema20":13.513072,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.918442,"dist_to_hod_atr":7.577116,"atr":0.016497,"spread_atr":0.606169,"own_change_pct":-0.221976,"rel_strength_pct":{"SPY":-0.185607,"IWM":-0.216908}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.064532},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"96eab620b052","ts":"2026-08-28T16:27:25+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3838,"target":13.62,"target_label":"premarket_high","reward_risk":0.93,"pos_in_5d_range_pct":21.3,"room_to_5d_high_atr":1.33},"price":13.5061,"vwap":13.4932,"ext_from_open_pct":0.05,"max_ext_allowed_pct":4.0,"volume_pace":0.737,"trend":"flat","recent_slope_pct":0.009,"volatility":"medium"},"price":13.5061,"volume":{"bars":177,"last_bar_volume":4084.0,"baseline_avg":7473.65,"bar_rvol":0.546453,"raw_accel":-0.016141,"smooth_accel":-0.338935,"accel_momentum":0.200876,"rvol_3bar":[1.301317,0.559528,0.546453],"trend_3bar":"DECELERATING","projected_rvol":2.713212},"flow":{"window_s":30,"trades":47,"trade_rate":1.566667,"buy_vol":6531.0,"sell_vol":2179.0,"unclassified_vol":0.0,"imbalance":0.499656,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":0.131558},"context":{"vwap":13.493179,"price_vs_vwap_pct":0.095762,"ema9":13.499111,"ema20":13.510399,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.763409,"dist_to_hod_atr":6.059279,"atr":0.017147,"spread_atr":0.583184,"own_change_pct":-0.258876,"rel_strength_pct":{"SPY":-0.211472,"IWM":-0.223409}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.273038},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"b632292f845e","ts":"2026-08-28T16:27:30+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.48 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.3627,"target":13.57,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":18.7,"room_to_5d_high_atr":1.38},"price":13.485,"vwap":13.4932,"ext_from_open_pct":-0.11,"max_ext_allowed_pct":4.0,"volume_pace":0.737,"trend":"flat","recent_slope_pct":-0.0222,"volatility":"medium"},"price":13.485,"volume":{"bars":177,"last_bar_volume":4084.0,"baseline_avg":7473.65,"bar_rvol":0.546453,"raw_accel":-0.016141,"smooth_accel":-0.338935,"accel_momentum":0.200876,"rvol_3bar":[1.301317,0.559528,0.546453],"trend_3bar":"DECELERATING","projected_rvol":2.314532},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":6531.0,"sell_vol":2118.0,"unclassified_vol":0.0,"imbalance":0.510232,"bid":13.48,"ask":13.49,"spread_pct":0.074156,"quote_size_imbalance":null,"quote_age_s":4e-05},"context":{"vwap":13.493179,"price_vs_vwap_pct":-0.060613,"ema9":13.499111,"ema20":13.510399,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.918442,"dist_to_hod_atr":7.289797,"atr":0.017147,"spread_atr":0.583184,"own_change_pct":-0.258876,"rel_strength_pct":{"SPY":-0.211472,"IWM":-0.223409}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.278818},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"0b7d540a7baf","ts":"2026-08-28T16:27:35+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3727,"target":13.62,"target_label":"premarket_high","reward_risk":1.02,"pos_in_5d_range_pct":19.9,"room_to_5d_high_atr":1.36},"price":13.495,"vwap":13.4932,"ext_from_open_pct":-0.04,"max_ext_allowed_pct":4.0,"volume_pace":0.738,"trend":"flat","recent_slope_pct":-0.0074,"volatility":"medium"},"price":13.495,"volume":{"bars":177,"last_bar_volume":4084.0,"baseline_avg":7473.65,"bar_rvol":0.546453,"raw_accel":-0.016141,"smooth_accel":-0.338935,"accel_momentum":0.200876,"rvol_3bar":[1.301317,0.559528,0.546453],"trend_3bar":"DECELERATING","projected_rvol":2.422912},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":8231.0,"sell_vol":2332.0,"unclassified_vol":0.0,"imbalance":0.558459,"bid":13.49,"ask":13.5,"spread_pct":0.074102,"quote_size_imbalance":null,"quote_age_s":1.348157},"context":{"vwap":13.493179,"price_vs_vwap_pct":0.013498,"ema9":13.499111,"ema20":13.510399,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.844967,"dist_to_hod_atr":6.706613,"atr":0.017147,"spread_atr":0.583184,"own_change_pct":-0.258876,"rel_strength_pct":{"SPY":-0.211472,"IWM":-0.223409}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.305172},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"bc04b399c975","ts":"2026-08-28T16:27:40+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.49 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.3677,"target":13.62,"target_label":"premarket_high","reward_risk":1.06,"pos_in_5d_range_pct":19.3,"room_to_5d_high_atr":1.37},"price":13.49,"vwap":13.4932,"ext_from_open_pct":-0.07,"max_ext_allowed_pct":3.0,"volume_pace":0.738,"trend":"flat","recent_slope_pct":-0.0148,"volatility":"medium"},"price":13.49,"volume":{"bars":177,"last_bar_volume":4084.0,"baseline_avg":7473.65,"bar_rvol":0.546453,"raw_accel":-0.016141,"smooth_accel":-0.338935,"accel_momentum":0.200876,"rvol_3bar":[1.301317,0.559528,0.546453],"trend_3bar":"DECELERATING","projected_rvol":2.287637},"flow":{"window_s":30,"trades":57,"trade_rate":1.9,"buy_vol":7631.0,"sell_vol":3060.0,"unclassified_vol":0.0,"imbalance":0.427556,"bid":13.49,"ask":13.5,"spread_pct":0.074102,"quote_size_imbalance":null,"quote_age_s":0.528159},"context":{"vwap":13.493179,"price_vs_vwap_pct":-0.023557,"ema9":13.499111,"ema20":13.510399,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.881705,"dist_to_hod_atr":6.998205,"atr":0.017147,"spread_atr":0.583184,"own_change_pct":-0.258876,"rel_strength_pct":{"SPY":-0.211472,"IWM":-0.223409}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.233639},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"9f7207098fe3","ts":"2026-08-28T16:27:45+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3727,"target":13.62,"target_label":"premarket_high","reward_risk":1.02,"pos_in_5d_range_pct":19.9,"room_to_5d_high_atr":1.36},"price":13.495,"vwap":13.4932,"ext_from_open_pct":-0.04,"max_ext_allowed_pct":3.0,"volume_pace":0.737,"trend":"flat","recent_slope_pct":-0.0074,"volatility":"medium"},"price":13.495,"volume":{"bars":177,"last_bar_volume":4084.0,"baseline_avg":7473.65,"bar_rvol":0.546453,"raw_accel":-0.016141,"smooth_accel":-0.338935,"accel_momentum":0.200876,"rvol_3bar":[1.301317,0.559528,0.546453],"trend_3bar":"DECELERATING","projected_rvol":2.054329},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":7031.0,"sell_vol":3072.0,"unclassified_vol":0.0,"imbalance":0.391864,"bid":13.49,"ask":13.5,"spread_pct":0.074102,"quote_size_imbalance":null,"quote_age_s":2.985112},"context":{"vwap":13.493179,"price_vs_vwap_pct":0.013498,"ema9":13.499111,"ema20":13.510399,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.844967,"dist_to_hod_atr":6.706613,"atr":0.017147,"spread_atr":0.583184,"own_change_pct":-0.258876,"rel_strength_pct":{"SPY":-0.211472,"IWM":-0.223409}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.214135},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"61c8e196b809","ts":"2026-08-28T16:27:50+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.49 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.368,"target":13.62,"target_label":"premarket_high","reward_risk":1.06,"pos_in_5d_range_pct":19.3,"room_to_5d_high_atr":1.37},"price":13.4903,"vwap":13.4932,"ext_from_open_pct":-0.07,"max_ext_allowed_pct":3.0,"volume_pace":0.737,"trend":"flat","recent_slope_pct":-0.0144,"volatility":"medium"},"price":13.4903,"volume":{"bars":177,"last_bar_volume":4084.0,"baseline_avg":7473.65,"bar_rvol":0.546453,"raw_accel":-0.016141,"smooth_accel":-0.338935,"accel_momentum":0.200876,"rvol_3bar":[1.301317,0.559528,0.546453],"trend_3bar":"DECELERATING","projected_rvol":1.853392},"flow":{"window_s":30,"trades":58,"trade_rate":1.933333,"buy_vol":7055.0,"sell_vol":3075.0,"unclassified_vol":0.0,"imbalance":0.392892,"bid":13.49,"ask":13.5,"spread_pct":0.074102,"quote_size_imbalance":null,"quote_age_s":3.132558},"context":{"vwap":13.493179,"price_vs_vwap_pct":-0.021334,"ema9":13.499111,"ema20":13.510399,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.8795,"dist_to_hod_atr":6.980709,"atr":0.017147,"spread_atr":0.583184,"own_change_pct":-0.258876,"rel_strength_pct":{"SPY":-0.211472,"IWM":-0.223409}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.214697},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"b20190ac43d9","ts":"2026-08-28T16:28:00+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3727,"target":13.62,"target_label":"premarket_high","reward_risk":1.02,"pos_in_5d_range_pct":19.9,"room_to_5d_high_atr":1.36},"price":13.495,"vwap":13.4932,"ext_from_open_pct":-0.04,"max_ext_allowed_pct":3.0,"volume_pace":0.736,"trend":"flat","recent_slope_pct":-0.0074,"volatility":"medium"},"price":13.495,"volume":{"bars":177,"last_bar_volume":4084.0,"baseline_avg":7473.65,"bar_rvol":0.546453,"raw_accel":-0.016141,"smooth_accel":-0.338935,"accel_momentum":0.200876,"rvol_3bar":[1.301317,0.559528,0.546453],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":1724.0,"sell_vol":1225.0,"unclassified_vol":0.0,"imbalance":0.16921,"bid":13.49,"ask":13.5,"spread_pct":0.074102,"quote_size_imbalance":null,"quote_age_s":2.2e-05},"context":{"vwap":13.493179,"price_vs_vwap_pct":0.013498,"ema9":13.499111,"ema20":13.510399,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.844967,"dist_to_hod_atr":6.706613,"atr":0.017147,"spread_atr":0.583184,"own_change_pct":-0.258876,"rel_strength_pct":{"SPY":-0.262773,"IWM":-0.262254}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.092465},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"93ee542f6461","ts":"2026-08-28T16:28:30+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.49 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.369,"target":13.62,"target_label":"premarket_high","reward_risk":1.05,"pos_in_5d_range_pct":19.5,"room_to_5d_high_atr":1.36},"price":13.4913,"vwap":13.4932,"ext_from_open_pct":-0.06,"max_ext_allowed_pct":3.0,"volume_pace":0.734,"trend":"flat","recent_slope_pct":0.0168,"volatility":"medium"},"price":13.4913,"volume":{"bars":178,"last_bar_volume":11598.0,"baseline_avg":7629.95,"bar_rvol":1.520062,"raw_accel":1.839863,"smooth_accel":-0.319459,"accel_momentum":0.019476,"rvol_3bar":[0.559528,0.546453,1.520062],"trend_3bar":"MIXED","projected_rvol":0.018087},"flow":{"window_s":30,"trades":9,"trade_rate":0.3,"buy_vol":19.0,"sell_vol":50.0,"unclassified_vol":0.0,"imbalance":-0.449275,"bid":13.49,"ask":13.5,"spread_pct":0.074102,"quote_size_imbalance":null,"quote_age_s":0.0},"context":{"vwap":13.493192,"price_vs_vwap_pct":-0.014021,"ema9":13.498289,"ema20":13.508932,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.872153,"dist_to_hod_atr":6.810256,"atr":0.01743,"spread_atr":0.573737,"own_change_pct":-0.037037,"rel_strength_pct":{"SPY":-0.040935,"IWM":-0.040415}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":1,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.682927},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ad61b5a30eb4","ts":"2026-08-28T16:28:35+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3786,"target":13.62,"target_label":"premarket_high","reward_risk":0.97,"pos_in_5d_range_pct":20.6,"room_to_5d_high_atr":1.34},"price":13.5009,"vwap":13.4932,"ext_from_open_pct":0.01,"max_ext_allowed_pct":4.0,"volume_pace":0.734,"trend":"flat","recent_slope_pct":0.031,"volatility":"medium"},"price":13.5009,"volume":{"bars":178,"last_bar_volume":11598.0,"baseline_avg":7629.95,"bar_rvol":1.520062,"raw_accel":1.839863,"smooth_accel":-0.319459,"accel_momentum":0.019476,"rvol_3bar":[0.559528,0.546453,1.520062],"trend_3bar":"MIXED","projected_rvol":0.085827},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":319.0,"sell_vol":48.0,"unclassified_vol":0.0,"imbalance":0.73842,"bid":13.49,"ask":13.5,"spread_pct":0.074102,"quote_size_imbalance":null,"quote_age_s":4.915849},"context":{"vwap":13.493192,"price_vs_vwap_pct":0.057126,"ema9":13.498289,"ema20":13.508932,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.801616,"dist_to_hod_atr":6.259469,"atr":0.01743,"spread_atr":0.573737,"own_change_pct":-0.037037,"rel_strength_pct":{"SPY":-0.040935,"IWM":-0.040415}},"vas":{"raw":1,"score":5.0,"components":{"rvol":1,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":1.122444},"shadow":{"decision":"FAIL","failed":["vas","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"de49cdb302a0","ts":"2026-08-28T16:29:25+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"price $13.49 below VWAP $13.49","plan":{"state":"PASS","setup":"","stop":13.3693,"target":13.62,"target_label":"premarket_high","reward_risk":1.05,"pos_in_5d_range_pct":19.5,"room_to_5d_high_atr":1.36},"price":13.4916,"vwap":13.4932,"ext_from_open_pct":-0.06,"max_ext_allowed_pct":4.0,"volume_pace":0.731,"trend":"flat","recent_slope_pct":0.0169,"volatility":"medium"},"price":13.4916,"volume":{"bars":179,"last_bar_volume":454.0,"baseline_avg":7952.95,"bar_rvol":0.057086,"raw_accel":-0.960855,"smooth_accel":0.176522,"accel_momentum":0.495981,"rvol_3bar":[0.546453,1.520062,0.057086],"trend_3bar":"MIXED","projected_rvol":0.497627},"flow":{"window_s":30,"trades":29,"trade_rate":0.966667,"buy_vol":1559.0,"sell_vol":90.0,"unclassified_vol":0.0,"imbalance":0.890843,"bid":13.5,"ask":13.51,"spread_pct":0.074047,"quote_size_imbalance":null,"quote_age_s":8.583423},"context":{"vwap":13.493192,"price_vs_vwap_pct":-0.011801,"ema9":13.497551,"ema20":13.507567,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.869949,"dist_to_hod_atr":6.979818,"atr":0.016963,"spread_atr":0.589512,"own_change_pct":-0.04,"rel_strength_pct":{"SPY":-0.02441,"IWM":-0.009595}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.050854},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"17cfdb222035","ts":"2026-08-28T16:29:30+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.3827,"target":13.62,"target_label":"premarket_high","reward_risk":0.94,"pos_in_5d_range_pct":21.1,"room_to_5d_high_atr":1.34},"price":13.505,"vwap":13.4932,"ext_from_open_pct":0.04,"max_ext_allowed_pct":3.0,"volume_pace":0.731,"trend":"flat","recent_slope_pct":0.0368,"volatility":"medium"},"price":13.505,"volume":{"bars":179,"last_bar_volume":454.0,"baseline_avg":7952.95,"bar_rvol":0.057086,"raw_accel":-0.960855,"smooth_accel":0.176522,"accel_momentum":0.495981,"rvol_3bar":[0.546453,1.520062,0.057086],"trend_3bar":"MIXED","projected_rvol":0.421479},"flow":{"window_s":30,"trades":31,"trade_rate":1.033333,"buy_vol":1586.0,"sell_vol":90.0,"unclassified_vol":0.0,"imbalance":0.892601,"bid":13.5,"ask":13.51,"spread_pct":0.074047,"quote_size_imbalance":null,"quote_age_s":0.07633},"context":{"vwap":13.493192,"price_vs_vwap_pct":0.087509,"ema9":13.497551,"ema20":13.507567,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.771492,"dist_to_hod_atr":6.189872,"atr":0.016963,"spread_atr":0.589512,"own_change_pct":-0.04,"rel_strength_pct":{"SPY":-0.02441,"IWM":-0.009595}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.050955},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"cf7be006b0ce","ts":"2026-08-28T16:34:20+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.0026,"target":5.1377,"target_label":"ceiling","reward_risk":0.64,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.17},"price":5.085,"vwap":5.0694,"ext_from_open_pct":1.09,"max_ext_allowed_pct":3.0,"volume_pace":1.35,"trend":"flat","recent_slope_pct":0.1373,"volatility":"high"},"price":5.085,"volume":{"bars":183,"last_bar_volume":2647.0,"baseline_avg":1486.45,"bar_rvol":1.780753,"raw_accel":6.123011,"smooth_accel":7.538726,"accel_momentum":-7.999285,"rvol_3bar":[1.251956,0.188713,1.780753],"trend_3bar":"MIXED","projected_rvol":5.653066},"flow":{"window_s":30,"trades":45,"trade_rate":1.5,"buy_vol":1119.0,"sell_vol":1814.0,"unclassified_vol":0.0,"imbalance":-0.236959,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":0.013956},"context":{"vwap":5.06936,"price_vs_vwap_pct":0.308526,"ema9":5.05989,"ema20":5.054743,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.820709,"dist_to_hod_atr":9.325011,"atr":0.010113,"spread_atr":0.988866,"own_change_pct":0.395648,"rel_strength_pct":{"SPY":0.32027,"IWM":0.351716}},"vas":{"raw":2,"score":5.6,"components":{"rvol":1,"accel":3,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.421965},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"df49150bbcca","ts":"2026-08-28T16:36:25+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 125.0s, plan says WATCH; stop 5.01, target 5.14 (ceiling), R:R 0.52; R:R 0.52 < 2.0 at 5.09; pullback: buy 5.06-5.08 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":5.0126,"target":5.1377,"target_label":"ceiling","reward_risk":0.52,"pos_in_5d_range_pct":44.0,"room_to_5d_high_atr":1.14},"price":5.095,"vwap":5.0705,"ext_from_open_pct":1.29,"max_ext_allowed_pct":3.0,"volume_pace":1.389,"trend":"flat","recent_slope_pct":0.1574,"volatility":"high"},"price":5.095,"volume":{"bars":185,"last_bar_volume":24053.0,"baseline_avg":1677.05,"bar_rvol":14.342447,"raw_accel":6.504836,"smooth_accel":9.574611,"accel_momentum":8.122921,"rvol_3bar":[1.780753,2.096415,14.342447],"trend_3bar":"ACCELERATING","projected_rvol":0.299097},"flow":{"window_s":30,"trades":9,"trade_rate":0.3,"buy_vol":0.0,"sell_vol":209.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":2.571615},"context":{"vwap":5.070465,"price_vs_vwap_pct":0.483886,"ema9":5.07093,"ema20":5.061184,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.627633,"dist_to_hod_atr":7.432567,"atr":0.011342,"spread_atr":0.881681,"own_change_pct":0.737489,"rel_strength_pct":{"SPY":0.712646,"IWM":0.686824}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-14.342447},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7ee07ef6951a","ts":"2026-08-28T16:36:50+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 150.0s, plan says PASS; stop 5.02, target 5.62 (range_20d_high), R:R 6.35; target 0.52 away > ~0.05 reachable in 198 min","plan":{"state":"PASS","setup":"","stop":5.019,"target":5.625,"target_label":"range_20d_high","reward_risk":6.35,"pos_in_5d_range_pct":45.0,"room_to_5d_high_atr":1.12},"price":5.1014,"vwap":5.0705,"ext_from_open_pct":1.42,"max_ext_allowed_pct":4.0,"volume_pace":1.388,"trend":"flat","recent_slope_pct":0.1825,"volatility":"high"},"price":5.1014,"volume":{"bars":185,"last_bar_volume":24053.0,"baseline_avg":1677.05,"bar_rvol":14.342447,"raw_accel":6.504836,"smooth_accel":9.574611,"accel_momentum":8.122921,"rvol_3bar":[1.780753,2.096415,14.342447],"trend_3bar":"ACCELERATING","projected_rvol":0.723413},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":777.0,"sell_vol":234.0,"unclassified_vol":0.0,"imbalance":0.537092,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":1.986349},"context":{"vwap":5.070465,"price_vs_vwap_pct":0.610107,"ema9":5.07093,"ema20":5.061184,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.504064,"dist_to_hod_atr":6.868291,"atr":0.011342,"spread_atr":0.881681,"own_change_pct":0.737489,"rel_strength_pct":{"SPY":0.712646,"IWM":0.686824}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":7.703213},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d656daf1a59f","ts":"2026-08-28T16:37:00+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 160.0s, plan says WATCH; stop 5.02, target 5.14 (ceiling), R:R 0.48; R:R 0.48 < 2.0 at 5.10; pullback: buy 5.06-5.08 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":5.016,"target":5.1377,"target_label":"ceiling","reward_risk":0.48,"pos_in_5d_range_pct":44.5,"room_to_5d_high_atr":1.13},"price":5.0984,"vwap":5.0705,"ext_from_open_pct":1.36,"max_ext_allowed_pct":4.0,"volume_pace":1.386,"trend":"flat","recent_slope_pct":0.1707,"volatility":"high"},"price":5.0984,"volume":{"bars":185,"last_bar_volume":24053.0,"baseline_avg":1677.05,"bar_rvol":14.342447,"raw_accel":6.504836,"smooth_accel":9.574611,"accel_momentum":8.122921,"rvol_3bar":[1.780753,2.096415,14.342447],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":21,"trade_rate":0.7,"buy_vol":777.0,"sell_vol":39.0,"unclassified_vol":0.0,"imbalance":0.904412,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":8.742237},"context":{"vwap":5.070465,"price_vs_vwap_pct":0.550941,"ema9":5.07093,"ema20":5.061184,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.561987,"dist_to_hod_atr":7.132795,"atr":0.011342,"spread_atr":0.881681,"own_change_pct":0.737489,"rel_strength_pct":{"SPY":0.716714,"IWM":0.632872}},"vas":{"raw":9,"score":10.0,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":12.971477},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5dbcddbb8f88","ts":"2026-08-28T16:37:15+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 175.0s, plan says PASS; stop 5.03, target 5.62 (range_20d_high), R:R 6.25; target 0.52 away > ~0.05 reachable in 198 min","plan":{"state":"PASS","setup":"","stop":5.0275,"target":5.625,"target_label":"range_20d_high","reward_risk":6.25,"pos_in_5d_range_pct":46.3,"room_to_5d_high_atr":1.09},"price":5.1099,"vwap":5.0705,"ext_from_open_pct":1.59,"max_ext_allowed_pct":3.0,"volume_pace":1.385,"trend":"flat","recent_slope_pct":0.1634,"volatility":"high"},"price":5.1099,"volume":{"bars":186,"last_bar_volume":1027.0,"baseline_avg":2872.2,"bar_rvol":0.357566,"raw_accel":-0.957303,"smooth_accel":4.701471,"accel_momentum":-4.87314,"rvol_3bar":[2.096415,14.342447,0.357566],"trend_3bar":"MIXED","projected_rvol":0.029246},"flow":{"window_s":30,"trades":21,"trade_rate":0.7,"buy_vol":593.0,"sell_vol":27.0,"unclassified_vol":0.0,"imbalance":0.912903,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":23.742237},"context":{"vwap":5.070508,"price_vs_vwap_pct":0.776883,"ema9":5.076424,"ema20":5.064729,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.339949,"dist_to_hod_atr":6.182797,"atr":0.011225,"spread_atr":0.890893,"own_change_pct":0.758893,"rel_strength_pct":{"SPY":0.738118,"IWM":0.654276}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.326423},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5096b110dfa0","ts":"2026-08-28T16:37:35+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 195.0s, plan says WATCH; stop 5.02, target 5.14 (ceiling), R:R 0.46; R:R 0.46 < 2.0 at 5.10; pullback: buy 5.06-5.08 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":5.0176,"target":5.1377,"target_label":"ceiling","reward_risk":0.46,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.12},"price":5.1,"vwap":5.0705,"ext_from_open_pct":1.39,"max_ext_allowed_pct":3.0,"volume_pace":1.383,"trend":"flat","recent_slope_pct":0.1245,"volatility":"high"},"price":5.1,"volume":{"bars":186,"last_bar_volume":1027.0,"baseline_avg":2872.2,"bar_rvol":0.357566,"raw_accel":-0.957303,"smooth_accel":4.701471,"accel_momentum":-4.87314,"rvol_3bar":[2.096415,14.342447,0.357566],"trend_3bar":"MIXED","projected_rvol":0.170104},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":15.0,"sell_vol":270.0,"unclassified_vol":0.0,"imbalance":-0.894737,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":3.174793},"context":{"vwap":5.070508,"price_vs_vwap_pct":0.581637,"ema9":5.076424,"ema20":5.064729,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.531095,"dist_to_hod_atr":7.064781,"atr":0.011225,"spread_atr":0.890893,"own_change_pct":0.758893,"rel_strength_pct":{"SPY":0.738118,"IWM":0.654276}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.319927},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"161c2865f6a6","ts":"2026-08-28T16:37:45+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 205.0s, plan says PASS; stop 5.02, target 5.62 (range_20d_high), R:R 6.31; target 0.52 away > ~0.05 reachable in 197 min","plan":{"state":"PASS","setup":"","stop":5.0226,"target":5.625,"target_label":"range_20d_high","reward_risk":6.31,"pos_in_5d_range_pct":45.5,"room_to_5d_high_atr":1.11},"price":5.105,"vwap":5.0705,"ext_from_open_pct":1.49,"max_ext_allowed_pct":3.0,"volume_pace":1.381,"trend":"flat","recent_slope_pct":0.1442,"volatility":"high"},"price":5.105,"volume":{"bars":186,"last_bar_volume":1027.0,"baseline_avg":2872.2,"bar_rvol":0.357566,"raw_accel":-0.957303,"smooth_accel":4.701471,"accel_momentum":-4.87314,"rvol_3bar":[2.096415,14.342447,0.357566],"trend_3bar":"MIXED","projected_rvol":0.141587},"flow":{"window_s":30,"trades":7,"trade_rate":0.233333,"buy_vol":5.0,"sell_vol":279.0,"unclassified_vol":0.0,"imbalance":-0.964789,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":5.142278},"context":{"vwap":5.070508,"price_vs_vwap_pct":0.680246,"ema9":5.076424,"ema20":5.064729,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.434557,"dist_to_hod_atr":6.619335,"atr":0.011225,"spread_atr":0.890893,"own_change_pct":0.758893,"rel_strength_pct":{"SPY":0.738118,"IWM":0.654276}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.344975},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5b312997afbe","ts":"2026-08-28T16:37:55+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 215.0s, plan says WATCH; stop 5.02, target 5.14 (ceiling), R:R 0.46; R:R 0.46 < 2.0 at 5.10; pullback: buy 5.06-5.08 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":5.0176,"target":5.1377,"target_label":"ceiling","reward_risk":0.46,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.12},"price":5.1,"vwap":5.0705,"ext_from_open_pct":1.39,"max_ext_allowed_pct":3.0,"volume_pace":1.381,"trend":"flat","recent_slope_pct":0.1245,"volatility":"high"},"price":5.1,"volume":{"bars":186,"last_bar_volume":1027.0,"baseline_avg":2872.2,"bar_rvol":0.357566,"raw_accel":-0.957303,"smooth_accel":4.701471,"accel_momentum":-4.87314,"rvol_3bar":[2.096415,14.342447,0.357566],"trend_3bar":"MIXED","projected_rvol":0.168259},"flow":{"window_s":30,"trades":13,"trade_rate":0.433333,"buy_vol":105.0,"sell_vol":317.0,"unclassified_vol":0.0,"imbalance":-0.50237,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.216414},"context":{"vwap":5.070508,"price_vs_vwap_pct":0.581637,"ema9":5.076424,"ema20":5.064729,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.531095,"dist_to_hod_atr":7.064781,"atr":0.011225,"spread_atr":0.890893,"own_change_pct":0.758893,"rel_strength_pct":{"SPY":0.738118,"IWM":0.654276}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.17963},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f5bd801daa1a","ts":"2026-08-28T16:38:00+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 220.0s, plan says PASS; stop 5.02, target 5.62 (range_20d_high), R:R 6.34; target 0.52 away > ~0.05 reachable in 197 min","plan":{"state":"PASS","setup":"","stop":5.0199,"target":5.625,"target_label":"range_20d_high","reward_risk":6.34,"pos_in_5d_range_pct":45.1,"room_to_5d_high_atr":1.12},"price":5.1023,"vwap":5.0705,"ext_from_open_pct":1.44,"max_ext_allowed_pct":3.0,"volume_pace":1.38,"trend":"flat","recent_slope_pct":0.1336,"volatility":"high"},"price":5.1023,"volume":{"bars":186,"last_bar_volume":1027.0,"baseline_avg":2872.2,"bar_rvol":0.357566,"raw_accel":-0.957303,"smooth_accel":4.701471,"accel_momentum":-4.87314,"rvol_3bar":[2.096415,14.342447,0.357566],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":101.0,"sell_vol":121.0,"unclassified_vol":0.0,"imbalance":-0.09009,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":2.049388},"context":{"vwap":5.070508,"price_vs_vwap_pct":0.626997,"ema9":5.076424,"ema20":5.064729,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.486687,"dist_to_hod_atr":6.859876,"atr":0.011225,"spread_atr":0.890893,"own_change_pct":0.758893,"rel_strength_pct":{"SPY":0.744615,"IWM":0.660973}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.032213},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"087a57244125","ts":"2026-08-28T16:38:05+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 225.0s, plan says WATCH; stop 5.02, target 5.14 (ceiling), R:R 0.46; R:R 0.46 < 2.0 at 5.10; pullback: buy 5.06-5.08 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":5.0176,"target":5.1377,"target_label":"ceiling","reward_risk":0.46,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.12},"price":5.1,"vwap":5.0705,"ext_from_open_pct":1.39,"max_ext_allowed_pct":3.0,"volume_pace":1.379,"trend":"flat","recent_slope_pct":0.0732,"volatility":"high"},"price":5.1,"volume":{"bars":187,"last_bar_volume":447.0,"baseline_avg":2908.4,"bar_rvol":0.153693,"raw_accel":-0.564752,"smooth_accel":3.139961,"accel_momentum":-1.56151,"rvol_3bar":[14.342447,0.357566,0.153693],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":101.0,"sell_vol":80.0,"unclassified_vol":0.0,"imbalance":0.116022,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":2.630764},"context":{"vwap":5.070532,"price_vs_vwap_pct":0.581167,"ema9":5.081599,"ema20":5.068307,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.531095,"dist_to_hod_atr":7.052426,"atr":0.011244,"spread_atr":0.889335,"own_change_pct":0.736426,"rel_strength_pct":{"SPY":0.722148,"IWM":0.638506}},"vas":{"raw":1,"score":5.0,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.017832},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"c58437538ccd","ts":"2026-08-28T16:38:15+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 235.0s, plan says PASS; stop 5.02, target 5.62 (range_20d_high), R:R 6.35; target 0.52 away > ~0.05 reachable in 197 min","plan":{"state":"PASS","setup":"","stop":5.0189,"target":5.625,"target_label":"range_20d_high","reward_risk":6.35,"pos_in_5d_range_pct":45.0,"room_to_5d_high_atr":1.12},"price":5.1013,"vwap":5.0705,"ext_from_open_pct":1.42,"max_ext_allowed_pct":3.0,"volume_pace":1.379,"trend":"flat","recent_slope_pct":0.0783,"volatility":"high"},"price":5.1013,"volume":{"bars":187,"last_bar_volume":447.0,"baseline_avg":2908.4,"bar_rvol":0.153693,"raw_accel":-0.564752,"smooth_accel":3.139961,"accel_momentum":-1.56151,"rvol_3bar":[14.342447,0.357566,0.153693],"trend_3bar":"DECELERATING","projected_rvol":0.33558},"flow":{"window_s":30,"trades":13,"trade_rate":0.433333,"buy_vol":101.0,"sell_vol":285.0,"unclassified_vol":0.0,"imbalance":-0.476684,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":1.876819},"context":{"vwap":5.070532,"price_vs_vwap_pct":0.606805,"ema9":5.081599,"ema20":5.068307,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.505995,"dist_to_hod_atr":6.936812,"atr":0.011244,"spread_atr":0.889335,"own_change_pct":0.736426,"rel_strength_pct":{"SPY":0.722148,"IWM":0.638506}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.073263},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"687ccc732061","ts":"2026-08-28T16:38:25+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 245.0s, plan says WATCH; stop 5.02, target 5.14 (ceiling), R:R 0.46; R:R 0.46 < 2.0 at 5.10; pullback: buy 5.06-5.08 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":5.0176,"target":5.1377,"target_label":"ceiling","reward_risk":0.46,"pos_in_5d_range_pct":44.8,"room_to_5d_high_atr":1.12},"price":5.1,"vwap":5.0705,"ext_from_open_pct":1.39,"max_ext_allowed_pct":3.0,"volume_pace":1.377,"trend":"flat","recent_slope_pct":0.0732,"volatility":"high"},"price":5.1,"volume":{"bars":187,"last_bar_volume":447.0,"baseline_avg":2908.4,"bar_rvol":0.153693,"raw_accel":-0.564752,"smooth_accel":3.139961,"accel_momentum":-1.56151,"rvol_3bar":[14.342447,0.357566,0.153693],"trend_3bar":"DECELERATING","projected_rvol":0.217027},"flow":{"window_s":30,"trades":9,"trade_rate":0.3,"buy_vol":1.0,"sell_vol":266.0,"unclassified_vol":0.0,"imbalance":-0.992509,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":0.375275},"context":{"vwap":5.070532,"price_vs_vwap_pct":0.581167,"ema9":5.081599,"ema20":5.068307,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.531095,"dist_to_hod_atr":7.052426,"atr":0.011244,"spread_atr":0.889335,"own_change_pct":0.736426,"rel_strength_pct":{"SPY":0.722148,"IWM":0.638506}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.152541},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"39b2410f2d06","ts":"2026-08-28T16:38:30+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 250.0s, plan says PASS; stop 5.02, target 5.62 (range_20d_high), R:R 6.31; target 0.52 away > ~0.05 reachable in 196 min","plan":{"state":"PASS","setup":"","stop":5.0226,"target":5.625,"target_label":"range_20d_high","reward_risk":6.31,"pos_in_5d_range_pct":45.5,"room_to_5d_high_atr":1.11},"price":5.105,"vwap":5.0705,"ext_from_open_pct":1.49,"max_ext_allowed_pct":3.0,"volume_pace":1.377,"trend":"flat","recent_slope_pct":0.0928,"volatility":"high"},"price":5.105,"volume":{"bars":187,"last_bar_volume":447.0,"baseline_avg":2908.4,"bar_rvol":0.153693,"raw_accel":-0.564752,"smooth_accel":3.139961,"accel_momentum":-1.56151,"rvol_3bar":[14.342447,0.357566,0.153693],"trend_3bar":"DECELERATING","projected_rvol":0.193921},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":20.0,"sell_vol":262.0,"unclassified_vol":0.0,"imbalance":-0.858156,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":3.851807},"context":{"vwap":5.070532,"price_vs_vwap_pct":0.679776,"ema9":5.081599,"ema20":5.068307,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.434557,"dist_to_hod_atr":6.607759,"atr":0.011244,"spread_atr":0.889335,"own_change_pct":0.736426,"rel_strength_pct":{"SPY":0.722148,"IWM":0.638506}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.131892},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"854d89632e40","ts":"2026-08-28T16:38:35+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 255.0s, plan says WATCH; stop 5.01, target 5.14 (ceiling), R:R 0.55; R:R 0.55 < 2.0 at 5.09; pullback: buy 5.06-5.08 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":5.0101,"target":5.1377,"target_label":"ceiling","reward_risk":0.55,"pos_in_5d_range_pct":43.7,"room_to_5d_high_atr":1.15},"price":5.0925,"vwap":5.0706,"ext_from_open_pct":1.24,"max_ext_allowed_pct":3.0,"volume_pace":1.379,"trend":"flat","recent_slope_pct":0.0438,"volatility":"high"},"price":5.0925,"volume":{"bars":187,"last_bar_volume":447.0,"baseline_avg":2908.4,"bar_rvol":0.153693,"raw_accel":-0.564752,"smooth_accel":3.139961,"accel_momentum":-1.56151,"rvol_3bar":[14.342447,0.357566,0.153693],"trend_3bar":"DECELERATING","projected_rvol":0.871761},"flow":{"window_s":30,"trades":26,"trade_rate":0.866667,"buy_vol":523.0,"sell_vol":937.0,"unclassified_vol":0.0,"imbalance":-0.283562,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.126776},"context":{"vwap":5.070532,"price_vs_vwap_pct":0.433253,"ema9":5.081599,"ema20":5.068307,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.675902,"dist_to_hod_atr":7.719427,"atr":0.011244,"spread_atr":0.889335,"own_change_pct":0.736426,"rel_strength_pct":{"SPY":0.722148,"IWM":0.638506}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.043581},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"b11df0d5b3aa","ts":"2026-08-28T16:39:05+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 285.0s, plan says PASS; stop 5.02, target 5.62 (range_20d_high), R:R 6.31; target 0.52 away > ~0.05 reachable in 196 min","plan":{"state":"PASS","setup":"","stop":5.0226,"target":5.625,"target_label":"range_20d_high","reward_risk":6.31,"pos_in_5d_range_pct":45.5,"room_to_5d_high_atr":1.11},"price":5.105,"vwap":5.0707,"ext_from_open_pct":1.49,"max_ext_allowed_pct":3.0,"volume_pace":1.379,"trend":"flat","recent_slope_pct":0.0326,"volatility":"high"},"price":5.105,"volume":{"bars":188,"last_bar_volume":1733.0,"baseline_avg":2925.15,"bar_rvol":0.592448,"raw_accel":1.369793,"smooth_accel":-0.89276,"accel_momentum":-4.032721,"rvol_3bar":[0.357566,0.153693,0.592448],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":1119.0,"sell_vol":642.0,"unclassified_vol":0.0,"imbalance":0.270869,"bid":5.1,"ask":5.11,"spread_pct":0.195886,"quote_size_imbalance":null,"quote_age_s":1.37365},"context":{"vwap":5.070603,"price_vs_vwap_pct":0.67836,"ema9":5.084279,"ema20":5.070849,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.434557,"dist_to_hod_atr":6.453788,"atr":0.011513,"spread_atr":0.868612,"own_change_pct":0.394089,"rel_strength_pct":{"SPY":0.352552,"IWM":0.231948}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.160476},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4eb27d99a6ee","ts":"2026-08-28T16:39:20+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 300.0s, plan says WATCH; stop 5.01, target 5.14 (ceiling), R:R 0.52; R:R 0.52 < 2.0 at 5.09; pullback: buy 5.06-5.08 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":5.0126,"target":5.1377,"target_label":"ceiling","reward_risk":0.52,"pos_in_5d_range_pct":44.0,"room_to_5d_high_atr":1.14},"price":5.095,"vwap":5.0707,"ext_from_open_pct":1.29,"max_ext_allowed_pct":3.0,"volume_pace":1.38,"trend":"flat","recent_slope_pct":-0.0067,"volatility":"high"},"price":5.095,"volume":{"bars":188,"last_bar_volume":1733.0,"baseline_avg":2925.15,"bar_rvol":0.592448,"raw_accel":1.369793,"smooth_accel":-0.89276,"accel_momentum":-4.032721,"rvol_3bar":[0.357566,0.153693,0.592448],"trend_3bar":"MIXED","projected_rvol":2.932157},"flow":{"window_s":30,"trades":25,"trade_rate":0.833333,"buy_vol":1103.0,"sell_vol":1756.0,"unclassified_vol":0.0,"imbalance":-0.228402,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.189908},"context":{"vwap":5.070603,"price_vs_vwap_pct":0.481145,"ema9":5.084279,"ema20":5.070849,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.627633,"dist_to_hod_atr":7.322401,"atr":0.011513,"spread_atr":0.868612,"own_change_pct":0.394089,"rel_strength_pct":{"SPY":0.352552,"IWM":0.231948}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.135316},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"bd6073a424fb","ts":"2026-08-28T16:40:20+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"WATCH","setup":"","stop":5.0076,"target":5.1377,"target_label":"ceiling","reward_risk":0.58,"pos_in_5d_range_pct":43.3,"room_to_5d_high_atr":1.15},"price":5.09,"vwap":5.0707,"ext_from_open_pct":1.19,"max_ext_allowed_pct":3.0,"volume_pace":1.373,"trend":"flat","recent_slope_pct":-0.0396,"volatility":"high"},"price":5.09,"volume":{"bars":189,"last_bar_volume":2971.0,"baseline_avg":2866.35,"bar_rvol":1.03651,"raw_accel":0.714368,"smooth_accel":-0.817889,"accel_momentum":0.074871,"rvol_3bar":[0.153693,0.592448,1.03651],"trend_3bar":"ACCELERATING","projected_rvol":0.104663},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":0.0,"sell_vol":100.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":4.034818},"context":{"vwap":5.070738,"price_vs_vwap_pct":0.379868,"ema9":5.087203,"ema20":5.073521,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.724171,"dist_to_hod_atr":7.820396,"atr":0.011419,"spread_atr":0.875744,"own_change_pct":0.273353,"rel_strength_pct":{"SPY":0.182401,"IWM":0.138195}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":0,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-1.03651},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ff85985f2be1","ts":"2026-08-28T16:41:05+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.0026,"target":5.1377,"target_label":"ceiling","reward_risk":0.64,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.17},"price":5.085,"vwap":5.0708,"ext_from_open_pct":1.09,"max_ext_allowed_pct":3.0,"volume_pace":1.37,"trend":"flat","recent_slope_pct":-0.0679,"volatility":"high"},"price":5.085,"volume":{"bars":190,"last_bar_volume":106.0,"baseline_avg":2729.25,"bar_rvol":0.038839,"raw_accel":-0.964322,"smooth_accel":-0.811572,"accel_momentum":0.006317,"rvol_3bar":[0.592448,1.03651,0.038839],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":15,"trade_rate":0.5,"buy_vol":126.0,"sell_vol":795.0,"unclassified_vol":0.0,"imbalance":-0.726384,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":0.593129},"context":{"vwap":5.070742,"price_vs_vwap_pct":0.281189,"ema9":5.088763,"ema20":5.075566,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.820709,"dist_to_hod_atr":8.39047,"atr":0.011239,"spread_atr":0.889764,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.041547,"IWM":-0.023632}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.028212},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"f88ea600481f","ts":"2026-08-28T16:41:10+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.3964,"target":13.62,"target_label":"premarket_high","reward_risk":0.83,"pos_in_5d_range_pct":22.8,"room_to_5d_high_atr":1.31},"price":13.5187,"vwap":13.4936,"ext_from_open_pct":0.14,"max_ext_allowed_pct":3.0,"volume_pace":0.697,"trend":"flat","recent_slope_pct":-0.0185,"volatility":"medium"},"price":13.5187,"volume":{"bars":191,"last_bar_volume":4065.0,"baseline_avg":4325.45,"bar_rvol":0.939787,"raw_accel":2.759146,"smooth_accel":-0.342504,"accel_momentum":0.11918,"rvol_3bar":[0.414024,0.106007,0.939787],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":254.0,"sell_vol":930.0,"unclassified_vol":0.0,"imbalance":-0.570946,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":1.094294},"context":{"vwap":13.49355,"price_vs_vwap_pct":0.186384,"ema9":13.52333,"ema20":13.517341,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.67083,"dist_to_hod_atr":5.177382,"atr":0.017634,"spread_atr":0.567074,"own_change_pct":0.055473,"rel_strength_pct":{"SPY":0.09702,"IWM":0.031841}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.536567},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5b1355acfdea","ts":"2026-08-28T16:42:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3955,"target":13.62,"target_label":"premarket_high","reward_risk":0.84,"pos_in_5d_range_pct":22.7,"room_to_5d_high_atr":1.31},"price":13.5178,"vwap":13.4936,"ext_from_open_pct":0.13,"max_ext_allowed_pct":4.0,"volume_pace":0.695,"trend":"flat","recent_slope_pct":-0.0228,"volatility":"medium"},"price":13.5178,"volume":{"bars":192,"last_bar_volume":4367.0,"baseline_avg":4347.85,"bar_rvol":1.004404,"raw_accel":0.074293,"smooth_accel":0.097236,"accel_momentum":0.43974,"rvol_3bar":[0.106007,0.939787,1.004404],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":41,"trade_rate":1.366667,"buy_vol":2373.0,"sell_vol":2128.0,"unclassified_vol":0.0,"imbalance":0.054432,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.794815},"context":{"vwap":13.493617,"price_vs_vwap_pct":0.179221,"ema9":13.524664,"ema20":13.518547,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.677443,"dist_to_hod_atr":5.178796,"atr":0.017803,"spread_atr":0.561692,"own_change_pct":0.0,"rel_strength_pct":{"SPY":0.068803,"IWM":0.010124}},"vas":{"raw":1,"score":5.0,"components":{"rvol":0,"accel":0,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.054672},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2946a6367c5b","ts":"2026-08-28T16:43:10+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.0026,"target":5.1377,"target_label":"ceiling","reward_risk":0.64,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.17},"price":5.085,"vwap":5.0708,"ext_from_open_pct":1.09,"max_ext_allowed_pct":4.0,"volume_pace":1.356,"trend":"flat","recent_slope_pct":-0.0743,"volatility":"high"},"price":5.085,"volume":{"bars":192,"last_bar_volume":253.0,"baseline_avg":2357.35,"bar_rvol":0.107324,"raw_accel":-0.781897,"smooth_accel":-0.705106,"accel_momentum":-1.026278,"rvol_3bar":[0.038839,0.480919,0.107324],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":48.0,"sell_vol":81.0,"unclassified_vol":0.0,"imbalance":-0.255814,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":0.225166},"context":{"vwap":5.070771,"price_vs_vwap_pct":0.280613,"ema9":5.086608,"ema20":5.076847,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.820709,"dist_to_hod_atr":8.272,"atr":0.0114,"spread_atr":0.8772,"own_change_pct":-0.339063,"rel_strength_pct":{"SPY":-0.24432,"IWM":-0.30533}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.027455},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"855be1ef1322","ts":"2026-08-28T16:43:50+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 40.0s, plan says WATCH; stop 5.01, target 5.14 (ceiling), R:R 0.58; R:R 0.58 < 2.0 at 5.09; pullback: buy 5.06-5.08 holding + reclaim/fading selling/support","plan":{"state":"WATCH","setup":"","stop":5.0076,"target":5.1377,"target_label":"ceiling","reward_risk":0.58,"pos_in_5d_range_pct":43.3,"room_to_5d_high_atr":1.15},"price":5.09,"vwap":5.0708,"ext_from_open_pct":1.19,"max_ext_allowed_pct":4.0,"volume_pace":1.352,"trend":"flat","recent_slope_pct":-0.0546,"volatility":"high"},"price":5.09,"volume":{"bars":192,"last_bar_volume":253.0,"baseline_avg":2357.35,"bar_rvol":0.107324,"raw_accel":-0.781897,"smooth_accel":-0.705106,"accel_momentum":-1.026278,"rvol_3bar":[0.038839,0.480919,0.107324],"trend_3bar":"MIXED","projected_rvol":0.112499},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":95.0,"sell_vol":2.0,"unclassified_vol":0.0,"imbalance":0.958763,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":1.045203},"context":{"vwap":5.070771,"price_vs_vwap_pct":0.379217,"ema9":5.086608,"ema20":5.076847,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.724171,"dist_to_hod_atr":7.8334,"atr":0.0114,"spread_atr":0.8772,"own_change_pct":-0.339063,"rel_strength_pct":{"SPY":-0.24432,"IWM":-0.30533}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.102898},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"15d65756fea0","ts":"2026-08-28T16:43:55+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.3927,"target":13.62,"target_label":"premarket_high","reward_risk":0.86,"pos_in_5d_range_pct":22.3,"room_to_5d_high_atr":1.32},"price":13.515,"vwap":13.4937,"ext_from_open_pct":0.11,"max_ext_allowed_pct":3.0,"volume_pace":0.689,"trend":"flat","recent_slope_pct":-0.0314,"volatility":"medium"},"price":13.515,"volume":{"bars":193,"last_bar_volume":357.0,"baseline_avg":4235.85,"bar_rvol":0.084281,"raw_accel":-0.918251,"smooth_accel":0.818539,"accel_momentum":0.721303,"rvol_3bar":[0.939787,1.004404,0.084281],"trend_3bar":"MIXED","projected_rvol":0.696393},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":71.0,"sell_vol":183.0,"unclassified_vol":0.0,"imbalance":-0.440945,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":0.531886},"context":{"vwap":13.493622,"price_vs_vwap_pct":0.158431,"ema9":13.524731,"ema20":13.519161,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.698016,"dist_to_hod_atr":5.458789,"atr":0.017403,"spread_atr":0.574609,"own_change_pct":-0.034,"rel_strength_pct":{"SPY":0.060743,"IWM":-0.000267}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.037163},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e84b05fe30e7","ts":"2026-08-28T16:44:05+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"held 55.0s, plan says PASS; stop 5.00, target 5.14 (ceiling), R:R 0.64; target 0.05 away > ~0.05 reachable in 191 min","plan":{"state":"PASS","setup":"","stop":5.0026,"target":5.1377,"target_label":"ceiling","reward_risk":0.64,"pos_in_5d_range_pct":42.5,"room_to_5d_high_atr":1.17},"price":5.085,"vwap":5.0708,"ext_from_open_pct":1.09,"max_ext_allowed_pct":4.0,"volume_pace":1.35,"trend":"flat","recent_slope_pct":-0.0197,"volatility":"high"},"price":5.085,"volume":{"bars":193,"last_bar_volume":221.0,"baseline_avg":2299.35,"bar_rvol":0.096114,"raw_accel":-0.615544,"smooth_accel":-0.660291,"accel_momentum":0.044815,"rvol_3bar":[0.480919,0.107324,0.096114],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":58.0,"sell_vol":2.0,"unclassified_vol":0.0,"imbalance":0.933333,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":16.045203},"context":{"vwap":5.070776,"price_vs_vwap_pct":0.280504,"ema9":5.087287,"ema20":5.078099,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.820709,"dist_to_hod_atr":8.350478,"atr":0.011293,"spread_atr":0.885523,"own_change_pct":-0.098135,"rel_strength_pct":{"SPY":0.006992,"IWM":-0.020569}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.089707},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"373e1255cc55","ts":"2026-08-28T16:44:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.3927,"target":13.62,"target_label":"premarket_high","reward_risk":0.86,"pos_in_5d_range_pct":22.3,"room_to_5d_high_atr":1.32},"price":13.515,"vwap":13.4937,"ext_from_open_pct":0.11,"max_ext_allowed_pct":3.0,"volume_pace":0.689,"trend":"flat","recent_slope_pct":-0.0296,"volatility":"medium"},"price":13.515,"volume":{"bars":194,"last_bar_volume":3717.0,"baseline_avg":3274.75,"bar_rvol":1.135048,"raw_accel":3.540194,"smooth_accel":0.33286,"accel_momentum":-0.48568,"rvol_3bar":[1.004404,0.084281,1.135048],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":19,"trade_rate":0.633333,"buy_vol":536.0,"sell_vol":1203.0,"unclassified_vol":0.0,"imbalance":-0.383554,"bid":13.51,"ask":13.52,"spread_pct":0.073992,"quote_size_imbalance":null,"quote_age_s":0.358273},"context":{"vwap":13.493664,"price_vs_vwap_pct":0.15812,"ema9":13.522785,"ema20":13.518765,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.698016,"dist_to_hod_atr":5.513167,"atr":0.017231,"spread_atr":0.580333,"own_change_pct":-0.116032,"rel_strength_pct":{"SPY":-0.010905,"IWM":-0.038466}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":0,"accel":2,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.435352},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"62f877775bd0","ts":"2026-08-28T16:50:05+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":4.9926,"target":5.1377,"target_label":"ceiling","reward_risk":0.76,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.2},"price":5.075,"vwap":5.0711,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":1.334,"trend":"flat","recent_slope_pct":-0.1278,"volatility":"high"},"price":5.075,"volume":{"bars":199,"last_bar_volume":4909.0,"baseline_avg":2366.85,"bar_rvol":2.074065,"raw_accel":5.105721,"smooth_accel":0.013546,"accel_momentum":-6.51238,"rvol_3bar":[0.052812,0.345072,2.074065],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":55,"trade_rate":1.833333,"buy_vol":1313.0,"sell_vol":3521.0,"unclassified_vol":0.0,"imbalance":-0.456765,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":0.817984},"context":{"vwap":5.071075,"price_vs_vwap_pct":0.077407,"ema9":5.087671,"ema20":5.082857,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.013786,"dist_to_hod_atr":9.408456,"atr":0.011086,"spread_atr":0.902057,"own_change_pct":-0.294695,"rel_strength_pct":{"SPY":-0.39214,"IWM":-0.387512}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":2,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.947359},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"dc94c428eeff","ts":"2026-08-28T16:51:05+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":4.9976,"target":5.1377,"target_label":"ceiling","reward_risk":0.7,"pos_in_5d_range_pct":41.8,"room_to_5d_high_atr":1.18},"price":5.08,"vwap":5.0711,"ext_from_open_pct":0.99,"max_ext_allowed_pct":4.0,"volume_pace":1.327,"trend":"flat","recent_slope_pct":-0.1082,"volatility":"high"},"price":5.08,"volume":{"bars":200,"last_bar_volume":124.0,"baseline_avg":2612.25,"bar_rvol":0.047469,"raw_accel":-0.97474,"smooth_accel":0.055897,"accel_momentum":0.042351,"rvol_3bar":[0.345072,2.074065,0.047469],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":1.0,"sell_vol":47.0,"unclassified_vol":0.0,"imbalance":-0.958333,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":4.472812},"context":{"vwap":5.071075,"price_vs_vwap_pct":0.175991,"ema9":5.085137,"ema20":5.082108,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.917248,"dist_to_hod_atr":9.646461,"atr":0.010294,"spread_atr":0.971446,"own_change_pct":-0.196657,"rel_strength_pct":{"SPY":-0.18108,"IWM":-0.20846}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.045491},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"55b596391466","ts":"2026-08-28T16:53:55+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9876,"target":5.1377,"target_label":"ceiling","reward_risk":0.82,"pos_in_5d_range_pct":40.3,"room_to_5d_high_atr":1.21},"price":5.07,"vwap":5.0711,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":1.31,"trend":"flat","recent_slope_pct":-0.0197,"volatility":"high"},"price":5.07,"volume":{"bars":202,"last_bar_volume":254.0,"baseline_avg":2501.35,"bar_rvol":0.101545,"raw_accel":-0.593819,"smooth_accel":-0.905757,"accel_momentum":-0.759596,"rvol_3bar":[0.047469,0.066339,0.101545],"trend_3bar":"ACCELERATING","projected_rvol":0.150028},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":101.0,"sell_vol":42.0,"unclassified_vol":0.0,"imbalance":0.412587,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":23.812144},"context":{"vwap":5.071078,"price_vs_vwap_pct":-0.021265,"ema9":5.081488,"ema20":5.080819,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.110324,"dist_to_hod_atr":11.870729,"atr":0.009208,"spread_atr":1.086069,"own_change_pct":-0.490196,"rel_strength_pct":{"SPY":-0.527839,"IWM":-0.540778}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.041896},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"61adc132d6d2","ts":"2026-08-28T16:54:00+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":4.9926,"target":5.1377,"target_label":"ceiling","reward_risk":0.76,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.2},"price":5.075,"vwap":5.0711,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":1.31,"trend":"flat","recent_slope_pct":0.0,"volatility":"high"},"price":5.075,"volume":{"bars":202,"last_bar_volume":254.0,"baseline_avg":2501.35,"bar_rvol":0.101545,"raw_accel":-0.593819,"smooth_accel":-0.905757,"accel_momentum":-0.759596,"rvol_3bar":[0.047469,0.066339,0.101545],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":6,"trade_rate":0.2,"buy_vol":301.0,"sell_vol":42.0,"unclassified_vol":0.0,"imbalance":0.755102,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":0.440388},"context":{"vwap":5.071078,"price_vs_vwap_pct":0.077333,"ema9":5.081488,"ema20":5.080819,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.013786,"dist_to_hod_atr":11.327695,"atr":0.009208,"spread_atr":1.086069,"own_change_pct":-0.490196,"rel_strength_pct":{"SPY":-0.454504,"IWM":-0.461541}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.076677},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"228aa879a135","ts":"2026-08-28T16:58:00+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4177,"target":13.62,"target_label":"premarket_high","reward_risk":0.65,"pos_in_5d_range_pct":25.3,"room_to_5d_high_atr":1.26},"price":13.54,"vwap":13.4956,"ext_from_open_pct":0.3,"max_ext_allowed_pct":4.0,"volume_pace":0.676,"trend":"flat","recent_slope_pct":-0.0016,"volatility":"medium"},"price":13.54,"volume":{"bars":207,"last_bar_volume":791.0,"baseline_avg":5927.1,"bar_rvol":0.133455,"raw_accel":-0.912306,"smooth_accel":-0.782466,"accel_momentum":-0.1159,"rvol_3bar":[0.418987,1.598469,0.133455],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":17,"trade_rate":0.566667,"buy_vol":535.0,"sell_vol":642.0,"unclassified_vol":0.0,"imbalance":-0.090909,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.245868},"context":{"vwap":13.49559,"price_vs_vwap_pct":0.329069,"ema9":13.537522,"ema20":13.530888,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.514328,"dist_to_hod_atr":4.70925,"atr":0.014864,"spread_atr":0.67275,"own_change_pct":0.036941,"rel_strength_pct":{"SPY":0.121281,"IWM":0.131313}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.012132},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c02198250c2a","ts":"2026-08-28T16:58:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.4178,"target":13.62,"target_label":"premarket_high","reward_risk":0.65,"pos_in_5d_range_pct":25.4,"room_to_5d_high_atr":1.26},"price":13.5401,"vwap":13.4956,"ext_from_open_pct":0.3,"max_ext_allowed_pct":4.0,"volume_pace":0.676,"trend":"flat","recent_slope_pct":-0.0068,"volatility":"medium"},"price":13.5401,"volume":{"bars":208,"last_bar_volume":1756.0,"baseline_avg":5780.1,"bar_rvol":0.303801,"raw_accel":0.215204,"smooth_accel":-0.797713,"accel_momentum":-0.015246,"rvol_3bar":[1.598469,0.133455,0.303801],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":18,"trade_rate":0.6,"buy_vol":636.0,"sell_vol":632.0,"unclassified_vol":0.0,"imbalance":0.003155,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":3.54271},"context":{"vwap":13.495628,"price_vs_vwap_pct":0.329529,"ema9":13.538018,"ema20":13.531755,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.513593,"dist_to_hod_atr":4.815075,"atr":0.014517,"spread_atr":0.688852,"own_change_pct":-0.036914,"rel_strength_pct":{"SPY":0.047426,"IWM":0.057457}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":0.000958},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"c1084c9edced","ts":"2026-08-28T17:00:05+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4027,"target":13.62,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":23.5,"room_to_5d_high_atr":1.3},"price":13.525,"vwap":13.496,"ext_from_open_pct":0.19,"max_ext_allowed_pct":4.0,"volume_pace":0.677,"trend":"flat","recent_slope_pct":-0.0333,"volatility":"medium"},"price":13.525,"volume":{"bars":210,"last_bar_volume":11727.0,"baseline_avg":6187.15,"bar_rvol":1.89538,"raw_accel":0.090073,"smooth_accel":0.99252,"accel_momentum":1.240017,"rvol_3bar":[0.303801,1.87433,1.89538],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":27,"trade_rate":0.9,"buy_vol":7520.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":3.403287},"context":{"vwap":13.496013,"price_vs_vwap_pct":0.214785,"ema9":13.534131,"ema20":13.530961,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.624541,"dist_to_hod_atr":5.724776,"atr":0.014848,"spread_atr":0.673503,"own_change_pct":-0.12701,"rel_strength_pct":{"SPY":-0.09454,"IWM":-0.096652}},"vas":{"raw":7,"score":8.8,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.89538},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ecf0773a2fe2","ts":"2026-08-28T17:01:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.4029,"target":13.62,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":23.6,"room_to_5d_high_atr":1.29},"price":13.5252,"vwap":13.496,"ext_from_open_pct":0.19,"max_ext_allowed_pct":4.0,"volume_pace":0.674,"trend":"flat","recent_slope_pct":-0.0292,"volatility":"medium"},"price":13.5252,"volume":{"bars":211,"last_bar_volume":1579.0,"baseline_avg":6750.5,"bar_rvol":0.233909,"raw_accel":-0.865353,"smooth_accel":1.080401,"accel_momentum":0.087881,"rvol_3bar":[1.87433,1.89538,0.233909],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":337.0,"sell_vol":7.0,"unclassified_vol":0.0,"imbalance":0.959302,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":1.280766},"context":{"vwap":13.496035,"price_vs_vwap_pct":0.216101,"ema9":13.531325,"ema20":13.529926,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.623071,"dist_to_hod_atr":5.677106,"atr":0.014937,"spread_atr":0.66947,"own_change_pct":-0.183832,"rel_strength_pct":{"SPY":-0.040975,"IWM":-0.05903}},"vas":{"raw":3,"score":6.2,"components":{"rvol":-2,"accel":3,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.224389},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"fb788e48ef5d","ts":"2026-08-28T17:10:10+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4234,"target":13.62,"target_label":"premarket_high","reward_risk":0.61,"pos_in_5d_range_pct":26.0,"room_to_5d_high_atr":1.25},"price":13.5457,"vwap":13.4965,"ext_from_open_pct":0.34,"max_ext_allowed_pct":3.0,"volume_pace":0.653,"trend":"flat","recent_slope_pct":-0.007,"volatility":"medium"},"price":13.5457,"volume":{"bars":220,"last_bar_volume":824.0,"baseline_avg":6183.15,"bar_rvol":0.133265,"raw_accel":-0.645286,"smooth_accel":-0.248194,"accel_momentum":-5.269163,"rvol_3bar":[0.589909,0.380586,0.133265],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":21,"trade_rate":0.7,"buy_vol":187.0,"sell_vol":264.0,"unclassified_vol":0.0,"imbalance":-0.170732,"bid":13.54,"ask":13.55,"spread_pct":0.073828,"quote_size_imbalance":null,"quote_age_s":0.64558},"context":{"vwap":13.496508,"price_vs_vwap_pct":0.364477,"ema9":13.54047,"ema20":13.536055,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.472447,"dist_to_hod_atr":4.75113,"atr":0.013534,"spread_atr":0.7389,"own_change_pct":0.069446,"rel_strength_pct":{"SPY":0.135117,"IWM":0.123486}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":-1,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.022753},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"7a3801581b11","ts":"2026-08-28T17:10:30+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9876,"target":5.625,"target_label":"range_20d_high","reward_risk":6.73,"pos_in_5d_range_pct":40.3,"room_to_5d_high_atr":1.21},"price":5.07,"vwap":5.0713,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":1.239,"trend":"flat","recent_slope_pct":-0.0492,"volatility":"high"},"price":5.07,"volume":{"bars":219,"last_bar_volume":489.0,"baseline_avg":778.7,"bar_rvol":0.62797,"raw_accel":0.542587,"smooth_accel":0.113176,"accel_momentum":0.597892,"rvol_3bar":[0.653395,0.394745,0.62797],"trend_3bar":"MIXED","projected_rvol":10.787209},"flow":{"window_s":30,"trades":61,"trade_rate":2.033333,"buy_vol":1096.0,"sell_vol":3104.0,"unclassified_vol":0.0,"imbalance":-0.478095,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":4.107491},"context":{"vwap":5.071261,"price_vs_vwap_pct":-0.024872,"ema9":5.082898,"ema20":5.082734,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.110324,"dist_to_hod_atr":15.71158,"atr":0.006957,"spread_atr":1.437473,"own_change_pct":-0.098328,"rel_strength_pct":{"SPY":-0.032658,"IWM":-0.044289}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.300229},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"a184501af853","ts":"2026-08-28T17:10:35+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":4.9993,"target":5.625,"target_label":"range_20d_high","reward_risk":6.59,"pos_in_5d_range_pct":42.0,"room_to_5d_high_atr":1.18},"price":5.0817,"vwap":5.0713,"ext_from_open_pct":1.03,"max_ext_allowed_pct":3.0,"volume_pace":1.238,"trend":"flat","recent_slope_pct":-0.0031,"volatility":"high"},"price":5.0817,"volume":{"bars":219,"last_bar_volume":489.0,"baseline_avg":778.7,"bar_rvol":0.62797,"raw_accel":0.542587,"smooth_accel":0.113176,"accel_momentum":0.597892,"rvol_3bar":[0.653395,0.394745,0.62797],"trend_3bar":"MIXED","projected_rvol":9.285806},"flow":{"window_s":30,"trades":59,"trade_rate":1.966667,"buy_vol":1114.0,"sell_vol":3078.0,"unclassified_vol":0.0,"imbalance":-0.468511,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":9.107491},"context":{"vwap":5.071261,"price_vs_vwap_pct":0.20584,"ema9":5.082898,"ema20":5.082734,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.884425,"dist_to_hod_atr":14.029736,"atr":0.006957,"spread_atr":1.437473,"own_change_pct":-0.098328,"rel_strength_pct":{"SPY":-0.032658,"IWM":-0.044289}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.294211},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c6e1585eeea6","ts":"2026-08-28T17:11:05+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":4.9926,"target":5.625,"target_label":"range_20d_high","reward_risk":6.67,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.2},"price":5.075,"vwap":5.0713,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":1.236,"trend":"flat","recent_slope_pct":-0.0591,"volatility":"high"},"price":5.075,"volume":{"bars":220,"last_bar_volume":4595.0,"baseline_avg":557.7,"bar_rvol":8.239197,"raw_accel":8.396728,"smooth_accel":2.971324,"accel_momentum":2.858148,"rvol_3bar":[0.394745,0.62797,8.239197],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":0.0,"sell_vol":546.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":23.808929},"context":{"vwap":5.071291,"price_vs_vwap_pct":0.073138,"ema9":5.081318,"ema20":5.081997,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.013786,"dist_to_hod_atr":14.296557,"atr":0.007295,"spread_atr":1.370715,"own_change_pct":-0.196657,"rel_strength_pct":{"SPY":-0.156338,"IWM":-0.159505}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-8.239197},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"35fbb69734ae","ts":"2026-08-28T17:11:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.4216,"target":13.62,"target_label":"premarket_high","reward_risk":0.62,"pos_in_5d_range_pct":25.8,"room_to_5d_high_atr":1.26},"price":13.5439,"vwap":13.4965,"ext_from_open_pct":0.33,"max_ext_allowed_pct":3.0,"volume_pace":0.651,"trend":"flat","recent_slope_pct":-0.0035,"volatility":"medium"},"price":13.5439,"volume":{"bars":221,"last_bar_volume":917.0,"baseline_avg":6002.3,"bar_rvol":0.152775,"raw_accel":-0.388901,"smooth_accel":-0.653774,"accel_momentum":-0.40558,"rvol_3bar":[0.380586,0.133265,0.152775],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":15,"trade_rate":0.5,"buy_vol":623.0,"sell_vol":112.0,"unclassified_vol":0.0,"imbalance":0.695238,"bid":13.54,"ask":13.55,"spread_pct":0.073828,"quote_size_imbalance":null,"quote_age_s":4.997595},"context":{"vwap":13.496529,"price_vs_vwap_pct":0.35099,"ema9":13.541096,"ema20":13.536773,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.485672,"dist_to_hod_atr":5.094774,"atr":0.012974,"spread_atr":0.770768,"own_change_pct":0.066496,"rel_strength_pct":{"SPY":0.106815,"IWM":0.103648}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.106215},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0a7505dc0b66","ts":"2026-08-28T17:12:15+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":4.9926,"target":5.625,"target_label":"range_20d_high","reward_risk":6.67,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.2},"price":5.075,"vwap":5.0713,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":1.23,"trend":"flat","recent_slope_pct":-0.0492,"volatility":"high"},"price":5.075,"volume":{"bars":221,"last_bar_volume":353.0,"baseline_avg":781.25,"bar_rvol":0.45184,"raw_accel":-0.923177,"smooth_accel":4.759534,"accel_momentum":1.78821,"rvol_3bar":[0.62797,8.239197,0.45184],"trend_3bar":"MIXED","projected_rvol":0.40448},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":79.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":16.774789},"context":{"vwap":5.071292,"price_vs_vwap_pct":0.073117,"ema9":5.080055,"ema20":5.081331,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.013786,"dist_to_hod_atr":14.625251,"atr":0.007132,"spread_atr":1.402229,"own_change_pct":-0.098425,"rel_strength_pct":{"SPY":-0.127049,"IWM":-0.147427}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.45184},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"0a666cc54d2a","ts":"2026-08-28T17:13:45+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.9656,"target":8.53,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":0.93},"price":8.3,"vwap":8.2588,"ext_from_open_pct":0.67,"max_ext_allowed_pct":4.0,"volume_pace":0.401,"trend":"flat","recent_slope_pct":0.0543,"volatility":"high"},"price":8.3,"volume":{"bars":193,"last_bar_volume":95704.0,"baseline_avg":19303.4,"bar_rvol":4.957883,"raw_accel":0.642367,"smooth_accel":-0.075754,"accel_momentum":-1.175305,"rvol_3bar":[2.48476,3.545647,4.957883],"trend_3bar":"ACCELERATING","projected_rvol":10.074771},"flow":{"window_s":30,"trades":30,"trade_rate":1.0,"buy_vol":145855.0,"sell_vol":1.0,"unclassified_vol":0.0,"imbalance":0.999986,"bid":8.29,"ask":8.3,"spread_pct":0.120555,"quote_size_imbalance":null,"quote_age_s":0.796595},"context":{"vwap":8.254479,"price_vs_vwap_pct":0.551469,"ema9":8.276986,"ema20":8.269041,"ema_stack":true,"ema_warm":true,"hod":8.29,"dist_to_hod_pct":0.120627,"dist_to_hod_atr":-0.830906,"atr":0.012035,"spread_atr":0.830906,"own_change_pct":-0.060314,"rel_strength_pct":{"SPY":-0.103245,"IWM":-0.104237}},"vas":{"raw":4,"score":6.9,"components":{"rvol":3,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":4.957815},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"058f87122f9c","ts":"2026-08-28T17:14:50+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"volume pace 0.40x normal below floor 0.4x","plan":{"state":"PASS","setup":"","stop":7.9556,"target":8.53,"target_label":"premarket_high","reward_risk":0.72,"pos_in_5d_range_pct":47.9,"room_to_5d_high_atr":0.94},"price":8.29,"vwap":8.2589,"ext_from_open_pct":0.55,"max_ext_allowed_pct":3.0,"volume_pace":0.4,"trend":"flat","recent_slope_pct":0.0844,"volatility":"high"},"price":8.29,"volume":{"bars":194,"last_bar_volume":146162.0,"baseline_avg":24087.1,"bar_rvol":6.068061,"raw_accel":0.52723,"smooth_accel":0.351066,"accel_momentum":0.42682,"rvol_3bar":[3.545647,4.957883,6.068061],"trend_3bar":"ACCELERATING","projected_rvol":0.067854},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":0.0,"sell_vol":361.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":8.29,"ask":8.3,"spread_pct":0.120555,"quote_size_imbalance":null,"quote_age_s":5.363414},"context":{"vwap":8.258845,"price_vs_vwap_pct":0.377228,"ema9":8.281569,"ema20":8.27198,"ema_stack":true,"ema_warm":true,"hod":8.3,"dist_to_hod_pct":-0.120482,"dist_to_hod_atr":0.816537,"atr":0.012247,"spread_atr":0.816537,"own_change_pct":0.119421,"rel_strength_pct":{"SPY":0.07521,"IWM":0.080579}},"vas":{"raw":4,"score":6.9,"components":{"rvol":3,"accel":2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-6.068061},"shadow":{"decision":"FAIL","failed":["imbalance"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"7dd906c3fde7","ts":"2026-08-28T17:15:15+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.9656,"target":8.53,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":48.3,"room_to_5d_high_atr":0.93},"price":8.3,"vwap":8.259,"ext_from_open_pct":0.67,"max_ext_allowed_pct":4.0,"volume_pace":0.401,"trend":"flat","recent_slope_pct":0.0301,"volatility":"high"},"price":8.3,"volume":{"bars":195,"last_bar_volume":1362.0,"baseline_avg":31375.2,"bar_rvol":0.04341,"raw_accel":-0.990682,"smooth_accel":0.088517,"accel_momentum":-0.262549,"rvol_3bar":[4.957883,6.068061,0.04341],"trend_3bar":"MIXED","projected_rvol":0.630689},"flow":{"window_s":30,"trades":8,"trade_rate":0.266667,"buy_vol":4896.0,"sell_vol":51.0,"unclassified_vol":0.0,"imbalance":0.979381,"bid":8.29,"ask":8.3,"spread_pct":0.120555,"quote_size_imbalance":null,"quote_age_s":0.736676},"context":{"vwap":8.258879,"price_vs_vwap_pct":0.497906,"ema9":8.283255,"ema20":8.273696,"ema_stack":true,"ema_warm":true,"hod":8.3,"dist_to_hod_pct":0.0,"dist_to_hod_atr":0.0,"atr":0.012086,"spread_atr":0.82738,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.111908,"IWM":-0.135172}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.042515},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d48b04a01b30","ts":"2026-08-28T17:19:35+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.26 below VWAP $8.26","plan":{"state":"PASS","setup":"","stop":7.9256,"target":8.53,"target_label":"premarket_high","reward_risk":0.81,"pos_in_5d_range_pct":46.7,"room_to_5d_high_atr":0.96},"price":8.26,"vwap":8.2605,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":0.412,"trend":"flat","recent_slope_pct":-0.0905,"volatility":"high"},"price":8.26,"volume":{"bars":199,"last_bar_volume":15271.0,"baseline_avg":33279.25,"bar_rvol":0.458875,"raw_accel":0.077623,"smooth_accel":-0.814258,"accel_momentum":0.010133,"rvol_3bar":[0.084047,0.433952,0.458875],"trend_3bar":"ACCELERATING","projected_rvol":0.808998},"flow":{"window_s":30,"trades":46,"trade_rate":1.533333,"buy_vol":940.0,"sell_vol":14365.0,"unclassified_vol":0.0,"imbalance":-0.877164,"bid":8.26,"ask":8.3,"spread_pct":0.483092,"quote_size_imbalance":null,"quote_age_s":0.79055},"context":{"vwap":8.260369,"price_vs_vwap_pct":-0.004462,"ema9":8.292501,"ema20":8.281984,"ema_stack":false,"ema_warm":true,"hod":8.3,"dist_to_hod_pct":-0.481928,"dist_to_hod_atr":3.55771,"atr":0.011243,"spread_atr":3.55771,"own_change_pct":0.001205,"rel_strength_pct":{"SPY":0.012893,"IWM":-0.0123}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.402508},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c3a6017c96c0","ts":"2026-08-28T17:19:50+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":7.9356,"target":8.53,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":47.1,"room_to_5d_high_atr":0.96},"price":8.27,"vwap":8.2611,"ext_from_open_pct":0.3,"max_ext_allowed_pct":3.0,"volume_pace":0.431,"trend":"flat","recent_slope_pct":-0.0663,"volatility":"high"},"price":8.27,"volume":{"bars":199,"last_bar_volume":15271.0,"baseline_avg":33279.25,"bar_rvol":0.458875,"raw_accel":0.077623,"smooth_accel":-0.814258,"accel_momentum":0.010133,"rvol_3bar":[0.084047,0.433952,0.458875],"trend_3bar":"ACCELERATING","projected_rvol":3.031691},"flow":{"window_s":30,"trades":250,"trade_rate":8.333333,"buy_vol":51065.0,"sell_vol":30102.0,"unclassified_vol":0.0,"imbalance":0.25827,"bid":8.27,"ask":8.28,"spread_pct":0.120846,"quote_size_imbalance":null,"quote_age_s":1.299177},"context":{"vwap":8.260369,"price_vs_vwap_pct":0.116598,"ema9":8.292501,"ema20":8.281984,"ema_stack":false,"ema_warm":true,"hod":8.3,"dist_to_hod_pct":-0.361446,"dist_to_hod_atr":2.668283,"atr":0.011243,"spread_atr":0.889428,"own_change_pct":0.001205,"rel_strength_pct":{"SPY":0.012893,"IWM":-0.0123}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":1},"missing":[],"volume_pressure":0.118514},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"5f75f6efb3ce","ts":"2026-08-28T17:22:25+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":4.9976,"target":5.625,"target_label":"range_20d_high","reward_risk":6.61,"pos_in_5d_range_pct":41.8,"room_to_5d_high_atr":1.18},"price":5.08,"vwap":5.0715,"ext_from_open_pct":0.99,"max_ext_allowed_pct":3.0,"volume_pace":1.2,"trend":"flat","recent_slope_pct":-0.0256,"volatility":"high"},"price":5.08,"volume":{"bars":231,"last_bar_volume":110.0,"baseline_avg":1106.6,"bar_rvol":0.099404,"raw_accel":-0.97867,"smooth_accel":9.804511,"accel_momentum":3.723058,"rvol_3bar":[0.529969,5.766521,0.099404],"trend_3bar":"MIXED","projected_rvol":0.088921},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":40.0,"sell_vol":13.0,"unclassified_vol":0.0,"imbalance":0.509434,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":10.394169},"context":{"vwap":5.071532,"price_vs_vwap_pct":0.166978,"ema9":5.084023,"ema20":5.082959,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.917248,"dist_to_hod_atr":15.761766,"atr":0.0063,"spread_atr":1.587288,"own_change_pct":-0.058997,"rel_strength_pct":{"SPY":-0.031692,"IWM":-0.092765}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.05064},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3f0f5fd6bec2","ts":"2026-08-28T17:24:25+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4077,"target":13.62,"target_label":"premarket_high","reward_risk":0.74,"pos_in_5d_range_pct":24.1,"room_to_5d_high_atr":1.28},"price":13.53,"vwap":13.4972,"ext_from_open_pct":0.22,"max_ext_allowed_pct":4.0,"volume_pace":0.623,"trend":"flat","recent_slope_pct":-0.0168,"volatility":"medium"},"price":13.53,"volume":{"bars":234,"last_bar_volume":10463.0,"baseline_avg":1910.05,"bar_rvol":5.477867,"raw_accel":20.911468,"smooth_accel":-0.004275,"accel_momentum":0.699335,"rvol_3bar":[0.219571,0.217366,5.477867],"trend_3bar":"MIXED","projected_rvol":1.15976},"flow":{"window_s":30,"trades":16,"trade_rate":0.533333,"buy_vol":161.0,"sell_vol":762.0,"unclassified_vol":0.0,"imbalance":-0.651138,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":4.502295},"context":{"vwap":13.49719,"price_vs_vwap_pct":0.243087,"ema9":13.54181,"ema20":13.540601,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.587803,"dist_to_hod_atr":8.454088,"atr":0.009463,"spread_atr":1.056761,"own_change_pct":0.038419,"rel_strength_pct":{"SPY":0.095631,"IWM":0.029979}},"vas":{"raw":2,"score":5.6,"components":{"rvol":3,"accel":0,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-3.566845},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"883d7e511d7d","ts":"2026-08-28T17:25:05+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":4.9926,"target":5.625,"target_label":"range_20d_high","reward_risk":6.67,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.2},"price":5.075,"vwap":5.0715,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":1.191,"trend":"flat","recent_slope_pct":-0.0473,"volatility":"high"},"price":5.075,"volume":{"bars":234,"last_bar_volume":191.0,"baseline_avg":1167.05,"bar_rvol":0.163661,"raw_accel":-0.91108,"smooth_accel":-0.562283,"accel_momentum":0.00682,"rvol_3bar":[0.160938,1.956641,0.163661],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":14,"trade_rate":0.466667,"buy_vol":150.0,"sell_vol":28.0,"unclassified_vol":0.0,"imbalance":0.685393,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":2.158502},"context":{"vwap":5.071545,"price_vs_vwap_pct":0.068121,"ema9":5.07926,"ema20":5.080809,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.013786,"dist_to_hod_atr":16.367126,"atr":0.006373,"spread_atr":1.569235,"own_change_pct":-0.294985,"rel_strength_pct":{"SPY":-0.274833,"IWM":-0.294985}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.112172},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"391499475334","ts":"2026-08-28T17:25:20+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9876,"target":5.625,"target_label":"range_20d_high","reward_risk":6.73,"pos_in_5d_range_pct":40.3,"room_to_5d_high_atr":1.21},"price":5.07,"vwap":5.0715,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":1.191,"trend":"flat","recent_slope_pct":-0.067,"volatility":"high"},"price":5.07,"volume":{"bars":234,"last_bar_volume":191.0,"baseline_avg":1167.05,"bar_rvol":0.163661,"raw_accel":-0.91108,"smooth_accel":-0.562283,"accel_momentum":0.00682,"rvol_3bar":[0.160938,1.956641,0.163661],"trend_3bar":"MIXED","projected_rvol":1.182469},"flow":{"window_s":30,"trades":21,"trade_rate":0.7,"buy_vol":383.0,"sell_vol":104.0,"unclassified_vol":0.0,"imbalance":0.572895,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":1.347028},"context":{"vwap":5.071545,"price_vs_vwap_pct":-0.030468,"ema9":5.07926,"ema20":5.080809,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.110324,"dist_to_hod_atr":17.151744,"atr":0.006373,"spread_atr":1.569235,"own_change_pct":-0.294985,"rel_strength_pct":{"SPY":-0.274833,"IWM":-0.294985}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.09376},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"111e28592b8a","ts":"2026-08-28T17:25:50+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":4.9926,"target":5.625,"target_label":"range_20d_high","reward_risk":6.67,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.2},"price":5.075,"vwap":5.0715,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":1.188,"trend":"flat","recent_slope_pct":-0.0473,"volatility":"high"},"price":5.075,"volume":{"bars":234,"last_bar_volume":191.0,"baseline_avg":1167.05,"bar_rvol":0.163661,"raw_accel":-0.91108,"smooth_accel":-0.562283,"accel_momentum":0.00682,"rvol_3bar":[0.160938,1.956641,0.163661],"trend_3bar":"MIXED","projected_rvol":0.555246},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":80.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":0.372439},"context":{"vwap":5.071545,"price_vs_vwap_pct":0.068121,"ema9":5.07926,"ema20":5.080809,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.013786,"dist_to_hod_atr":16.367126,"atr":0.006373,"spread_atr":1.569235,"own_change_pct":-0.294985,"rel_strength_pct":{"SPY":-0.274833,"IWM":-0.294985}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.163661},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8d05483550fd","ts":"2026-08-28T17:26:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.4163,"target":13.62,"target_label":"premarket_high","reward_risk":0.67,"pos_in_5d_range_pct":25.2,"room_to_5d_high_atr":1.27},"price":13.5386,"vwap":13.4973,"ext_from_open_pct":0.29,"max_ext_allowed_pct":4.0,"volume_pace":0.62,"trend":"flat","recent_slope_pct":-0.0106,"volatility":"medium"},"price":13.5386,"volume":{"bars":236,"last_bar_volume":2438.0,"baseline_avg":2457.75,"bar_rvol":0.991964,"raw_accel":0.628591,"smooth_accel":3.255986,"accel_momentum":1.877613,"rvol_3bar":[5.477867,0.619953,0.991964],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":161.0,"sell_vol":4.0,"unclassified_vol":0.0,"imbalance":0.951515,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":2.946757},"context":{"vwap":13.497264,"price_vs_vwap_pct":0.306258,"ema9":13.540615,"ema20":13.540229,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.524614,"dist_to_hod_atr":7.726905,"atr":0.00924,"spread_atr":1.0822,"own_change_pct":-0.011818,"rel_strength_pct":{"SPY":-0.006615,"IWM":-0.005067}},"vas":{"raw":5,"score":7.5,"components":{"rvol":-1,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.943869},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ac9d7c93ca5c","ts":"2026-08-28T17:27:30+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9876,"target":5.625,"target_label":"range_20d_high","reward_risk":6.73,"pos_in_5d_range_pct":40.3,"room_to_5d_high_atr":1.21},"price":5.07,"vwap":5.0716,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":1.19,"trend":"flat","recent_slope_pct":-0.0099,"volatility":"high"},"price":5.07,"volume":{"bars":236,"last_bar_volume":5853.0,"baseline_avg":1150.15,"bar_rvol":5.088901,"raw_accel":9.838889,"smooth_accel":1.703901,"accel_momentum":2.175062,"rvol_3bar":[0.163661,0.465598,5.088901],"trend_3bar":"ACCELERATING","projected_rvol":0.003478},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":0.0,"sell_vol":2.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":2.606902},"context":{"vwap":5.071607,"price_vs_vwap_pct":-0.031686,"ema9":5.077726,"ema20":5.079755,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.110324,"dist_to_hod_atr":15.061473,"atr":0.007257,"spread_atr":1.377994,"own_change_pct":-0.137741,"rel_strength_pct":{"SPY":-0.13644,"IWM":-0.144492}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-5.088901},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"454c7dcf87b7","ts":"2026-08-28T17:28:50+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":4.9926,"target":5.625,"target_label":"range_20d_high","reward_risk":6.67,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.2},"price":5.075,"vwap":5.0716,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":1.183,"trend":"flat","recent_slope_pct":0.0099,"volatility":"high"},"price":5.075,"volume":{"bars":237,"last_bar_volume":2.0,"baseline_avg":1437.05,"bar_rvol":0.001392,"raw_accel":-0.999658,"smooth_accel":1.541733,"accel_momentum":-0.162169,"rvol_3bar":[0.465598,5.088901,0.001392],"trend_3bar":"MIXED","projected_rvol":0.000835},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":1.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":2.997273},"context":{"vwap":5.071607,"price_vs_vwap_pct":0.066902,"ema9":5.076181,"ema20":5.078826,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.013786,"dist_to_hod_atr":14.699007,"atr":0.007096,"spread_atr":1.409301,"own_change_pct":-0.19685,"rel_strength_pct":{"SPY":-0.242387,"IWM":-0.213731}},"vas":{"raw":2,"score":5.6,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.001392},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8ac28f340e18","ts":"2026-08-28T17:29:10+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9876,"target":5.625,"target_label":"range_20d_high","reward_risk":6.73,"pos_in_5d_range_pct":40.3,"room_to_5d_high_atr":1.21},"price":5.07,"vwap":5.0716,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":1.182,"trend":"flat","recent_slope_pct":-0.0197,"volatility":"high"},"price":5.07,"volume":{"bars":238,"last_bar_volume":1.0,"baseline_avg":1411.55,"bar_rvol":0.000708,"raw_accel":-0.997166,"smooth_accel":1.03404,"accel_momentum":-0.507693,"rvol_3bar":[5.088901,0.001392,0.000708],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":1.0,"sell_vol":100.0,"unclassified_vol":0.0,"imbalance":-0.980198,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":2.762255},"context":{"vwap":5.071607,"price_vs_vwap_pct":-0.031686,"ema9":5.075945,"ema20":5.078461,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.110324,"dist_to_hod_atr":15.735623,"atr":0.006946,"spread_atr":1.439673,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.072857,"IWM":-0.03038}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.000694},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"5eb64dc86b2e","ts":"2026-08-28T17:31:10+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":4.9926,"target":5.625,"target_label":"range_20d_high","reward_risk":6.67,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.2},"price":5.075,"vwap":5.0716,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":1.174,"trend":"flat","recent_slope_pct":0.0099,"volatility":"high"},"price":5.075,"volume":{"bars":240,"last_bar_volume":523.0,"baseline_avg":1385.05,"bar_rvol":0.377604,"raw_accel":0.510415,"smooth_accel":-0.875059,"accel_momentum":0.082718,"rvol_3bar":[0.000708,0.197027,0.377604],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":157.0,"sell_vol":40.0,"unclassified_vol":0.0,"imbalance":0.593909,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":15.286717},"context":{"vwap":5.071607,"price_vs_vwap_pct":0.066908,"ema9":5.073805,"ema20":5.076927,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.013786,"dist_to_hod_atr":15.556764,"atr":0.006704,"spread_atr":1.49154,"own_change_pct":-0.098522,"rel_strength_pct":{"SPY":-0.098522,"IWM":-0.112025}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.224262},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"77163980b59c","ts":"2026-08-28T17:31:20+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9876,"target":5.625,"target_label":"range_20d_high","reward_risk":6.73,"pos_in_5d_range_pct":40.3,"room_to_5d_high_atr":1.21},"price":5.07,"vwap":5.0716,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":1.173,"trend":"flat","recent_slope_pct":-0.0099,"volatility":"high"},"price":5.07,"volume":{"bars":240,"last_bar_volume":523.0,"baseline_avg":1385.05,"bar_rvol":0.377604,"raw_accel":0.510415,"smooth_accel":-0.875059,"accel_momentum":0.082718,"rvol_3bar":[0.000708,0.197027,0.377604],"trend_3bar":"ACCELERATING","projected_rvol":0.483015},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":157.0,"sell_vol":66.0,"unclassified_vol":0.0,"imbalance":0.408072,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":25.286717},"context":{"vwap":5.071607,"price_vs_vwap_pct":-0.03168,"ema9":5.073805,"ema20":5.076927,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.110324,"dist_to_hod_atr":16.302534,"atr":0.006704,"spread_atr":1.49154,"own_change_pct":-0.098522,"rel_strength_pct":{"SPY":-0.098522,"IWM":-0.112025}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.154089},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"8c24c2429dee","ts":"2026-08-28T17:31:45+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":4.9926,"target":5.625,"target_label":"range_20d_high","reward_risk":6.67,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.2},"price":5.075,"vwap":5.0716,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":1.171,"trend":"flat","recent_slope_pct":0.0099,"volatility":"high"},"price":5.075,"volume":{"bars":240,"last_bar_volume":523.0,"baseline_avg":1385.05,"bar_rvol":0.377604,"raw_accel":0.510415,"smooth_accel":-0.875059,"accel_momentum":0.082718,"rvol_3bar":[0.000708,0.197027,0.377604],"trend_3bar":"ACCELERATING","projected_rvol":0.255105},"flow":{"window_s":30,"trades":3,"trade_rate":0.1,"buy_vol":2.0,"sell_vol":66.0,"unclassified_vol":0.0,"imbalance":-0.941176,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":50.286717},"context":{"vwap":5.071607,"price_vs_vwap_pct":0.066908,"ema9":5.073805,"ema20":5.076927,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.013786,"dist_to_hod_atr":15.556764,"atr":0.006704,"spread_atr":1.49154,"own_change_pct":-0.098522,"rel_strength_pct":{"SPY":-0.098522,"IWM":-0.112025}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.355392},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ba0972428746","ts":"2026-08-28T17:32:05+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9876,"target":5.625,"target_label":"range_20d_high","reward_risk":6.73,"pos_in_5d_range_pct":40.3,"room_to_5d_high_atr":1.21},"price":5.07,"vwap":5.0716,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":1.169,"trend":"flat","recent_slope_pct":-0.0099,"volatility":"high"},"price":5.07,"volume":{"bars":241,"last_bar_volume":274.0,"baseline_avg":1181.45,"bar_rvol":0.231918,"raw_accel":-0.476099,"smooth_accel":-0.81694,"accel_momentum":0.058119,"rvol_3bar":[0.197027,0.377604,0.231918],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":11.0,"sell_vol":43.0,"unclassified_vol":0.0,"imbalance":-0.592593,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":4.144469},"context":{"vwap":5.071607,"price_vs_vwap_pct":-0.031694,"ema9":5.074044,"ema20":5.076743,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.110324,"dist_to_hod_atr":16.604052,"atr":0.006583,"spread_atr":1.519126,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.026012,"IWM":0.010126}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.137433},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"d3b9ed76be27","ts":"2026-08-28T17:33:10+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":4.9926,"target":5.625,"target_label":"range_20d_high","reward_risk":6.67,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.2},"price":5.075,"vwap":5.0716,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":1.164,"trend":"flat","recent_slope_pct":0.0197,"volatility":"high"},"price":5.075,"volume":{"bars":242,"last_bar_volume":57.0,"baseline_avg":1177.5,"bar_rvol":0.048408,"raw_accel":-0.806369,"smooth_accel":2.071942,"accel_momentum":2.888882,"rvol_3bar":[0.377604,0.231918,0.048408],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":8,"trade_rate":0.266667,"buy_vol":12.0,"sell_vol":43.0,"unclassified_vol":0.0,"imbalance":-0.563636,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":19.116257},"context":{"vwap":5.071607,"price_vs_vwap_pct":0.066897,"ema9":5.073235,"ema20":5.076101,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.013786,"dist_to_hod_atr":16.121358,"atr":0.00647,"spread_atr":1.545672,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.039013,"IWM":-0.016878}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.027284},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"7b7ceebdfb05","ts":"2026-08-28T17:33:15+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9876,"target":5.625,"target_label":"range_20d_high","reward_risk":6.73,"pos_in_5d_range_pct":40.3,"room_to_5d_high_atr":1.21},"price":5.07,"vwap":5.0716,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":1.164,"trend":"flat","recent_slope_pct":0.0,"volatility":"high"},"price":5.07,"volume":{"bars":242,"last_bar_volume":57.0,"baseline_avg":1177.5,"bar_rvol":0.048408,"raw_accel":-0.806369,"smooth_accel":2.071942,"accel_momentum":2.888882,"rvol_3bar":[0.377604,0.231918,0.048408],"trend_3bar":"DECELERATING","projected_rvol":0.169851},"flow":{"window_s":30,"trades":8,"trade_rate":0.266667,"buy_vol":12.0,"sell_vol":52.0,"unclassified_vol":0.0,"imbalance":-0.625,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":24.116257},"context":{"vwap":5.071607,"price_vs_vwap_pct":-0.031691,"ema9":5.073235,"ema20":5.076101,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.110324,"dist_to_hod_atr":16.894194,"atr":0.00647,"spread_atr":1.545672,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.039013,"IWM":-0.016878}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.030255},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"12c392645730","ts":"2026-08-28T17:33:25+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":4.9926,"target":5.625,"target_label":"range_20d_high","reward_risk":6.67,"pos_in_5d_range_pct":41.0,"room_to_5d_high_atr":1.2},"price":5.075,"vwap":5.0716,"ext_from_open_pct":0.89,"max_ext_allowed_pct":3.0,"volume_pace":1.163,"trend":"flat","recent_slope_pct":0.0197,"volatility":"high"},"price":5.075,"volume":{"bars":242,"last_bar_volume":57.0,"baseline_avg":1177.5,"bar_rvol":0.048408,"raw_accel":-0.806369,"smooth_accel":2.071942,"accel_momentum":2.888882,"rvol_3bar":[0.377604,0.231918,0.048408],"trend_3bar":"DECELERATING","projected_rvol":0.250701},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":14.0,"sell_vol":113.0,"unclassified_vol":0.0,"imbalance":-0.779528,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":34.116257},"context":{"vwap":5.071607,"price_vs_vwap_pct":0.066897,"ema9":5.073235,"ema20":5.076101,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.013786,"dist_to_hod_atr":16.121358,"atr":0.00647,"spread_atr":1.545672,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.039013,"IWM":-0.016878}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.037735},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"dc53fbc3d478","ts":"2026-08-28T17:33:35+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"price $5.07 below VWAP $5.07","plan":{"state":"PASS","setup":"","stop":4.9876,"target":5.625,"target_label":"range_20d_high","reward_risk":6.73,"pos_in_5d_range_pct":40.3,"room_to_5d_high_atr":1.21},"price":5.07,"vwap":5.0716,"ext_from_open_pct":0.8,"max_ext_allowed_pct":3.0,"volume_pace":1.162,"trend":"flat","recent_slope_pct":0.0,"volatility":"high"},"price":5.07,"volume":{"bars":242,"last_bar_volume":57.0,"baseline_avg":1177.5,"bar_rvol":0.048408,"raw_accel":-0.806369,"smooth_accel":2.071942,"accel_momentum":2.888882,"rvol_3bar":[0.377604,0.231918,0.048408],"trend_3bar":"DECELERATING","projected_rvol":0.211101},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":17.0,"sell_vol":109.0,"unclassified_vol":0.0,"imbalance":-0.730159,"bid":5.07,"ask":5.08,"spread_pct":0.197044,"quote_size_imbalance":null,"quote_age_s":1.564795},"context":{"vwap":5.071607,"price_vs_vwap_pct":-0.031691,"ema9":5.073235,"ema20":5.076101,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-2.110324,"dist_to_hod_atr":16.894194,"atr":0.00647,"spread_atr":1.545672,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.039013,"IWM":-0.016878}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.035345},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"037fdc672520","ts":"2026-08-28T17:33:40+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.0076,"target":5.625,"target_label":"range_20d_high","reward_risk":6.49,"pos_in_5d_range_pct":43.3,"room_to_5d_high_atr":1.15},"price":5.09,"vwap":5.0717,"ext_from_open_pct":1.19,"max_ext_allowed_pct":4.0,"volume_pace":1.171,"trend":"flat","recent_slope_pct":0.0788,"volatility":"high"},"price":5.09,"volume":{"bars":242,"last_bar_volume":57.0,"baseline_avg":1177.5,"bar_rvol":0.048408,"raw_accel":-0.806369,"smooth_accel":2.071942,"accel_momentum":2.888882,"rvol_3bar":[0.377604,0.231918,0.048408],"trend_3bar":"DECELERATING","projected_rvol":6.93121},"flow":{"window_s":30,"trades":44,"trade_rate":1.466667,"buy_vol":4761.0,"sell_vol":649.0,"unclassified_vol":0.0,"imbalance":0.760074,"bid":5.08,"ask":5.09,"spread_pct":0.196657,"quote_size_imbalance":null,"quote_age_s":3.278465},"context":{"vwap":5.071607,"price_vs_vwap_pct":0.362661,"ema9":5.073235,"ema20":5.076101,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.724171,"dist_to_hod_atr":13.80285,"atr":0.00647,"spread_atr":1.545672,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.039013,"IWM":-0.016878}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.036793},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"e207b5504810","ts":"2026-08-28T17:40:15+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4027,"target":13.62,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":23.5,"room_to_5d_high_atr":1.3},"price":13.525,"vwap":13.4993,"ext_from_open_pct":0.19,"max_ext_allowed_pct":3.0,"volume_pace":0.609,"trend":"flat","recent_slope_pct":-0.0453,"volatility":"medium"},"price":13.525,"volume":{"bars":250,"last_bar_volume":19271.0,"baseline_avg":4486.95,"bar_rvol":4.2949,"raw_accel":16.179599,"smooth_accel":8.265482,"accel_momentum":1.947076,"rvol_3bar":[16.116715,0.078891,4.2949],"trend_3bar":"MIXED","projected_rvol":0.305776},"flow":{"window_s":30,"trades":32,"trade_rate":1.066667,"buy_vol":571.0,"sell_vol":3505.0,"unclassified_vol":0.0,"imbalance":-0.719823,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.124743},"context":{"vwap":13.499298,"price_vs_vwap_pct":0.190397,"ema9":13.546461,"ema20":13.545103,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.624541,"dist_to_hod_atr":7.543191,"atr":0.011268,"spread_atr":0.887434,"own_change_pct":-0.147547,"rel_strength_pct":{"SPY":-0.05916,"IWM":-0.066575}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-3.091569},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1d64cc814abb","ts":"2026-08-28T17:42:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.4077,"target":13.62,"target_label":"premarket_high","reward_risk":0.74,"pos_in_5d_range_pct":24.1,"room_to_5d_high_atr":1.28},"price":13.53,"vwap":13.4994,"ext_from_open_pct":0.22,"max_ext_allowed_pct":4.0,"volume_pace":0.606,"trend":"flat","recent_slope_pct":-0.0342,"volatility":"medium"},"price":13.53,"volume":{"bars":252,"last_bar_volume":1011.0,"baseline_avg":5284.55,"bar_rvol":0.191312,"raw_accel":-0.28903,"smooth_accel":-0.557296,"accel_momentum":0.019384,"rvol_3bar":[4.2949,0.266539,0.191312],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":34,"trade_rate":1.133333,"buy_vol":2947.0,"sell_vol":235.0,"unclassified_vol":0.0,"imbalance":0.852294,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":2.186918},"context":{"vwap":13.499335,"price_vs_vwap_pct":0.22716,"ema9":13.539475,"ema20":13.541808,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.587803,"dist_to_hod_atr":6.153927,"atr":0.013,"spread_atr":0.769241,"own_change_pct":-0.129925,"rel_strength_pct":{"SPY":-0.06624,"IWM":-0.045579}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.163054},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"660257061809","ts":"2026-08-28T17:46:30+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.9506,"target":8.53,"target_label":"premarket_high","reward_risk":0.73,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":0.95},"price":8.285,"vwap":8.2749,"ext_from_open_pct":0.49,"max_ext_allowed_pct":3.0,"volume_pace":0.604,"trend":"flat","recent_slope_pct":-0.0843,"volatility":"high"},"price":8.285,"volume":{"bars":224,"last_bar_volume":224.0,"baseline_avg":38891.45,"bar_rvol":0.00576,"raw_accel":-0.991847,"smooth_accel":13.11066,"accel_momentum":11.969001,"rvol_3bar":[0.002579,0.732196,0.00576],"trend_3bar":"MIXED","projected_rvol":0.133037},"flow":{"window_s":30,"trades":13,"trade_rate":0.433333,"buy_vol":800.0,"sell_vol":1787.0,"unclassified_vol":0.0,"imbalance":-0.381523,"bid":8.27,"ask":8.3,"spread_pct":0.3621,"quote_size_imbalance":null,"quote_age_s":13.98698},"context":{"vwap":8.274845,"price_vs_vwap_pct":0.122722,"ema9":8.305002,"ema20":8.302396,"ema_stack":false,"ema_warm":true,"hod":8.31,"dist_to_hod_pct":-0.300842,"dist_to_hod_atr":2.374738,"atr":0.010527,"spread_atr":2.849686,"own_change_pct":-0.240674,"rel_strength_pct":{"SPY":-0.278392,"IWM":-0.257555}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.002197},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1a487bb0336b","ts":"2026-08-28T17:47:10+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.9506,"target":8.53,"target_label":"premarket_high","reward_risk":0.73,"pos_in_5d_range_pct":47.7,"room_to_5d_high_atr":0.95},"price":8.285,"vwap":8.2749,"ext_from_open_pct":0.49,"max_ext_allowed_pct":3.0,"volume_pace":0.603,"trend":"flat","recent_slope_pct":-0.0963,"volatility":"high"},"price":8.285,"volume":{"bars":225,"last_bar_volume":2588.0,"baseline_avg":38862.6,"bar_rvol":0.066594,"raw_accel":-0.733626,"smooth_accel":194.393548,"accel_momentum":181.282888,"rvol_3bar":[0.732196,0.00576,0.066594],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":2,"trade_rate":0.066667,"buy_vol":399.0,"sell_vol":1.0,"unclassified_vol":0.0,"imbalance":0.995,"bid":8.27,"ask":8.3,"spread_pct":0.3621,"quote_size_imbalance":null,"quote_age_s":2.966059},"context":{"vwap":8.274854,"price_vs_vwap_pct":0.122612,"ema9":8.300022,"ema20":8.300273,"ema_stack":false,"ema_warm":true,"hod":8.31,"dist_to_hod_pct":-0.300842,"dist_to_hod_atr":2.384891,"atr":0.010483,"spread_atr":2.86187,"own_change_pct":-0.359807,"rel_strength_pct":{"SPY":-0.427577,"IWM":-0.418899}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.066261},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"2f6d6950c55c","ts":"2026-08-28T17:47:15+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":7.9456,"target":8.53,"target_label":"premarket_high","reward_risk":0.75,"pos_in_5d_range_pct":47.5,"room_to_5d_high_atr":0.95},"price":8.28,"vwap":8.2749,"ext_from_open_pct":0.42,"max_ext_allowed_pct":3.0,"volume_pace":0.603,"trend":"flat","recent_slope_pct":-0.1084,"volatility":"high"},"price":8.28,"volume":{"bars":225,"last_bar_volume":2588.0,"baseline_avg":38862.6,"bar_rvol":0.066594,"raw_accel":-0.733626,"smooth_accel":194.393548,"accel_momentum":181.282888,"rvol_3bar":[0.732196,0.00576,0.066594],"trend_3bar":"MIXED","projected_rvol":0.042715},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":399.0,"sell_vol":17.0,"unclassified_vol":0.0,"imbalance":0.918269,"bid":8.27,"ask":8.29,"spread_pct":0.241546,"quote_size_imbalance":null,"quote_age_s":4.286518},"context":{"vwap":8.274854,"price_vs_vwap_pct":0.062188,"ema9":8.300022,"ema20":8.300273,"ema_stack":false,"ema_warm":true,"hod":8.31,"dist_to_hod_pct":-0.361011,"dist_to_hod_atr":2.86187,"atr":0.010483,"spread_atr":1.907913,"own_change_pct":-0.359807,"rel_strength_pct":{"SPY":-0.427577,"IWM":-0.418899}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.061151},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"962d2d985c27","ts":"2026-08-28T17:49:55+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.9571,"target":8.53,"target_label":"premarket_high","reward_risk":0.71,"pos_in_5d_range_pct":48.0,"room_to_5d_high_atr":0.94},"price":8.2915,"vwap":8.2749,"ext_from_open_pct":0.56,"max_ext_allowed_pct":3.0,"volume_pace":0.599,"trend":"flat","recent_slope_pct":0.0095,"volatility":"high"},"price":8.2915,"volume":{"bars":227,"last_bar_volume":31.0,"baseline_avg":38425.75,"bar_rvol":0.000807,"raw_accel":-0.996773,"smooth_accel":-0.886826,"accel_momentum":-0.00791,"rvol_3bar":[0.066594,0.013627,0.000807],"trend_3bar":"DECELERATING","projected_rvol":0.220108},"flow":{"window_s":30,"trades":13,"trade_rate":0.433333,"buy_vol":1998.0,"sell_vol":5755.0,"unclassified_vol":0.0,"imbalance":-0.484587,"bid":8.29,"ask":8.3,"spread_pct":0.120555,"quote_size_imbalance":null,"quote_age_s":3.448},"context":{"vwap":8.274857,"price_vs_vwap_pct":0.201131,"ema9":8.295414,"ema20":8.297933,"ema_stack":false,"ema_warm":true,"hod":8.31,"dist_to_hod_pct":-0.222623,"dist_to_hod_atr":1.839144,"atr":0.010059,"spread_atr":0.994132,"own_change_pct":-0.300842,"rel_strength_pct":{"SPY":-0.371063,"IWM":-0.344745}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.000391},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"0ad6f3b8dd3a","ts":"2026-08-28T17:51:05+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.43,"target":13.62,"target_label":"premarket_high","reward_risk":0.55,"pos_in_5d_range_pct":26.8,"room_to_5d_high_atr":1.24},"price":13.5523,"vwap":13.5004,"ext_from_open_pct":0.39,"max_ext_allowed_pct":3.0,"volume_pace":0.596,"trend":"flat","recent_slope_pct":-0.0137,"volatility":"medium"},"price":13.5523,"volume":{"bars":261,"last_bar_volume":2958.0,"baseline_avg":6027.9,"bar_rvol":0.490718,"raw_accel":0.591178,"smooth_accel":-0.027908,"accel_momentum":0.003457,"rvol_3bar":[1.918276,0.311921,0.490718],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":63,"trade_rate":2.1,"buy_vol":1971.0,"sell_vol":4742.0,"unclassified_vol":0.0,"imbalance":-0.412781,"bid":13.54,"ask":13.55,"spread_pct":0.073828,"quote_size_imbalance":null,"quote_age_s":3.753805},"context":{"vwap":13.500269,"price_vs_vwap_pct":0.385405,"ema9":13.550201,"ema20":13.546935,"ema_stack":true,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.423953,"dist_to_hod_atr":4.244721,"atr":0.013593,"spread_atr":0.735653,"own_change_pct":0.022882,"rel_strength_pct":{"SPY":-0.021322,"IWM":0.00094}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.202559},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"c879befa8ce9","ts":"2026-08-28T17:51:30+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"price $8.26 below VWAP $8.27","plan":{"state":"PASS","setup":"","stop":7.9256,"target":8.31,"target_label":"ceiling","reward_risk":0.15,"pos_in_5d_range_pct":46.7,"room_to_5d_high_atr":0.96},"price":8.26,"vwap":8.2749,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":0.61,"trend":"flat","recent_slope_pct":-0.0785,"volatility":"high"},"price":8.26,"volume":{"bars":229,"last_bar_volume":61549.0,"baseline_avg":38780.6,"bar_rvol":1.587108,"raw_accel":5.348432,"smooth_accel":19.7646,"accel_momentum":20.490183,"rvol_3bar":[0.000807,0.201889,1.587108],"trend_3bar":"ACCELERATING","projected_rvol":0.005157},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":0.0,"sell_vol":100.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":8.26,"ask":8.29,"spread_pct":0.362538,"quote_size_imbalance":null,"quote_age_s":2.954984},"context":{"vwap":8.274859,"price_vs_vwap_pct":-0.179567,"ema9":8.291705,"ema20":8.295671,"ema_stack":false,"ema_warm":true,"hod":8.31,"dist_to_hod_pct":-0.601685,"dist_to_hod_atr":4.032133,"atr":0.0124,"spread_atr":2.41928,"own_change_pct":-0.120627,"rel_strength_pct":{"SPY":-0.164831,"IWM":-0.142569}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.587108},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"05e5303a0ded","ts":"2026-08-28T17:51:30+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3571,"target":10.3,"target_label":"premarket_high","reward_risk":3.33,"pos_in_5d_range_pct":53.2,"room_to_5d_high_atr":1.82},"price":9.575,"vwap":9.561,"ext_from_open_pct":-4.06,"max_ext_allowed_pct":3.0,"volume_pace":1.387,"trend":"flat","recent_slope_pct":0.0565,"volatility":"high"},"price":9.575,"volume":{"bars":261,"last_bar_volume":828.0,"baseline_avg":1363.0,"bar_rvol":0.607483,"raw_accel":-0.674528,"smooth_accel":-0.022717,"accel_momentum":-1.429329,"rvol_3bar":[0.547154,2.037564,0.607483],"trend_3bar":"MIXED","projected_rvol":13.823918},"flow":{"window_s":30,"trades":64,"trade_rate":2.133333,"buy_vol":2886.0,"sell_vol":6535.0,"unclassified_vol":0.0,"imbalance":-0.387326,"bid":9.56,"ask":9.59,"spread_pct":0.313316,"quote_size_imbalance":null,"quote_age_s":1.145124},"context":{"vwap":9.560926,"price_vs_vwap_pct":0.147204,"ema9":9.547635,"ema20":9.542805,"ema_stack":true,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-5.942102,"dist_to_hod_atr":38.388117,"atr":0.015757,"spread_atr":1.903858,"own_change_pct":0.051336,"rel_strength_pct":{"SPY":0.007132,"IWM":0.029394}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.235294},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a0868e343387","ts":"2026-08-28T17:51:50+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3388,"target":10.3,"target_label":"premarket_high","reward_risk":3.41,"pos_in_5d_range_pct":52.7,"room_to_5d_high_atr":1.84},"price":9.5567,"vwap":9.561,"ext_from_open_pct":-4.24,"max_ext_allowed_pct":3.0,"volume_pace":1.387,"trend":"flat","recent_slope_pct":0.0182,"volatility":"high"},"price":9.5567,"volume":{"bars":261,"last_bar_volume":828.0,"baseline_avg":1363.0,"bar_rvol":0.607483,"raw_accel":-0.674528,"smooth_accel":-0.022717,"accel_momentum":-1.429329,"rvol_3bar":[0.547154,2.037564,0.607483],"trend_3bar":"MIXED","projected_rvol":9.046222},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":3088.0,"sell_vol":7058.0,"unclassified_vol":0.0,"imbalance":-0.391287,"bid":9.58,"ask":9.6,"spread_pct":0.208551,"quote_size_imbalance":null,"quote_age_s":2.628597},"context":{"vwap":9.560926,"price_vs_vwap_pct":-0.044201,"ema9":9.547635,"ema20":9.542805,"ema_stack":true,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.121868,"dist_to_hod_atr":39.54947,"atr":0.015757,"spread_atr":1.269238,"own_change_pct":0.051336,"rel_strength_pct":{"SPY":0.007132,"IWM":0.029394}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.237701},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"bd7b6e1f5a54","ts":"2026-08-28T17:51:55+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3721,"target":10.3,"target_label":"premarket_high","reward_risk":3.26,"pos_in_5d_range_pct":53.7,"room_to_5d_high_atr":1.8},"price":9.59,"vwap":9.5611,"ext_from_open_pct":-3.91,"max_ext_allowed_pct":3.0,"volume_pace":1.387,"trend":"flat","recent_slope_pct":0.0879,"volatility":"high"},"price":9.59,"volume":{"bars":261,"last_bar_volume":828.0,"baseline_avg":1363.0,"bar_rvol":0.607483,"raw_accel":-0.674528,"smooth_accel":-0.022717,"accel_momentum":-1.429329,"rvol_3bar":[0.547154,2.037564,0.607483],"trend_3bar":"MIXED","projected_rvol":8.303875},"flow":{"window_s":30,"trades":71,"trade_rate":2.366667,"buy_vol":3188.0,"sell_vol":7058.0,"unclassified_vol":0.0,"imbalance":-0.377708,"bid":9.58,"ask":9.6,"spread_pct":0.208551,"quote_size_imbalance":null,"quote_age_s":0.188115},"context":{"vwap":9.560926,"price_vs_vwap_pct":0.304092,"ema9":9.547635,"ema20":9.542805,"ema_stack":true,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-5.794752,"dist_to_hod_atr":37.436188,"atr":0.015757,"spread_atr":1.269238,"own_change_pct":0.051336,"rel_strength_pct":{"SPY":0.007132,"IWM":0.029394}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-2,"accel":0,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-0.229452},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"d2dd41731ddb","ts":"2026-08-28T17:56:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.4068,"target":13.62,"target_label":"premarket_high","reward_risk":0.74,"pos_in_5d_range_pct":24.0,"room_to_5d_high_atr":1.29},"price":13.5291,"vwap":13.501,"ext_from_open_pct":0.22,"max_ext_allowed_pct":4.0,"volume_pace":0.596,"trend":"flat","recent_slope_pct":-0.0035,"volatility":"medium"},"price":13.5291,"volume":{"bars":266,"last_bar_volume":7815.0,"baseline_avg":7697.55,"bar_rvol":1.015258,"raw_accel":-0.588533,"smooth_accel":1.061594,"accel_momentum":-1.462011,"rvol_3bar":[1.255909,2.793458,1.015258],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":340.0,"sell_vol":6.0,"unclassified_vol":0.0,"imbalance":0.965318,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":4.995232},"context":{"vwap":13.500977,"price_vs_vwap_pct":0.208301,"ema9":13.537032,"ema20":13.540908,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.594416,"dist_to_hod_atr":5.139441,"atr":0.015741,"spread_atr":0.635283,"own_change_pct":-0.139473,"rel_strength_pct":{"SPY":-0.093989,"IWM":-0.097287}},"vas":{"raw":4,"score":6.9,"components":{"rvol":0,"accel":3,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.980047},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"99830d0f52e2","ts":"2026-08-28T17:56:05+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3431,"target":10.3,"target_label":"premarket_high","reward_risk":3.39,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":1.83},"price":9.561,"vwap":9.5612,"ext_from_open_pct":-4.2,"max_ext_allowed_pct":3.0,"volume_pace":1.372,"trend":"flat","recent_slope_pct":-0.0631,"volatility":"high"},"price":9.561,"volume":{"bars":266,"last_bar_volume":1565.0,"baseline_avg":1605.85,"bar_rvol":0.974562,"raw_accel":0.163569,"smooth_accel":-0.719117,"accel_momentum":0.067013,"rvol_3bar":[0.297235,0.865787,0.974562],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":26.0,"sell_vol":222.0,"unclassified_vol":0.0,"imbalance":-0.790323,"bid":9.56,"ask":9.58,"spread_pct":0.208986,"quote_size_imbalance":null,"quote_age_s":2.33861},"context":{"vwap":9.561166,"price_vs_vwap_pct":-0.001736,"ema9":9.568736,"ema20":9.557275,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.079628,"dist_to_hod_atr":32.238677,"atr":0.019197,"spread_atr":1.041806,"own_change_pct":0.27749,"rel_strength_pct":{"SPY":0.322974,"IWM":0.319676}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.770218},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a1cd288a541d","ts":"2026-08-28T17:56:10+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3611,"target":10.3,"target_label":"premarket_high","reward_risk":3.31,"pos_in_5d_range_pct":53.4,"room_to_5d_high_atr":1.81},"price":9.579,"vwap":9.5612,"ext_from_open_pct":-4.02,"max_ext_allowed_pct":3.0,"volume_pace":1.372,"trend":"flat","recent_slope_pct":-0.0255,"volatility":"high"},"price":9.579,"volume":{"bars":266,"last_bar_volume":1565.0,"baseline_avg":1605.85,"bar_rvol":0.974562,"raw_accel":0.163569,"smooth_accel":-0.719117,"accel_momentum":0.067013,"rvol_3bar":[0.297235,0.865787,0.974562],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":13,"trade_rate":0.433333,"buy_vol":27.0,"sell_vol":222.0,"unclassified_vol":0.0,"imbalance":-0.783133,"bid":9.56,"ask":9.58,"spread_pct":0.208986,"quote_size_imbalance":null,"quote_age_s":2.18836},"context":{"vwap":9.561166,"price_vs_vwap_pct":0.186526,"ema9":9.568736,"ema20":9.557275,"ema_stack":true,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-5.902808,"dist_to_hod_atr":31.301052,"atr":0.019197,"spread_atr":1.041806,"own_change_pct":0.27749,"rel_strength_pct":{"SPY":0.322974,"IWM":0.319676}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.763211},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"18f22915bb37","ts":"2026-08-28T17:56:20+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3421,"target":10.3,"target_label":"premarket_high","reward_risk":3.4,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":1.84},"price":9.56,"vwap":9.5612,"ext_from_open_pct":-4.21,"max_ext_allowed_pct":3.0,"volume_pace":1.371,"trend":"flat","recent_slope_pct":-0.0652,"volatility":"high"},"price":9.56,"volume":{"bars":266,"last_bar_volume":1565.0,"baseline_avg":1605.85,"bar_rvol":0.974562,"raw_accel":0.163569,"smooth_accel":-0.719117,"accel_momentum":0.067013,"rvol_3bar":[0.297235,0.865787,0.974562],"trend_3bar":"ACCELERATING","projected_rvol":0.078463},"flow":{"window_s":30,"trades":8,"trade_rate":0.266667,"buy_vol":5.0,"sell_vol":40.0,"unclassified_vol":0.0,"imbalance":-0.777778,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":3.460991},"context":{"vwap":9.561166,"price_vs_vwap_pct":-0.012195,"ema9":9.568736,"ema20":9.557275,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.089451,"dist_to_hod_atr":32.290767,"atr":0.019197,"spread_atr":0.520903,"own_change_pct":0.27749,"rel_strength_pct":{"SPY":0.322974,"IWM":0.319676}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.757992},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f8a3efc6aaf5","ts":"2026-08-28T17:56:25+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3471,"target":10.3,"target_label":"premarket_high","reward_risk":3.37,"pos_in_5d_range_pct":52.9,"room_to_5d_high_atr":1.83},"price":9.565,"vwap":9.5612,"ext_from_open_pct":-4.16,"max_ext_allowed_pct":3.0,"volume_pace":1.371,"trend":"flat","recent_slope_pct":-0.0547,"volatility":"high"},"price":9.565,"volume":{"bars":266,"last_bar_volume":1565.0,"baseline_avg":1605.85,"bar_rvol":0.974562,"raw_accel":0.163569,"smooth_accel":-0.719117,"accel_momentum":0.067013,"rvol_3bar":[0.297235,0.865787,0.974562],"trend_3bar":"ACCELERATING","projected_rvol":0.663574},"flow":{"window_s":30,"trades":15,"trade_rate":0.5,"buy_vol":5.0,"sell_vol":442.0,"unclassified_vol":0.0,"imbalance":-0.977629,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":1.842023},"context":{"vwap":9.561166,"price_vs_vwap_pct":0.0401,"ema9":9.568736,"ema20":9.557275,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.040334,"dist_to_hod_atr":32.030316,"atr":0.019197,"spread_atr":0.520903,"own_change_pct":0.27749,"rel_strength_pct":{"SPY":0.322974,"IWM":0.319676}},"vas":{"raw":-5,"score":1.2,"components":{"rvol":-1,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.952759},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a4be23f87e2f","ts":"2026-08-28T17:57:10+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3421,"target":10.3,"target_label":"premarket_high","reward_risk":3.4,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":1.84},"price":9.56,"vwap":9.5612,"ext_from_open_pct":-4.21,"max_ext_allowed_pct":3.0,"volume_pace":1.368,"trend":"flat","recent_slope_pct":-0.0525,"volatility":"high"},"price":9.56,"volume":{"bars":267,"last_bar_volume":875.0,"baseline_avg":1665.25,"bar_rvol":0.525447,"raw_accel":-0.440895,"smooth_accel":-0.684083,"accel_momentum":0.035034,"rvol_3bar":[0.865787,0.974562,0.525447],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":16,"trade_rate":0.533333,"buy_vol":507.0,"sell_vol":21.0,"unclassified_vol":0.0,"imbalance":0.920455,"bid":9.56,"ask":9.58,"spread_pct":0.208986,"quote_size_imbalance":null,"quote_age_s":13.87687},"context":{"vwap":9.561175,"price_vs_vwap_pct":-0.012285,"ema9":9.568969,"ema20":9.558478,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.089451,"dist_to_hod_atr":32.314506,"atr":0.019183,"spread_atr":1.042572,"own_change_pct":-0.098128,"rel_strength_pct":{"SPY":-0.046801,"IWM":-0.050885}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.48365},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"3dba271c4f91","ts":"2026-08-28T17:57:15+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3521,"target":10.3,"target_label":"premarket_high","reward_risk":3.35,"pos_in_5d_range_pct":53.1,"room_to_5d_high_atr":1.82},"price":9.57,"vwap":9.5612,"ext_from_open_pct":-4.11,"max_ext_allowed_pct":3.0,"volume_pace":1.368,"trend":"flat","recent_slope_pct":-0.0316,"volatility":"high"},"price":9.57,"volume":{"bars":267,"last_bar_volume":875.0,"baseline_avg":1665.25,"bar_rvol":0.525447,"raw_accel":-0.440895,"smooth_accel":-0.684083,"accel_momentum":0.035034,"rvol_3bar":[0.865787,0.974562,0.525447],"trend_3bar":"MIXED","projected_rvol":0.480408},"flow":{"window_s":30,"trades":16,"trade_rate":0.533333,"buy_vol":508.0,"sell_vol":21.0,"unclassified_vol":0.0,"imbalance":0.920605,"bid":9.56,"ask":9.58,"spread_pct":0.208986,"quote_size_imbalance":null,"quote_age_s":18.87687},"context":{"vwap":9.561175,"price_vs_vwap_pct":0.092305,"ema9":9.568969,"ema20":9.558478,"ema_stack":true,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-5.991218,"dist_to_hod_atr":31.79322,"atr":0.019183,"spread_atr":1.042572,"own_change_pct":-0.098128,"rel_strength_pct":{"SPY":-0.046801,"IWM":-0.050885}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.483729},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e2cb93431521","ts":"2026-08-28T17:57:45+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3421,"target":10.3,"target_label":"premarket_high","reward_risk":3.4,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":1.84},"price":9.56,"vwap":9.5612,"ext_from_open_pct":-4.21,"max_ext_allowed_pct":3.0,"volume_pace":1.366,"trend":"flat","recent_slope_pct":-0.0525,"volatility":"high"},"price":9.56,"volume":{"bars":267,"last_bar_volume":875.0,"baseline_avg":1665.25,"bar_rvol":0.525447,"raw_accel":-0.440895,"smooth_accel":-0.684083,"accel_momentum":0.035034,"rvol_3bar":[0.865787,0.974562,0.525447],"trend_3bar":"MIXED","projected_rvol":0.493219},"flow":{"window_s":30,"trades":14,"trade_rate":0.466667,"buy_vol":4.0,"sell_vol":412.0,"unclassified_vol":0.0,"imbalance":-0.980769,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":2.726947},"context":{"vwap":9.561175,"price_vs_vwap_pct":-0.012285,"ema9":9.568969,"ema20":9.558478,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.089451,"dist_to_hod_atr":32.314506,"atr":0.019183,"spread_atr":1.042572,"own_change_pct":-0.098128,"rel_strength_pct":{"SPY":-0.046801,"IWM":-0.050885}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.515342},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"7850847ac70c","ts":"2026-08-28T17:57:50+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3448,"target":10.3,"target_label":"premarket_high","reward_risk":3.38,"pos_in_5d_range_pct":52.9,"room_to_5d_high_atr":1.83},"price":9.5627,"vwap":9.5612,"ext_from_open_pct":-4.18,"max_ext_allowed_pct":3.0,"volume_pace":1.366,"trend":"flat","recent_slope_pct":-0.0469,"volatility":"high"},"price":9.5627,"volume":{"bars":267,"last_bar_volume":875.0,"baseline_avg":1665.25,"bar_rvol":0.525447,"raw_accel":-0.440895,"smooth_accel":-0.684083,"accel_momentum":0.035034,"rvol_3bar":[0.865787,0.974562,0.525447],"trend_3bar":"MIXED","projected_rvol":0.584417},"flow":{"window_s":30,"trades":17,"trade_rate":0.566667,"buy_vol":199.0,"sell_vol":412.0,"unclassified_vol":0.0,"imbalance":-0.348609,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":7.726947},"context":{"vwap":9.561175,"price_vs_vwap_pct":0.015954,"ema9":9.568969,"ema20":9.558478,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.062928,"dist_to_hod_atr":32.173759,"atr":0.019183,"spread_atr":1.042572,"own_change_pct":-0.098128,"rel_strength_pct":{"SPY":-0.046801,"IWM":-0.050885}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.183175},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"aea14176f680","ts":"2026-08-28T17:57:55+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3421,"target":10.3,"target_label":"premarket_high","reward_risk":3.4,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":1.84},"price":9.56,"vwap":9.5612,"ext_from_open_pct":-4.21,"max_ext_allowed_pct":3.0,"volume_pace":1.366,"trend":"flat","recent_slope_pct":-0.0525,"volatility":"high"},"price":9.56,"volume":{"bars":267,"last_bar_volume":875.0,"baseline_avg":1665.25,"bar_rvol":0.525447,"raw_accel":-0.440895,"smooth_accel":-0.684083,"accel_momentum":0.035034,"rvol_3bar":[0.865787,0.974562,0.525447],"trend_3bar":"MIXED","projected_rvol":0.718647},"flow":{"window_s":30,"trades":21,"trade_rate":0.7,"buy_vol":199.0,"sell_vol":698.0,"unclassified_vol":0.0,"imbalance":-0.556299,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":0.188265},"context":{"vwap":9.561175,"price_vs_vwap_pct":-0.012285,"ema9":9.568969,"ema20":9.558478,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.089451,"dist_to_hod_atr":32.314506,"atr":0.019183,"spread_atr":1.042572,"own_change_pct":-0.098128,"rel_strength_pct":{"SPY":-0.046801,"IWM":-0.050885}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.292305},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"48d39545d232","ts":"2026-08-28T17:58:05+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3466,"target":10.3,"target_label":"premarket_high","reward_risk":3.37,"pos_in_5d_range_pct":52.9,"room_to_5d_high_atr":1.83},"price":9.5645,"vwap":9.5612,"ext_from_open_pct":-4.16,"max_ext_allowed_pct":4.0,"volume_pace":1.365,"trend":"flat","recent_slope_pct":-0.0344,"volatility":"high"},"price":9.5645,"volume":{"bars":268,"last_bar_volume":1102.0,"baseline_avg":1638.3,"bar_rvol":0.672648,"raw_accel":0.259429,"smooth_accel":0.203943,"accel_momentum":0.888026,"rvol_3bar":[0.974562,0.525447,0.672648],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":19,"trade_rate":0.633333,"buy_vol":203.0,"sell_vol":622.0,"unclassified_vol":0.0,"imbalance":-0.507879,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":4.465659},"context":{"vwap":9.561178,"price_vs_vwap_pct":0.034749,"ema9":9.567275,"ema20":9.55867,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.045246,"dist_to_hod_atr":33.215701,"atr":0.018527,"spread_atr":1.079483,"own_change_pct":-0.282657,"rel_strength_pct":{"SPY":-0.243803,"IWM":-0.259032}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.341624},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"59d0e2b627f2","ts":"2026-08-28T17:58:10+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3421,"target":10.3,"target_label":"premarket_high","reward_risk":3.4,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":1.84},"price":9.56,"vwap":9.5612,"ext_from_open_pct":-4.21,"max_ext_allowed_pct":4.0,"volume_pace":1.365,"trend":"flat","recent_slope_pct":-0.0438,"volatility":"high"},"price":9.56,"volume":{"bars":268,"last_bar_volume":1102.0,"baseline_avg":1638.3,"bar_rvol":0.672648,"raw_accel":0.259429,"smooth_accel":0.203943,"accel_momentum":0.888026,"rvol_3bar":[0.974562,0.525447,0.672648],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":19,"trade_rate":0.633333,"buy_vol":202.0,"sell_vol":635.0,"unclassified_vol":0.0,"imbalance":-0.517324,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":9.465659},"context":{"vwap":9.561178,"price_vs_vwap_pct":-0.012316,"ema9":9.567275,"ema20":9.55867,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.089451,"dist_to_hod_atr":33.458584,"atr":0.018527,"spread_atr":1.079483,"own_change_pct":-0.282657,"rel_strength_pct":{"SPY":-0.243803,"IWM":-0.259032}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.347977},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"56a0d29be942","ts":"2026-08-28T17:58:40+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3455,"target":10.3,"target_label":"premarket_high","reward_risk":3.38,"pos_in_5d_range_pct":52.9,"room_to_5d_high_atr":1.83},"price":9.5634,"vwap":9.5612,"ext_from_open_pct":-4.17,"max_ext_allowed_pct":4.0,"volume_pace":1.363,"trend":"flat","recent_slope_pct":-0.0367,"volatility":"high"},"price":9.5634,"volume":{"bars":268,"last_bar_volume":1102.0,"baseline_avg":1638.3,"bar_rvol":0.672648,"raw_accel":0.259429,"smooth_accel":0.203943,"accel_momentum":0.888026,"rvol_3bar":[0.974562,0.525447,0.672648],"trend_3bar":"MIXED","projected_rvol":0.378136},"flow":{"window_s":30,"trades":8,"trade_rate":0.266667,"buy_vol":2.0,"sell_vol":397.0,"unclassified_vol":0.0,"imbalance":-0.989975,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":1.827514},"context":{"vwap":9.561178,"price_vs_vwap_pct":0.023244,"ema9":9.567275,"ema20":9.55867,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.056052,"dist_to_hod_atr":33.275072,"atr":0.018527,"spread_atr":1.079483,"own_change_pct":-0.282657,"rel_strength_pct":{"SPY":-0.243803,"IWM":-0.259032}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.665905},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"aa4efbc8ee4c","ts":"2026-08-28T17:58:45+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3421,"target":10.3,"target_label":"premarket_high","reward_risk":3.4,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":1.84},"price":9.56,"vwap":9.5612,"ext_from_open_pct":-4.21,"max_ext_allowed_pct":4.0,"volume_pace":1.362,"trend":"flat","recent_slope_pct":-0.0438,"volatility":"high"},"price":9.56,"volume":{"bars":268,"last_bar_volume":1102.0,"baseline_avg":1638.3,"bar_rvol":0.672648,"raw_accel":0.259429,"smooth_accel":0.203943,"accel_momentum":0.888026,"rvol_3bar":[0.974562,0.525447,0.672648],"trend_3bar":"MIXED","projected_rvol":0.345887},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":2.0,"sell_vol":409.0,"unclassified_vol":0.0,"imbalance":-0.990268,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":4.61299},"context":{"vwap":9.561178,"price_vs_vwap_pct":-0.012316,"ema9":9.567275,"ema20":9.55867,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.089451,"dist_to_hod_atr":33.458584,"atr":0.018527,"spread_atr":1.079483,"own_change_pct":-0.282657,"rel_strength_pct":{"SPY":-0.243803,"IWM":-0.259032}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.666102},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"164ef3a853db","ts":"2026-08-28T17:58:55+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3521,"target":10.3,"target_label":"premarket_high","reward_risk":3.35,"pos_in_5d_range_pct":53.1,"room_to_5d_high_atr":1.82},"price":9.57,"vwap":9.5612,"ext_from_open_pct":-4.11,"max_ext_allowed_pct":4.0,"volume_pace":1.362,"trend":"flat","recent_slope_pct":-0.0229,"volatility":"high"},"price":9.57,"volume":{"bars":268,"last_bar_volume":1102.0,"baseline_avg":1638.3,"bar_rvol":0.672648,"raw_accel":0.259429,"smooth_accel":0.203943,"accel_momentum":0.888026,"rvol_3bar":[0.974562,0.525447,0.672648],"trend_3bar":"MIXED","projected_rvol":0.344925},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":95.0,"sell_vol":159.0,"unclassified_vol":0.0,"imbalance":-0.251969,"bid":9.56,"ask":9.57,"spread_pct":0.104548,"quote_size_imbalance":null,"quote_age_s":0.006305},"context":{"vwap":9.561178,"price_vs_vwap_pct":0.092273,"ema9":9.567275,"ema20":9.55867,"ema_stack":true,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-5.991218,"dist_to_hod_atr":32.918843,"atr":0.018527,"spread_atr":0.539742,"own_change_pct":-0.282657,"rel_strength_pct":{"SPY":-0.243803,"IWM":-0.259032}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.169486},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"24b650097214","ts":"2026-08-28T18:01:30+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3421,"target":10.3,"target_label":"premarket_high","reward_risk":3.4,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":1.84},"price":9.56,"vwap":9.5612,"ext_from_open_pct":-4.21,"max_ext_allowed_pct":3.0,"volume_pace":1.356,"trend":"flat","recent_slope_pct":0.0109,"volatility":"high"},"price":9.56,"volume":{"bars":271,"last_bar_volume":1146.0,"baseline_avg":1697.85,"bar_rvol":0.674971,"raw_accel":-0.548107,"smooth_accel":0.186335,"accel_momentum":0.087789,"rvol_3bar":[0.322631,1.579619,0.674971],"trend_3bar":"MIXED","projected_rvol":0.899962},"flow":{"window_s":30,"trades":17,"trade_rate":0.566667,"buy_vol":117.0,"sell_vol":647.0,"unclassified_vol":0.0,"imbalance":-0.693717,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":8.762922},"context":{"vwap":9.561233,"price_vs_vwap_pct":-0.012896,"ema9":9.570337,"ema20":9.562422,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.089451,"dist_to_hod_atr":34.95318,"atr":0.017735,"spread_atr":1.127704,"own_change_pct":-0.015664,"rel_strength_pct":{"SPY":-0.058568,"IWM":-0.052803}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.468239},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"6336c625990e","ts":"2026-08-28T18:01:50+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3528,"target":10.3,"target_label":"premarket_high","reward_risk":3.35,"pos_in_5d_range_pct":53.1,"room_to_5d_high_atr":1.82},"price":9.5707,"vwap":9.5612,"ext_from_open_pct":-4.1,"max_ext_allowed_pct":4.0,"volume_pace":1.355,"trend":"flat","recent_slope_pct":0.0332,"volatility":"high"},"price":9.5707,"volume":{"bars":271,"last_bar_volume":1146.0,"baseline_avg":1697.85,"bar_rvol":0.674971,"raw_accel":-0.548107,"smooth_accel":0.186335,"accel_momentum":0.087789,"rvol_3bar":[0.322631,1.579619,0.674971],"trend_3bar":"MIXED","projected_rvol":0.85732},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":105.0,"sell_vol":407.0,"unclassified_vol":0.0,"imbalance":-0.589844,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":6.847882},"context":{"vwap":9.561233,"price_vs_vwap_pct":0.099014,"ema9":9.570337,"ema20":9.562422,"ema_stack":true,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-5.984342,"dist_to_hod_atr":34.349859,"atr":0.017735,"spread_atr":1.127704,"own_change_pct":-0.015664,"rel_strength_pct":{"SPY":-0.058568,"IWM":-0.052803}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.398128},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"72f034b299ea","ts":"2026-08-28T18:02:00+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3421,"target":10.3,"target_label":"premarket_high","reward_risk":3.4,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":1.84},"price":9.56,"vwap":9.5612,"ext_from_open_pct":-4.21,"max_ext_allowed_pct":4.0,"volume_pace":1.354,"trend":"flat","recent_slope_pct":0.0109,"volatility":"high"},"price":9.56,"volume":{"bars":271,"last_bar_volume":1146.0,"baseline_avg":1697.85,"bar_rvol":0.674971,"raw_accel":-0.548107,"smooth_accel":0.186335,"accel_momentum":0.087789,"rvol_3bar":[0.322631,1.579619,0.674971],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":100.0,"sell_vol":361.0,"unclassified_vol":0.0,"imbalance":-0.566161,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":2.808208},"context":{"vwap":9.561233,"price_vs_vwap_pct":-0.012896,"ema9":9.570337,"ema20":9.562422,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.089451,"dist_to_hod_atr":34.95318,"atr":0.017735,"spread_atr":1.127704,"own_change_pct":-0.015664,"rel_strength_pct":{"SPY":-0.055317,"IWM":-0.012287}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":1,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.382142},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1681ea4b097b","ts":"2026-08-28T18:04:10+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":7.9556,"target":8.53,"target_label":"premarket_high","reward_risk":0.72,"pos_in_5d_range_pct":47.9,"room_to_5d_high_atr":0.94},"price":8.29,"vwap":8.2721,"ext_from_open_pct":0.55,"max_ext_allowed_pct":4.0,"volume_pace":0.638,"trend":"flat","recent_slope_pct":0.1329,"volatility":"high"},"price":8.29,"volume":{"bars":239,"last_bar_volume":1000.0,"baseline_avg":16920.35,"bar_rvol":0.0591,"raw_accel":-0.763598,"smooth_accel":-0.57218,"accel_momentum":-0.187208,"rvol_3bar":[0.097392,0.115748,0.0591],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":42,"trade_rate":1.4,"buy_vol":4000.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":8.27,"ask":8.3,"spread_pct":0.3621,"quote_size_imbalance":null,"quote_age_s":1.437224},"context":{"vwap":8.272026,"price_vs_vwap_pct":0.217292,"ema9":8.265745,"ema20":8.272066,"ema_stack":false,"ema_warm":true,"hod":8.31,"dist_to_hod_pct":-0.240674,"dist_to_hod_atr":1.186026,"atr":0.016863,"spread_atr":1.779038,"own_change_pct":0.484848,"rel_strength_pct":{"SPY":0.449759,"IWM":0.515222}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.0591},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0154d8c1cf48","ts":"2026-08-28T18:08:05+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4168,"target":13.62,"target_label":"premarket_high","reward_risk":0.66,"pos_in_5d_range_pct":25.2,"room_to_5d_high_atr":1.27},"price":13.5391,"vwap":13.5016,"ext_from_open_pct":0.29,"max_ext_allowed_pct":3.0,"volume_pace":0.582,"trend":"flat","recent_slope_pct":-0.0153,"volatility":"medium"},"price":13.5391,"volume":{"bars":278,"last_bar_volume":1292.0,"baseline_avg":5543.95,"bar_rvol":0.233047,"raw_accel":-0.801749,"smooth_accel":0.024795,"accel_momentum":-0.090263,"rvol_3bar":[0.378763,1.132289,0.233047],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":23,"trade_rate":0.766667,"buy_vol":177.0,"sell_vol":709.0,"unclassified_vol":0.0,"imbalance":-0.600451,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.927503},"context":{"vwap":13.50163,"price_vs_vwap_pct":0.277518,"ema9":13.539103,"ema20":13.539335,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.52094,"dist_to_hod_atr":5.289961,"atr":0.013403,"spread_atr":0.746116,"own_change_pct":-0.110701,"rel_strength_pct":{"SPY":-0.084717,"IWM":-0.102262}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.139933},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"aa83fb5a1467","ts":"2026-08-28T18:08:30+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.419,"target":13.62,"target_label":"premarket_high","reward_risk":0.64,"pos_in_5d_range_pct":25.5,"room_to_5d_high_atr":1.26},"price":13.5413,"vwap":13.5016,"ext_from_open_pct":0.31,"max_ext_allowed_pct":4.0,"volume_pace":0.581,"trend":"flat","recent_slope_pct":-0.012,"volatility":"medium"},"price":13.5413,"volume":{"bars":278,"last_bar_volume":1292.0,"baseline_avg":5543.95,"bar_rvol":0.233047,"raw_accel":-0.801749,"smooth_accel":0.024795,"accel_momentum":-0.090263,"rvol_3bar":[0.378763,1.132289,0.233047],"trend_3bar":"MIXED","projected_rvol":0.137808},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":34.0,"sell_vol":348.0,"unclassified_vol":0.0,"imbalance":-0.82199,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":15.308457},"context":{"vwap":13.50163,"price_vs_vwap_pct":0.293813,"ema9":13.539103,"ema20":13.539335,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.504776,"dist_to_hod_atr":5.125815,"atr":0.013403,"spread_atr":0.746116,"own_change_pct":-0.110701,"rel_strength_pct":{"SPY":-0.084717,"IWM":-0.102262}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.191562},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"e5bb49311a7f","ts":"2026-08-28T18:11:45+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.30% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.1256,"target":8.53,"target_label":"premarket_high","reward_risk":0.21,"pos_in_5d_range_pct":55.0,"room_to_5d_high_atr":0.81},"price":8.46,"vwap":8.2874,"ext_from_open_pct":2.61,"max_ext_allowed_pct":3.0,"volume_pace":0.835,"trend":"flat","recent_slope_pct":0.3658,"volatility":"high"},"price":8.46,"volume":{"bars":246,"last_bar_volume":858.0,"baseline_avg":55782.35,"bar_rvol":0.015381,"raw_accel":-0.938475,"smooth_accel":0.562758,"accel_momentum":-1.574024,"rvol_3bar":[15.418965,0.07715,0.015381],"trend_3bar":"DECELERATING","projected_rvol":3.40306},"flow":{"window_s":30,"trades":947,"trade_rate":31.566667,"buy_vol":85323.0,"sell_vol":57050.0,"unclassified_vol":0.0,"imbalance":0.198584,"bid":8.4,"ask":8.51,"spread_pct":1.301005,"quote_size_imbalance":null,"quote_age_s":0.45213},"context":{"vwap":8.280587,"price_vs_vwap_pct":2.166676,"ema9":8.29903,"ema20":8.289739,"ema_stack":true,"ema_warm":true,"hod":8.35,"dist_to_hod_pct":1.317365,"dist_to_hod_atr":-5.369763,"atr":0.020485,"spread_atr":5.369763,"own_change_pct":0.0,"rel_strength_pct":{"SPY":-0.016893,"IWM":-0.037141}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.003054},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"414231a7bdbd","ts":"2026-08-28T18:12:30+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.1556,"target":8.53,"target_label":"premarket_high","reward_risk":0.12,"pos_in_5d_range_pct":56.2,"room_to_5d_high_atr":0.79},"price":8.49,"vwap":8.2873,"ext_from_open_pct":2.97,"max_ext_allowed_pct":3.0,"volume_pace":0.836,"trend":"flat","recent_slope_pct":0.5502,"volatility":"high"},"price":8.49,"volume":{"bars":247,"last_bar_volume":142686.0,"baseline_avg":55798.9,"bar_rvol":2.557147,"raw_accel":9.228589,"smooth_accel":-0.79942,"accel_momentum":-1.362177,"rvol_3bar":[0.07715,0.015381,2.557147],"trend_3bar":"MIXED","projected_rvol":0.518577},"flow":{"window_s":30,"trades":140,"trade_rate":4.666667,"buy_vol":5586.0,"sell_vol":8882.0,"unclassified_vol":0.0,"imbalance":-0.227813,"bid":8.43,"ask":8.51,"spread_pct":0.94451,"quote_size_imbalance":null,"quote_age_s":0.148227},"context":{"vwap":8.286616,"price_vs_vwap_pct":2.454371,"ema9":8.319244,"ema20":8.300249,"ema_stack":true,"ema_warm":true,"hod":8.6,"dist_to_hod_pct":-1.27907,"dist_to_hod_atr":2.768261,"atr":0.039736,"spread_atr":2.013281,"own_change_pct":1.084236,"rel_strength_pct":{"SPY":1.051746,"IWM":1.060604}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":2,"accel":-2,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.582552},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"ed5a409ab0ad","ts":"2026-08-28T18:12:35+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.64% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.1756,"target":8.53,"target_label":"premarket_high","reward_risk":0.06,"pos_in_5d_range_pct":57.0,"room_to_5d_high_atr":0.78},"price":8.51,"vwap":8.2876,"ext_from_open_pct":3.21,"max_ext_allowed_pct":4.0,"volume_pace":0.837,"trend":"flat","recent_slope_pct":0.5977,"volatility":"high"},"price":8.51,"volume":{"bars":247,"last_bar_volume":142686.0,"baseline_avg":55798.9,"bar_rvol":2.557147,"raw_accel":9.228589,"smooth_accel":-0.79942,"accel_momentum":-1.362177,"rvol_3bar":[0.07715,0.015381,2.557147],"trend_3bar":"MIXED","projected_rvol":0.619091},"flow":{"window_s":30,"trades":176,"trade_rate":5.866667,"buy_vol":10767.0,"sell_vol":9382.0,"unclassified_vol":0.0,"imbalance":0.068738,"bid":8.46,"ask":8.6,"spread_pct":1.641266,"quote_size_imbalance":null,"quote_age_s":0.214533},"context":{"vwap":8.286616,"price_vs_vwap_pct":2.695724,"ema9":8.319244,"ema20":8.300249,"ema_stack":true,"ema_warm":true,"hod":8.6,"dist_to_hod_pct":-1.046512,"dist_to_hod_atr":2.264941,"atr":0.039736,"spread_atr":3.523241,"own_change_pct":1.084236,"rel_strength_pct":{"SPY":1.051746,"IWM":1.060604}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":2,"accel":-2,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":0.175773},"shadow":{"decision":"FAIL","failed":["vas","imbalance","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"16d387fa2e71","ts":"2026-08-28T18:13:25+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.2072,"target":9.5499,"target_label":"prev_day_high","reward_risk":3.02,"pos_in_5d_range_pct":58.3,"room_to_5d_high_atr":0.75},"price":8.5416,"vwap":8.2878,"ext_from_open_pct":3.6,"max_ext_allowed_pct":4.0,"volume_pace":0.835,"trend":"flat","recent_slope_pct":0.7296,"volatility":"high"},"price":8.5416,"volume":{"bars":248,"last_bar_volume":22149.0,"baseline_avg":62931.65,"bar_rvol":0.351953,"raw_accel":-0.844771,"smooth_accel":-0.729759,"accel_momentum":0.06966,"rvol_3bar":[0.015381,2.557147,0.351953],"trend_3bar":"MIXED","projected_rvol":0.019068},"flow":{"window_s":30,"trades":1,"trade_rate":0.033333,"buy_vol":500.0,"sell_vol":0.0,"unclassified_vol":0.0,"imbalance":1.0,"bid":8.47,"ask":8.55,"spread_pct":0.940071,"quote_size_imbalance":null,"quote_age_s":0.080045},"context":{"vwap":8.287788,"price_vs_vwap_pct":3.062482,"ema9":8.347395,"ema20":8.315464,"ema_stack":true,"ema_warm":true,"hod":8.6,"dist_to_hod_pct":-0.67907,"dist_to_hod_atr":1.15714,"atr":0.050469,"spread_atr":1.585123,"own_change_pct":1.805054,"rel_strength_pct":{"SPY":1.779194,"IWM":1.781421}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.351953},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"e4807151f153","ts":"2026-08-28T18:13:30+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.3% above open $8.24 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":8.1856,"target":9.5499,"target_label":"prev_day_high","reward_risk":3.08,"pos_in_5d_range_pct":57.4,"room_to_5d_high_atr":0.77},"price":8.52,"vwap":8.2878,"ext_from_open_pct":3.34,"max_ext_allowed_pct":3.0,"volume_pace":0.835,"trend":"flat","recent_slope_pct":0.6786,"volatility":"high"},"price":8.52,"volume":{"bars":248,"last_bar_volume":22149.0,"baseline_avg":62931.65,"bar_rvol":0.351953,"raw_accel":-0.844771,"smooth_accel":-0.729759,"accel_momentum":0.06966,"rvol_3bar":[0.015381,2.557147,0.351953],"trend_3bar":"MIXED","projected_rvol":0.021929},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":540.0,"sell_vol":150.0,"unclassified_vol":0.0,"imbalance":0.565217,"bid":8.48,"ask":8.55,"spread_pct":0.822079,"quote_size_imbalance":null,"quote_age_s":0.591456},"context":{"vwap":8.287788,"price_vs_vwap_pct":2.801857,"ema9":8.347395,"ema20":8.315464,"ema_stack":true,"ema_warm":true,"hod":8.6,"dist_to_hod_pct":-0.930233,"dist_to_hod_atr":1.585123,"atr":0.050469,"spread_atr":1.386983,"own_change_pct":1.805054,"rel_strength_pct":{"SPY":1.779194,"IWM":1.781421}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.19893},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a9e9cbd97d21","ts":"2026-08-28T18:14:00+00:00","symbol":"XHLD","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":8.1956,"target":9.5499,"target_label":"prev_day_high","reward_risk":3.05,"pos_in_5d_range_pct":57.9,"room_to_5d_high_atr":0.76},"price":8.53,"vwap":8.2882,"ext_from_open_pct":3.46,"max_ext_allowed_pct":4.0,"volume_pace":0.835,"trend":"flat","recent_slope_pct":0.7022,"volatility":"high"},"price":8.53,"volume":{"bars":248,"last_bar_volume":22149.0,"baseline_avg":62931.65,"bar_rvol":0.351953,"raw_accel":-0.844771,"smooth_accel":-0.729759,"accel_momentum":0.06966,"rvol_3bar":[0.015381,2.557147,0.351953],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":20,"trade_rate":0.666667,"buy_vol":1345.0,"sell_vol":4161.0,"unclassified_vol":0.0,"imbalance":-0.511442,"bid":8.51,"ask":8.55,"spread_pct":0.468933,"quote_size_imbalance":null,"quote_age_s":8.889619},"context":{"vwap":8.287788,"price_vs_vwap_pct":2.922517,"ema9":8.347395,"ema20":8.315464,"ema_stack":true,"ema_warm":true,"hod":8.6,"dist_to_hod_pct":-0.813953,"dist_to_hod_atr":1.386983,"atr":0.050469,"spread_atr":0.792561,"own_change_pct":1.805054,"rel_strength_pct":{"SPY":1.816099,"IWM":1.828683}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.180004},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0cc22b527611","ts":"2026-08-28T18:14:10+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"extended +3.6% above open $8.24 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":8.2113,"target":9.5499,"target_label":"prev_day_high","reward_risk":3.0,"pos_in_5d_range_pct":58.5,"room_to_5d_high_atr":0.75},"price":8.5457,"vwap":8.2882,"ext_from_open_pct":3.65,"max_ext_allowed_pct":3.0,"volume_pace":0.834,"trend":"flat","recent_slope_pct":0.7117,"volatility":"high"},"price":8.5457,"volume":{"bars":249,"last_bar_volume":6196.0,"baseline_avg":63651.45,"bar_rvol":0.097343,"raw_accel":-0.720258,"smooth_accel":-0.651088,"accel_momentum":0.078671,"rvol_3bar":[2.557147,0.351953,0.097343],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":580.0,"sell_vol":232.0,"unclassified_vol":0.0,"imbalance":0.428571,"bid":8.51,"ask":8.55,"spread_pct":0.468933,"quote_size_imbalance":null,"quote_age_s":18.889619},"context":{"vwap":8.288208,"price_vs_vwap_pct":3.10673,"ema9":8.383916,"ema20":8.335896,"ema_stack":true,"ema_warm":true,"hod":8.6,"dist_to_hod_pct":-0.631395,"dist_to_hod_atr":0.979512,"atr":0.055436,"spread_atr":0.721556,"own_change_pct":2.709211,"rel_strength_pct":{"SPY":2.720256,"IWM":2.73284}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.041718},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"517f70d887e3","ts":"2026-08-28T18:14:35+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3464,"target":10.3,"target_label":"premarket_high","reward_risk":3.38,"pos_in_5d_range_pct":52.9,"room_to_5d_high_atr":1.83},"price":9.5643,"vwap":9.5611,"ext_from_open_pct":-4.17,"max_ext_allowed_pct":4.0,"volume_pace":1.317,"trend":"flat","recent_slope_pct":0.0378,"volatility":"high"},"price":9.5643,"volume":{"bars":284,"last_bar_volume":1270.0,"baseline_avg":1099.25,"bar_rvol":1.155333,"raw_accel":3.621333,"smooth_accel":0.764126,"accel_momentum":0.218333,"rvol_3bar":[2.249143,0.002604,1.155333],"trend_3bar":"MIXED","projected_rvol":4.223139},"flow":{"window_s":30,"trades":35,"trade_rate":1.166667,"buy_vol":2052.0,"sell_vol":656.0,"unclassified_vol":0.0,"imbalance":0.51551,"bid":9.55,"ask":9.56,"spread_pct":0.104657,"quote_size_imbalance":null,"quote_age_s":3.114586},"context":{"vwap":9.561108,"price_vs_vwap_pct":0.033385,"ema9":9.553859,"ema20":9.554659,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.047211,"dist_to_hod_atr":39.65468,"atr":0.015524,"spread_atr":0.644163,"own_change_pct":0.104712,"rel_strength_pct":{"SPY":0.115757,"IWM":0.128341}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.595585},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"18c5c4de1fd7","ts":"2026-08-28T18:14:40+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3421,"target":10.3,"target_label":"premarket_high","reward_risk":3.4,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":1.84},"price":9.56,"vwap":9.5611,"ext_from_open_pct":-4.21,"max_ext_allowed_pct":4.0,"volume_pace":1.317,"trend":"flat","recent_slope_pct":0.0288,"volatility":"high"},"price":9.56,"volume":{"bars":284,"last_bar_volume":1270.0,"baseline_avg":1099.25,"bar_rvol":1.155333,"raw_accel":3.621333,"smooth_accel":0.764126,"accel_momentum":0.218333,"rvol_3bar":[2.249143,0.002604,1.155333],"trend_3bar":"MIXED","projected_rvol":3.910848},"flow":{"window_s":30,"trades":40,"trade_rate":1.333333,"buy_vol":2072.0,"sell_vol":794.0,"unclassified_vol":0.0,"imbalance":0.445918,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":1.646743},"context":{"vwap":9.561108,"price_vs_vwap_pct":-0.011589,"ema9":9.553859,"ema20":9.554659,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.089451,"dist_to_hod_atr":39.93167,"atr":0.015524,"spread_atr":1.288326,"own_change_pct":0.104712,"rel_strength_pct":{"SPY":0.115757,"IWM":0.128341}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.515183},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"0ce72e7b19c9","ts":"2026-08-28T18:14:50+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3462,"target":10.3,"target_label":"premarket_high","reward_risk":3.38,"pos_in_5d_range_pct":52.9,"room_to_5d_high_atr":1.83},"price":9.5641,"vwap":9.5611,"ext_from_open_pct":-4.17,"max_ext_allowed_pct":4.0,"volume_pace":1.316,"trend":"flat","recent_slope_pct":0.0374,"volatility":"high"},"price":9.5641,"volume":{"bars":284,"last_bar_volume":1270.0,"baseline_avg":1099.25,"bar_rvol":1.155333,"raw_accel":3.621333,"smooth_accel":0.764126,"accel_momentum":0.218333,"rvol_3bar":[2.249143,0.002604,1.155333],"trend_3bar":"MIXED","projected_rvol":3.12977},"flow":{"window_s":30,"trades":39,"trade_rate":1.3,"buy_vol":2072.0,"sell_vol":793.0,"unclassified_vol":0.0,"imbalance":0.446422,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":6.043481},"context":{"vwap":9.561108,"price_vs_vwap_pct":0.031293,"ema9":9.553859,"ema20":9.554659,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.049175,"dist_to_hod_atr":39.667563,"atr":0.015524,"spread_atr":1.288326,"own_change_pct":0.104712,"rel_strength_pct":{"SPY":0.115757,"IWM":0.128341}},"vas":{"raw":6,"score":8.1,"components":{"rvol":0,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.515767},"shadow":{"decision":"PASS","failed":[],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"5fce88033fea","ts":"2026-08-28T18:14:55+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.54% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":8.1792,"target":8.53,"target_label":"premarket_high","reward_risk":0.05,"pos_in_5d_range_pct":57.2,"room_to_5d_high_atr":0.77},"price":8.5136,"vwap":8.2883,"ext_from_open_pct":3.26,"max_ext_allowed_pct":4.0,"volume_pace":0.832,"trend":"flat","recent_slope_pct":0.6362,"volatility":"high"},"price":8.5136,"volume":{"bars":249,"last_bar_volume":6196.0,"baseline_avg":63651.45,"bar_rvol":0.097343,"raw_accel":-0.720258,"smooth_accel":-0.651088,"accel_momentum":0.078671,"rvol_3bar":[2.557147,0.351953,0.097343],"trend_3bar":"DECELERATING","projected_rvol":0.024646},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":18.0,"sell_vol":7.0,"unclassified_vol":0.0,"imbalance":0.44,"bid":8.4,"ask":8.53,"spread_pct":1.535735,"quote_size_imbalance":null,"quote_age_s":4.473194},"context":{"vwap":8.288208,"price_vs_vwap_pct":2.719433,"ema9":8.383916,"ema20":8.335896,"ema_stack":true,"ema_warm":true,"hod":8.6,"dist_to_hod_pct":-1.004651,"dist_to_hod_atr":1.558561,"atr":0.055436,"spread_atr":2.345057,"own_change_pct":2.709211,"rel_strength_pct":{"SPY":2.720256,"IWM":2.73284}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.042831},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"26c788baf4fc","ts":"2026-08-28T18:15:00+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.30% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.0856,"target":8.53,"target_label":"premarket_high","reward_risk":0.33,"pos_in_5d_range_pct":53.3,"room_to_5d_high_atr":0.84},"price":8.42,"vwap":8.2883,"ext_from_open_pct":2.12,"max_ext_allowed_pct":3.0,"volume_pace":0.832,"trend":"flat","recent_slope_pct":0.4154,"volatility":"high"},"price":8.42,"volume":{"bars":249,"last_bar_volume":6196.0,"baseline_avg":63651.45,"bar_rvol":0.097343,"raw_accel":-0.720258,"smooth_accel":-0.651088,"accel_momentum":0.078671,"rvol_3bar":[2.557147,0.351953,0.097343],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":11,"trade_rate":0.366667,"buy_vol":221.0,"sell_vol":116.0,"unclassified_vol":0.0,"imbalance":0.311573,"bid":8.4,"ask":8.51,"spread_pct":1.301005,"quote_size_imbalance":null,"quote_age_s":3.32281},"context":{"vwap":8.288208,"price_vs_vwap_pct":1.590118,"ema9":8.383916,"ema20":8.335896,"ema_stack":true,"ema_warm":true,"hod":8.6,"dist_to_hod_pct":-2.093023,"dist_to_hod_atr":3.247002,"atr":0.055436,"spread_atr":1.984279,"own_change_pct":2.709211,"rel_strength_pct":{"SPY":2.754691,"IWM":2.781773}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.030329},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","spread","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":false}}}
{"type":"snapshot","id":"21bcca7d7609","ts":"2026-08-28T18:15:10+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.56 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3421,"target":10.3,"target_label":"premarket_high","reward_risk":3.4,"pos_in_5d_range_pct":52.8,"room_to_5d_high_atr":1.84},"price":9.56,"vwap":9.5611,"ext_from_open_pct":-4.21,"max_ext_allowed_pct":4.0,"volume_pace":1.314,"trend":"flat","recent_slope_pct":0.0343,"volatility":"high"},"price":9.56,"volume":{"bars":285,"last_bar_volume":2989.0,"baseline_avg":1135.9,"bar_rvol":2.631394,"raw_accel":1.353543,"smooth_accel":-0.129316,"accel_momentum":-0.893442,"rvol_3bar":[0.002604,1.155333,2.631394],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":5,"trade_rate":0.166667,"buy_vol":123.0,"sell_vol":4.0,"unclassified_vol":0.0,"imbalance":0.937008,"bid":9.55,"ask":9.57,"spread_pct":0.209205,"quote_size_imbalance":null,"quote_age_s":1.827365},"context":{"vwap":9.561127,"price_vs_vwap_pct":-0.011787,"ema9":9.557088,"ema20":9.55612,"ema_stack":true,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.089451,"dist_to_hod_atr":40.97308,"atr":0.015129,"spread_atr":1.321925,"own_change_pct":0.164324,"rel_strength_pct":{"SPY":0.209804,"IWM":0.236886}},"vas":{"raw":2,"score":5.6,"components":{"rvol":2,"accel":-1,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":2.465637},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"58e5c4927a38","ts":"2026-08-28T18:15:40+00:00","symbol":"RGNX","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":9.3441,"target":10.3,"target_label":"premarket_high","reward_risk":3.39,"pos_in_5d_range_pct":52.9,"room_to_5d_high_atr":1.83},"price":9.562,"vwap":9.5611,"ext_from_open_pct":-4.19,"max_ext_allowed_pct":4.0,"volume_pace":1.353,"trend":"flat","recent_slope_pct":0.0385,"volatility":"high"},"price":9.562,"volume":{"bars":285,"last_bar_volume":2989.0,"baseline_avg":1135.9,"bar_rvol":2.631394,"raw_accel":1.353543,"smooth_accel":-0.129316,"accel_momentum":-0.893442,"rvol_3bar":[0.002604,1.155333,2.631394],"trend_3bar":"ACCELERATING","projected_rvol":35.741703},"flow":{"window_s":30,"trades":199,"trade_rate":6.633333,"buy_vol":15344.0,"sell_vol":11718.0,"unclassified_vol":0.0,"imbalance":0.133989,"bid":9.54,"ask":9.56,"spread_pct":0.209424,"quote_size_imbalance":null,"quote_age_s":4.205216},"context":{"vwap":9.561127,"price_vs_vwap_pct":0.009131,"ema9":9.557088,"ema20":9.55612,"ema_stack":true,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.069804,"dist_to_hod_atr":40.840887,"atr":0.015129,"spread_atr":1.321925,"own_change_pct":0.164324,"rel_strength_pct":{"SPY":0.209804,"IWM":0.236886}},"vas":{"raw":1,"score":5.0,"components":{"rvol":2,"accel":-1,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.352577},"shadow":{"decision":"FAIL","failed":["vas"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"f4dd96cca394","ts":"2026-08-28T18:15:45+00:00","symbol":"RGNX","event":"REJECT","bot":{"state":"REJECT","reason":"price $9.54 below VWAP $9.56","plan":{"state":"PASS","setup":"","stop":9.3221,"target":9.5999,"target_label":"ceiling","reward_risk":0.27,"pos_in_5d_range_pct":52.2,"room_to_5d_high_atr":1.86},"price":9.54,"vwap":9.5605,"ext_from_open_pct":-4.41,"max_ext_allowed_pct":3.0,"volume_pace":1.359,"trend":"flat","recent_slope_pct":-0.0075,"volatility":"high"},"price":9.54,"volume":{"bars":285,"last_bar_volume":2989.0,"baseline_avg":1135.9,"bar_rvol":2.631394,"raw_accel":1.353543,"smooth_accel":-0.129316,"accel_momentum":-0.893442,"rvol_3bar":[0.002604,1.155333,2.631394],"trend_3bar":"ACCELERATING","projected_rvol":37.256801},"flow":{"window_s":30,"trades":249,"trade_rate":8.3,"buy_vol":15561.0,"sell_vol":16163.0,"unclassified_vol":0.0,"imbalance":-0.018976,"bid":9.53,"ask":9.55,"spread_pct":0.209644,"quote_size_imbalance":null,"quote_age_s":0.945582},"context":{"vwap":9.561127,"price_vs_vwap_pct":-0.220967,"ema9":9.557088,"ema20":9.55612,"ema_stack":false,"ema_warm":true,"hod":10.1799,"dist_to_hod_pct":-6.285916,"dist_to_hod_atr":42.295005,"atr":0.015129,"spread_atr":1.321925,"own_change_pct":0.164324,"rel_strength_pct":{"SPY":0.209804,"IWM":0.236886}},"vas":{"raw":0,"score":4.4,"components":{"rvol":2,"accel":-1,"momentum":-1,"imbalance":0},"missing":[],"volume_pressure":-0.049934},"shadow":{"decision":"FAIL","failed":["vas","imbalance"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"4115105dc359","ts":"2026-08-28T18:20:05+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4177,"target":13.62,"target_label":"premarket_high","reward_risk":0.65,"pos_in_5d_range_pct":25.3,"room_to_5d_high_atr":1.26},"price":13.54,"vwap":13.5029,"ext_from_open_pct":0.3,"max_ext_allowed_pct":4.0,"volume_pace":0.577,"trend":"flat","recent_slope_pct":-0.0169,"volatility":"medium"},"price":13.54,"volume":{"bars":290,"last_bar_volume":899.0,"baseline_avg":5221.1,"bar_rvol":0.172186,"raw_accel":-0.849992,"smooth_accel":-0.487341,"accel_momentum":-0.204102,"rvol_3bar":[1.230365,1.195313,0.172186],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":56,"trade_rate":1.866667,"buy_vol":4476.0,"sell_vol":868.0,"unclassified_vol":0.0,"imbalance":0.67515,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":1.53357},"context":{"vwap":13.502841,"price_vs_vwap_pct":0.275196,"ema9":13.539402,"ema20":13.539937,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.514328,"dist_to_hod_atr":5.837942,"atr":0.011991,"spread_atr":0.833992,"own_change_pct":-0.036941,"rel_strength_pct":{"SPY":-0.062292,"IWM":-0.084225}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.116251},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"1614ba422d44","ts":"2026-08-28T18:21:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.4027,"target":13.62,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":23.5,"room_to_5d_high_atr":1.3},"price":13.525,"vwap":13.503,"ext_from_open_pct":0.19,"max_ext_allowed_pct":4.0,"volume_pace":0.577,"trend":"flat","recent_slope_pct":-0.0316,"volatility":"medium"},"price":13.525,"volume":{"bars":291,"last_bar_volume":12203.0,"baseline_avg":5216.25,"bar_rvol":2.33942,"raw_accel":8.35768,"smooth_accel":0.577447,"accel_momentum":1.064789,"rvol_3bar":[1.195313,0.172186,2.33942],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":17,"trade_rate":0.566667,"buy_vol":1187.0,"sell_vol":241.0,"unclassified_vol":0.0,"imbalance":0.662465,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.560437},"context":{"vwap":13.50299,"price_vs_vwap_pct":0.163,"ema9":13.538342,"ema20":13.539381,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.624541,"dist_to_hod_atr":6.96408,"atr":0.012205,"spread_atr":0.819304,"own_change_pct":-0.065717,"rel_strength_pct":{"SPY":-0.061818,"IWM":-0.065717}},"vas":{"raw":7,"score":8.8,"components":{"rvol":2,"accel":2,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":1.549784},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"48028d2a69d1","ts":"2026-08-28T18:30:10+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4126,"target":13.62,"target_label":"premarket_high","reward_risk":0.7,"pos_in_5d_range_pct":24.7,"room_to_5d_high_atr":1.27},"price":13.5349,"vwap":13.5033,"ext_from_open_pct":0.26,"max_ext_allowed_pct":3.0,"volume_pace":0.565,"trend":"flat","recent_slope_pct":-0.0031,"volatility":"medium"},"price":13.5349,"volume":{"bars":300,"last_bar_volume":1441.0,"baseline_avg":4369.35,"bar_rvol":0.329797,"raw_accel":-0.650921,"smooth_accel":1.006236,"accel_momentum":0.668257,"rvol_3bar":[1.08481,0.755076,0.329797],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":334.0,"sell_vol":176.0,"unclassified_vol":0.0,"imbalance":0.309804,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":2.732413},"context":{"vwap":13.503279,"price_vs_vwap_pct":0.234174,"ema9":13.534898,"ema20":13.535951,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.5518,"dist_to_hod_atr":6.348156,"atr":0.01183,"spread_atr":0.845294,"own_change_pct":-0.014038,"rel_strength_pct":{"SPY":-0.012737,"IWM":-0.005593}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.102173},"shadow":{"decision":"FAIL","failed":["bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"379e17c3341e","ts":"2026-08-28T18:30:30+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.4128,"target":13.62,"target_label":"premarket_high","reward_risk":0.69,"pos_in_5d_range_pct":24.8,"room_to_5d_high_atr":1.27},"price":13.5351,"vwap":13.5033,"ext_from_open_pct":0.26,"max_ext_allowed_pct":4.0,"volume_pace":0.564,"trend":"flat","recent_slope_pct":-0.0028,"volatility":"medium"},"price":13.5351,"volume":{"bars":300,"last_bar_volume":1441.0,"baseline_avg":4369.35,"bar_rvol":0.329797,"raw_accel":-0.650921,"smooth_accel":1.006236,"accel_momentum":0.668257,"rvol_3bar":[1.08481,0.755076,0.329797],"trend_3bar":"DECELERATING","projected_rvol":0.663257},"flow":{"window_s":30,"trades":19,"trade_rate":0.633333,"buy_vol":119.0,"sell_vol":1330.0,"unclassified_vol":0.0,"imbalance":-0.835749,"bid":13.53,"ask":13.54,"spread_pct":0.073883,"quote_size_imbalance":null,"quote_age_s":11.122304},"context":{"vwap":13.503279,"price_vs_vwap_pct":0.235655,"ema9":13.534898,"ema20":13.535951,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.550331,"dist_to_hod_atr":6.33125,"atr":0.01183,"spread_atr":0.845294,"own_change_pct":-0.014038,"rel_strength_pct":{"SPY":-0.012737,"IWM":-0.005593}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.275628},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"06ce979e3f6e","ts":"2026-08-28T18:37:05+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.0126,"target":5.625,"target_label":"range_20d_high","reward_risk":6.43,"pos_in_5d_range_pct":44.0,"room_to_5d_high_atr":1.14},"price":5.095,"vwap":5.0759,"ext_from_open_pct":1.29,"max_ext_allowed_pct":3.0,"volume_pace":1.06,"trend":"flat","recent_slope_pct":-0.0907,"volatility":"high"},"price":5.095,"volume":{"bars":306,"last_bar_volume":1737.0,"baseline_avg":1757.35,"bar_rvol":0.98842,"raw_accel":-0.468482,"smooth_accel":-0.58526,"accel_momentum":0.119549,"rvol_3bar":[0.209209,1.989044,0.98842],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":19,"trade_rate":0.633333,"buy_vol":340.0,"sell_vol":1396.0,"unclassified_vol":0.0,"imbalance":-0.608295,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":4.881795},"context":{"vwap":5.07588,"price_vs_vwap_pct":0.376676,"ema9":5.107788,"ema20":5.108849,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.627633,"dist_to_hod_atr":9.510875,"atr":0.008864,"spread_atr":1.128218,"own_change_pct":-0.40853,"rel_strength_pct":{"SPY":-0.421531,"IWM":-0.422043}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-1,"accel":-2,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.601251},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"4a243f1137b7","ts":"2026-08-28T18:38:05+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.0126,"target":5.625,"target_label":"range_20d_high","reward_risk":6.43,"pos_in_5d_range_pct":44.0,"room_to_5d_high_atr":1.14},"price":5.095,"vwap":5.0759,"ext_from_open_pct":1.29,"max_ext_allowed_pct":3.0,"volume_pace":1.057,"trend":"flat","recent_slope_pct":-0.0835,"volatility":"high"},"price":5.095,"volume":{"bars":307,"last_bar_volume":115.0,"baseline_avg":1828.55,"bar_rvol":0.062891,"raw_accel":-0.933794,"smooth_accel":-0.537363,"accel_momentum":0.047897,"rvol_3bar":[1.989044,0.98842,0.062891],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":0.0,"sell_vol":153.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":2.28608},"context":{"vwap":5.075883,"price_vs_vwap_pct":0.376621,"ema9":5.10523,"ema20":5.10753,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.627633,"dist_to_hod_atr":10.24248,"atr":0.00823,"spread_atr":1.215004,"own_change_pct":-0.391007,"rel_strength_pct":{"SPY":-0.409211,"IWM":-0.391007}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.062891},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"46ccb451abe0","ts":"2026-08-28T18:38:25+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.0085,"target":5.625,"target_label":"range_20d_high","reward_risk":6.48,"pos_in_5d_range_pct":43.4,"room_to_5d_high_atr":1.15},"price":5.0909,"vwap":5.0759,"ext_from_open_pct":1.21,"max_ext_allowed_pct":3.0,"volume_pace":1.057,"trend":"flat","recent_slope_pct":-0.0996,"volatility":"high"},"price":5.0909,"volume":{"bars":307,"last_bar_volume":115.0,"baseline_avg":1828.55,"bar_rvol":0.062891,"raw_accel":-0.933794,"smooth_accel":-0.537363,"accel_momentum":0.047897,"rvol_3bar":[1.989044,0.98842,0.062891],"trend_3bar":"DECELERATING","projected_rvol":1.116951},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":0.0,"sell_vol":851.0,"unclassified_vol":0.0,"imbalance":-1.0,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.631127},"context":{"vwap":5.075883,"price_vs_vwap_pct":0.295847,"ema9":5.10523,"ema20":5.10753,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.706794,"dist_to_hod_atr":10.740632,"atr":0.00823,"spread_atr":1.215004,"own_change_pct":-0.391007,"rel_strength_pct":{"SPY":-0.409211,"IWM":-0.391007}},"vas":{"raw":-6,"score":0.6,"components":{"rvol":-2,"accel":-2,"momentum":0,"imbalance":-2},"missing":[],"volume_pressure":-0.062891},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"3ef16ffcd18b","ts":"2026-08-28T18:39:05+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":5.0126,"target":5.625,"target_label":"range_20d_high","reward_risk":6.43,"pos_in_5d_range_pct":44.0,"room_to_5d_high_atr":1.14},"price":5.095,"vwap":5.0759,"ext_from_open_pct":1.29,"max_ext_allowed_pct":4.0,"volume_pace":1.055,"trend":"flat","recent_slope_pct":-0.0392,"volatility":"high"},"price":5.095,"volume":{"bars":308,"last_bar_volume":862.0,"baseline_avg":1811.55,"bar_rvol":0.475836,"raw_accel":0.903342,"smooth_accel":-0.294882,"accel_momentum":0.242482,"rvol_3bar":[0.98842,0.062891,0.475836],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":4,"trade_rate":0.133333,"buy_vol":4.0,"sell_vol":15.0,"unclassified_vol":0.0,"imbalance":-0.578947,"bid":5.09,"ask":5.1,"spread_pct":0.196271,"quote_size_imbalance":null,"quote_age_s":0.76944},"context":{"vwap":5.075902,"price_vs_vwap_pct":0.376241,"ema9":5.103184,"ema20":5.106337,"ema_stack":false,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.627633,"dist_to_hod_atr":10.623286,"atr":0.007935,"spread_atr":1.260176,"own_change_pct":-0.293542,"rel_strength_pct":{"SPY":-0.296142,"IWM":-0.269896}},"vas":{"raw":-4,"score":1.9,"components":{"rvol":-2,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.275484},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"048f6ce6dea9","ts":"2026-08-28T18:39:30+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4027,"target":13.62,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":23.5,"room_to_5d_high_atr":1.3},"price":13.525,"vwap":13.5036,"ext_from_open_pct":0.19,"max_ext_allowed_pct":3.0,"volume_pace":0.554,"trend":"flat","recent_slope_pct":-0.0148,"volatility":"medium"},"price":13.525,"volume":{"bars":309,"last_bar_volume":2317.0,"baseline_avg":3171.3,"bar_rvol":0.730615,"raw_accel":-0.416226,"smooth_accel":0.320221,"accel_momentum":-0.060494,"rvol_3bar":[0.911336,1.203274,0.730615],"trend_3bar":"MIXED","projected_rvol":2.496768},"flow":{"window_s":30,"trades":54,"trade_rate":1.8,"buy_vol":1926.0,"sell_vol":2033.0,"unclassified_vol":0.0,"imbalance":-0.027027,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.555911},"context":{"vwap":13.503582,"price_vs_vwap_pct":0.158611,"ema9":13.535519,"ema20":13.535628,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.624541,"dist_to_hod_atr":8.544103,"atr":0.009948,"spread_atr":1.005189,"own_change_pct":-0.002955,"rel_strength_pct":{"SPY":-0.005555,"IWM":0.020691}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":2,"momentum":0,"imbalance":0},"missing":[],"volume_pressure":-0.019746},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"127946484b4a","ts":"2026-08-28T18:40:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.4027,"target":13.62,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":23.5,"room_to_5d_high_atr":1.3},"price":13.525,"vwap":13.5036,"ext_from_open_pct":0.19,"max_ext_allowed_pct":4.0,"volume_pace":0.553,"trend":"flat","recent_slope_pct":-0.0242,"volatility":"medium"},"price":13.525,"volume":{"bars":310,"last_bar_volume":5017.0,"baseline_avg":2987.5,"bar_rvol":1.679331,"raw_accel":1.1653,"smooth_accel":0.614945,"accel_momentum":0.294724,"rvol_3bar":[1.203274,0.730615,1.679331],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":18,"trade_rate":0.6,"buy_vol":464.0,"sell_vol":386.0,"unclassified_vol":0.0,"imbalance":0.091765,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":4.992622},"context":{"vwap":13.503632,"price_vs_vwap_pct":0.15824,"ema9":13.533435,"ema20":13.534625,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.624541,"dist_to_hod_atr":8.486121,"atr":0.010016,"spread_atr":0.998367,"own_change_pct":-0.091597,"rel_strength_pct":{"SPY":-0.057804,"IWM":-0.054439}},"vas":{"raw":5,"score":7.5,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":0},"missing":[],"volume_pressure":0.154103},"shadow":{"decision":"FAIL","failed":["imbalance","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9b11e8fb8929","ts":"2026-08-28T18:40:20+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4071,"target":13.62,"target_label":"premarket_high","reward_risk":0.74,"pos_in_5d_range_pct":24.1,"room_to_5d_high_atr":1.29},"price":13.5294,"vwap":13.5036,"ext_from_open_pct":0.22,"max_ext_allowed_pct":4.0,"volume_pace":0.553,"trend":"flat","recent_slope_pct":-0.0177,"volatility":"medium"},"price":13.5294,"volume":{"bars":310,"last_bar_volume":5017.0,"baseline_avg":2987.5,"bar_rvol":1.679331,"raw_accel":1.1653,"smooth_accel":0.614945,"accel_momentum":0.294724,"rvol_3bar":[1.203274,0.730615,1.679331],"trend_3bar":"MIXED","projected_rvol":1.126695},"flow":{"window_s":30,"trades":19,"trade_rate":0.633333,"buy_vol":683.0,"sell_vol":480.0,"unclassified_vol":0.0,"imbalance":0.174549,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":0.463831},"context":{"vwap":13.503632,"price_vs_vwap_pct":0.190823,"ema9":13.533435,"ema20":13.534625,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.592212,"dist_to_hod_atr":8.04684,"atr":0.010016,"spread_atr":0.998367,"own_change_pct":-0.091597,"rel_strength_pct":{"SPY":-0.057804,"IWM":-0.054439}},"vas":{"raw":6,"score":8.1,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":1},"missing":[],"volume_pressure":0.293125},"shadow":{"decision":"FAIL","failed":["rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ffc665ec118f","ts":"2026-08-28T18:42:05+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"not yet constructive (trend/EMA/VWAP alignment not bullish)","plan":{"state":"PASS","setup":"","stop":13.402,"target":13.62,"target_label":"premarket_high","reward_risk":0.78,"pos_in_5d_range_pct":23.5,"room_to_5d_high_atr":1.3},"price":13.5243,"vwap":13.5037,"ext_from_open_pct":0.18,"max_ext_allowed_pct":3.0,"volume_pace":0.55,"trend":"flat","recent_slope_pct":-0.0199,"volatility":"medium"},"price":13.5243,"volume":{"bars":312,"last_bar_volume":1321.0,"baseline_avg":2708.3,"bar_rvol":0.48776,"raw_accel":-0.471811,"smooth_accel":-0.052626,"accel_momentum":-0.039481,"rvol_3bar":[1.679331,0.783178,0.48776],"trend_3bar":"DECELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":407.0,"sell_vol":160.0,"unclassified_vol":0.0,"imbalance":0.435626,"bid":13.52,"ask":13.53,"spread_pct":0.073937,"quote_size_imbalance":null,"quote_age_s":1.014926},"context":{"vwap":13.503665,"price_vs_vwap_pct":0.15281,"ema9":13.529679,"ema20":13.532536,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.629684,"dist_to_hod_atr":8.288512,"atr":0.01034,"spread_atr":0.967154,"own_change_pct":-0.108598,"rel_strength_pct":{"SPY":-0.0969,"IWM":-0.095088}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":0,"momentum":0,"imbalance":2},"missing":[],"volume_pressure":0.212481},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"6a21e63fa581","ts":"2026-08-28T18:42:15+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.05% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":9.0,"target":9.5499,"target_label":"prev_day_high","reward_risk":0.02,"pos_in_5d_range_pct":99.5,"room_to_5d_high_atr":0.01},"price":9.5374,"vwap":8.385,"ext_from_open_pct":15.67,"max_ext_allowed_pct":4.0,"volume_pace":0.875,"trend":"flat","recent_slope_pct":0.5683,"volatility":"high"},"price":9.5374,"volume":{"bars":277,"last_bar_volume":14966.0,"baseline_avg":20033.95,"bar_rvol":0.747032,"raw_accel":0.748773,"smooth_accel":3.040355,"accel_momentum":2.924919,"rvol_3bar":[1.124097,0.414666,0.747032],"trend_3bar":"MIXED","projected_rvol":5.44336},"flow":{"window_s":30,"trades":130,"trade_rate":4.333333,"buy_vol":28753.0,"sell_vol":4838.0,"unclassified_vol":0.0,"imbalance":0.711947,"bid":9.45,"ask":9.55,"spread_pct":1.052632,"quote_size_imbalance":null,"quote_age_s":2.077976},"context":{"vwap":8.377742,"price_vs_vwap_pct":13.842132,"ema9":9.307007,"ema20":9.135064,"ema_stack":true,"ema_warm":true,"hod":9.45,"dist_to_hod_pct":0.924868,"dist_to_hod_atr":-0.511077,"atr":0.171011,"spread_atr":0.584756,"own_change_pct":1.886792,"rel_strength_pct":{"SPY":1.898491,"IWM":1.900303}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.531847},"shadow":{"decision":"FAIL","failed":["bar_rvol","spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"16048a0a50f4","ts":"2026-08-28T18:42:20+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"extended +15.5% above open $8.24 (max 4%: volume pace normal, buying strong)","plan":{"state":"PASS","setup":"","stop":9.0,"target":9.5499,"target_label":"prev_day_high","reward_risk":0.05,"pos_in_5d_range_pct":99.0,"room_to_5d_high_atr":0.02},"price":9.525,"vwap":8.3853,"ext_from_open_pct":15.52,"max_ext_allowed_pct":4.0,"volume_pace":0.875,"trend":"flat","recent_slope_pct":0.5421,"volatility":"high"},"price":9.525,"volume":{"bars":277,"last_bar_volume":14966.0,"baseline_avg":20033.95,"bar_rvol":0.747032,"raw_accel":0.748773,"smooth_accel":3.040355,"accel_momentum":2.924919,"rvol_3bar":[1.124097,0.414666,0.747032],"trend_3bar":"MIXED","projected_rvol":4.319867},"flow":{"window_s":30,"trades":140,"trade_rate":4.666667,"buy_vol":28671.0,"sell_vol":5905.0,"unclassified_vol":0.0,"imbalance":0.658434,"bid":9.5,"ask":9.55,"spread_pct":0.524934,"quote_size_imbalance":null,"quote_age_s":3.189303},"context":{"vwap":8.377742,"price_vs_vwap_pct":13.69412,"ema9":9.307007,"ema20":9.135064,"ema_stack":true,"ema_warm":true,"hod":9.45,"dist_to_hod_pct":0.793651,"dist_to_hod_atr":-0.438567,"atr":0.171011,"spread_atr":0.292378,"own_change_pct":1.886792,"rel_strength_pct":{"SPY":1.898491,"IWM":1.900303}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.491871},"shadow":{"decision":"FAIL","failed":["bar_rvol","spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"042c82602a07","ts":"2026-08-28T18:42:25+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"extended +16.6% above open $8.24 (max 4%: volume pace normal, buying strong)","plan":{"state":"WATCH","setup":"","stop":9.0,"target":9.62,"target_label":"clear air (typical 60-min move)","reward_risk":0.02,"pos_in_5d_range_pct":102.5,"room_to_5d_high_atr":-0.04},"price":9.61,"vwap":8.3921,"ext_from_open_pct":16.56,"max_ext_allowed_pct":4.0,"volume_pace":0.879,"trend":"flat","recent_slope_pct":0.7214,"volatility":"high"},"price":9.61,"volume":{"bars":277,"last_bar_volume":14966.0,"baseline_avg":20033.95,"bar_rvol":0.747032,"raw_accel":0.748773,"smooth_accel":3.040355,"accel_momentum":2.924919,"rvol_3bar":[1.124097,0.414666,0.747032],"trend_3bar":"MIXED","projected_rvol":6.129036},"flow":{"window_s":30,"trades":221,"trade_rate":7.366667,"buy_vol":48563.0,"sell_vol":8103.0,"unclassified_vol":0.0,"imbalance":0.714008,"bid":9.55,"ask":9.63,"spread_pct":0.834202,"quote_size_imbalance":null,"quote_age_s":2.194148},"context":{"vwap":8.377742,"price_vs_vwap_pct":14.708714,"ema9":9.307007,"ema20":9.135064,"ema_stack":true,"ema_warm":true,"hod":9.45,"dist_to_hod_pct":1.693122,"dist_to_hod_atr":-0.93561,"atr":0.171011,"spread_atr":0.467805,"own_change_pct":1.886792,"rel_strength_pct":{"SPY":1.898491,"IWM":1.900303}},"vas":{"raw":4,"score":6.9,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":2},"missing":[],"volume_pressure":0.533387},"shadow":{"decision":"FAIL","failed":["bar_rvol","spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"b77458640bfb","ts":"2026-08-28T18:43:00+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 2.51% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":9.0,"target":9.5499,"target_label":"prev_day_high","reward_risk":0.1,"pos_in_5d_range_pct":97.9,"room_to_5d_high_atr":0.04},"price":9.5,"vwap":8.3965,"ext_from_open_pct":15.22,"max_ext_allowed_pct":3.0,"volume_pace":0.881,"trend":"flat","recent_slope_pct":0.4892,"volatility":"high"},"price":9.5,"volume":{"bars":277,"last_bar_volume":14966.0,"baseline_avg":20033.95,"bar_rvol":0.747032,"raw_accel":0.748773,"smooth_accel":3.040355,"accel_momentum":2.924919,"rvol_3bar":[1.124097,0.414666,0.747032],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":75,"trade_rate":2.5,"buy_vol":1316.0,"sell_vol":10293.0,"unclassified_vol":0.0,"imbalance":-0.773279,"bid":9.46,"ask":9.7,"spread_pct":2.505219,"quote_size_imbalance":null,"quote_age_s":1.748906},"context":{"vwap":8.377742,"price_vs_vwap_pct":13.395711,"ema9":9.307007,"ema20":9.135064,"ema_stack":true,"ema_warm":true,"hod":9.45,"dist_to_hod_pct":0.529101,"dist_to_hod_atr":-0.292378,"atr":0.171011,"spread_atr":1.403415,"own_change_pct":1.886792,"rel_strength_pct":{"SPY":1.901093,"IWM":1.89355}},"vas":{"raw":0,"score":4.4,"components":{"rvol":-2,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.577664},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","spread"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"97ec80d24834","ts":"2026-08-28T18:43:05+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 2.51% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":9.0,"target":9.59,"target_label":"clear air (typical 60-min move)","reward_risk":0.02,"pos_in_5d_range_pct":101.2,"room_to_5d_high_atr":-0.02},"price":9.58,"vwap":8.3965,"ext_from_open_pct":16.19,"max_ext_allowed_pct":3.0,"volume_pace":0.881,"trend":"flat","recent_slope_pct":0.4724,"volatility":"high"},"price":9.58,"volume":{"bars":278,"last_bar_volume":69245.0,"baseline_avg":19675.6,"bar_rvol":3.519334,"raw_accel":3.626821,"smooth_accel":2.195405,"accel_momentum":-0.84495,"rvol_3bar":[0.414666,0.747032,3.519334],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":70,"trade_rate":2.333333,"buy_vol":1145.0,"sell_vol":10179.0,"unclassified_vol":0.0,"imbalance":-0.797775,"bid":9.46,"ask":9.7,"spread_pct":2.505219,"quote_size_imbalance":null,"quote_age_s":6.748906},"context":{"vwap":8.396477,"price_vs_vwap_pct":14.095471,"ema9":9.345606,"ema20":9.169819,"ema_stack":true,"ema_warm":true,"hod":9.7,"dist_to_hod_pct":-1.237113,"dist_to_hod_atr":0.679296,"atr":0.176653,"spread_atr":1.358592,"own_change_pct":2.095648,"rel_strength_pct":{"SPY":2.109948,"IWM":2.102405}},"vas":{"raw":3,"score":6.2,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":-2},"missing":[],"volume_pressure":-2.807635},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"535ed1ddb91b","ts":"2026-08-28T18:43:20+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"extended +15.5% above open $8.24 (max 3%: volume pace normal, buying normal)","plan":{"state":"PASS","setup":"","stop":9.0,"target":9.5499,"target_label":"prev_day_high","reward_risk":0.06,"pos_in_5d_range_pct":98.8,"room_to_5d_high_atr":0.02},"price":9.5211,"vwap":8.3967,"ext_from_open_pct":15.48,"max_ext_allowed_pct":3.0,"volume_pace":0.881,"trend":"flat","recent_slope_pct":0.3484,"volatility":"high"},"price":9.5211,"volume":{"bars":278,"last_bar_volume":69245.0,"baseline_avg":19675.6,"bar_rvol":3.519334,"raw_accel":3.626821,"smooth_accel":2.195405,"accel_momentum":-0.84495,"rvol_3bar":[0.414666,0.747032,3.519334],"trend_3bar":"ACCELERATING","projected_rvol":0.114965},"flow":{"window_s":30,"trades":37,"trade_rate":1.233333,"buy_vol":450.0,"sell_vol":552.0,"unclassified_vol":0.0,"imbalance":-0.101796,"bid":9.5,"ask":9.58,"spread_pct":0.838574,"quote_size_imbalance":null,"quote_age_s":1.059179},"context":{"vwap":8.396477,"price_vs_vwap_pct":13.393987,"ema9":9.345606,"ema20":9.169819,"ema_stack":true,"ema_warm":true,"hod":9.7,"dist_to_hod_pct":-1.84433,"dist_to_hod_atr":1.012717,"atr":0.176653,"spread_atr":0.452864,"own_change_pct":2.095648,"rel_strength_pct":{"SPY":2.109948,"IWM":2.102405}},"vas":{"raw":4,"score":6.9,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":-1},"missing":[],"volume_pressure":-0.358256},"shadow":{"decision":"FAIL","failed":["imbalance","spread"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2d349fd180dc","ts":"2026-08-28T18:44:00+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 2.19% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":9.0,"target":9.71,"target_label":"clear air (typical 60-min move)","reward_risk":0.01,"pos_in_5d_range_pct":106.2,"room_to_5d_high_atr":-0.11},"price":9.7,"vwap":8.4001,"ext_from_open_pct":17.65,"max_ext_allowed_pct":3.0,"volume_pace":0.881,"trend":"flat","recent_slope_pct":0.7241,"volatility":"high"},"price":9.7,"volume":{"bars":278,"last_bar_volume":69245.0,"baseline_avg":19675.6,"bar_rvol":3.519334,"raw_accel":3.626821,"smooth_accel":2.195405,"accel_momentum":-0.84495,"rvol_3bar":[0.414666,0.747032,3.519334],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":89,"trade_rate":2.966667,"buy_vol":2232.0,"sell_vol":1825.0,"unclassified_vol":0.0,"imbalance":0.10032,"bid":9.49,"ask":9.7,"spread_pct":2.18864,"quote_size_imbalance":null,"quote_age_s":0.15717},"context":{"vwap":8.396477,"price_vs_vwap_pct":15.524642,"ema9":9.345606,"ema20":9.169819,"ema_stack":true,"ema_warm":true,"hod":9.7,"dist_to_hod_pct":0.0,"dist_to_hod_atr":0.0,"atr":0.176653,"spread_atr":1.188768,"own_change_pct":2.095648,"rel_strength_pct":{"SPY":2.108648,"IWM":2.100716}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":-1,"imbalance":1},"missing":[],"volume_pressure":0.353061},"shadow":{"decision":"FAIL","failed":["spread"],"missing":[],"rules":{"vas":true,"imbalance":true,"bar_rvol":true,"spread":false,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"2884cd7692e1","ts":"2026-08-28T18:52:15+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 2.83% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":8.937,"target":9.5499,"target_label":"prev_day_high","reward_risk":0.13,"pos_in_5d_range_pct":97.0,"room_to_5d_high_atr":0.05},"price":9.477,"vwap":8.4915,"ext_from_open_pct":14.94,"max_ext_allowed_pct":3.0,"volume_pace":0.917,"trend":"flat","recent_slope_pct":-0.7765,"volatility":"high"},"price":9.477,"volume":{"bars":287,"last_bar_volume":85509.0,"baseline_avg":23464.9,"bar_rvol":3.644124,"raw_accel":-0.02887,"smooth_accel":2.395392,"accel_momentum":1.816189,"rvol_3bar":[0.455978,4.295799,3.644124],"trend_3bar":"MIXED","projected_rvol":3.245187},"flow":{"window_s":30,"trades":259,"trade_rate":8.633333,"buy_vol":4708.0,"sell_vol":23467.0,"unclassified_vol":0.0,"imbalance":-0.665803,"bid":9.41,"ask":9.68,"spread_pct":2.828706,"quote_size_imbalance":null,"quote_age_s":0.228744},"context":{"vwap":8.487256,"price_vs_vwap_pct":11.661535,"ema9":9.697054,"ema20":9.514492,"ema_stack":false,"ema_warm":true,"hod":10.48,"dist_to_hod_pct":-9.570611,"dist_to_hod_atr":4.128088,"atr":0.24297,"spread_atr":1.11125,"own_change_pct":-2.267796,"rel_strength_pct":{"SPY":-2.19628,"IWM":-2.245838}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.426269},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"32bf747e48ab","ts":"2026-08-28T18:52:20+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 2.51% exceeds max 1.0%","plan":{"state":"WATCH","setup":"","stop":9.07,"target":9.5625,"target_label":"clear air (typical 60-min move)","reward_risk":0.03,"pos_in_5d_range_pct":100.0,"room_to_5d_high_atr":-0.0},"price":9.55,"vwap":8.4924,"ext_from_open_pct":15.83,"max_ext_allowed_pct":3.0,"volume_pace":0.918,"trend":"flat","recent_slope_pct":-0.6251,"volatility":"high"},"price":9.55,"volume":{"bars":287,"last_bar_volume":85509.0,"baseline_avg":23464.9,"bar_rvol":3.644124,"raw_accel":-0.02887,"smooth_accel":2.395392,"accel_momentum":1.816189,"rvol_3bar":[0.455978,4.295799,3.644124],"trend_3bar":"MIXED","projected_rvol":2.765535},"flow":{"window_s":30,"trades":252,"trade_rate":8.4,"buy_vol":4662.0,"sell_vol":24635.0,"unclassified_vol":0.0,"imbalance":-0.681742,"bid":9.43,"ask":9.67,"spread_pct":2.513089,"quote_size_imbalance":null,"quote_age_s":0.460494},"context":{"vwap":8.487256,"price_vs_vwap_pct":12.521648,"ema9":9.697054,"ema20":9.514492,"ema_stack":false,"ema_warm":true,"hod":10.48,"dist_to_hod_pct":-8.874046,"dist_to_hod_atr":3.827639,"atr":0.24297,"spread_atr":0.987778,"own_change_pct":-2.267796,"rel_strength_pct":{"SPY":-2.19628,"IWM":-2.245838}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-2.484353},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"ffcab6635d14","ts":"2026-08-28T18:52:30+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"spread 1.68% exceeds max 1.0%","plan":{"state":"PASS","setup":"","stop":9.1856,"target":9.5499,"target_label":"prev_day_high","reward_risk":0.09,"pos_in_5d_range_pct":98.8,"room_to_5d_high_atr":0.02},"price":9.52,"vwap":8.4932,"ext_from_open_pct":15.46,"max_ext_allowed_pct":3.0,"volume_pace":0.918,"trend":"flat","recent_slope_pct":-0.6873,"volatility":"high"},"price":9.52,"volume":{"bars":287,"last_bar_volume":85509.0,"baseline_avg":23464.9,"bar_rvol":3.644124,"raw_accel":-0.02887,"smooth_accel":2.395392,"accel_momentum":1.816189,"rvol_3bar":[0.455978,4.295799,3.644124],"trend_3bar":"MIXED","projected_rvol":2.129223},"flow":{"window_s":30,"trades":219,"trade_rate":7.3,"buy_vol":5693.0,"sell_vol":19288.0,"unclassified_vol":0.0,"imbalance":-0.544214,"bid":9.44,"ask":9.6,"spread_pct":1.680672,"quote_size_imbalance":null,"quote_age_s":0.610195},"context":{"vwap":8.487256,"price_vs_vwap_pct":12.168177,"ema9":9.697054,"ema20":9.514492,"ema_stack":false,"ema_warm":true,"hod":10.48,"dist_to_hod_pct":-9.160305,"dist_to_hod_atr":3.951111,"atr":0.24297,"spread_atr":0.658518,"own_change_pct":-2.267796,"rel_strength_pct":{"SPY":-2.19628,"IWM":-2.245838}},"vas":{"raw":5,"score":7.5,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-1.983182},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"1eac5869bf2b","ts":"2026-08-28T18:52:40+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"extended +16.4% above open $8.24 (max 3%: volume pace normal, buying normal)","plan":{"state":"WATCH","setup":"","stop":9.25,"target":9.6128,"target_label":"clear air (typical 60-min move)","reward_risk":0.04,"pos_in_5d_range_pct":102.1,"room_to_5d_high_atr":-0.04},"price":9.6003,"vwap":8.494,"ext_from_open_pct":16.44,"max_ext_allowed_pct":3.0,"volume_pace":0.918,"trend":"flat","recent_slope_pct":-0.5212,"volatility":"high"},"price":9.6003,"volume":{"bars":287,"last_bar_volume":85509.0,"baseline_avg":23464.9,"bar_rvol":3.644124,"raw_accel":-0.02887,"smooth_accel":2.395392,"accel_momentum":1.816189,"rvol_3bar":[0.455978,4.295799,3.644124],"trend_3bar":"MIXED","projected_rvol":1.792017},"flow":{"window_s":30,"trades":164,"trade_rate":5.466667,"buy_vol":4323.0,"sell_vol":6727.0,"unclassified_vol":0.0,"imbalance":-0.217557,"bid":9.59,"ask":9.67,"spread_pct":0.830737,"quote_size_imbalance":null,"quote_age_s":2.157544},"context":{"vwap":8.487256,"price_vs_vwap_pct":13.114301,"ema9":9.697054,"ema20":9.514492,"ema_stack":false,"ema_warm":true,"hod":10.48,"dist_to_hod_pct":-8.394084,"dist_to_hod_atr":3.620617,"atr":0.24297,"spread_atr":0.329259,"own_change_pct":-2.267796,"rel_strength_pct":{"SPY":-2.19628,"IWM":-2.245838}},"vas":{"raw":6,"score":8.1,"components":{"rvol":3,"accel":3,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.792803},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"daa9746b6c24","ts":"2026-08-28T18:53:35+00:00","symbol":"XHLD","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":9.1617,"target":9.5499,"target_label":"prev_day_high","reward_risk":0.16,"pos_in_5d_range_pct":97.8,"room_to_5d_high_atr":0.04},"price":9.4961,"vwap":8.5036,"ext_from_open_pct":15.17,"max_ext_allowed_pct":3.0,"volume_pace":0.924,"trend":"flat","recent_slope_pct":-1.075,"volatility":"high"},"price":9.4961,"volume":{"bars":288,"last_bar_volume":44208.0,"baseline_avg":27286.2,"bar_rvol":1.62016,"raw_accel":-0.483002,"smooth_accel":5.160165,"accel_momentum":2.764774,"rvol_3bar":[4.295799,3.644124,1.62016],"trend_3bar":"DECELERATING","projected_rvol":1.576433},"flow":{"window_s":30,"trades":218,"trade_rate":7.266667,"buy_vol":7375.0,"sell_vol":14956.0,"unclassified_vol":0.0,"imbalance":-0.339483,"bid":9.41,"ask":9.5,"spread_pct":0.951877,"quote_size_imbalance":null,"quote_age_s":1.7529},"context":{"vwap":8.497763,"price_vs_vwap_pct":11.748229,"ema9":9.668643,"ema20":9.51835,"ema_stack":false,"ema_warm":true,"hod":10.48,"dist_to_hod_pct":-9.388359,"dist_to_hod_atr":3.831914,"atr":0.256765,"spread_atr":0.350516,"own_change_pct":-2.599388,"rel_strength_pct":{"SPY":-2.505772,"IWM":-2.535219}},"vas":{"raw":3,"score":6.2,"components":{"rvol":1,"accel":3,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.550017},"shadow":{"decision":"FAIL","failed":["imbalance","spread","rel_strength","not_decelerating"],"missing":[],"rules":{"vas":true,"imbalance":false,"bar_rvol":true,"spread":false,"rel_strength":false,"not_decelerating":false}}}
{"type":"snapshot","id":"c5ddcdee5f5c","ts":"2026-08-28T19:01:10+00:00","symbol":"EMBC","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":5.0326,"target":5.625,"target_label":"range_20d_high","reward_risk":6.19,"pos_in_5d_range_pct":47.0,"room_to_5d_high_atr":1.08},"price":5.115,"vwap":5.0774,"ext_from_open_pct":1.69,"max_ext_allowed_pct":3.0,"volume_pace":1.031,"trend":"flat","recent_slope_pct":0.002,"volatility":"high"},"price":5.115,"volume":{"bars":330,"last_bar_volume":435.0,"baseline_avg":1824.25,"bar_rvol":0.238454,"raw_accel":-0.15534,"smooth_accel":-0.75873,"accel_momentum":-0.395953,"rvol_3bar":[0.184232,0.281367,0.238454],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":10,"trade_rate":0.333333,"buy_vol":383.0,"sell_vol":132.0,"unclassified_vol":0.0,"imbalance":0.487379,"bid":5.11,"ask":5.12,"spread_pct":0.195503,"quote_size_imbalance":null,"quote_age_s":0.453711},"context":{"vwap":5.077394,"price_vs_vwap_pct":0.740662,"ema9":5.111241,"ema20":5.109021,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-1.241481,"dist_to_hod_atr":6.842302,"atr":0.009397,"spread_atr":1.064122,"own_change_pct":0.176263,"rel_strength_pct":{"SPY":0.181455,"IWM":0.189782}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.116217},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"706ec2065b79","ts":"2026-08-28T19:01:30+00:00","symbol":"EMBC","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":5.0476,"target":5.625,"target_label":"range_20d_high","reward_risk":6.01,"pos_in_5d_range_pct":49.3,"room_to_5d_high_atr":1.03},"price":5.13,"vwap":5.0777,"ext_from_open_pct":1.99,"max_ext_allowed_pct":4.0,"volume_pace":1.037,"trend":"flat","recent_slope_pct":0.0606,"volatility":"high"},"price":5.13,"volume":{"bars":330,"last_bar_volume":435.0,"baseline_avg":1824.25,"bar_rvol":0.238454,"raw_accel":-0.15534,"smooth_accel":-0.75873,"accel_momentum":-0.395953,"rvol_3bar":[0.184232,0.281367,0.238454],"trend_3bar":"MIXED","projected_rvol":6.02549},"flow":{"window_s":30,"trades":58,"trade_rate":1.933333,"buy_vol":4626.0,"sell_vol":870.0,"unclassified_vol":0.0,"imbalance":0.683406,"bid":5.12,"ask":5.13,"spread_pct":0.195122,"quote_size_imbalance":null,"quote_age_s":0.67667},"context":{"vwap":5.077394,"price_vs_vwap_pct":1.036089,"ema9":5.111241,"ema20":5.109021,"ema_stack":true,"ema_warm":true,"hod":5.1793,"dist_to_hod_pct":-0.951866,"dist_to_hod_atr":5.24612,"atr":0.009397,"spread_atr":1.064122,"own_change_pct":0.176263,"rel_strength_pct":{"SPY":0.181455,"IWM":0.189782}},"vas":{"raw":-3,"score":2.5,"components":{"rvol":-2,"accel":-2,"momentum":-1,"imbalance":2},"missing":[],"volume_pressure":0.162961},"shadow":{"decision":"FAIL","failed":["vas","bar_rvol"],"missing":[],"rules":{"vas":false,"imbalance":true,"bar_rvol":false,"spread":true,"rel_strength":true,"not_decelerating":true}}}
{"type":"snapshot","id":"a765c07d48cc","ts":"2026-08-28T19:12:05+00:00","symbol":"JBS","event":"REJECT","bot":{"state":"REJECT","reason":"lower-highs/lower-lows structure","plan":{"state":"PASS","setup":"","stop":13.4477,"target":13.62,"target_label":"premarket_high","reward_risk":0.41,"pos_in_5d_range_pct":29.0,"room_to_5d_high_atr":1.2},"price":13.57,"vwap":13.5066,"ext_from_open_pct":0.52,"max_ext_allowed_pct":3.0,"volume_pace":0.531,"trend":"flat","recent_slope_pct":-0.0345,"volatility":"medium"},"price":13.57,"volume":{"bars":342,"last_bar_volume":5593.0,"baseline_avg":4014.2,"bar_rvol":1.393304,"raw_accel":0.596176,"smooth_accel":-0.177167,"accel_momentum":0.399428,"rvol_3bar":[0.421009,0.852959,1.393304],"trend_3bar":"ACCELERATING","projected_rvol":null},"flow":{"window_s":30,"trades":13,"trade_rate":0.433333,"buy_vol":101.0,"sell_vol":507.0,"unclassified_vol":0.0,"imbalance":-0.667763,"bid":13.57,"ask":13.58,"spread_pct":0.073665,"quote_size_imbalance":null,"quote_age_s":2.425543},"context":{"vwap":13.50657,"price_vs_vwap_pct":0.469623,"ema9":13.582049,"ema20":13.574938,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.293902,"dist_to_hod_atr":2.974702,"atr":0.013447,"spread_atr":0.743675,"own_change_pct":-0.11993,"rel_strength_pct":{"SPY":-0.166757,"IWM":-0.158784}},"vas":{"raw":-2,"score":3.1,"components":{"rvol":0,"accel":-1,"momentum":1,"imbalance":-2},"missing":[],"volume_pressure":-0.930397},"shadow":{"decision":"FAIL","failed":["vas","imbalance","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":true,"spread":true,"rel_strength":false,"not_decelerating":true}}}
{"type":"snapshot","id":"9b6b9545e6a8","ts":"2026-08-28T19:14:10+00:00","symbol":"JBS","event":"WAIT","bot":{"state":"WAIT","reason":"holding 0.0s / 18s","plan":{"state":"PASS","setup":"","stop":13.4527,"target":13.62,"target_label":"premarket_high","reward_risk":0.37,"pos_in_5d_range_pct":29.6,"room_to_5d_high_atr":1.19},"price":13.575,"vwap":13.5067,"ext_from_open_pct":0.56,"max_ext_allowed_pct":3.0,"volume_pace":0.528,"trend":"flat","recent_slope_pct":-0.0127,"volatility":"medium"},"price":13.575,"volume":{"bars":344,"last_bar_volume":1608.0,"baseline_avg":4110.55,"bar_rvol":0.391189,"raw_accel":0.486137,"smooth_accel":0.165635,"accel_momentum":0.364517,"rvol_3bar":[1.393304,0.260867,0.391189],"trend_3bar":"MIXED","projected_rvol":null},"flow":{"window_s":30,"trades":12,"trade_rate":0.4,"buy_vol":554.0,"sell_vol":1009.0,"unclassified_vol":0.0,"imbalance":-0.291107,"bid":13.57,"ask":13.58,"spread_pct":0.073665,"quote_size_imbalance":null,"quote_age_s":1.723816},"context":{"vwap":13.50664,"price_vs_vwap_pct":0.506121,"ema9":13.579731,"ema20":13.575094,"ema_stack":false,"ema_warm":true,"hod":13.61,"dist_to_hod_pct":-0.257164,"dist_to_hod_atr":2.619724,"atr":0.01336,"spread_atr":0.748492,"own_change_pct":-0.132442,"rel_strength_pct":{"SPY":-0.137643,"IWM":-0.129064}},"vas":{"raw":-1,"score":3.8,"components":{"rvol":-2,"accel":1,"momentum":1,"imbalance":-1},"missing":[],"volume_pressure":-0.113878},"shadow":{"decision":"FAIL","failed":["vas","imbalance","bar_rvol","rel_strength"],"missing":[],"rules":{"vas":false,"imbalance":false,"bar_rvol":false,"spread":true,"rel_strength":false,"not_decelerating":true}}}
