OPEN-SOURCE SCRIPT
Ai Golden Support and Resistance

Adaptive Support & Resistance (ADR-scaled ABCD + Breakout/Retest Zones)
What it does
This indicator detects actionable support/resistance zones from swing structure and breakout events, then keeps each zone active until it’s invalidated by price. It adapts zone sensitivity using Average Daily Range (ADR) so the same rules scale across symbols and vol regimes.
Core Logic (high level)
Swing & ABCD pattern seed
Detects alternating pivots (high–low–high–low or low–high–low–high) using a user-selected lookback.
Validates basic AB–BC–CD proportions: BC must retrace a portion of AB; CD must extend BC within a set range.
From a valid sequence, sets a candidate level (top for bearish, bottom for bullish).
Breakout confirmation
A level becomes confirmed when price closes beyond it (crossover/crossunder).
On confirmation, the script draws a dotted reference line and records how many bars elapsed from the seed pivot to breakout. That count defines the lookback window used for local extremes.
Zone construction
Supply (bearish): builds a box around the most recent local range near the bearish seed;
Demand (bullish): builds a box around the most recent local range near the bullish seed.
Each zone’s height is derived from nearby extremes and the seed swing, so boxes reflect local structure rather than fixed pip widths.
Volatility normalization (ADR%)
ADR is computed from daily candles.
The Risk Profile input (“High/Medium/Low”) scales required move sizes using ADR%, and adjusts pivot sensitivity (fewer/more bars).
Higher risk → more sensitive (smaller ADR %, tighter pivot lookback).
Lower risk → stricter filters (larger ADR %, wider pivot lookback).
Explosive-move filter (streak logic)
Searches the seeded lookback for consecutive same-color candles (config via the risk profile).
Requires the cumulative % move of that streak to exceed an ADR-scaled threshold.
When found, the zone is tagged as originating from an “explosive” move (potentially higher reaction probability).
Zone persistence & invalidation
Zones persist and auto-extend to the right until invalidated.
Invalidation occurs when price closes through a rule-based threshold derived from the seed structure (stored per zone).
Once invalidated, the zone is marked inactive and stops updating.
Inputs & Controls
Risk Profile: High / Medium / Low (sets pivot lookback, streak length, and ADR% thresholds).
Labels & Visuals: Toggle labels and level lines; set line width.
Colors/Boxes: Supply (red), Demand (green); dotted breakout references.
No broker/session settings are required; the script adapts per symbol via ADR.
On-Chart Elements
Dotted breakout lines at confirmed levels (with measured bars-to-breakout).
Supply/Demand boxes that extend until invalidation.
Optional labels for clarity; minimal clutter by default.
How to Use
Context: Use higher-TF context for bias; apply zones on your trading TF.
Confluence: Combine zones with your own triggers (structure breaks, rejection wicks, momentum shifts).
Invalidation: If price closes beyond a zone’s invalidation threshold, treat that zone as inactive.
Sensitivity: If too many zones appear, switch to Medium/Low Risk (stricter ADR% & pivots); if too few, use High Risk.
Notes & Limitations
Logic is rule-based; there is no machine learning.
Daily ADR is computed from D timeframe, so intraday charts inherit daily volatility context.
Results vary by symbol and timeframe; validate settings per market.
This is an indicator (no orders or P/L).
What it does
This indicator detects actionable support/resistance zones from swing structure and breakout events, then keeps each zone active until it’s invalidated by price. It adapts zone sensitivity using Average Daily Range (ADR) so the same rules scale across symbols and vol regimes.
Core Logic (high level)
Swing & ABCD pattern seed
Detects alternating pivots (high–low–high–low or low–high–low–high) using a user-selected lookback.
Validates basic AB–BC–CD proportions: BC must retrace a portion of AB; CD must extend BC within a set range.
From a valid sequence, sets a candidate level (top for bearish, bottom for bullish).
Breakout confirmation
A level becomes confirmed when price closes beyond it (crossover/crossunder).
On confirmation, the script draws a dotted reference line and records how many bars elapsed from the seed pivot to breakout. That count defines the lookback window used for local extremes.
Zone construction
Supply (bearish): builds a box around the most recent local range near the bearish seed;
Demand (bullish): builds a box around the most recent local range near the bullish seed.
Each zone’s height is derived from nearby extremes and the seed swing, so boxes reflect local structure rather than fixed pip widths.
Volatility normalization (ADR%)
ADR is computed from daily candles.
The Risk Profile input (“High/Medium/Low”) scales required move sizes using ADR%, and adjusts pivot sensitivity (fewer/more bars).
Higher risk → more sensitive (smaller ADR %, tighter pivot lookback).
Lower risk → stricter filters (larger ADR %, wider pivot lookback).
Explosive-move filter (streak logic)
Searches the seeded lookback for consecutive same-color candles (config via the risk profile).
Requires the cumulative % move of that streak to exceed an ADR-scaled threshold.
When found, the zone is tagged as originating from an “explosive” move (potentially higher reaction probability).
Zone persistence & invalidation
Zones persist and auto-extend to the right until invalidated.
Invalidation occurs when price closes through a rule-based threshold derived from the seed structure (stored per zone).
Once invalidated, the zone is marked inactive and stops updating.
Inputs & Controls
Risk Profile: High / Medium / Low (sets pivot lookback, streak length, and ADR% thresholds).
Labels & Visuals: Toggle labels and level lines; set line width.
Colors/Boxes: Supply (red), Demand (green); dotted breakout references.
No broker/session settings are required; the script adapts per symbol via ADR.
On-Chart Elements
Dotted breakout lines at confirmed levels (with measured bars-to-breakout).
Supply/Demand boxes that extend until invalidation.
Optional labels for clarity; minimal clutter by default.
How to Use
Context: Use higher-TF context for bias; apply zones on your trading TF.
Confluence: Combine zones with your own triggers (structure breaks, rejection wicks, momentum shifts).
Invalidation: If price closes beyond a zone’s invalidation threshold, treat that zone as inactive.
Sensitivity: If too many zones appear, switch to Medium/Low Risk (stricter ADR% & pivots); if too few, use High Risk.
Notes & Limitations
Logic is rule-based; there is no machine learning.
Daily ADR is computed from D timeframe, so intraday charts inherit daily volatility context.
Results vary by symbol and timeframe; validate settings per market.
This is an indicator (no orders or P/L).
Mã nguồn mở
Theo đúng tinh thần TradingView, người tạo ra tập lệnh này đã biến tập lệnh thành mã nguồn mở để các nhà giao dịch có thể xem xét và xác minh công năng. Xin dành lời khen tặng cho tác giả! Mặc dù bạn có thể sử dụng miễn phí, nhưng lưu ý nếu đăng lại mã, bạn phải tuân theo Quy tắc nội bộ của chúng tôi.
Thông báo miễn trừ trách nhiệm
Thông tin và ấn phẩm không có nghĩa là và không cấu thành, tài chính, đầu tư, kinh doanh, hoặc các loại lời khuyên hoặc khuyến nghị khác được cung cấp hoặc xác nhận bởi TradingView. Đọc thêm trong Điều khoản sử dụng.
Mã nguồn mở
Theo đúng tinh thần TradingView, người tạo ra tập lệnh này đã biến tập lệnh thành mã nguồn mở để các nhà giao dịch có thể xem xét và xác minh công năng. Xin dành lời khen tặng cho tác giả! Mặc dù bạn có thể sử dụng miễn phí, nhưng lưu ý nếu đăng lại mã, bạn phải tuân theo Quy tắc nội bộ của chúng tôi.
Thông báo miễn trừ trách nhiệm
Thông tin và ấn phẩm không có nghĩa là và không cấu thành, tài chính, đầu tư, kinh doanh, hoặc các loại lời khuyên hoặc khuyến nghị khác được cung cấp hoặc xác nhận bởi TradingView. Đọc thêm trong Điều khoản sử dụng.