{"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":"TFIN","timeframe":"3D","as_of":"2026-09-14T00:00:00Z","bar_quality":"real_ohlc","signal_era":"gc_v2_wo2","signals":[{"ts":"2015-04-22","known_ts":"2015-04-22","bar_index":38,"type":"SELL","basis":"structure_stop","strength":0.588,"price":13.22,"stop_level":13.37,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2015-04-29","known_ts":"2015-04-29","bar_index":39,"type":"RECLAIM","strength":0.588,"price":13.89,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2015-04-22 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":"2015-04-22","prior_stop_level":13.37,"sweep_low":12.92,"atr14":0.300397,"stop_level":12.769801,"risk_basis":"daily_ohlc_atr14"},{"ts":"2015-06-12","known_ts":"2015-06-16","bar_index":50,"type":"BUY","strength":0.588,"price":13.8,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"quality":"block","quality_reason":"veto: bearish divergence","tier":"base","score":40},{"ts":"2015-07-14","known_ts":"2015-07-16","bar_index":57,"type":"BUY","strength":0.588,"price":13.34,"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},{"ts":"2015-07-17","known_ts":"2015-07-17","bar_index":58,"type":"RECLAIM","strength":0.725,"price":12.86,"scored":true,"quality":"block_repair","quality_reason":"bear-block legs repaired after the 2015-07-14 blocked entry","reasons":["bear_block_cleared","macd_cross_still_live"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2015-08-20","known_ts":"2015-08-20","bar_index":66,"type":"SELL","basis":"structure_stop","strength":0.725,"price":13.95,"stop_level":14.01,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2015-08-21","known_ts":"2015-08-21","bar_index":66,"type":"RECLAIM","strength":0.725,"price":14.11,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2015-08-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":"2015-08-20","prior_stop_level":14.01,"sweep_low":13.75,"atr14":0.394968,"stop_level":13.552516,"risk_basis":"daily_ohlc_atr14"},{"ts":"2015-09-08","known_ts":"2015-09-08","bar_index":70,"type":"RECLAIM","strength":0.863,"price":15.04,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2015-08-20 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2015-10-16","known_ts":"2015-10-16","bar_index":79,"type":"SELL","basis":"structure_stop","strength":0.863,"price":16.54,"stop_level":16.55,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2015-10-19","known_ts":"2015-10-19","bar_index":79,"type":"RECLAIM","strength":0.863,"price":16.63,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2015-10-16 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false},"anchor_ts":"2015-10-16","prior_stop_level":16.55,"sweep_low":16.44,"atr14":0.572671,"stop_level":16.153664,"risk_basis":"daily_ohlc_atr14"},{"ts":"2015-11-02","known_ts":"2015-11-02","bar_index":83,"type":"RECLAIM","strength":0.863,"price":16.69,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2015-10-16 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2016-02-25","known_ts":"2016-02-29","bar_index":109,"type":"BUY","strength":0.45,"price":13.67,"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":"2016-03-01","known_ts":"2016-03-01","bar_index":110,"type":"RECLAIM","strength":0.588,"price":14.42,"scored":true,"quality":"block_repair","quality_reason":"bear-block legs repaired after the 2016-02-25 blocked entry","reasons":["bear_block_cleared","macd_cross_still_live"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":true}},{"ts":"2016-03-22","known_ts":"2016-03-22","bar_index":115,"type":"SELL","basis":"structure_stop","strength":0.863,"price":15.45,"stop_level":15.47,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2016-03-24","known_ts":"2016-03-24","bar_index":115,"type":"RECLAIM","strength":0.863,"price":15.49,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2016-03-22 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":"2016-03-22","prior_stop_level":15.47,"sweep_low":15.05,"atr14":0.567759,"stop_level":14.766121,"risk_basis":"daily_ohlc_atr14"},{"ts":"2016-04-08","known_ts":"2016-04-08","bar_index":119,"type":"RECLAIM","strength":0.725,"price":16.0,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2016-03-22 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2016-05-03","known_ts":"2016-05-03","bar_index":124,"type":"SELL","basis":"structure_stop","strength":0.588,"price":15.25,"stop_level":15.61,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2016-05-20","known_ts":"2016-05-20","bar_index":129,"type":"RECLAIM","strength":0.863,"price":15.94,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2016-05-03 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2016-05-25","known_ts":"2016-05-27","bar_index":130,"type":"BUY","strength":0.863,"price":15.94,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true},"quality":"take","quality_reason":"held confirmation","tier":"base","score":30},{"ts":"2016-06-29","known_ts":"2016-06-29","bar_index":138,"type":"SELL","basis":"structure_stop","strength":0.863,"price":15.92,"stop_level":16.22,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2016-07-08","known_ts":"2016-07-12","bar_index":140,"type":"BUY","strength":0.863,"price":17.38,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true},"quality":"block","quality_reason":"veto: bearish divergence","tier":"base","score":20},{"ts":"2016-09-15","known_ts":"2016-09-19","bar_index":156,"type":"REBUY","strength":1.0,"price":19.35,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true},"quality":"take","quality_reason":"held confirmation","tier":"base","score":30},{"ts":"2016-10-26","known_ts":"2016-10-26","bar_index":165,"type":"SELL","basis":"structure_stop","strength":1.0,"price":19.42,"stop_level":19.83,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2016-11-28","known_ts":"2016-11-28","bar_index":173,"type":"RECLAIM","strength":1.0,"price":21.45,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2016-10-26 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2017-02-08","known_ts":"2017-02-08","bar_index":189,"type":"SELL","basis":"structure_stop","strength":1.0,"price":26.45,"stop_level":26.85,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2017-02-09","known_ts":"2017-02-09","bar_index":189,"type":"RECLAIM","strength":1.0,"price":26.95,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2017-02-08 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":"2017-02-08","prior_stop_level":26.85,"sweep_low":26.25,"atr14":0.636482,"stop_level":25.931759,"risk_basis":"daily_ohlc_atr14"},{"ts":"2017-05-25","known_ts":"2017-05-30","bar_index":214,"type":"BUY","strength":0.725,"price":22.85,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":true},"quality":"take","quality_reason":"held confirmation","tier":"base","score":55},{"ts":"2017-06-21","known_ts":"2017-06-21","bar_index":220,"type":"SELL","basis":"structure_stop","strength":0.588,"price":22.95,"stop_level":23.15,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":true}},{"ts":"2017-06-26","known_ts":"2017-06-26","bar_index":221,"type":"RECLAIM","strength":0.588,"price":24.1,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2017-06-21 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":true},"anchor_ts":"2017-06-21","prior_stop_level":23.15,"sweep_low":22.7,"atr14":0.709174,"stop_level":22.345413,"risk_basis":"daily_ohlc_atr14"},{"ts":"2017-07-10","known_ts":"2017-07-10","bar_index":224,"type":"RECLAIM","strength":0.725,"price":25.45,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2017-06-21 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2017-08-09","known_ts":"2017-08-09","bar_index":231,"type":"SELL","basis":"structure_stop","strength":0.725,"price":27.95,"stop_level":28.0,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2017-08-11","known_ts":"2017-08-11","bar_index":232,"type":"SELL","basis":"structure_stop","strength":0.725,"price":27.4,"stop_level":28.0,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2017-08-29","known_ts":"2017-08-29","bar_index":236,"type":"RECLAIM","strength":0.725,"price":28.2,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2017-08-11 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2017-10-13","known_ts":"2017-10-13","bar_index":246,"type":"SELL","basis":"structure_stop","strength":1.0,"price":31.3,"stop_level":31.6,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2017-10-16","known_ts":"2017-10-16","bar_index":247,"type":"RECLAIM","strength":1.0,"price":31.7,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2017-10-13 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":"2017-10-13","prior_stop_level":31.6,"sweep_low":31.25,"atr14":0.615778,"stop_level":30.942111,"risk_basis":"daily_ohlc_atr14"},{"ts":"2018-01-11","known_ts":"2018-01-11","bar_index":267,"type":"RECLAIM","strength":1.0,"price":35.1,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2017-10-13 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2018-03-22","known_ts":"2018-03-22","bar_index":283,"type":"SELL","basis":"structure_stop","strength":1.0,"price":42.2,"stop_level":42.65,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2018-05-25","known_ts":"2018-05-30","bar_index":298,"type":"BUY","strength":0.725,"price":41.1,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":true},"quality":"take","quality_reason":"held confirmation","tier":"base","score":50},{"ts":"2018-06-27","known_ts":"2018-06-27","bar_index":305,"type":"SELL","basis":"structure_stop","strength":0.725,"price":40.9,"stop_level":41.3,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":true}},{"ts":"2018-07-02","known_ts":"2018-07-02","bar_index":306,"type":"RECLAIM","strength":0.725,"price":41.325,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2018-06-27 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":true},"anchor_ts":"2018-06-27","prior_stop_level":41.3,"sweep_low":40.45,"atr14":0.91804,"stop_level":39.99098,"risk_basis":"daily_ohlc_atr14"},{"ts":"2018-07-05","known_ts":"2018-07-09","bar_index":307,"type":"REBUY","strength":0.725,"price":43.0,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":true},"quality":"block","quality_reason":"veto: bearish divergence","tier":"aplus","score":80},{"ts":"2018-08-08","known_ts":"2018-08-10","bar_index":315,"type":"BUY","strength":0.588,"price":41.85,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":false},"quality":"block","quality_reason":"failed reclaim-and-hold","tier":"aplus","score":90},{"ts":"2018-09-24","known_ts":"2018-09-24","bar_index":325,"type":"SELL","basis":"structure_stop","strength":0.725,"price":41.8,"stop_level":43.1,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2018-09-27","known_ts":"2018-09-27","bar_index":326,"type":"SELL","basis":"structure_stop","strength":0.588,"price":38.65,"stop_level":43.1,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2018-11-06","known_ts":"2018-11-08","bar_index":336,"type":"BUY","strength":0.45,"price":37.73,"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":"2018-12-07","known_ts":"2018-12-07","bar_index":343,"type":"SELL","basis":"structure_stop","strength":0.45,"price":34.77,"stop_level":36.4,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false}},{"ts":"2019-01-09","known_ts":"2019-01-11","bar_index":350,"type":"BUY","strength":0.45,"price":30.63,"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":"Financials"}},{"ts":"2019-03-20","known_ts":"2019-03-20","bar_index":366,"type":"SELL","basis":"structure_stop","strength":0.588,"price":29.5,"stop_level":30.51,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2019-03-28","known_ts":"2019-04-01","bar_index":368,"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":"2019-03-28","trigger_known_ts":"2019-04-01","strength":0.588,"price":29.98,"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.316306,"monthly_oversold_dwell":4,"recent_3d_oversold":true},"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"sweep_low":27.73,"atr14":0.879458,"stop_level":27.290271,"risk_basis":"daily_ohlc_atr14"},{"ts":"2019-04-02","known_ts":"2019-04-04","bar_index":369,"type":"REBUY","strength":0.588,"price":30.53,"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},{"ts":"2019-04-02","known_ts":"2019-04-04","bar_index":369,"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":"2019-04-02","trigger_known_ts":"2019-04-04","strength":0.588,"price":30.53,"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.303763,"monthly_oversold_dwell":4,"recent_3d_oversold":true},"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"sweep_low":27.96,"atr14":0.817551,"stop_level":27.551225,"risk_basis":"daily_ohlc_atr14"},{"ts":"2019-04-29","known_ts":"2019-05-01","bar_index":375,"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":"2019-04-29","trigger_known_ts":"2019-05-01","strength":0.588,"price":31.0,"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.293044,"monthly_oversold_dwell":5,"recent_3d_oversold":true},"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"sweep_low":27.679,"atr14":0.890823,"stop_level":27.233588,"risk_basis":"daily_ohlc_atr14"},{"ts":"2019-05-31","known_ts":"2019-05-31","bar_index":382,"type":"SELL","basis":"structure_stop","strength":0.725,"price":28.07,"stop_level":28.99,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2019-06-14","known_ts":"2019-06-18","bar_index":386,"type":"BUY","strength":0.725,"price":30.14,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"quality":"block","quality_reason":"veto: bearish divergence","tier":"base","score":65},{"ts":"2019-06-27","known_ts":"2019-07-01","bar_index":389,"type":"BUY","strength":0.725,"price":29.46,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"quality":"block","quality_reason":"failed reclaim-and-hold","tier":"base","score":55},{"ts":"2019-07-15","known_ts":"2019-07-15","bar_index":392,"type":"SELL","basis":"structure_stop","strength":0.725,"price":27.92,"stop_level":28.16,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2019-07-16","known_ts":"2019-07-18","bar_index":393,"type":"BUY","strength":0.725,"price":29.91,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"quality":"take","quality_reason":"held confirmation","tier":"base","score":75},{"ts":"2019-07-18","known_ts":"2019-07-18","bar_index":393,"type":"RECLAIM","strength":0.725,"price":29.91,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2019-07-15 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":"2019-07-15","prior_stop_level":28.16,"sweep_low":27.24,"atr14":0.805998,"stop_level":26.837001,"risk_basis":"daily_ohlc_atr14"},{"ts":"2019-08-14","known_ts":"2019-08-14","bar_index":400,"type":"SELL","basis":"structure_stop","strength":0.725,"price":28.91,"stop_level":29.02,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2019-08-16","known_ts":"2019-08-16","bar_index":400,"type":"RECLAIM","strength":0.725,"price":29.67,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2019-08-14 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":"2019-08-14","prior_stop_level":29.02,"sweep_low":28.61,"atr14":0.875892,"stop_level":28.172054,"risk_basis":"daily_ohlc_atr14"},{"ts":"2019-08-27","known_ts":"2019-08-29","bar_index":403,"type":"REBUY","strength":0.725,"price":30.17,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"quality":"block","quality_reason":"failed reclaim-and-hold","tier":"base","score":65},{"ts":"2019-09-05","known_ts":"2019-09-09","bar_index":405,"type":"REBUY","strength":0.863,"price":31.16,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false},"quality":"take","quality_reason":"held confirmation","tier":"base","score":80},{"ts":"2019-10-01","known_ts":"2019-10-01","bar_index":411,"type":"SELL","basis":"structure_stop","strength":0.863,"price":31.31,"stop_level":31.36,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2019-10-07","known_ts":"2019-10-07","bar_index":412,"type":"SELL","basis":"structure_stop","strength":0.725,"price":31.25,"stop_level":31.36,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2019-10-04","known_ts":"2019-10-04","bar_index":412,"type":"RECLAIM","strength":0.863,"price":31.44,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2019-10-01 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false},"anchor_ts":"2019-10-01","prior_stop_level":31.36,"sweep_low":30.445,"atr14":0.833523,"stop_level":30.028239,"risk_basis":"daily_ohlc_atr14"},{"ts":"2019-10-17","known_ts":"2019-10-21","bar_index":415,"type":"REBUY","strength":0.863,"price":32.95,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false},"quality":"block","quality_reason":"failed reclaim-and-hold","tier":"base","score":40},{"ts":"2020-01-02","known_ts":"2020-01-02","bar_index":432,"type":"SELL","basis":"structure_stop","strength":0.863,"price":37.92,"stop_level":37.94,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2020-01-03","known_ts":"2020-01-03","bar_index":432,"type":"RECLAIM","strength":0.863,"price":38.095,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2020-01-02 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false},"anchor_ts":"2020-01-02","prior_stop_level":37.94,"sweep_low":37.21,"atr14":0.747382,"stop_level":36.836309,"risk_basis":"daily_ohlc_atr14"},{"ts":"2020-01-17","known_ts":"2020-01-22","bar_index":436,"type":"REBUY","strength":0.863,"price":40.6,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false},"quality":"block","quality_reason":"veto: bearish divergence","tier":"base","score":40},{"ts":"2020-01-31","known_ts":"2020-02-04","bar_index":439,"type":"REBUY","strength":1.0,"price":41.55,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true},"quality":"block","quality_reason":"veto: bearish divergence","tier":"base","score":40},{"ts":"2020-02-25","known_ts":"2020-02-25","bar_index":444,"type":"SELL","basis":"structure_stop","strength":1.0,"price":40.07,"stop_level":41.53,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2020-04-23","known_ts":"2020-04-27","bar_index":458,"type":"BUY","strength":0.588,"price":26.1,"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":25,"retro_override":true,"retro_ctx":{"group_id":"Financials"}},{"ts":"2020-05-13","known_ts":"2020-05-13","bar_index":462,"type":"SELL","basis":"structure_stop","strength":0.45,"price":20.84,"stop_level":22.27,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false}},{"ts":"2020-05-18","known_ts":"2020-05-18","bar_index":463,"type":"RECLAIM","strength":0.45,"price":23.04,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2020-05-13 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":"2020-05-13","prior_stop_level":22.27,"sweep_low":19.5,"atr14":1.880501,"stop_level":18.559749,"risk_basis":"daily_ohlc_atr14"},{"ts":"2020-06-17","known_ts":"2020-06-17","bar_index":470,"type":"SELL","basis":"structure_stop","strength":0.588,"price":23.2,"stop_level":23.67,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2020-06-22","known_ts":"2020-06-22","bar_index":471,"type":"RECLAIM","strength":0.588,"price":24.48,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2020-06-17 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":"2020-06-17","prior_stop_level":23.67,"sweep_low":22.43,"atr14":1.764714,"stop_level":21.547643,"risk_basis":"daily_ohlc_atr14"},{"ts":"2020-09-08","known_ts":"2020-09-08","bar_index":489,"type":"SELL","basis":"structure_stop","strength":0.725,"price":28.34,"stop_level":28.56,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2020-09-09","known_ts":"2020-09-09","bar_index":490,"type":"RECLAIM","strength":0.725,"price":28.82,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2020-09-08 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":"2020-09-08","prior_stop_level":28.56,"sweep_low":27.85,"atr14":1.091731,"stop_level":27.304135,"risk_basis":"daily_ohlc_atr14"},{"ts":"2020-09-21","known_ts":"2020-09-21","bar_index":492,"type":"SELL","basis":"structure_stop","strength":0.725,"price":27.57,"stop_level":28.34,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2020-09-22","known_ts":"2020-09-24","bar_index":493,"type":"REBUY","strength":0.725,"price":29.13,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"quality":"take","quality_reason":"held confirmation","tier":"base","score":55},{"ts":"2020-09-24","known_ts":"2020-09-24","bar_index":493,"type":"RECLAIM","strength":0.725,"price":29.13,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2020-09-21 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":"2020-09-21","prior_stop_level":28.34,"sweep_low":26.86,"atr14":1.092392,"stop_level":26.313804,"risk_basis":"daily_ohlc_atr14"},{"ts":"2020-11-30","known_ts":"2020-11-30","bar_index":509,"type":"SELL","basis":"structure_stop","strength":1.0,"price":45.44,"stop_level":46.9,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2020-12-04","known_ts":"2020-12-04","bar_index":510,"type":"RECLAIM","strength":1.0,"price":47.45,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2020-11-30 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":"2020-11-30","prior_stop_level":46.9,"sweep_low":45.255,"atr14":1.760815,"stop_level":44.374592,"risk_basis":"daily_ohlc_atr14"},{"ts":"2020-12-16","known_ts":"2020-12-16","bar_index":513,"type":"RECLAIM","strength":1.0,"price":50.51,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2020-11-30 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2021-03-22","known_ts":"2021-03-22","bar_index":534,"type":"SELL","basis":"structure_stop","strength":1.0,"price":77.82,"stop_level":80.21,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2021-07-28","known_ts":"2021-07-30","bar_index":564,"type":"BUY","strength":0.725,"price":76.66,"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":"quality","score":65},{"ts":"2021-12-13","known_ts":"2021-12-13","bar_index":596,"type":"SELL","basis":"structure_stop","strength":1.0,"price":124.66,"stop_level":125.72,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2022-03-10","known_ts":"2022-03-14","bar_index":616,"type":"BUY","strength":0.45,"price":92.92,"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":"2022-03-15","known_ts":"2022-03-15","bar_index":617,"type":"RECLAIM","strength":0.588,"price":97.85,"scored":true,"quality":"block_repair","quality_reason":"bear-block legs repaired after the 2022-03-10 blocked entry","reasons":["bear_block_cleared","macd_cross_still_live"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":false}},{"ts":"2022-04-01","known_ts":"2022-04-01","bar_index":621,"type":"SELL","basis":"structure_stop","strength":0.45,"price":90.26,"stop_level":93.5,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false}},{"ts":"2022-04-07","known_ts":"2022-04-07","bar_index":622,"type":"SELL","basis":"structure_stop","strength":0.45,"price":79.88,"stop_level":93.5,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false}},{"ts":"2022-04-19","known_ts":"2022-04-21","bar_index":625,"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-04-19","trigger_known_ts":"2022-04-21","strength":0.45,"price":74.28,"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.439354,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":72.655,"atr14":4.431087,"stop_level":70.439456,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-05-02","known_ts":"2022-05-04","bar_index":628,"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-05-02","trigger_known_ts":"2022-05-04","strength":0.45,"price":74.03,"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.441241,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":66.686,"atr14":4.259819,"stop_level":64.556091,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-05-13","known_ts":"2022-05-17","bar_index":631,"type":"BUY","strength":0.45,"price":69.91,"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":"Financials"}},{"ts":"2022-05-13","known_ts":"2022-05-17","bar_index":631,"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-05-13","trigger_known_ts":"2022-05-17","strength":0.45,"price":69.91,"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.472338,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":65.165,"atr14":4.166927,"stop_level":63.081537,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-05-23","known_ts":"2022-05-25","bar_index":633,"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-05-23","trigger_known_ts":"2022-05-25","strength":0.45,"price":68.03,"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.486527,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":62.37,"atr14":3.922585,"stop_level":60.408707,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-06-16","known_ts":"2022-06-16","bar_index":638,"type":"SELL","basis":"structure_stop","strength":0.588,"price":62.25,"stop_level":63.82,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-06-24","known_ts":"2022-06-24","bar_index":640,"type":"RECLAIM","strength":0.588,"price":65.16,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2022-06-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-06-16","prior_stop_level":63.82,"sweep_low":60.51,"atr14":3.172529,"stop_level":58.923735,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-08-22","known_ts":"2022-08-22","bar_index":653,"type":"SELL","basis":"structure_stop","strength":0.588,"price":68.28,"stop_level":70.61,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-08-25","known_ts":"2022-08-25","bar_index":654,"type":"SELL","basis":"structure_stop","strength":0.588,"price":68.34,"stop_level":70.61,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-09-14","known_ts":"2022-09-16","bar_index":659,"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-14","trigger_known_ts":"2022-09-16","strength":0.588,"price":61.16,"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.53838,"monthly_oversold_dwell":4,"recent_3d_oversold":true},"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"sweep_low":57.15,"atr14":2.503491,"stop_level":55.898255,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-09-30","known_ts":"2022-10-04","bar_index":663,"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-30","trigger_known_ts":"2022-10-04","strength":0.45,"price":59.28,"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.55257,"monthly_oversold_dwell":5,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":53.68,"atr14":2.470354,"stop_level":52.444823,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-10-31","known_ts":"2022-11-02","bar_index":670,"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-31","trigger_known_ts":"2022-11-02","strength":0.45,"price":49.9,"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.623368,"monthly_oversold_dwell":6,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":46.03,"atr14":2.556162,"stop_level":44.751919,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-11-03","known_ts":"2022-11-07","bar_index":671,"type":"BUY","strength":0.45,"price":55.18,"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":"Financials"}},{"ts":"2022-11-03","known_ts":"2022-11-07","bar_index":671,"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-11-03","trigger_known_ts":"2022-11-07","strength":0.45,"price":55.18,"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.583516,"monthly_oversold_dwell":6,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":47.54,"atr14":2.834431,"stop_level":46.122785,"risk_basis":"daily_ohlc_atr14"},{"ts":"2022-12-07","known_ts":"2022-12-07","bar_index":678,"type":"SELL","basis":"structure_stop","strength":0.588,"price":54.58,"stop_level":57.69,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-12-13","known_ts":"2022-12-13","bar_index":680,"type":"SELL","basis":"structure_stop","strength":0.725,"price":54.43,"stop_level":54.58,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2023-01-10","known_ts":"2023-01-12","bar_index":686,"type":"BUY","strength":0.725,"price":51.74,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"quality":"block","quality_reason":"failed reclaim-and-hold","tier":"base","score":0},{"ts":"2023-01-19","known_ts":"2023-01-23","bar_index":688,"type":"BUY","strength":0.725,"price":53.7,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"quality":"take","quality_reason":"held confirmation","tier":"base","score":15},{"ts":"2023-02-21","known_ts":"2023-02-21","bar_index":695,"type":"SELL","basis":"structure_stop","strength":0.863,"price":61.92,"stop_level":62.57,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2023-03-01","known_ts":"2023-03-01","bar_index":697,"type":"SELL","basis":"structure_stop","strength":0.725,"price":60.24,"stop_level":62.57,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2023-05-19","known_ts":"2023-05-23","bar_index":716,"type":"BUY","strength":0.588,"price":53.66,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"quality":"block","quality_reason":"counter-trend, no 200-reclaim/hold","tier":"base","score":30},{"ts":"2023-06-22","known_ts":"2023-06-22","bar_index":723,"type":"SELL","basis":"structure_stop","strength":0.863,"price":58.78,"stop_level":59.94,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2023-06-27","known_ts":"2023-06-27","bar_index":724,"type":"RECLAIM","strength":0.863,"price":61.1,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2023-06-22 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false},"anchor_ts":"2023-06-22","prior_stop_level":59.94,"sweep_low":57.89,"atr14":2.426599,"stop_level":56.6767,"risk_basis":"daily_ohlc_atr14"},{"ts":"2023-07-10","known_ts":"2023-07-10","bar_index":727,"type":"RECLAIM","strength":0.863,"price":64.23,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2023-06-22 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2023-08-15","known_ts":"2023-08-15","bar_index":735,"type":"SELL","basis":"structure_stop","strength":0.863,"price":66.83,"stop_level":67.165,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2023-11-01","known_ts":"2023-11-03","bar_index":754,"type":"BUY","strength":0.863,"price":67.44,"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":45},{"ts":"2024-01-03","known_ts":"2024-01-03","bar_index":768,"type":"SELL","basis":"structure_stop","strength":1.0,"price":75.39,"stop_level":76.6,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2024-01-05","known_ts":"2024-01-05","bar_index":768,"type":"SELL","basis":"structure_stop","strength":1.0,"price":74.54,"stop_level":76.6,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2024-01-10","known_ts":"2024-01-10","bar_index":769,"type":"RECLAIM","strength":1.0,"price":76.63,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2024-01-03 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-03","prior_stop_level":76.6,"sweep_low":74.1,"atr14":1.971092,"stop_level":73.114454,"risk_basis":"daily_ohlc_atr14"},{"ts":"2024-01-10","known_ts":"2024-01-10","bar_index":769,"type":"RECLAIM","strength":1.0,"price":76.63,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2024-01-05 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-05","prior_stop_level":76.6,"sweep_low":74.1,"atr14":1.971092,"stop_level":73.114454,"risk_basis":"daily_ohlc_atr14"},{"ts":"2024-05-13","known_ts":"2024-05-15","bar_index":798,"type":"BUY","strength":0.725,"price":76.73,"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":0},{"ts":"2024-08-06","known_ts":"2024-08-06","bar_index":817,"type":"SELL","basis":"structure_stop","strength":1.0,"price":80.62,"stop_level":81.03,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2024-08-08","known_ts":"2024-08-08","bar_index":818,"type":"RECLAIM","strength":1.0,"price":82.38,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2024-08-06 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-08-06","prior_stop_level":81.03,"sweep_low":80.31,"atr14":3.689927,"stop_level":78.465037,"risk_basis":"daily_ohlc_atr14"},{"ts":"2024-10-16","known_ts":"2024-10-18","bar_index":834,"type":"BUY","strength":0.725,"price":89.46,"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":30},{"ts":"2024-12-17","known_ts":"2024-12-17","bar_index":848,"type":"SELL","basis":"structure_stop","strength":1.0,"price":97.23,"stop_level":97.88,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2025-03-25","known_ts":"2025-03-27","bar_index":870,"type":"BUY","strength":0.588,"price":61.28,"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":65},{"ts":"2025-04-24","known_ts":"2025-04-28","bar_index":877,"type":"BUY","strength":0.45,"price":53.69,"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-04-24","known_ts":"2025-04-28","bar_index":877,"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-04-24","trigger_known_ts":"2025-04-28","strength":0.45,"price":53.69,"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.506616,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":42.9,"atr14":3.54395,"stop_level":41.128025,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-06-18","known_ts":"2025-06-18","bar_index":889,"type":"SELL","basis":"structure_stop","strength":0.588,"price":54.5,"stop_level":56.99,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2025-06-24","known_ts":"2025-06-24","bar_index":890,"type":"RECLAIM","strength":0.588,"price":57.23,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2025-06-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-06-18","prior_stop_level":56.99,"sweep_low":53.015,"atr14":2.229015,"stop_level":51.900493,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-07-30","known_ts":"2025-07-30","bar_index":899,"type":"SELL","basis":"structure_stop","strength":0.588,"price":58.06,"stop_level":58.54,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2025-08-12","known_ts":"2025-08-14","bar_index":902,"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-08-12","trigger_known_ts":"2025-08-14","strength":0.588,"price":55.22,"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.492557,"monthly_oversold_dwell":4,"recent_3d_oversold":true},"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"sweep_low":51.195,"atr14":2.304438,"stop_level":50.042781,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-08-25","known_ts":"2025-08-27","bar_index":905,"type":"BUY","strength":0.588,"price":62.27,"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},{"ts":"2025-08-25","known_ts":"2025-08-27","bar_index":905,"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-08-25","trigger_known_ts":"2025-08-27","strength":0.588,"price":62.27,"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.427771,"monthly_oversold_dwell":4,"recent_3d_oversold":true},"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"sweep_low":52.785,"atr14":2.243794,"stop_level":51.663103,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-09-11","known_ts":"2025-09-11","bar_index":909,"type":"SELL","basis":"structure_stop","strength":0.588,"price":56.82,"stop_level":60.85,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2025-09-19","known_ts":"2025-09-19","bar_index":911,"type":"SELL","basis":"structure_stop","strength":0.725,"price":56.5,"stop_level":56.82,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2025-10-20","known_ts":"2025-10-22","bar_index":918,"type":"BUY","strength":0.588,"price":60.98,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"quality":"block","quality_reason":"counter-trend, no 200-reclaim/hold","tier":"base","score":45},{"ts":"2025-11-05","known_ts":"2025-11-05","bar_index":922,"type":"SELL","basis":"structure_stop","strength":0.725,"price":54.22,"stop_level":57.34,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2025-11-21","known_ts":"2025-11-25","bar_index":926,"type":"BUY","strength":0.725,"price":55.88,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false},"quality":"block","quality_reason":"failed reclaim-and-hold","tier":"base","score":45},{"ts":"2026-01-27","known_ts":"2026-01-27","bar_index":940,"type":"SELL","basis":"structure_stop","strength":0.863,"price":65.48,"stop_level":67.36,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2026-04-06","known_ts":"2026-04-08","bar_index":956,"type":"BUY","strength":0.863,"price":62.31,"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":"aplus","score":80},{"ts":"2026-05-11","known_ts":"2026-05-11","bar_index":964,"type":"SELL","basis":"structure_stop","strength":1.0,"price":64.85,"stop_level":65.68,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2026-05-14","known_ts":"2026-05-14","bar_index":965,"type":"SELL","basis":"structure_stop","strength":1.0,"price":63.64,"stop_level":65.68,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2026-05-21","known_ts":"2026-05-26","bar_index":967,"type":"REBUY","strength":1.0,"price":69.41,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true},"quality":"take","quality_reason":"held confirmation","tier":"base","score":45},{"ts":"2026-05-21","known_ts":"2026-05-21","bar_index":967,"type":"RECLAIM","strength":1.0,"price":66.66,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2026-05-14 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":"2026-05-14","prior_stop_level":65.68,"sweep_low":60.46,"atr14":2.506699,"stop_level":59.20665,"risk_basis":"daily_ohlc_atr14"},{"ts":"2026-07-24","known_ts":"2026-07-24","bar_index":981,"type":"SELL","basis":"structure_stop","strength":1.0,"price":76.91,"stop_level":77.85,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2026-07-28","known_ts":"2026-07-28","bar_index":982,"type":"SELL","basis":"structure_stop","strength":1.0,"price":77.08,"stop_level":77.85,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2026-08-04","known_ts":"2026-08-04","bar_index":983,"type":"RECLAIM","strength":1.0,"price":79.83,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2026-07-28 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":"2026-07-28","prior_stop_level":77.85,"sweep_low":73.41,"atr14":3.006689,"stop_level":71.906655,"risk_basis":"daily_ohlc_atr14"}],"state":{"position_hint":"flat","last_signal":"RECLAIM","last_scored_signal":"SELL","last_scored_ts":"2026-07-28","last_scored_basis":"structure_stop","bars_since_signal":10,"extended":false,"strong_bull":false,"overbought":false,"weeklyBull":false,"above200":false},"early_dots":["2016-02-11","2016-05-17","2016-06-13","2016-11-09","2016-12-09","2017-02-21","2017-04-26","2017-05-22","2017-11-14","2018-04-18","2018-05-04","2018-10-29","2018-12-31","2019-06-11","2019-07-02","2020-03-24","2021-01-05","2021-05-24","2021-06-23","2021-07-07","2021-12-21","2022-02-03","2022-03-07","2023-03-29","2023-05-11","2023-09-01","2023-10-19","2024-02-02","2024-03-05","2024-04-25","2024-09-12","2024-10-08","2024-11-11","2025-01-14","2025-02-24","2025-03-12","2025-04-24","2025-10-10","2026-03-02","2026-03-23"],"warnings":[{"ts":"2022-12-13","kind":"confirm","px":54.43,"level":54.58},{"ts":"2023-02-16","kind":"arm","px":64.17},{"ts":"2023-02-21","kind":"confirm","px":61.92,"level":62.57},{"ts":"2023-02-28","kind":"arm","px":60.85},{"ts":"2023-03-01","kind":"confirm","px":60.24,"level":62.57},{"ts":"2023-06-14","kind":"arm","px":59.94},{"ts":"2023-06-22","kind":"confirm","px":58.78,"level":59.94},{"ts":"2023-07-21","kind":"arm","px":65.93},{"ts":"2023-08-15","kind":"confirm","px":66.83,"level":67.165},{"ts":"2023-11-29","kind":"arm","px":68.11},{"ts":"2024-01-02","kind":"arm","px":79.24},{"ts":"2024-01-03","kind":"confirm","px":75.39,"level":76.6},{"ts":"2024-01-04","kind":"arm","px":75.44},{"ts":"2024-01-05","kind":"confirm","px":74.54,"level":76.6},{"ts":"2024-07-22","kind":"arm","px":86.97},{"ts":"2024-08-06","kind":"confirm","px":80.62,"level":81.03},{"ts":"2024-11-04","kind":"arm","px":87.01},{"ts":"2024-12-17","kind":"confirm","px":97.23,"level":97.88},{"ts":"2025-05-23","kind":"arm","px":58.17},{"ts":"2025-06-17","kind":"arm","px":55.68},{"ts":"2025-06-18","kind":"confirm","px":54.5,"level":56.99},{"ts":"2025-07-17","kind":"arm","px":61.99},{"ts":"2025-07-30","kind":"confirm","px":58.06,"level":58.54},{"ts":"2025-09-10","kind":"arm","px":59.86},{"ts":"2025-09-11","kind":"confirm","px":56.82,"level":60.85},{"ts":"2025-09-15","kind":"arm","px":59.17},{"ts":"2025-09-19","kind":"confirm","px":56.5,"level":56.82},{"ts":"2025-11-04","kind":"arm","px":54.21},{"ts":"2025-11-05","kind":"confirm","px":54.22,"level":57.34},{"ts":"2025-12-19","kind":"arm","px":62.07},{"ts":"2026-01-22","kind":"arm","px":70.73},{"ts":"2026-01-27","kind":"confirm","px":65.48,"level":67.36},{"ts":"2026-04-29","kind":"arm","px":66.82},{"ts":"2026-05-11","kind":"confirm","px":64.85,"level":65.68},{"ts":"2026-05-13","kind":"arm","px":64.37},{"ts":"2026-05-14","kind":"confirm","px":63.64,"level":65.68},{"ts":"2026-06-18","kind":"arm","px":72.07},{"ts":"2026-07-24","kind":"confirm","px":76.91,"level":77.85},{"ts":"2026-07-27","kind":"arm","px":75.38},{"ts":"2026-07-28","kind":"confirm","px":77.08,"level":77.85}],"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":[]}}}