{"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":"TPG","timeframe":"3D","as_of":"2026-08-12T00:00:00Z","bar_quality":"real_ohlc","signal_era":"gc_v2_wo2","signals":[{"ts":"2022-06-13","known_ts":"2022-06-13","bar_index":35,"type":"SELL","basis":"structure_stop","strength":0.588,"price":20.9245,"stop_level":22.1353,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-07-14","known_ts":"2022-07-18","bar_index":42,"type":"BUY","strength":0.588,"price":21.3849,"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":"2022-08-12","known_ts":"2022-08-12","bar_index":49,"type":"RECLAIM","strength":0.725,"price":27.8737,"scored":true,"quality":"block_repair","quality_reason":"bear-block legs repaired after the 2022-07-14 blocked entry","reasons":["bear_block_cleared","macd_cross_still_live"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-08-26","known_ts":"2022-08-26","bar_index":52,"type":"SELL","basis":"structure_stop","strength":0.725,"price":25.9349,"stop_level":26.2629,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2022-10-28","known_ts":"2022-11-01","bar_index":67,"type":"BUY","strength":0.725,"price":27.3763,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":false},"quality":"take","quality_reason":"held confirmation","tier":"base","score":60},{"ts":"2022-11-23","known_ts":"2022-11-23","bar_index":73,"type":"SELL","basis":"structure_stop","strength":0.863,"price":30.742,"stop_level":30.7681,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2023-01-12","known_ts":"2023-01-17","bar_index":84,"type":"BUY","strength":0.725,"price":28.9163,"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":"base","score":35},{"ts":"2023-01-30","known_ts":"2023-01-30","bar_index":87,"type":"SELL","basis":"structure_stop","strength":0.725,"price":27.3253,"stop_level":27.4644,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":false}},{"ts":"2023-01-31","known_ts":"2023-02-02","bar_index":88,"type":"BUY","strength":0.725,"price":29.4901,"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":"base","score":20},{"ts":"2023-01-31","known_ts":"2023-01-31","bar_index":88,"type":"RECLAIM","strength":0.725,"price":28.0034,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2023-01-30 structure-stop level within five sessions","reasons":["close_reclaimed_stop_level","within_5_sessions","failed_breakdown"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":false},"anchor_ts":"2023-01-30","prior_stop_level":27.4644,"sweep_low":26.821,"atr14":1.010119,"stop_level":26.315941,"risk_basis":"daily_ohlc_atr14"},{"ts":"2023-03-02","known_ts":"2023-03-06","bar_index":95,"type":"REBUY","strength":0.725,"price":29.7523,"reasons":["fast_reversal_up","sell_failed"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":false},"quality":"block","quality_reason":"failed reclaim-and-hold","tier":"base","score":20},{"ts":"2023-03-09","known_ts":"2023-03-09","bar_index":96,"type":"SELL","basis":"structure_stop","strength":0.725,"price":27.7659,"stop_level":28.0131,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":false}},{"ts":"2023-04-14","known_ts":"2023-04-18","bar_index":105,"type":"BUY","strength":0.588,"price":26.5829,"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":"base","score":40},{"ts":"2023-08-08","known_ts":"2023-08-08","bar_index":131,"type":"SELL","basis":"structure_stop","strength":0.725,"price":24.5769,"stop_level":25.8849,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2023-09-06","known_ts":"2023-09-08","bar_index":138,"type":"BUY","strength":0.725,"price":26.3338,"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":0},{"ts":"2023-10-02","known_ts":"2023-10-02","bar_index":144,"type":"SELL","basis":"structure_stop","strength":0.863,"price":26.5043,"stop_level":27.0157,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2023-10-06","known_ts":"2023-10-06","bar_index":145,"type":"RECLAIM","strength":0.863,"price":27.0695,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2023-10-02 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":"2023-10-02","prior_stop_level":27.0157,"sweep_low":25.616,"atr14":0.716956,"stop_level":25.257522,"risk_basis":"daily_ohlc_atr14"},{"ts":"2023-11-08","known_ts":"2023-11-10","bar_index":153,"type":"BUY","strength":0.725,"price":28.4602,"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":30},{"ts":"2024-01-16","known_ts":"2024-01-16","bar_index":168,"type":"SELL","basis":"structure_stop","strength":1.0,"price":35.5175,"stop_level":35.6813,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2024-01-19","known_ts":"2024-01-19","bar_index":169,"type":"RECLAIM","strength":1.0,"price":36.5822,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2024-01-16 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-16","prior_stop_level":35.6813,"sweep_low":34.7622,"atr14":0.919696,"stop_level":34.302352,"risk_basis":"daily_ohlc_atr14"},{"ts":"2024-02-01","known_ts":"2024-02-01","bar_index":172,"type":"RECLAIM","strength":1.0,"price":38.1747,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2024-01-16 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":true}},{"ts":"2024-07-09","known_ts":"2024-07-11","bar_index":208,"type":"BUY","strength":0.725,"price":39.3961,"reasons":["macd_bull_cross","recent_b1","confirm_bull","rsi<65"],"regime":{"weeklyBull":false,"above200":true,"monthlyBull":true},"quality":"take","quality_reason":"held confirmation","tier":"quality","score":65},{"ts":"2025-04-09","known_ts":"2025-04-11","bar_index":271,"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-04-09","trigger_known_ts":"2025-04-11","strength":0.45,"price":42.3648,"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.368809,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":35.6477,"atr14":3.276172,"stop_level":34.009614,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-04-14","known_ts":"2025-04-16","bar_index":272,"type":"BUY","strength":0.45,"price":41.3292,"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-14","known_ts":"2025-04-16","bar_index":272,"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-14","trigger_known_ts":"2025-04-16","strength":0.45,"price":41.3292,"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.384238,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":35.6477,"atr14":2.945745,"stop_level":34.174827,"risk_basis":"daily_ohlc_atr14"},{"ts":"2025-09-02","known_ts":"2025-09-02","bar_index":304,"type":"SELL","basis":"structure_stop","strength":0.863,"price":56.9258,"stop_level":57.6217,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2025-09-18","known_ts":"2025-09-18","bar_index":308,"type":"RECLAIM","strength":0.863,"price":62.2037,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2025-09-02 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2025-11-25","known_ts":"2025-11-28","bar_index":324,"type":"BUY","strength":0.588,"price":57.557,"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":"quality","score":65},{"ts":"2025-12-30","known_ts":"2025-12-30","bar_index":331,"type":"SELL","basis":"structure_stop","strength":0.863,"price":62.6619,"stop_level":62.7399,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2026-01-02","known_ts":"2026-01-02","bar_index":332,"type":"RECLAIM","strength":0.863,"price":64.055,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2025-12-30 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":"2025-12-30","prior_stop_level":62.7399,"sweep_low":62.1456,"atr14":1.506158,"stop_level":61.392521,"risk_basis":"daily_ohlc_atr14"},{"ts":"2026-01-14","known_ts":"2026-01-14","bar_index":335,"type":"RECLAIM","strength":0.863,"price":65.4092,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2025-12-30 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}},{"ts":"2026-03-17","known_ts":"2026-03-19","bar_index":349,"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":"2026-03-17","trigger_known_ts":"2026-03-19","strength":0.45,"price":40.5664,"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.394506,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":38.3067,"atr14":2.263178,"stop_level":37.175111,"risk_basis":"daily_ohlc_atr14"},{"ts":"2026-04-08","known_ts":"2026-04-10","bar_index":354,"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":"2026-04-08","trigger_known_ts":"2026-04-10","strength":0.45,"price":37.7837,"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.436041,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":36.4614,"atr14":1.903449,"stop_level":35.509676,"risk_basis":"daily_ohlc_atr14"},{"ts":"2026-04-13","known_ts":"2026-04-15","bar_index":355,"type":"BUY","strength":0.45,"price":43.3886,"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-13","known_ts":"2026-04-15","bar_index":355,"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-13","trigger_known_ts":"2026-04-15","strength":0.45,"price":43.3886,"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.352382,"monthly_oversold_dwell":0,"recent_3d_oversold":true},"regime":{"weeklyBull":false,"above200":false,"monthlyBull":false},"sweep_low":36.4614,"atr14":2.006509,"stop_level":35.458145,"risk_basis":"daily_ohlc_atr14"},{"ts":"2026-05-18","known_ts":"2026-05-18","bar_index":363,"type":"SELL","basis":"structure_stop","strength":0.588,"price":41.35,"stop_level":41.5236,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2026-05-21","known_ts":"2026-05-21","bar_index":364,"type":"RECLAIM","strength":0.588,"price":41.75,"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":true,"above200":false,"monthlyBull":false},"anchor_ts":"2026-05-18","prior_stop_level":41.5236,"sweep_low":39.25,"atr14":1.776207,"stop_level":38.361897,"risk_basis":"daily_ohlc_atr14"},{"ts":"2026-06-23","known_ts":"2026-06-23","bar_index":371,"type":"SELL","basis":"structure_stop","strength":0.588,"price":39.58,"stop_level":40.63,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2026-06-25","known_ts":"2026-06-25","bar_index":372,"type":"SELL","basis":"structure_stop","strength":0.588,"price":40.02,"stop_level":40.63,"reasons":["distribution_confirmed","structure_break"],"regime":{"weeklyBull":true,"above200":false,"monthlyBull":false}},{"ts":"2026-07-02","known_ts":"2026-07-02","bar_index":373,"type":"RECLAIM","strength":0.588,"price":41.43,"scored":false,"quality":"stop_sweep_reclaim","quality_reason":"price reclaimed the 2026-06-25 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-06-25","prior_stop_level":40.63,"sweep_low":38.46,"atr14":1.798277,"stop_level":37.560862,"risk_basis":"daily_ohlc_atr14"},{"ts":"2026-08-07","known_ts":"2026-08-07","bar_index":382,"type":"RECLAIM","strength":0.725,"price":50.6,"scored":true,"quality":"reclaim","quality_reason":"trend reclaimed the 2026-06-25 sell level","reasons":["close>sell_price","weekly_bull","above200","debounced"],"regime":{"weeklyBull":true,"above200":true,"monthlyBull":false}}],"state":{"position_hint":"long","last_signal":"RECLAIM","last_scored_signal":"RECLAIM","last_scored_ts":"2026-08-07","last_scored_basis":null,"bars_since_signal":1,"extended":false,"strong_bull":false,"overbought":true,"weeklyBull":true,"above200":true},"early_dots":["2022-10-04","2022-12-29","2023-01-31","2023-03-23","2023-05-05","2023-08-23","2023-10-31","2024-01-24","2024-04-19","2024-05-20","2024-06-11","2024-07-09","2025-01-02","2025-03-14","2025-09-15","2025-10-17","2025-11-07","2026-02-24","2026-05-04"],"warnings":[{"ts":"2022-06-08","kind":"arm","px":24.2413},{"ts":"2022-06-13","kind":"confirm","px":20.9245,"level":22.1353},{"ts":"2022-08-18","kind":"arm","px":27.9804},{"ts":"2022-08-26","kind":"confirm","px":25.9349,"level":26.2629},{"ts":"2022-11-18","kind":"arm","px":30.8029},{"ts":"2022-11-23","kind":"confirm","px":30.742,"level":30.7681},{"ts":"2023-01-25","kind":"arm","px":27.7426},{"ts":"2023-01-30","kind":"confirm","px":27.3253,"level":27.4644},{"ts":"2023-02-17","kind":"arm","px":29.3249},{"ts":"2023-03-09","kind":"confirm","px":27.7659,"level":28.0131},{"ts":"2023-06-26","kind":"arm","px":24.5591},{"ts":"2023-07-25","kind":"arm","px":27.273},{"ts":"2023-08-08","kind":"confirm","px":24.5769,"level":25.8849},{"ts":"2023-09-26","kind":"arm","px":27.0157},{"ts":"2023-10-02","kind":"confirm","px":26.5043,"level":27.0157},{"ts":"2023-11-28","kind":"arm","px":31.2041},{"ts":"2023-12-27","kind":"arm","px":39.6125},{"ts":"2024-01-16","kind":"confirm","px":35.5175,"level":35.6813},{"ts":"2024-08-06","kind":"arm","px":39.8602},{"ts":"2024-09-30","kind":"arm","px":53.8797},{"ts":"2025-05-19","kind":"arm","px":48.6779},{"ts":"2025-06-20","kind":"arm","px":48.405},{"ts":"2025-09-02","kind":"confirm","px":56.9258,"level":57.6217},{"ts":"2025-12-15","kind":"arm","px":65.0195},{"ts":"2025-12-30","kind":"confirm","px":62.6619,"level":62.7399},{"ts":"2026-05-01","kind":"arm","px":43.6353},{"ts":"2026-05-18","kind":"confirm","px":41.35,"level":41.5236},{"ts":"2026-06-17","kind":"arm","px":42.56},{"ts":"2026-06-23","kind":"confirm","px":39.58,"level":40.63},{"ts":"2026-06-24","kind":"arm","px":38.74},{"ts":"2026-06-25","kind":"confirm","px":40.02,"level":40.63},{"ts":"2026-07-24","kind":"arm","px":42.83}],"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":[]}}}