ADR - Average Daily Range [KasTrades]This is an Average Daily Range (ADR) indicator.
There are two settings for ADR:
Two Look back period ADR range (e.g. 7 and 14 days)
One Look back period ADR (e.g. 5 days only)
Two day ADR ranges are typically used in equities and index futures whereas one day ADR is typically used in forex.
The opening time by default is 17:00 New York (Eastern) time. The ranges are always calculated from the opening price of the first bar on the respected timeframe.
ADR
ADR [KasTrades]This ADR indicator has 2 options: a Range of ADR, such as 7 and 14 which is typically used for indexes, index futures and equities, or a single ADR such as a 5 day which is typically used for forex.
The session start time is 17:00 ET (NY Time) by default, this is adjustable.
You can adjust the ADR days to different ranges such as 5 and 10, or a single ADR day such as 7.
Colors of the ADR high and low are also adjustable.
Swing Data - SimplifiedThe swing data indicator by jfsrev but simplified. Thank you jfsrev for your work!
ADR% / CDR% Range Analyzer - PajameinThe "ADR%/CDR% Range Analyzer" is a versatile TradingView indicator designed for traders who want to monitor and compare the "Average Daily Range (ADR%)" and "Current Daily Range (CDR%)" in real-time. ADR% represents the average percentage range (high-low relative to low) over a user-defined number of daily bars, helping you gauge a stock's typical volatility. CDR% shows the current session's range as a percentage, either intraday (customizable from start to end price) or full daily, allowing you to assess how the current bar's movement stacks up against historical norms.
Key features include:
- "Visual Comparison": Displays both values as clean labels on the chart with customizable positions (separate or combined).
- "Dynamic Background Coloring": CDR% label background changes color based on its relation to ADR%—light green for low volatility (< low threshold), light blue for neutral (between thresholds), and light red for high volatility (> high threshold). This helps quickly spot expansion or contraction in daily moves.
- "Flexibility": Works on any timeframe, with options for intraday customization and anti-clipping adjustments for multi-pane layouts.
This indicator is ideal for day traders, swing traders, or anyone tracking volatility breakouts, range-bound setups, or risk management based on expected daily moves.
Input Settings Guide
Here's a breakdown of each setting and how it enhances your trading workflow:
- "Show ADR%" (Boolean, default: true)
Toggle to display/hide the ADR% label. Use this to declutter your chart when focusing solely on current range.
- "Show CDR%" (Boolean, default: true)
Toggle to display/hide the CDR% label. Ideal for charts where you only need historical average or current metrics.
- "ADR% Length" (Integer, default: 20, min: 1)
Number of daily bars for averaging the range percentage. Shorter lengths (e.g., 10) for recent volatility; longer (e.g., 50) for broader trends.
- "CDR%: Start" (Source, default: low)
Starting price for intraday CDR% (e.g., open, previous close). Customize for specific range measurements like gap fills.
- "CDR%: End" (Source, default: high)
Ending price for intraday CDR% (e.g., low, close). Pair with Start for targeted ranges, like open-to-low for downside capture.
- "Intraday Display" (String dropdown: "Intraday CDR%", "Daily CDR%", default: "Daily CDR%")
Switch between real-time intraday calculation (dynamic updates) or fixed daily value (stable, non-repainting).
- "Low Threshold %" (Float, default: 40.0, range: 0-100)
Percentage of ADR% below which CDR% gets the low (green) background. Lower it (e.g., 30%) for stricter low-volatility alerts.
- "High Threshold %" (Float, default: 60.0, range: 0-100)
Percentage of ADR% above which CDR% gets the high (red) background. Raise it (e.g., 70%) to highlight only extreme expansions.
- "ADR% Text Color" (Color picker, default: black)
Foreground color for ADR% text. Choose contrasting colors for dark/light themes.
- "CDR% Text Color" (Color picker, default: black)
Foreground color for CDR% text. Ensures readability over dynamic backgrounds.
- "Low CDR% Background (below low threshold)" (Color picker, default: light green with 70% transparency)
Background for subdued ranges. Adjust opacity for subtlety.
- "Mid CDR% Background (between thresholds)" (Color picker, default: light blue with 70% transparency)
Neutral background for typical moves.
- "High CDR% Background (above high threshold)" (Color picker, default: light red with 70% transparency)
Alert-style background for breakouts.
- "Cell Height %" (Integer, default: 8, range: 1-20)
Vertical padding for labels as a percentage of chart height. Increase (e.g., 12) in multi-pane layouts to prevent text clipping; decrease for compact views.
- "ADR% Position" (String dropdown: Top/Bottom/Middle Left/Right/Center, default: Bottom Right)
Placement of ADR% label. Use separate positions for side-by-side comparison.
- "CDR% Position" (String dropdown: Top/Bottom/Middle Left/Right/Center, default: Bottom Right)
Placement of CDR% label. Matching positions auto-stacks them vertically.
- "Text Size" (String dropdown: Tiny/Small/Normal/Large, default: Normal)
Font size for labels. "Small" for dense charts; "Normal" for clarity.
Usage Tips
- "Volatility Trading": Set thresholds to 50%/80% for spotting range expansions during news events.
- "Multi-Timeframe": Apply on 5-min charts with daily ADR for intraday targets (e.g., aim for 80% of ADR).
- "Customization": For forex/crypto, tweak Start/End to session opens. Test in replay mode to verify non-repainting.
- "Limitations": Intraday mode updates live but may not repaint until bar close; daily mode is fixed.
Sessions [Trade Tribe HQ]Color-coded session ranges with ADR% labels to help you trade smarter, not harder.
This tool marks New York, London, Tokyo, and Sydney sessions, showing their ranges, highs/lows, VWAPs, and ADR%.
🔹 Key Features
Colored session boxes (NY, London, Tokyo, Sydney)
Session highs & lows, VWAP, and trendlines
Dashboard showing active sessions, volume, and %ADR
ADR% labels at session close
🔹 How It Helps
Spot session traps, moves, and reversals faster
Manage expectations using ADR% (no chasing over-extended moves)
Identify overlap zones (London → NY) for volatility spikes
Simplify cycle tracking across global markets
Market Sessions Marker—making it easy to see where the energy has been spent and where opportunity is building next.
Created with ❤️ by TraderChick – part of the Trade Tribe HQ community.
If you found this tool useful, check out my profile for more strategies, classes, and resources.
ADR H/L + Bull/Bear TargetsThis indicator calculates the Average Daily/Weekly Range over any given period and plots the Bull and Bear targets for that Session Daily/Weekly or both. Classic targets are calculated at ADR/AWR +/- .50 .75 1.00 1.25. Green is for the + and RED is for the - but colors can been changed to suit.
In 'Settings' there is the ability to toggle:
1. How many sessions you want to plotting on your chart.
2. Switching ON/OFF Bull/Bear targets.
3. Line color/thickness
4. Ability to offset Header for ADR/AWR vertically.
5. I've put in there a FIB option as well as Classic. FIB counts are at .382 .50 .618 1.00 of ADR and labelled as such.
ACR(Average Candle Range) With TargetsWhat is ACR?
The Average Candle Range (ACR) is a custom volatility metric that calculates the mean distance between the high and low of a set number of past candles. ACR focuses only on the actual candle range (high - low) of specific past candles on a chosen timeframe.
This script calculates and visualizes the Average Candle Range (ACR) over a user-defined number of candles on a custom timeframe. It displays a table of recent range values, plots dynamic bullish and bearish target levels, and marks the start of each new candle with a vertical line. All calculations update in real time as price action develops. This script was inspired by the “ICT ADR Levels - Judas x Daily Range Meter°” by toodegrees.
Key Features
Custom Timeframe Selection: Choose any timeframe (e.g., 1D, 4H, 15m) for analysis.
User-Defined Lookback: Calculate the average range across 1 to 10 previous candles.
Dynamic Targets:
Bullish Target: Current candle low + ACR.
Bearish Target: Current candle high – ACR.
Live Updates: Targets adjust intrabar as highs or lows change during the current candle.
Candle Start Markers: Vertical lines denote the open of each new candle on the selected timeframe.
Floating Range Table:
Displays the current ACR value.
Lists individual ranges for the previous five candles.
Extend Target Lines: Choose to extend bullish and bearish target levels fully across the screen.
Global Visibility Controls: Toggle on/off all visual elements (targets, vertical lines, and table) for a cleaner view.
How It Works
At each new candle on the user-selected timeframe, the script:
Draws a vertical line at the candle’s open.
Recalculates the ACR based on the inputted previous number of candles.
Plots target levels using the current candle's developing high and low values.
Limitation
Once the price has already moved a full ACR in the opposite direction from your intended trade, the associated target loses its practical value. For example, if you intended to trade long but the bearish ACR target is hit first, the bullish target is no longer a reliable reference for that session.
Use Case
This tool is designed for traders who:
Want to visualize the average movement range of candles over time.
Use higher or lower timeframe candles as structural anchors.
Require real-time range-based price levels for intraday or swing decision-making.
This script does not generate entry or exit signals. Instead, it supports range awareness and target projection based on historical candle behavior.
Key Difference from Similar Tools
While this script was inspired by “ICT ADR Levels - Judas x Daily Range Meter°” by toodegrees, it introduces a major enhancement: the ability to customize the timeframe used for calculating the range. Most ADR or candle-range tools are locked to a single timeframe (e.g., daily), but this version gives traders full control over the analysis window. This makes it adaptable to a wide range of strategies, including intraday and swing trading, across any market or asset.
ADR Plots + OverlayADR Plots + Overlay
This tool calculates and displays Average Daily Range (ADR) levels on your chart, giving traders a quick visual reference for expected daily price movement. It plots guide levels above and below the daily open and shows how much of the day's typical range has already been covered—all in one interactive table and on-chart overlay.
What It Does
ADR Calculation:
Uses daily high-low differences over a user-defined period (default 14 days), smoothed via RMA, SMA, EMA, or WMA to calculate the average daily range.
Projected Levels:
Plots four reference levels relative to the current day's open price:
+100% ADR: Open + ADR
+50% ADR: Open + 50% of ADR
−50% ADR: Open − 50% of ADR
−100% ADR: Open − ADR
Coverage %:
Tracks intraday high and low prices to calculate what percentage of the ADR has already been covered for the current session:
Coverage % = (High − Low) ÷ ADR × 100
Interactive Table:
Shows the ADR value and today's ADR coverage percentage in a customizable table overlay. The table position, colors, border, transparency, and an optional empty top row can all be adjusted via settings.
Customization Options
Table Settings:
Position the table (top/bottom × left/right).
Change background color, text color, border color and thickness.
Toggle an empty top row for spacing.
Line Settings:
Choose color, line style (solid/dotted/dashed), and width.
Lines automatically reposition each day based on that day's open price and ADR calculation.
General Inputs:
ADR length (number of days).
Smoothing method (RMA, SMA, EMA, WMA).
How to Use It for Trading
Measure Daily Movement: Instantly know the expected daily price range based on historical volatility.
Identify Overextension: Use the coverage % to see if the market has already moved close to or beyond its typical daily range.
Plan Entries & Exits: Align trade targets and stops with ADR levels for more objective intraday planning.
Visual Reference: Horizontal guide lines and table update automatically as new data comes in, helping traders stay informed without manual calculations.
Ideal For
Intraday traders tracking daily volatility limits.
Swing traders wanting a quick reference for expected price movement per day.
Anyone seeking a volatility-based framework for planning targets, stops, or identifying extended market conditions.
ICT Average Daily Range (ADR)📊 ICT Average Daily Range (ADR) Indicator
This indicator implements the Average Daily Range (ADR) concept taught by ICT (Inner Circle Trader). It calculates the average range of previous trading days and projects key levels for the current session, helping traders identify high-probability targets and reversal zones.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✨ KEY FEATURES
- Accurate ADR Calculation - Uses only completed trading sessions (excludes current incomplete day)
- ICT Judas Swing Levels - Highlights the critical 1/3 ADR levels where institutional manipulation often occurs
- Two Calculation Modes - New York Midnight (ICT recommended) or Classic Daily
- Customizable Fractional Levels - 1/3, 2/3, 25%, 50%, 75% of ADR
- Smart Labels - Display price levels and percentage from open
- Flexible Visual Style - Separate line styles for different level groups
- Session Dividers - Optional vertical lines at session start
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📅 WEEKEND SESSION HANDLING
How Forex Sessions Work:
- Monday-Thursday: Full 24-hour sessions
- Friday: Partial session (00:00 to ~17:00 NY time)
- Sunday: Partial session (~17:00 NY to Monday 00:00)
- Saturday: No trading
Impact on ADR:
Both Friday and Sunday are partial sessions which can lower your ADR average. For example: Mon-Thu average 100 pips, Fri 70 pips, Sun 30 pips = 5-day ADR of 80 pips.
Other Markets:
- Crypto: 24/7 trading, no partial days
- Futures/Stocks: No Sunday session
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎓 ICT CONCEPTS
Average Daily Range (ADR)
Statistical measure of average price movement per day. Acts as a "magnet" for price - markets tend to fulfill their ADR.
1/3 ADR Levels - "Judas Swing"
ICT's signature concept for identifying manipulation zones. Price often sweeps these levels to trap retail traders before reversing. High-probability reversal areas during London/NY sessions.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ SETTINGS GUIDE
ADR Period: Number of days for calculation (default 5)
- Lower values = More responsive
- Higher values = Smoother levels
Calculation Mode:
- New York Midnight - ICT standard, best for Forex
- Classic Daily - Exchange timezone
Level Display:
- ADR High/Low - Primary targets
- 1/3 Levels - Judas Swing zones
- 2/3 Levels - Trending day targets
- Quarter Levels - 25% and 75%
- 50% Level - Mid-range
Visual Options:
- Separate line styles for each level group
- Customizable colors and width
- Optional labels with price/percentage
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 TRADING TIPS
1. Early Session: If price moves to 1/3 ADR quickly, watch for Judas Swing reversal
2. Mid Session: Use 2/3 levels as continuation targets in trending markets
3. Late Session: ADR completion often marks session extremes
4. Risk Management: Use fractional levels for scaling positions
5. Confluence: Combine with Fair Value Gaps, Order Blocks, and Liquidity Pools
Best Timeframes: 15m, 30m, 1H, 4H for intraday trading
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 NOTES
- Based on concepts taught by ICT (Inner Circle Trader)
- Requires at least 5 completed sessions for full accuracy
- ICT suggested using "New York Midnight" mode
- Weekend sessions handled based on actual market hours
- Be aware that Friday/Sunday partial sessions may lower ADR average
Created with focus on clean implementation and ICT's core teachings.
Average Daily Range ADR by thSpecial for Amer and ATR testing and some text for description which I will add a little bit later because beatiful tv can't pass my indicator to be published
Price Extension from 8 EMAOverview
This indicator can be used to see how far away the price is from the 8 EMA. It compares this to the Average Daily Range % to see if the stock may be overextended. The "Extension Multiplier" represents how far the stock is extended away from the 8 EMA.
Core Concept
This indicator is best used for breakout trades that are trying to make sure they are not chasing the stock.
How to Use This Indicator
This tool is primarily intended for analyzing daily charts of individual stocks and is often used by breakout traders to evaluate potential entry areas.
If the stock is far away from the 8 EMA, it is likely not ready to break out. If it is close to the 8ema, it could be ready to move higher.
This indicator can also be used in the opposite way. For example, shorting or puts.
Understanding the colors
Green (Not Extended): Indicates the price is close to the 8 EMA. This often corresponds to periods of consolidation.
Yellow (Slightly Extended): The price is beginning to move away from the 8 EMA.
Orange (Extended): The price has moved a considerable distance from the 8 EMA.
Red (Very Extended): The price is at an extreme distance from the 8 EMA, historically increasing the likelihood of a pullback or consolidation.
Settings
Info Row Position: Adjusts the vertical position of the display table on the chart. Useful when using other indicators.
ADR Length: Sets the lookback period for calculating the Average Daily Range. Or the average range % for different timeframes.
Timeframe: Determines the timeframe for the EMA and ADR calculation (the default is Daily).
Haven Average Daily RangeOverview
This indicator is an enhanced version of the traditional ADR tool that adapts to intraday price movements. Unlike static ADR levels, this indicator dynamically adjusts its range boundaries based on real-time price action while maintaining the original ADR calculation framework.
Key Features
ADR calculation based on multiple periods (5, 10, and 20 days)
ADR levels displayed with automatic style changes upon range reach
Customizable display settings (color, line style)
Price labels for better visualization
The indicator helps traders assess the instrument's volatility, identify potential reversal zones, and plan daily trading targets.
Suitable for all timeframes up to D1 and any trading instrument.
How It Works
Session Start (UTC+0): Calculates ADR based on historical data and sets initial High/Low levels
Dynamic Phase: Monitors price action and adjusts the opposite boundary (ADR Low or High) when new extremes are reached.
When price creates new Day high price above the opening price, the ADR Low level moves upward proportionally.
When price creates new Day low price below the opening price, the ADR High level moves downward proportionally.
Completion Phase: Stops adjustments and highlights breach when price reaches either boundary
Trading Application
Entry and Exit Signals
The ADR boundaries serve as key decision points for trade execution. When price approaches the upper ADR boundary, it often signals a potential selling zone, particularly when confluence exists with other overbought indicators such as RSI divergence or resistance levels. Conversely, price reaching the lower ADR boundary frequently indicates potential buying opportunities, especially when supported by oversold conditions or support confluences.
Trend Continuation Assessment
One of the most valuable applications is gauging the probability of continued directional movement. When the current session's price action has not yet reached either ADR boundary, statistical probability favors trend continuation in the established direction. This information helps traders stay with profitable positions longer rather than exiting prematurely.
Reversal and Consolidation Zones
The visual color change to orange when ADR boundaries are reached provides immediate feedback that the normal daily range has been exhausted. At this point, the probability of trend reversal or sideways consolidation increases significantly. This signal helps traders prepare for potential position adjustments or new counter-trend opportunities.
ATR% Multiple from MAThis indicator builds upon the original idea by jfsrevg of using the ATR% multiple from a daily 50-period moving average to highlight when a stock or instrument is extended relative to its own volatility. My version expands on this by incorporating an ADR% (Average Daily Range percentage) volatility filter, which helps refine the signals to adapt better to different instruments and timeframes.
What it does:
• Calculates the 50-period simple moving average (SMA) using daily data as the baseline trend reference.
• Measures the instrument’s Average True Range (ATR) relative to the current close (ATR%).
• Uses this ratio to identify when an instrument is significantly extended above its average volatility-based range.
• Adds a dynamic ADR% filter — computed as the average daily range divided by the daily close — to adjust the extension threshold dynamically based on recent price volatility.
• Plots small circles above price bars when extension conditions are met, signaling potential overbought conditions.
•The script works on both daily and weekly timeframes, but all volatility calculations are based on daily data to ensure consistency.
How to use:
• Traders can use this indicator to spot when a stock or instrument is significantly stretched relative to its own volatility, which may signal a good time to scale out or manage risk.
• The dynamic ADR% filter helps reduce false positives by adjusting thresholds based on market conditions.
• Use the customizable settings for ATR length, SMA length, and ADR length to fine-tune the indicator for your preferred instruments.
Original Contributions:
• Integrated an ADR% filter that refines the extension threshold based on real-time volatility.
• Added dynamic thresholds that adapt to market conditions, making the indicator more reliable across different instruments and timeframes.
• Maintained daily volatility calculations while allowing signals to appear on both daily and weekly charts.
Daily ADR TableDaily ADR Table Indicator
The Daily Average Daily Range (ADR) Table displays real-time volatility statistics directly on your chart. It shows both the current day's range and the historical average daily range as percentages of the current price, providing essential volatility metrics for trading decisions.
The indicator tracks today's range in real-time throughout the trading session using session-based calculations to ensure accuracy. It compares this against a customizable historical average (default 20 days, adjustable from 1-500 days) to help traders assess whether current volatility is above or below normal levels.
All values are displayed as percentages for easy comparison across different price levels and formatted to two decimal places for precision. The table position, text size, alignment, and colors are fully customizable with nine position options and professional default styling optimized for readability.
This indicator is valuable for day traders, swing traders, and market analysts who need to quickly assess current market volatility relative to historical norms. It assists in position sizing decisions, setting stop losses, and identifying potential breakout or consolidation scenarios based on range expansion or contraction.
ADR, ATR & VOL OverlayThis is a combined version of 2 of my other indicators:
ADR / ATR Overlay
VOL / AVG Overlay
This indicator will display the following as an overlay on your chart:
ADR
% of ADR
ADR % of Price
ATR
% of ATR
ATR % of Price
Custom Session Volume
Average For Selected Session
Volume Percentage Comparison
Description:
ADR : Average Day Range
% of ADR : Percentage that the current price move has covered its average.
ADR % of Price : The percentage move implied by the average range.
ATR : Average True Range
% of ATR : Percentage that the current price move has covered its average.
ATR % of Price : The percentage move implied by the average true range.
Custom Session Volume : User chosen time frame to monitor volume
Average For Selected Session : Average for the custom session volume
Volume Percentage Comparison : Current session compared to the average (calculated at session close)
Options:
ADR/ATR:
Time Frame
Length
Smoothing
Volume:
Set Custom Time Frame For Calculations
Set Custom Time Frame For Average Comparison
Set Custom Time Zone
Table:
Enable / Disable Each Value
Change Text Color
Change Background Color
Change Table location
Add/Remove extra row for placement
ADR / ATR Example:
The ADR and ATR can be used to provide information about average price moves to help set targets, stop losses, entries and exits based on the potential average moves.
Example: If the "% of ADR" is reading 100%, then 100% of the asset's average price range has been covered, suggesting that an additional move beyond the range has a lower probability.
Example: "ADR % of Price" provides potential price movement in percentage which can be used to asses R/R for asset.
Example: ADR (D) reading is 100% at market close but ATR (D) is at 70% at close. This suggests that there is a potential (coverage) move of 30% in Pre/Post market as suggested by averages.
Custom Volume Session Example:
Set indicator to 30 period average. Set custom time frame to 9:30am to 10:30am Eastern/New York.
When the time frame for the calculation is closed, the indicator will provide a comparison of the current days volume compared to the average of 30 previous days for that same time frame and display it as a percentage in the table.
In this example you could compare how the first hour of the trading day compares to the previous 30 day's average, aiding in evaluating the potential volume for the remainder of the day.
Notes:
Times must be entered in 24 hour format. (1pm = 13:00 etc.)
Volume indicator is for Intra-day time frames, not > Day.
How I use these values:
I use these calculations to determine if a ticker symbol has the necessary range to achieve target gains, to determine if the price oscillation is within "normal" ranges to determine if the trading day will be choppy, and to determine placement of stops and targets within average ranges in combination with support, resistance and retracement levels.
ADR & ATR OverlayADR & ATR Overlay
This indicator will display the following as an overlay on your chart:
ADR
% of ADR
ADR % of Price
ATR
% of ATR
ATR % of Price
Description:
ADR : Average Day Range
% of ADR : Percentage that the current price move has covered its average.
ADR % of Price : The percentage move implied by the average range.
ATR : Average True Range
% of ATR : Percentage that the current price move has covered its average.
ATR % of Price : The percentage move implied by the average true range.
Options:
Time Frame
Length
Smoothing
Enable or Disable each value
Text Color
Background Color
How to use this indicator:
The ADR and ATR can be used to provide information about average price moves to help set targets, stop losses, entries and exits based on the potential average moves.
Example: If the "% of ADR" is reading 100%, then 100% of the asset's average price range has been covered, suggesting that an additional move beyond the range has a lower probability.
Example: "ADR % of Price" provides potential price movement in percentage which can be used to asses R/R for asset.
Example: ADR (D) reading is 100% at market close but ATR (D) is at 70% at close. This suggests that there is a potential move of 30% in Pre/Post market as suggested by averages.
Notes:
These indicators are available as oscillators to place under your chart through trading view but this indicator will place them on the chart in numerical only format.
Please feel free to modify this script if you like but please acknowledge me, I am only a hobby coder so this takes some time & effort.
[Stop!Loss] ADR Signal ADR Signal - a technical indicator located in a separate window, which displays by default the 80%-level , as well as the 100%-level of the average daily range (ADR) for the last 10 days and compares it with the current intraday range. The indicator helps not only with the use of a mathematical-statistical method to identify a potential reversal at the moment during intraday trading, but can also serves as an effective assistant in risk management.
👉 Basic mechanics of the indicator
Firstly, this indicator tracks the performance of the standard ATR indicator on the daily chart, in other words, ADR (Average Daily Range).
Important ❗️The ATR (Average True Range) indicator was created by J. Welles Wilder Jr. He first introduced ATR in his book "New Concepts in Technical Trading Systems", published in 1978. Wilder developed this indicator to measure market volatility to help traders estimate the range of price movements. This indicator is built into TradingView, more details can be found by link: www.tradingview.com
Like ATR , ADR calculates the average true range for a specified period. In this case, the distance in points from the maximum of each day to its minimum is calculated, after which the arithmetic mean is calculated - this is ADR .
👉 Visualization
ADR Signal is located in a separate window on the chart and has 3 levels:
1) "ADR level" (green line) - the same parameter, the calculations of which are briefly described above. There is 100%-level of ATR on the daily chart (ADR).
2) "Current level" (red line) - this is the current price passage within the day, calculated in points. At the start of a new day, this parameter is reset. Therefore, in the indicator window, this line has sharp drops at the start of a new trading day: "A new trading day - the instrument's power reserve is renewed again".
3) "Signal level" (blue line) - this is an individually customized value that demonstrates a certain part of the ADR parameter.
👉 Inputs
1) - is responsible for the ATR indicator period, the value of which will always be calculated on the daily chart. The default value is "10", that is, ATR is calculated for the last 10 days (not including the current one).
2) - signal level (in %). The default value is "0.8", that is, 80%-level of the ADR parameter (set earlier) is calculated.
👉 Style
1) - by default, this level is colored "blue".
2) - by default, this level is colored "red".
3) - by default, this level is colored "green".
👉 How to use this indicator
Important❗️ The two methods of the use of the ADR Signal indicator described below will be most effective when trading intraday (which is highlighted quite well below), so it is more logical to use the indicator information on time periods H1 and below.
1) Identifying potential reversals during intraday trading:
The ADR Signal indicator can be used as a potential individual reversal strategy.
Important ❗️It should be noted that using it in it without additional confirming analysis tools will be a rather aggressive trading approach. Therefore, it is best to support the entry point in particular with other methods.
In this case, the crossing of the red line (the number of points passed within the current day, that is, from the minimum of the current day to its maximum) and the blue line (color of the Signal level based on the default settings), indicates that the trading instrument has passed 80% (based on the default settings for the "Signal level") of its average distance from the maximum to the minimum over the past 10 days (based on the default settings for the "ADR Length"). Such a situation in the context of the mathematical-statistical approach indicates a probable reversal, since the "power reserve" of this instrument is mostly exhausted, so one can expect with a higher probability, at least, a price stop and possibly a reversal. In case of crossing of the red line and the green one (ADR level), it says again that based on the mathematical-statistical approach, this trading instrument has completely exhausted its intraday "power reserve". In this situation, a stop or reversal of the price will be even more likely.
Of course, using the "Signal level" parameter, one can filter out even more reliable situations for potential price reversals within a day, namely, by specifying, for example, 1.5 in the field of this parameter. Under such conditions, in the case of crossing the red and blue lines (based on the default style settings), to say that the trading instrument has passed 150% of its average distance over the last 10 days (based on the default style settings "ADR length"). In this case, the probability of a stop or reversal of the price increases even more.
2) Use in risk management:
In terms of risk management, this indicator is more applicable to open trades. For example, if one had an open Buy-position (especially if it is an intraday trade) and the price has raised significantly during the day, then the crossing of the red line with the blue line , and especially the red line with the green line , may indicate that the price will most likely stop growing, since the "power reserve" is almost or completely exhausted for this instrument within the current day. In this case, one can, at a minimum, move the trade to breakeven or even partially fix the profit.
We will continue to discuss the methods of using this indicator and strategies based on it here. And we are always waiting for your reactions and feedback on this topic 💬.
Thank you for your support 🚀
ADR Nivele Horizontale dhe EMAThe user provided a Pine Script code for an indicator called "ADR Nivele Horizontale dhe EMA". The task is to explain how this code works. Hmm, first, I need to understand what this indicator does. The title mentions ADR levels and EMA, so it's probably combining horizontal lines based on Average Daily Range and some Exponential Moving Averages.
Looking at the code, the first part is the indicator declaration with version 6. The settings include an ADR period, levels above and below the mid, and line style. Then there's a section for calculations. They request daily high and low to compute the daily range. The ADR is the SMA of the daily range over the specified period. The mid is the average of daily high and low. The adr_val is half of ADR, maybe to create symmetrical levels around the mid.
Next, they create arrays for lines and labels above and below the mid. The loops go from 1 to levels_above/below, calculate each level, draw lines and labels. The mid line is also drawn with a different color. Then, there are several EMAs plotted: 13, 50, 200, 400, 600, 800, each with different colorsWait, but in Pine Script, when you use arrays to store lines and labels, you have to manage them properly to avoid repainting or memory issues. The code uses array.concat to add new lines and labels each bar. However, since this code is running on each bar, the for loops might be creating multiple lines each time, leading to too many objects. Oh right, but they use var to initialize the arrays, so they are only initialized once. Wait, no. The var keyword initializes the variable once, but in each iteration, they are concatenating new lines. Wait, no: the for loops are inside the main script, which runs on each bar. So every time a new bar is processed, the loops will run again, adding new lines and labels. That's a problem because each bar would create new lines, leading to an ever-increasing number of lines, which could hit the maximum limit (max_lines_count is set to 20, but maybe they have more bars). Oh, the indicator has max_lines_count=20, but the code might be creating multiple lines per bar. So maybe the code isn't handling the line management correctly. For example, if levels_above is 2, then each bar would create 2 new lines above and 2 below, plus the mid line. Over 20 bars, that's way over 20 lines. So this could cause the indicator to stop drawing after 20 lines. The user might not have realized that the lines are being recreated every bar, leading to a buildup. But perhaps the original code intended to have the lines update each bar, extending to the current bar. Let's see: in line.new, they use bar_index as the starting x1 and bar_index as x2. So each line is drawn from the previous bar's index to the current one. But since this is done on every bar, each line is only one bar long. Wait, no. Because on each new bar, the code creates a new line from the previous bar's index (bar_index , which is now the bar before the current one) to the current bar_index. So each line is just a segment from the previous bar to the current bar. But when the next bar comes, a new line is created again. So the result is that each level line is a series of one-bar-length segments, which might not be intended. The user probably wants continuous lines that extend from the left to the right, not just per bar. So this approach is incorrect. The correct way would be to have a line that starts at the first bar of the calculation and extends to the right, updating each bar. But the current code creates a new line each bar, leading to multiple short lines instead of one continuous line. That's a mistake.
So the main issue here is that the code is generating a new line segment for each bar, which is not efficient and would quickly hit the line limit. To fix this, instead of creating a new line every bar, they should create the line once and then update its position each bar. But in Pine Script, you can't directly update a line after it's created; instead, you need to track the line ID and use line.set_xy() to extend it. However, the current code uses array.concat to add new lines each bar, which isn't the right approach.
Therefore, the code as written will create multiple short lines instead of continuous horizontal lines. The correct approach for horizontal levels that extend to the right is to create the line once, starting at a certain bar and extending indefinitely, or to update the line's end point each new bar. But in Pine Script, you can't extend lines infinitely; you have to manage them each bar. Alternatively, using the 'line.extend' style might help, but I think the original code's logic is flawed here.
Additionally, the EMA part is straightforward: plotting multiple EMAs with different periods. That part should work as expected.
So the explanation should mention that the ADR levels are calculated based on the daily high and low, then the code attempts to draw horizontal lines above and below the mid-point. However, the way the lines are drawn may lead to multiple short segments instead of continuous lines, potentially causing performance issues or hitting the maximum line count. The EMAs are plotted correctly with various periods..
[COG]MTF RZP Heatmap MTF RZP Heatmap (Range Zone Pulse)
What It Does
This indicator creates three visual heatmaps that show how current price movement compares to the average range of different timeframes. It helps traders:
Identify when price moves are overextended
Compare momentum across different timeframes
Spot potential reversal points
Understand the relative strength of price movements
How It Works
Range Calculation:
For each selected timeframe, it calculates an average range based on the specified number of periods
The range is measured from high to low for each period
A moving average of these ranges creates a dynamic "normal" range for that timeframe
Position Calculation:
Measures how far price has moved from the period's opening price
Compares this movement to the average range
Converts the movement into a percentage (-100% to +100%)
Visual Display:
Shows three vertical heatmaps, one for each timeframe
Colors graduate from bearish (typically red) to bullish (typically green)
A dot indicator shows the current position within each range
Percentage labels show exact movement relative to average range
Trading Applications
Trend Trading:
Multiple timeframes aligned in the same color suggest strong trend
Use larger timeframes (Daily/Weekly) for trend direction
Use smaller timeframes (4H/1H) for entry timing
Mean Reversion:
Extreme readings (near +100% or -100%) suggest overextended moves
Look for divergences between timeframes
Use when shorter timeframes show extremes but larger timeframes don't
Volatility Trading:
Compare current moves to average ranges
Identify when markets are more volatile than usual
Adjust position sizes based on range expansion/contraction
Multi-Timeframe Analysis:
Compare price action across different time horizons
Identify conflicting signals between timeframes
Use for timeframe alignment in trading decisions
Best Practices for Usage
Timeframe Selection:
Set the first timeframe to your trading timeframe
Set the second timeframe to your trend timeframe
Set the third timeframe to your entry timeframe
Range Period Settings:
Default is 5 periods
Increase for more stable readings
Decrease for more responsive readings
Color Interpretation:
Darker colors indicate stronger moves
Look for alignment across timeframes
Watch for extremes in any timeframe
Trading Setups:
Wait for alignment in multiple timeframes
Use extreme readings for counter-trend trades
Combine with other indicators for confirmation
Comprehensive Volume and Metrics with Pre-Market Volume Data
This script is designed for traders who want a detailed view of market activity, including regular market and pre-market volume, dollar volume, relative volume (RVOL), average daily range (ADR), average true range (ATR), relative strength index (RSI), and the QQQ’s percentage change.
The script includes customizable metrics displayed in tables on the chart for easy analysis, with the option to toggle the visibility of each metric.
Key Features:
Volume and Dollar Volume:
Displays the volume of shares traded during the current day (or pre-market, if enabled).
Includes a calculation of dollar volume, representing the total dollar amount of trades (Volume × Close Price).
Relative Volume (RVOL):
Displays RVOL Day, which is the relative volume of the current day compared to the 2-day moving average.
Shows RVOL 90D, indicating relative volume over the past 90 days.
Both RVOL metrics are calculated as percentages and display the percentage change compared to the standard (100%).
Pre-Market Data:
Includes pre-market volume (PVOL) and pre-market dollar volume (P$ VOL) which are displayed only if pre-market data is enabled.
Tracks volume and dollar volume during pre-market hours (4:00 AM to 9:30 AM Eastern Time) for more in-depth analysis.
Optionally, shows pre-market RSI based on volume-weighted close prices.
Average Daily Range (ADR):
Displays the percentage change between the highest and lowest prices over the defined ADR period (default is 20 days).
Average True Range (ATR):
Shows the ATR, a popular volatility indicator, for a given period (default is 14 bars).
RSI (Relative Strength Index):
Displays RSI for the given period (default is 14).
RSI is calculated using pre-market data when available.
QQQ:
Shows the percentage change of the QQQ ETF from the previous day’s close.
The QQQ percentage change is color-coded: green for positive, red for negative, and gray for no change.
Customizable Inputs:
Visibility Options: Toggle the visibility of each metric, such as volume, dollar volume, RVOL, ADR, ATR, RSI, and QQQ.
Pre-Market Data: Enable or disable the display of pre-market data for volume and dollar volume.
Table Positioning: Adjust the position of tables displaying the metrics either at the bottom-left or bottom-right of the chart.
Text Color and Table Background: Choose between white or black text for the tables and customize the background color.
Tables:
The script utilizes tables to display multiple metrics in an organized and easy-to-read format.
The values are updated dynamically, reflecting real-time data as the market moves.
Pre-Market Data:
The script calculates pre-market volume and dollar volume, along with other key metrics like RSI and RVOL, to help assess market sentiment before the market officially opens.
The pre-market data is accumulated from 4:00 AM to 9:30 AM ET, allowing for pre-market analysis and comparison to regular market hours.
User-Friendly and Flexible:
This script is designed to be highly customizable, giving you the ability to toggle which metrics to display and where they appear on the chart. You can easily focus on the data that matters most to your trading strategy.
ADR Table BY @ICT_YEROADR Table BY @ICT_YERO
Created by: @ICT_YERO
This custom indicator is designed to provide the Average Daily Range (ADR) for multiple timeframes, including Daily, 4-Hour, and 1-Hour. The indicator is tailored to assist traders in understanding price volatility and making informed trading decisions.
Key Features
Multi-Timeframe ADR Calculation:
Automatically calculates and displays the ADR for Daily, 4-Hour, and 1-Hour timeframes.
Helps traders identify potential price movement ranges for different trading sessions.
Dynamic Range Visualization:
Clear visual representation of the ADR on the chart, making it easy to spot price extremes.
Real-time updates to reflect changes in price movement.
Custom Alerts:
Option to set alerts when the price approaches the ADR high or low.
Useful for identifying potential reversal zones or breakout opportunities.
User-Friendly Interface:
Simple and intuitive settings to customize colors, levels, and display preferences.
Seamlessly integrates with your existing TradingView setup.
ICT-Inspired Methodology:
Designed for traders who follow ICT concepts, focusing on precision and high-probability setups.
Applications
Range Trading: Helps determine the high and low boundaries for scalping or intraday setups.
Volatility Analysis: Understand market behavior during different times of the day or week.
Reversal Zones: Identify areas where price is likely to reverse, based on ADR extremes.
Whether you're a scalper, day trader, or swing trader, this indicator provides a comprehensive overview of price volatility across multiple timeframes, making it an essential tool for your trading arsenal.
Swing Data - Optimized SK60
v. 1.83
indicator adjust to time frame.
This Pine Script code generates a trading indicator that calculates and displays various data points on a stock, including Average Daily Range (ADR%), Market Cap, Current Volume, Free Cash Flow (FCF) Yield %, Float %, whether moving averages (MA) are inline, and the moving averages of certain indexes like the Russell 2000, Nasdaq 100, and S&P 500. Here’s a breakdown of the script and how to use it.
Key Concepts and Functionality
Indicator Definition: The script begins by defining the indicator with a title (Swing Data - Optimized ADR%...) and short title (Optimized Swing Data), which will appear on the chart. The overlay=true command ensures that the indicator is drawn on the main price chart rather than in a separate pane.
Sector and Ticker:
s = syminfo.tickerid: This stores the ticker ID of the stock being analyzed.
sector = syminfo.sector: This retrieves the sector to which the stock belongs. If the sector information is unavailable, it assigns the value "N/A".
Dynamic Inputs: Several input parameters allow you to customize the indicator:
adrp_len: Defines the length for ADR% calculation.
len: Defines the moving average length for volume.
tbl_size, bg_col, and txt_col: Control the table's appearance, including the size of the text, background color, and text color.
posTable: Allows positioning of the table on the chart. Options include top-left, top-right, bottom-left, and bottom-right.
show_empty_row: Adds an empty row above the displayed values if set to true.
Volume Unit Handling (f_vol_unit): This function converts volume into appropriate units, like thousands (K), millions (M), or billions (B), to make volume easier to read. It’s applied to both the current volume and the average daily volume.
Moving Averages for Indexes (f_ma_indexes): This function calculates the 10-day, 20-day, 50-day, and 200-day simple moving averages (SMAs) for an index (such as Russell 2000 or Nasdaq 100). It also checks whether the MAs are inline, meaning if shorter MAs are above longer MAs, which is usually a bullish sign. It returns the result as "YES" or "NO" and assigns a color (green for yes, red for no).
Volume and Price Data: The script fetches several important data points:
vol_display: Current volume in human-readable units.
avgDaVol: Average daily volume.
adrp: Average Daily Range (ADR%) over a specified length.
fcf_yield_percent: Free Cash Flow Yield percentage.
ADR Calculation: The ADR% is calculated using the formula 100 * (ta.sma(high / low, adrp_len) - 1) and is fetched for the daily timeframe.
FCF Yield Color Logic: The Free Cash Flow yield is classified into three categories:
Green: Undervalued if FCF yield is over 5%.
Yellow: Neutral between 2-5%.
Red: Overvalued if below 2%.
MA's Inline Check for the Stock: The script checks if the stock's 10-day, 20-day, 50-day, and 200-day moving averages are inline (i.e., in a bullish alignment where shorter MAs are higher than longer MAs).
Float % Calculation: The float percentage is calculated as the ratio of float shares outstanding (FSO) to total shares outstanding (TSO). The color is set based on its breakout potential:
Red: Below 20% (manipulation risk).
Green: 20-50% (ideal breakout range).
Yellow: Above 50%.
Price Change %: The script calculates the percentage change in price between the current and previous close.
Volume Color Logic: The color of the "Current Volume" is based on whether it indicates buying or selling pressure:
Green: Volume is higher than average, and the price increased more than ADR%.
Red: Volume is higher than average, and the price decreased more than ADR%.
Yellow: Default color if neither condition is met.
Market Cap: The market cap is calculated by multiplying the total shares outstanding (TSO) by the current close price, and it’s displayed in a human-readable unit (K, M, or B).
Display Table:
A table is created to display all the calculated data in an organized manner. It includes fields for Market Cap, Avg Volume, ADR%, Current Volume, FCF Yield %, Float %, MA's Inline status, and Sector. Additionally, it shows the inline status for the Russell 2000, Nasdaq 100, and S&P 500.
How to Use:
Customization: Users can customize the inputs, including the length of ADR% and volume moving averages, and adjust the table size, text color, and position.
Visualization: The indicator provides a comprehensive table on the chart showing key data points for technical analysis, including whether moving averages are inline for both the stock and major indexes.
This indicator is particularly useful for swing traders or technical analysts who want a clear overview of a stock’s volume, volatility (via ADR%), and the alignment of moving averages, combined with fundamental metrics like market cap and free cash flow yield.
The Vet [TFO]In collaboration with @mickey1984 , "The Vet" was created to showcase various statistical measures of price.
The first core measurement utilizes the Defining Range (DR) concept on a weekly basis. For example, we might track the session from 09:30-10:30 on Mondays to get the DR high, DR low, IDR high, and IDR low. The DR high and low are the highest high and lowest low of the session, respectively, whereas the IDR high and low would be the highest candle body level (open or close) and lowest candle body level, respectively, during this window of time.
From this data, we use the IDR range (from IDR high to IDR low) to extrapolate several, custom projections of this range from its high and low so that we can collect data on how often these levels are hit, from the close of one DR session to the open of the next one.
This information is displayed in the Range Projection Table with a few main columns of information:
- The leftmost column indicates each level that is projected from the IDR range, where (+) indicates a projection above the range high, and (-) indicates a projection below the range low
- The "First Touch" column indicates how often price has reached these levels in the past at any point until the next weekly DR session
- The "Other Side Touch" column indicates how often price has reached a given level, then reversed to hit the opposing level of the same magnitude. For example, the above chart shows that if price hit the +1 projection, ~33% of instances also hit the -1 projection before the next weekly DR session. For this reason, the probabilities will be the same for projection levels of the same but opposite magnitude (+1 would be the same as -1, +3 would be the same as -3, etc.)
- The "Next Level Touch" column provides insight into how often price reaches the next greatest projection level. For example, in the above chart, the red box in the projection table is highlighting that once price hits the -2 projection, ~86% of instances reached the -3 projection before the next weekly DR session
- The last columns, "Within ADR" and "Within AWR" show if any of the projection levels are within the current Average Daily Range, or Average Weekly Range, respectively, which can both be enabled from the Average Range section
The next section, Distributions, primarily measures and displays the average price movements from specified intraday time windows. The option to Show Distribution Boxes will overlay a box showing each respective session's average range, while adjusting itself to encapsulate the price action of that session until the average range is met/exceeded. Users can choose to display the range average by Day of Week, or the Total average from all days. Values for average ranges can either be shown as point or percent values. We can also show a table to display this information about price's average ranges for each given session, and show labels displaying the current range vs its average.
The final section, Average Range, simply offers the ability to plot the Average Daily Range (ADR) and Average Weekly Range (AWR) of a specified length. An ADR of 10 for example would take the average of the last 10 days, from high to low, while an AWR of 10 would take the average of the last 10 weeks (if the current chart provides enough data to support this). Similarly, we can also show the Average Range Table to indicate what these ADR/AWR values are, what our current range is and how it compares to those values, as well as some simple statistics on how often these levels are hit. As an example, "Hit +/- ADR: 40%/35%" in this table would indicate that price has hit the upper ADR limit 40% of the time, and the lower limit 35% of the time, for the amount of data available on the current chart.