Market Flow Volatility Oscillator (AiBitcoinTrend)The Market Flow Volatility Oscillator (AiBitcoinTrend) is a cutting-edge technical analysis tool designed to evaluate and classify market volatility regimes. By leveraging Gaussian filtering and clustering techniques, this indicator provides traders with clear insights into periods of high and low volatility, helping them adapt their strategies to evolving market conditions. Built for precision and clarity, it combines advanced mathematical models with intuitive visual feedback to identify trends and volatility shifts effectively.
👽 How the Indicator Works
👾 Volatility Classification with Gaussian Filtering
The indicator detects volatility levels by applying Gaussian filters to the price series. Gaussian filters smooth out noise while preserving significant price movements. Traders can adjust the smoothing levels using sigma parameters, enabling greater flexibility:
Low Sigma: Emphasizes short-term volatility.
High Sigma: Captures broader trends with reduced sensitivity to small fluctuations.
👾 Clustering Algorithm for Regime Detection
The core of this indicator is its clustering model, which classifies market conditions into two distinct regimes:
Low Volatility Regime: Calm periods with reduced market activity.
High Volatility Regime: Intense periods with heightened price movements.
The clustering process works as follows:
A rolling window of data is analyzed to calculate the standard deviation of price returns.
Two cluster centers are initialized using the 25th and 75th percentiles of the data distribution.
Each price volatility value is assigned to the nearest cluster based on its distance to the centers.
The cluster centers are refined iteratively, providing an accurate and adaptive classification.
👾 Oscillator Generation with Slope R-Values
The indicator computes Gaussian filter slopes to generate oscillators that visualize trends:
Oscillator Low: Captures low-frequency market behavior.
Oscillator High: Tracks high-frequency, faster-changing trends.
The slope is measured using the R-value of the linear regression fit, scaled and adjusted for easier interpretation.
👽 Applications
👾 Trend Trading
When the oscillator rises above 0.5, it signals potential bullish momentum, while dips below 0.5 suggest bearish sentiment.
👾 Pullback Detection
When the oscillator peaks, especially in overbought or oversold zones, provide early warnings of potential reversals.
👽 Indicator Settings
👾 Oscillator Settings
Sigma Low/High: Controls the smoothness of the oscillators.
Smaller Values: React faster to price changes but introduce more noise.
Larger Values: Provide smoother signals with longer-term insights.
👾 Window Size and Refit Interval
Window Size: Defines the rolling period for cluster and volatility calculations.
Shorter windows: adapt faster to market changes.
Longer windows: produce stable, reliable classifications.
Disclaimer: This information is for entertainment purposes only and does not constitute financial advice. Please consult with a qualified financial advisor before making any investment decisions.
Gaussianfilter
HMA Gaussian Volatility AdjustedOverview
The "HMA Gaussian Volatility Adjusted" indicator introduces a unique combination of HMA smoothing with a Gaussian filter and two components to measure volatility (Average True Range (ATR) and Standard Deviation (SD)). This tool provides traders with a stable and accurate measure of price trends by integrating a Gaussian Filter smoothed using HMA with a customized calculation of volatility. This innovative approach allows for enhanced sensitivity to market fluctuations while filtering out short-term price noise.
Technical Composition and Calculation
The "HMA Gaussian Volatility Adjusted" indicator incorporates HMA smoothing and dynamic standard deviation calculations to build upon traditional volatility measures.
HMA & Gaussian Smoothing:
HMA Calculation (HMA_Length): The script applies a Hull Moving Average (HMA) to smooth the price data over a user-defined period, reducing noise and helping focus on broader market trends.
Gaussian Filter Calculation (Length_Gaussian): The smoothed HMA data is further refined by putting it into a Gaussian filter to incorporate a normal distribution.
Volatility Measurement:
ATR Calculation (ATR_Length, ATR_Factor): The indicator incorporates the Average True Range (ATR) to measure market volatility. The user-defined ATR multiplier is applied to this value to calculate upper and lower trend bands around the Gaussian, providing a dynamic measure of potential price movement based on recent volatility.
Standard Deviation Calculation (SD_Length): The script calculates the standard deviation of the price over a user-defined length, providing another layer of volatility measurement. The upper and lower standard deviation bands (SDD, SDU) act as additional indicators of price extremes.
Momentum Calculation & Scoring
When the indicator signals SHORT:
Diff = Price - Upper Boundary of the Standard Deviation (calculated on a Gaussian filter).
When the indicator signals LONG:
Diff = Price - Upper Boundary of the ATR (calculated on a Gaussian filter).
The calculated Diff signals how close the indicator is to changing trends. An EMA is applied to the Diff to smooth the data. Positive momentum occurs when the Diff is above the EMA, and negative momentum occurs when the Diff is below the EMA.
Trend Detection
Trend Logic: The indicator uses the calculated bands to identify whether the price is moving within or outside the standard deviation and ATR bands. Crosses above or below these bands, combined with positive/negative momentum, signals potential uptrends or downtrends, offering traders a clear view of market direction.
Features and User Inputs
The "HMA Gaussian Volatility Adjusted" script offers a variety of user inputs to customize the indicator to suit traders' styles and market conditions:
HMA Length: Allows traders to adjust the sensitivity of the HMA smoothing to control the amount of noise filtered from the price data.
Gaussian Length: Users can define the length at which the Gaussian filter is applied.
ATR Length and Multiplier: These inputs let traders fine-tune the ATR calculation, affecting the size of the dynamic upper and lower bands to adjust for price volatility.
Standard Deviation Length: Controls how the standard deviation is calculated, allowing further customization in detecting price volatility.
EMA Confluence: This input lets traders determine the length of the EMA used to calculate price momentum.
Type of Plot Setting: Allows users to determine how the indicator signal is plotted on the chart (Background color, Trend Lines, BOTH (backgroung color and Trend Lines)).
Transparency: Provides users with customization of the background color's transparency.
Color Long/Short: Offers users the option to choose their preferred colors for both long and short signals.
Summary and Usage Tips
The "HMA Gaussian Volatility Adjusted" indicator is a powerful tool for traders looking to refine their analysis of market trends and volatility. Its combination of HMA smoothing, Gaussian filtering, and standard deviation analysis provides a nuanced view of market movements by incorporating various metrics to determine direction, momentum, and volatility. This helps traders make better-informed decisions. It's recommended to experiment with the various input parameters to optimize the indicator for specific needs.
Volatility Gaussian Bands [BigBeluga]The Volatility Gaussian Bands indicator is a cutting-edge tool designed to analyze market trends and volatility with high precision. By applying a Gaussian filter to smooth price data and implementing dynamic bands based on market volatility, this indicator provides clear signals for trend direction, strength, and potential reversals. With updated volatility calculations, it enhances the accuracy of trend detection, making it a powerful addition to any trader's toolkit.
⮁ KEY FEATURES & USAGE
● Gaussian Filter Trend Bands:
The Gaussian Filter forms the foundation of this indicator by smoothing price data to reveal the underlying trend. The trend is visualized through upper and lower bands that adjust dynamically based on market volatility. These bands provide clear visual cues for traders: a crossover above the upper band indicates a potential uptrend, while a cross below the lower band signals a potential downtrend. This feature allows traders to identify trends with greater accuracy and act accordingly.
● Dynamic Trend Strength Gauges:
The indicator includes trend strength gauges positioned at the top and bottom of the chart. These gauges dynamically measure the strength of the uptrend and downtrend, based on the middle Gaussian line. Even if the trend is downward, a rising midline will cause the upward trend strength gauge to show an increase, offering a nuanced view of the market’s momentum.
Weakening of the trend:
● Fast Trend Change Indicators:
Triangles with a "+" symbol appear on the chart to signal rapid changes in trend direction. These indicators are particularly useful when the trend changes swiftly while the midline continues to grow in its previous direction. For instance, during a downtrend, if the trend suddenly shifts upward while the midline is still declining, a triangle with a "+" will indicate this quick reversal. This feature is crucial for traders looking to capitalize on rapid market movements.
● Retest Signals:
Retest signals, displayed as triangles, highlight potential areas where the price may retest the Gaussian line during a trend. These signals provide an additional layer of analysis, helping traders confirm trend continuations or identify possible reversals. The retest signals can be customized based on the trader’s preferences.
⮁ CUSTOMIZATION
● Length Adjustment:
The length of the Gaussian filter can be customized to control the sensitivity of trend detection. Shorter lengths make the indicator more responsive, while longer lengths offer a smoother, more stable trend line.
● Volatility Calculation Mode:
Traders can select from different modes (AVG, MEDIAN, MODE) to calculate the Gaussian filter, allowing for flexibility in how trends are detected and analyzed.
● Retest Signals Toggle:
Enable or disable the retest signals based on your trading strategy. This toggle allows traders to choose whether they want these additional signals to appear on the chart, providing more control over the information displayed during their analysis.
⮁ CONCLUSION
The Volatility Gaussian Bands indicator is a versatile and powerful tool for traders focused on trend and volatility analysis. By combining Gaussian-filtered trend lines with dynamic volatility bands, trend strength gauges, and rapid trend change indicators, this tool provides a comprehensive view of market conditions. Whether you are following established trends or looking to catch early reversals, the Volatility Gaussian Bands offers the precision and adaptability needed to enhance your trading strategy.
Gaussian Filter [BigBeluga]The Gaussian Filter - BigBeluga indicator is a trend-following tool that uses a Gaussian filter to smooth price data and identify directional shifts in the market. It provides dynamic signals for entering and exiting trades based on trend changes, helping traders stay aligned with the market's momentum. What sets this indicator apart is its ability to display precise entry and exit points with real-time tracking of percentage price changes, making it ideal for trend-based strategies.
SP500:
NIFTY50:
🔵 KEY FEATURES & USAGE
◉ Gaussian Filter Trend Line:
//@function GaussianFilter is used for smoothing, reducing noise, and computing derivatives of data.
//@param src (float) The source data (e.g., close price) to be smoothed.
//@param params (GaussianFilterParams) Gaussian filter parameters that include length and sigma.
//@returns (float) The smoothed value from the Gaussian filter.
gaussian_filter(float src, params) =>
var float weights = array.new_float(params.length) // Array to store Gaussian weights
total = 0.0
pi = math.pi
for i = 0 to params.length - 1
weight = math.exp(-0.5 * math.pow((i - params.length / 2) / params.sigma, 2.0))
/ math.sqrt(params.sigma * 2.0 * pi)
weights.set(i, weight)
total := total + weight
for i = 0 to params.length - 1
weights.set(i, weights.get(i) / total)
sum = 0.0
for i = 0 to params.length - 1
sum := sum + src * weights.get(i)
sum
The core functionality of the Gaussian Filter line is to show trend direction. When the trend line increases four times consecutively, it indicates an uptrend signal. Similarly, if it decreases four times in a row, it signals a downtrend. The smoothness of the filter helps traders stay on the right side of the market by filtering out noise and emphasizing the dominant trend direction.
◉ Entry and Exit Levels with Real-Time Price and Performance Data:
Each time the indicator detects a trend change, it plots an entry or exit level on the chart. For an uptrend, an entry level is marked, and for a downtrend, an exit level is plotted. These levels display the price at the time of the signal.
While the trend is ongoing, the indicator tracks the percentage change in price from the initial entry or exit signal to the current bar, updating in real-time. When a trend concludes, it displays the total percentage change from the entry or exit point to the trend's end. This feature provides valuable insights into how much the price has moved during each trend phase and allows traders to monitor the performance of each trade.
◉ Color-Coded Candlestick Representation with Trend Shift Alerts:
In addition to coloring the candlesticks based on the trend direction, the indicator also uses gray candles to highlight potential early trend shifts. For example, if the Gaussian Filter detects a downtrend but the price moves above the filter line, the candles turn gray, signaling a possible reversal or shift in momentum. Similarly, in an uptrend, if the price moves below the Gaussian Filter line, the candles turn gray as an early indication of potential bearish momentum. This visual cue helps traders stay alert to possible faster shifts in market direction, allowing for quicker decision-making.
🔵 CUSTOMIZATION
Length and Sigma for Gaussian Filter:
Adjust the length and sigma parameters to control how the Gaussian Filter smooths the price data. A longer length provides smoother trend lines, while adjusting sigma can fine-tune the level of smoothing applied.
Levels Display and Candle Coloring:
You can toggle the visibility of entry and exit levels as well as enable or disable the dynamic coloring of candlesticks based on the trend direction. The additional gray color setting provides an extra layer of information, allowing you to spot potential trend reversals early.
🔵 CONCLUSION
The Gaussian Filter indicator is a powerful tool for identifying and following market trends. By providing clear entry and exit signals, along with real-time tracking of price changes, it gives traders a structured way to manage trades and monitor performance. The color-coded candles, including gray to highlight possible trend shifts, add another dimension to visualizing market dynamics. The added flexibility of customizing colors and trend levels makes it a versatile indicator suitable for both trend-following and reversal strategies.
Shadow Range IndexShadow Range Index (SRI) introduces a new concept to calculate momentum, shadow range.
What is range?
Traditionally, True Range (TR) is the current high minus the current low of each bar in the timeframe. This is often used successfully on its own in indicators, or as a moving average in ATR (Average True Range).
To calculate range, SRI uses an innovative calculation of current bar range that also considers the previous bar. It calculates the difference between its maximum upward and maximum downward values over the number of bars the user chooses (by adjusting ‘Range lookback’).
What is shadow range?
True Range (TR) uses elements in its calculation (the highs and lows of the bar) that are also visible on the chart bars. Shadow range does not, though.
SRI calculates shadow range in a similar formula to range, except that this time it works out the difference between the minimum upward and minimum downward movement. This movement is by its nature less than the maximums, hence a shadow of it. Although more subtle, shadow range is significant, because it is quantifiable, and goes in one direction or another.
Finally, SRI smoothes shadow range and plots it as a histogram, and also smoothes and plots range as a signal line. Useful up and down triangles show trend changes, which optionally colour the chart bars.
Here’s an example of a long trade setup:
In summary, Shadow Range Index identifies and traces maximum and minimum bar range movement both up and down, and plots them as centred oscillators. The dynamics between the two can provide insights into the chart's performance and future direction.
Credit to these authors, whose MA or filters form part of this script:
@balipour - Super Smoother MA
@cheatcountry - Hann window smoothing
@AlgoAlpha - Gaussian filter
Strategy Myth-Busting #12 - OSGFC+SuperTrend - [MYN]This is part of a new series we are calling "Strategy Myth-Busting" where we take open public manual trading strategies and automate them. The goal is to not only validate the authenticity of the claims but to provide an automated version for traders who wish to trade autonomously.
Our 12th one is an automated version of the "The Most Powerful Tradingview Buy Sell Signal Indicator " strategy from "Power of Trading" who doesn't make any official claims but watching how he trades with this, it on the surface looked promising. The strategy author uses this on the 15 min strategy on mostly FOREX. Unfortunately as indicated by the backtest results below, we were not able to substantiate any good positive trading metrics from this, be it Profit, Markdown, Num Of Trades etc. This does seem to do okay with some entries but perhaps adding another indicator to this to filter out more noise might make it better. At least how this strategy is presented now, this is not something I recommend anyone use.
This strategy uses a combination of 2 open-source public indicators:
SuperTrend by TradingView Internal
One-Sided Gaussian Filter w/ Channels By Loxx
The SuperTrend indicator and the One-Sided Gaussian Filter complement each other by providing a more complete and accurate picture of market trends. The SuperTrend indicator is used to identify trends. It does this by calculating a moving average of the underlying securities price and then comparing the current price to the moving average. When the current price is above the moving average, the trend is considered bullish, and when it is below, the trend is considered bearish.
The One-Sided Gaussian Filter is a mathematical tool that is used to smooth out fluctuations in financial data. It does this by removing random noise from the data, making it easier to identify patterns and trends.
When the SuperTrend indicator is used in conjunction with the One-Sided Gaussian Filter, the smoothed price data generated by the filter is used as the input for the SuperTrend calculation. This provides a more accurate representation of market trends and helps to eliminate false signals generated by short-term price movements. As a result, the SuperTrend indicator is able to more accurately identify the underlying trend in the market and provide traders with a cleaner and more reliable signal to act upon.
In summary, the SuperTrend indicator and the One-Sided Gaussian Filter complement each other by providing a more accurate and reliable representation of market trends, resulting in improved performance for traders.
If you know of or have a strategy you want to see myth-busted or just have an idea for one, please feel free to message me.
Trading Rules
15 min candles
FOREX or Crypto
Stop loss at swing high/low | 1.5 risk/ratio
Long Condition
SuperTrend and OSGFC generate buy signal
Close Buy on Gaussian generating a sell signal
Short Condition
SuperTrend and OSGFC generate sell signal
Close Buy on Gaussian generating a buy signal
STD-Filtered, N-Pole Gaussian Filter [Loxx]This is a Gaussian Filter with Standard Deviation Filtering that works for orders (poles) higher than the usual 4 poles that was originally available in Ehlers Gaussian Filter formulas. Because of that, it is a sort of generalized Gaussian filter that can calculate arbitrary (order) pole Gaussian Filter and which makes it a sort of a unique indicator. For this implementation, the practical mathematical maximum is 15 poles after which the precision of calculation is useless--the coefficients for levels above 15 poles are so high that the precision loss actually means very little. Despite this maximal precision utility, I've left the upper bound of poles open-ended so you can try poles of order 15 and above yourself. The default is set to 5 poles which is 1 pole greater than the normal maximum of 4 poles.
The purpose of the standard deviation filter is to filter out noise by and by default it will filter 1 standard deviation. Adjust this number and the filter selections (price, both, GMA, none) to reduce the signal noise.
What is Ehlers Gaussian filter?
This filter can be used for smoothing. It rejects high frequencies (fast movements) better than an EMA and has lower lag. published by John F. Ehlers in "Rocket Science For Traders".
A Gaussian filter is one whose transfer response is described by the familiar Gaussian bell-shaped curve. In the case of low-pass filters, only the upper half of the curve describes the filter. The use of gaussian filters is a move toward achieving the dual goal of reducing lag and reducing the lag of high-frequency components relative to the lag of lower-frequency components.
A gaussian filter with...
One Pole: f = alpha*g + (1-alpha)f
Two Poles: f = alpha*2g + 2(1-alpha)f - (1-alpha)2f
Three Poles: f = alpha*3g + 3(1-alpha)f - 3(1-alpha)2f + (1-alpha)3f
Four Poles: f = alpha*4g + 4(1-alpha)f - 6(1-alpha)2f + 4(1-alpha)3f - (1-alpha)4f
and so on...
For an equivalent number of poles the lag of a Gaussian is about half the lag of a Butterworth filters: Lag = N*P / pi^2, where,
N is the number of poles, and
P is the critical period
Special initialization of filter stages ensures proper working in scans with as few bars as possible.
From Ehlers Book: "The first objective of using smoothers is to eliminate or reduce the undesired high-frequency components in the eprice data. Therefore these smoothers are called low-pass filters, and they all work by some form of averaging. Butterworth low-pass filters can do this job, but nothing comes for free. A higher degree of filtering is necessarily accompanied by a larger amount of lag. We have come to see that is a fact of life."
References John F. Ehlers: "Rocket Science For Traders, Digital Signal Processing Applications", Chapter 15: "Infinite Impulse Response Filters"
Included
Loxx's Expanded Source Types
Signals
Alerts
Bar coloring
Related indicators
STD-Filtered, Gaussian Moving Average (GMA)
STD-Filtered, Gaussian-Kernel-Weighted Moving Average
One-Sided Gaussian Filter w/ Channels
Fisher Transform w/ Dynamic Zones
R-sqrd Adapt. Fisher Transform w/ D. Zones & Divs .
One-Sided Gaussian Support & Resistance Rate [Loxx]One-Sided Gaussian Support & Resistance Rate is a mean reversion oscillator much like Fisher Transform. This indicator is built using a one-sided Gaussian filter. If you pair this with Fisher Transform and line up the settings, you'll notice similar outcomes. You'll notice that as the oscillator levels out at around zero or one that this signifies a zone of resistance or support. See here for more details on calculating the OS Gaussian Filter:
Included:
Bar coloring
Signals
Alerts
Ehlers 2-Pole Super Smoothing for smoothing source inputs
One-Sided Gaussian Filter w/ Channels [Loxx]One-Sided Gaussian Filter w/ Channels is a Gaussian Moving Average that is calculated using a Fibonacci weighting function. Keltner channels have been added to show zones of exhaustion. A better name would be "Half Gaussian bell weighted" or "Half normal distribution weighted" indicator, since the weights for calculation of the average (similar to linear weighted average) are taken from a normal distribution curve like function--but only the half of the curve is used for calculation.
Information of the Gaussian distribution can be found here : en.wikipedia.org and once you take a look at the standard normal distribution curve, it will be much clearer what is exactly done in this indicator.
After the Gaussian Filter is applied to the source input, an Ehlers' 2-Pole Super Smoother is applied to reduce noise without significant lag.
Included:
Bar coloring
Signals
Alerts
Loxx's Expanded Source Types
Blackman Filter - The Smoother The BetterIntroduction
Who doesn't like smooth things? I'd like a smooth market price for christmas! But i can't get it, instead its so noisy...so you apply a filter to smooth it, such filters are called low-pass filters, they smooth and its great but they have lag, so nobody really use them, but they are pretty to look at.
Its on a childish note that i will introduce this indicator, so what it is all about? I propose a new FIR filter using a blackman function as filter kernel for financial time-series smoothing, do you prefer the childish tone ? Fear not its surprisingly easy!
The Blackman Function
The blackman function look like a bell shaped curve, look:
The blackman function will produce such curve. This function is called a cosine sum function because she is based on the sum of cosine functions, here only 2.
0.42 - 0.5 * cos(2 * pi * k) + 0.08 * cos(4 * pi * k)
Originally you use this function for windowing , what does it means? In signal processing you have a function called sync function , if you use this function as filter kernel you would get the ideal frequency domain response filter, sometime called brickwall filter, it would be extremely smooth.
Above the optimal low pass filter frequency response.
However the sync function has no ending values and goes on forever, therefore we can't use it for convolution, expect if we apply windowing. Filters using windowing are called windowed-sinc filters, i will describe the procedure below :
1 - Create a sync function = sin(pi*n)/(pi*n)
2 - Truncate it = I only keep the first length points of the sync function.
This create a abrupt end, the frequency of a filter using step 1 as kernel would contain ripples in the pass band and stop band, this is bad! The frequency response would look like this :
3 - I multiply my values of step 2 by a window function, it can the blackman window, i no longer have an abrupt end, its smooth!
The frequency response of the filter using this kernel would no longer have ripples! This is the power of windowing functions.
Here we are not using such thing, but we could in the future. Here instead we use the blackman function as filter kernel, because this function is bell shaped this mean that the filter will certainly be smooth (symmetrical weighting is a rule of thumb for kernels when we want really smooth filters).
The Filter
This filter is quite smooth, unlike the gaussian filter this filter give less weights to recent and past values, this is because the blackman function has fatter tails than the gaussian one. I could make a comparison of both, however they are quite alike, if you often use a gaussian filter its up to you to decide which one you prefer.
The filter can do a better job than the moving average when it comes to preserve the frequency components that constitute the cycles/trend.
We can see that the filter has a greater performance when it comes to keep the shape of the market price, thus it has a slightly better fit.
Conclusion
Ok so in this post you learned a bit about the sync function and windowing, those are basic subjects in signal processing, they allow us to approximate the filter with the ideal frequency response, i also showed you that those windowing function could be used as kernel and that they where pretty smooth on their own, there are many others, but the one i prefer is the blackman windowing function.
I know what you are thinking, "we want trailing stops, alerts, colors, arrows!", and i understand you pal, but sometimes its cool to take a break from all this stuff. However i can tell that i'am working on a side project that aim to estimate rolling maximum/minimum as fast as possible, any experiments will be published here, and i can ensure you that those indicators will make your day quite brighter, we will see that soon.
I hope you learned something from this post! I'am a bit tired (look i'am disappearing !)
Thanks for reading !