Upper and Lower bound for pairs/BTCUpper and Lower Bound for Pairs/BTC
This indicator provides dynamic upper and lower boundary levels for cryptocurrency pairs traded against BTC. It uses statistical or technical analysis methods, such as Z-Score, Bollinger Bands, or moving averages, to identify key resistance (upper bound) and support (lower bound) levels.
Key Features:
Dynamic Boundaries: Tracks real-time price fluctuations of selected pairs against BTC, adapting to market conditions.
Market Insights: Helps traders visualize potential overbought (upper bound) and oversold (lower bound) zones for pairs like ETH/BTC, DOGE/BTC, and others.
Customizable Settings: Allows users to configure lookback periods, standard deviations, or other parameters for boundary calculations.
Decision Support: Assists in identifying reversal or breakout points to refine entry and exit strategies.
This tool is ideal for traders seeking to optimize risk management and spot opportunities in BTC pair markets.
Индикаторы и стратегии
Volume Distribution Before/After Top
Description
This script visualizes the distribution of volume before and after a price peak within a specified time interval. The green area represents the volume accumulated before the peak, and the red area represents the volume accumulated after the peak. The script also calculates and displays the volume-weighted average price (VWAP) on each side of the peak with a dotted line and a label.
The key features include:
Volume Visualization: Transparent green and red bars indicate volume fractions before and after the peak.
VWAP Markers: Centered labels with VWAP values are plotted above the corresponding levels.
Interactive Inputs: Define the start and end points of the analysis interval using customizable anchor times.
This tool is ideal for traders who want to analyze how volume dynamics are distributed around key price levels. It can help identify potential zones of support and resistance and improve the understanding of market behavior in response to volume accumulation.
Instructions
Select the start and end anchor times using the input fields.
Observe the volume distribution and VWAP levels on the chart.
Use the visual data to make more informed trading decisions.
S&P 500 Sector StrengthsThe "S&P 500 Sector Strengths" indicator is a sophisticated tool designed to provide traders and investors with a comprehensive view of the relative performance of various sectors within the S&P 500 index. This indicator utilizes the True Strength Index (TSI) to measure and compare the strength of different sectors, offering valuable insights into market trends and sector rotations.
At its core, the indicator calculates the TSI for each sector using price data obtained through the request.security() function. The TSI, a momentum oscillator, is computed using a user-defined smoothing period, allowing for customization based on individual preferences and trading styles. The resulting TSI values for each sector are then plotted on the chart, creating a visual representation of sector strengths.
To use this indicator effectively, traders should focus on comparing the movements of different sector lines. Sectors with lines moving higher are showing increasing strength, while those with descending lines are exhibiting weakness. This comparative analysis can help identify potential investment opportunities and sector rotations. Additionally, when multiple sector lines move in tandem, it may signal a broader market trend.
The indicator includes dashed lines at 0.5 and -0.5, serving as reference points for overbought and oversold conditions. Sectors with TSI values above 0.5 might be considered overbought, suggesting caution, while those below -0.5 could be viewed as oversold, potentially indicating buying opportunities.
One of the key advantages of this indicator is its flexibility. Users can toggle the visibility of individual sectors and customize their colors, allowing for a tailored analysis experience. This feature is particularly useful when focusing on specific sectors or reducing chart clutter for clearer visualization.
The indicator's ability to provide a comprehensive overview of all major S&P 500 sectors in a single chart is a significant benefit. This consolidated view enables quick comparisons and helps in identifying relative strengths and weaknesses across sectors. Such insights can be invaluable for portfolio allocation decisions and in spotting emerging market trends.
Moreover, the dynamic legend feature enhances the indicator's usability. It automatically updates to display only the visible sectors, improving chart readability and interpretation.
By leveraging this indicator, market participants can gain a deeper understanding of sector dynamics within the S&P 500. This enhanced perspective can lead to more informed decision-making in sector allocation strategies and individual stock selection. The indicator's ability to potentially detect early trends by comparing sector strengths adds another layer of value, allowing users to position themselves ahead of broader market movements.
In conclusion, the "S&P 500 Sector Strengths" indicator is a powerful tool that combines technical analysis with sector comparison. Its user-friendly interface, customizable features, and comprehensive sector coverage make it an valuable asset for traders and investors seeking to navigate the complexities of the S&P 500 market with greater confidence and insight.
CandelaCharts - Volume Imbalance (VI) 📝 Overview
Volume Imbalance occurs when there’s a noticeable gap between the bodies of two consecutive candlesticks, with no overlap between them. While the wicks of the candles might intersect, the candle bodies remain entirely separate. This phenomenon often signifies that the algorithm driving market activity did not evenly distribute prices between these two levels, leaving behind a small Fair Value Gap (FVG).
A Bullish Volume Imbalance forms when the body of a green candlestick gaps above the previous candle’s body, with no overlap, indicating strong upward momentum and insufficient sell-side liquidity.
A Bearish Volume Imbalance forms when the body of a red candlestick gaps below the previous candle’s body, with no overlap, signaling intense downward pressure and a lack of buy-side liquidity.
This indicator can automatically identify volume imbalances by scanning candlestick patterns and detecting gaps between consecutive candle bodies. These volume imbalances act as price magnets, often attracting the market back to fill the gap before resuming its original direction. Recognizing and leveraging these gaps can be a powerful tool in technical analysis for predicting price movements.
📦 Features
MTF
Mitigation
Consequent Encroachment
Threshold
Hide Overlap
Advanced Styling
⚙️ Settings
Show: Controls whether FVGs are displayed on the chart.
Show Last: Sets the number of FVGs you want to display.
Length: Determines the length of each FVG.
Mitigation: Highlights when an FVG has been touched, using a different color without marking it as invalid.
Timeframe: Specifies the timeframe used to detect FVGs.
Threshold: Sets the minimum gap size required for FVG detection on the chart.
Show Mid-Line: Configures the midpoint line's width and style within the FVG. (Consequent Encroachment - CE)
Show Border: Defines the border width and line style of the FVG.
Hide Overlap: Removes overlapping FVGs from view.
Extend: Extends the FVG length to the current candle.
Elongate: Fully extends the FVG length to the right side of the chart.
⚡️ Showcase
Simple
Mitigated
Bordered
Consequent Encroachment
Extended
🚨 Alerts
This script provides alert options for all signals.
Bearish Signal
A bearish alert triggers when a red candlestick gaps below the previous body, signaling downward pressure.
Bullish Signal
A bullish alert triggers when a green candlestick gaps above the previous body, indicating upward momentum.
⚠️ Disclaimer
Trading involves significant risk, and many participants may incur losses. The content on this site is not intended as financial advice and should not be interpreted as such. Decisions to buy, sell, hold, or trade securities, commodities, or other financial instruments carry inherent risks and are best made with guidance from qualified financial professionals. Past performance is not indicative of future results.
[EmreKb] Supertrend FakeoutSupertrend Fakeout
This script is an enhanced version of the classic Supertrend indicator. It incorporates an additional feature that ensures trend reversals are more reliable by introducing a Fakeout Index Limit and a Fakeout ATR Mult. This helps avoid false trend changes that could occur due to short-term price fluctuations or market noise.
How It Works:
The Supertrend indicator uses Average True Range (ATR) and a multiplier to determine the direction of the trend. When the price is above the Supertrend line, it indicates an uptrend; when the price is below the Supertrend line, it signals a downtrend.
This version goes a step further by adding the following checks before confirming a trend reversal:
The script will monitor if the price moves "Fakeout ATR Mult" ATR away from the Supertrend line after a potential breach. This distance helps ensure that the trend change is significant and not just a minor fluctuation.
In addition, the script checks the price action for a specific number of bars, which is controlled by the Fakeout Index Limit. This limit determines how many bars the price must remain below (for a downtrend) or above (for an uptrend) the Supertrend line before the trend is officially reversed.
ETF-Benchmark AnalyzerHave you ever wondered which ETF performs the best? Which one is the most volatile, or which one has the smallest drawdown?
This Pine Script™ "ETF-Benchmark Analyzer" compares the performance of an ETF (such as SPY, the S&P 500 ETF) against a benchmark, which can also be adjusted by the user. It provides several key financial metrics, such as:
Performance (%): Displays the total return over a specified lookback period (e.g., 1 year). It compares the performance of the ETF against the benchmark and shows the difference.
Alpha (%): Measures the excess return of the ETF over the expected return, which is calculated using the benchmark’s return. Positive alpha indicates that the ETF has outperformed the benchmark, while negative alpha suggests underperformance. This metric is important because it isolates performance that cannot be explained by exposure to the benchmark's movements.
Sharpe Ratio: A risk-adjusted measure of return. It is calculated by dividing the excess return of the ETF (above the risk-free rate) by its standard deviation (volatility). A higher Sharpe ratio indicates better risk-adjusted returns. The Sharpe ratio is calculated for both the ETF and the benchmark, and their difference is displayed as well.
Drawdown: The percentage decrease from the highest price to the lowest price over the lookback period. This is a critical measure of risk, as it shows the largest potential loss an investor might face during a specific period.
Beta: Measures the ETF’s sensitivity to movements in the benchmark. A beta of 1 means the ETF moves in line with the benchmark; greater than 1 means it is more volatile, while less than 1 means it is less volatile.
These metrics provide a holistic view of the ETF’s performance compared to the benchmark, allowing traders to assess the risk and return profile more effectively.
Scientific Sources
Sharpe Ratio: Sharpe, W. F. (1994). The Sharpe Ratio. Journal of Portfolio Management, 21(1), 49-58. This paper defines and develops the Sharpe ratio as a measure of risk-adjusted return.
Alpha and Beta: Jensen, M. C. (1968). The Performance of Mutual Funds in the Period 1945–1964. The Journal of Finance, 23(2), 389-416. This paper discusses the concepts of alpha and beta in the context of mutual fund performance.
supertrendLibrary "supertrend"
supertrend : Library dedicated to different variations of supertrend
supertrend_atr(length, multiplier, atrMaType, source, highSource, lowSource, waitForClose, delayed)
supertrend_atr: Simple supertrend based on atr but also takes into consideration of custom MA Type, sources
Parameters:
length (simple int) : : ATR Length
multiplier (simple float) : : ATR Multiplier
atrMaType (simple string) : : Moving Average type for ATR calculation. This can be sma, ema, hma, rma, wma, vwma, swma
source (float) : : Default is close. Can Chose custom source
highSource (float) : : Default is high. Can also use close price for both high and low source
lowSource (float) : : Default is low. Can also use close price for both high and low source
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
delayed (simple bool) : : if set to true lags supertrend atr stop based on target levels.
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
supertrend_bands(bandType, maType, length, multiplier, source, highSource, lowSource, waitForClose, useTrueRange, useAlternateSource, alternateSource, sticky)
supertrend_bands: Simple supertrend based on atr but also takes into consideration of custom MA Type, sources
Parameters:
bandType (simple string) : : Type of band used - can be bb, kc or dc
maType (simple string) : : Moving Average type for Bands. This can be sma, ema, hma, rma, wma, vwma, swma
length (simple int) : : Band Length
multiplier (float) : : Std deviation or ATR multiplier for Bollinger Bands and Keltner Channel
source (float) : : Default is close. Can Chose custom source
highSource (float) : : Default is high. Can also use close price for both high and low source
lowSource (float) : : Default is low. Can also use close price for both high and low source
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
useTrueRange (simple bool) : : Used for Keltner channel. If set to false, then high-low is used as range instead of true range
useAlternateSource (simple bool) : - Custom source is used for Donchian Chanbel only if useAlternateSource is set to true
alternateSource (float) : - Custom source for Donchian channel
sticky (simple bool) : : if set to true borders change only when price is beyond borders.
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
supertrend_zigzag(length, history, useAlternativeSource, alternativeSource, source, highSource, lowSource, waitForClose, atrlength, multiplier, atrMaType)
supertrend_zigzag: Zigzag pivot based supertrend
Parameters:
length (simple int) : : Zigzag Length
history (simple int) : : number of historical pivots to consider
useAlternativeSource (simple bool)
alternativeSource (float)
source (float) : : Default is close. Can Chose custom source
highSource (float) : : Default is high. Can also use close price for both high and low source
lowSource (float) : : Default is low. Can also use close price for both high and low source
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
atrlength (simple int) : : ATR Length
multiplier (simple float) : : ATR Multiplier
atrMaType (simple string) : : Moving Average type for ATR calculation. This can be sma, ema, hma, rma, wma, vwma, swma
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
zupertrend(length, history, useAlternativeSource, alternativeSource, source, highSource, lowSource, waitForClose, atrlength, multiplier, atrMaType)
zupertrend: Zigzag pivot based supertrend
Parameters:
length (simple int) : : Zigzag Length
history (simple int) : : number of historical pivots to consider
useAlternativeSource (simple bool)
alternativeSource (float)
source (float) : : Default is close. Can Chose custom source
highSource (float) : : Default is high. Can also use close price for both high and low source
lowSource (float) : : Default is low. Can also use close price for both high and low source
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
atrlength (simple int) : : ATR Length
multiplier (simple float) : : ATR Multiplier
atrMaType (simple string) : : Moving Average type for ATR calculation. This can be sma, ema, hma, rma, wma, vwma, swma
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
zsupertrend(zigzagpivots, history, source, highSource, lowSource, waitForClose, atrMaType, atrlength, multiplier)
zsupertrend: Same as zigzag supertrend. But, works on already calculated array rather than Calculating fresh zigzag
Parameters:
zigzagpivots (array) : : Precalculated zigzag pivots
history (simple int) : : number of historical pivots to consider
source (float) : : Default is close. Can Chose custom source
highSource (float) : : Default is high. Can also use close price for both high and low source
lowSource (float) : : Default is low. Can also use close price for both high and low source
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
atrMaType (simple string) : : Moving Average type for ATR calculation. This can be sma, ema, hma, rma, wma, vwma, swma
atrlength (simple int) : : ATR Length
multiplier (simple float) : : ATR Multiplier
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
taLibrary "ta"
Collection of all custom and enhanced TA indicators
ma(source, maType, length)
returns custom moving averages
Parameters:
source (float) : Moving Average Source
maType (simple string) : Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
length (simple int) : Moving Average Length
Returns: moving average for the given type and length
atr(maType, length)
returns ATR with custom moving average
Parameters:
maType (simple string) : Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
length (simple int) : Moving Average Length
Returns: ATR for the given moving average type and length
atrpercent(maType, length)
returns ATR as percentage of close price
Parameters:
maType (simple string) : Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
length (simple int) : Moving Average Length
Returns: ATR as percentage of close price for the given moving average type and length
bb(source, maType, length, multiplier, sticky)
returns Bollinger band for custom moving average
Parameters:
source (float) : Moving Average Source
maType (simple string) : Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Bollinger band with custom moving average for given source, length and multiplier
bbw(source, maType, length, multiplier, sticky)
returns Bollinger bandwidth for custom moving average
Parameters:
source (float) : Moving Average Source
maType (simple string) : Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Bollinger Bandwidth for custom moving average for given source, length and multiplier
bpercentb(source, maType, length, multiplier, sticky)
returns Bollinger Percent B for custom moving average
Parameters:
source (float) : Moving Average Source
maType (simple string) : Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Bollinger Percent B for custom moving average for given source, length and multiplier
kc(source, maType, length, multiplier, useTrueRange, sticky)
returns Keltner Channel for custom moving average
Parameters:
source (float) : Moving Average Source
maType (simple string) : Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
useTrueRange (simple bool) : - if set to false, uses high-low.
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Keltner Channel for custom moving average for given souce, length and multiplier
kcw(source, maType, length, multiplier, useTrueRange, sticky)
returns Keltner Channel Width with custom moving average
Parameters:
source (float) : Moving Average Source
maType (simple string) : Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
useTrueRange (simple bool) : - if set to false, uses high-low.
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Keltner Channel Width for custom moving average
kpercentk(source, maType, length, multiplier, useTrueRange, sticky)
returns Keltner Channel Percent K Width with custom moving average
Parameters:
source (float) : Moving Average Source
maType (simple string) : Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
useTrueRange (simple bool) : - if set to false, uses high-low.
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Keltner Percent K for given moving average, source, length and multiplier
dc(length, useAlternateSource, alternateSource, sticky)
returns Custom Donchian Channel
Parameters:
length (simple int) : - donchian channel length
useAlternateSource (simple bool) : - Custom source is used only if useAlternateSource is set to true
alternateSource (float) : - Custom source
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Donchian channel
dcw(length, useAlternateSource, alternateSource, sticky)
returns Donchian Channel Width
Parameters:
length (simple int) : - donchian channel length
useAlternateSource (simple bool) : - Custom source is used only if useAlternateSource is set to true
alternateSource (float) : - Custom source
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Donchian channel width
dpercentd(length, useAlternateSource, alternateSource, sticky)
returns Donchian Channel Percent of price
Parameters:
length (simple int) : - donchian channel length
useAlternateSource (simple bool) : - Custom source is used only if useAlternateSource is set to true
alternateSource (float) : - Custom source
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Donchian channel Percent D
oscillatorRange(source, method, highlowLength, rangeLength, sticky)
oscillatorRange - returns Custom overbought/oversold areas for an oscillator input
Parameters:
source (float) : - Osillator source such as RSI, COG etc.
method (simple string) : - Valid values for method are : sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
highlowLength (simple int) : - length on which highlow of the oscillator is calculated
rangeLength (simple int) : - length used for calculating oversold/overbought range - usually same as oscillator length
sticky (simple bool) : - overbought, oversold levels won't change unless crossed
Returns: Dynamic overbought and oversold range for oscillator input
oscillator(type, length, shortLength, longLength, source, highSource, lowSource, method, highlowLength, sticky)
oscillator - returns Choice of oscillator with custom overbought/oversold range
Parameters:
type (simple string) : - oscillator type. Valid values : cci, cmo, cog, mfi, roc, rsi, stoch, tsi, wpr
length (simple int) : - Oscillator length - not used for TSI
shortLength (simple int) : - shortLength only used for TSI
longLength (simple int) : - longLength only used for TSI
source (float) : - custom source if required
highSource (float) : - custom high source for stochastic oscillator
lowSource (float) : - custom low source for stochastic oscillator
method (simple string) : - Valid values for method are : sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
highlowLength (simple int) : - length on which highlow of the oscillator is calculated
sticky (simple bool) : - overbought, oversold levels won't change unless crossed
Returns: Oscillator value along with dynamic overbought and oversold range for oscillator input
TTM Grid StrategyThis strategy uses a TTM (based on EMAs of highs and lows) to determine the market's trend direction.
It then deploys a grid trading system around a dynamically updated base price, with the grid's direction and levels adjusting based on the trend.
Trades are executed as the price crosses the predefined grid levels, with the strategy risking a set percentage of equity per trade.
Core Strategy Logic:
TTM State Calculation (ttmState() function):
* Calculates two EMAs based on the `ttmPeriod`: one for the lows (`lowMA`) and one for the highs (`highMA`).
* Defines two threshold levels: `lowThird` (1/3 from the bottom) and `highThird` (2/3 from the bottom) of the range between `highMA` and `lowMA`.
* Returns the current TTM state as an integer:
+ `1` if the close price is above `highThird` (indicating an uptrend).
+ `0` if the close price is below `lowThird` (indicating a downtrend).
+ `-1` if the close price is between `lowThird` and `highThird` (indicating a neutral state).
PDH & PDL Indicator: Previous Day's High/Low with AlertsThe PDH & PDL Indicator plots the Previous Day's High (PDH) and Previous Day's Low (PDL) directly on the chart, providing a clear visual reference for key price levels. These levels are often used by traders to identify potential breakout or breakdown zones and to gauge market strength or weakness.
Features:
PDH (Green Line) : Represents the high of the previous trading day.
PDL (Red Line): Represents the low of the previous trading day.
Alerts:
Get notified when the price crosses above PDH or below PDL.
Custom alert messages to keep you informed in real-time.
Use Cases:
Identify key breakout and breakdown points for potential trade entries or exits.
Confirm the strength of a trend by monitoring price action relative to PDH and PDL.
Useful for intraday, swing, and positional traders who rely on historical price levels for strategy development.
EMA Volatility Channel [QuantAlgo]EMA Volatility Channel 🌊📈
The EMA Volatility Channel by QuantAlgo is an advanced technical indicator designed to capture price volatility and trend dynamics through adaptive channels based on exponential moving averages. This sophisticated system combines EMA-based trend analysis with dynamic volatility-adjusted bands to help traders and investors identify trend direction, potential reversals, and market volatility conditions. By evaluating both price momentum and volatility together, this tool enables users to make informed trading decisions while adapting to changing market conditions.
💫 Dynamic Channel Architecture
The EMA Volatility Channel provides a unique framework for assessing market trends through a blend of exponential moving averages and volatility-based channel calculations. Unlike traditional channel indicators that use fixed-width bands, this system incorporates dynamic volatility measurements to adjust channel width automatically, helping users determine whether price movements are significant relative to current market conditions. By combining smooth EMA trends with adaptive volatility bands, it evaluates both directional movement and market volatility, while the smoothing parameters ensure stable yet responsive channel adjustments. This adaptive approach allows users to identify trending conditions while remaining aware of volatility expansions and contractions, enhancing both trend-following and reversal strategies.
📊 Indicator Components & Mechanics
The EMA Volatility Channel is composed of several technical components that create a dynamic channel system:
EMA Midline: Calculates a smoothed exponential moving average that serves as the channel's centerline, providing a clear reference for trend direction.
Volatility Measurement: Computes average price movement to determine dynamic channel width, adapting to changing market conditions automatically.
Smooth Band Calculation: Applies additional smoothing to the channel bands, reducing noise while maintaining responsiveness to significant price movements.
📈 Key Indicators and Features
The EMA Volatility Channel combines various technical tools to deliver a comprehensive analysis of market conditions.
The indicator utilizes exponential moving averages with customizable length and smoothing parameters to adapt to different trading styles. Volatility calculations are applied to determine channel width, providing context-aware boundaries for price movement. The trend detection component evaluates price action relative to the channel bands, helping validate trends and identify potential reversals.
The indicator incorporates multi-layered visualization with color-coded channels and bars to signal both trend direction and market position. These adaptive visual cues, combined with programmable alerts for channel breakouts, help traders and investors track both trend changes and volatility conditions, supporting both trend-following and mean-reversion strategies.
⚡️ Practical Applications and Examples
✅ Add the Indicator: Add the indicator to your TradingView chart by clicking on the star icon to add it to your favorites ⭐️
👀 Monitor Channel Position: Watch the price position relative to the channel bands to identify trend direction and potential reversals. When price moves outside the channel, consider potential trend changes or extreme conditions.
🔔 Set Alerts: Configure alerts for channel breakouts and trend changes, ensuring you can act on significant technical developments promptly.
🌟 Summary and Tips
The EMA Volatility Channel by QuantAlgo is a versatile technical tool, designed to support both trend following and volatility analysis across different market environments. By combining smooth EMA trends with dynamic volatility-based channels, it helps traders and investors identify significant price movements while measuring market volatility, providing reliable technical signals. The tool's adaptability across timeframes makes it suitable for both trend-following and reversal strategies, allowing users to capture opportunities while maintaining awareness of changing market conditions.
Kalman PredictorThe **Kalman Predictor** indicator is a powerful tool designed for traders looking to enhance their market analysis by smoothing price data and projecting future price movements. This script implements a Kalman filter, a statistical method for noise reduction, to dynamically estimate price trends and velocity. Combined with ATR-based confidence bands, it provides actionable insights into potential price movement, while offering clear trend and momentum visualization.
---
#### **Key Features**:
1. **Kalman Filter Smoothing**:
- Dynamically estimates the current price state and velocity to filter out market noise.
- Projects three future price levels (`Next Bar`, `Next +2`, `Next +3`) based on velocity.
2. **Dynamic Confidence Bands**:
- Confidence bands are calculated using ATR (Average True Range) to reflect market volatility.
- Visualizes potential price deviation from projected levels.
3. **Trend Visualization**:
- Color-coded prediction dots:
- **Green**: Indicates an upward trend (positive velocity).
- **Red**: Indicates a downward trend (negative velocity).
- Dynamically updated label displaying the current trend and velocity value.
4. **User Customization**:
- Inputs to adjust the process and measurement noise for the Kalman filter (`q` and `r`).
- Configurable ATR multiplier for confidence bands.
- Toggleable trend label with adjustable positioning.
---
#### **How It Works**:
1. **Kalman Filter Core**:
- The Kalman filter continuously updates the estimated price state and velocity based on real-time price changes.
- Projections are based on the current price trend (velocity) and extend into the future (Next Bar, +2, +3).
2. **Confidence Bands**:
- Calculated using ATR to provide a dynamic range around the projected future prices.
- Indicates potential volatility and helps traders assess risk-reward scenarios.
3. **Trend Label**:
- Updates dynamically on the last bar to show:
- Current trend direction (Up/Down).
- Velocity value, providing insight into the expected magnitude of the price movement.
---
#### **How to Use**:
- **Trend Analysis**:
- Observe the direction and spacing of the prediction dots relative to current candles.
- Larger spacing indicates a potential strong move, while clustering suggests consolidation.
- **Risk Management**:
- Use the confidence bands to gauge potential price volatility and set stop-loss or take-profit levels accordingly.
- **Pullback Detection**:
- Look for flattening or clustering of dots during trends as a signal of potential pullbacks or reversals.
---
#### **Customizable Inputs**:
- **Kalman Filter Parameters**:
- `lookback`: Adjusts the smoothing window.
- `q`: Process noise (higher values make the filter more reactive to changes).
- `r`: Measurement noise (controls sensitivity to price deviations).
- **Confidence Bands**:
- `band_multiplier`: Multiplies ATR to define the range of confidence bands.
- **Visualization**:
- `show_label`: Option to toggle the trend label.
- `label_offset`: Adjusts the label’s distance from the price for better visibility.
---
#### **Examples of Use**:
- **Scalping**: Use on lower timeframes (e.g., 1-minute, 5-minute) to detect short-term price trends and reversals.
- **Swing Trading**: Identify pullbacks or continuations on higher timeframes (e.g., 4-hour, daily) by observing the prediction dots and confidence bands.
- **Risk Assessment**: Confidence bands help visualize potential price volatility, aiding in the placement of stops and targets.
---
#### **Notes for Traders**:
- The **Kalman Predictor** does not predict the future with certainty but provides a statistically informed estimate of price movement.
- Confidence bands are based on historical volatility and should be used as guidelines, not guarantees.
- Always combine this tool with other analysis techniques for optimal results.
---
This script is open-source, and the Kalman filter logic has been implemented uniquely to integrate noise reduction with dynamic confidence band visualization. If you find this indicator useful, feel free to share your feedback and experiences!
---
#### **Credits**:
This script was developed leveraging the statistical principles of Kalman filtering and is entirely original. It incorporates ATR for dynamic confidence band calculations to enhance trader usability and market adaptability.
DCA Performance AnalysisDollar-Cost Averaging (DCA) Performance Calculator
This indicator helps you analyze the performance of a DCA investment strategy by simulating regular periodic investments into an asset. Perfect for long-term investors who want to evaluate or backtest their DCA strategy.
Key Features:
- Flexible Investment Scheduling: Choose between daily, weekly, or monthly investments
- Custom Date Range: Set specific start and end dates for your analysis
- Adjustable Investment Amount: Input any dollar amount for your regular investments
- Clear Visual Markers: Green triangles show entry points, red triangle marks the end date
- Comprehensive Performance Metrics: View total investment, days invested, unrealized yield, and portfolio value
The indicator displays a clean, easy-to-read table showing:
1. Total Invested: The cumulative amount of money invested
2. Investment Days: Total number of investment entries executed
3. Unrealized Yield: Both dollar amount and percentage return (calculated at end date)
4. Portfolio Worth: Total value of holdings at the specified end date
Usage Tips:
- Best used on BTCUSD or other cryptocurrency pairs
- Works on all timeframes, but matching the timeframe to your DCA frequency provides the clearest visualization
- Calculations use opening prices for entries and closing price at end date for final valuation
- All calculations are based on UTC+0 time
This tool is ideal for:
- Backtesting DCA strategies
- Understanding historical DCA performance
- Comparing different DCA frequencies
- Planning future DCA investments
- Educational purposes about DCA investing
Note: This indicator is for informational purposes only and should not be considered financial advice. Past performance does not guarantee future results.
BTC Price Percentage Difference( Bitfinex - Coinbase)Introduction:
The BTC Price Percentage Difference Histogram Indicator is a powerful tool designed to help traders visualize and capitalize on the price discrepancies of Bitcoin (BTC) between two major exchanges: Bitfinex and Coinbase. By calculating the real-time percentage difference of BTC-USD prices and displaying it as a color-coded histogram, this indicator enables you to quickly spot potential arbitrage opportunities and gain deeper insights into market dynamics.
Features:
• Real-Time Percentage Difference Calculation:
• Computes the percentage difference between BTC-USD prices on Bitfinex and Coinbase.
• Color-Coded Histogram Visualization:
• Green Bars: Indicate that the BTC price on Bitfinex is higher than on Coinbase.
• Red Bars: Indicate that the BTC price on Bitfinex is lower than on Coinbase.
• User-Friendly and Intuitive:
• Simple setup with no additional inputs required.
• Automatically adapts to the chart’s timeframe for seamless integration.
Why Bitfinex Whales Matter:
Bitfinex is renowned for hosting some of the largest Bitcoin traders, often referred to as “whales.” These influential players have the capacity to move the market, and historically, they’ve demonstrated a high success rate in buying at market bottoms and selling at market tops. By tracking the price discrepancies between Bitfinex and other exchanges like Coinbase, you can gain valuable insights into the sentiment and actions of these key market participants.
Adaptive Supertrend with Dynamic Optimization [EdgeTerminal]The Enhanced Adaptive Supertrend represents a significant evolution of the traditional Supertrend indicator, incorporating advanced mathematical optimization, dynamic volatility adjustment, intelligent signal filtering, reduced noise and false positives.
Key Features
Dynamic volatility-adjusted bands
Self-optimizing multiplier
Intelligent signal filtering system
Cooldown period to prevent signal clustering
Clear buy/sell signals with optimal positioning
Smooth trend visualization
RSI and MACD integration for confirmation
Performance-based optimization
Dynamic Band Calculation
Dynamic Band Calculation automatically adapts to market volatility, generates wider bands in volatile periods, reducing false signals. It also generates tighter bands in stable periods, capturing smaller moves and smooth transitions between different volatility regimes.
RSI Integration
The RSI and MACD play multiple crucial roles in the Adaptive Supertrend.
It first helps with momentum factor calculation. This dynamically adjusts band width based on momentum conditions. When the RSI is oversold, bands widen by 20% to prevent false signals during strong downtrends and provide more room for price movements in extreme conditions.
When the RSI is overbought, brands tighten by 20% and they become more sensitive to potential reversals to help catch trend changes earlier.
This reduces false signals in strong trends, helps detect potential reversals earlier than the usual, create adaptive band width based on market conditions and finally, better protection against whipsaws.
MACD Integration
The MACD in this supertrend indicator serves as a trend confirmation tool. The idea is to use MACD crossovers to confirm trend changes to reduce false trend change signals and enhance the signal quality.
For this to become a signal, MACD crossovers must align with price movement to help filter out weak or false signals, which acts as an additional layer of trend confirmation.
Additionally, MACD line position relative to signal line indicates trend strength, helps maintain positions in strong trends and assists in early detection of trend weakening.
Momentum Integration
Momentum Integration prevents false signals in extreme conditions, It adjusts dynamic bands based on market momentum, improves trend confirmation in strong moves and reduces whipsaws during consolidations.
Improved signals
There are a few systems to generate better signals, allowing for generally faster signals compared to original supertrend, such as:
Enforced cooldown period between signals
Prevents signal clustering
Clearer entry/exit points
Reduced false signals during choppy markets
Performance Optimization
This script implements a Sharpe ratio-inspired optimization algorithm to balance returns against risk, penalize large drawdowns, adapt parameters in real-time and improve risk-adjusted performance
Parameter Settings
ATR Period: 10 (default) - adjust based on timeframe
Initial Multiplier: 3.0 (default) - will self-optimize
Optimization Period: 50 (default) - longer periods for more stability
Smoothing Period: 3 (default) - adjust for signal smoothness
Best Practices
Use on multiple timeframes for confirmation
Allow the optimization process to run for at least 50 bars
Monitor the adaptive multiplier for trend strength indication
Consider RSI and MACD alignment for stronger signals
Correlation Coefficient [Giang]### **Introduction to the "Correlation Coefficient" Indicator**
#### **Idea behind the Indicator**
The "Correlation Coefficient" indicator was developed to analyze the linear relationship between Bitcoin (**BTCUSD**) and other important economic indices or financial assets, such as:
- **SPX** (S&P 500 Index): Represents the U.S. stock market.
- **DXY** (Dollar Index): Reflects the strength of the USD against major currencies.
- **SPY** (ETF representing the S&P 500): A popular trading instrument.
- **GOLD** (Gold price): A traditional safe-haven asset.
The correlation between these assets can help traders understand how Bitcoin reacts to market movements of traditional financial instruments, providing opportunities for more effective trading decisions.
Additionally, the indicator allows users to **customize asset symbols for comparison**, not limited to the default indices (SPX, DXY, SPY, GOLD). This flexibility enables traders to tailor their analysis to specific goals and portfolios.
---
#### **Significance and Use of Correlation in Trading**
**Correlation** is a measure of the linear relationship between two data series. In the context of this indicator:
- **The correlation coefficient ranges from -1 to 1**:
- **1**: Perfect positive relationship (both increase or decrease together).
- **0**: No linear relationship.
- **-1**: Perfect negative relationship (one increases while the other decreases).
- **Use in trading**:
- Identify **strong relationships or unusual divergences** between Bitcoin and other assets.
- Help determine **market sentiment**: For example, if Bitcoin has a negative correlation with DXY, traders might expect Bitcoin to rise when the USD weakens.
- Provide a foundation for hedging strategies or investments based on inter-asset relationships.
---
#### **Components of the Indicator**
The "Correlation Coefficient" indicator consists of the following key components:
1. **Main Data (BTCUSD)**:
- The closing price of Bitcoin is used as the central asset for calculations.
2. **Comparison Data**:
- Users can select different asset symbols for comparison. By default, the indicator supports:
- **SPX**: Stock market index.
- **DXY**: Dollar Index.
- **SPY**: Popular ETF.
- **GOLD**: Gold price.
3. **Correlation Coefficients**:
- Calculated between BTC and each comparison index, based on a Weighted Moving Average (WMA) over a user-defined period.
4. **Graphical Representation**:
- Displays individual correlation coefficients with each comparison index, making it easier for traders to track and analyze.
---
#### **How to Analyze and Use the Indicator**
**1. Identify Key Correlations:**
- Observe the correlation lines between BTC and the indices to determine positive or negative relationships.
- Example:
- If the **Correlation Coefficient (BTC-DXY)** sharply declines to -1, this indicates that when USD strengthens, Bitcoin tends to weaken.
**2. Analyze the Strength of Correlations:**
- **Strong Correlations**: If the coefficient is close to 1 or -1, the relationship between the two assets is very clear.
- **Weak Correlations**: If the coefficient is near 0, Bitcoin may be influenced by other factors outside the compared index.
**3. Develop Trading Strategies:**
- Use correlations to predict Bitcoin's price movements:
- If BTC has an inverse relationship with **DXY**, traders might consider selling BTC when the USD strengthens.
- If BTC and **SPX** are strongly correlated, traders can monitor the stock market to predict Bitcoin's trend.
**4. Evaluate Changes Over Time:**
- Use different timeframes (daily, weekly) to track the correlation's fluctuations.
- Look for unusual signals, such as a breakdown or shift from positive to negative relationships.
---
#### **Conclusion**
The "Correlation Coefficient" indicator is a powerful tool that helps traders analyze the relationship between Bitcoin and major financial indices. The ability to customize asset symbols for comparison makes the indicator flexible and suitable for various trading strategies. When used correctly, this indicator not only provides insights into market sentiment but also supports the development of intelligent trading strategies and optimized profits.
Did it move?That is the eternal question in trading.: Is the price moving? This indicators aims to answer that question. It is based on concepts from 2 Bars from "The Strat". This indicator measures the distance the current price is above the previous high or below the previous low and on two timeframes. The assumption is that the price is moving as long as the price is above or below the previous bar.
The distance the price moved is normalized by the standard deviation. This serves the trader in two ways: 1) you can quickly determine if a price movement is significant (score > 1), and 2) you can plan exits when the score falls below 1 (e.g., movement become insignificant). Movement upwards are colored green and down movements are red. When the price is also above the higher timeframe high (below the HTF low), the color are more intense. When the price is not moving, the background is highlighted.
Finally, there are two alert setting. One is for then the price stops moving (movement score falls below a threshold. The other is a exit/reversal warning. For example if there is a strong move in the opposite it will trigger that alert.
WVAD (Optimized Log Scaled)The WVAD (Optimized Log Scaled) indicator is a refined version of the classic Williams' Volume Accumulation/Distribution (WVAD). This version introduces logarithmic scaling for better visualization and usability, especially when dealing with large value ranges. It also includes EMA smoothing to highlight trends and reduce noise, providing traders with a more precise and clear representation of market dynamics.
Key Features:
1.Logarithmic Scaling:
Applies a log-based transformation to the WVAD values, ensuring extreme values are compressed while maintaining the overall structure of the data.
The log scaling allows better readability and interpretation, particularly for volatile or high-volume markets.
2.EMA Smoothing:
Uses an exponential moving average (EMA) to smooth the logarithmic WVAD values.
Helps reduce noise while preserving short-term trends, making it suitable for both trend-following and reversal strategies.
3.Customizable Parameters:
N (Lookback Period): Defines the accumulation period for calculating WVAD.
EMA Smoothing Period: Controls the sensitivity of the EMA applied to the logarithmic WVAD.
Decimal Places: Adjusts the precision of the displayed values for clearer visualization.
Line Colors: Fully customizable colors for both the raw WVAD line and the smoothed EMA.
4.Directional Preservation:
Keeps the positive and negative signs of WVAD to reflect accumulation (buying pressure) or distribution (selling pressure) in the market.
5.Zero Line Reference:
A horizontal zero line is plotted to help traders easily identify bullish (above 0) or bearish (below 0) market conditions.
How to Use:
Identify Trends: The smoothed WVAD line (EMA) can help detect trends or shifts in buying/selling pressure.
Crossovers: Use crossovers of the WVAD with the zero line as potential buy or sell signals.
Divergence: Spot divergences between price and the WVAD for early indications of reversals.
Applications:
Suitable for intraday, swing, or longer-term trading strategies.
Works across various asset classes, including stocks, commodities, and cryptocurrencies.
Chande Volatility-Based Trailing Stops This indicator is developed from a description outlined in the Chande - Kroll book, "The New Technical Trader". It is designed to help control risk by plotting two lines that function as long and short trailing stops.
How does it work?
"These stops are derived from recent highest high or lowest low. They adjust based on volatility. However, to avoid giving up a sizable chunk of profit before the stop is hit, it is modified in such a way that the stop can only advance with price, not retreat. This will lock in a greater portion of potential profits..."
Settings:
The default settings are those described in the book. They are described as being best for intermediate term trades. Use the multiplier to tighten or loosen the stop. A smaller multiplier will result in tighter stops. It is recommended to adjust this value for your preferred timeframe. You can toggle the trailing stop lines on or off as well as cross over marker.
SMT Divergence ICT 01 [TradingFinder] Smart Money Technique🔵 Introduction
SMT Divergence (short for Smart Money Technique Divergence) is a trading technique in the ICT Concepts methodology that focuses on identifying divergences between two positively correlated assets in financial markets.
These divergences occur when two assets that should move in the same direction move in opposite directions. Identifying these divergences can help traders spot potential reversal points and trend changes.
Bullish and Bearish divergences are clearly visible when an asset forms a new high or low, and the correlated asset fails to do so. This technique is applicable in markets like Forex, stocks, and cryptocurrencies, and can be used as a valid signal for deciding when to enter or exit trades.
Bullish SMT Divergence : This type of divergence occurs when one asset forms a higher low while the correlated asset forms a lower low. This divergence is typically a sign of weakness in the downtrend and can act as a signal for a trend reversal to the upside.
Bearish SMT Divergence : This type of divergence occurs when one asset forms a higher high while the correlated asset forms a lower high. This divergence usually indicates weakness in the uptrend and can act as a signal for a trend reversal to the downside.
🔵 How to Use
SMT Divergence is an analytical technique that identifies divergences between two correlated assets in financial markets.
This technique is used when two assets that should move in the same direction move in opposite directions.
Identifying these divergences can help you pinpoint reversal points and trend changes in the market.
🟣 Bullish SMT Divergence
This divergence occurs when one asset forms a higher low while the correlated asset forms a lower low. This divergence indicates weakness in the downtrend and can signal a potential price reversal to the upside.
In this case, when the correlated asset is forming a lower low, and the main asset is moving lower but the correlated asset fails to continue the downward trend, there is a high probability of a trend reversal to the upside.
🟣 Bearish SMT Divergence
Bearish divergence occurs when one asset forms a higher high while the correlated asset forms a lower high. This type of divergence indicates weakness in the uptrend and can signal a potential trend reversal to the downside.
When the correlated asset fails to make a new high, this divergence may be a sign of a trend reversal to the downside.
🟣 Confirming Signals with Correlation
To improve the accuracy of the signals, use assets with strong correlation. Forex pairs like OANDA:EURUSD and OANDA:GBPUSD , or cryptocurrencies like COINBASE:BTCUSD and COINBASE:ETHUSD , or commodities such as gold ( FX:XAUUSD ) and silver ( FX:XAGUSD ) typically have significant correlation. Identifying divergences between these assets can provide a strong signal for a trend change.
🔵 Settings
Second Symbol : This setting allows you to select another asset for comparison with the primary asset. By default, "XAUUSD" (Gold) is set as the second symbol, but you can change it to any currency pair, stock, or cryptocurrency. For example, you can choose currency pairs like EUR/USD or GBP/USD to identify divergences between these two assets.
Divergence Fractal Periods : This parameter defines the number of past candles to consider when identifying divergences. The default value is 2, but you can change it to suit your preferences. This setting allows you to detect divergences more accurately by selecting a greater number of candles.
Bullish Divergence Line : Displays a line showing bullish divergence from the lows.
Bearish Divergence Line : Displays a line showing bearish divergence from the highs.
Bullish Divergence Label : Displays the "+SMT" label for bullish divergences.
Bearish Divergence Label : Displays the "-SMT" label for bearish divergences.
🔵 Conclusion
SMT Divergence is an effective tool for identifying trend changes and reversal points in financial markets based on identifying divergences between two correlated assets. This technique helps traders receive more accurate signals for market entry and exit by analyzing bullish and bearish divergences.
Identifying these divergences can provide opportunities to capitalize on trend changes in Forex, stocks, and cryptocurrency markets. Using SMT Divergence along with risk management and confirming signals with other technical analysis tools can improve the accuracy of trading decisions and reduce risks from sudden market changes.
Pine Script Boilerplate ExampleI frequently receive questions about my coding style and logic, so I decided to publish a simple indicator that draws the OHLC of a higher timeframe as an example of my coding style. This example will also explain my approach to writing indicators.
This indicator showcases how I use Types and Methods to structure my code and maintain clarity in logic. It demonstrates how I collect input data, organize the flow of the code, and utilize the TradingView method feature.
The example illustrates:
1. The use of input settings within a settings object to keep configurations grouped together.
2. The use of Types to create an object that consolidates relevant data.
3. The collection of objects to create, update, and render elements on the chart.
Enhanced Swing Trading Strategy//@version=5
strategy("Enhanced Swing Trading Strategy", overlay=true)
// Input Parameters
smaShortLength = input.int(50, title="Short SMA Length")
smaLongLength = input.int(200, title="Long SMA Length")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
takeProfitPerc = input.float(2.0, title="Take Profit (%)")
stopLossPerc = input.float(1.0, title="Stop Loss (%)")
riskPerc = input.float(1.0, title="Risk per Trade (%)")
alertOnSignal = input.bool(true, title="Enable Alerts")
// Indicators
smaShort = ta.sma(close, smaShortLength)
smaLong = ta.sma(close, smaLongLength)
rsi = ta.rsi(close, rsiLength)
= ta.macd(close, 12, 26, 9)
// Conditions
longCondition = ta.crossover(smaShort, smaLong) and rsi > rsiOversold and macdLine > signalLine
shortCondition = ta.crossunder(smaShort, smaLong) and rsi < rsiOverbought and macdLine < signalLine
// Position Sizing based on Risk
capital = strategy.equity
riskAmount = capital * (riskPerc / 100)
stopLossValue = riskAmount / (stopLossPerc / 100)
positionSize = stopLossValue / close
// Entry Signals
if (longCondition)
strategy.entry("Long", strategy.long, qty=positionSize)
if alertOnSignal
alert("Swing Trading: Long Position Opened", alert.freq_once)
if (shortCondition)
strategy.entry("Short", strategy.short, qty=positionSize)
if alertOnSignal
alert("Swing Trading: Short Position Opened", alert.freq_once)
// Exit Conditions
strategy.exit("Take Profit/Stop Loss",
from_entry="Long",
profit=takeProfitPerc,
loss=stopLossPerc)
strategy.exit("Take Profit/Stop Loss",
from_entry="Short",
profit=takeProfitPerc,
loss=stopLossPerc)
// Plotting
plot(smaShort, color=color.blue, title="SMA 50")
plot(smaLong, color=color.red, title="SMA 200")
hline(rsiOverbought, "RSI Overbought", color=color.red)
hline(rsiOversold, "RSI Oversold", color=color.green)
plot(macdLine, color=color.green, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
// Draw Entry and Exit Labels
if (strategy.position_size > 0)
label.new(bar_index, high, "Long Open", style=label.style_label_up, color=color.green)
if (strategy.position_size < 0)
label.new(bar_index, low, "Short Open", style=label.style_label_down, color=color.red)
Session Highs and Lows IndicatorThis indicator marks the high and low levels for key trading sessions, allowing traders to identify significant price zones across different markets. The default session times are defined in UTC and will automatically adjust to your local timezone:
- **London Session (07:00-09:00 UTC)**: Tracks intraday liquidity zones for potential highs/lows.
- **New York Session (12:00-14:00 UTC)**: Highlights volatility during market overlaps with Europe.
- **Asia Session (23:00-01:00 UTC)**: Confirms trend continuation and retracement opportunities.
- **New York Close Session (19:00-21:00 UTC)**: Focuses on reversals and breakout tests during global transitions.
The script dynamically updates session highs and lows with clear labels and dashed horizontal lines for better visualization. **Time ranges can be adjusted to suit your trading preferences.** This makes the indicator flexible and effective for liquidity hunting, trend trading, and breakout strategies.