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.
Script protetto
Questo script è pubblicato come codice protetto. Tuttavia, è possibile utilizzarle liberamente e senza alcuna limitazione – ulteriori informazioni qui.
Declinazione di responsabilità
Le informazioni e le pubblicazioni non sono intese come, e non costituiscono, consulenza o raccomandazioni finanziarie, di investimento, di trading o di altro tipo fornite o approvate da TradingView. Per ulteriori informazioni, consultare i Termini di utilizzo.
Script protetto
Questo script è pubblicato come codice protetto. Tuttavia, è possibile utilizzarle liberamente e senza alcuna limitazione – ulteriori informazioni qui.
Declinazione di responsabilità
Le informazioni e le pubblicazioni non sono intese come, e non costituiscono, consulenza o raccomandazioni finanziarie, di investimento, di trading o di altro tipo fornite o approvate da TradingView. Per ulteriori informazioni, consultare i Termini di utilizzo.