MACD + DMI Scalping with Volatility Stop by (Coinrule)Trend-following strategies are cool because they allow you to catch potential high returns.
The main limit of such strategies are:
False signals > the asset is not experiencing a strong trend. The strategy gets stuck with a sideways move or, worst, with the beginning of a downtrend.
The sell signal may come later than the actual top, leading in some cases to turn a trade in profit into a loss.
This strategy tries to address these limitations to develop a trading system that optimises the entry and closes trade once the profit achieves a pre-set level.
ENTRY
The trading system uses the MACD and the DMI to confirm when is the best time for buying. Combining these two indicators prevents trading during downtrends and reduces the likelihood of getting stuck in a market with low volatility.
The system confirms the entry when:
The MACD histogram turns bullish.
When the positive DMI is greater than the negative DMI, there are more chances that the asset is trading in a sustained uptrend.
EXIT
The strategy comes with a fixed take profit combined with a volatility stop, which acts as a trailing stop to adapt to the trend's strength. Depending on your long term confidence in the asset, you can edit the fixed take profit to be more conservative or aggressive.
The position is closed when:
The price increases by 3%
The price crosses below the volatility stop.
The best time frame for this strategy based on our backtest is the 3-hr . The 4-hr can work well. In general, this approach suits medium to long term strategies
The strategy assumes each order to trade 30% of the available capital to make the results more realistic. A trading fee of 0.1% is taken into account. The fee is aligned to the base fee applied on Binance, which is the largest cryptocurrency exchange.
Cari dalam skrip untuk "Volatility"
Statistical Volatility - Extreme Value Method Backtest This indicator used to calculate the statistical volatility, sometime
called historical volatility, based on the Extreme Value Method.
Please use this link to get more information about Volatility.
You can change long to short in the Input Settings
WARNING:
- For purpose educate only
- This script to change bars colors.
Statistical Volatility - Extreme Value Method This indicator used to calculate the statistical volatility, sometime
called historical volatility, based on the Extreme Value Method.
Please use this link to get more information about Volatility.
Historical Volatility MA - LayeringProvides a historical volatility moving average to show trends in volatility. Meant to be used with Volume MA, and Vol of Vol MA, layered on top of eachother.
Volatility Based Momentum Oscillator (VBMO)There is a frequent and definitive pattern in price movement, whereby price will steadily drift lower, then accelerate before bottoming out. Similarly, price will often steadily rise, then accelerate into a climax top.
The Volatility Based Momentum Oscillator (VBMO) is designed to delineate between steady versus more accelerated and climactic price movements.
VBMO is calculated using a short-term moving average, the distance of price from this moving average, and the trading instrument’s historical volatility. Even though VBMO’s calculation is relatively simple, the resulting values can help traders identify, analyze and act upon many scenarios, such as climax tops, reversals, and capitulation. Moreover, since the units and scale for VBMO are always the same, the indicator can be used in a consistent manner across multiple timeframes and instruments.
For more details, there is an article further describing VBMO and its applicability.
Volatility ChannelThis script is based on an idea I have had for bands that react better to crypto volatility. It calculates a Donchian Channel, SMMA-Smoothed True Range, Bollinger Bands (standard deviation), and a Keltner Channel (average true range) and averages the components to construct its bands/envelopes. This way, hopefully band touches are a more reliable indicator of a temporary bottom, and so on. Secondary coloring for strength of trend is given as a gradient based on RSI.
Parabolic SAR with Volatility Filter: Buy Alerts for 3commasHey folks and fellow 3commas users !
Here is a new signal generator for your DCA bot on 3commas.
This is a classic Parabolic SAR indicator with a filter for volatility.
NOTE: This is a repainting strategy by design. Recommended to use with "Once per bar" alert style for PSAR
Return Volatility (σ) — auto-annualized [v6]Overview
This indicator calculates and visualizes the return-based volatility (standard deviation) of any asset, automatically adjusting for your chart's timeframe to provide both absolute and annualized volatility values.
It’s designed for traders who want to filter trades, adjust position sizing, and detect volatility events based on statistically significant changes in market activity.
Key Features
Absolute Volatility (abs σ%) – Standard deviation of returns for the current timeframe (e.g., 1H, 4H, 1D).
Annualized Volatility (ann σ%) – Converts abs σ% into an annualized figure for easier cross-timeframe and cross-asset comparison.
Relative Volatility (rel σ) – Ratio of current volatility to the long-term average (default: 120 periods).
Z-Score – Number of standard deviations the current volatility is above or below its historical average.
Auto-Timeframe Adjustment – Detects your chart’s bar size (seconds per bar) and calculates bars/year automatically for crypto’s 24/7 market.
Highlight Mode – Optional yellow background when volatility exceeds set thresholds (rel σ ≥ threshold OR z-score ≥ threshold).
Alert Conditions – Alerts trigger when relative volatility or z-score exceed defined limits.
How It Works
Return Calculation
Log returns: ln(Pt / Pt-1) (default)
or Simple returns: (Pt / Pt-1) – 1
Volatility Measurement
Standard deviation of returns over the lookback period N (default: 20 bars).
Absolute volatility = σ × 100 (% per bar).
Annualization
Uses: σₐₙₙ = σ × √(bars/year) × 100 (%)
Bars/year auto-calculated based on timeframe:
1H = 8,760 bars/year
4H ≈ 2,190 bars/year
1D = 365 bars/year
Relative and Statistical Context
Relative σ = Current σ / Historical average σ (baseLen, default: 120)
Z-score = (Current σ – Historical average σ) / Std. dev. of σ over baseLen
Trading Applications
Volatility Filter – Only allow trade entries when volatility exceeds historical norms (trend traders often benefit from this).
Risk Management – Reduce position size during high volatility spikes to manage risk; increase size in low-volatility trending environments.
Market Scanning – Identify assets with the highest relative volatility for momentum or breakout strategies.
Event Detection – Highlight significant volatility surges that may precede large moves.
Suggested Settings
Lookback (N): 20 bars for short/medium-term trading.
Base Length (M): 120 bars to establish long-term volatility baseline.
Relative Threshold: 1.5× baseline σ.
Z-score Threshold: ≥ 2.0 for statistically significant volatility shifts.
Use Log Returns: Recommended for more consistent scaling across prices.
Notes & Limitations
Volatility measures movement magnitude, not direction. Combine with trend or momentum filters for directional bias.
Very low volatility may still produce false breakouts; combine with volume and market structure analysis.
Crypto markets trade 24/7 — annualization assumes no market closures; adjust for other asset classes if needed.
💡 Best Practice: Use this indicator as a pre-trade filter for breakout or trend-following strategies, or as a risk control overlay in mean-reversion systems.
[LeonidasCrypto]EMA with Volatility GlowEMA Volatility Glow - Advanced Moving Average with Dynamic Volatility Visualization
Overview
The EMA Volatility Glow indicator combines dual exponential moving averages with a sophisticated volatility measurement system, enhanced by dynamic visual effects that respond to real-time market conditions.
Technical Components
Volatility Calculation Engine
BB Volatility Curve: Utilizes Bollinger Band width normalized through RSI smoothing
Multi-stage Noise Filtering: 3-layer exponential smoothing algorithm reduces market noise
Rate of Change Analysis: Dual-timeframe RoC calculation (14/11 periods) processed through weighted moving average
Dynamic Normalization: 100-period lookback for relative volatility assessment
Moving Average System
Primary EMA: Default 55-period exponential moving average with volatility-responsive coloring
Secondary EMA: Default 100-period exponential moving average for trend confirmation
Trend Analysis: Real-time bullish/bearish determination based on EMA crossover dynamics
Visual Enhancement Framework
Gradient Band System: Multi-layer volatility bands using Fibonacci ratios (0.236, 0.382, 0.618)
Dynamic Color Mapping: Five-tier color system reflecting volatility intensity levels
Configurable Glow Effects: Customizable transparency and intensity settings
Trend Fill Visualization: Directional bias indication between moving averages
Key Features
Volatility States:
Ultra-Low: Minimal market movement periods
Low: Reduced volatility environments
Medium: Normal market conditions
High: Increased volatility phases
Extreme: Exceptional market stress periods
Customization Options:
Adjustable EMA periods
Configurable glow intensity (1-10 levels)
Variable transparency controls
Toggleable visual components
Customizable gradient band width
Technical Calculations:
ATR-based gradient bands with noise filtering
ChartPrime-inspired multi-layer fill system
Real-time volatility curve computation
Smooth color gradient transitions
Applications
Trend Identification: Dual EMA system for directional bias assessment
Volatility Analysis: Real-time market stress evaluation
Risk Management: Visual volatility cues for position sizing decisions
Market Timing: Enhanced visual feedback for entry/exit consideration
Volatility-Adjusted Momentum Score (VAMS) [QuantAlgo]🟢 Overview
The Volatility-Adjusted Momentum Score (VAMS) measures price momentum relative to current volatility conditions, creating a normalized indicator that identifies significant directional moves while filtering out market noise. It divides annualized momentum by annualized volatility to produce scores that remain comparable across different market environments and asset classes.
The indicator displays a smoothed VAMS Z-Score line with adaptive standard deviation bands and an information table showing real-time metrics. This dual-purpose design enables traders and investors to identify strong trend continuation signals when momentum persistently exceeds normal levels, while also spotting potential mean reversion opportunities when readings reach statistical extremes.
🟢 How It Works
The indicator calculates annualized momentum using a simple moving average of logarithmic returns over a specified period, then measures annualized volatility through the standard deviation of those same returns over a longer timeframe. The raw VAMS score divides momentum by volatility, creating a risk-adjusted measure where high volatility reduces scores and low volatility amplifies them.
This raw VAMS value undergoes Z-Score normalization using rolling statistical parameters, converting absolute readings into standardized deviations that show how current conditions compare to recent history. The normalized Z-Score receives exponential moving average smoothing to create the final VAMS line, reducing false signals while preserving sensitivity to meaningful momentum changes.
The visualization includes dynamically calculated standard deviation bands that adjust to recent VAMS behavior, creating statistical reference zones. The information table provides real-time numerical values for VAMS Z-Score, underlying momentum percentages, and current volatility readings with trend indicators.
🟢 How to Use
1. VAMS Z-Score Bands and Signal Interpretation
Above Mean Line: Momentum exceeds historical averages adjusted for volatility, indicating bullish conditions suitable for trend following
Below Mean Line: Momentum falls below statistical norms, suggesting bearish conditions or downward pressure
Mean Line Crossovers: Primary transition signals between bullish and bearish momentum regimes
1 Standard Deviation Breaks: Strong momentum conditions indicating statistically significant directional moves worth following
2 Standard Deviation Extremes: Rare momentum readings that often signal either powerful breakouts or exhaustion points
2. Information Table and Market Context
Z-Score Values: Current VAMS reading displayed in standard deviations (σ), showing how far momentum deviates from its statistical norm
Momentum Percentage: Underlying annualized momentum displayed as percentage return, quantifying the directional strength
Volatility Context: Current annualized volatility levels help interpret whether VAMS readings occur in high or low volatility environments
Trend Indicators: Directional arrows and change values provide immediate feedback on momentum shifts and market transitions
3. Strategy Applications and Alert System
Trend Following: Use sustained readings beyond the mean line and 1σ band penetrations for directional trades, especially when VAMS maintains position in upper or lower statistical zones
Mean Reversion: Focus on 2σ extreme readings for contrarian opportunities, particularly effective in sideways markets where momentum tends to revert to statistical norms
Alert Notifications: Built-in alerts for mean crossovers (regime changes), 1σ breaks (strong signals), and 2σ touches (extreme conditions) help monitor multiple instruments for both continuation and reversal setups
Volatility Breaker Blocks [BigBeluga]The Volatility Breaker Blocks indicator identifies key market levels based on significant volatility at pivot highs and lows. It plots blocks that act as potential support and resistance zones, marked in green (support) and blue (resistance). Even after a breakout, these blocks leave behind shadow boxes that continue to impact price action. The sensitivity of block detection can be adjusted in the settings, allowing traders to customize the identification of volatility breakouts. The blocks print triangle labels (up or down) after breakouts, indicating potential areas of interest.
🔵 IDEA
The Volatility Breaker Blocks indicator is designed to highlight key areas in the market where volatility has created significant price action. These blocks, created at pivot highs and lows with increased volatility, act as potential support and resistance levels.
The idea is that even after price breaks through these blocks, the remaining shadow boxes continue to influence price movements. By focusing on volatility-driven pivot points, traders can better anticipate how price may react when it revisits these areas. The indicator also captures the natural tendency for price to retest broken resistance or support levels.
🔵 KEY FEATURES & USAGE
◉ High Volatility Breaker Blocks:
The indicator identifies areas of high volatility at pivot highs and lows, plotting blocks that represent these zones. Green blocks represent support zones (identified at pivot lows), while blue blocks represent resistance zones (identified at pivot highs).
Support:
Resistance:
◉ Shadow Blocks after Breakouts:
When price breaks through a block, the block doesn't disappear. Instead, it leaves behind a shadow box, which can still influence future price action. These shadow blocks act as secondary support or resistance levels.
If the price crosses these shadow blocks, the block stops extending, and the right edge of the box is fixed at the point where the price crosses it. This feature helps traders monitor important price levels even after the initial breakout has occurred.
◉ Triangle Labels for Breakouts:
After the price breaks through a volatility block, the indicator prints triangle labels (up or down) at the breakout points.
◉ Support and Resistance Retests:
One of the key concepts in this indicator is the retesting of broken blocks. After breaking a resistance block, price often returns to the shadow box, which then acts as support. Similarly, after breaking a support block, price tends to return to the shadow box, which becomes a resistance level. This concept of price retesting and bouncing off these levels is essential for understanding how the indicator can be used to identify potential entries and exits.
The natural tendency of price to retest broken resistance or support levels.
Additionaly indicator can display retest signals of broken support or resistance
◉ Customizable Sensitivity:
The sensitivity of volatility detection can be adjusted in the settings. A higher sensitivity captures fewer but more significant breakouts, while a lower sensitivity captures more frequent volatility breakouts. This flexibility allows traders to adapt the indicator to different trading styles and market conditions.
🔵 CUSTOMIZATION
Calculation Window: Defines the window of bars over which the breaker blocks are calculated. A larger window will capture longer-term levels, while a smaller window focuses on more recent volatility areas.
Volatility Sensitivity: Adjusts the threshold for volatility detection. Lower sensitivity captures smaller breakouts, while higher sensitivity focuses on larger, more significant moves.
Retest Signals: Display or hide retest signals of shadow boxes
Volatility Projection Levels (VPL)### Indicator Name: **Volatility Projection Levels (VPL)**
### Description:
The **Volatility Projection Levels (VPL)** indicator is a powerful tool designed to help traders anticipate key support and resistance levels for the E-mini S&P 500 (ES) by leveraging the CBOE Volatility Index (^VIX). This indicator utilizes historical volatility data to project potential price movements for the upcoming month, offering clear visual cues that enhance swing trading strategies.
### Key Features:
- **Volatility-Based Projections**: The VPL indicator uses the previous month’s closing value of the VIX, normalizing it for monthly analysis by dividing by the square root of 12. This calculated percentage is then applied to the E-mini S&P 500’s closing price from the last day of the previous month.
- **Upper and Lower Projection Levels**: The indicator calculates two essential levels:
- **Upper Projection Level**: The previous month’s closing price of the E-mini S&P 500 plus the calculated volatility percentage.
- **Lower Projection Level**: The previous month’s closing price of the E-mini S&P 500 minus the calculated volatility percentage.
- **Continuous Visualization**: The VPL indicator plots these projection levels on the chart throughout the entire month, providing traders with a consistent reference for potential support and resistance zones. This continuous visualization allows for better anticipation of market movements.
- **Previous Month's Close Reference**: Additionally, the indicator plots the previous month’s closing price as a reference point, offering further context for current price action.
### Use Cases:
- **Swing Trading**: The VPL indicator is ideal for swing traders looking to exploit predicted price ranges within a monthly timeframe.
- **Support & Resistance Identification**: It aids traders in identifying critical levels where the market may encounter support or resistance, thus informing entry and exit decisions.
- **Risk Management**: By forecasting potential price levels, traders can set more strategic stop-loss and take-profit levels, enhancing risk management.
### Summary:
The **Volatility Projection Levels (VPL)** indicator equips traders with a forward-looking tool that incorporates volatility data into market analysis. By projecting key price levels based on historical VIX data, the VPL indicator enhances decision-making, helping traders anticipate market movements and optimize their trading strategies.
Made by Serpenttrading
Volatility Estimator - YZ & RSThe Yang-Zheng Volatility Estimator (YZVE) integrates both intra-candle and inter-candle dynamics, such as overnight and weekend price changes, offering a more detailed analysis compared to traditional methods. The YZVE is proposed to improve over the standard deviation by accounting for the open, high, low, and close prices of trading periods, instead of only the close prices, and attempts to supplant the Parkinson's Volatility Estimator (PVE) by a also capturing inter-candle dynamics. The YZVE is calculated by this formula:
YZ Volatility Squared σ_YZ² = k * σ_o² + σ_rs² + (1 - k) * σ_c²
where k is a weighting factor that adjusts the emphasis between the overnight and close-to-close components, popularly estimated as:
k = 0.34 / (1.34 + (N+1) / (N-1))
where N is the lookback period. Optionally, users may opt to override this calculation with a specified constant (off by default). Next, the
Overnight Volatility Squared σ_o² = (log(O_t / C_(t-1)))²
measures the volatility associated with overnight price changes, from the previous candle's closing price C_(t-1) to the current candle's opening price O_t. It captures the market's reaction to news and events that occur outside of regular trading hours to reflect risk associated with holding positions over non-trading hours and gaps.
Next, the The Rogers-Satchell Volatility Estimator (RSVE) serves as an intermediary step in the computation of YZVE. It aggregates the logarithmic ratios between high, low, open, and close prices within each trading period, focusing on intra-candle volatility without assuming zero inter-candle drift as commonly implicitly assumed in other volatility models:
Rogers-Satchell Volatility Squared σ_rs² = (log(H_t / C_t) * log(H_t / O_t)) + (log(L_t / C_t) * log(L_t / O_t))
Finally,
Close-to-Close Volatility Squared σ_c² = (log(C_t / C_(t-1)))²
measures the volatility from the close of one candle to the close of the next. It reflects the typical candle volatility, similar to naive standard deviation.
This script also includes an option for users to apply the simpler RS Volatility exclusively, focusing on intraday price movements. Additionally, it offers a choice for normalization between 0 and 1, turning the estimator into an oscillator for comparing current volatility to recent levels. Horizontal lines at user-defined levels are also available for clearer visualization. Both are off by default.
References:
Yang, D., & Zhang, Q. (2000). Drift-independent volatility estimation based on high, low, open, and close prices. The Journal of Business, 73(3), 477-491.
Rogers, L.C.G., & Satchell, S.E. (1991). Estimating variance from high, low and closing prices. Annals of Applied Probability, 1(4), 504-512.
L&S Volatility IndexOverview
L&S Volatility Index is a tool designed to helps traders identify overpriced or underpriced moments in the market and adjust their trading strategies accordingly.
Calculations
This tool calculates how far the price is from the 21-period simple moving average as a ratio of the average historical volatility calculated over the last 21 candles.
How It Works
A L&S Volatility Index with a value greater than 30% may indicate that the asset is overpriced or underpriced relative to its average price.
How To Use
If the L&S Volatility Index > 30, the asset is overpriced or underpriced. This means that there is a good probability of initiating a mean reversion.
If the L&S Volatility Index < 30, the asset is in a fair price region. This means that it is acceptable to buy or sell in that price region.
Where To Use
Mean Reversion Strategy
Breakout Strategy
What Makes it Original
There is already an indicator that use a normalized calculation and a different approach to calculate historical volatility, whereas this script calculation is non-normalized and historical volatility is calculated using Don Fishback's formula. All calculations are used as originally described.
Credits
The L&S Volatility Index indicator was originally written by L&S Educação Financeira.
Historical Volatility calculation is based on the book "Odds: The Key to 90% Winners" written by Don Fishback.
Volatility Weighted Moving AverageVolatility Weighted Moving Average (VAWMA) :
The Volatility Weighted Moving Average is a short and long term trend filter that weightes asset price buy "volatility significance" (percentages of total volatility over specified period) unlike that of the WMA which formulates an average based on the product of asset price and a deceding period significance . The result is a less noisy average which weights price based on its potential significance in trend, VAWMA tends to price when volatility is high and conversaly tends away from price when volatility is low.
Example :
As seen above the VAWMA tends to price more than both the SMA and EMA. The high volatility weightings allow for the VWMA to act as a potential trailing stop.
Dynamics :
- symbol volatility watchlist, change the ticker and corrosponding exchange to watch volatility over other markets.
Low Volatility Breakout + TP/SL Levels█ OVERVIEW
"Low Volatility Breakout + TP/SL Levels" is a breakout indicator designed to detect and trade breakouts from periods of low volatility (consolidation). Unlike classic strategies based on fixed support/resistance levels, this indicator dynamically identifies consolidations characterized by small candle bodies and only generates a signal when the breakout occurs with a large, decisive candle. It also automatically plots 3 Take Profit levels and a Stop Loss (with two calculation modes), making it a complete breakout trading tool.
█ CONCEPTS
The strongest market moves most often start after a prolonged period of very low volatility — when candles become small and the market "falls asleep". The indicator first detects such consolidations (small bodies for at least X bars), draws a box around them, and then waits for a breakout with a candle significantly larger than the average. Additional filters (e.g., the box height cannot exceed the average candle body by too much) eliminate false consolidations and volatility traps. Immediately after the breakout, TP1, TP2, TP3, and SL levels are plotted.
█ FEATURES
Dynamic detection of low-volatility consolidations
- candles with small bodies (< average body × consolidationMultiplier)
- minimum number of bars in consolidation: confirmBars (default 5)
Automatic drawing of consolidation boxes
- green (bullish) or red (bearish) with transparent background (85)
- adjustable border thickness (border_width 1–5)
- box height filter (boxHeightMultiplier, default 6.0 × average body) – removes overly stretched/false consolidations
Breakout conditions
- current candle must be larger than average body × threshold (default 1.5)
- must be the largest candle in the entire consolidation
- must close above the highest high (long) or below the lowest low (short)
Breakout signals
- small green triangles below the bar (long)
- small red triangles above the bar (short)
Automatic Take Profit and Stop Loss levels (drawn 5 bars forward)
- two calculation modes:
• Candle Multiplier – based on average true range (high-low) over tp_sl_length period
• Percentage – fixed percentage from breakout close price (percentages must be manually adjusted to the asset and timeframe)
- 3 TP levels (default 2×, 3×, 4× or 2%, 3%, 4%)
- 1 SL level (default 2× or 1.5%)
Live TP/SL price table (top-right corner)
- displays exact current values of SL, TP1, TP2, TP3 immediately after each new signal
- colors identical to drawn lines (red background for SL, green for TP levels)
- updates automatically with every new breakout
Built-in alerts
- “Bullish Breakout Alert” and “Bearish Breakout Alert”
█ HOW TO USE
Add the indicator to your TradingView chart → Indicators → search “Low Volatility Breakout + TP/SL Levels”.
After each valid breakout you will immediately see:
- the colored box
- signal triangle
- horizontal TP/SL lines
- updated table in the top-right corner showing precise price levels for the current trade
Key settings to adjust:
Consolidation Settings
- Volatility Window (length) – period for average body calculation (default 20)
- Consolidation Multiplier – how small bodies must be to count as consolidation (default 2.0)
- Breakout Multiplier – minimum size of breakout candle (default 1.5)
- Box Height Multiplier – maximum allowed box height (default 6.0)
- Min Consolidation Bars – minimum bars required (default 5)
Risk Management Settings
- Choose TP/SL mode: Candle Multiplier or Percentage
- Adjust TP1–3 and SL multipliers/percentages to match your risk management style
Signal interpretation:
- Green triangle below bar + green box + green TP levels in table = long signal
- Red triangle above bar + red box + red SL level in table = short signal
- Boxes remain on chart until broken — they highlight accumulation/distribution zones
█ APPLICATIONS
- Trading breakouts from consolidation on all markets and timeframes
- Recommended to trade in the direction of the higher-timeframe trend or with additional confirmations (e.g., key level breaks). Aggressive mode (trading both directions) is also possible — provided box and TP/SL settings are properly optimized
- Experiment with different TP/SL ratios — higher reward-to-risk setups (e.g., SL 1×, TP3 6–8×) with lower win rate are often more profitable in the long run
- Strongly encourage testing various box parameters (consolidationMultiplier, boxHeightMultiplier, confirmBars) — small changes can dramatically affect signal frequency and quality
█ NOTES
Always test and optimize parameters for the specific instrument and timeframe.
Volatility Signal-to-Noise Ratio🙏🏻 this is VSNR: the most effective and simple volatility regime detector & automatic volatility threshold scaler that somehow no1 ever talks about.
This is simply an inverse of the coefficient of variation of absolute returns, but properly constructed taking into account temporal information, and made online via recursive math with algocomplexity O(1) both in expanding and moving windows modes.
How do the available alternatives differ (while some’re just worse)?
Mainstream quant stat tests like Durbin-Watson, Dickey-Fuller etc: default implementations are ALL not time aware. They measure different kinds of regime, which is less (if at all) relevant for actual trading context. Mix of different math, high algocomplexity.
The closest one is MMI by financialhacker, but his approach is also not time aware, and has a higher algocomplexity anyways. Best alternative to mine, but pls modify it to use a time-weighted median.
Fractal dimension & its derivatives by John Ehlers: again not time aware, very low info gain, relies on bar sizes (high and lows), which don’t always exist unlike changes between datapoints. But it’s a geometric tool in essence, so this is fundamental. Let it watch your back if you already use it.
Hurst exponent: much higher algocomplexity, mix of parametric and non-parametric math inside. An invention, not a math entity. Again, not time aware. Also measures different kinds of regime.
How to set it up:
Given my other tools, I choose length so that it will match the amount of data that your trading method or study uses multiplied by ~ 4-5. E.g if you use some kind of bands to trade volatility and you calculate them over moving window 64, put VSNR on 256.
However it depends mathematically on many things, so for your methods you may instead need multipliers of 1 or ~ 16.
Additionally if you wanna use all data to estimate SNR, put 0 into length input.
How to use for regime detection:
First we define:
MR bias: mean reversion bias meaning volatility shorts would work better, fading levels would work better
Momo bias: momentum bias meaning volatility longs would work better, trading breakouts of levels would work better.
The study plots 3 horizontal thresholds for VSNR, just check its location:
Above upper level: significant Momo bias
Above 1 : Momo bias
Below 1 : MR bias
Below lower level: significant MR bias
Take a look at the screenshots, 2 completely different volatility regimes are spotted by VSNR, while an ADF does not show different regime:
^^ CBOT:ZN1!
^^ INDEX:BTCUSD
How to use as automatic volatility threshold scaler
Copy the code from the script, and use VSNR as a multiplier for your volatility threshold.
E.g you use a regression channel and fade/push upper and lower thresholds which are RMSEs multiples. Inside the code, multiply RMSE by VSNR, now you’re adaptive.
^^ The same logic as when MM bots widen spreads with vola goes wild.
How it works:
Returns follow Laplace distro -> logically abs returns follow exponential distro , cuz laplace = double exponential.
Exponential distro has a natural coefficient of variation = 1 -> signal to noise ratio defined as mean/stdev = 1 as well. The same can be said for Student t distro with parameter v = 4. So 1 is our main threshold.
We can add additional thresholds by discovering SNRs of Student t with v = 3 and v = 5 (+- 1 from baseline v = 4). These have lighter & heavier tails each favoring mean reversion or momentum more. I computed the SNR values you see in the code with mpmath python module, with precision 256 decimals, so you can trust it I put it on my momma.
Then I use exponential smoothing with properly defined alphas (one matches cumulative WMA and another minimizes error with WMA in moving window mode) to estimate SNR of abs returns.
…
Lightweight huh?
∞
Volatility BandsThe Volatility Bands script is a custom indicator designed to help traders visualize volatility levels in the market. It calculates dynamic bands around a central moving average, providing insights into potential support and resistance levels based on recent price action.
The script calculates multiple volatility bands (u0, u1, u2, d0, d1, d2) that adjust based on recent price movements. The outer bands (u2 and d2) represent extreme volatility levels, while the inner bands (u0, u1, d0, d1) indicate more immediate support and resistance.
Look for price reactions at the band levels. A touch of the upper bands may indicate overbought conditions, while a touch of the lower bands may indicate oversold conditions.
Central Moving Average: A smoothed moving average that adapts to price changes, providing a clear trend direction.
The script has no input parameters.
Script Functions:
erf(x): Calculates the error function for a given input x. Used in the calculation of the smoothing factor for the UMA.
uma(input): Provides a smoothed average that adapts to recent price changes, reducing lag compared to traditional moving averages.
dev(input, mu): Used to calculate the volatility bands around the central moving average.
Volatility Percentile (H-LINES)A simple script that adjusts the Volatility Percentile Indicator visibly in order to better accommodate entries/exits and certain trading setups/strategies.
--------------------------------------------------------------------------------------------------------------------------------------------------------
TL;DR - Remember after a full reset, we are looking for initial crosses UP on the UpperSwingline and crosses DOWN on the LowerSwingline for primary and secondary signal derivation.
Vice versa also works great but the prior method mentioned is a little more consistent in my experience, but you should mess around and optimise this for your own setups and strategies anyway.
--------------------------------------------------------------------------------------------------------------------------------------------------------
ORIGINAL SCRIPT HERE:
^Click image for a redirect to that script.
ALL CREDIT GOES TO: www.tradingview.com
He wrote everything so give credit where it's due, good bit of kit this here script is.
--------------------------------------------------------------------------------------------------------------------------------------------------------
HOW I USE MY VISUALLY ALTERED VERSION OF THIS SCRIPT
First of all, the alterations I've made seem only to be consistently viable with renko charts though if you can get the sought after results using candles or any other chart type then perfect, but be wary. All my back-testing done only with LinReg, HMA and SWMA - ATR type settings exclusively on renko charts. The changes I've made to the original script essentially just turns it visibly into an oscillator and uses a couple horizontal lines to generate signals, very simple - absolutely nothing has changed in the actual code of calculating this indicator.
What I believe my adjustments have achieved is quite simple. A full reset/oscillation on the indicator tries to map the strongest parts of a move or at least the part of the move where volume and the rate of transactions is at its peak to even facilitate said move. *take this statement with a pinch of salt though I do believe it's interacting with accumulation/distribution patterns, which is expected of volatility*
For ease of communication let's refer to the area between the the first UpperSwingline cross to the subsequent LowerSwingline cross, as the primary move. Then afterwards when it crosses the UpperSwingline again to make the full reset, the area in between those two points referred to as the secondary move.
Though more interestingly/practically the indicator ends up giving you two signals. In order for this to work we have to first decide that a spike up in volatility which crosses the UpperSwingline implies a significant level of interest at that price level. Usually that means a reversal is brewing, if price has already moved, trended and is approaching a certain area of value; which causes a spike of new positions to be taken, then you know that this is a level where contrarians are looking to enter. Now here's the tricky part, when volatility crosses the LowerSwingline price action becomes a little more open for interpretation, the way I personally like to look at this secondary signal is the potential for an exhaustion period to prolong itself a little longer. I know that's not the perfect analysis for what's going on, a more in-depth look into what's going on would best be described using Elliott Wave Theory, if a cross on the UpperSwingline near a significant area of value gives us a reversal trade lets just assume for the sake of argument that a new Elliott Wave can begin forming here. Making the move from that initial UpperSwngline cross to the cross on the LowerSwingline, the area that encompasses those two points: the impulse wave. After this point my analogy kind of falls apart and sadly my knowledge just isn't what it needs to be in order for me to properly analyse what's going on here but I must digress. Price after crossing the LowerSwingline up until the point where it makes a full reset by crossing the UpperSwingline again, within this area price seems to do either one of two things:
Situation 1 - Most likely occurs after a major trend reversal from major support/resistance or area of value (price has trended to new territory, maybe spent time a little time consolidating but hasn't broken the key level, momentum shifts, price action breaks current structure and you get the signal that primary move is a reversal) = Exhaustion Period, price will continue in direction of primary move during the secondary move. This here is for our trend-followers, you wanna take a continuation trade? Just wait for the pullback/rally to hit a FiB retracement level and enter - or any other means to find a decent support/resistance to enter.
Situation 2 - Most likely occurs when market enters a range or consolidation (price was previously seen as being at either a discount or premium so Situation 1 could have already played out and now you're looking at a full reset after that, imagine this spot to be the centre line of a linear regression channel or bang in the middle of your range, could even occur if price breaks a key moving average and decides it ought to consolidate around it for a while. Basically at any point where a somewhat prolonged consolidation is expected and not a quick reversal) = Corrective Wave, price will move against the direction of primary move during the secondary move. Now you might be expecting me to say this ones for you reversal traders but not really, if this is occurring then there probably isn't a definitive direction the market has chosen so you can use this opportunity to take range trades in the direction or against the direction of whatever the current trend or latest trend was depending on whatever slight bias you may have. <--- Situation 2 is very useful for finding cleaner entries if you do have a trend bias, say price underwent Situation 1, is now at key moving average but your bias is that it will break and continue up, so you wait and allow the secondary move of Situation 2 to take your entry to a much better R:R before entering a position.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Volatility Trackerhi there, fellows.
this is a very simple and quite straightforward indicator.
so far the simplest we've built.
on what it does
in regard to current chart and timeframe it plots
a. Open - Close as a percentage of the Open (we regard open as more relevant than close, for as you can use latest estimates in current candle) in daily change coloring (so one may have an idea if there is a trend or sideways move unfolding)
b. High - Low as a percentage of the Open, so one may compare extreme moves with final ones in the period
c. Volume as a percentage distance from its WMA200 (always this one, a way better reference for normalcy). (e. g. a positive value x means Volume is x% above its WMA200)
on what it means
to the best of our imperfect and incomplete understanding, we believe that low volatility periods lead to high volatility periods, so one might want to enter the market in low volatility periods to enjoy wild rides afterwards. such a trade of course would be, for the sake of making sense, a long volatility one.
the timing for entrance could be once that the volatility waves fades to chart minimums.
we're open to critics, suggestions and comments.
best regards.
Full Volatility Statistics and Forecast
This is a tool designed to translate the data from the expected volatility of different assets, such as for example VIX, which measures the volatility of SP500 index.
Once get the data from the volatility asset we want to measure(for this test I have used VIX), we are going to translate it the required timeframe expected move by dividing the initial value into :
252 = if we want to use the daily timeframe, since there are ~252 aproximative daily trading days
52 = if we want to use the weekly timeframe, since there 52 trading weeks in a year
12 = if we want to use the monthly timeframe, since there are 12 months in a year
For this example I have used 252 with the daily timeframe.
In this scenario, we can see that we had 5711 total cnadles which we analysed, and in this case, we had 942 crosses, where the daily movement ended up either above or below the channel made from the opening daily candle value + expected movement from the volatility, giving as a total of 16.5% of occurances that volatility was higher than expected, and in 83.5% of the times, we can see that the price stayed within our channel.
At the same time, we can see that we had 6 max losses in a row ( OUT) AND 95 max wins in a row (IN), and at the same time in those moments when the volatility crosses happen we had a 0.51% avg movements when the top crossed happened, and 0.67% avg movements when the bot happened.
Lastly on the second part of the panel, we had E which means the expected movement of today, for example it has 61.056$ , so lets say price opened on 4083, our top is 4083 + 61 and our bot is 4083 - 61 ( giving us the daily channel). At continuation we can see that overall the avg bull candle os 0.714% and avg bear candle was 0.805% .
I hope this tool will help you with your future analysis and trades !
If you have any questions please let me know !






















