{"indicator":{"schema":"mastermind.indicator/v1","indicator":{"id":"confluence_rsimacd_stochrsi_mtf","title":"RSI-MACD × StochRSI MTF Confluence","engine":"python:signal_layer.confluence_v2@v2","source_lang":"python","source_hash":"sha256:f27a407bea861a2217477beb98c398abc62845d2bcc38d331d4963c06471986d","macd_kind":"rsi_based","params":{"confW":8,"rsiLen":14,"useMTF":true,"confirmTF":"1W","macd_on":"rsi","macd_fast":14,"macd_slow":60,"macd_signal":5,"buy_rsi_max":65,"ext_rsi":70,"rev_bars":3,"no_cut_exits":true,"reclaim_lane":true}},"symbol":"DFH","timeframe":"3D","as_of":"2026-09-14T00:00:00Z","bar_quality":"real_ohlc","signal_era":"gc_v2_wo2","signals":[{"ts":"2021-06-10","known_ts":"2021-06-10","bar_index":33,"type":"SELL","basis":"structure_stop","strength":0.45,"price":24.32,"stop_level":27.36,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false}},{"ts":"2021-06-14","known_ts":"2021-06-14","bar_index":33,"type":"SELL","basis":"structure_stop","strength":0.45,"price":23.54,"stop_level":27.36,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false}},{"ts":"2021-08-02","known_ts":"2021-08-04","bar_index":45,"type":"BUY","strength":0.45,"price":23.56,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"quality":"regime_blocked","quality_reason":"bear_block: monthly-bear & below-200 & 2W-not-bull","tier":null,"score":null,"blocked":true},{"ts":"2021-10-13","known_ts":"2021-10-15","bar_index":62,"type":"BOTTOM_WATCH","scored":false,"subtype":"early_dot","quality":"washout_early_watch","quality_reason":"early momentum turn inside a point-in-time own-name washout","trigger_ts":"2021-10-13","trigger_known_ts":"2021-10-15","strength":0.45,"price":16.52,"reasons":["bear_block","own_name_washout","early_momentum_turn"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.494647,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":15.639,"atr14":0.892569,"stop_level":15.192715,"risk_basis":"daily_ohlc_atr14"},{"ts":"2021-11-03","known_ts":"2021-11-05","bar_index":67,"type":"BOTTOM_WATCH","scored":false,"subtype":"early_dot","quality":"washout_early_watch","quality_reason":"early momentum turn inside a point-in-time own-name washout","trigger_ts":"2021-11-03","trigger_known_ts":"2021-11-05","strength":0.45,"price":16.23,"reasons":["bear_block","own_name_washout","early_momentum_turn"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.503518,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":15.25,"atr14":0.751426,"stop_level":14.874287,"risk_basis":"daily_ohlc_atr14"},{"ts":"2021-11-08","known_ts":"2021-11-10","bar_index":68,"type":"BUY","strength":0.45,"price":16.65,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"quality":"regime_blocked","quality_reason":"bear_block: monthly-bear & below-200 & 2W-not-bull","tier":null,"score":null,"blocked":true},{"ts":"2021-11-08","known_ts":"2021-11-10","bar_index":68,"type":"BOTTOM_WATCH","scored":false,"subtype":"blocked_trigger","quality":"washout_trigger_watch","quality_reason":"blocked Oracle turn inside a point-in-time own-name washout","trigger_ts":"2021-11-08","trigger_known_ts":"2021-11-10","strength":0.45,"price":16.65,"reasons":["bear_block","own_name_washout","raw_buy_trigger"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.49067,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":15.25,"atr14":0.84057,"stop_level":14.829715,"risk_basis":"daily_ohlc_atr14"},{"ts":"2021-12-03","known_ts":"2021-12-07","bar_index":74,"type":"BOTTOM_WATCH","scored":false,"subtype":"early_dot","quality":"washout_early_watch","quality_reason":"early momentum turn inside a point-in-time own-name washout","trigger_ts":"2021-12-03","trigger_known_ts":"2021-12-07","strength":0.588,"price":18.63,"reasons":["bear_block","own_name_washout","early_momentum_turn"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.430101,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"sweep_low":16.305,"atr14":0.930016,"stop_level":15.839992,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-01-20","known_ts":"2022-01-20","bar_index":84,"type":"SELL","basis":"structure_stop","strength":0.588,"price":17.71,"stop_level":18.02,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-01-24","known_ts":"2022-01-24","bar_index":85,"type":"RECLAIM","strength":0.588,"price":18.4,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2022-01-20 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"anchor_ts":"2022-01-20","prior_stop_level":18.02,"sweep_low":16.88,"atr14":0.928925,"stop_level":16.415537,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-02-16","known_ts":"2022-02-18","bar_index":91,"type":"BUY","strength":0.588,"price":19.06,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"quality":"regime_blocked","quality_reason":"bear_block: monthly-bear & below-200 & 2W-not-bull","tier":null,"score":null,"blocked":true,"retro_override":true,"retro_ctx":{"group_id":"Consumer Discretionary"}},{"ts":"2022-02-25","known_ts":"2022-02-25","bar_index":93,"type":"RECLAIM","strength":0.725,"price":20.82,"scored":true,"quality":"block_repair","quality_reason":"bear-block legs repaired after the 2022-02-16 blocked entry","reasons":["bear_block_cleared","macd_cross_still_live"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2022-03-23","known_ts":"2022-03-23","bar_index":99,"type":"SELL","basis":"structure_stop","strength":0.725,"price":19.49,"stop_level":20.4,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-03-25","known_ts":"2022-03-25","bar_index":99,"type":"SELL","basis":"structure_stop","strength":0.725,"price":17.97,"stop_level":20.4,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-06-09","known_ts":"2022-06-09","bar_index":117,"type":"SELL","basis":"structure_stop","strength":0.588,"price":15.14,"stop_level":15.63,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":true}},{"ts":"2022-07-15","known_ts":"2022-07-19","bar_index":125,"type":"BUY","strength":0.588,"price":12.68,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":true},"quality":"block","quality_reason":"counter-trend, no 200-reclaim/hold","tier":"base","score":20,"retro_override":true,"retro_ctx":{"group_id":"Consumer Discretionary"}},{"ts":"2022-08-19","known_ts":"2022-08-19","bar_index":133,"type":"SELL","basis":"structure_stop","strength":0.588,"price":12.04,"stop_level":12.26,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-08-24","known_ts":"2022-08-24","bar_index":134,"type":"SELL","basis":"structure_stop","strength":0.588,"price":11.43,"stop_level":12.26,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-08-25","known_ts":"2022-08-25","bar_index":134,"type":"RECLAIM","strength":0.588,"price":12.3,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2022-08-19 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"anchor_ts":"2022-08-19","prior_stop_level":12.26,"sweep_low":11.04,"atr14":0.760034,"stop_level":10.659983,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-08-25","known_ts":"2022-08-25","bar_index":134,"type":"RECLAIM","strength":0.588,"price":12.3,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2022-08-24 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"anchor_ts":"2022-08-24","prior_stop_level":12.26,"sweep_low":11.11,"atr14":0.760034,"stop_level":10.729983,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-09-14","known_ts":"2022-09-14","bar_index":139,"type":"SELL","basis":"structure_stop","strength":0.588,"price":11.51,"stop_level":12.09,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-09-19","known_ts":"2022-09-19","bar_index":140,"type":"SELL","basis":"structure_stop","strength":0.588,"price":11.3,"stop_level":12.09,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-09-27","known_ts":"2022-09-29","bar_index":142,"type":"BOTTOM_WATCH","scored":false,"subtype":"early_dot","quality":"washout_early_watch","quality_reason":"early momentum turn inside a point-in-time own-name washout","trigger_ts":"2022-09-27","trigger_known_ts":"2022-09-29","strength":0.45,"price":10.54,"reasons":["bear_block","own_name_washout","early_momentum_turn"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.542137,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":9.68,"atr14":0.569715,"stop_level":9.395142,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-10-05","known_ts":"2022-10-07","bar_index":144,"type":"BUY","strength":0.45,"price":10.84,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"quality":"regime_blocked","quality_reason":"bear_block: monthly-bear & below-200 & 2W-not-bull","tier":null,"score":null,"blocked":true,"retro_override":true,"retro_ctx":{"group_id":"Consumer Discretionary"}},{"ts":"2022-10-05","known_ts":"2022-10-07","bar_index":144,"type":"BOTTOM_WATCH","scored":false,"subtype":"blocked_trigger","quality":"washout_trigger_watch","quality_reason":"blocked Oracle turn inside a point-in-time own-name washout","trigger_ts":"2022-10-05","trigger_known_ts":"2022-10-07","strength":0.45,"price":10.84,"reasons":["bear_block","own_name_washout","raw_buy_trigger"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.529105,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":9.791,"atr14":0.534111,"stop_level":9.523945,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-10-21","known_ts":"2022-10-25","bar_index":148,"type":"BUY","strength":0.45,"price":10.68,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"quality":"regime_blocked","quality_reason":"bear_block: monthly-bear & below-200 & 2W-not-bull","tier":null,"score":null,"blocked":true,"retro_override":true,"retro_ctx":{"group_id":"Consumer Discretionary"}},{"ts":"2022-10-21","known_ts":"2022-10-25","bar_index":148,"type":"BOTTOM_WATCH","scored":false,"subtype":"blocked_trigger","quality":"washout_trigger_watch","quality_reason":"blocked Oracle turn inside a point-in-time own-name washout","trigger_ts":"2022-10-21","trigger_known_ts":"2022-10-25","strength":0.45,"price":10.68,"reasons":["bear_block","own_name_washout","raw_buy_trigger"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.536056,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":9.39,"atr14":0.557685,"stop_level":9.111158,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-10-26","known_ts":"2022-10-28","bar_index":149,"type":"BOTTOM_WATCH","scored":false,"subtype":"early_dot","quality":"washout_early_watch","quality_reason":"early momentum turn inside a point-in-time own-name washout","trigger_ts":"2022-10-26","trigger_known_ts":"2022-10-28","strength":0.45,"price":11.06,"reasons":["bear_block","own_name_washout","early_momentum_turn"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.519548,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":9.39,"atr14":0.557063,"stop_level":9.111468,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-11-16","known_ts":"2022-11-16","bar_index":154,"type":"SELL","basis":"structure_stop","strength":0.588,"price":9.8,"stop_level":10.01,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-11-18","known_ts":"2022-11-18","bar_index":154,"type":"RECLAIM","strength":0.588,"price":10.06,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2022-11-16 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"anchor_ts":"2022-11-16","prior_stop_level":10.01,"sweep_low":9.4,"atr14":0.632992,"stop_level":9.083504,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-11-22","known_ts":"2022-11-22","bar_index":155,"type":"SELL","basis":"structure_stop","strength":0.588,"price":9.3,"stop_level":10.01,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-11-25","known_ts":"2022-11-25","bar_index":156,"type":"SELL","basis":"structure_stop","strength":0.588,"price":9.87,"stop_level":10.01,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2023-01-27","known_ts":"2023-01-27","bar_index":170,"type":"RECLAIM","strength":0.725,"price":12.64,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2022-11-25 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2023-03-29","known_ts":"2023-03-31","bar_index":184,"type":"BUY","strength":0.863,"price":13.25,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false},"quality":"block","quality_reason":"failed reclaim-and-hold","tier":"base","score":20},{"ts":"2023-11-06","known_ts":"2023-11-08","bar_index":235,"type":"BUY","strength":0.725,"price":22.98,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":true},"quality":"block","quality_reason":"failed reclaim-and-hold","tier":"base","score":70},{"ts":"2024-01-24","known_ts":"2024-01-24","bar_index":252,"type":"SELL","basis":"structure_stop","strength":1.0,"price":30.82,"stop_level":31.12,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2024-01-25","known_ts":"2024-01-25","bar_index":253,"type":"RECLAIM","strength":1.0,"price":31.9,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2024-01-24 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true},"anchor_ts":"2024-01-24","prior_stop_level":31.12,"sweep_low":30.69,"atr14":1.482563,"stop_level":29.948718,"risk_basis":"daily_ohlc_atr14"},{"ts":"2024-02-07","known_ts":"2024-02-07","bar_index":256,"type":"RECLAIM","strength":1.0,"price":32.45,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2024-01-24 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2024-03-18","known_ts":"2024-03-18","bar_index":265,"type":"SELL","basis":"structure_stop","strength":1.0,"price":35.3,"stop_level":37.73,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2024-03-20","known_ts":"2024-03-20","bar_index":265,"type":"RECLAIM","strength":1.0,"price":38.75,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2024-03-18 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true},"anchor_ts":"2024-03-18","prior_stop_level":37.73,"sweep_low":34.506,"atr14":2.182683,"stop_level":33.414659,"risk_basis":"daily_ohlc_atr14"},{"ts":"2024-04-04","known_ts":"2024-04-04","bar_index":269,"type":"RECLAIM","strength":1.0,"price":42.09,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2024-03-18 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2024-04-09","known_ts":"2024-04-09","bar_index":270,"type":"SELL","basis":"structure_stop","strength":1.0,"price":40.03,"stop_level":41.67,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2024-07-10","known_ts":"2024-07-12","bar_index":291,"type":"BUY","strength":0.588,"price":27.83,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":true},"quality":"take","quality_reason":"reclaimed 200 & held","tier":"base","score":45},{"ts":"2024-08-02","known_ts":"2024-08-02","bar_index":296,"type":"SELL","basis":"structure_stop","strength":0.588,"price":28.25,"stop_level":29.66,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2024-08-09","known_ts":"2024-08-09","bar_index":298,"type":"SELL","basis":"structure_stop","strength":0.588,"price":27.43,"stop_level":29.66,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2024-08-26","known_ts":"2024-08-26","bar_index":302,"type":"RECLAIM","strength":0.725,"price":32.79,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2024-08-09 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2024-10-04","known_ts":"2024-10-04","bar_index":311,"type":"SELL","basis":"structure_stop","strength":0.725,"price":34.3,"stop_level":34.59,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2024-11-27","known_ts":"2024-12-02","bar_index":324,"type":"BUY","strength":0.588,"price":33.47,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":false},"quality":"block","quality_reason":"veto: bearish divergence","tier":"base","score":45},{"ts":"2024-12-17","known_ts":"2024-12-17","bar_index":328,"type":"SELL","basis":"structure_stop","strength":0.45,"price":27.16,"stop_level":27.25,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false}},{"ts":"2025-01-14","known_ts":"2025-01-16","bar_index":334,"type":"BOTTOM_WATCH","scored":false,"subtype":"early_dot","quality":"washout_early_watch","quality_reason":"early momentum turn inside a point-in-time own-name washout","trigger_ts":"2025-01-14","trigger_known_ts":"2025-01-16","strength":0.45,"price":24.11,"reasons":["bear_block","own_name_washout","early_momentum_turn"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.448662,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":21.42,"atr14":1.251022,"stop_level":20.794489,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-01-23","known_ts":"2025-01-27","bar_index":336,"type":"BUY","strength":0.45,"price":25.09,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"quality":"regime_blocked","quality_reason":"bear_block: monthly-bear & below-200 & 2W-not-bull","tier":null,"score":null,"blocked":true},{"ts":"2025-01-23","known_ts":"2025-01-27","bar_index":336,"type":"BOTTOM_WATCH","scored":false,"subtype":"blocked_trigger","quality":"washout_trigger_watch","quality_reason":"blocked Oracle turn inside a point-in-time own-name washout","trigger_ts":"2025-01-23","trigger_known_ts":"2025-01-27","strength":0.45,"price":25.09,"reasons":["bear_block","own_name_washout","raw_buy_trigger"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.426252,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":22.34,"atr14":1.122429,"stop_level":21.778785,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-02-13","known_ts":"2025-02-18","bar_index":341,"type":"BOTTOM_WATCH","scored":false,"subtype":"early_dot","quality":"washout_early_watch","quality_reason":"early momentum turn inside a point-in-time own-name washout","trigger_ts":"2025-02-13","trigger_known_ts":"2025-02-18","strength":0.45,"price":22.02,"reasons":["bear_block","own_name_washout","early_momentum_turn"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.496456,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":20.54,"atr14":1.084794,"stop_level":19.997603,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-02-24","known_ts":"2025-02-26","bar_index":343,"type":"BUY","strength":0.45,"price":23.97,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"quality":"regime_blocked","quality_reason":"bear_block: monthly-bear & below-200 & 2W-not-bull","tier":null,"score":null,"blocked":true},{"ts":"2025-02-24","known_ts":"2025-02-26","bar_index":343,"type":"BOTTOM_WATCH","scored":false,"subtype":"blocked_trigger","quality":"washout_trigger_watch","quality_reason":"blocked Oracle turn inside a point-in-time own-name washout","trigger_ts":"2025-02-24","trigger_known_ts":"2025-02-26","strength":0.45,"price":23.97,"reasons":["bear_block","own_name_washout","raw_buy_trigger"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.451864,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":20.76,"atr14":1.428075,"stop_level":20.045962,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-03-28","known_ts":"2025-03-28","bar_index":351,"type":"SELL","basis":"structure_stop","strength":0.588,"price":22.7,"stop_level":23.44,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2025-04-24","known_ts":"2025-04-28","bar_index":357,"type":"REBUY","strength":0.588,"price":23.0,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"quality":"regime_blocked","quality_reason":"bear_block: monthly-bear & below-200 & 2W-not-bull","tier":null,"score":null,"blocked":true,"retro_override":true,"retro_ctx":{"group_id":"Consumer Discretionary"}},{"ts":"2025-05-23","known_ts":"2025-05-23","bar_index":364,"type":"SELL","basis":"structure_stop","strength":0.588,"price":20.98,"stop_level":21.84,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2025-06-03","known_ts":"2025-06-05","bar_index":366,"type":"BUY","strength":0.588,"price":22.42,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"quality":"regime_blocked","quality_reason":"bear_block: monthly-bear & below-200 & 2W-not-bull","tier":null,"score":null,"blocked":true,"retro_override":true,"retro_ctx":{"group_id":"Consumer Discretionary"}},{"ts":"2025-06-30","known_ts":"2025-06-30","bar_index":372,"type":"RECLAIM","strength":0.725,"price":26.84,"scored":true,"quality":"block_repair","quality_reason":"bear-block legs repaired after the 2025-06-03 blocked entry","reasons":["bear_block_cleared","macd_cross_still_live"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2025-07-18","known_ts":"2025-07-18","bar_index":376,"type":"SELL","basis":"structure_stop","strength":0.588,"price":25.48,"stop_level":26.02,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2025-07-22","known_ts":"2025-07-22","bar_index":377,"type":"RECLAIM","strength":0.588,"price":28.7,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2025-07-18 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"anchor_ts":"2025-07-18","prior_stop_level":26.02,"sweep_low":24.82,"atr14":1.492121,"stop_level":24.07394,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-07-31","known_ts":"2025-07-31","bar_index":379,"type":"SELL","basis":"structure_stop","strength":0.725,"price":25.32,"stop_level":25.41,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2025-08-04","known_ts":"2025-08-04","bar_index":380,"type":"RECLAIM","strength":0.725,"price":25.53,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2025-07-31 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"anchor_ts":"2025-07-31","prior_stop_level":25.41,"sweep_low":24.21,"atr14":1.341862,"stop_level":23.539069,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-08-15","known_ts":"2025-08-19","bar_index":383,"type":"REBUY","strength":0.863,"price":28.52,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false},"quality":"take","quality_reason":"held confirmation","tier":"base","score":30},{"ts":"2025-09-03","known_ts":"2025-09-05","bar_index":387,"type":"BUY","strength":0.863,"price":30.94,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false},"quality":"block","quality_reason":"failed reclaim-and-hold","tier":"base","score":55},{"ts":"2025-11-21","known_ts":"2025-11-25","bar_index":406,"type":"BOTTOM_WATCH","scored":false,"subtype":"early_dot","quality":"washout_early_watch","quality_reason":"early momentum turn inside a point-in-time own-name washout","trigger_ts":"2025-11-21","trigger_known_ts":"2025-11-25","strength":0.45,"price":19.47,"reasons":["bear_block","own_name_washout","early_momentum_turn"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.418285,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":17.606,"atr14":0.930618,"stop_level":17.140691,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-12-10","known_ts":"2025-12-12","bar_index":410,"type":"BUY","strength":0.45,"price":19.9,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"quality":"regime_blocked","quality_reason":"bear_block: monthly-bear & below-200 & 2W-not-bull","tier":null,"score":null,"blocked":true},{"ts":"2025-12-10","known_ts":"2025-12-12","bar_index":410,"type":"BOTTOM_WATCH","scored":false,"subtype":"blocked_trigger","quality":"washout_trigger_watch","quality_reason":"blocked Oracle turn inside a point-in-time own-name washout","trigger_ts":"2025-12-10","trigger_known_ts":"2025-12-12","strength":0.45,"price":19.9,"reasons":["bear_block","own_name_washout","raw_buy_trigger"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.35682,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":17.75,"atr14":0.81341,"stop_level":17.343295,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-12-24","known_ts":"2025-12-24","bar_index":413,"type":"SELL","basis":"structure_stop","strength":0.45,"price":17.91,"stop_level":18.05,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false}},{"ts":"2026-03-02","known_ts":"2026-03-02","bar_index":428,"type":"SELL","basis":"structure_stop","strength":0.725,"price":17.71,"stop_level":17.95,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2026-04-17","known_ts":"2026-04-21","bar_index":439,"type":"BUY","strength":0.45,"price":15.52,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"quality":"regime_blocked","quality_reason":"bear_block: monthly-bear & below-200 & 2W-not-bull","tier":null,"score":null,"blocked":true},{"ts":"2026-04-17","known_ts":"2026-04-21","bar_index":439,"type":"BOTTOM_WATCH","scored":false,"subtype":"blocked_trigger","quality":"washout_trigger_watch","quality_reason":"blocked Oracle turn inside a point-in-time own-name washout","trigger_ts":"2026-04-17","trigger_known_ts":"2026-04-21","strength":0.45,"price":15.52,"reasons":["bear_block","own_name_washout","raw_buy_trigger"],"washout_ctx":{"rule":"bear_block & (dd252<=-35% | monthly_os_dwell>=3) & recent_3d_os","drawdown_252":-0.498384,"monthly_oversold_dwell":3,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":13.22,"atr14":0.896574,"stop_level":12.771713,"risk_basis":"daily_ohlc_atr14"},{"ts":"2026-05-12","known_ts":"2026-05-12","bar_index":444,"type":"SELL","basis":"structure_stop","strength":0.588,"price":13.02,"stop_level":14.04,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2026-05-18","known_ts":"2026-05-18","bar_index":446,"type":"SELL","basis":"structure_stop","strength":0.45,"price":12.85,"stop_level":13.02,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false}},{"ts":"2026-05-20","known_ts":"2026-05-20","bar_index":446,"type":"RECLAIM","strength":0.45,"price":13.93,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2026-05-18 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"anchor_ts":"2026-05-18","prior_stop_level":13.02,"sweep_low":12.2,"atr14":0.911791,"stop_level":11.744104,"risk_basis":"daily_ohlc_atr14"},{"ts":"2026-07-20","known_ts":"2026-07-20","bar_index":460,"type":"SELL","basis":"structure_stop","strength":0.725,"price":14.88,"stop_level":15.54,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2026-07-24","known_ts":"2026-07-24","bar_index":461,"type":"RECLAIM","strength":0.725,"price":15.92,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2026-07-20 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"anchor_ts":"2026-07-20","prior_stop_level":15.54,"sweep_low":14.24,"atr14":0.924862,"stop_level":13.777569,"risk_basis":"daily_ohlc_atr14"}],"state":{"position_hint":"flat","last_signal":"RECLAIM","last_scored_signal":"SELL","last_scored_ts":"2026-07-20","last_scored_basis":"structure_stop","bars_since_signal":12,"extended":false,"strong_bull":false,"overbought":false,"weeklyBull":false,"above200":false},"early_dots":["2021-07-20","2022-04-08","2022-05-13","2022-06-23","2023-08-03","2023-08-29","2023-10-06","2023-10-27","2024-02-15","2024-04-25","2024-05-13","2024-06-04","2024-06-12","2024-06-26","2024-11-01","2024-11-22","2025-10-10","2025-11-10","2026-03-23"],"warnings":[{"ts":"2022-11-25","kind":"confirm","px":9.87,"level":10.01},{"ts":"2023-02-07","kind":"arm","px":13.26},{"ts":"2023-04-27","kind":"arm","px":14.89},{"ts":"2023-06-23","kind":"arm","px":22.79},{"ts":"2023-11-28","kind":"arm","px":24.15},{"ts":"2023-12-29","kind":"arm","px":35.53},{"ts":"2024-01-24","kind":"confirm","px":30.82,"level":31.12},{"ts":"2024-03-15","kind":"arm","px":35.51},{"ts":"2024-03-18","kind":"confirm","px":35.3,"level":37.73},{"ts":"2024-04-05","kind":"arm","px":42.92},{"ts":"2024-04-09","kind":"confirm","px":40.03,"level":41.67},{"ts":"2024-07-29","kind":"arm","px":32.01},{"ts":"2024-08-02","kind":"confirm","px":28.25,"level":29.66},{"ts":"2024-08-08","kind":"arm","px":27.42},{"ts":"2024-08-09","kind":"confirm","px":27.43,"level":29.66},{"ts":"2024-09-04","kind":"arm","px":30.67},{"ts":"2024-10-04","kind":"confirm","px":34.3,"level":34.59},{"ts":"2024-12-10","kind":"arm","px":30.0},{"ts":"2024-12-17","kind":"confirm","px":27.16,"level":27.25},{"ts":"2025-03-17","kind":"arm","px":24.02},{"ts":"2025-03-28","kind":"confirm","px":22.7,"level":23.44},{"ts":"2025-05-22","kind":"arm","px":20.81},{"ts":"2025-05-23","kind":"confirm","px":20.98,"level":21.84},{"ts":"2025-06-20","kind":"arm","px":22.34},{"ts":"2025-07-16","kind":"arm","px":26.94},{"ts":"2025-07-18","kind":"confirm","px":25.48,"level":26.02},{"ts":"2025-07-24","kind":"arm","px":27.3},{"ts":"2025-07-31","kind":"confirm","px":25.32,"level":25.41},{"ts":"2025-12-23","kind":"arm","px":17.64},{"ts":"2025-12-24","kind":"confirm","px":17.91,"level":18.05},{"ts":"2026-01-26","kind":"arm","px":18.59},{"ts":"2026-02-24","kind":"arm","px":19.2},{"ts":"2026-03-02","kind":"confirm","px":17.71,"level":17.95},{"ts":"2026-05-06","kind":"arm","px":14.65},{"ts":"2026-05-12","kind":"confirm","px":13.02,"level":14.04},{"ts":"2026-05-14","kind":"arm","px":13.59},{"ts":"2026-05-18","kind":"confirm","px":12.85,"level":13.02},{"ts":"2026-06-09","kind":"arm","px":14.82},{"ts":"2026-07-08","kind":"arm","px":15.65},{"ts":"2026-07-20","kind":"confirm","px":14.88,"level":15.54}],"meta":{"leakfree":true,"scored":false,"score_basis":"full","validated_against":"signal_layer/confluence.py","validation":{},"honest_read":"RSI-MACD × StochRSI MTF confluence on daily→3D. Risk/timing overlay.","warnings":[]}}}