Ciclos
ICT Sessions [TradeWithRon]
ICT Sessions and killzones maps three intraday sessions on your chart (Asia, London, NY), tracks each session’s live high/low, draws optional session range boxes, and projects ICT OTE zones in real time—with granular styling, touch/mitigation logic, and alerting.
What it does
Live Session high/low tracking.
Historical session lines:
When a session ends, its final High/Low are preserved as tracked lines (with optional labels) for a configurable number of recent sessions.
Session boxes (ranges):
Draws a shaded box from session start to end that expands with new highs/lows. Limit how many recent boxes remain on chart.
ICT OTE zones (live):
For the currently active session, projects user-defined Fibonacci OTE levels (e.g., 61.8%, 70.5%, 78.6) between the session’s running high and low. Zones update tick-by-tick and can show labels. You can retain a history of recent sessions’ OTE levels.
Break visualization (mitigation):
Optionally color the bar when price breaks a stored session High/Low. You can:
Require a body close through the level (vs. any touch)
Auto-remove the line and/or label on touch/close
Use custom break colors per session and side (high/low)
Timestamps:
Add up to two recurring vertical timestamp markers (e.g., 08:00, 09:30), plus an opening horizontal marker (e.g., 09:30) with label that extends until the next occurrence.
Alerts:
Built-in alerts for:
Touch of Session 1/2/3 High/Low (Asia/London/NY)
Touch of OTE levels (per session)
Key inputs:
Time & Limits
Timezone (e.g., GMT-4)
Timeframe limit: hide all drawings on and above a specified TF
Sessions
Session windows (default):
Session 1 (Asia): 18:00–00:00
Session 2 (London): 00:00–06:00
Session 3 (NY): 08:00–12:00
How many to keep (lines/boxes)
Line width, colors, and label suffixes (“High”/“Low”)
Labels: toggle, text (“Asia”, “London”, “NY”), size, and colors
Boxes: toggle per session and background colors
ICT OTE Zones
Toggle per session (Asia/London/NY)
Levels (comma-separated %s, e.g., 61.8,70.5,78.6)
History: number of past sessions to retain
Opacity, line width/style, and label size
Custom label text per session (e.g., “Asia OTE”)
Break/Mitigation Behavior:
Enable Mitigated Candles (bar color on break)
Remove line on touch and/or remove label on touch
Require body close (vs. wick touch)
Custom break colors by session and side
Timestamps
Opening horizontal line (time, style, width, color, label text/size, drawing limit)
Two vertical timestamps (times, style, width, color, drawing limit)
Alerts
Master Enable Alerts
Per-session toggles for High/Low touches
OTE touch alerts
How it works (under the hood)
Detects session state via input.session() windows in the chosen timezone.
Live session High/Low lines and labels update in real time; on session end, final levels are stored with optional labels and tracked length.
OTE zones are live-computed from current session High↔Low and refreshed every bar; a compact rolling history is enforced.
Bar coloring reacts to break events (touch or body-close, per your setting) and uses session-specific colors when enabled.
Timestamp lines/labels are created on each occurrence and trimmed to a drawing limit for performance.
Tips:
To hide session lines but keep boxes, set line color opacity to 0.
Use Timeframe Limit to keep higher-TF charts clean.
Fine-tune OTE Levels and History to balance clarity and performance.
For stricter break logic, enable Require Body Close.
Note: The script reserves high limits for lines/labels/boxes to keep recent context visible while managing cleanup automatically. Adjust “Session Number” and “Number Of Boxes” to suit your workflow.
— © TradeWithRon
UK Recessions (1956–2023) This is a basic script that shows the UK recession periods with the dates pulled from the Wikipedia page on the UK Recession if you wish to check the reasons behind.
It will not show any future recessions however it may be updated.
Optimized BTC Daily Squeeze BreakoutThis tries to capture volatility and volume spike to provide breakout trades which are backed by volume. This aims to provide less but trades with higher possibility!
VWAP + EMA + RSI + MACD Confluence (Options Trader)VWAP
EMAs (9, 21, 50)
RSI
MACD
and clear visual + alert signals for option-style entries (bullish = calls, bearish = puts).
Here’s what it’ll do visually:
✅ Plot EMAs (9, 21, 50)
✅ Plot VWAP
✅ Show background color when confluence aligns for bullish or bearish entries
✅ Add optional alerts (so you can set triggers)
✅ Display RSI + MACD panels for confirmation
Logic:
Bullish (“Call”) signal:
Price > VWAP and > EMA50
EMA9 > EMA21
MACD line > signal line
RSI > 50
Bearish (“Put”) signal:
Price < VWAP and < EMA50
EMA9 < EMA21
MACD line < signal line
RSI < 50
SP2L Strategy Tool by Rava AcademyRava Academy - SP2L Strategy Tool
This indicator has been designed and developed by Rava Academy to implement the SP2L trading strategy. The primary goal of this tool is to automate the process of identifying potential trade setups based on this specific strategy, helping traders to save valuable time and reduce analytical errors.
Key Features:
Automatic Setup Detection: The indicator automatically scans the chart for conditions that align with the SP2L strategy rules.
Clear Visual Signals: It provides straightforward visual cues on the chart, using arrows to indicate potential setups, which simplifies the decision-making process.
Time-Saving Analysis: This tool is designed to minimize the need for manual and repetitive analysis, allowing traders to focus on other aspects of their trading plan.
Multi-Market Compatibility: It is optimized for use in various financial markets, including Forex and Cryptocurrencies.
How to Use:
Green Arrow (▲): Indicates a potential buy setup according to the strategy's rules. Traders should look for their own confirmation before entering a trade.
Red Arrow (▼): Indicates a potential sell setup according to the strategy's rules. Traders should look for their own confirmation before entering a trade.
IMPORTANT NOTE:
This indicator is a powerful assistive tool, not a standalone "buy/sell" signal generator. For best results, it is essential to combine its signals with your own analysis of market structure, price action, and a robust risk management plan. It should be used to augment, not replace, your trading judgment.
About Rava Academy:
This indicator is a contribution to the trading community from Rava Academy. We specialize in financial market education, building custom trading tools, and converting strategies into intelligent indicators.
For more educational content and trading tools, follow us on Instagram: @RavaFinance
Disclaimer:
Trading in financial markets involves significant risk. This tool is provided for educational and analytical purposes only and should not be considered financial advice. All trading decisions, profits, and losses are the sole responsibility of the user. Past performance is not indicative of future results.
AlphaZ-Score - Bitcoin Market Cycle IndicatorWHAT IS ALPHAZ-SCORE?
AlphaZ-Score is a Bitcoin-specific market cycle indicator that identifies extreme market conditions (tops and bottoms) by aggregating up to 7 independent on-chain and market metrics into a single normalized z-score. Unlike traditional oscillators that analyze only price action, AlphaZ-Score incorporates blockchain fundamentals, investor profitability metrics, and capital flow data to determine where Bitcoin sits within its long-term market cycle.
The output ranges from -3 (extreme oversold/cycle bottom) to +3 (extreme overbought/cycle top), with readings beyond ±2 indicating high-probability reversal zones.
METHODOLOGY - THE 7-COMPONENT SYSTEM
Each component analyzes Bitcoin's market state from a unique perspective, then gets z-scored (statistical normalization) so all metrics can be compared on equal footing. The final score is a weighted average of all enabled indicators.
Default Configuration (3 indicators enabled):
Stablecoin Supply Ratio (SSRO)
MVRV Z-Score
SOPR Z-Score
Optional Advanced Components (4 indicators disabled by default):
Days Higher Streak Valuation (DHSV)
High Probability OB/OS (HPOB)
Risk Index Z-Score
Comprehensive On-chain Z-Score
COMPONENT BREAKDOWN
1. STABLECOIN SUPPLY RATIO OSCILLATOR (SSRO) - ENABLED BY DEFAULT
What it measures: Ratio of Bitcoin market cap to total stablecoin supply (USDT + USDC)
Data sources:
CRYPTOCAP:BTC - Bitcoin market cap
CRYPTOCAP:USDT - Tether market cap
CRYPTOCAP:USDC - USD Coin market cap
Logic:
SSR = BTC Market Cap / (USDT + USDC Supply)
Z-Score = Standardized SSR over 200 periods
Interpretation:
High SSR (positive z-score): Bitcoin overvalued relative to available stablecoin buying power → Overbought
Low SSR (negative z-score): Massive stablecoin reserves relative to BTC value → Potential bottom (dry powder)
Why it works: Stablecoins represent "dry powder" - capital waiting to enter crypto. When stablecoin supply is high relative to BTC value, it signals accumulation potential. When low, it suggests exhausted buying power.
2. MVRV Z-SCORE - ENABLED BY DEFAULT
What it measures: Market Value to Realized Value ratio, z-scored over 520 periods
Data source: INTOTHEBLOCK:BTC_MVRV
Logic:
MVRV = Market Cap / Realized Cap
Z-Score = (MVRV - Mean) / Std Dev
Interpretation:
High MVRV (positive z-score): Average holder in significant profit → Distribution phase
Low MVRV (negative z-score): Average holder near breakeven/loss → Accumulation phase
Why it works: MVRV compares Bitcoin's market price to its "fair value" (realized price = average cost basis of all coins). Extreme deviations historically mark cycle tops (MVRV > 3.5) and bottoms (MVRV < 1.0).
Historical significance:
2017 top: MVRV z-score ~7
2018 bottom: MVRV z-score ~-1.5
2021 top: MVRV z-score ~6
2022 bottom: MVRV z-score ~-1.0
3. SOPR Z-SCORE - ENABLED BY DEFAULT
What it measures: Spent Output Profit Ratio, smoothed and z-scored
Data source: GLASSNODE:BTC_SOPR
Logic:
SOPR = Value of spent outputs / Value at creation
SOPR EMA = 7-period exponential moving average
Z-Score = Standardized SOPR EMA over 180 periods
Interpretation:
SOPR > 1 (positive z-score): Coins being spent at profit → Potential distribution
SOPR < 1 (negative z-score): Coins being spent at loss → Capitulation/bottom
Why it works: SOPR measures aggregate profitability of spent coins. When holders are forced to sell at losses (SOPR < 1), it indicates capitulation and potential bottoms. When everyone sells at profit (SOPR >> 1), it signals euphoria and potential tops.
4. DAYS HIGHER STREAK VALUATION (DHSV) - DISABLED BY DEFAULT
What it measures: Number of historical bars with prices higher than current level
Logic:
For last N bars, count how many had close > current close
Apply streak decay logic based on price threshold
Z-Score result over lookback period
Interpretation:
Few days higher (negative z-score): Price near all-time highs → Potential overbought
Many days higher (positive z-score): Price deep below historical levels → Oversold
Why it works: Measures how "expensive" current price is relative to history. When 90%+ of historical bars are higher, you're near cycle bottoms.
Settings:
Historical Bars (1000): How far back to look
Threshold & Decay: Sensitivity adjustments
5. HIGH PROBABILITY OVERBOUGHT/OVERSOLD (HPOB) - DISABLED BY DEFAULT
What it measures: Volume-weighted price momentum divergence
Logic:
Volume-weighted Hull MA vs Standard Hull MA
Difference normalized by 100-period SMA
Result inverted and scaled to match z-score range
Interpretation:
Positive score: Volume-weighted momentum diverging up → Overbought
Negative score: Volume-weighted momentum diverging down → Oversold
Why it works: When volume-weighted price movement diverges from standard price movement, it reveals institutional vs retail behavior mismatches.
Settings:
SVWHMA Length (50): Volume-weighted smoothing
HMA Length (50): Standard momentum baseline
Smooth Length (50): Final output smoothing
6. RISK INDEX Z-SCORE - DISABLED BY DEFAULT
What it measures: Modified Puell Multiple approach using realized cap
Data sources:
COINMETRICS:BTC_MARKETCAPREAL - Realized market cap
GLASSNODE:BTC_MARKETCAP - Current market cap
Logic:
Delta = Risk Multiplier × Realized Cap - Historical Realized Cap
Risk Index = (Delta / Market Cap × 100) / 24
Z-Score = Standardized Risk Index over 1500 periods
Interpretation:
High risk (positive z-score): Realized cap growth outpacing market cap → Overextended
Low risk (negative z-score): Market cap collapsed relative to realized cap → Undervalued
Why it works: Compares the rate of realized cap change to market cap. Rapid realized cap growth during low market cap periods signals accumulation.
7. COMPREHENSIVE ON-CHAIN Z-SCORE - DISABLED BY DEFAULT
What it measures: Average of three on-chain metrics: NUPL, SOPR, and MVRV
Data sources:
GLASSNODE:BTC_MARKETCAP - Current market cap
COINMETRICS:BTC_MARKETCAPREAL - Realized cap
GLASSNODE:BTC_SOPR - SOPR data
Logic:
NUPL = (Market Cap - Realized Cap) / Market Cap × 100
SOPR Z-Score = (SOPR - Mean) / Std Dev with EMA smoothing
MVRV = Market Cap / Realized Cap
Final Score = Average of all three z-scores
Interpretation:
Combines profitability (NUPL), spending behavior (SOPR), and valuation (MVRV) into single comprehensive on-chain metric.
AGGREGATION METHODOLOGY
Scoring System:
Each enabled indicator produces a z-score (typically -3 to +3 range)
Scores are weighted equally (weight = 1.0 for all)
Final output = Weighted average of all enabled indicators
Why Equal Weighting:
Each metric analyzes fundamentally different aspects of Bitcoin's market state. Equal weighting prevents any single data source from dominating and ensures diversification.
Customization:
Users can enable/disable indicators to:
Simplify analysis (3 core metrics)
Increase complexity (all 7 metrics)
Focus on specific aspects (only on-chain, only market-based, etc.)
INTERPRETATION GUIDE
Z-Score Ranges:
+3.0 and above - EXTREME OVERBOUGHT
Historical cycle tops
Maximum euphoria
High-probability distribution zone
Consider taking profits
+2.0 to +3.0 - OVERBOUGHT
Late bull market phase
Elevated risk
Cautious positioning recommended
-2.0 to +2.0 - NEUTRAL
Normal market conditions
Trend-following strategies appropriate
-2.0 to -3.0 - OVERSOLD
Early accumulation phase
Fear/capitulation stage
Begin DCA strategies
-3.0 and below - EXTREME OVERSOLD
Historical cycle bottoms
Maximum fear
High-probability accumulation zone
Prime buying opportunity
VISUAL COMPONENTS
1. Main Z-Score Line:
Dynamic color gradient based on value
Green shades: Oversold (buying opportunity)
Red shades: Overbought (distribution zone)
White: Neutral
2. Reference Lines:
0: Neutral baseline
±2: Overbought/Oversold thresholds
±3: Extreme zones (highest probability reversals)
3. Background Shading:
Light green: Oversold (-2 to -3)
Bright green: Extreme oversold (< -3)
Light red: Overbought (+2 to +3)
Bright red: Extreme overbought (> +3)
4. Bar Coloring:
Cyan bars: Oversold conditions
Red bars: Overbought conditions
Default: Neutral
5. Summary Table (Top Right):
Market State: Current condition (Extreme OB/OS, Overbought/Oversold, Neutral)
Z-Score Value: Precise numeric reading
HOW TO USE
For Long-Term Investors (DCA Strategy):
Aggressive accumulation: Z-score < -2 (especially < -3)
Regular accumulation: Z-score between -2 and 0
Hold: Z-score between 0 and +2
Take profits: Z-score > +2 (especially > +3)
For Cycle Traders:
Buy zone: Wait for z-score to drop below -2
Hold through: Ignore noise between -2 and +2
Sell zone: Start distributing when z-score exceeds +2
Exit: Complete exit if z-score reaches +3
Risk Management:
Never buy in extreme overbought (>+3) - Historically always preceded major crashes
Scale into positions - Don't go all-in at any single reading
Use with price action - Confirm with support/resistance levels
Best Timeframes:
1D (Daily): Primary timeframe for cycle analysis
1W (Weekly): Macro cycle perspective
Lower timeframes not recommended (designed for long-term cycles)
SETTINGS CONFIGURATION
General Settings:
Toggle each of 7 indicators on/off
Default: 3 indicators enabled (SSRO, MVRV, SOPR)
Advanced: Enable all 7 for maximum sensitivity
Individual Indicator Settings:
Each indicator has dedicated parameter groups:
DHSV: Historical lookback, threshold decay
HPOB: HMA and VWMA lengths, smoothing
SSRO: Z-score calculation period (200)
MVRV: Z-score length (520)
Risk: Multiplier and z-score length
SOPR: EMA smoothing (7), z-score period (180)
On-chain: Separate lengths for NUPL, SOPR, MVRV components
DATA REQUIREMENTS
Required External Data Sources:
Default configuration (3 indicators):
CRYPTOCAP:BTC - Bitcoin market cap
CRYPTOCAP:USDT - Tether supply
CRYPTOCAP:USDC - USD Coin supply
INTOTHEBLOCK:BTC_MVRV - MVRV ratio
GLASSNODE:BTC_SOPR - SOPR data
Optional indicators require:
GLASSNODE:BTC_MARKETCAP - Market cap (on-chain)
COINMETRICS:BTC_MARKETCAPREAL - Realized cap
Additional Glassnode metrics
Important: This indicator requires TradingView data subscriptions for on-chain metrics. Some data sources may not be available on all accounts.
HISTORICAL PERFORMANCE
Major Cycle Tops Identified:
November 2021: Z-score peaked at ~+2.8 before -50% crash
December 2017: Z-score exceeded +3.0 before -84% bear market
April 2013: Z-score hit extreme overbought before correction
Major Cycle Bottoms Identified:
November 2022: Z-score reached -2.5 before +100% rally
December 2018: Z-score dropped to -2.8 before +300% bull run
January 2015: Z-score hit -3.2 before multi-year bull market
Key Insight: Extreme readings (beyond ±2.5) have preceded major market reversals with high accuracy. The indicator is designed for cycle identification, not short-term trading.
ORIGINALITY - WHY THIS IS UNIQUE
Traditional Cycle Indicators:
Use single metrics (MVRV only, SOPR only, etc.)
No normalization - hard to compare metrics
Fixed thresholds that don't adapt to market evolution
Often proprietary black boxes
AlphaZ-Score Advantages:
Multi-Metric Aggregation: Combines on-chain fundamentals, market structure, and capital flows into single score
Statistical Normalization: Z-scoring allows fair comparison of completely different metrics (market cap ratios vs profitability metrics)
Modular Design: Enable only the metrics you trust or have data access to
Transparent Calculations: All formulas visible in open-source code
Bitcoin-Specific Optimization: Tuned specifically for Bitcoin's 4-year halving cycle and on-chain characteristics
Customizable Weighting: Advanced users can modify weights for different market regimes
Visual Clarity: Single line that clearly shows cycle position, unlike juggling multiple indicators
LIMITATIONS
Requires on-chain data subscriptions - Some metrics need premium TradingView data
Lagging indicator - Identifies cycles after they begin, not predictive
Bitcoin-specific - Not designed for altcoins or traditional markets
Long-term focus - Not suitable for day trading or short-term speculation
Data availability - Historical on-chain data only goes back to ~2010
External dependencies - Relies on Glassnode, CoinMetrics data accuracy
ALERTS
No built-in alerts (indicator designed for visual analysis of long-term cycles). Users can create custom alerts based on z-score thresholds.
BEST PRACTICES
✅ Use on daily or weekly timeframe only
✅ Combine with long-term moving averages (200 MA, 200 WMA)
✅ Wait for extreme readings (beyond ±2) before major decisions
✅ Scale positions - don't go all-in at any single reading
✅ Verify on-chain data sources are updating properly
❌ Don't use for short-term trading (minutes/hours)
❌ Don't ignore price action - confirm with chart patterns
❌ Don't expect perfect timing - cycles can extend beyond extremes
❌ Don't trade solely on this indicator - use as confluence
Not financial advice. This indicator identifies market cycles based on historical patterns and on-chain data. Past performance does not guarantee future results. Always use proper risk management and position sizing.
ICT Killzones & Macros (v1.1.3)ICT Killzones & Macros (v1.1.3)
Screenshots / GIFs
Overview
ICT Killzones & Macros highlights intraday “windows” many traders track:
Killzones (KZ): broader sessions (e.g., Asia, London, New York), rendered as price-action boxes with header labels and an optional “next” preview header.
Macros: smaller windows within or outside KZs, each with a live high/low box, an optional “next” preview header, plus optional chart-height background bands.
You’ll see:
Borderless price-action boxes that track the highest high and lowest low inside each window.
Header boxes above each window with centered labels.
“Next” preview headers for the earliest upcoming Macro and Killzone.
Optional backgrounds for the current Macro (live) and the next Macro (future window).
High/Low lines for the current window, with optional extensions that continue after the window ends until price crosses or the trading day rolls.
All times are interpreted in a configurable timezone (default America/New_York, DST-aware), while internal logic uses Unix time.
Features
5 Killzones & 8 Macros out of the box (fully configurable).
Session strings in HHMM-HHMM (supports cross-midnight, e.g., 1900-0200).
Next previews: shows the earliest upcoming enabled Macro/KZ (clock-robust).
Macro backgrounds:
Current macro → chart-height band from start to “now”.
Next macro → chart-height band from start to end (future).
High/Low lines:
Live H/L lines during the active window.
On close, optional extensions per side (Hi/Lo) stop on first touch or day roll; or static lines if extension is off.
Object hygiene:
Session retention cap so only the last N completed windows per Macro/KZ are kept.
Trim logic cleans boxes, headers, and any static lines.
Inputs (top-level)
Timezone (IANA, DST-aware): e.g., America/New_York (default).
Sessions to show (per window): Max number of completed windows retained for each Macro/KZ.
Header (global)
Header height (ticks)
Header gap (ticks)
Header border width / style
Header fill opacity
Header text size / color
Show next macro header (toggle)
Show next killzone header (toggle)
Macro Box (global)
Box fill opacity
Box border width / style
High/Low Lines
Show High/Low Lines (toggle)
High/Low Lines Style (Solid/Dashed/Dotted)
Extend High/Low (toggle)
Extend High/Low Style (Solid/Dashed/Dotted)
Killzones (KZ 1–5)
Each KZ has:
Label
Enable (toggle)
Session (HHMM-HHMM)
Fill color
Defaults (examples):
Asia — 1900-0200, blue
London — 0200-0500, purple
New York AM (pre-market) — 0700-0930, green
London Close — 1000-1200, yellow (disabled by default)
New York PM — 1330-1600, orange (disabled by default)
Macros (1–8)
Each Macro has:
Label
Enable (toggle)
Session (HHMM-HHMM)
Fill color (defaults to gray, except any you changed)
Defaults (examples):
AM-1 0945-1015, AM-2 1045-1115, Lunch 1200-1300 (orange), PM-1 1330-1430, PM-2 1510-1600.
How it works
Windows: When a bar enters a session, we start tracking hi/lo, draw a price-action box, and position a header box above it (gap + height in ticks).
Next previews: For each enabled set (Macros/KZs), we compute the next window by clock (handles cross-midnight) and draw a centered header at current price across the future window.
Backgrounds:
Current macro: a chart-height box from start index to current bar.
Next macro: a chart-height box from next start to next end using xloc.bar_time.
High/Low lines: Live H/L lines update during the window. On close:
If Extend is OFF → draw static H/L lines across the window width.
If Extend is ON → spawn independent Hi & Lo extension lines that advance bar-by-bar and stop at price cross or day roll (tz-aware).
Tips
Keep Sessions to show modest on low timeframes to limit objects.
Use a per-symbol template for your preferred Macro/KZ setup.
DJ/Bonds FX can be set to exchange timezones instead of NY if you prefer.
Known limitations
Extension stop logic uses bar high/low overlap; on very large bars it may halt on the same bar as close (by design).
On extremely long lookbacks with many enabled windows, you may hit max_boxes_count/max_lines_count.
Performance guidance
Use on 1–15m timeframes for the best visual granularity.
Reduce enabled windows and “Sessions to show” if you hit object limits.
Changelog (short)
v1.1.3 — High/Low lines + per-side extensions; static lines on window close when extension is off.
v1.1.2 — Next Killzone preview header (clock-robust).
v1.1.0 — Defaults: 5 Killzones & 8 Macros; removed snap-to-killzone.
v1.0.0 — Independent Macro & KZ rendering.
LGS - Vertical LinesThe script allows you to configure 5 vertical lines, to be displayed at the selected hour and minute.
January Barometer OverlayDescription:
The January Barometer Overlay is a dynamic Pine Script indicator that visualizes the classic "January Barometer" seasonal forecasting concept directly on your TradingView chart. This tool stretches the intra-month price action of January (relative to its opening close) proportionally across the entire year, creating a predictive projection line that overlays your price candles. It's perfect for spotting potential yearly trends based on January's performance—e.g., if January ends up 5%, the projection forecasts a similar relative gain by December. For multi-year views, it applies a separate stretched projection for each year's January, color-coded for easy distinction: even years in hot yellow, odd years in vibrant pink. Whether you're analyzing stocks like SPY, cryptos like ETHUSD, or forex, this overlay turns historical seasonality into an intuitive, forward-looking guide. Note: It's illustrative for strategy brainstorming, not financial advice—backtest and combine with other indicators for real trades!
Key Features:
Proportional Stretching: Maps January's daily ratios to the full ~365 days (leap years handled automatically).
Future Projection: Extends the line into unloaded future bars for "what-if" forecasting.
Multi-Year Support: Alternating colors (yellow for even years, pink for odd) make historical comparisons pop.
Smooth Interpolation: Linear blending between January points for a clean, non-stepped line.
Historical Edge (S&P 500 Context): The January Barometer has ~75% directional accuracy since 1950, with positive Januaries signaling an 89% chance of yearly gains averaging +21.6%. Use it as a seasonal bias booster!
Instructions to Add and Use on TradingView
1. Search in Indicators: On any chart, click the Indicators button (fx icon) at the top. Search for "January Barometer Overlay" (or your custom title if you rename it).
2. Add to Chart: Select it from the Public Library results—Boom, it's overlaid!
Tips & Limitations:
Works on any ticker, but shines on indices/crypto with clear seasonal patterns.
Requires full January data; projections update live as January progresses.
Not a guarantee—markets evolve! Test on historical data (e.g., 2020's wild January vs. actual crash). If errors pop up, ensure you're on daily bars.
Squeeze Weekday Frequency [CHE] Squeeze Weekday Frequency — Tracks historical frequency of low-volatility squeezes by weekday to inform timing of low-risk setups.
Summary
This indicator monitors periods of unusually low volatility, defined as when the average true range falls below a percentile threshold, and tallies their occurrences across each weekday. By aggregating these counts over the chart's history, it reveals patterns in squeeze frequency, helping traders avoid or target specific days for reduced noise. The approach uses persistent counters to ensure accurate daily tallies without duplicates, providing a robust view of weekday biases in volatility regimes.
Motivation: Why this design?
Traders often face inconsistent signal quality due to varying volatility patterns tied to the trading calendar, such as quieter mid-week sessions or busier Mondays. This indicator addresses that by binning low-volatility events into weekday buckets, allowing users to spot recurring low-activity days where trends may develop with less whipsaw. It focuses on historical aggregation rather than real-time alerts, emphasizing pattern recognition over prediction.
What’s different vs. standard approaches?
- Reference baseline: Traditional volatility trackers like simple moving averages of range or standalone Bollinger Band squeezes, which ignore temporal distribution.
- Architecture differences:
- Employs array-based persistent counters for each weekday to accumulate events without recounting.
- Includes duplicate prevention via day-key tracking to handle sparse data.
- Features on-demand sorting and conditional display modes for focused insights.
- Practical effect: Charts show a persistent table of ranked weekdays instead of transient plots, making it easier to glance at biases like higher squeezes on Fridays, which reduces the need for manual logging and highlights calendar-driven edges.
How it works (technical)
The indicator first computes the average true range over a specified lookback period to gauge recent volatility. It then ranks this value against its own history within a sliding window to identify squeezes when the rank drops below the threshold. Each bar's timestamp is resolved to a weekday using the selected timezone, and a unique day identifier is generated from the date components.
On detecting a squeeze and valid price data, it checks against a stored last-marked day for that weekday to avoid multiple counts per day. If it's a new occurrence, the corresponding weekday counter in an array increments. Total days and data-valid days are tracked separately for context.
At the chart's last bar, it sums all counters to compute shares, sorts weekdays by their squeeze proportions, and populates a table with the selected subset. The table alternates row colors and highlights the peak weekday. An info label above the final bar summarizes totals and the top day. Background shading applies a faint red to squeeze bars for visual confirmation. State persists via variable arrays initialized once, ensuring counts build incrementally without resets.
Parameter Guide
ATR Length — Sets the lookback for measuring average true range, influencing squeeze sensitivity to short-term swings. Default: 14. Trade-offs/Tips: Shorter values increase responsiveness but raise false positives in chop; longer smooths for stability, potentially missing early squeezes.
Percentile Window (bars) — Defines the history length for ranking the current ATR, balancing recent relevance with sample size. Default: 252. Trade-offs/Tips: Narrower windows adapt faster to regime shifts but amplify noise; wider ones stabilize ranks yet lag in fast markets—aim for 100-500 bars on daily charts.
Squeeze threshold (PR < x) — Determines the cutoff for low-volatility classification; lower values flag rarer, tighter squeezes. Default: 10.0. Trade-offs/Tips: Tighter thresholds (under 5) yield fewer but higher-quality signals, reducing clutter; looser (over 20) captures more events at the cost of relevance.
Timezone — Selects the reference for weekday assignment; exchange default aligns with asset's session. Default: Exchange. Trade-offs/Tips: Use custom for cross-market analysis, but verify alignment to avoid offset errors in global pairs.
Show — Toggles the results table visibility for quick on/off of the display. Default: true. Trade-offs/Tips: Disable in multi-indicator setups to save screen space; re-enable for periodic reviews.
Pos — Positions the table on the chart pane for optimal viewing. Default: Top Right. Trade-offs/Tips: Bottom options suit long-term charts; test placements to avoid overlapping price action.
Font — Adjusts text size in the table for readability at different zooms. Default: normal. Trade-offs/Tips: Smaller fonts fit more data but strain eyes on small screens; larger for presentations.
Dark — Applies a dark color scheme to the table for contrast against chart backgrounds. Default: true. Trade-offs/Tips: Toggle false for light themes; ensures legibility without manual recoloring.
Display — Filters table rows to show all, top three, or bottom three weekdays by squeeze share. Default: All. Trade-offs/Tips: Use "Top 3" for focus on high-frequency days in active trading; "All" for full audits.
Reading & Interpretation
Red-tinted backgrounds mark individual squeeze bars, indicating current low-volatility conditions. The table's summary row shows the highest squeeze count, its percentage of total events, and the associated weekday in teal. Detail rows list selected weekdays with their absolute counts, proportional shares, and a left arrow for the peak day—higher percentages signal days where squeezes cluster, suggesting potential for calmer trend development. The info label reports overall days observed, valid data days, and reiterates the top weekday with its count. Drifting counts toward zero on a weekday imply rarity, while elevated ones point to habitual low-activity sessions.
Practical Workflows & Combinations
- Trend following: Scan for squeezes on high-frequency weekdays as entry filters, confirming with higher highs or lower lows in the structure; pair with momentum oscillators to time breaks.
- Exits/Stops: On low-squeeze days, widen stops for breathing room, tightening them during peak squeeze periods to guard against false breaks—use the table's percentages as a regime proxy.
- Multi-asset/Multi-TF: Defaults work across forex and indices on hourly or daily frames; for stocks, adjust percentile window to 100 for shorter histories. Scale thresholds up by 5-10 points for high-vol assets like crypto to maintain signal sparsity.
Behavior, Constraints & Performance
- Repaint/confirmation: Counts update only on confirmed bars via day-key changes, with no future references—live bars may shade red tentatively but tallies finalize at session close.
- security()/HTF: Not used, so no higher-timeframe repaint risks; all computations stay in the chart's resolution.
- Resources: Relies on a fixed-size array of seven elements and small loops for sorting and table fills, capped at 5000 bars back—efficient for most charts but may slow on very long intraday histories.
- Known limits: Ignores weekends and holidays implicitly via data presence; early chart bars lack full percentile context, leading to initial undercounting; assumes continuous sessions, so gaps in data (e.g., news halts) skew totals.
Sensible Defaults & Quick Tuning
Start with the built-in values for broad-market daily charts: ATR at 14, window at 252, threshold at 10. For noisier environments, lower the threshold to 5 and shorten the window to 100 to prioritize rare squeezes. If too few events appear, raise the threshold to 15 and extend ATR to 20 for broader capture. To combat overcounting in sparse data, widen the window to 500 while keeping others stock—monitor the info label's data-days count before trusting patterns.
What this indicator is—and isn’t
This serves as a statistical overlay for spotting calendar-based volatility biases, aiding in session selection and filter design. It is not a standalone signal generator, predictive model, or risk manager—integrate it with price action, volume, and broader strategy rules for decisions.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
First-Move-Wrong Toolkit [CHE] First-Move-Wrong Toolkit — Session-bound sweep rejection with structure confirmation
Summary
This indicator marks potential “first move wrong” reversals during a defined trading session. It looks for a quick sweep beyond the prior day high or low, or the opening range high or low, followed by rejection and a basic structure confirmation. Optional rules require a retest and a VWAP reclaim in the direction of the trade idea. The script renders session levels as right-extended lines, signals as labels, optional SL/TP guide lines for visualization, and background tints during sweep events. Pivots are confirmed using swing width, which reduces repaint risk compared to live swings.
Motivation: Why this design?
Intraday reversals often start with a liquidity sweep around obvious highs or lows. Acting on the sweep alone can be noisy, while waiting for structure break and a retest can be slow. This tool balances both by checking a sweep and rejection at session-relevant levels, then requiring a simple structure cue and, optionally, a retest and a VWAP filter. The goal is a clear, rule-based signal layer that is easy to audit on chart without hidden state.
What’s different vs. standard approaches?
Baseline reference: Simple sweep detectors or basic CHOCH markers that ignore session context and liquidity anchors.
Architecture differences:
Session-aware opening range tracking that finalizes after the chosen minutes from session start.
Daily previous high and low pulled without lookahead, then extended forward as visual anchors.
Confirmed pivot highs and lows to avoid repaint from live, unconfirmed swings.
Optional retest rule using crossover or crossunder at the trigger level.
Optional VWAP filter to demand reclaim in the intended direction.
Global label cooldown to prevent clusters of signals.
Practical effect: Fewer one-off flips around noisy levels, clearer alignment with session structure, and compact visual feedback through lines, labels, and tints.
How it works (technical)
Levels: During the defined session, the script builds an opening range high and low until the configured minute mark after session start, then freezes those levels for the day. It also fetches the previous day high and low from the daily timeframe without lookahead and extends them forward.
Sweep and rejection: A sweep is defined as price moving beyond a target level and then rejecting back inside on the same bar. The script checks this condition separately for highs and lows against opening range and previous-day levels.
Structure validation: Confirmed pivot highs and lows are computed using a symmetric swing width. A bearish idea requires a prior sweep of a high plus a break through the last confirmed swing low. A bullish idea requires a prior sweep of a low plus a break through the last confirmed swing high.
Optional retest: If enabled, a bearish signal needs a cross under the bearish trigger level; a bullish signal needs a cross over the bullish trigger level.
VWAP filter (optional): The script requires a reclaim of VWAP in the intended direction when enabled.
State handling: Opening range values, previous-day lines, and the label cooldown timestamp are stored in persistent variables. Lines are created once and updated each bar to extend forward.
Repaint considerations: Pivots confirm only after the specified swing width, reducing repaint. The daily level request is performed without lookahead. Signals use closed-bar checks implied by crossover and crossunder logic.
Parameter Guide
Session (local) — Defines the active trading window. Default nine to seventeen. Narrower windows focus on the main session drive.
Opening Range (min) — Minutes from session start to finalize OR levels. Default fifteen. Shorter values react faster; longer values stabilize levels.
Use PrevDay H/L levels — Toggle previous-day anchors. On by default.
Use OR H/L levels — Toggle opening range anchors. On by default.
Equal H/L tolerance (ticks) — Intended tolerance for equal highs or lows. Default one. (Unknown/Optional) in current signals.
Swing width — Bars on both sides for confirmed pivots. Default two. Larger values reduce noise but confirm later.
Require CHOCH after sweep — Enforces structure break after a sweep. On by default.
Prefer retest entries — Requires crossover or crossunder of the trigger level. On by default.
VWAP filter — Demands a reclaim of VWAP in signal direction. Off by default.
TP in R (guide) — Multiplier for visual TP guides. Default one. Visualization only.
Show levels / Show signals / Show R-guides — Rendering toggles. R-guides are visual aids, not orders.
Label cooldown (bars) — Minimum bars between labels. Default five. Higher values reduce clusters.
Palette inputs — Colors and transparencies for levels, labels, VWAP, and tints.
Reading & Interpretation
Lines: Dotted lines represent opening range high and low after the OR window completes. Dashed lines represent previous-day high and low.
Signals: “Long” labels appear after a low-side sweep with rejection and structure confirmation, subject to optional retest and VWAP rules. “Short” labels mirror this on the high side.
Background tints: Red-tinted bars indicate a high-side sweep and rejection. Green-tinted bars indicate a low-side sweep and rejection.
R-guides: Circles display a visual stop level at the bar extreme and a target guide based on the selected multiple. They are informational only.
Practical Workflows & Combinations
Session reversal scans: During the first hour, watch for sweeps around previous-day or opening range levels, then wait for structure confirmation and optional retest.
Trend following with filters: Combine signals with higher-timeframe structure or a moving average regime check. Ignore signals against the dominant regime.
Exits and stops: Use the visual stop as a reference near the sweep extreme; adapt the target guide to volatility and market conditions.
Multi-asset / Multi-TF: Works on intraday timeframes for liquid futures, indices, forex, and large-cap equities. Start with default settings and adjust swing width and OR minutes to instrument volatility.
Behavior, Constraints & Performance
Repaint/confirmation: Pivots confirm after the swing window completes. Signals occur only when conditions are met on closed bars.
security()/HTF: Daily previous-day levels are requested without lookahead to reduce repaint.
Resources: Uses persistent variables and line updates per bar; no heavy loops or arrays.
Known limits: Signals can arrive later when swing width is large. Gaps around session boundaries may distort OR levels. VWAP behavior may vary with partial sessions or illiquid assets.
Sensible Defaults & Quick Tuning
Starting point: Session nine to seventeen, opening range fifteen minutes, swing width two, CHOCH required, retest on, VWAP off, cooldown five bars.
Too many flips: Increase swing width, enable VWAP filter, or raise label cooldown.
Too sluggish: Reduce swing width or shorten the opening range window.
Too many session-level hits: Disable either previous-day levels or opening range levels to simplify context.
What this indicator is—and isn’t
This is a session-aware visualization and signal layer focused on sweep-plus-structure behavior. It is not a complete trading system and does not manage orders, risk, or portfolio exposure. Use it with market structure, risk limits, and execution rules that fit your process.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
OrderBlocks by exp3rts (Non-Repainting)The OrderBlocks by exp3rts indicator automatically identifies and visualizes bullish and bearish order blocks using confirmed, non-repainting fractals combined with Fair Value Gap (FVG) validation for enhanced accuracy.
This tool is designed to help traders spot high-probability institutional price zones — areas where large buy or sell orders previously caused significant moves — allowing you to anticipate potential reversal, continuation, or mitigation levels with precision.
Core Features
✅ Non-Repainting Logic: Uses confirmed 3- or 5-bar fractals only after full pattern completion.
📈 Dynamic Order Block Detection: Marks both bullish and bearish OBs automatically.
⚖️ FVG Filter (Optional): Optionally require a Fair Value Gap within a user-defined distance to confirm valid OBs.
🎯 Customizable OB Lines: Adjust color, style (solid, dashed, dotted), width, and body/wick placement.
🧹 Auto-Cleanup: Option to remove order block lines once price has been mitigated (touched/filled).
🔺🔻 Fractal Display: Toggle fractal highs/lows on or off for extra structure clarity.
⚡ Optimized for Performance: Uses efficient array management to run smoothly within TradingView’s bar processing limits.
How to Use
Add the indicator to your chart.
Adjust settings such as Fractal Filter (3/5), FVG distance, and Line Style to match your trading preference.
Watch for bullish OBs (green lines) near potential demand zones and bearish OBs (red lines) near supply zones.
Use in confluence with market structure and liquidity concepts for best results.
Settings Overview
Fractal Filter: Choose between 3-bar or 5-bar swing fractals.
Order Block Type: Detect OBs based on Close or High/Low break structure.
FVG Filter: Optionally require nearby Fair Value Gaps.
Delete After Fill: Automatically remove mitigated OBs.
Visuals: Customize line color, thickness, and style for clear chart integration.
Made for any timeframe & any market.
Background Trend Follower by exp3rtsThe Background Trend Follower indicator visually highlights the market’s daily directional bias using subtle background colors. It calculates the price change from the daily open and shades the chart background according to the current intraday momentum.
🟢 Green background → Price is significantly above the daily open (strong bullish trend)
🔴 Red background → Price is significantly below the daily open (strong bearish trend)
🟡 Yellow background → Price is trading near the daily open (neutral or consolidating phase)
The script automatically detects each new trading day.
It records the opening price at the start of the day.
As the session progresses, it continuously measures how far the current price has moved from that open.
When the move exceeds ±50 points (custom threshold), the background color adapts to reflect the trend strength.
Perfect for traders who want a quick visual sense of intraday bias — bullish, bearish, or neutral — without cluttering the chart with extra indicators.
DK Fractals (Strategy)Convert to strategy. Introduce the first 2 trading models (Still heavily in development) The reversal and continuation models. More to come.
If you still want to use as an indicator, just disable the two trading models.
Moon Phases Long/Short StrategyThis is an experiment of Moon Phases, likely buy when full moon and sell when new moon with few changes, like it would buy a day ahead or sometimes sell a day post these events, with Stop loss and take profits, 50% profitable so sounds good to me
Long only good for bitcoin gold, both modes(L+S) better for stocks and alt coins
Period Separator + Future Lines (Exchange-Time Synced)Monthly, Weekly, Daily,4hr and hr dividers and future separators (custom as wish, how many lines it should show in future)
Future separators corrected
Tamu2.0Testing Oct 2025. Indicator tries to identify short periods of volatility and market manipulation.
Multi-Session Futures Range Boxes(NY, Europe, & Asia)Multi-Session Boxes — ASIA / EUROPE / NEW YORK
This indicator draws session boxes for three custom trading sessions and updates them live on intraday charts.
Each box tracks the high, low, and open of its session; the box color switches Up/Down based on whether the current price is above or below the session open.
Default setup
• ASIA — 20:00–02:59 (ET), Purple (bg/border), opacity 90
• EUROPE — 03:00–09:29 (ET), Turquoise (bg/border), opacity 90
• NEW YORK — 09:30–16:00 (ET), Yellow (bg/border), opacity 90
You can change times, time zones (IANA names like America/New_York, UTC, Europe/London), colors, opacity, and border width per session from the settings. Each session also has an Enable toggle.
How it works
• At each session’s first bar, the indicator records the open and initializes high/low.
• During the session, it updates the highest high / lowest low and stretches the box to the current bar.
• Box background & border use your Up/Down colors:
◦ Up if close > session open
◦ Down otherwise
• Works on intraday timeframes only (as with the original script).
Notes for futures
• The box schedule is based on your selected time zone.
• If you keep ASIA at 20:00, the gap between 16:00–20:00 ET (post-RTH / Globex evening) is intentionally unboxed so Asia’s H/L aren’t polluted by thin trade.
• If you prefer to fill that gap visually, you can add a separate “Evening” session later without changing Asia’s times.
Quarter Levels — Auto Recentering NQ onlyQuarter Levels — Auto Recentering (PERMANENT) + Big Offset Labels
What it is
This tool paints true horizontal key levels that traders naturally anchor to: the 00 / 25 / 50 / 75 quarter levels (black), the 35 / 65 / 90 reaction levels (red), and the 10 / 80 sweep/edge levels (purple).
Lines are infinite horizontals and the grid auto-recenters ±200 points around current price each new bar. Labels on the right show the last two digits (e.g., 25, 35, 50, 65, 75, 80, 90), so you instantly know which level you’re at.
Why it helps
Markets often “snap” to simple numbers. These levels create a clean scaffold for intraday structure, pullbacks, and rotations—without clutter or lagging math.
Color Legend
Black — 00 / 25 / 50 / 75:
Core quarter levels. Expect frequent pauses, re-tests, and rotations.
Use: default S/R map; bias for mean-reversion inside ranges.
Red — 35 / 65 / 90:
“Continuation / reaction” levels. Price often accelerates through these once momentum takes.
Use: breakout guides and precise take-profit targets.
Purple — 10 / 80:
Sweep / edge levels. Price often wicks into these and rejects.
Use: fade the last push, or confirm a sweep before a reversal.
How it works
The script draws the levels as extend.both horizontals (not derived from candle points).
Every new bar, it rebuilds the grid around close ± 200 pts (editable in code: RANGE_POINTS).
Prices are snapped to tick (syminfo.mintick) so lines lock to the Y-axis.
Labels show only the offset (two-digit number) to keep the chart clean.
Setup & Customization
No inputs required.
If you want tweaks, open the code and edit at the top:
RANGE_POINTS – widen/narrow the vertical coverage.
LABEL_OFFSET – push labels further to the right.
LABEL_SIZE – size.small / normal / large.
Color & width constants (per group).
Practical Use (playbook)
Use this grid as a price map, not a signal generator. Combine it with your execution tools.
1) In Range Conditions
Fade to Black: When price rotates inside a range, look for exhaustion into black levels (00/25/50/75).
Plan: wait for rejection (wick + failed follow-through), enter back toward the mid/next quarter. Stop just beyond the level; first target the next red or black.
Purple Sweeps: Watch quick spikes into 10/80 that immediately fail.
Plan: fade the sweep with tight risk; scale out at 25/75; hold a runner to 50.
2) In Trend / Momentum
Red Rails (35/65/90): When momentum is strong, price often steps through red levels cleanly.
Plan: use them as continuation targets or trail anchors. If pullback holds above a prior red level, consider continuation with stop below that level.
Quarter-to-Quarter Ladders: In clean trends, expect quarter-to-quarter traversals (00→25→50→75→00…).
Plan: add on pullbacks to 25 or 50 with trend confirmation (e.g., 9/21 EMA stack or anchored VWAP hold).
3) Confluence (AI-logic suggestions)
Pair the grid with any two of:
VWAP / Anchored VWAP: Rejections at a quarter level + VWAP = higher quality entry.
EMAs (9/21/50/200): Use as directional filter. Only take longs at quarters when fast EMAs > slow EMAs.
Liquidity cues: Prior high/low, session O/H/L, or liquidity pools aligning with a quarter level.
Orderflow / footprint: Aggressive delta through a red level? Expect follow-through to the next black or red.
Volatility (ATR): If ATR expands, lean more on red levels (continuations). In compression, lean more on black and purple (fades).
Risk & Management Tips
Stops: Just beyond the level you’re trading against. Let the level “be wrong” to prove you wrong.
Targets: Next red or black line. Scale at the first, hold a small runner to the next.
Session awareness: Levels interact differently in Asia/EU/US. In US RTH, expect sharper responses at red and purple.
Timeframes: Works across all. Intraday (1–15m) for entries; 1h/4h daily for context.
Do not chase: If you miss the touch, wait for the next level; the map is dense by design.
Limitations
This indicator does not generate buy/sell signals; it supplies a stable structure.
In runaway trends, price can cut through multiple lines—use trend filters and risk caps.
Auto-recentering means the visible band travels with price; if you need static levels far away, increase RANGE_POINTS.
Troubleshooting
No labels? Make sure max_labels_count isn’t hit and SHOW_LABELS = true.
Labels too close to price? Increase LABEL_OFFSET.
Too many lines? Reduce RANGE_POINTS or hide a color group in code.
Credits / License
Created by: TRC — The Refuge Camp
License: Free to use on TradingView with attribution.
If you fork or embed, please credit “TRC — The Refuge Camp” and link back to the original post/profile.
Quick Start (TL;DR)
Add the script.
Trade the map:
Fade purple/black in ranges.
Target red/black in trends.
Combine with VWAP/EMAs or your orderflow tool for confirmation.
Respect stops just beyond the level; scale at the next line.
Happy trading, and welcome to the Quarter-Level grid.