Rogers & Satchell Volatility EstimationFirst off, a huge thank you to the following people:
theheirophant: www.tradingview.com
alexgrover: www.tradingview.com
NGBaltic: www.tradingview.com
The Rogers & Satchell function is a volatility estimator that outperforms other estimators when the underlying follows a geometric Brownian motion with a drift (historical data mean returns different from zero). As a result, it provides a better volatility estimation when the underlying is trending. However, the Rogers & Satchell estimator does not account for jumps in price (gaps). It assumes no opening jump. The function uses the open, close, high, and low price series in its calculation and it has only one parameter, which is the period to use to estimate the volatility.
This script allows you to transform the volatility reading. The intention of this is to be able to compare volatility across different assets and timeframes. Having a relative reading of volatility also allows you to better gauge volatility within the context of current market conditions.
For the signal lie I chose a repulsion moving average to remove choppy crossovers of the estimator and the signal. This may have been a mistake, so in the near-future I might update so that the MA can be selected. Let me know if you have any opinions either way.
Want to Learn?
If you'd like the opportunity to learn Pine but you have difficulty finding resources to guide you, take a look at this rudimentary list: docs.google.com
The list will be updated in the future as more people share the resources that have helped, or continue to help, them. Follow me on Twitter to keep up-to-date with the growing list of resources.
Suggestions or Questions?
Don't even kinda hesitate to forward them to me. My (metaphorical) door is always open.
Cari dalam skrip untuk "Volatility"
30D Vs 90D Historical VolatilityVolatility equals risk for an underlying asset's price meaning bullish volatility is bearish for prices while bearish volatility is bullish. This compares 30-Day Historical Volatility to 90-Day Historical Volatility.
When the 30-Day crosses under the 90-day, this is typically when asset prices enter a bullish trend.
Conversely, When the 30-Day crosses above the 90-Day, this is when asset prices enter a bearish trend.
Peaks in volatility are bullish divergences while troughs are bearish divergences.
Up Down VolatilityThis is just experimental. I wanted the flexibility in looking at volatility and this indicator gives you several ways to do so.
I haven't figured out the best way to use this yet but I suspect that as a form of entry confirmation indicator would be best.
If you find a way this works well for you please drop me a note. It would nice know someone found a way to use it successfully!
The options available are:
* Your source can be price or the ATR.
* It allows you to separate the volatility of the bearish and bullish candles and even allows you to produce differential.
* You can choose to run the result through any one of many smoothers.
With the above options you can look at:
* The normal volatility. That is not split into bearish and bullish components.
* The bearish and bullish volatility and the difference between them.
* The relative bearish and bullish volatility and the difference between them.
The "The relative bearish and bullish" is each one divided into the source before it was split into Up and Down or low/high divided by close which should make the max value roughly around 1.
The code is structured to easily drop into a bigger system so use it as a lone indicator or add the code to some bigger project you are creating. If you do integrate it into something else then send me a note as it would be nice to know it's being well used.
Enjoy and good luck!
volatility-weighted price change divergenceEMA of intrabar-volatility-weighted price change minus EMA of price change. It puts more weights on candles that have large volatility inside, and assumes that the direction of those high-volatility candles are more meaningful than low-volatility ones. Therefore, we take the difference between the volatility-weighted price change and the regular price change and plot the EMA. The indicator may be used as a tool to find divergence and potential reversal, or hints of continuation of a strong trend. Note that this indicator can change a lot with different time frames and settings, so take care to backtest before using. Recommended settings are 15m resolution for time frames longer than 4H and 1m resolution (with 200 EMA length) for time frames below 4H. The resolution is used to find the intrabar volatility.
Historical Volatility Percentile FilterThis indicator provides a simple market regime filter for Historical Volatility. Depending on the strategy that you are using, it is useful to know how your strategy will perform at different
ranges of volatility, as this can greatly impact your performance. For instance, some of my long-only mean reversion strategies will only take trades where the volatility percentile is not extremely high, as this can often indicate fundamental changes in the security or the start of a big market correction. Some strategies may work better when volatility is higher
Feel free to use the following code along with your strategies to help improve performance and reduce the volatility of your gains in the long term.
Historical Volatility Percentile + SMAHistorical Volatility Percentile tells you the percentage of the days from the past year (252 trading days) that have lower volatility than the current volatility.
I included a simple moving average as a signal line to show you how volatile the stock is at the moment.
I have included simple colors to let you know when to enter or exit a position.
Buy when price higher than EMA & historical volatility higher than SMA
Sell when price lower than EMA & historical volatility higher than SMA
Please let me know if you would like me to publish any other indicators! I always love to hear from you guys.
Realized VolatilityRealized / Historical Volatility
Calculates historical, i.e. realized volatility of any underlying. If frequency is not the daily, but for example 6h, 30min, weeks or months, it scales the initial setting to be suitable for the different time frame.
Examples with default settings (30 day volatility, 365 days per year):
A) Frequency = Daily:
Returns 30 day historical volatility, under the assumption that there are 365 trading days in a year.
B) Frequency = 6h:
Still returns 30 day historical volatility, under the assumption that there are 365 trading days in a year. However, since 6h granularity fits 4 times in 24 hours, it rescales the look back period to rather 30*4 = 120 units to still reflect 30 day historical volatility.
Scott’s volatility histogramATR shows volatility. SMA of ATR measures the average volatility over a chosen look-back period (default 200).
Divergence of ATR and sma is represented as a histogram.
Low periods of volatility are below the zero line. High periods of volatility are above the zero line.
Average volatility over a 200 period look-back is the zero value.
[ChasinAlts] Best Volatility Indicator I hope you all enjoy this one as it does a great job at finding runners I did try to search for an example script to reference for quite a while when i first dreamt up this idea bc needed assistance implementing it. This script in particular was one that I began long ago but got put on the back-burner because I couldn't figure out how to implement the flow of logic until I came across a library titled 'Conditional Averages' and published by the “Pinecoders" account. Thus, the logic in this code is partially derived from that () . To understand what the functions/logic do in the beginning of the 'Functions'' section, you must understand how TV presents it's data through the charts.
Wether on the 1sec TF or the 1day (or ANY other), the only time TV prints a bar/candle is when a trade occurs for that asset (i.e. a change in volume). Even if Open=Close on the same candle, the candle will print with the updated price. The % of candles printed out of the TOTAL possible amount that COULD HAVE been printed is the ultimate output that’s calculated in the script. So, if the lookback setting=10min on the 1min TF and only 7 out of the last 10 candles have printed then the value will appear as 70(%). There are MANY benefits to using this method to measure volatility but its vital to recall that the indicator does nothing to provide the direction of future price movement. One thing I’ve noticed is that when a coin is just beginning it’s ascent and its move is considerably larger/longer than all the other coins OR the plots angle is very steep, it is usually the end of a move and the direction is about to abruptly reverse, continuing with it’s volatility. As volatility increases more and more the plot gets brighter and brighter…and also vise versa.
The settings are as follows:
1) which set of Kucoin’s Margin Coins to use (8 possible sets with 32 coins in each set).
2) input how many minutes ago to start counting the total printed candles from (i.e. if setting is input as 1440, count begins from exactly 24hrs(1440min) ago to present candle.
3) there are 3 different lines to choose from to be able to plot:
i. ‘Includes Open==Close’ = adds to count when bar prints but price does NOT change (=t1)
ii. ‘Does NOT include Open==Close’ = count ONLY updates upon price movement (=t2)
iii. ‘Difference’ = (( t1 - t2 ) / t1 ) *100
*** I’ve got some more great ones I will be uploading soon. Just have to create a description for them
Peace out,
- ChasinAlts
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.
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 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 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.
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