Crypto Price Volatility Range# Cryptocurrency Price Volatility Range Indicator
This TradingView indicator is a visualization tool for tracking historical volatility across multiple major cryptocurrencies.
## Features
- Real-time volatility tracking for 14 major cryptocurrencies
- Customizable period and standard deviation multiplier
- Individual color coding for each currency pair
- Optional labels showing current volatility values in percentage
## Supported Cryptocurrencies
- Bitcoin (BTC)
- Ethereum (ETH)
- Avalanche (AVAX)
- Dogecoin (DOGE)
- Hype (HYPE)
- Ripple (XRP)
- Binance Coin (BNB)
- Cardano (ADA)
- Tron (TRX)
- Chainlink (LINK)
- Shiba Inu (SHIB)
- Toncoin (TON)
- Sui (SUI)
- Stellar (XLM)
## Settings
- **Period**: Timeframe for volatility calculation (default: 20)
- **Standard Deviation Multiplier**: Multiplier for standard deviation (default: 1.0)
- **Show Labels**: Toggle label display on/off
## Calculation Method
The indicator calculates volatility using the following method:
1. Calculate daily logarithmic returns
2. Compute standard deviation over the specified period
3. Annualize (multiply by √252)
4. Convert to percentage (×100)
## Usage
1. Add the indicator to your TradingView chart
2. Adjust parameters as needed
3. Monitor volatility lines for each cryptocurrency
4. Enable labels to see precise current volatility values
## Notes
- This indicator displays in a separate window, not as an overlay
- Volatility values are annualized
- Data for each currency pair is sourced from USD pairs
Историческая волатильность
Ultimate Volatility RateUltimate Volatility Rate
This indicator measures the volatility of price movements.
Support and Resistance Identification:
High volatility periods indicate larger price movements, which can be useful in assessing the potential for support and resistance levels to be broken.
Stop Loss (SL) and Take Profit (TP) Calculations:
The average volatility can be used to calculate dynamic Stop Loss (SL) and Take Profit (TP) levels:
SL: Placing it at a certain volatility multiplier below/above the entry price.
TP: Setting it at a certain volatility multiplier below/above the entry price.
For example:
SL: Entry price +/- (UVR × 1.5)
TP: Entry price +/- (UVR × 2)
Market Condition Analysis:
When the indicator value is high, it suggests that the market is volatile (active).
When the value is low, it indicates the market is in consolidation (sideways movement).
This information helps traders decide whether to take trend-following or consolidation-based positions.
Trend Reversal Monitoring:
A sudden increase in volatility often signals the start of a strong trend.
Conversely, a decrease in volatility can signal the slowing down or end of a trend.
Bayesian Price Projection Model [Pinescriptlabs]📊 Dynamic Price Projection Algorithm 📈
This algorithm combines **statistical calculations**, **technical analysis**, and **Bayesian theory** to forecast a future price while providing **uncertainty ranges** that represent upper and lower bounds. The calculations are designed to adjust projections by considering market **trends**, **volatility**, and the historical probabilities of reaching new highs or lows.
Here’s how it works:
🚀 Future Price Projection
A dynamic calculation estimates the future price based on three key elements:
1. **Trend**: Defines whether the market is predisposed to move up or down.
2. **Volatility**: Quantifies the magnitude of the expected change based on historical fluctuations.
3. **Time Factor**: Uses the logarithm of the projected period (`proyeccion_dias`) to adjust how time impacts the estimate.
🧠 **Bayesian Probabilistic Adjustment**
- Conditional probabilities are calculated using **Bayes' formula**:
\
This models future events using conditional information:
- **Probability of reaching a new all-time high** if the price is trending upward.
- **Probability of reaching a new all-time low** if the price is trending downward.
- These probabilities refine the future price estimate by considering:
- **Higher volatility** increases the likelihood of hitting extreme levels (highs/lows).
- **Market trends** influence the expected price movement direction.
🌟 **Volatility Calculation**
- Volatility is measured using the **ATR (Average True Range)** indicator with a 14-period window. This reflects the average amplitude of price fluctuations.
- To express volatility as a percentage, the ATR is normalized by dividing it by the closing price and multiplying it by 200.
- Volatility is then categorized into descriptive levels (e.g., **Very Low**, **Low**, **Moderate**, etc.) for better interpretation.
---
🎯 **Deviation Limits (Upper and Lower)**
- The upper and lower limits form a **projected range** around the estimated future price, providing a framework for uncertainty.
- These limits are calculated by adjusting the ATR using:
- A user-defined **multiplier** (`factor_desviacion`).
- **Bayesian probabilities** calculated earlier.
- The **square root of the projected period** (`proyeccion_dias`), incorporating the principle that uncertainty grows over time.
🔍 **Interpreting the Model**
This can be seen as a **dynamic probabilistic model** that:
- Combines **technical analysis** (trends and ATR).
- Refines probabilities using **Bayesian theory**.
- Provides a **visual projection range** to help you understand potential future price movements and associated uncertainties.
⚡ Whether you're analyzing **volatile markets** or confirming **bullish/bearish scenarios**, this tool equips you with a robust, data-driven approach! 🚀
Español :
📊 Algoritmo de Proyección de Precio Dinámico 📈
Este algoritmo combina **cálculos estadísticos**, **análisis técnico** y **la teoría de Bayes** para proyectar un precio futuro, junto con rangos de **incertidumbre** que representan los límites superior e inferior. Los cálculos están diseñados para ajustar las proyecciones considerando la **tendencia del mercado**, **volatilidad** y las probabilidades históricas de alcanzar nuevos máximos o mínimos.
Aquí se explica su funcionamiento:
🚀 **Proyección de Precio Futuro**
Se realiza un cálculo dinámico del precio futuro estimado basado en tres elementos clave:
1. **Tendencia**: Define si el mercado tiene predisposición a subir o bajar.
2. **Volatilidad**: Determina la magnitud del cambio esperado en función de las fluctuaciones históricas.
3. **Factor de Tiempo**: Usa el logaritmo del período proyectado (`proyeccion_dias`) para ajustar cómo el tiempo afecta la estimación.
🧠 **Ajuste Probabilístico con la Teoría de Bayes**
- Se calculan probabilidades condicionales mediante la fórmula de **Bayes**:
\
Esto permite modelar eventos futuros considerando información condicional:
- **Probabilidad de alcanzar un nuevo máximo histórico** si el precio sube.
- **Probabilidad de alcanzar un nuevo mínimo histórico** si el precio baja.
- Estas probabilidades ajustan la estimación del precio futuro considerando:
- **Mayor volatilidad** aumenta la probabilidad de alcanzar niveles extremos (máximos/mínimos).
- **La tendencia del mercado** afecta la dirección esperada del movimiento del precio.
🌟 **Cálculo de Volatilidad**
- La volatilidad se mide usando el indicador **ATR (Average True Range)** con un período de 14 velas. Este indicador refleja la amplitud promedio de las fluctuaciones del precio.
- Para obtener un valor porcentual, el ATR se normaliza dividiéndolo por el precio de cierre y multiplicándolo por 200.
- Además, se clasifica esta volatilidad en categorías descriptivas (e.g., **Muy Baja**, **Baja**, **Moderada**, etc.) para facilitar su interpretación.
🎯 **Límites de Desviación (Superior e Inferior)**
- Los límites superior e inferior representan un **rango proyectado** en torno al precio futuro estimado, proporcionando un marco para la incertidumbre.
- Estos límites se calculan ajustando el ATR según:
- Un **multiplicador** definido por el usuario (`factor_desviacion`).
- Las **probabilidades condicionales** calculadas previamente.
- La **raíz cuadrada del período proyectado** (`proyeccion_dias`), lo que incorpora el principio de que la incertidumbre aumenta con el tiempo.
---
🔍 **Interpretación del Modelo**
Este modelo se puede interpretar como un **modelo probabilístico dinámico** que:
- Integra **análisis técnico** (tendencias y ATR).
- Ajusta probabilidades utilizando **la teoría de Bayes**.
- Proporciona un **rango de proyección visual** para ayudarte a entender los posibles movimientos futuros del precio y su incertidumbre.
⚡ Ya sea que estés analizando **mercados volátiles** o confirmando **escenarios alcistas/bajistas**, ¡esta herramienta te ofrece un enfoque robusto y basado en datos! 🚀
Volatility % (Standard Deviation of Returns)This script takes closing prices of candles to measure the Standard Deviation (σ) which is then used to calculate the volatility by taking the stdev of the last 30 candles and multiplying it by the root of the trading days in a year, month and week. It then multiplies that number by 100 to show a percentage.
Default settings are annual volatility (252 candles, red), monthly volatility (30 candles, blue) and weekly volatility (5 candles, green) if you use daily candles. It is open source so you can increase the number of candles with which the stdev is calculated, and change the number of the root that multiplies the stdev.
Z Value AlertZ Value Alert analyzes daily price movements by evaluating fluctuations relative to historical volatility. It calculates the daily percentage change in the closing price, the average of this change over 252 days, and the standard deviation. Using these values, a Z-Score is calculated, indicating how much the current price change deviates from the historical range of fluctuations.
The user can set a threshold in standard deviations (Z-Score). When the absolute Z-Score exceeds this threshold, a significant movement is detected, indicating increased volatility. The Z-Score is visualized as a histogram, and an alert can be triggered when a significant movement occurs.
The number of trading days used to calculate historical volatility is adjustable, allowing the Sigma Move Alert to be tailored to various trading strategies and analysis periods.
Additionally, a dropdown option for the calculation method is available in the input menu, allowing the user to select between:
Normal: Calculates the percentage change in closing prices without using the logarithm.
Logarithmic: Uses the natural logarithm of daily returns. This method is particularly suitable for longer timeframes and scientific analyses, as logarithmic returns are additive.
These comprehensive features allow for precise customization of the Sigma Move Alert to individual needs and specific market conditions.
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.
Relative VolatilityRelative Volatility is a technical indicator designed to assess changes in market volatility by comparing fast and slow Average True Range (ATR) values. It operates by subtracting a slower ATR (e.g., 50-period ATR) from a faster ATR (e.g., 20-period ATR) and visualizing the result as a histogram. This enables traders to determine whether volatility is increasing or decreasing over time.
This indicator can help traders recognize volatility trends, which can inform decisions related to trade entries, exits, and risk management.
Interpreting Volatility Changes
Increasing Volatility: When the histogram is above zero, it indicates that the fast ATR is greater than the slow ATR, signifying an increase in short-term volatility compared to the long-term average. This may suggest heightened market activity and potential trading opportunities.
Decreasing Volatility: When the histogram is below zero, it shows that the fast ATR is less than the slow ATR, indicating a decrease in short-term volatility relative to the long-term average. This may suggest consolidating markets or reduced trading activity.
Relative Volatility assists traders in monitoring and analyzing changes in market volatility, providing insights that can enhance trading strategies and decision-making processes.
Standard Deviation based Upper Lower RangeThis script makes use of historical data for finding the standard deviation on daily returns. Based on the mean and standard deviation, the upper and lower range for the stock is shown upto 2x standard deviation. These bounds can be treated as volatility range for the next n trading sessions. This volatility is based on historical data. Users can change the lookback historical period, and can also set the time period (days) for upcoming trading sessions.
This indicator can be useful in determining stoploss and target levels along with the traditional support/resistance levels. It can also be useful in option trading where one needs to determine a range beyond which it is safe to sell an option.
A range of 1 SD has around 65% to 68% probability that it will not be breached. A range of 2 SD has around 95% probability that it will not be breached.
The indicator is based on Normal distribution theory. In future editions, I envision to also calculate the skewness and kurtosis so that we can determine if a stock is properly following Normal Distribution theory. That may further favor the calculated range.
Historical Volatility (adjustable time period)Historical Volatility with Adjustable Time Period and Moving Average
This indicator calculates the historical volatility of an asset within a user-defined date range. Volatility is a measure of the dispersion of returns and is commonly used to assess the risk and potential price fluctuations of an asset.
How It Works
User-Defined Date Range: You can specify the start and end dates to focus on a particular period for volatility calculation. This is useful for analyzing specific historical events or trends within a defined timeframe.
Daily Returns Calculation: The script calculates the daily returns as the percentage change between the current close price and the previous close price. This percentage change is essential for determining the asset's volatility.
Volatility Calculation: The historical volatility is computed as the standard deviation of the daily returns over a specified period. The standard deviation is a statistical measure that quantifies the amount of variation or dispersion in a set of values.
Moving Average: An optional feature allows you to plot a moving average of the volatility. You can customize the type (SMA, EMA, WMA, VWMA) and the period of the moving average, helping to smooth out the volatility data and identify trends.
Indicator Settings
Start Date: Select the beginning date of the period for which you want to calculate volatility.
End Date: Select the end date of the period.
Period: Set the number of bars (days) over which to calculate the average volatility.
Show Moving Average: Toggle to display the moving average of the volatility.
Moving Average Period: Define the length of the moving average.
Moving Average Type: Choose the type of moving average: Simple (SMA), Exponential (EMA), Weighted (WMA), or Volume-Weighted (VWMA).
How to Use
Configure Date Range: Set the start and end dates to focus on the specific historical period you are interested in.
Adjust Period for Volatility Calculation: Select the period over which you want to calculate the average volatility. A shorter period will be more sensitive to recent price changes, while a longer period will provide a more smoothed view.
Enable and Configure Moving Average: If desired, enable the moving average and select the type and period that best fits your analysis style.
Example Use Cases
Market Analysis: Identify periods of high or low volatility to assess market conditions.
Risk Management: Use historical volatility to evaluate the risk associated with a particular asset.
Event Impact: Analyze how specific events within the selected date range affected the asset's volatility.
By providing these functionalities, this indicator is a valuable tool for traders looking to understand and analyze the volatility of assets over custom time periods with the flexibility of adding a moving average for trend analysis.
IV Rank Oscillator by dinvestorqShort Title: IVR OscSlg
Description:
The IV Rank Oscillator is a custom indicator designed to measure and visualize the Implied Volatility (IV) Rank using Historical Volatility (HV) as a proxy. This indicator helps traders determine whether the current volatility level is relatively high or low compared to its historical levels over a specified period.
Key Features :
Historical Volatility (HV) Calculation: Computes the historical volatility based on the standard deviation of logarithmic returns over a user-defined period.
IV Rank Calculation: Normalizes the current HV within the range of the highest and lowest HV values over the past 252 periods (approximately one year) to generate the IV Rank.
IV Rank Visualization: Plots the IV Rank, along with reference lines at 50 (midline), 80 (overbought), and 20 (oversold), making it easy to interpret the relative volatility levels.
Historical Volatility Plot: Optionally plots the Historical Volatility for additional reference.
Usage:
IV Rank : Use the IV Rank to assess the relative level of volatility. High IV Rank values (close to 100) indicate that the current volatility is high relative to its historical range, while low IV Rank values (close to 0) indicate low relative volatility.
Reference Lines: The overbought (80) and oversold (20) lines help identify extreme volatility conditions, aiding in trading decisions.
Example Use Case:
A trader can use the IV Rank Oscillator to identify potential entry and exit points based on the volatility conditions. For instance, a high IV Rank may suggest a period of high market uncertainty, which could be a signal for options traders to consider strategies like selling premium. Conversely, a low IV Rank might indicate a more stable market condition.
Parameters:
HV Calculation Length: Adjustable period length for the historical volatility calculation (default: 20 periods).
This indicator is a powerful tool for options traders, volatility analysts, and any market participant looking to gauge market conditions based on historical volatility patterns.
FOMO Alert (Miu)This indicator won't plot anything to the chart.
Please follow steps below to set your alarms based on price range variation:
1) Add indicator to the chart
2) Go to settings
3) Choose timeframe which will be used to calculate bars
4) Choose how many bars which will be used to calculate max and min range
5) Choose max and min range variation (%) to trigger alerts
5) Choose up to 6 different symbols to get alert notification
6) Once all is set go back to the chart and click on 3 dots to set alert in this indicator, rename your alert and confirm
7) You can remove indicator after alert is set and it'll keep working as expected
What does this indicator do?
This indicator will generate alerts based on following conditions:
- If min and max prices reach the range (%) from amount of bars on timeframe set for any symbol checked it will trigger an alert.
- If next set of bars reaches higher range than before it will trigger an alert with new data
- If next set of bars doesn't reach higher range than before it will not trigger alerts, even if they are above the range set (this is to prevent the alert to keep triggering with high frequency)
Once condition is met it will send an alert with the following information:
- Symbol name (e.g: BTC, ETH, LTC)
- Range achieved (e.g: 3,03%)
- Current symbol price and current bar direction (e.g: 63,477.1 ▲)
This script will request lowest and highest prices through request.security() built-in function from all different symbols within the range set. It also requests symbols' price (close) and amount of digits (mintick) for each symbol to send alerts with correct value.
This script was developed with main purpose to send alerts when there are strong price movements and I decided to share with community so anyone can set different parameters for different purposes.
Feel free to give feedbacks on comments section below.
Enjoy!
Custom spreadThis indictor allows you to plot the spread over an arbitrary period, which can be especially useful for futures and other instruments.
Inputs:
Expression : symbols for calculation and arithmetic operation
Period: from to period and timeframe
The output will show bars for the given period
Particularly useful for comparing two selected contracts on two futures
Realized volatility differentialAbout
This is a simple indicator that takes into account two types of realized volatility: Close-Close and High-Low (the latter is more useful for intraday trading).
The output of the indicator is two values / plots:
an average of High-Low volatility minus Close-Close volatility (10day period is used as a default)
the current value of the indicator
When the current value is:
lower / below the average, then it means that High-Low volatility should increase.
higher / above then obviously the opposite is true.
How to use it
It might be used as a timing tool for mean reversion strategies = when your primary strategy says a market is in mean reversion mode, you could use it as a signal for opening a position.
For example: let's say a security is in uptrend and approaching an important level (important to you).
If the current value is:
above the average, a short position can be opened, as High-Low volatility should decrease;
below the average, a trend should continue.
Intended securities
Futures contracts
Scalper's Volatility Filter [QuantraSystems]Scalpers Volatility Filter
Introduction
The 𝒮𝒸𝒶𝓁𝓅𝑒𝓇'𝓈 𝒱𝑜𝓁𝒶𝓉𝒾𝓁𝒾𝓉𝓎 𝐹𝒾𝓁𝓉𝑒𝓇 (𝒮𝒱𝐹) is a sophisticated technical indicator, designed to increase the profitability of lower timeframe trading.
Due to the inherent decrease in the signal-to-noise ratio when trading on lower timeframes, it is critical to develop analysis methods to inform traders of the optimal market periods to trade - and more importantly, when you shouldn’t trade.
The 𝒮𝒱𝐹 uses a blend of volatility and momentum measurements, to signal the dominant market condition - trending or ranging.
Legend
The 𝒮𝒱𝐹 consists of a signal line that moves above and below a central zero line, serving as the indication of market regime.
When the signal line is positioned above zero, it indicates a period of elevated volatility. These periods are more profitable for trading, as an asset will experience larger price swings, and by design, trend-following indicators will give less false signals.
Conversely, when the signal line moves below zero, a low volatility or mean-reverting market regime dominates.
This distinction is critical for traders in order to align strategies with the prevailing market behaviors - leveraging trends in volatile markets and exercising caution or implementing mean-reversion systems in periods of lower volatility.
Case Study
Here we can see the indicator's unique edge in action.
Out of the four potential long entries seen on the chart - displayed via bar coloring, two would result in losses.
However, with the power of the 𝒮𝒱𝐹 a trader can effectively filter false signals by only entering momentum-trades when the signal line is above zero.
In this small sample of four trades, the 𝒮𝒱𝐹 increased the win rate from 50% to 100%
Methodology
The methodology behind the 𝒮𝒱𝐹 is based upon three components:
By calculating and contrasting two ATR’s, the immediate market momentum relative to the broader, established trend is calculated. The original method for this can be credited to the user @xinolia
A modified and smoothed ADX indicator is calculated to further assess the strength and sustainability of trends.
The ‘Linear Regression Dispersion’ measures price deviations from a fitted regression line, adding further confluence to the signals representation of market conditions.
Together, these components synthesize a robust, balanced view of market conditions, enabling traders to help align strategies with the prevailing market environment, in order to potentially increase expected value and win rates.
Z-score changeAs a wise man once said that:
1. beginners think in $ change
2. intermediates think in % change
3. pros think in Z change
Here is the "Z-score change" indicator that calculates up/down moves normalized by standard deviation (volatility) displayed as bar chart with 1,2 and 3 stdev levels.
GARCH Volatility Estimation - The Quant ScienceThe GARCH (Generalized Autoregressive Conditional Heteroskedasticity) model is a statistical model used to forecast the volatility of a financial asset. This model takes into account the fluctuations in volatility over time, recognizing that volatility can vary in a heteroskedastic (i.e., non-constant variance) manner and can be influenced by past events.
The general formula of the GARCH model is:
σ²(t) = ω + α * ε²(t-1) + β * σ²(t-1)
where:
σ²(t) is the conditional variance at time t (i.e., squared volatility)
ω is the constant term (intercept) representing the baseline level of volatility
α is the coefficient representing the impact of the squared lagged error term on the conditional variance
ε²(t-1) is the squared lagged error term at the previous time period
β is the coefficient representing the impact of the lagged conditional variance on the current conditional variance
In the context of financial forecasting, the GARCH model is used to estimate the future volatility of the asset.
HOW TO USE
This quantitative indicator is capable of estimating the probable future movements of volatility. When the GARCH increases in value, it means that the volatility of the asset will likely increase as well, and vice versa. The indicator displays the relationship of the GARCH (bright red) with the trend of historical volatility (dark red).
USER INTERFACE
Alpha: select the starting value of Alpha (default value is 0.10).
Beta: select the starting value of Beta (default value is 0.80).
Lenght: select the period for calculating values within the model such as EMA (Exponential Moving Average) and Historical Volatility (default set to 20).
Forecasting: select the forecasting period, the number of bars you want to visualize data ahead (default set to 30).
Design: customize the indicator with your preferred color and choose from different types of charts, managing the design settings.
VIX Dashboard [NariCapitalTrading]Overview
This VIX Dashboard is designed to provide traders with a quick visual reference into the current volatility and trend direction of the market as measured by CBOE VIX. It uses statistical measures and indicators including Rate of Change (ROC), Average True Range (ATR), and simple moving averages (SMA) to analyze the VIX.
Components
ATR Period : The ATR Period is used to calculate the Average True Range. The default period set is 24.
Trend Period : This period is used for the Simple Moving Average (SMA) to determine the trend direction. The default is set to 48.
Speed Up/Down Thresholds : These thresholds are used to determine significant increases or decreases in the VIX’s rate of change, signaling potential market volatility spikes or drops. These are customizable in the input section.
VIX Data : The script fetches the closing price of the VIX from a specified source (CBOE:VIX) with a 60-minute interval.
Rate of Change (ROC) : The ROC measures the percentage change in price from one period to the next. The script uses a default period of 20. The period can be customized in the input section.
VIX ATR : This is the Average True Range of the VIX, indicating the daily volatility level.
Trend Direction : Determined by comparing the VIX data with its SMA, indicating if the trend is up, down, or neutral. The trend direction can be customized in the input section.
Dashboard Display : The script creates a table on the chart that dynamically updates with the VIX ROC, ATR, trend direction, and speed.
Calculations
VIX ROC : Calculated as * 100
VIX ATR : ATR is calculated using the 'atrPeriod' and is a measure of volatility.
Trend Direction : Compared against the SMA over 'trendPeriod'.
Trader Interpretation
High ROC Value : Indicates increasing volatility, which could signal a market turn or increased uncertainty.
High ATR Value : Suggests high volatility, often seen in turbulent market conditions.
Trend Direction : Helps in understanding the overall market sentiment and trend.
Speed Indicators : “Mooning” suggests rapid increase in volatility, whereas “Cratering” indicates a rapid decrease.
The interpretation of these indicators should be combined with other market analysis tools for best results.
Market Pivot Levels [Past & Live]Market Levels provide a robust view of daily pivot points of markets such as high/low/close with both past and live values shown at the same time using the recently updated system of polylines of pinescript.
The main need for this script arose from not being able to use plots for daily points because plots are inherently once drawn can't be erased and because we can't plot stuff for previous bars after values are determined we can't use them reliably. And while we can use traditional lines, because we would have extremely high amount of lines and we would have to keep removing the previous ones it wouldn't be that effective way for us. So we try to do it with the new method of polylines .
Features of this script:
- Daily High/Low Points
- Yesterday High/Low/Close Points
- Pre-Market High-Low points.
Now let's preview some of the important points of code and see how we achieve this:
With the code below we make sure no matter which chart we are using we are getting the extended hours version of sessions so our calculations are made safely for viewing pre-market conditions.
// Let's get ticker extended no matter what the current chart is
tc = ticker.new(syminfo.prefix, syminfo.ticker, session.extended)
Coding our own function to calculate high's and low's because inbuilt pinescript function cannot take series and we send this function to retrieve our high's and lows.
// On the fly function to calculate daily highlows instead of tv inbuilt because tv's length cannot take series
f_highlow(int last) =>
bardiff = last
float _low = low, float _high = high
for i = bardiff to 0 by 1
if high > _high
_high := high
if low < _low
_low := low
With doing calculations at the bars of day ending points we can retrieve the correct points and values and push them for our polylines array so it can be used in best way possible.
// Daily change points
changeD = timeframe.change("D")
// When new day starts fill polyline arrays with previous day values for polylines to draw on chart
// We also update prevtime values with current ones after we pushed to the arrays
if changeD
f_arrFill(cpArrHigh, cpArrLow, prevArrh, prevArrl, prevArrc, prevMarh, prevMarl)
valHolder.unshift(valueHold.new(_high, _low, _high, _close, _low, time, pr_h, pr_l))
The rest of the code is annotated and commented. You can let me know in comments if you have any questions. Happy trading.
Monthly beta (5Y monthly) with multi-timeframe supportThe PROPER way to calculate beta for a stock using monthly price returns . None of this nonsense using daily returns and sliding windows as done by other scripts...
Works on any timeframe.
This script has been checked against 100s of stocks on Yahoo finance and Zacks research data and matches 100% (some rounding error as this script is kept updated live on unconfirmed monthly bars).
You can check for yourself:
Zacks fundamentals - beta
The script calculates beta using the Variance-Covariance Method as described on Investopedia
How to calculate Beta
Percentage Range Consolidation HistogramThe Percentage Range Consolidation histogram is a measure of volatility, ranking current price range compared to past ranges.
🟩 USAGE
Here there are 2 heavy contractions of price shown on chart that lead to a big rally. Shows a possible way to approach trading this. Take into account that this is for illustration purposes only and these entry methods have not been tested for long term profitability.
Same price behaviour.
🟩 CALCULATION
The script will use 3 different ranges all configurable by the user to check for low volatility on different zone lengths . On default zone 1 will be 10 period, 2 will be 30 period and 3 is 50 periods long.
It will then measure the percentage these ranges have from top (highest close) to bottom (lowest close) and plot those numbers as 3 gray histograms.
For each of these histograms separately it will use 'percentage zone PNR Length setting' as a lookback to rank current zone percentage compared to past results.
How it will do that is using the 'percentage zone PNR % setting' it will draw a line using ta.percentile_nearest_rank() formula. At default this is 20% meaning that only 20% of lookback values where below this level.
When the histogram is below this white line (small range compared to past ranges) it will color the histogram. Yellow for zone 1, orange for zone 2 and blue for zone 3.
There is also a 'Percentage zone % filter' which you can use as a maximum % current zone for it to be considered a small range. On default this is set to 15%. You can turn this off by selecting 'median' as 'Consolidation filters' instead of 'all' . Or only use this by selecting 'percentage'
🟩 BAR COLORING
Now that you understand how to find small ranges (contractions of price) with the indicator there is a bar coloring option in the indicator.
You can select how many of the 3 zones have to be ranging for it to color the bar. On default this is set to 3 so the script will only color when price is in a very small range. As illustrated by the above charts these can lead to the beginnings of big trends.
Intraday Volatility BarsThis script produce a volatility histrogram by bar with the current volatility overlayed.
The histogram shows cumulative average volatility over n days.
And the dots are todays cumulative volatility.
In other words, it calculates the True Range of each bar and adds it to todays value.
This script is build for intraday timeframes between one and 1440 minutes only.
I use this to show me when volatility is above/below/equal to the average volatility.
When the dots are above the histogram then it is a more volatile day, and vice versa.
Recognizing a more volatile day as early as possible can be an advantage for daytrader.
Days that start with higher volatility seems to continue to increase relative to the past few days. Or when midday volatility rises it seems to continue as well.
Happy Trading!
Volatility Price RangeThe Volatility Price Range is an overlay which estimates a price range for the next seven days and next day, based on historical volatility (already available in TradingView). The upper and lower bands are calculated as follows:
The Volatility for one week is calculated using the formula: WV = HV * √t where:
WV: one-week volatility
HV: annual volatility
√: square root
t: the time factor expressed in years
From this formula we can deduce the weekly volatility WV = HV * √(1 / 52) = HV / 7.2 where 52: weeks in a year.
The daily volatility DV = HV * √(1 / 365) = HV / 19.1 where 365: days in a year.
To calculate the lower and upper value of the bands, the weekly/daily volatility value obtained will be subtracted/added from/to the current price.
REVE Cohorts - Range Extension Volume Expansion CohortsREVE Cohorts stands for Range Extensions Volume Expansions Cohorts.
Volume is divided in four cohorts, these are depicted in the middle band with colors and histogram spikes.
0-80 percent i.e. low volumes; these get a green color and a narrow histogram bar
80-120 percent, normal volumes, these get a blue color and a narrow histogram bar
120-200 percent, high volume, these get an orange color and a wide histogram bar
200 and more percent is extreme volume, maroon color and wide bar.
All histogram bars have the same length. They point to the exact candle where the volume occurs.
Range is divided in two cohorts, these are depicted as candles above and below the middle band.
0-120 percent: small and normal range, depicted as single size, square candles
120 percent and more, wide range depicted as double size, rectangular candles.
The range candles are placed and colored according to the Advanced Price Algorithm (published script). If the trend is up, the candles are in the uptrend area, which is above the volume band, , downtrend candles below in the downtrend area. Dark blue candles depict a price movement which confirms the uptrend, these are of course in the uptrend area. In this area are also light red candles with a blue border, these depict a faltering price movement countering the uptrend. In the downtrend area, which is below the volume band, are red candles which depict a price movement confirming the downtrend and light blue candles with a red border depicting price movement countering the downtrend. A trend in the Advanced Price Algorithm is in equal to the direction of a simple moving average with the same lookback. The indicator has the same lagging.as this SMA.
Signals are placed in the vacated spaces, e.g. during an uptrend the downtrend area is vacated.
There are six signals, which arise as follows:
1 Two blue triangles up on top of each other: high or extreme volume in combination with wide range confirming uptrend. This indicates strong and effective up pressure in uptrend
2 Two pink tringles down on top of each other: high or extreme volume in combination with wide range down confirming downtrend. This indicates strong and effective down pressure in downtrend
3 Blue square above pink down triangle down: extreme volume in combination with wide range countering uptrend. This indicates a change of heart, down trend is imminent, e.g. during a reversal pattern. Down Pressure in uptrend
4 Pink square below blue triangle up: extreme volume in combination with wide range countering downtrend. This indicates a change of heart, reversal to uptrend is imminent. Up Pressure in downtrend
5 single blue square: a. extreme volume in combination with small range confirming uptrend, b. extreme volume in combination with small range countering downtrend, c. high volume in combination with wide range countering uptrend. This indicates halting upward price movement, occurs often at tops or during distribution periods. Unresolved pressure in uptrend
6 Single pink square: a extreme volume in combination with small range confirming downtrend, b extreme volume in combination with small range countering uptrend, c high volume in combination with wide range countering downtrend. This indicated halting downward price movement. Occurs often at bottoms or during accumulation periods. Unresolved pressure in downtrend.
The signals 5 and 6 are introduced to prevent flipping of signals into their opposite when the lookback is changed. Now signals may only change from unresolved in directional or vice versa. Signals 3 and 4 were introduced to make sure that all occurrences of extreme volume will result in a signal. Occurrences of wide volume only partly lead to a signal.
Use of REVE Cohorts.
This is the indicator for volume-range analyses that I always wanted to have. Now that I managed to create it, I put it in all my charts, it is often the first part I look at, In my momentum investment system I use it primarily in the layout for following open positions. It helps me a lot to decide whether to close or hold a position. The advantage over my previous attempts to create a REVE indicator (published scripts), is that this version is concise because it reports and classifies all possible volumes and ranges, you see periods of drying out of volume, sequences of falter candles, occurrences of high morning volume, warning and confirming signals.. The assessment by script whether some volume should be considered low, normal, high or extreme gives an edge over using the standard volume bars.
Settings of REVE Cohorts
The default setting for lookback is ‘script sets lookback’ I put this in my indicators because I want them harmonized, the script sets lookback according to timeframe. The tooltip informs which lookback will be set at which timeframe, you can enable a feedback label to show the current lookback. If you switch ‘script sets lookback’ off, you can set your own preferred user lookback. The script self-adapts its settings in such a way that it will show up from the very first bar of historical chart data, it adds volume starting at the fourth bar.
You can switch off volume cohorts, only range candles will show while the middle band disappears. Signals will remain if volume is present in the data. Some Instruments have no volume data, e.g. SPX-S&P 500 Index,, then only range candles will be shown.
Colors can be adapted in the inputs. Because the script calculates matching colors with more transparency it is advised to use 100 percent opacity in these settings.
Take care, Eykpunter