PROTECTED SOURCE SCRIPT
SnR Fresh & Unfresh Level Detector by RWBTradeLab

SnR Fresh & Unfresh Level Detector by RWBTradeLab
A clean, non-repainting Support/Resistance level tracker built for price action traders who want to see which levels are still “Fresh” vs “Unfresh” — based strictly on CLOSED candle behavior with breakout and rejection state changes + alerts.
What this indicator does
This script detects 4 SnR level types from 2-candle sequences (CLOSED candles only), then continuously updates each level’s status as Fresh ↔ Unfresh depending on market interaction.
Level Creation
All levels are created using 2 CLOSED candles only (no running candle logic):
A Level
Green → Red
Level = 1st Green candle Close
V Level
Red → Green
Level = 1st Red candle Close
Bullish Gap Level
Green → Green
Level = 1st Green candle Close
Bearish Gap Level
Red → Red
Level = 1st Red candle Close
When a level is created, it starts as: Fresh
Fresh vs Unfresh Logic (Dynamic, continuous process)
This indicator continuously updates the SAME level over time:
Fresh → Unfresh (Rejection)
A level becomes Unfresh when a candle touches the level (wick touch) but closes back on the opposite side (rejection confirmed).
Unfresh → Fresh (Breakout)
A level becomes Fresh again when a candle closes through the level (confirmed breakout).
✅ This means a level can change state multiple times:
Fresh → Unfresh → Fresh → Unfresh … (based on confirmed candle behavior)
Visuals on chart
Each detected level is drawn as a horizontal Ray extended to the right.
Labels are drawn in a clean centered-box style:
* Fresh Level label = Green background + White text
* Unfresh Level label = Red background + White text
Labels are placed at the start (creation candle) of the level, not in the middle.
Labels are automatically positioned above/below based on level type:
* A Level / Bearish Gap labels above
* V Level / Bullish Gap labels below
Alerts (bar-close only)
Built-in alerts trigger only on CONFIRMED candles:
* Fresh Created (new level created)
* Fresh → Unfresh (rejection confirmed)
* Unfresh → Fresh (breakout confirmed)
No repainting, no running-bar alerts.
Key settings
Candle Length (Closed bars only): Scans and keeps levels created within the last N closed candles (running candle excluded).
Default: 20 (Min 5 / Max 100)
Show Fresh Levels: On/Off
Show Unfresh Levels: On/Off
Show Text Labels: On/Off
Label Offset (ticks): Adjust label distance for a cleaner chart
Max Levels To Keep: Performance safety cap to prevent excessive objects
Non-repainting confirmation
All levels, state changes, and alerts are calculated on confirmed bars only.
No repainting, no running-bar signals.
Best use
Works on any market and timeframe. For higher reliability, combine with:
Higher timeframe structure
Supply & Demand zones
Trend context and liquidity sweeps
Confirmation candles around key levels
Disclaimer
This indicator is a level-detection and state-tracking tool, not financial advice. Trading involves risk; always use proper risk management and confirm levels with your own analysis.
Creator: RWBTradeLab
If you find this useful, please leave a like ⭐ and share your feedback.
A clean, non-repainting Support/Resistance level tracker built for price action traders who want to see which levels are still “Fresh” vs “Unfresh” — based strictly on CLOSED candle behavior with breakout and rejection state changes + alerts.
What this indicator does
This script detects 4 SnR level types from 2-candle sequences (CLOSED candles only), then continuously updates each level’s status as Fresh ↔ Unfresh depending on market interaction.
Level Creation
All levels are created using 2 CLOSED candles only (no running candle logic):
A Level
Green → Red
Level = 1st Green candle Close
V Level
Red → Green
Level = 1st Red candle Close
Bullish Gap Level
Green → Green
Level = 1st Green candle Close
Bearish Gap Level
Red → Red
Level = 1st Red candle Close
When a level is created, it starts as: Fresh
Fresh vs Unfresh Logic (Dynamic, continuous process)
This indicator continuously updates the SAME level over time:
Fresh → Unfresh (Rejection)
A level becomes Unfresh when a candle touches the level (wick touch) but closes back on the opposite side (rejection confirmed).
Unfresh → Fresh (Breakout)
A level becomes Fresh again when a candle closes through the level (confirmed breakout).
✅ This means a level can change state multiple times:
Fresh → Unfresh → Fresh → Unfresh … (based on confirmed candle behavior)
Visuals on chart
Each detected level is drawn as a horizontal Ray extended to the right.
Labels are drawn in a clean centered-box style:
* Fresh Level label = Green background + White text
* Unfresh Level label = Red background + White text
Labels are placed at the start (creation candle) of the level, not in the middle.
Labels are automatically positioned above/below based on level type:
* A Level / Bearish Gap labels above
* V Level / Bullish Gap labels below
Alerts (bar-close only)
Built-in alerts trigger only on CONFIRMED candles:
* Fresh Created (new level created)
* Fresh → Unfresh (rejection confirmed)
* Unfresh → Fresh (breakout confirmed)
No repainting, no running-bar alerts.
Key settings
Candle Length (Closed bars only): Scans and keeps levels created within the last N closed candles (running candle excluded).
Default: 20 (Min 5 / Max 100)
Show Fresh Levels: On/Off
Show Unfresh Levels: On/Off
Show Text Labels: On/Off
Label Offset (ticks): Adjust label distance for a cleaner chart
Max Levels To Keep: Performance safety cap to prevent excessive objects
Non-repainting confirmation
All levels, state changes, and alerts are calculated on confirmed bars only.
No repainting, no running-bar signals.
Best use
Works on any market and timeframe. For higher reliability, combine with:
Higher timeframe structure
Supply & Demand zones
Trend context and liquidity sweeps
Confirmation candles around key levels
Disclaimer
This indicator is a level-detection and state-tracking tool, not financial advice. Trading involves risk; always use proper risk management and confirm levels with your own analysis.
Creator: RWBTradeLab
If you find this useful, please leave a like ⭐ and share your feedback.
Protected script
This script is published as closed-source. However, you can use it freely and without any limitations – learn more here.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Protected script
This script is published as closed-source. However, you can use it freely and without any limitations – learn more here.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.