Volume Pressure OscillatorThe Volume Pressure Oscillator (VPO) is a momentum-based indicator that measures the directional pressure of cumulative volume delta (CVD) combined with price efficiency. It oscillates between 0 and 100, with readings above 50 indicating net buying pressure and readings below 50 indicating net selling pressure.
The indicator is designed to identify the strength and sustainability of volume-driven trends while remaining responsive during consolidation periods.
How the Indicator Works
The VPO analyzes volume flow by examining price action at lower timeframes to build a Cumulative Volume Delta (CVD). For each chart bar, the indicator looks at intrabar price movements to classify volume as either buying volume or selling volume. These classifications are accumulated into a running total that tracks net directional volume.
The indicator then measures the momentum of this CVD over both short-term and longer-term periods, providing responsiveness to recent changes while maintaining awareness of the broader trend. These momentum readings are normalized using percentile ranking, which creates a stable 0-100 scale that works consistently across different instruments and market conditions.
A key feature is the extreme zone persistence mechanism. When the indicator enters extreme zones (above 80 or below 20), it maintains elevated readings as long as volume pressure continues in the same direction. This allows the VPO to stay in extreme zones during strong trends rather than quickly reverting to neutral, making it useful for identifying sustained volume pressure rather than just temporary spikes.
What Makes This Indicator Different
While many indicators measure volume or volume delta, the VPO specifically measures how aggressively CVD is currently changing and whether that pressure is being sustained. It's the difference between knowing "more volume has accumulated on the buy side" versus "buying pressure is intensifying right now and shows signs of continuation."
1. Focus on CVD Momentum, Not CVD Levels
Most CVD indicators display the cumulative volume delta as a line that trends up or down indefinitely. The VPO is fundamentally different - it measures the slope of CVD rather than the absolute level. This transforms CVD from an unbounded cumulative metric into a bounded 0-100 oscillator that shows the intensity and direction of current volume pressure, not just the historical accumulation.
2. Designed to Stay in Extremes During Trends
Unlike traditional oscillators that treat extreme readings (above 80 or below 20) as overbought/oversold reversal signals, the VPO is engineered to oscillate within extreme zones during strong trends. When sustained buying or selling pressure exists, the indicator remains elevated (e.g., 80-95 or 5-20) rather than quickly reverting to neutral. This makes it useful for trend continuation identification rather than exclusively for reversal trading.
3. Percentile-Based Normalization
The VPO uses percentile ranking over a lookback window, which provides consistent behavior across different instruments, timeframes, and volatility regimes without constant recalibration.
4. Dual-Timeframe Momentum Synthesis
The indicator simultaneously considers short-term CVD momentum (responsive to recent changes) and longer-term CVD momentum (tracking trend direction), weighted and combined with a slow-moving trend bias. This multi-timeframe approach helps it stay responsive in ranging markets while maintaining context during trends.
How to Use the Indicator
Understanding the Zones:
80-100 (Strong Buying Pressure): CVD momentum is strongly positive. In trending markets, the indicator oscillates within this zone rather than immediately reverting to neutral. This suggests sustained accumulation and trend continuation probability.
60-80 (Moderate Buying): Positive volume pressure but not extreme. Suitable for identifying pullback entry opportunities within uptrends.
40-60 (Neutral Zone): Volume pressure is balanced or unclear. No strong directional edge from volume. Often seen during consolidation or trend transitions.
20-40 (Moderate Selling): Negative volume pressure developing. May indicate distribution or downtrend continuation setups.
0-20 (Strong Selling Pressure): CVD momentum is strongly negative. During downtrends, sustained readings in this zone suggest continued distribution and downside follow-through probability.
Practical Applications:
Trend Confirmation: When price makes new highs/lows, check if VPO confirms with similarly elevated readings. Divergences (price making new highs while VPO fails to reach prior highs) may indicate weakening momentum.
Range Trading: During consolidation, the VPO typically oscillates between 30-70. Readings toward the low end of the range (30-40) may present accumulation opportunities, while readings at the high end (60-70) may indicate distribution zones.
Extreme Persistence: If VPO reaches 90+ or drops below 10, this indicates exceptional volume pressure. Rather than fading these extremes immediately, monitor whether the indicator stays elevated. Sustained extreme readings suggest strong trend continuation potential.
Context with Price Action: The VPO is most effective when combined with price action or other orderflow indicators. Use the indicator to gauge whether volume is confirming or contradicting.
What the Indicator Does NOT Do:
It does not provide specific entry or exit signals
It does not predict future price direction
It does not guarantee profitable trades
It should not be used as a standalone trading system
Settings Explanation
Momentum Period (Default: 14)
This parameter controls the lookback period for CVD rate-of-change calculations.
Lower values (5-10): Make the indicator more responsive to recent volume changes. Useful for shorter-term trading and more active oscillation. May produce more whipsaws in choppy markets.
Default value (14): Provides balanced responsiveness while filtering out most noise. Suitable for swing trading and daily timeframe analysis.
Higher values (20-50): Create smoother readings and focus on longer-term volume trends. Better for position trading and reducing false signals, but with slower reaction to genuine changes in volume pressure.
Important Notes:
This indicator requires intrabar data to function properly. On some instruments or timeframes where lower timeframe data is not available, the indicator may not display.
The indicator uses request.security_lower_tf() which has a limit of intrabars. On higher timeframes, this provides extensive history, but on very low timeframes (<1-minute charts), the indicator may only cover limited historical bars.
Volume data quality varies by exchange and instrument. The indicator's effectiveness depends on accurate volume reporting from the data feed.
指標和策略
SCOTTGO - Day Trade Stock Quote V4This Pine Script indicator, titled "SCOTTGO - Day Trade Stock Quote V4," is a comprehensive, customizable dashboard designed for active traders. It acts as a single, centralized reference point, displaying essential financial and technical data directly on your chart in a compact table overlay.
📊 Key Information Provided
The indicator is split into sections, aggregating various critical data points to provide a holistic picture of the stock's current state and momentum:
1. Ownership & Short Flow
This section provides fundamental context and short-interest data:
Market Cap, Shares Float, and Shares Outstanding: Key figures on the company's size and publicly tradable shares.
Short Volume %: Indicates the percentage of trading activity driven by short sellers.
Daily Change %: Shows the day's price movement relative to the previous close.
2. Price & Volatility
This tracks historical and immediate price levels:
Previous Close, Day High/Low: Key daily reference prices.
52-Week High/Low: Important long-term boundaries.
Earnings Date: A crucial fundamental date (currently displayed as a placeholder).
3. Momentum & Volume
These metrics are essential for understanding intraday buying and selling pressure:
Volume & Average Volume: The current trade volume compared to its historical average.
Relative Volume (RVOL): Measures how much volume is currently trading compared to the average rate for that time period (shown for both Daily and 5-Minute rates).
Volume Buzz (%): A percentage representation of how much current volume exceeds or falls below the average.
ADR % & ATR %: Measures of volatility.
RSI, U/D Ratio, and P/E Ratio: Momentum and valuation indicators.
4. Context
This provides background information on the security:
Includes the Symbol, Exchange, Industry, and Sector (note: some fields use placeholder data as this information is not always available via Pine Script).
⚙️ Customization
The dashboard is highly customizable via the indicator settings:
You can control the visibility of every single metric using the Section toggles.
You can change the position (Top Left, Top Right, etc.), size, and colors of the entire table.
In summary, this script is a powerful tool for day traders who need to monitor a large number of fundamental, technical, and volatility metrics simultaneously without cluttering the main chart area.
Slow Stochastic 3-Minute Signalsdisplay B for buy signal, s for sell signal for slow stochastic 3 minute time frame
AlphaTrend++ offset labelsAlphaTrend++
Overview
The AlphaTrend++ is an advanced Pine Script indicator designed to help traders identify buy and sell opportunities in trending and volatile markets. Building on trend-following principles, it uses a modified Average True Range (ATR) calculation combined with volume or momentum data to plot a dynamic trend line. The indicator overlays on the price chart, displaying a colored trend line, a filled trend zone, buy/sell signals, and optional stop-loss tick labels, making it ideal for day trading or swing trading, particularly in markets like futures (e.g., MES).
What It Does
This indicator generates buy and sell signals based on the direction and momentum of a custom trend line, filtered by optional time restrictions and signal frequency logic. The trend line adapts to price action and volatility, with a filled zone highlighting trend strength. Buy/sell signals are plotted as labels, and stop-loss distances are displayed in ticks (customizable for instruments like MES). The indicator supports standard chart types for realistic signal generation.
How It Works
The indicator employs the following components:
Trend Line Calculation: A dynamic trend line is calculated using ATR adjusted by a user-defined multiplier, combined with either Money Flow Index (MFI) or Relative Strength Index (RSI) depending on volume availability. The line tracks price movements, adjusting upward or downward based on trend direction and volatility.
Trend Zone: The area between the current trend line and its value two bars prior is filled, colored green for bullish trends (upward movement) or red for bearish trends (downward movement), providing a visual cue of trend strength.
Signal Generation: Buy signals occur when the trend line crosses above its value two bars ago, and sell signals occur when it crosses below, with optional filtering to reduce signal noise (based on bar timing logic). Signals can be restricted to a 9:00–15:00 UTC trading window.
Stop-Loss Ticks: For each signal, the indicator calculates the distance to the trend line (acting as a stop-loss level) in ticks, using a user-defined tick size (default 0.25 for MES). These are displayed as labels below/above the signal.
Time Filter: An optional filter limits signals to 9:00–15:00 UTC, aligning with active trading sessions like the US market open.
The indicator ensures compatibility with standard chart types (e.g., candlestick or bar charts) to avoid unrealistic results associated with non-standard types like Heikin Ashi or Renko.
How to Use It
Add to Chart: Apply the indicator to a candlestick or bar chart on TradingView.
Configure Settings:
Multiplier: Adjust the ATR multiplier (default 1.0) to control trend line sensitivity. Higher values widen the stop-loss distance.
Common Period: Set the ATR and MFI/RSI period (default 14) for trend calculations.
No Volume Data: Enable if volume data is unavailable (e.g., for certain forex pairs), switching from MFI to RSI.
Tick Size: Set the tick size for stop-loss calculations (default 0.25 for MES futures).
Show Buy/Sell Signals: Toggle signal labels (default enabled).
Show Stop Loss Ticks: Toggle stop-loss tick labels (default enabled).
Use Time Filter: Restrict signals to 9:00–15:00 UTC (default disabled).
Use Filtered Signals: Enable to reduce signal frequency using bar timing logic (default enabled).
Interpret Signals:
Buy Signal: A blue “BUY” label below the bar indicates a potential long entry (trend line crossover, passing filters).
Sell Signal: A red “SELL” label above the bar indicates a potential short entry (trend line crossunder, passing filters).
Trend Zone: Green fill suggests bullish momentum; red fill suggests bearish momentum.
Stop-Loss Ticks: Gray labels show the stop-loss distance in ticks, helping with risk management.
Monitor Context: Use the trend line and filled zone to confirm the market’s direction before acting on signals.
Unique Features
Adaptive Trend Line: Combines ATR with MFI or RSI to create a responsive trend line that adjusts to volatility and market conditions.
Tick-Based Stop-Loss: Displays stop-loss distances in ticks, customizable for specific instruments, aiding precise risk management.
Signal Filtering: Optional bar timing logic reduces false signals, improving reliability in choppy markets.
Trend Zone Visualization: The filled zone between trend line values enhances trend clarity, making it easier to assess momentum.
Time-Restricted Trading: Optional 9:00–15:00 UTC filter aligns signals with high-liquidity sessions.
Notes
Use on standard candlestick or bar charts to ensure accurate signals.
Test the indicator on a demo account to optimize settings for your market and timeframe.
Combine with other analysis (e.g., support/resistance, volume spikes) for better decision-making.
The indicator is not a standalone system; use it as part of a broader trading strategy.
Limitations
Signals may lag in highly volatile or low-liquidity markets due to ATR-based calculations.
The 9:00–15:00 UTC time filter may not suit all markets; disable it for 24-hour assets like forex or crypto.
Stop-loss tick calculations assume consistent tick sizes; verify compatibility with your instrument.
This indicator is designed for traders seeking a robust, trend-following tool with customizable risk management and signal filtering, optimized for active trading sessions.
This update enhances label customization, clarity, and signal usability while preserving all existing AlphaTrend++ logic. The goal is to improve readability during live trading and allow traders to personalize the visual footprint of entries and stop-loss levels.
Improvements
• Cleaner Label Placement
Labels now maintain consistent spacing from the candle, regardless of volatility or ATR expansion.
• Enhanced Visual Structure
BUY/SELL signals remain bold and clear, while SL ticks use a more compact and optional sizing scheme.
• Better User Control
New UI inputs:
Entry Label Size
SL Label Size
SL Label Offset (Ticks)nces.
Price Band LevelsThis indicator allows you to specify a base price. Once set, it automatically draws three price bands above the base and three bands below it, giving you a structured visual range around the selected level.
Shock Wave EMA Ribbon with adjustable time period9 ema and 21 ema script, with background plot. All colors, and settings toggle on and off. Simple but effective. This one has selectable time periods so the ribbon can stay fixed on your desired time scale.
VIX Futures Spread (VX1 - VX2)Calculate the currente VIX front vs next contract spread.
Allow to identify if the market is in Contango or Backwardation
Display the result as a color coded histogram
Historical Volatility EstimatorsHistorical volatility is a statistical measure of the dispersion of returns for a given security or market index over a given period. This indicator provides different historical volatility model estimators with percentile gradient coloring and volatility stats panel.
█ OVERVIEW There are multiple ways to estimate historical volatility. Other than the traditional close-to-close estimator. This indicator provides different range-based volatility estimators that take high low open into account for volatility calculation and volatility estimators that use other statistics measurements instead of standard deviation. The gradient coloring and stats panel provides an overview of how high or low the current volatility is compared to its historical values.
█ CONCEPTS We have mentioned the concepts of historical volatility in our previous indicators, Historical Volatility, Historical Volatility Rank, and Historical Volatility Percentile. You can check the definition of these scripts. The basic calculation is just the sample standard deviation of log return scaled with the square root of time. The main focus of this script is the difference between volatility models.
Close-to-Close HV Estimator: Close-to-Close is the traditional historical volatility calculation. It uses sample standard deviation. Note: the TradingView build in historical volatility value is a bit off because it uses population standard deviation instead of sample deviation. N – 1 should be used here to get rid of the sampling bias.
Pros:
• Close-to-Close HV estimators are the most commonly used estimators in finance. The calculation is straightforward and easy to understand. When people reference historical volatility, most of the time they are talking about the close to close estimator.
Cons:
• The Close-to-close estimator only calculates volatility based on the closing price. It does not take account into intraday volatility drift such as high, low. It also does not take account into the jump when open and close prices are not the same.
• Close-to-Close weights past volatility equally during the lookback period, while there are other ways to weight the historical data.
• Close-to-Close is calculated based on standard deviation so it is vulnerable to returns that are not normally distributed and have fat tails. Mean and Median absolute deviation makes the historical volatility more stable with extreme values.
Parkinson Hv Estimator:
• Parkinson was one of the first to come up with improvements to historical volatility calculation. • Parkinson suggests using the High and Low of each bar can represent volatility better as it takes into account intraday volatility. So Parkinson HV is also known as Parkinson High Low HV. • It is about 5.2 times more efficient than Close-to-Close estimator. But it does not take account into jumps and drift. Therefore, it underestimates volatility. Note: By Dividing the Parkinson Volatility by Close-to-Close volatility you can get a similar result to Variance Ratio Test. It is called the Parkinson number. It can be used to test if the market follows a random walk. (It is mentioned in Nassim Taleb's Dynamic Hedging book but it seems like he made a mistake and wrote the ratio wrongly.)
Garman-Klass Estimator:
• Garman Klass expanded on Parkinson’s Estimator. Instead of Parkinson’s estimator using high and low, Garman Klass’s method uses open, close, high, and low to find the minimum variance method.
• The estimator is about 7.4 more efficient than the traditional estimator. But like Parkinson HV, it ignores jumps and drifts. Therefore, it underestimates volatility.
Rogers-Satchell Estimator:
• Rogers and Satchell found some drawbacks in Garman-Klass’s estimator. The Garman-Klass assumes price as Brownian motion with zero drift.
• The Rogers Satchell Estimator calculates based on open, close, high, and low. And it can also handle drift in the financial series.
• Rogers-Satchell HV is more efficient than Garman-Klass HV when there’s drift in the data. However, it is a little bit less efficient when drift is zero. The estimator doesn’t handle jumps, therefore it still underestimates volatility.
Garman-Klass Yang-Zhang extension:
• Yang Zhang expanded Garman Klass HV so that it can handle jumps. However, unlike the Rogers-Satchell estimator, this estimator cannot handle drift. It is about 8 times more efficient than the traditional estimator.
• The Garman-Klass Yang-Zhang extension HV has the same value as Garman-Klass when there’s no gap in the data such as in cryptocurrencies.
Yang-Zhang Estimator:
• The Yang Zhang Estimator combines Garman-Klass and Rogers-Satchell Estimator so that it is based on Open, close, high, and low and it can also handle non-zero drift. It also expands the calculation so that the estimator can also handle overnight jumps in the data.
• This estimator is the most powerful estimator among the range-based estimators. It has the minimum variance error among them, and it is 14 times more efficient than the close-to-close estimator. When the overnight and daily volatility are correlated, it might underestimate volatility a little.
• 1.34 is the optimal value for alpha according to their paper. The alpha constant in the calculation can be adjusted in the settings. Note: There are already some volatility estimators coded on TradingView. Some of them are right, some of them are wrong. But for Yang Zhang Estimator I have not seen a correct version on TV.
EWMA Estimator:
• EWMA stands for Exponentially Weighted Moving Average. The Close-to-Close and all other estimators here are all equally weighted.
• EWMA weighs more recent volatility more and older volatility less. The benefit of this is that volatility is usually autocorrelated. The autocorrelation has close to exponential decay as you can see using an Autocorrelation Function indicator on absolute or squared returns. The autocorrelation causes volatility clustering which values the recent volatility more. Therefore, exponentially weighted volatility can suit the property of volatility well.
• RiskMetrics uses 0.94 for lambda which equals 30 lookback period. In this indicator Lambda is coded to adjust with the lookback. It's also easy for EWMA to forecast one period volatility ahead.
• However, EWMA volatility is not often used because there are better options to weight volatility such as ARCH and GARCH.
Adjusted Mean Absolute Deviation Estimator:
• This estimator does not use standard deviation to calculate volatility. It uses the distance log return is from its moving average as volatility.
• It’s a simple way to calculate volatility and it’s effective. The difference is the estimator does not have to square the log returns to get the volatility. The paper suggests this estimator has more predictive power.
• The mean absolute deviation here is adjusted to get rid of the bias. It scales the value so that it can be comparable to the other historical volatility estimators.
• In Nassim Taleb’s paper, he mentions people sometimes confuse MAD with standard deviation for volatility measurements. And he suggests people use mean absolute deviation instead of standard deviation when we talk about volatility.
Adjusted Median Absolute Deviation Estimator:
• This is another estimator that does not use standard deviation to measure volatility.
• Using the median gives a more robust estimator when there are extreme values in the returns. It works better in fat-tailed distribution.
• The median absolute deviation is adjusted by maximum likelihood estimation so that its value is scaled to be comparable to other volatility estimators.
█ FEATURES
• You can select the volatility estimator models in the Volatility Model input
• Historical Volatility is annualized. You can type in the numbers of trading days in a year in the Annual input based on the asset you are trading.
• Alpha is used to adjust the Yang Zhang volatility estimator value.
• Percentile Length is used to Adjust Percentile coloring lookbacks.
• The gradient coloring will be based on the percentile value (0- 100). The higher the percentile value, the warmer the color will be, which indicates high volatility. The lower the percentile value, the colder the color will be, which indicates low volatility.
• When percentile coloring is off, it won’t show the gradient color.
• You can also use invert color to make the high volatility a cold color and a low volatility high color. Volatility has some mean reversion properties. Therefore when volatility is very low, and color is close to aqua, you would expect it to expand soon. When volatility is very high, and close to red, you would it expect it to contract and cool down.
• When the background signal is on, it gives a signal when HVP is very low. Warning there might be a volatility expansion soon.
• You can choose the plot style, such as lines, columns, areas in the plotstyle input.
• When the show information panel is on, a small panel will display on the right.
• The information panel displays the historical volatility model name, the 50th percentile of HV, and HV percentile. 50 the percentile of HV also means the median of HV. You can compare the value with the current HV value to see how much it is above or below so that you can get an idea of how high or low HV is. HV Percentile value is from 0 to 100. It tells us the percentage of periods over the entire lookback that historical volatility traded below the current level. Higher HVP, higher HV compared to its historical data. The gradient color is also based on this value.
█ HOW TO USE If you haven’t used the hvp indicator, we suggest you use the HVP indicator first. This indicator is more like historical volatility with HVP coloring. So it displays HVP values in the color and panel, but it’s not range bound like the HVP and it displays HV values. The user can have a quick understanding of how high or low the current volatility is compared to its historical value based on the gradient color. They can also time the market better based on volatility mean reversion. High volatility means volatility contracts soon (Move about to End, Market will cooldown), low volatility means volatility expansion soon (Market About to Move).
█ FINAL THOUGHTS HV vs ATR The above volatility estimator concepts are a display of history in the quantitative finance realm of the research of historical volatility estimations. It's a timeline of range based from the Parkinson Volatility to Yang Zhang volatility. We hope these descriptions make more people know that even though ATR is the most popular volatility indicator in technical analysis, it's not the best estimator. Almost no one in quant finance uses ATR to measure volatility (otherwise these papers will be based on how to improve ATR measurements instead of HV). As you can see, there are much more advanced volatility estimators that also take account into open, close, high, and low. HV values are based on log returns with some calculation adjustment. It can also be scaled in terms of price just like ATR. And for profit-taking ranges, ATR is not based on probabilities. Historical volatility can be used in a probability distribution function to calculated the probability of the ranges such as the Expected Move indicator. Other Estimators There are also other more advanced historical volatility estimators. There are high frequency sampled HV that uses intraday data to calculate volatility. We will publish the high frequency volatility estimator in the future. There's also ARCH and GARCH models that takes volatility clustering into account. GARCH models require maximum likelihood estimation which needs a solver to find the best weights for each component. This is currently not possible on TV due to large computational power requirements. All the other indicators claims to be GARCH are all wrong.
FVG + Bollinger + Toggles + Swing H&L (Taken/Close modes)This indicator combines multiple advanced market-structure tools into one unified system.
It detects A–C Fair Value Gaps (FVG) and plots them as dynamic boxes projected a fixed number of bars forward.
Each bullish or bearish FVG updates in real time and “closes” once price breaks through the opposite boundary.
The indicator also includes Bollinger Bands based on EMA-50 with adjustable deviation settings for volatility context.
Swing Highs and Swing Lows are identified using pivot logic and are drawn as dynamic lines that change color once taken out.
You can choose whether swings end on a close break or on any touch/violation of the level.
All visual elements—FVGs, Bollinger Bands, and Swing Lines—can be individually toggled on or off from the settings panel.
A time-window session box is included, allowing you to highlight a custom intraday window based on your selected timezone.
The session box automatically tracks the high and low of the window and locks the final range once the window closes.
Overall, the tool is designed for traders who want a structured, multi-layered view of liquidity, volatility, and intraday timing.
Volume Profile S/R + OB/OS + BreaksAs a support resistance trader I have created this indicator that shows SR lines. RSI over bought and over sold. I also added momentum candle.
It's easy to use. The arrows show over bought and over sold, that's where I start to be interested. Confirmation is if we are near a support/resistance area. shown as a red/green line.
Don't just trade the RSI, Be patient and only take the perfekt setups.
I't clean, it's simple it works.
LJ Parsons Adjustable expanding MRT Fibpapers.ssrn.com
Market Resonance Theory (MRT) reinterprets financial markets as structured multiplicative, recursive systems rather than linear, dollar-based constructs. By mapping price growth as a logarithmic lattice of intervals, MRT identifies the deep structural cycles underlying long-term market behaviour. The model draws inspiration from the proportional relationships found in musical resonance, specifically the equal temperament system, revealing that markets expand through recurring octaves of compounded growth. This framework reframes volatility, not as noise, but as part of a larger self-organising structure.
Equal Highs/Lows Multi-Pivot [Julio]Equal Highs/Lows Multi-Pivot
Description
A sophisticated multi-timeframe pivot analysis tool that detects and highlights equal highs and equal lows across four different pivot lengths simultaneously. This indicator identifies price levels where the market creates identical extremes, a powerful signal of institutional support/resistance and potential reversal or breakout zones.
How It Works
Four Independent Pivot Streams
Pivot 1 (Intraday - 2 bars): Ultra-fast level detection for scalpers
Pivot 2 (Session - 4 bars): Short-term swing levels
Pivot 3 (Daily - 6 bars): Medium-term structural levels
Pivot 4 (Weekly - 9 bars): Long-term institutional levels
Equal High (EQH) Detection
Compares consecutive swing highs and draws a line when two highs are nearly identical within a defined threshold. The indicator uses ATR-based confluence to determine "equality," filtering out noise while catching true market structure.
Equal Low (EQL) Detection
Same logic applied to swing lows, identifying support zones where price repeatedly fails to break below previous lows.
Key Features
Four Simultaneous Timeframes: Analyze intraday, session, daily, and weekly structures all on one chart
ATR-Based Confluence Threshold: Automatically adjusts sensitivity based on current volatility (no fake signals)
Color-Coded Levels: Each pivot length has distinct colors for instant visual identification
Highs: Red, Orange, Yellow, Fuchsia
Lows: Green, Blue, Aqua, Purple
Confirmation Mode: Optional setting to wait for full pivot confirmation before marking levels
Customizable Alert Zones: Toggle individual pivot lengths on/off to reduce clutter
Smart Label Positioning: Labels auto-center between the two equal pivots for clarity
Ideal For
Swing traders tracking support/resistance across multiple timeframes
Scalpers identifying micro-structure for quick entries and exits
Market structure analysts studying institutional price action patterns
Multi-timeframe traders needing confluence from intraday to weekly levels
Anyone trading 1-minute to 4-hour charts
Trading Applications
Identify strong support/resistance zones: Equal levels = confirmed institutional levels
Confirm trend reversals: Multiple equal lows = strong accumulation zone; multiple equal highs = distribution
Plan entries with precision: Enter near equal levels for higher probability setups
Detect liquidity concentration: Where price repeatedly tests the same level
Multi-timeframe confluence: Look for equal levels across multiple pivot lengths for ultra-strong zones
How to Use
Identify the equal levels: Color-coded lines instantly show where price creates matching extremes
Check for confluence: Strong setups occur where multiple pivot lengths align
Wait for price action: Watch for breakouts through equal levels or reversals at these zones
Enter with structure: Use equal levels as entry/exit triggers combined with your trading methodology
Manage with confidence: These levels mark institutional decision points
Customization Options
Adjust pivot lengths to match your preferred timeframe structure
Set ATR threshold sensitivity (lower = stricter equality, higher = more signals)
Toggle confirmation mode for additional filter
Enable/disable individual pivot streams to reduce visual clutter
Customize colors to match your chart theme
Default Settings Optimized For
NASDAQ futures and liquid forex pairs
Intraday and swing trading (1-minute to 4-hour charts)
Smart Money / ICT trading methodologies
Volatility-adjusted confluence detection
Daily ATR Dashboard - NIRALADaily ATR Dashboard: Volatility at a Glance
What is this?
The "Daily ATR Dashboard" is a simple, non-intrusive utility tool designed for intraday traders. It places a clean information table in the top-right corner of your chart, displaying the Daily Average True Range (DATR) for the current session and the previous two days.
Why is it useful?
Understanding daily volatility is crucial for setting realistic targets and stop-losses.
Know the Range: Instantly see how much the instrument typically moves in a day.
Context: Compare today's volatility with yesterday's and the day before to gauge if the market is expanding (becoming more volatile) or contracting (consolidating).
Clean Charts: Instead of plotting a messy ATR line indicator below your price action, this dashboard gives you the raw data you need without cluttering your workspace.
Features:
Real-Time Data: The "Today" row updates in real-time as the current daily candle develops.
Historical Context: Automatically fetches and displays the final DATR values for the previous two sessions ("Yesterday" and "Day Before").
Highlighted Current Day: The current day's data is highlighted in yellow for immediate visibility.
Customizable: You can adjust the ATR length (default is 14) and the text size to fit your screen perfectly.
How to Read It:
Today: The current volatility of the ongoing daily session.
Yesterday / Day Before: The finalized volatility of past sessions.
Tip: If "Today's" ATR is significantly lower than the previous days, expect potential expansion or a breakout soon. If it is significantly higher, the market may be overextended.
Settings:
DATR Length: The lookback period for the ATR calculation (Default: 14).
Text Size: Adjust the size of the table text (Tiny, Small, Normal, Large).
Detector Original + Tiempo + Filtro QEMAindicator for triying better entries
works better for m2 ustec
enjoy
Market Regime Flip (Dunk)This indicator is a trend regime flip tool built on top of MACD. Instead of reacting to every little wiggle, it waits for several bars in a row where the MACD stays either above or below zero (by default, 3 consecutive bars). When the MACD has been above zero for 3 bars, it declares a bull regime and marks that bar on the price chart with a green “BULL” triangle above the candle. When the MACD has been below zero for 3 bars, it declares a bear regime and marks that bar with a red “BEAR” triangle below the candle. It also lightly colors the chart background green in bull regimes and red in bear regimes, so you can see at a glance which side of the market you’re in.
In other words, it turns the MACD’s usual “above/below zero” behavior into a clean, slower-changing on/off regime switch. Instead of giving you constant signals, it focuses on the moments where momentum truly shifts and sticks around for a few bars, helping you avoid getting faked out by single-bar noise. The alerts are wired to those flip moments, so you can get notified when the market transitions from bearish to bullish (or vice versa) according to this MACD-based regime logic.
BAY_PIVOT S/R(4 Full Lines + ALL Labels)//@version=5
indicator("BAY_PIVOT S/R(4 Full Lines + ALL Labels)", overlay=true, max_labels_count=500, max_lines_count=500)
// ────────────────────── TOGGLES ──────────────────────
showPivot = input.bool(true, "Show Pivot (Full Line + Label)")
showTarget = input.bool(true, "Show Target (Full Line + Label)")
showLast = input.bool(true, "Show Last Close (Full Line + Label)")
showPrevClose = input.bool(true, "Show Previous Close (Full Line + Label)")
useBarchartLast = input.bool(true, "Use Barchart 'Last' (Settlement Price)")
showR1R2R3 = input.bool(true, "Show R1 • R2 • R3")
showS1S2S3 = input.bool(true, "Show S1 • S2 • S3")
showStdDev = input.bool(true, "Show ±1σ ±2σ ±3σ")
showFib4W = input.bool(true, "Show 4-Week Fibs")
showFib13W = input.bool(true, "Show 13-Week Fibs")
showMonthHL = input.bool(true, "Show 1M High / Low")
showEntry1 = input.bool(false, "Show Manual Entry 1")
showEntry2 = input.bool(false, "Show Manual Entry 2")
entry1 = input.float(0.0, "Manual Entry 1", step=0.25)
entry2 = input.float(0.0, "Manual Entry 2", step=0.25)
stdLen = input.int(20, "StdDev Length", minval=1)
fib4wBars = input.int(20, "4W Fib Lookback")
fib13wBars = input.int(65, "13W Fib Lookback")
// ────────────────────── DAILY CALCULATIONS ──────────────────────
high_y = request.security(syminfo.tickerid, "D", high , lookahead=barmerge.lookahead_on)
low_y = request.security(syminfo.tickerid, "D", low , lookahead=barmerge.lookahead_on)
close_y = request.security(syminfo.tickerid, "D", close , lookahead=barmerge.lookahead_on)
pivot = (high_y + low_y + close_y) / 3
r1 = pivot + 0.382 * (high_y - low_y)
r2 = pivot + 0.618 * (high_y - low_y)
r3 = pivot + (high_y - low_y)
s1 = pivot - 0.382 * (high_y - low_y)
s2 = pivot - 0.618 * (high_y - low_y)
s3 = pivot - (high_y - low_y)
prevClose = close_y
last = useBarchartLast ? request.security(syminfo.tickerid, "D", close , lookahead=barmerge.lookahead_off) : close
target = pivot + (pivot - prevClose)
// StdDev + Fibs + Monthly (unchanged)
basis = ta.sma(close, stdLen)
dev = ta.stdev(close, stdLen)
stdRes1 = basis + dev
stdRes2 = basis + dev*2
stdRes3 = basis + dev*3
stdSup1 = basis - dev
stdSup2 = basis - dev*2
stdSup3 = basis - dev*3
high4w = ta.highest(high, fib4wBars)
low4w = ta.lowest(low, fib4wBars)
fib382_4w = high4w - (high4w - low4w) * 0.382
fib50_4w = high4w - (high4w - low4w) * 0.500
high13w = ta.highest(high, fib13wBars)
low13w = ta.lowest(low, fib13wBars)
fib382_13w_high = high13w - (high13w - low13w) * 0.382
fib50_13w = high13w - (high13w - low13w) * 0.500
fib382_13w_low = low13w + (high13w - low13w) * 0.382
monthHigh = ta.highest(high, 30)
monthLow = ta.lowest(low, 30)
// ────────────────────── COLORS ──────────────────────
colRed = color.rgb(255,0,0)
colLime = color.rgb(0,255,0)
colYellow = color.rgb(255,255,0)
colOrange = color.rgb(255,165,0)
colWhite = color.rgb(255,255,255)
colGray = color.rgb(128,128,128)
colMagenta = color.rgb(255,0,255)
colPink = color.rgb(233,30,99)
colCyan = color.rgb(0,188,212)
colBlue = color.rgb(0,122,255)
colPurple = color.rgb(128,0,128)
colRed50 = color.new(colRed,50)
colGreen50 = color.new(colLime,50)
// ────────────────────── 4 KEY FULL LINES ──────────────────────
plot(showPivot ? pivot : na, title="PIVOT", color=colYellow, linewidth=3, style=plot.style_linebr)
plot(showTarget ? target : na, title="TARGET", color=colOrange, linewidth=2, style=plot.style_linebr)
plot(showLast ? last : na, title="LAST", color=colWhite, linewidth=2, style=plot.style_linebr)
plot(showPrevClose ? prevClose : na, title="PREV CLOSE",color=colGray, linewidth=1, style=plot.style_linebr)
// ────────────────────── LABELS FOR ALL 4 KEY LEVELS (SAME STYLE AS OTHERS) ──────────────────────
f_label(price, txt, bgColor, txtColor) =>
if barstate.islast and not na(price)
label.new(bar_index, price, txt, style=label.style_label_left, color=bgColor, textcolor=txtColor, size=size.small)
if barstate.islast
showPivot ? f_label(pivot, "PIVOT " + str.tostring(pivot, "#.##"), colYellow, color.black) : na
showTarget ? f_label(target, "TARGET " + str.tostring(target, "#.##"), colOrange, color.white) : na
showLast ? f_label(last, "LAST " + str.tostring(last, "#.##"), colWhite, color.black) : na
showPrevClose ? f_label(prevClose, "PREV CLOSE "+ str.tostring(prevClose, "#.##"), colGray, color.white) : na
// ────────────────────── OTHER LEVELS – line stops at label ──────────────────────
f_level(p, txt, tc, lc, w=1) =>
if barstate.islast and not na(p)
lbl = label.new(bar_index, p, txt, style=label.style_label_left, color=lc, textcolor=tc, size=size.small)
line.new(bar_index-400, p, label.get_x(lbl), p, extend=extend.none, color=lc, width=w)
if barstate.islast
if showR1R2R3
f_level(r1, "R1 " + str.tostring(r1, "#.##"), color.white, colRed)
f_level(r2, "R2 " + str.tostring(r2, "#.##"), color.white, colRed)
f_level(r3, "R3 " + str.tostring(r3, "#.##"), color.white, colRed, 2)
if showS1S2S3
f_level(s1, "S1 " + str.tostring(s1, "#.##"), color.black, colLime)
f_level(s2, "S2 " + str.tostring(s2, "#.##"), color.black, colLime)
f_level(s3, "S3 " + str.tostring(s3, "#.##"), color.black, colLime, 2)
if showStdDev
f_level(stdRes1, "+1σ " + str.tostring(stdRes1, "#.##"), color.white, colPink)
f_level(stdRes2, "+2σ " + str.tostring(stdRes2, "#.##"), color.white, colPink)
f_level(stdRes3, "+3σ " + str.tostring(stdRes3, "#.##"), color.white, colPink, 2)
f_level(stdSup1, "-1σ " + str.tostring(stdSup1, "#.##"), color.white, colCyan)
f_level(stdSup2, "-2σ " + str.tostring(stdSup2, "#.##"), color.white, colCyan)
f_level(stdSup3, "-3σ " + str.tostring(stdSup3, "#.##"), color.white, colCyan, 2)
if showFib4W
f_level(fib382_4w, "38.2% 4W " + str.tostring(fib382_4w, "#.##"), color.white, colMagenta)
f_level(fib50_4w, "50% 4W " + str.tostring(fib50_4w, "#.##"), color.white, colMagenta)
if showFib13W
f_level(fib382_13w_high, "38.2% 13W High " + str.tostring(fib382_13w_high, "#.##"), color.white, colMagenta)
f_level(fib50_13w, "50% 13W " + str.tostring(fib50_13w, "#.##"), color.white, colMagenta)
f_level(fib382_13w_low, "38.2% 13W Low " + str.tostring(fib382_13w_low, "#.##"), color.white, colMagenta)
if showMonthHL
f_level(monthHigh, "1M HIGH " + str.tostring(monthHigh, "#.##"), color.white, colRed50, 2)
f_level(monthLow, "1M LOW " + str.tostring(monthLow, "#.##"), color.white, colGreen50, 2)
// Manual entries
plot(showEntry1 and entry1 > 0 ? entry1 : na, "Entry 1", color=colBlue, linewidth=2, style=plot.style_linebr)
plot(showEntry2 and entry2 > 0 ? entry2 : na, "Entry 2", color=colPurple, linewidth=2, style=plot.style_linebr)
// Background
bgcolor(close > pivot ? color.new(color.blue, 95) : color.new(color.red, 95))
Intraday Day-Trade Scanner//@version=5
indicator("Intraday Day-Trade Scanner", overlay=true)
// ----- Inputs -----
minFloat = input.int(10000000, "Min Float")
maxFloat = input.int(20000000, "Max Float")
minPrice = input.float(3, "Min Price")
maxPrice = input.float(50, "Max Price")
minRVOL = input.float(1.5, "Min Relative Volume")
minAtrPct = input.float(1.0, "Min ATR %")
maxAtrPct = input.float(5.0, "Max ATR %")
useLong = input.bool(true, "Long scan (above VWAP)")
useShort = input.bool(false, "Short scan (below VWAP)")
// ----- Data -----
float = request.financial(syminfo.tickerid, "FLOAT", "FQ")
avgVol = ta.sma(volume, 20)
rvol = volume / avgVol
atr = ta.atr(14)
atrPct = (atr / close) * 100
// VWAP
vwap = ta.vwap(close)
// ----- Conditions -----
floatOK = float >= minFloat and float <= maxFloat
priceOK = close >= minPrice and close <= maxPrice
rvolOK = rvol >= minRVOL
atrOK = atrPct >= minAtrPct and atrPct <= maxAtrPct
longOK = useLong and close > vwap
shortOK = useShort and close < vwap
qualified = floatOK and priceOK and rvolOK and atrOK and (longOK or shortOK)
// ----- Plot label on chart -----
plotshape(qualified,title ="Qualified Stock", text="SCAN HIT", style=shape.labelup, size=size.small, color=color.new(color.green, 0))
// ----- Alerts -----
alertcondition(qualified, title="Trade Candidate Found", message="This stock meets your day-trade scan criteria!")
Focus On Work time (Tehran)If you only want to analyze the market during specific working hours and ignore the rest, this indicator is for you. It lets you hide or highlight non-working times on your chart, so you can focus only on the sessions that matter to you.
Just set your start time and end time for the work session.
By default, the time is set to UTC+3:30 (Tehran time), but you can change it to any timezone you like.
Harami Reversal Alerts BB Touch (Strict First Candle)Harami Reversal Alerts BB Touch (Strict First Candle)
Harami Reversal Alerts BB Touch (Strict First Candle)Harami Reversal Alerts BB Touch (Strict First Candle)Harami Reversal Alerts BB Touch (Strict First Candle)Harami Reversal Alerts BB Touch (Strict First Candle)Harami Reversal Alerts BB Touch (Strict First Candle)
EMA Crossover + Angle + Candle Pattern + Breakout (Clean)mrdfgdfew;qwiohj'fjpqwpodkqsk [pal
a'laoduasipdjascm[osfw0e9fj[ekf[pk[
pfi[0wejf[oewfkj[sofk
Turtle Unit CalculatorTurtle Unit Calculator
This Pine Script indicator calculates the exact quantity of an asset you should buy (your Unit Size) to ensure you risk a fixed amount of capital (e.g., 1%) per trade.
VWAP + Scaled VIX OverlayVWAP-VIX Fusion Overlay helps traders interpret volatility in real time by placing VIX and VWAP where they belong: side-by-side with price action.
It turns the invisible (fear, volatility pressure, momentum shifts) into something clearly visible — making entries, exits, and trend evaluation easier and more accurate.
MSS + Multi FVG TrackerMSS + Multi FVG Tracker
Description
An advanced institutional trading tool that combines Market Structure Shift (MSS) detection with multi-level Fair Value Gap (FVG) tracking. This indicator identifies breakouts of previous swing highs/lows on higher timeframes, then systematically tracks and validates multiple FVGs within each trend direction, generating precise entry signals when price respects the gap structure.
How It Works
Higher Timeframe Trend Detection
The indicator analyzes a higher timeframe (default 15-minute) to determine the overall bias, displaying background colors that show bullish or bearish directionality. This ensures you only trade with institutional trend direction.
Market Structure Shift (MSS/BOS)
When price closes above a previous swing high (in uptrends) or below a previous swing low (in downtrends), a BOS (Break of Structure) is marked with a line and label. This signals that the institutional structure has shifted and a new trend impulse is beginning.
Multi-Level FVG Tracking
Once an MSS occurs:
The indicator begins scanning for Fair Value Gaps (gaps between candles where no trading occurred)
Bullish FVGs: Gaps above the closing price of a bearish candle (low > high )
Bearish FVGs: Gaps below the closing price of a bullish candle (high < low )
Multiple FVGs are tracked simultaneously (up to 5 configurable) across the same impulse
Intelligent FVG Validation
Each FVG is continuously monitored:
Invalidated: If price closes through the gap (below a bullish FVG or above a bearish FVG), it's automatically deleted
Touched: If price enters the gap zone, it's marked as "touched"
Signal Generated: When a touched FVG shows strong directional confirmation (bullish candle closing above the FVG top, or bearish candle closing below the FVG bottom), a LONG or SHORT signal is triggered
Key Features
HTF Trend Confirmation: Only trades aligned with higher timeframe bias (eliminates counter-trend noise)
Multi-FVG Architecture: Tracks up to 5 gaps per trend impulse simultaneously
Automatic Gap Invalidation: Removes FVGs that break below/above, keeping only valid levels
Smart Signal Generation: Entry signals require both FVG respect + directional confirmation
Color-Coded Structure: Bullish signals in green, bearish in red with instant visual clarity
Background Trend Visualization: Subtle background shading shows HTF bias at all times
Customizable Parameters: Adjust swing period, HTF timeframe, and max FVGs to track
Ideal For
ICT Smart Money traders using FVG + MSS methodologies
Institutional order flow analysts trading market structure
Multi-timeframe traders looking for confluence-based entries
Scalpers to swing traders on 5-minute to 1-hour charts
Anyone seeking high-probability setups with clear invalidation rules
Trading Applications
Scalp FVG reversals: Enter when price respects a touched FVG with confirmation
Trade impulses with structure: Follow MSS with FVG confluence for institutional-grade entries
Identify pullback opportunities: Track multiple FVGs during retracements for re-entry zones
Confirm breakout validity: Only take breaks when aligned with HTF trend + FVG structure
Avoid false breakouts: Invalidated FVGs signal that the move is losing structure
How to Use
Wait for the MSS: Background color shift + BOS line confirms market structure break
Monitor FVG Creation: Boxes appear as gaps form within the new impulse
Watch for Invalidation: Red boxes disappear if price breaks the gap—signal invalid
Wait for Touch + Confirmation: FVG must be touched AND show strong directional candle
Take the Signal: Triangle entry markers appear with audio/visual alerts
Clear Risk Management: Use the invalidated FVG level as your stop loss
Signal Strength Indicators
Strongest Setup: Multiple FVGs created + one respects while others invalidate (shows structure)
Medium Setup: Single FVG touched and confirmed
Weaker Setup: Quick touch with weak confirmation candle (wait for better structure)
Customization Options
HTF Timeframe: Change from 15-min to 5, 30, 60 min or higher for different trading styles
Swing Period: Adjust from 10 bars for faster detection to 20+ for structural shifts
Max FVGs: Track 1-5 simultaneous gaps (lower = cleaner, higher = more opportunities)
Colors: Customize bullish/bearish colors to match your chart theme
Default Settings Optimized For
NASDAQ futures and liquid forex pairs
5-minute to 1-hour timeframe trading
Smart Money / ICT methodology
High-probability impulse + gap trading
Pro Tips
The cleaner your chart (fewer invalidated FVGs), the stronger the structural move
Multiple valid FVGs in one impulse suggest institutional accumulation/distribution
HTF background color changes are early warnings of trend structure shift
Best setups occur when 2-3 FVGs exist and one shows clear confirmation






















