STD-Filterd, R-squared Adaptive T3 w/ Dynamic Zones [Loxx]STD-Filterd, R-squared Adaptive T3 w/ Dynamic Zones is a standard deviation filtered R-squared Adaptive T3 moving average with dynamic zones.
What is the T3 moving average?
Better Moving Averages Tim Tillson
November 1, 1998
Tim Tillson is a software project manager at Hewlett-Packard, with degrees in Mathematics and Computer Science. He has privately traded options and equities for 15 years.
Introduction
"Digital filtering includes the process of smoothing, predicting, differentiating, integrating, separation of signals, and removal of noise from a signal. Thus many people who do such things are actually using digital filters without realizing that they are; being unacquainted with the theory, they neither understand what they have done nor the possibilities of what they might have done."
This quote from R. W. Hamming applies to the vast majority of indicators in technical analysis . Moving averages, be they simple, weighted, or exponential, are lowpass filters; low frequency components in the signal pass through with little attenuation, while high frequencies are severely reduced.
"Oscillator" type indicators (such as MACD , Momentum, Relative Strength Index ) are another type of digital filter called a differentiator.
Tushar Chande has observed that many popular oscillators are highly correlated, which is sensible because they are trying to measure the rate of change of the underlying time series, i.e., are trying to be the first and second derivatives we all learned about in Calculus.
We use moving averages (lowpass filters) in technical analysis to remove the random noise from a time series, to discern the underlying trend or to determine prices at which we will take action. A perfect moving average would have two attributes:
It would be smooth, not sensitive to random noise in the underlying time series. Another way of saying this is that its derivative would not spuriously alternate between positive and negative values.
It would not lag behind the time series it is computed from. Lag, of course, produces late buy or sell signals that kill profits.
The only way one can compute a perfect moving average is to have knowledge of the future, and if we had that, we would buy one lottery ticket a week rather than trade!
Having said this, we can still improve on the conventional simple, weighted, or exponential moving averages. Here's how:
Two Interesting Moving Averages
We will examine two benchmark moving averages based on Linear Regression analysis.
In both cases, a Linear Regression line of length n is fitted to price data.
I call the first moving average ILRS, which stands for Integral of Linear Regression Slope. One simply integrates the slope of a linear regression line as it is successively fitted in a moving window of length n across the data, with the constant of integration being a simple moving average of the first n points. Put another way, the derivative of ILRS is the linear regression slope. Note that ILRS is not the same as a SMA ( simple moving average ) of length n, which is actually the midpoint of the linear regression line as it moves across the data.
We can measure the lag of moving averages with respect to a linear trend by computing how they behave when the input is a line with unit slope. Both SMA (n) and ILRS(n) have lag of n/2, but ILRS is much smoother than SMA .
Our second benchmark moving average is well known, called EPMA or End Point Moving Average. It is the endpoint of the linear regression line of length n as it is fitted across the data. EPMA hugs the data more closely than a simple or exponential moving average of the same length. The price we pay for this is that it is much noisier (less smooth) than ILRS, and it also has the annoying property that it overshoots the data when linear trends are present.
However, EPMA has a lag of 0 with respect to linear input! This makes sense because a linear regression line will fit linear input perfectly, and the endpoint of the LR line will be on the input line.
These two moving averages frame the tradeoffs that we are facing. On one extreme we have ILRS, which is very smooth and has considerable phase lag. EPMA has 0 phase lag, but is too noisy and overshoots. We would like to construct a better moving average which is as smooth as ILRS, but runs closer to where EPMA lies, without the overshoot.
A easy way to attempt this is to split the difference, i.e. use (ILRS(n)+EPMA(n))/2. This will give us a moving average (call it IE /2) which runs in between the two, has phase lag of n/4 but still inherits considerable noise from EPMA. IE /2 is inspirational, however. Can we build something that is comparable, but smoother? Figure 1 shows ILRS, EPMA, and IE /2.
Filter Techniques
Any thoughtful student of filter theory (or resolute experimenter) will have noticed that you can improve the smoothness of a filter by running it through itself multiple times, at the cost of increasing phase lag.
There is a complementary technique (called twicing by J.W. Tukey) which can be used to improve phase lag. If L stands for the operation of running data through a low pass filter, then twicing can be described by:
L' = L(time series) + L(time series - L(time series))
That is, we add a moving average of the difference between the input and the moving average to the moving average. This is algebraically equivalent to:
2L-L(L)
This is the Double Exponential Moving Average or DEMA , popularized by Patrick Mulloy in TASAC (January/February 1994).
In our taxonomy, DEMA has some phase lag (although it exponentially approaches 0) and is somewhat noisy, comparable to IE /2 indicator.
We will use these two techniques to construct our better moving average, after we explore the first one a little more closely.
Fixing Overshoot
An n-day EMA has smoothing constant alpha=2/(n+1) and a lag of (n-1)/2.
Thus EMA (3) has lag 1, and EMA (11) has lag 5. Figure 2 shows that, if I am willing to incur 5 days of lag, I get a smoother moving average if I run EMA (3) through itself 5 times than if I just take EMA (11) once.
This suggests that if EPMA and DEMA have 0 or low lag, why not run fast versions (eg DEMA (3)) through themselves many times to achieve a smooth result? The problem is that multiple runs though these filters increase their tendency to overshoot the data, giving an unusable result. This is because the amplitude response of DEMA and EPMA is greater than 1 at certain frequencies, giving a gain of much greater than 1 at these frequencies when run though themselves multiple times. Figure 3 shows DEMA (7) and EPMA(7) run through themselves 3 times. DEMA^3 has serious overshoot, and EPMA^3 is terrible.
The solution to the overshoot problem is to recall what we are doing with twicing:
DEMA (n) = EMA (n) + EMA (time series - EMA (n))
The second term is adding, in effect, a smooth version of the derivative to the EMA to achieve DEMA . The derivative term determines how hot the moving average's response to linear trends will be. We need to simply turn down the volume to achieve our basic building block:
EMA (n) + EMA (time series - EMA (n))*.7;
This is algebraically the same as:
EMA (n)*1.7-EMA( EMA (n))*.7;
I have chosen .7 as my volume factor, but the general formula (which I call "Generalized Dema") is:
GD (n,v) = EMA (n)*(1+v)-EMA( EMA (n))*v,
Where v ranges between 0 and 1. When v=0, GD is just an EMA , and when v=1, GD is DEMA . In between, GD is a cooler DEMA . By using a value for v less than 1 (I like .7), we cure the multiple DEMA overshoot problem, at the cost of accepting some additional phase delay. Now we can run GD through itself multiple times to define a new, smoother moving average T3 that does not overshoot the data:
T3(n) = GD ( GD ( GD (n)))
In filter theory parlance, T3 is a six-pole non-linear Kalman filter. Kalman filters are ones which use the error (in this case (time series - EMA (n)) to correct themselves. In Technical Analysis , these are called Adaptive Moving Averages; they track the time series more aggressively when it is making large moves.
What is R-squared Adaptive?
One tool available in forecasting the trendiness of the breakout is the coefficient of determination ( R-squared ), a statistical measurement.
The R-squared indicates linear strength between the security's price (the Y - axis) and time (the X - axis). The R-squared is the percentage of squared error that the linear regression can eliminate if it were used as the predictor instead of the mean value. If the R-squared were 0.99, then the linear regression would eliminate 99% of the error for prediction versus predicting closing prices using a simple moving average .
R-squared is used here to derive a T3 factor used to modify price before passing price through a six-pole non-linear Kalman filter.
What are Dynamic Zones?
As explained in "Stocks & Commodities V15:7 (306-310): Dynamic Zones by Leo Zamansky, Ph .D., and David Stendahl"
Most indicators use a fixed zone for buy and sell signals. Here’ s a concept based on zones that are responsive to past levels of the indicator.
One approach to active investing employs the use of oscillators to exploit tradable market trends. This investing style follows a very simple form of logic: Enter the market only when an oscillator has moved far above or below traditional trading lev- els. However, these oscillator- driven systems lack the ability to evolve with the market because they use fixed buy and sell zones. Traders typically use one set of buy and sell zones for a bull market and substantially different zones for a bear market. And therein lies the problem.
Once traders begin introducing their market opinions into trading equations, by changing the zones, they negate the system’s mechanical nature. The objective is to have a system automatically define its own buy and sell zones and thereby profitably trade in any market — bull or bear. Dynamic zones offer a solution to the problem of fixed buy and sell zones for any oscillator-driven system.
An indicator’s extreme levels can be quantified using statistical methods. These extreme levels are calculated for a certain period and serve as the buy and sell zones for a trading system. The repetition of this statistical process for every value of the indicator creates values that become the dynamic zones. The zones are calculated in such a way that the probability of the indicator value rising above, or falling below, the dynamic zones is equal to a given probability input set by the trader.
To better understand dynamic zones, let's first describe them mathematically and then explain their use. The dynamic zones definition:
Find V such that:
For dynamic zone buy: P{X <= V}=P1
For dynamic zone sell: P{X >= V}=P2
where P1 and P2 are the probabilities set by the trader, X is the value of the indicator for the selected period and V represents the value of the dynamic zone.
The probability input P1 and P2 can be adjusted by the trader to encompass as much or as little data as the trader would like. The smaller the probability, the fewer data values above and below the dynamic zones. This translates into a wider range between the buy and sell zones. If a 10% probability is used for P1 and P2, only those data values that make up the top 10% and bottom 10% for an indicator are used in the construction of the zones. Of the values, 80% will fall between the two extreme levels. Because dynamic zone levels are penetrated so infrequently, when this happens, traders know that the market has truly moved into overbought or oversold territory.
Calculating the Dynamic Zones
The algorithm for the dynamic zones is a series of steps. First, decide the value of the lookback period t. Next, decide the value of the probability Pbuy for buy zone and value of the probability Psell for the sell zone.
For i=1, to the last lookback period, build the distribution f(x) of the price during the lookback period i. Then find the value Vi1 such that the probability of the price less than or equal to Vi1 during the lookback period i is equal to Pbuy. Find the value Vi2 such that the probability of the price greater or equal to Vi2 during the lookback period i is equal to Psell. The sequence of Vi1 for all periods gives the buy zone. The sequence of Vi2 for all periods gives the sell zone.
In the algorithm description, we have: Build the distribution f(x) of the price during the lookback period i. The distribution here is empirical namely, how many times a given value of x appeared during the lookback period. The problem is to find such x that the probability of a price being greater or equal to x will be equal to a probability selected by the user. Probability is the area under the distribution curve. The task is to find such value of x that the area under the distribution curve to the right of x will be equal to the probability selected by the user. That x is the dynamic zone.
Included:
Bar coloring
Signals
Alerts
Loxx's Expanded Source Types
חפש סקריפטים עבור "averages"
Pips-Stepped, R-squared Adaptive T3 [Loxx]Pips-Stepped, R-squared Adaptive T3 is a a T3 moving average with optional adaptivity, trend following, and pip-stepping. This indicator also uses optional flat coloring to determine chops zones. This indicator is R-squared adaptive. This is also an experimental indicator.
What is the T3 moving average?
Better Moving Averages Tim Tillson
November 1, 1998
Tim Tillson is a software project manager at Hewlett-Packard, with degrees in Mathematics and Computer Science. He has privately traded options and equities for 15 years.
Introduction
"Digital filtering includes the process of smoothing, predicting, differentiating, integrating, separation of signals, and removal of noise from a signal. Thus many people who do such things are actually using digital filters without realizing that they are; being unacquainted with the theory, they neither understand what they have done nor the possibilities of what they might have done."
This quote from R. W. Hamming applies to the vast majority of indicators in technical analysis . Moving averages, be they simple, weighted, or exponential, are lowpass filters; low frequency components in the signal pass through with little attenuation, while high frequencies are severely reduced.
"Oscillator" type indicators (such as MACD , Momentum, Relative Strength Index ) are another type of digital filter called a differentiator.
Tushar Chande has observed that many popular oscillators are highly correlated, which is sensible because they are trying to measure the rate of change of the underlying time series, i.e., are trying to be the first and second derivatives we all learned about in Calculus.
We use moving averages (lowpass filters) in technical analysis to remove the random noise from a time series, to discern the underlying trend or to determine prices at which we will take action. A perfect moving average would have two attributes:
It would be smooth, not sensitive to random noise in the underlying time series. Another way of saying this is that its derivative would not spuriously alternate between positive and negative values.
It would not lag behind the time series it is computed from. Lag, of course, produces late buy or sell signals that kill profits.
The only way one can compute a perfect moving average is to have knowledge of the future, and if we had that, we would buy one lottery ticket a week rather than trade!
Having said this, we can still improve on the conventional simple, weighted, or exponential moving averages. Here's how:
Two Interesting Moving Averages
We will examine two benchmark moving averages based on Linear Regression analysis.
In both cases, a Linear Regression line of length n is fitted to price data.
I call the first moving average ILRS, which stands for Integral of Linear Regression Slope. One simply integrates the slope of a linear regression line as it is successively fitted in a moving window of length n across the data, with the constant of integration being a simple moving average of the first n points. Put another way, the derivative of ILRS is the linear regression slope. Note that ILRS is not the same as a SMA ( simple moving average ) of length n, which is actually the midpoint of the linear regression line as it moves across the data.
We can measure the lag of moving averages with respect to a linear trend by computing how they behave when the input is a line with unit slope. Both SMA (n) and ILRS(n) have lag of n/2, but ILRS is much smoother than SMA .
Our second benchmark moving average is well known, called EPMA or End Point Moving Average. It is the endpoint of the linear regression line of length n as it is fitted across the data. EPMA hugs the data more closely than a simple or exponential moving average of the same length. The price we pay for this is that it is much noisier (less smooth) than ILRS, and it also has the annoying property that it overshoots the data when linear trends are present.
However, EPMA has a lag of 0 with respect to linear input! This makes sense because a linear regression line will fit linear input perfectly, and the endpoint of the LR line will be on the input line.
These two moving averages frame the tradeoffs that we are facing. On one extreme we have ILRS, which is very smooth and has considerable phase lag. EPMA has 0 phase lag, but is too noisy and overshoots. We would like to construct a better moving average which is as smooth as ILRS, but runs closer to where EPMA lies, without the overshoot.
A easy way to attempt this is to split the difference, i.e. use (ILRS(n)+EPMA(n))/2. This will give us a moving average (call it IE /2) which runs in between the two, has phase lag of n/4 but still inherits considerable noise from EPMA. IE /2 is inspirational, however. Can we build something that is comparable, but smoother? Figure 1 shows ILRS, EPMA, and IE /2.
Filter Techniques
Any thoughtful student of filter theory (or resolute experimenter) will have noticed that you can improve the smoothness of a filter by running it through itself multiple times, at the cost of increasing phase lag.
There is a complementary technique (called twicing by J.W. Tukey) which can be used to improve phase lag. If L stands for the operation of running data through a low pass filter, then twicing can be described by:
L' = L(time series) + L(time series - L(time series))
That is, we add a moving average of the difference between the input and the moving average to the moving average. This is algebraically equivalent to:
2L-L(L)
This is the Double Exponential Moving Average or DEMA , popularized by Patrick Mulloy in TASAC (January/February 1994).
In our taxonomy, DEMA has some phase lag (although it exponentially approaches 0) and is somewhat noisy, comparable to IE /2 indicator.
We will use these two techniques to construct our better moving average, after we explore the first one a little more closely.
Fixing Overshoot
An n-day EMA has smoothing constant alpha=2/(n+1) and a lag of (n-1)/2.
Thus EMA (3) has lag 1, and EMA (11) has lag 5. Figure 2 shows that, if I am willing to incur 5 days of lag, I get a smoother moving average if I run EMA (3) through itself 5 times than if I just take EMA (11) once.
This suggests that if EPMA and DEMA have 0 or low lag, why not run fast versions (eg DEMA (3)) through themselves many times to achieve a smooth result? The problem is that multiple runs though these filters increase their tendency to overshoot the data, giving an unusable result. This is because the amplitude response of DEMA and EPMA is greater than 1 at certain frequencies, giving a gain of much greater than 1 at these frequencies when run though themselves multiple times. Figure 3 shows DEMA (7) and EPMA(7) run through themselves 3 times. DEMA^3 has serious overshoot, and EPMA^3 is terrible.
The solution to the overshoot problem is to recall what we are doing with twicing:
DEMA (n) = EMA (n) + EMA (time series - EMA (n))
The second term is adding, in effect, a smooth version of the derivative to the EMA to achieve DEMA . The derivative term determines how hot the moving average's response to linear trends will be. We need to simply turn down the volume to achieve our basic building block:
EMA (n) + EMA (time series - EMA (n))*.7;
This is algebraically the same as:
EMA (n)*1.7-EMA( EMA (n))*.7;
I have chosen .7 as my volume factor, but the general formula (which I call "Generalized Dema") is:
GD (n,v) = EMA (n)*(1+v)-EMA( EMA (n))*v,
Where v ranges between 0 and 1. When v=0, GD is just an EMA , and when v=1, GD is DEMA . In between, GD is a cooler DEMA . By using a value for v less than 1 (I like .7), we cure the multiple DEMA overshoot problem, at the cost of accepting some additional phase delay. Now we can run GD through itself multiple times to define a new, smoother moving average T3 that does not overshoot the data:
T3(n) = GD ( GD ( GD (n)))
In filter theory parlance, T3 is a six-pole non-linear Kalman filter. Kalman filters are ones which use the error (in this case (time series - EMA (n)) to correct themselves. In Technical Analysis , these are called Adaptive Moving Averages; they track the time series more aggressively when it is making large moves.
What is R-squared Adaptive?
One tool available in forecasting the trendiness of the breakout is the coefficient of determination (R-squared), a statistical measurement.
The R-squared indicates linear strength between the security's price (the Y - axis) and time (the X - axis). The R-squared is the percentage of squared error that the linear regression can eliminate if it were used as the predictor instead of the mean value. If the R-squared were 0.99, then the linear regression would eliminate 99% of the error for prediction versus predicting closing prices using a simple moving average.
R-squared is used here to derive a T3 factor used to modify price before passing price through a six-pole non-linear Kalman filter.
Included:
Bar coloring
Signals
Alerts
Flat coloring
FULL MA Optimization ScriptHello!
This script measures the performance of 10 moving averages and compares them!
Crossover and crossunders are both tested.
The tested moving averages include: TEMA, DEMA, EMA, SMA, ALMA, HMA, T3 Average, WMA, VWMA, LSMA.
You can select the length of the moving averages and the data source (I.E, close, open, ohlc4, etc.) and the script will calculate your selections!
For instance, if you select a length of 32 and a source of ohlc4 for crossovers, the script will assign the ten moving averages that length and data source and compare the performance for ohlc4 crossovers of the 32TEMA, 32DEMA, 32SMA, 32WMA, etc. If you select crossunder, the script will calculate the performance of ohlc4 crossunders of the same moving average lengths.
Moving average performances are listed in descending order (best to worst) and are categorized by tier: Upper-Tier, Mid-Tier, Lower-Tier. The Upper-Tier displays the three best performing averages relative to the MA length and data source, for the asset on the relevant chart timeframe. The Lower-Tier displays the three worst performing averages. The Mid-Tier displays the moving averages whose performance did not achieve a top three spot or a bottom three spot.
Also calculated is the moving average which achieved the highest cumulative gain/loss and the lowest cumulative gain/loss. Any asset and timeframe can be tested; the script recalculates relative to the chart timeframe. I added a "Benchmark Moving Average" free parameter and a "Custom Moving Average" free parameter. The two operate identically; you can set the length and data source of both for quick and simple comparison between differing average lengths and sources.
If "Crossover" is selected, the "(X Candles)" displayed on the tables reflects the average number of sessions the data source remains above a moving average following a crossover. If "Crossunder" is selected, the "(X Candles)" reflects the average number of sessions the data source remains below the moving average following a crossunder.
If "Crossover" is selected, the listed "X%" reflects the average percentage gain/loss following a source crossover of a moving average up until the source crosses back under the moving average. If "Crossunder" is selected, the listed "X%" reflects the average percentage gain/loss following a source crossunder of a moving average up until the source crosses back over the moving average.
If "Crossover" is selected, the listed "X Crosses" reflects the number of instances in which the source crossed over a moving average. If "Crossunder" is selected, the listed "X Crosses" reflects the number of instances in which the source crossed under a moving average.
Additional tooltips and instructions are included should you access the user input menu.
The moving averages can be plotted as a gradient (highest priced MA to lowest priced MA) alongside the best performing moving average. The moving averages can be plotted in full color, light color alongside the best performing average, or not plotted.
This script improves upon a similar script I have released:
I decided not to update the previous script. The previous script calculates crossovers only and, due to being less code intensive, calculates much quicker. If a user is concerned only with price crossovers, not crossunders, the original script is a better option! It's faster, making it the preferable choice!
This script "FULL MA Optimization" calculates crossovers/crossunders and incorporates additional plot styles. I ran into trouble a few times where the script was too large to run on TV. This script is not "slow", I suppose; however, calculations and parameter modifications take a bit longer than the original script!
Consensio V2 - Directionality IndicatorThis indicator is based on Consensio Trading System by Tyler Jenks.
It is used for measuring the Directionality of the market.
According to this trading system, you start by laying 3 Simple Moving Averages:
A Long-Term Moving Average (LTMA).
A Short-Term Moving Average (STMA).
A Price Moving Average (Price).
*The "Price" should be A relatively short Moving Average in order to reflect the current price.
What is Direction(D)?
Each Moving Average at any given time is pointing in a certain direction. It can either go Up, Down, or it can be in a Consolidation state.
That's why, each Direction(D) is assigned to a score :
Up = 2
Consolidation = 1
Down = 0
For example, if LTMA is directed Up, then D =2.
What is Influence(I)?
Generally, The fluctuation of the "Price" tends to have less influence on the "LTMA" than the fluctuation of the "STMA".
this is why each Moving Average has different degree of Influence(I):
LTMA = 9
STMA = 3
Price = 1
Moving Average Score
To calculate the score of a Moving Average, you Multiply the Moving Average Direction(D) by its Influence(I).
For example, if LTMA is directed Up then the score of this Moving Average is 18.
What is Directionality?
Directionality is the sum of all 3 Moving Averages score minus 13.
For example, if the score of LTMA=18 and STMA=6 and Price=2, then Directionality is equal to 13.
Also, if the score of LTMA=0 and STMA= 0 and Price=0, then Directionality is equal to -13.
When Directionality is bigger than 0 the Directionality is Bullish.
When Directionality is smaller than 0 the Directionality is Bearish.
Conclusion
Consensio Directionality Indicator helps us measure the Directionality of the market. Knowing the Directionality of the market helps us build better trading strategies.
Recommendations
Different Moving Averages may suit you better when trading different assets on different time periods. You can go into the indicator settings and change the Moving Averages values if needed.
you should also use the "Consensio Relativity Indicator" In order to Understand the Market state.
While using both of my Consensio indicators together, please make sure that the Moving Averages on both of them are set to the same values
JC MAs: SMA, WMA, EMA, DEMA, TEMA, ALMA, Hull, Kaufman, FractalThe best collection of moving averages anywhere. I know, because I searched, couldn't find the right collection, and so wrote it myself!
-------------------------------------------------------------------------------
Notable features that either aren't found anywhere else...or at least in one place:
-------------------------------------------------------------------------------
• The "Triple Exponential Moving Average", is actually that mathematically - rather than "three seperate EMA graphs", as is commonly found on Trading View.
• Includes exotic moving averages: Hull Moving Average (HMA), Kaufman's Adaptive Moving Average (KAMA), and Fractal Apaptive Moving Average (FrAMA).
• Each moving average has its own user-definable averaging length in DAYS, rather than an abstract "length". This is respected even for different graphing resolutions, and different chart views - even for the more exotic MAs.
• Days can be fractional.
• A master time resolution ("Timeframe") is also user-definable. And unlike most other moving average charts, this won't affect the internal "length" variable (specified days are still respected), it only changes the graphing resolution. You can also specify to use chart's resolution - which, as you know, is not very useful for moving averages - yet so many moving average scripts on Trading View don't let you specify otherwise.
• If every CPU cycle counts, you can set "days" to 0 to prevent a particular unneeded moving average from being calculated at all.
• Includes a custom moving average that is unique, if you're looking for a tiny edge in TA to beat everyone else looking at the same stuff: a customizable weighted blend of SMA, TEMA, HMA, KAMA, and FrMA. (Note: The weights for these blends don't have to add up to 100, they will self-level no matter what they add up to.)
• By default, the averages are color-coded according to rainbow order of light spectrum frequency, relative to approximate responsiveness to current price: Red (SMA) is the laziest, violet (FrAMA) is the most hyper, and green is in the middle.
-------------------------------------------------------------------------------
Contains the following moving averages, in order of responsiveness:
-------------------------------------------------------------------------------
• Simple Moving Average (SMA)
• Arnaud Legoux Moving Average (ALMA)
• Exponential Moving Average (EMA)
• Weighted Moving Average (WMA)
• Blend average of SMA and TEMA (JCBMA)
• Double Exponential Moving Average (DEMA)
• Triple Exponential Moving Average (TEMA)
• Hull Moving Average (HMA)
• Kaufman's Adaptive Moving Average (KAMA)
• Fractal Apaptive Moving Average (FrAMA)
Note: There are a few extreme edge cases where the graphs won't render, which are obvious. (Because they won't render.) In which case, all you need to do is choose a more sane master resolution ("Timeframe") relative to the timeframe of the chart. This is more about the limits of Trading View, than specific script bugs.
-------------------------------------------------------------------------------
Includes reworked code snippets
-------------------------------------------------------------------------------
• "Kaufman Moving Average Adaptive (KAMA)" by HPotter
• "FRAMA (Ehlers true modified calculation)" by nemozny
• Which in turn was based on "Fractal Adaptive Moving Average (real one)" by Shizaru
[blackcat] L1 Tim Tillson T3Level: 1
Background
T3 Moving Average is the responsive form of traditional moving averages. Presented in 1998 by Tim Tillson, T3 is also known as the Tillson Moving Averages. The thought behind the development of this technical indicator was to improve lag and false signals, which can be present in moving averages.
Function
The T3 indicator performs better than the ordinary moving averages. The reason for this is T3 Moving Average is built with the EMA (exponential moving average).
Its calculation is based on the sum of single EMA, double EMA, Triple EMA, and so on.
This gives the following equation:
T3 = c1*e6 + c2*e5 + c3*e4 + c4*e3…
Where
e3 = EMA (e2, Period)
e4 = EMA (e3, Period)
e5 = EMA (e4, Period)
e6 = EMA (e5, Period)
a is the volume factor, with a default value of 0.7 but you can also use 0.618
c1 = a^3
c2 = 3*a^2 + 3*a^3
c3 =6*a^2 – 3*a – 3*a^3
c4 = 1 + 3*a + a^3 + 3*a^2
When a trend appears, the price action stays above or below the trend line and doesn’t get disturbed from the price swing. The moving of the T3 and the lack of reversals can indicate the end of the trend. The T3 Moving Average produces signals just like moving averages, and similar trading conditions can be applied. If the price is above the T3 Moving Average and the indicator moves upward, this is a sign of a bullish trend. Here we may look to enter long. Conversely, if the price action is below the T3 Moving Average and the indicator moves downwards, a bearish trend appears. Here we may want to look for a short entry.
Key Signal
Price --> Price Input.
T3 --> T3 Ouput.
Remarks
This is a Level 1 free and open source indicator.
Feedbacks are appreciated.
RexDog Trade System FoundationThis indicator contains the foundation indicators used when adopting the RexDog Trading System.
The RexDog Trading System uses simple rules, probability, and key areas of market reaction to reverse engineer momentum within the market. These common rules and reactions are shared across all chart types, markets, and timeframes.
The foundation of the philosophy comes from using simple indicators, probability, and rules to answer the 3 questions of trading:
Where is price coming from?
Where is price going?
How does it want to get there?
* note: you should really be asking the 2nd question first.
This indicator contains the core bias and momentum indicators that provide you an edge when adopting the system.
The general philosophy of the trading system is that there are areas in all markets where momentum will be challenged or confirmed. Using various combined elements of this indicator provides you the general ranges of price where you expect a reaction. A reaction is either a confirmation and continuation of momentum or a stall and reversal of momentum.
Another important element of the trading system is the concept of intention. Using simple rules and the elements of this indicator provide you with a general range of where you will look for the intention of future price action.
Before I describe the components of this indicator and general usage I will mention that I use the term “algo” to define all market participants—all the way from the retail trader, hedge fund, big banks, ETFs, family offices, to secret algorithms in underground bunkers we will never know about.
First up here is what is contained within this indicator:
RexDog Average with ATR bands and Extreme ATR Bands – used to define bias within the market or timeframe
3 Momentum EMAs – these are used to define short term momentum
24/9 Avg – You also have the option of having a 24/9 EMA average and an option of turning off the 24/9 EMAs. This also has a plot color change on 9EMA above 24EMA = purple, 9EMA blow 24EMA = fuchsia
2 Simple Moving Averages – 1 short for momentum confirmation and 1 long for bias confirmation
200 options - Ability to plot the 200 AVG (see line below), 200 SMA, or 200 EMA individually. Also option to plot both the 200 SMA (red) and 200 EMA (green)
200 Avg – This plot is an average of the SMA200 and the EMA200. There is also a plot color change based on EMA above SMA = Green, EMA blow SMA = Red.
vWAP – the standard vWAP is added to the foundation as it plays a dual role of confirming both momentum and bias.
Info Panel – This info panel displays the current price, percentage, and ATR of all indicators in the foundation. It also includes a AVG line as well.
* Info panel is turned off by default
Indictor with Info Panel:
Indicator and Trade System Usage and Tips
Now let’s move onto the value of this indicator, how it is unique, and its usage.
The RexDog Average with ATR Bands and ATR Extreme Bands
The RexDog Average (RDA) is a bias-moving average indicator. The purpose is to provide the overall momentum bias you should have when trading an instrument. It works across all markets and all timeframes.
Usage:
Price above the RexDog AVG = long momentum bias
Price below the RexDog AVG = short momentum bias
Under the Hood:
This is so simple most reading this will discount it. The RexDog Average has been tested across all markets—FOREX, Crypto, Equities, Futures (even tick charts), and even the Penguin population in Antarctica.
The RexDog Average is an average of 6 simple moving averages: 200, 100, 50, 24, 9, 5.
There are 2 ATR bands, one above and one below. Just as with the RexDog Average we take the 6 ATR data points (200, 100, 50, 24, 9, 5). We then create an average by dividing by 6. Then add it to the price.
These ATR bands are also used as high probability reaction points.
Exponential Moving Averages
This indictor contains 3 EMAs that are used primarily for short-term momentum.
Usage of these EMAs are not simple cross signals. While crosses of the EMAs are important and do reveal the general story of the chart and momentum in the trading system they are more used as general areas of reaction points.
If the faster EMAs are below the slower EMA then generally we would refer to the algo as being momentum short. Momentum long would be the reverse.
When you combine the EMAs with the RDA you have both momentum and bias defined or at the very least you have high probability areas where momentum will be checked and a reaction is probable.
Moving Averages
There are 2 moving averages in the system foundation.
The 5 is for short-term momentum and high volatility confirmation. The 200 is the standard 200 used in many trading systems.
The 200 MA/EMA average is used in conjunction with the RDA to confirm market bias. Also, it provides a high probability area of market reaction.
The 200 is represented as the average between the 200 simple moving average and the 200 exponential moving average.
The color change in the 200 AVG is as follows. When the 200EMA is above the 200SMA the average line is green, Red when the 200EMA is below the 200SMA.
vWAP
The standard vWAP is also used in the trade system. As most traders who refer to or use the vWAP in their trading know this indicator provides a general area of market reaction. You will often see a check-in at the vWAP for a continuation or confirmation of momentum. Also if price breaks thru the vWAP you can look at this as a breakdown of momentum and an intention of where price might want to eventually go.
Putting it all Together
Before we put it all together, I should also mention that in the trading system there are only 2 types of trades you will do:
Momentum – trades that align with the momentum of the indicator and timeframe
Fade – trades that are against one or multiple indicators and the timeframe
The general usage of this indicator comes from using these as general areas where you expect price to have a reaction.
It starts with the RDA and defining the probability of bias in the market. The general philosophy here is the market will stay in that momentum state until it doesn’t. If the momentum bias is short and the price closes above the RDA then the momentum would be considered bias long. You’re then looking for follow thru and confirmation on following candles.
With bias defined you can then start to analyze and look for areas of reaction using the other indicators in the foundation.
Simple usage is if price is bias short and below the momentum EMAs you would expect a reaction when price comes up to the general area of the EMAs. Also, if the EMAs are confirming the momentum short the best trade is to trade with momentum.
Usually in the situation where all indicators are pointing to one momentum direction there are opportunities to do fade trades. These fade trades are typically when price is extended away from the key indicators. Your expectation in these trades is that price will snap back to test momentum and have some form of reaction at a key indicator area.
Additional usage is analyzing how all elements of this indicator are positioned from one another. For instance, the further the momentum EMAs get from the RDA provides a larger probability that price will eventually want to come and test the RDA area or a lower or upper ATR band of the RDA.
The information panel provides key data points on helping with this analysis.
In closing:
Simple trading typically works. While this indicator contains what some would consider basic market indicators it’s the rules, philosophy, and probability that provide the edge. When these indicators are combined as one and looked at as a whole to define momentum, reaction, and intention in the market it can provide an edge for answering the 3 key questions in trading.
Anticipated Simple Moving Average Crossover IndicatorIntroducing the Anticipated Simple Moving Average Crossover Indicator
This is my Pinescript implementation of the Anticipated Simple Moving Average Crossover Indicator
Much respect to the original creator of this idea Dimitris Tsokakis
This indicator removes one bar of lag from simple moving average crossover signals with a high degree of accuracy to give a slight but very real edge.
Moving Averages
A moving average simplifies price data by smoothing it out by averaging closing prices and creating one flowing line which makes seeing the trend easier.
Moving averages can work well in strong trending conditions, but poorly in choppy or ranging conditions.
Adjusting the time frame can remedy this problem temporarily, although at some point, these issues are likely to occur regardless of the time frame chosen for the moving average(s).
While Exponential moving averages react quicker to price changes than simple moving averages. In some cases, this may be good, and in others, it may cause false signals.
Moving averages with a shorter look back period (20 days, for example) will also respond quicker to price changes than an average with a longer look back period (200 days).
Trading Strategies — Moving Average Crossovers
Moving average crossovers are a popular strategy for both entries and exits. MAs can also highlight areas of potential support or resistance.
The first type is a price crossover, which is when the price crosses above or below a moving average to signal a potential change in trend.
Another strategy is to apply two moving averages to a chart: one longer and one shorter.
When the shorter-term MA crosses above the longer-term MA, it's a buy signal, as it indicates that the trend is shifting up. This is known as a "golden cross."
Meanwhile, when the shorter-term MA crosses below the longer-term MA, it's a sell signal, as it indicates that the trend is shifting down. This is known as a "dead/death cross."
MA and MA Cross Strategy Disadvantages
Moving averages are calculated based on historical data, and while this may appear predictive nothing about the calculation is predictive in nature.
Moving averages are always based on historical data and simply show the average price over a certain time period.
Therefore, results using moving averages can be quite random.
At times, the market seems to respect MA support/resistance and trade signals, and at other times, it shows these indicators no respect.
One major problem is that, if the price action becomes choppy, the price may swing back and forth, generating multiple trend reversal or trade signals.
When this occurs, it's best to step aside or utilize another indicator to help clarify the trend.
The same thing can occur with MA crossovers when the MAs get "tangled up" for a period of time during periods of consolidation, triggering multiple losing trades.
Ensure you use a robust risk management system to avoid getting "Chopped Up" or "Whip Sawed" during these periods.
ORTI MACD (Static Timeframe Multi-Period)The " ORTI Moving Average Convergence Divergence (Static Timeframe Multi-Period) " is now a public script, based into a existing study named " MACD aka Moving Average Convergence Divergence ", but with some better functions about time frame and its measurament. As a redesigned and recalculated set of the common plotted averages, a trend-following momentum indicator that shows the relationship between two moving averages of a security’s price.
The cherry on the top for this version is, when you want to get a predetermined count in (ranges) units of time, as: minutes, hours or days, in any graph you could get a static average, and this count will be automatically respected. For example, an average could be configurated to know a trend per day, week or month... or whatever comes to mind, and at every single chart that you move through (5m, 15m, 1h, 4h, etc), you will see the same average to make your own "trend analysis" into a micro/macro market view.
But now, with the option to convert the " Exponential Moving Average " to adapt into 9 different kinds of "Moving Averages" and by any of the most used Moving Averages, an hybrid basically.
The following options to convert the "Exponential Moving Average ( EMA ) to:
• Double Exponential Moving Average ( DEMA )
• Exponential Moving Average ( EMA )
• Hull Moving Average ( HMA )
• Modified Moving Average ( MMA ) *
• Rolling Moving Average ( RMA ) *
• Simple Moving Average ( SMA )
• Smoothed Moving Average ( SMMA ) *
• Volume-weighted Moving Average ( VWMA )
• Weighted Moving Average ( WMA )
* Same Moving Averages: a Modified Moving Average is otherwise known as the Running Moving Average or Smoothed Moving Average.
The MACD is usually calculated by subtracting the 26-period Exponential Moving Average ( EMA ) from the 12-period EMA . The result of that calculation is the MACD line. A nine-day EMA of the MACD , called the "Signal Line", is then plotted on top of the MACD line which can function as a trigger for buy and sell signals. Traders may buy the security when the MACD crosses above its signal line and sell, or short, the security when the MACD crosses below the signal line.
The MACD has a positive value whenever the 12-period EMA is above the 26-period EMA and a negative value when the 12-period EMA is below the 26-period EMA . The more distant the MACD is above or below its baseline indicates that the distance between the two EMAs is growing. In the following chart, you can see how the two EMAs applied to the price chart correspond to the MACD (blue) crossing above or below its baseline (red dashed) in the indicator below the price chart.
The MACD is often displayed with a histogram which graphs the distance between the MACD and its signal line. If the MACD is above the signal line, the histogram will be above the MACD’s baseline. If the MACD is below its signal line, the histogram will be below the MACD’s baseline. Traders use the MACD’s histogram to identify when bullish or bearish momentum is high.
For more technical information look at Investopedia .
Note: The previous calculation example is not the default, the parameters can be adjusted according to the criteria of the merchant.
Harmonic Super GuppyHarmonic Super Guppy – Harmonic & Golden Ratio Trend Analysis Framework
Overview
Harmonic Super Guppy is a comprehensive trend analysis and visualization tool that evolves the classic Guppy Multiple Moving Average (GMMA) methodology, pioneered by Daryl Guppy to visualize the interaction between short-term trader behavior and long-term investor trends. into a harmonic and phase-based market framework. By combining harmonic weighting, golden ratio phasing, and multiple moving averages, it provides traders with a deep understanding of market structure, momentum, and trend alignment. Fast and slow line groups visually differentiate short-term trader activity from longer-term investor positioning, while adaptive fills and dynamic coloring clearly illustrate trend coherence, expansion, and contraction in real time.
Traditional GMMA focuses primarily on moving average convergence and divergence. Harmonic Super Guppy extends this concept, integrating frequency-aware harmonic analysis and golden ratio modulation, allowing traders to detect subtle cyclical forces and early trend shifts before conventional moving averages would react. This is particularly valuable for traders seeking to identify early trend continuation setups, preemptive breakout entries, and potential trend exhaustion zones. The indicator provides a multi-dimensional view, making it suitable for scalping, intraday trading, swing setups, and even longer-term position strategies.
The visual structure of Harmonic Super Guppy is intentionally designed to convey trend clarity without oversimplification. Fast lines reflect short-term trader sentiment, slow lines capture longer-term investor alignment, and fills highlight compression or expansion. The adaptive color coding emphasizes trend alignment: strong green for bullish alignment, strong red for bearish, and subtle gray tones for indecision. This allows traders to quickly gauge market conditions while preserving the granularity necessary for sophisticated analysis.
How It Works
Harmonic Super Guppy uses a combination of harmonic averaging, golden ratio phasing, and adaptive weighting to generate its signals.
Harmonic Weighting : Each moving average integrates three layers of harmonics:
Primary harmonic captures the dominant cyclical structure of the market.
Secondary harmonic introduces a complementary frequency for oscillatory nuance.
Tertiary harmonic smooths higher-frequency noise while retaining meaningful trend signals.
Golden Ratio Phase : Phases of each harmonic contribution are adjusted using the golden ratio (default φ = 1.618), ensuring alignment with natural market rhythms. This reduces lag and allows traders to detect trend shifts earlier than conventional moving averages.
Adaptive Trend Detection : Fast SMAs are compared against slow SMAs to identify structural trends:
UpTrend : Fast SMA exceeds slow SMA.
DownTrend : Fast SMA falls below slow SMA.
Frequency Scaling : The wave frequency setting allows traders to modulate responsiveness versus smoothing. Higher frequency emphasizes short-term moves, while lower frequency highlights structural trends. This enables adaptation across asset classes with different volatility characteristics.
Through this combination, Harmonic Super Guppy captures micro and macro market cycles, helping traders distinguish between transient noise and genuine trend development. The multi-harmonic approach amplifies meaningful price action while reducing false signals inherent in standard moving averages.
Interpretation
Harmonic Super Guppy provides a multi-dimensional perspective on market dynamics:
Trend Analysis : Alignment of fast and slow lines reveals trend direction and strength. Expanding harmonics indicate momentum building, while contraction signals weakening conditions or potential reversals.
Momentum & Volatility : Rapid expansion of fast lines versus slow lines reflects short-term bullish or bearish pressure. Compression often precedes breakout scenarios or volatility expansion. Traders can quickly gauge trend vigor and potential turning points.
Market Context : The indicator overlays harmonic and structural insights without dictating entry or exit points. It complements order blocks, liquidity zones, oscillators, and other technical frameworks, providing context for informed decision-making.
Phase Divergence Detection : Subtle divergence between harmonic layers (primary, secondary, tertiary) often signals early exhaustion in trends or hidden strength, offering preemptive insight into potential reversals or sustained continuation.
By observing both structural alignment and harmonic expansion/contraction, traders gain a clear sense of when markets are trending with conviction versus when conditions are consolidating or becoming unpredictable. This allows for proactive trade management, rather than reactive responses to lagging indicators.
Strategy Integration
Harmonic Super Guppy adapts to various trading methodologies with clear, actionable guidance.
Trend Following : Enter positions when fast and slow lines are aligned and harmonics are expanding. The broader the alignment, the stronger the confirmation of trend persistence. For example:
A fast line crossover above slow lines with expanding fills confirms momentum-driven continuation.
Traders can use harmonic amplitude as a filter to reduce entries against prevailing trends.
Breakout Trading : Periods of line compression indicate potential volatility expansion. When fast lines diverge from slow lines after compression, this often precedes breakouts. Traders can combine this visual cue with structural supports/resistances or order flow analysis to improve timing and precision.
Exhaustion and Reversals : Divergences between harmonic components, or contraction of fast lines relative to slow lines, highlight weakening trends. This can indicate liquidity exhaustion, trend fatigue, or corrective phases. For example:
A flattening fast line group above a rising slow line can hint at short-term overextension.
Traders may use these signals to tighten stops, take partial profits, or prepare for contrarian setups.
Multi-Timeframe Analysis : Overlay slow lines from higher timeframes on lower timeframe charts to filter noise and trade in alignment with larger market structures. For example:
A daily bullish alignment combined with a 15-minute breakout pattern increases probability of a successful intraday trade.
Conversely, a higher timeframe divergence can warn against taking counter-trend trades in lower timeframes.
Adaptive Trade Management : Harmonic expansion/contraction can guide dynamic risk management:
Stops may be adjusted according to slow line support/resistance or harmonic contraction zones.
Position sizing can be modulated based on harmonic amplitude and compression levels, optimizing risk-reward without rigid rules.
Technical Implementation Details
Harmonic Super Guppy is powered by a multi-layered harmonic and phase calculation engine:
Harmonic Processing : Primary, secondary, and tertiary harmonics are calculated per period to capture multiple market cycles simultaneously. This reduces noise and amplifies meaningful signals.
Golden Ratio Modulation : Phase adjustments based on φ = 1.618 align harmonic contributions with natural market rhythms, smoothing lag and improving predictive value.
Adaptive Trend Scaling : Fast line expansion reflects short-term momentum; slow lines provide structural trend context. Fills adapt dynamically based on alignment intensity and harmonic amplitude.
Multi-Factor Trend Analysis : Trend strength is determined by alignment of fast and slow lines over multiple bars, expansion/contraction of harmonic amplitudes, divergences between primary, secondary, and tertiary harmonics and phase synchronization with golden ratio cycles.
These computations allow the indicator to be highly responsive yet smooth, providing traders with actionable insights in real time without overloading visual complexity.
Optimal Application Parameters
Asset-Specific Guidance:
Forex Majors : Wave frequency 1.0–2.0, φ = 1.618–1.8
Large-Cap Equities : Wave frequency 0.8–1.5, φ = 1.5–1.618
Cryptocurrency : Wave frequency 1.2–3.0, φ = 1.618–2.0
Index Futures : Wave frequency 0.5–1.5, φ = 1.618
Timeframe Optimization:
Scalping (1–5min) : Emphasize fast lines, higher frequency for micro-move capture.
Day Trading (15min–1hr) : Balance fast/slow interactions for trend confirmation.
Swing Trading (4hr–Daily) : Focus on slow lines for structural guidance, fast lines for entry timing.
Position Trading (Daily–Weekly) : Slow lines dominate; harmonics highlight long-term cycles.
Performance Characteristics
High Effectiveness Conditions:
Clear separation between short-term and long-term trends.
Moderate-to-high volatility environments.
Assets with consistent volume and price rhythm.
Reduced Effectiveness:
Flat or extremely low volatility markets.
Erratic assets with frequent gaps or algorithmic dominance.
Ultra-short timeframes (<1min), where noise dominates.
Integration Guidelines
Signal Confirmation : Confirm alignment of fast and slow lines over multiple bars. Expansion of harmonic amplitude signals trend persistence.
Risk Management : Place stops beyond slow line support/resistance. Adjust sizing based on compression/expansion zones.
Advanced Feature Settings :
Frequency tuning for different volatility environments.
Phase analysis to track divergences across harmonics.
Use fills and amplitude patterns as a guide for dynamic trade management.
Multi-timeframe confirmation to filter noise and align with structural trends.
Disclaimer
Harmonic Super Guppy is a trend analysis and visualization tool, not a guaranteed profit system. Optimal performance requires proper wave frequency, golden ratio phase, and line visibility settings per asset and timeframe. Traders should combine the indicator with other technical frameworks and maintain disciplined risk management practices.
ATAI Volume analysis with price action V 1.00ATAI Volume Analysis with Price Action
1. Introduction
1.1 Overview
ATAI Volume Analysis with Price Action is a composite indicator designed for TradingView. It combines per‑side volume data —that is, how much buying and selling occurs during each bar—with standard price‑structure elements such as swings, trend lines and support/resistance. By blending these elements the script aims to help a trader understand which side is in control, whether a breakout is genuine, when markets are potentially exhausted and where liquidity providers might be active.
The indicator is built around TradingView’s up/down volume feed accessed via the TradingView/ta/10 library. The following excerpt from the script illustrates how this feed is configured:
import TradingView/ta/10 as tvta
// Determine lower timeframe string based on user choice and chart resolution
string lower_tf_breakout = use_custom_tf_input ? custom_tf_input :
timeframe.isseconds ? "1S" :
timeframe.isintraday ? "1" :
timeframe.isdaily ? "5" : "60"
// Request up/down volume (both positive)
= tvta.requestUpAndDownVolume(lower_tf_breakout)
Lower‑timeframe selection. If you do not specify a custom lower timeframe, the script chooses a default based on your chart resolution: 1 second for second charts, 1 minute for intraday charts, 5 minutes for daily charts and 60 minutes for anything longer. Smaller intervals provide a more precise view of buyer and seller flow but cover fewer bars. Larger intervals cover more history at the cost of granularity.
Tick vs. time bars. Many trading platforms offer a tick / intrabar calculation mode that updates an indicator on every trade rather than only on bar close. Turning on one‑tick calculation will give the most accurate split between buy and sell volume on the current bar, but it typically reduces the amount of historical data available. For the highest fidelity in live trading you can enable this mode; for studying longer histories you might prefer to disable it. When volume data is completely unavailable (some instruments and crypto pairs), all modules that rely on it will remain silent and only the price‑structure backbone will operate.
Figure caption, Each panel shows the indicator’s info table for a different volume sampling interval. In the left chart, the parentheses “(5)” beside the buy‑volume figure denote that the script is aggregating volume over five‑minute bars; the center chart uses “(1)” for one‑minute bars; and the right chart uses “(1T)” for a one‑tick interval. These notations tell you which lower timeframe is driving the volume calculations. Shorter intervals such as 1 minute or 1 tick provide finer detail on buyer and seller flow, but they cover fewer bars; longer intervals like five‑minute bars smooth the data and give more history.
Figure caption, The values in parentheses inside the info table come directly from the Breakout — Settings. The first row shows the custom lower-timeframe used for volume calculations (e.g., “(1)”, “(5)”, or “(1T)”)
2. Price‑Structure Backbone
Even without volume, the indicator draws structural features that underpin all other modules. These features are always on and serve as the reference levels for subsequent calculations.
2.1 What it draws
• Pivots: Swing highs and lows are detected using the pivot_left_input and pivot_right_input settings. A pivot high is identified when the high recorded pivot_right_input bars ago exceeds the highs of the preceding pivot_left_input bars and is also higher than (or equal to) the highs of the subsequent pivot_right_input bars; pivot lows follow the inverse logic. The indicator retains only a fixed number of such pivot points per side, as defined by point_count_input, discarding the oldest ones when the limit is exceeded.
• Trend lines: For each side, the indicator connects the earliest stored pivot and the most recent pivot (oldest high to newest high, and oldest low to newest low). When a new pivot is added or an old one drops out of the lookback window, the line’s endpoints—and therefore its slope—are recalculated accordingly.
• Horizontal support/resistance: The highest high and lowest low within the lookback window defined by length_input are plotted as horizontal dashed lines. These serve as short‑term support and resistance levels.
• Ranked labels: If showPivotLabels is enabled the indicator prints labels such as “HH1”, “HH2”, “LL1” and “LL2” near each pivot. The ranking is determined by comparing the price of each stored pivot: HH1 is the highest high, HH2 is the second highest, and so on; LL1 is the lowest low, LL2 is the second lowest. In the case of equal prices the newer pivot gets the better rank. Labels are offset from price using ½ × ATR × label_atr_multiplier, with the ATR length defined by label_atr_len_input. A dotted connector links each label to the candle’s wick.
2.2 Key settings
• length_input: Window length for finding the highest and lowest values and for determining trend line endpoints. A larger value considers more history and will generate longer trend lines and S/R levels.
• pivot_left_input, pivot_right_input: Strictness of swing confirmation. Higher values require more bars on either side to form a pivot; lower values create more pivots but may include minor swings.
• point_count_input: How many pivots are kept in memory on each side. When new pivots exceed this number the oldest ones are discarded.
• label_atr_len_input and label_atr_multiplier: Determine how far pivot labels are offset from the bar using ATR. Increasing the multiplier moves labels further away from price.
• Styling inputs for trend lines, horizontal lines and labels (color, width and line style).
Figure caption, The chart illustrates how the indicator’s price‑structure backbone operates. In this daily example, the script scans for bars where the high (or low) pivot_right_input bars back is higher (or lower) than the preceding pivot_left_input bars and higher or lower than the subsequent pivot_right_input bars; only those bars are marked as pivots.
These pivot points are stored and ranked: the highest high is labelled “HH1”, the second‑highest “HH2”, and so on, while lows are marked “LL1”, “LL2”, etc. Each label is offset from the price by half of an ATR‑based distance to keep the chart clear, and a dotted connector links the label to the actual candle.
The red diagonal line connects the earliest and latest stored high pivots, and the green line does the same for low pivots; when a new pivot is added or an old one drops out of the lookback window, the end‑points and slopes adjust accordingly. Dashed horizontal lines mark the highest high and lowest low within the current lookback window, providing visual support and resistance levels. Together, these elements form the structural backbone that other modules reference, even when volume data is unavailable.
3. Breakout Module
3.1 Concept
This module confirms that a price break beyond a recent high or low is supported by a genuine shift in buying or selling pressure. It requires price to clear the highest high (“HH1”) or lowest low (“LL1”) and, simultaneously, that the winning side shows a significant volume spike, dominance and ranking. Only when all volume and price conditions pass is a breakout labelled.
3.2 Inputs
• lookback_break_input : This controls the number of bars used to compute moving averages and percentiles for volume. A larger value smooths the averages and percentiles but makes the indicator respond more slowly.
• vol_mult_input : The “spike” multiplier; the current buy or sell volume must be at least this multiple of its moving average over the lookback window to qualify as a breakout.
• rank_threshold_input (0–100) : Defines a volume percentile cutoff: the current buyer/seller volume must be in the top (100−threshold)%(100−threshold)% of all volumes within the lookback window. For example, if set to 80, the current volume must be in the top 20 % of the lookback distribution.
• ratio_threshold_input (0–1) : Specifies the minimum share of total volume that the buyer (for a bullish breakout) or seller (for bearish) must hold on the current bar; the code also requires that the cumulative buyer volume over the lookback window exceeds the seller volume (and vice versa for bearish cases).
• use_custom_tf_input / custom_tf_input : When enabled, these inputs override the automatic choice of lower timeframe for up/down volume; otherwise the script selects a sensible default based on the chart’s timeframe.
• Label appearance settings : Separate options control the ATR-based offset length, offset multiplier, label size and colors for bullish and bearish breakout labels, as well as the connector style and width.
3.3 Detection logic
1. Data preparation : Retrieve per‑side volume from the lower timeframe and take absolute values. Build rolling arrays of the last lookback_break_input values to compute simple moving averages (SMAs), cumulative sums and percentile ranks for buy and sell volume.
2. Volume spike: A spike is flagged when the current buy (or, in the bearish case, sell) volume is at least vol_mult_input times its SMA over the lookback window.
3. Dominance test: The buyer’s (or seller’s) share of total volume on the current bar must meet or exceed ratio_threshold_input. In addition, the cumulative sum of buyer volume over the window must exceed the cumulative sum of seller volume for a bullish breakout (and vice versa for bearish). A separate requirement checks the sign of delta: for bullish breakouts delta_breakout must be non‑negative; for bearish breakouts it must be non‑positive.
4. Percentile rank: The current volume must fall within the top (100 – rank_threshold_input) percent of the lookback distribution—ensuring that the spike is unusually large relative to recent history.
5. Price test: For a bullish signal, the closing price must close above the highest pivot (HH1); for a bearish signal, the close must be below the lowest pivot (LL1).
6. Labeling: When all conditions above are satisfied, the indicator prints “Breakout ↑” above the bar (bullish) or “Breakout ↓” below the bar (bearish). Labels are offset using half of an ATR‑based distance and linked to the candle with a dotted connector.
Figure caption, (Breakout ↑ example) , On this daily chart, price pushes above the red trendline and the highest prior pivot (HH1). The indicator recognizes this as a valid breakout because the buyer‑side volume on the lower timeframe spikes above its recent moving average and buyers dominate the volume statistics over the lookback period; when combined with a close above HH1, this satisfies the breakout conditions. The “Breakout ↑” label appears above the candle, and the info table highlights that up‑volume is elevated relative to its 11‑bar average, buyer share exceeds the dominance threshold and money‑flow metrics support the move.
Figure caption, In this daily example, price breaks below the lowest pivot (LL1) and the lower green trendline. The indicator identifies this as a bearish breakout because sell‑side volume is sharply elevated—about twice its 11‑bar average—and sellers dominate both the bar and the lookback window. With the close falling below LL1, the script triggers a Breakout ↓ label and marks the corresponding row in the info table, which shows strong down volume, negative delta and a seller share comfortably above the dominance threshold.
4. Market Phase Module (Volume Only)
4.1 Concept
Not all markets trend; many cycle between periods of accumulation (buying pressure building up), distribution (selling pressure dominating) and neutral behavior. This module classifies the current bar into one of these phases without using ATR , relying solely on buyer and seller volume statistics. It looks at net flows, ratio changes and an OBV‑like cumulative line with dual‑reference (1‑ and 2‑bar) trends. The result is displayed both as on‑chart labels and in a dedicated row of the info table.
4.2 Inputs
• phase_period_len: Number of bars over which to compute sums and ratios for phase detection.
• phase_ratio_thresh : Minimum buyer share (for accumulation) or minimum seller share (for distribution, derived as 1 − phase_ratio_thresh) of the total volume.
• strict_mode: When enabled, both the 1‑bar and 2‑bar changes in each statistic must agree on the direction (strict confirmation); when disabled, only one of the two references needs to agree (looser confirmation).
• Color customisation for info table cells and label styling for accumulation and distribution phases, including ATR length, multiplier, label size, colors and connector styles.
• show_phase_module: Toggles the entire phase detection subsystem.
• show_phase_labels: Controls whether on‑chart labels are drawn when accumulation or distribution is detected.
4.3 Detection logic
The module computes three families of statistics over the volume window defined by phase_period_len:
1. Net sum (buyers minus sellers): net_sum_phase = Σ(buy) − Σ(sell). A positive value indicates a predominance of buyers. The code also computes the differences between the current value and the values 1 and 2 bars ago (d_net_1, d_net_2) to derive up/down trends.
2. Buyer ratio: The instantaneous ratio TF_buy_breakout / TF_tot_breakout and the window ratio Σ(buy) / Σ(total). The current ratio must exceed phase_ratio_thresh for accumulation or fall below 1 − phase_ratio_thresh for distribution. The first and second differences of the window ratio (d_ratio_1, d_ratio_2) determine trend direction.
3. OBV‑like cumulative net flow: An on‑balance volume analogue obv_net_phase increments by TF_buy_breakout − TF_sell_breakout each bar. Its differences over the last 1 and 2 bars (d_obv_1, d_obv_2) provide trend clues.
The algorithm then combines these signals:
• For strict mode , accumulation requires: (a) current ratio ≥ threshold, (b) cumulative ratio ≥ threshold, (c) both ratio differences ≥ 0, (d) net sum differences ≥ 0, and (e) OBV differences ≥ 0. Distribution is the mirror case.
• For loose mode , it relaxes the directional tests: either the 1‑ or the 2‑bar difference needs to agree in each category.
If all conditions for accumulation are satisfied, the phase is labelled “Accumulation” ; if all conditions for distribution are satisfied, it’s labelled “Distribution” ; otherwise the phase is “Neutral” .
4.4 Outputs
• Info table row : Row 8 displays “Market Phase (Vol)” on the left and the detected phase (Accumulation, Distribution or Neutral) on the right. The text colour of both cells matches a user‑selectable palette (typically green for accumulation, red for distribution and grey for neutral).
• On‑chart labels : When show_phase_labels is enabled and a phase persists for at least one bar, the module prints a label above the bar ( “Accum” ) or below the bar ( “Dist” ) with a dashed or dotted connector. The label is offset using ATR based on phase_label_atr_len_input and phase_label_multiplier and is styled according to user preferences.
Figure caption, The chart displays a red “Dist” label above a particular bar, indicating that the accumulation/distribution module identified a distribution phase at that point. The detection is based on seller dominance: during that bar, the net buyer-minus-seller flow and the OBV‑style cumulative flow were trending down, and the buyer ratio had dropped below the preset threshold. These conditions satisfy the distribution criteria in strict mode. The label is placed above the bar using an ATR‑based offset and a dashed connector. By the time of the current bar in the screenshot, the phase indicator shows “Neutral” in the info table—signaling that neither accumulation nor distribution conditions are currently met—yet the historical “Dist” label remains to mark where the prior distribution phase began.
Figure caption, In this example the market phase module has signaled an Accumulation phase. Three bars before the current candle, the algorithm detected a shift toward buyers: up‑volume exceeded its moving average, down‑volume was below average, and the buyer share of total volume climbed above the threshold while the on‑balance net flow and cumulative ratios were trending upwards. The blue “Accum” label anchored below that bar marks the start of the phase; it remains on the chart because successive bars continue to satisfy the accumulation conditions. The info table confirms this: the “Market Phase (Vol)” row still reads Accumulation, and the ratio and sum rows show buyers dominating both on the current bar and across the lookback window.
5. OB/OS Spike Module
5.1 What overbought/oversold means here
In many markets, a rapid extension up or down is often followed by a period of consolidation or reversal. The indicator interprets overbought (OB) conditions as abnormally strong selling risk at or after a price rally and oversold (OS) conditions as unusually strong buying risk after a decline. Importantly, these are not direct trade signals; rather they flag areas where caution or contrarian setups may be appropriate.
5.2 Inputs
• minHits_obos (1–7): Minimum number of oscillators that must agree on an overbought or oversold condition for a label to print.
• syncWin_obos: Length of a small sliding window over which oscillator votes are smoothed by taking the maximum count observed. This helps filter out choppy signals.
• Volume spike criteria: kVolRatio_obos (ratio of current volume to its SMA) and zVolThr_obos (Z‑score threshold) across volLen_obos. Either threshold can trigger a spike.
• Oscillator toggles and periods: Each of RSI, Stochastic (K and D), Williams %R, CCI, MFI, DeMarker and Stochastic RSI can be independently enabled; their periods are adjustable.
• Label appearance: ATR‑based offset, size, colors for OB and OS labels, plus connector style and width.
5.3 Detection logic
1. Directional volume spikes: Volume spikes are computed separately for buyer and seller volumes. A sell volume spike (sellVolSpike) flags a potential OverBought bar, while a buy volume spike (buyVolSpike) flags a potential OverSold bar. A spike occurs when the respective volume exceeds kVolRatio_obos times its simple moving average over the window or when its Z‑score exceeds zVolThr_obos.
2. Oscillator votes: For each enabled oscillator, calculate its overbought and oversold state using standard thresholds (e.g., RSI ≥ 70 for OB and ≤ 30 for OS; Stochastic %K/%D ≥ 80 for OB and ≤ 20 for OS; etc.). Count how many oscillators vote for OB and how many vote for OS.
3. Minimum hits: Apply the smoothing window syncWin_obos to the vote counts using a maximum‑of‑last‑N approach. A candidate bar is only considered if the smoothed OB hit count ≥ minHits_obos (for OverBought) or the smoothed OS hit count ≥ minHits_obos (for OverSold).
4. Tie‑breaking: If both OverBought and OverSold spike conditions are present on the same bar, compare the smoothed hit counts: the side with the higher count is selected; ties default to OverBought.
5. Label printing: When conditions are met, the bar is labelled as “OverBought X/7” above the candle or “OverSold X/7” below it. “X” is the number of oscillators confirming, and the bracket lists the abbreviations of contributing oscillators. Labels are offset from price using half of an ATR‑scaled distance and can optionally include a dotted or dashed connector line.
Figure caption, In this chart the overbought/oversold module has flagged an OverSold signal. A sell‑off from the prior highs brought price down to the lower trend‑line, where the bar marked “OverSold 3/7 DeM” appears. This label indicates that on that bar the module detected a buy‑side volume spike and that at least three of the seven enabled oscillators—in this case including the DeMarker—were in oversold territory. The label is printed below the candle with a dotted connector, signaling that the market may be temporarily exhausted on the downside. After this oversold print, price begins to rebound towards the upper red trend‑line and higher pivot levels.
Figure caption, This example shows the overbought/oversold module in action. In the left‑hand panel you can see the OB/OS settings where each oscillator (RSI, Stochastic, Williams %R, CCI, MFI, DeMarker and Stochastic RSI) can be enabled or disabled, and the ATR length and label offset multiplier adjusted. On the chart itself, price has pushed up to the descending red trendline and triggered an “OverBought 3/7” label. That means the sell‑side volume spiked relative to its average and three out of the seven enabled oscillators were in overbought territory. The label is offset above the candle by half of an ATR and connected with a dashed line, signaling that upside momentum may be overextended and a pause or pullback could follow.
6. Buyer/Seller Trap Module
6.1 Concept
A bull trap occurs when price appears to break above resistance, attracting buyers, but fails to sustain the move and quickly reverses, leaving a long upper wick and trapping late entrants. A bear trap is the opposite: price breaks below support, lures in sellers, then snaps back, leaving a long lower wick and trapping shorts. This module detects such traps by looking for price structure sweeps, order‑flow mismatches and dominance reversals. It uses a scoring system to differentiate risk from confirmed traps.
6.2 Inputs
• trap_lookback_len: Window length used to rank extremes and detect sweeps.
• trap_wick_threshold: Minimum proportion of a bar’s range that must be wick (upper for bull traps, lower for bear traps) to qualify as a sweep.
• trap_score_risk: Minimum aggregated score required to flag a trap risk. (The code defines a trap_score_confirm input, but confirmation is actually based on price reversal rather than a separate score threshold.)
• trap_confirm_bars: Maximum number of bars allowed for price to reverse and confirm the trap. If price does not reverse in this window, the risk label will expire or remain unconfirmed.
• Label settings: ATR length and multiplier for offsetting, size, colours for risk and confirmed labels, and connector style and width. Separate settings exist for bull and bear traps.
• Toggle inputs: show_trap_module and show_trap_labels enable the module and control whether labels are drawn on the chart.
6.3 Scoring logic
The module assigns points to several conditions and sums them to determine whether a trap risk is present. For bull traps, the score is built from the following (bear traps mirror the logic with highs and lows swapped):
1. Sweep (2 points): Price trades above the high pivot (HH1) but fails to close above it and leaves a long upper wick at least trap_wick_threshold × range. For bear traps, price dips below the low pivot (LL1), fails to close below and leaves a long lower wick.
2. Close break (1 point): Price closes beyond HH1 or LL1 without leaving a long wick.
3. Candle/delta mismatch (2 points): The candle closes bullish yet the order flow delta is negative or the seller ratio exceeds 50%, indicating hidden supply. Conversely, a bearish close with positive delta or buyer dominance suggests hidden demand.
4. Dominance inversion (2 points): The current bar’s buyer volume has the highest rank in the lookback window while cumulative sums favor sellers, or vice versa.
5. Low‑volume break (1 point): Price crosses the pivot but total volume is below its moving average.
The total score for each side is compared to trap_score_risk. If the score is high enough, a “Bull Trap Risk” or “Bear Trap Risk” label is drawn, offset from the candle by half of an ATR‑scaled distance using a dashed outline. If, within trap_confirm_bars, price reverses beyond the opposite level—drops back below the high pivot for bull traps or rises above the low pivot for bear traps—the label is upgraded to a solid “Bull Trap” or “Bear Trap” . In this version of the code, there is no separate score threshold for confirmation: the variable trap_score_confirm is unused; confirmation depends solely on a successful price reversal within the specified number of bars.
Figure caption, In this example the trap module has flagged a Bear Trap Risk. Price initially breaks below the most recent low pivot (LL1), but the bar closes back above that level and leaves a long lower wick, suggesting a failed push lower. Combined with a mismatch between the candle direction and the order flow (buyers regain control) and a reversal in volume dominance, the aggregate score exceeds the risk threshold, so a dashed “Bear Trap Risk” label prints beneath the bar. The green and red trend lines mark the current low and high pivot trajectories, while the horizontal dashed lines show the highest and lowest values in the lookback window. If, within the next few bars, price closes decisively above the support, the risk label would upgrade to a solid “Bear Trap” label.
Figure caption, In this example the trap module has identified both ends of a price range. Near the highs, price briefly pushes above the descending red trendline and the recent pivot high, but fails to close there and leaves a noticeable upper wick. That combination of a sweep above resistance and order‑flow mismatch generates a Bull Trap Risk label with a dashed outline, warning that the upside break may not hold. At the opposite extreme, price later dips below the green trendline and the labelled low pivot, then quickly snaps back and closes higher. The long lower wick and subsequent price reversal upgrade the previous bear‑trap risk into a confirmed Bear Trap (solid label), indicating that sellers were caught on a false breakdown. Horizontal dashed lines mark the highest high and lowest low of the lookback window, while the red and green diagonals connect the earliest and latest pivot highs and lows to visualize the range.
7. Sharp Move Module
7.1 Concept
Markets sometimes display absorption or climax behavior—periods when one side steadily gains the upper hand before price breaks out with a sharp move. This module evaluates several order‑flow and volume conditions to anticipate such moves. Users can choose how many conditions must be met to flag a risk and how many (plus a price break) are required for confirmation.
7.2 Inputs
• sharp Lookback: Number of bars in the window used to compute moving averages, sums, percentile ranks and reference levels.
• sharpPercentile: Minimum percentile rank for the current side’s volume; the current buy (or sell) volume must be greater than or equal to this percentile of historical volumes over the lookback window.
• sharpVolMult: Multiplier used in the volume climax check. The current side’s volume must exceed this multiple of its average to count as a climax.
• sharpRatioThr: Minimum dominance ratio (current side’s volume relative to the opposite side) used in both the instant and cumulative dominance checks.
• sharpChurnThr: Maximum ratio of a bar’s range to its ATR for absorption/churn detection; lower values indicate more absorption (large volume in a small range).
• sharpScoreRisk: Minimum number of conditions that must be true to print a risk label.
• sharpScoreConfirm: Minimum number of conditions plus a price break required for confirmation.
• sharpCvdThr: Threshold for cumulative delta divergence versus price change (positive for bullish accumulation, negative for bearish distribution).
• Label settings: ATR length (sharpATRlen) and multiplier (sharpLabelMult) for positioning labels, label size, colors and connector styles for bullish and bearish sharp moves.
• Toggles: enableSharp activates the module; show_sharp_labels controls whether labels are drawn.
7.3 Conditions (six per side)
For each side, the indicator computes six boolean conditions and sums them to form a score:
1. Dominance (instant and cumulative):
– Instant dominance: current buy volume ≥ sharpRatioThr × current sell volume.
– Cumulative dominance: sum of buy volumes over the window ≥ sharpRatioThr × sum of sell volumes (and vice versa for bearish checks).
2. Accumulation/Distribution divergence: Over the lookback window, cumulative delta rises by at least sharpCvdThr while price fails to rise (bullish), or cumulative delta falls by at least sharpCvdThr while price fails to fall (bearish).
3. Volume climax: The current side’s volume is ≥ sharpVolMult × its average and the product of volume and bar range is the highest in the lookback window.
4. Absorption/Churn: The current side’s volume divided by the bar’s range equals the highest value in the window and the bar’s range divided by ATR ≤ sharpChurnThr (indicating large volume within a small range).
5. Percentile rank: The current side’s volume percentile rank is ≥ sharp Percentile.
6. Mirror logic for sellers: The above checks are repeated with buyer and seller roles swapped and the price break levels reversed.
Each condition that passes contributes one point to the corresponding side’s score (0 or 1). Risk and confirmation thresholds are then applied to these scores.
7.4 Scoring and labels
• Risk: If scoreBull ≥ sharpScoreRisk, a “Sharp ↑ Risk” label is drawn above the bar. If scoreBear ≥ sharpScoreRisk, a “Sharp ↓ Risk” label is drawn below the bar.
• Confirmation: A risk label is upgraded to “Sharp ↑” when scoreBull ≥ sharpScoreConfirm and the bar closes above the highest recent pivot (HH1); for bearish cases, confirmation requires scoreBear ≥ sharpScoreConfirm and a close below the lowest pivot (LL1).
• Label positioning: Labels are offset from the candle by ATR × sharpLabelMult (full ATR times multiplier), not half, and may include a dashed or dotted connector line if enabled.
Figure caption, In this chart both bullish and bearish sharp‑move setups have been flagged. Earlier in the range, a “Sharp ↓ Risk” label appears beneath a candle: the sell‑side score met the risk threshold, signaling that the combination of strong sell volume, dominance and absorption within a narrow range suggested a potential sharp decline. The price did not close below the lower pivot, so this label remains a “risk” and no confirmation occurred. Later, as the market recovered and volume shifted back to the buy side, a “Sharp ↑ Risk” label prints above a candle near the top of the channel. Here, buy‑side dominance, cumulative delta divergence and a volume climax aligned, but price has not yet closed above the upper pivot (HH1), so the alert is still a risk rather than a confirmed sharp‑up move.
Figure caption, In this chart a Sharp ↑ label is displayed above a candle, indicating that the sharp move module has confirmed a bullish breakout. Prior bars satisfied the risk threshold — showing buy‑side dominance, positive cumulative delta divergence, a volume climax and strong absorption in a narrow range — and this candle closes above the highest recent pivot, upgrading the earlier “Sharp ↑ Risk” alert to a full Sharp ↑ signal. The green label is offset from the candle with a dashed connector, while the red and green trend lines trace the high and low pivot trajectories and the dashed horizontals mark the highest and lowest values of the lookback window.
8. Market‑Maker / Spread‑Capture Module
8.1 Concept
Liquidity providers often “capture the spread” by buying and selling in almost equal amounts within a very narrow price range. These bars can signal temporary congestion before a move or reflect algorithmic activity. This module flags bars where both buyer and seller volumes are high, the price range is only a few ticks and the buy/sell split remains close to 50%. It helps traders spot potential liquidity pockets.
8.2 Inputs
• scalpLookback: Window length used to compute volume averages.
• scalpVolMult: Multiplier applied to each side’s average volume; both buy and sell volumes must exceed this multiple.
• scalpTickCount: Maximum allowed number of ticks in a bar’s range (calculated as (high − low) / minTick). A value of 1 or 2 captures ultra‑small bars; increasing it relaxes the range requirement.
• scalpDeltaRatio: Maximum deviation from a perfect 50/50 split. For example, 0.05 means the buyer share must be between 45% and 55%.
• Label settings: ATR length, multiplier, size, colors, connector style and width.
• Toggles : show_scalp_module and show_scalp_labels to enable the module and its labels.
8.3 Signal
When, on the current bar, both TF_buy_breakout and TF_sell_breakout exceed scalpVolMult times their respective averages and (high − low)/minTick ≤ scalpTickCount and the buyer share is within scalpDeltaRatio of 50%, the module prints a “Spread ↔” label above the bar. The label uses the same ATR offset logic as other modules and draws a connector if enabled.
Figure caption, In this chart the spread‑capture module has identified a potential liquidity pocket. Buyer and seller volumes both spiked above their recent averages, yet the candle’s range measured only a couple of ticks and the buy/sell split stayed close to 50 %. This combination met the module’s criteria, so it printed a grey “Spread ↔” label above the bar. The red and green trend lines link the earliest and latest high and low pivots, and the dashed horizontals mark the highest high and lowest low within the current lookback window.
9. Money Flow Module
9.1 Concept
To translate volume into a monetary measure, this module multiplies each side’s volume by the closing price. It tracks buying and selling system money default currency on a per-bar basis and sums them over a chosen period. The difference between buy and sell currencies (Δ$) shows net inflow or outflow.
9.2 Inputs
• mf_period_len_mf: Number of bars used for summing buy and sell dollars.
• Label appearance settings: ATR length, multiplier, size, colors for up/down labels, and connector style and width.
• Toggles: Use enableMoneyFlowLabel_mf and showMFLabels to control whether the module and its labels are displayed.
9.3 Calculations
• Per-bar money: Buy $ = TF_buy_breakout × close; Sell $ = TF_sell_breakout × close. Their difference is Δ$ = Buy $ − Sell $.
• Summations: Over mf_period_len_mf bars, compute Σ Buy $, Σ Sell $ and ΣΔ$ using math.sum().
• Info table entries: Rows 9–13 display these values as texts like “↑ USD 1234 (1M)” or “ΣΔ USD −5678 (14)”, with colors reflecting whether buyers or sellers dominate.
• Money flow status: If Δ$ is positive the bar is marked “Money flow in” ; if negative, “Money flow out” ; if zero, “Neutral”. The cumulative status is similarly derived from ΣΔ.Labels print at the bar that changes the sign of ΣΔ, offset using ATR × label multiplier and styled per user preferences.
Figure caption, The chart illustrates a steady rise toward the highest recent pivot (HH1) with price riding between a rising green trend‑line and a red trend‑line drawn through earlier pivot highs. A green Money flow in label appears above the bar near the top of the channel, signaling that net dollar flow turned positive on this bar: buy‑side dollar volume exceeded sell‑side dollar volume, pushing the cumulative sum ΣΔ$ above zero. In the info table, the “Money flow (bar)” and “Money flow Σ” rows both read In, confirming that the indicator’s money‑flow module has detected an inflow at both bar and aggregate levels, while other modules (pivots, trend lines and support/resistance) remain active to provide structural context.
In this example the Money Flow module signals a net outflow. Price has been trending downward: successive high pivots form a falling red trend‑line and the low pivots form a descending green support line. When the latest bar broke below the previous low pivot (LL1), both the bar‑level and cumulative net dollar flow turned negative—selling volume at the close exceeded buying volume and pushed the cumulative Δ$ below zero. The module reacts by printing a red “Money flow out” label beneath the candle; the info table confirms that the “Money flow (bar)” and “Money flow Σ” rows both show Out, indicating sustained dominance of sellers in this period.
10. Info Table
10.1 Purpose
When enabled, the Info Table appears in the lower right of your chart. It summarises key values computed by the indicator—such as buy and sell volume, delta, total volume, breakout status, market phase, and money flow—so you can see at a glance which side is dominant and which signals are active.
10.2 Symbols
• ↑ / ↓ — Up (↑) denotes buy volume or money; down (↓) denotes sell volume or money.
• MA — Moving average. In the table it shows the average value of a series over the lookback period.
• Σ (Sigma) — Cumulative sum over the chosen lookback period.
• Δ (Delta) — Difference between buy and sell values.
• B / S — Buyer and seller share of total volume, expressed as percentages.
• Ref. Price — Reference price for breakout calculations, based on the latest pivot.
• Status — Indicates whether a breakout condition is currently active (True) or has failed.
10.3 Row definitions
1. Up volume / MA up volume – Displays current buy volume on the lower timeframe and its moving average over the lookback period.
2. Down volume / MA down volume – Shows current sell volume and its moving average; sell values are formatted in red for clarity.
3. Δ / ΣΔ – Lists the difference between buy and sell volume for the current bar and the cumulative delta volume over the lookback period.
4. Σ / MA Σ (Vol/MA) – Total volume (buy + sell) for the bar, with the ratio of this volume to its moving average; the right cell shows the average total volume.
5. B/S ratio – Buy and sell share of the total volume: current bar percentages and the average percentages across the lookback period.
6. Buyer Rank / Seller Rank – Ranks the bar’s buy and sell volumes among the last (n) bars; lower rank numbers indicate higher relative volume.
7. Σ Buy / Σ Sell – Sum of buy and sell volumes over the lookback window, indicating which side has traded more.
8. Breakout UP / DOWN – Shows the breakout thresholds (Ref. Price) and whether the breakout condition is active (True) or has failed.
9. Market Phase (Vol) – Reports the current volume‑only phase: Accumulation, Distribution or Neutral.
10. Money Flow – The final rows display dollar amounts and status:
– ↑ USD / Σ↑ USD – Buy dollars for the current bar and the cumulative sum over the money‑flow period.
– ↓ USD / Σ↓ USD – Sell dollars and their cumulative sum.
– Δ USD / ΣΔ USD – Net dollar difference (buy minus sell) for the bar and cumulatively.
– Money flow (bar) – Indicates whether the bar’s net dollar flow is positive (In), negative (Out) or neutral.
– Money flow Σ – Shows whether the cumulative net dollar flow across the chosen period is positive, negative or neutral.
The chart above shows a sequence of different signals from the indicator. A Bull Trap Risk appears after price briefly pushes above resistance but fails to hold, then a green Accum label identifies an accumulation phase. An upward breakout follows, confirmed by a Money flow in print. Later, a Sharp ↓ Risk warns of a possible sharp downturn; after price dips below support but quickly recovers, a Bear Trap label marks a false breakdown. The highlighted info table in the center summarizes key metrics at that moment, including current and average buy/sell volumes, net delta, total volume versus its moving average, breakout status (up and down), market phase (volume), and bar‑level and cumulative money flow (In/Out).
11. Conclusion & Final Remarks
This indicator was developed as a holistic study of market structure and order flow. It brings together several well‑known concepts from technical analysis—breakouts, accumulation and distribution phases, overbought and oversold extremes, bull and bear traps, sharp directional moves, market‑maker spread bars and money flow—into a single Pine Script tool. Each module is based on widely recognized trading ideas and was implemented after consulting reference materials and example strategies, so you can see in real time how these concepts interact on your chart.
A distinctive feature of this indicator is its reliance on per‑side volume: instead of tallying only total volume, it separately measures buy and sell transactions on a lower time frame. This approach gives a clearer view of who is in control—buyers or sellers—and helps filter breakouts, detect phases of accumulation or distribution, recognize potential traps, anticipate sharp moves and gauge whether liquidity providers are active. The money‑flow module extends this analysis by converting volume into currency values and tracking net inflow or outflow across a chosen window.
Although comprehensive, this indicator is intended solely as a guide. It highlights conditions and statistics that many traders find useful, but it does not generate trading signals or guarantee results. Ultimately, you remain responsible for your positions. Use the information presented here to inform your analysis, combine it with other tools and risk‑management techniques, and always make your own decisions when trading.
EMA + SMA - R.AR.A. Trader - Multi-MA Suite (EMA & SMA)
1. Overview
Welcome, students of R.A. Trader!
This indicator is a powerful and versatile tool designed specifically to support the trading methodologies taught by Rudá Alves. The R.A. Trader Multi-MA Suite combines two fully customizable groups of moving averages into a single, clean indicator.
Its purpose is to eliminate chart clutter and provide a clear, at-a-glance view of market trends, momentum, and dynamic levels of support and resistance across multiple timeframes. By integrating key short-term and long-term moving averages, this tool will help you apply the R.A. Trader analytical framework with greater efficiency and precision.
2. Core Features
Dual Moving Average Groups: Configure two independent sets of moving averages, perfect for separating short-term (EMA) and long-term (SMA) analysis.
Four MAs Per Group: Each group contains four fully customizable moving averages.
Multiple MA Types: Choose between several types of moving averages for each group (SMA, EMA, WMA, HMA, RMA).
Toggle Visibility: Easily show or hide each group with a single click in the settings panel.
Custom Styling: Key moving averages are styled for instant recognition, including thicker lines for longer periods and a special dotted line for the 250-period SMA.
Clean and Efficient: The code is lightweight and optimized to run smoothly on the TradingView platform.
Group 1 (Default: EMAs)
This group is pre-configured for shorter-term Exponential Moving Averages but is fully customizable.
Setting Label Description
MA Type - EMA Select the type of moving average for this entire group (e.g., EMA, SMA).
EMA 5 Sets the period for the first moving average.
EMA 10 Sets the period for the second moving average.
EMA 20 Sets the period for the third moving average.
EMA 400 Sets the period for the fourth moving average.
Show EMA Group A checkbox to show or hide all MAs in this group.
Exportar para as Planilhas
Group 2 (Default: SMAs)
This group is pre-configured for longer-term Simple Moving Averages, often used to identify major trends.
Setting Label Description
MA Type - SMA Select the type of moving average for this entire group.
SMA 50 Sets the period for the first moving average.
SMA 100 Sets the period for the second moving average.
SMA 200 Sets the period for the third moving average.
SMA 250 Sets the period for the fourth moving average (styled as a dotted line).
Show SMA Group A checkbox to show or hide all MAs in this group.
EMA + SMA - R.AR.A. Trader - Multi-MA Suite (EMA & SMA)
1. Overview
Welcome, students of R.A. Trader!
This indicator is a powerful and versatile tool designed specifically to support the trading methodologies taught by Rudá Alves. The R.A. Trader Multi-MA Suite combines two fully customizable groups of moving averages into a single, clean indicator.
Its purpose is to eliminate chart clutter and provide a clear, at-a-glance view of market trends, momentum, and dynamic levels of support and resistance across multiple timeframes. By integrating key short-term and long-term moving averages, this tool will help you apply the R.A. Trader analytical framework with greater efficiency and precision.
2. Core Features
Dual Moving Average Groups: Configure two independent sets of moving averages, perfect for separating short-term (EMA) and long-term (SMA) analysis.
Four MAs Per Group: Each group contains four fully customizable moving averages.
Multiple MA Types: Choose between several types of moving averages for each group (SMA, EMA, WMA, HMA, RMA).
Toggle Visibility: Easily show or hide each group with a single click in the settings panel.
Custom Styling: Key moving averages are styled for instant recognition, including thicker lines for longer periods and a special dotted line for the 250-period SMA.
Clean and Efficient: The code is lightweight and optimized to run smoothly on the TradingView platform.
Group 1 (Default: EMAs)
This group is pre-configured for shorter-term Exponential Moving Averages but is fully customizable.
Setting Label Description
MA Type - EMA Select the type of moving average for this entire group (e.g., EMA, SMA).
EMA 5 Sets the period for the first moving average.
EMA 10 Sets the period for the second moving average.
EMA 20 Sets the period for the third moving average.
EMA 400 Sets the period for the fourth moving average.
Show EMA Group A checkbox to show or hide all MAs in this group.
Exportar para as Planilhas
Group 2 (Default: SMAs)
This group is pre-configured for longer-term Simple Moving Averages, often used to identify major trends.
Setting Label Description
MA Type - SMA Select the type of moving average for this entire group.
SMA 50 Sets the period for the first moving average.
SMA 100 Sets the period for the second moving average.
SMA 200 Sets the period for the third moving average.
SMA 250 Sets the period for the fourth moving average (styled as a dotted line).
Show SMA Group A checkbox to show or hide all MAs in this group.
Exportar para as Planilhas
Pineify Signals and OverlaysIndicator Theoretical Basis
Pineify Signals and Overlays is an invite-only trend-following and reversal-detection toolkit that fuses four well-known concepts— Dow-Theory trend phases , a multi-pair EMA cloud, QQE momentum, and ATR-based risk management—into a single, weight-balanced engine. An optional multi-time-frame (MTF) filter aligns lower-time-frame signals with higher-time-frame structure, helping traders avoid counter-trend setups. All components can be toggled from the settings panel, and a beginner “One-Click” preset loads a conservative profile out of the box.
Why it’s a single script: The algorithm scores every bar on three orthogonal axes—trend, momentum, and volatility—then issues context-aware arrows and coloured clouds only when the axes agree within user-defined tolerances. This inter-locking logic cannot be reproduced by simply stacking independent indicators on a chart, hence the need for an integrated implementation.
Trend Confirmation
Trend Confirmation: This indicator presents two types of market trends: the primary trend and the secondary trend. The primary trend is the long - term direction of the market and can last for days or months; the secondary trend is the adjustment phase within the primary trend.
This indicator uses the EMA (Exponential Moving Average) and visualizes the trend phases through color filling. The judgment of the trend is that blue plus green indicates a bullish trend, and yellow plus red indicates a bearish trend.
The primary trend of this indicator is visualized by two sets of moving averages through color filling. These two sets of moving averages are used to describe the short - term and long - term trends in the market.
The short - period moving averages and the long - period moving averages each consist of 4 moving averages, with a total of 8 moving averages, representing the short - term fluctuations and trends of the market.
Trend Persistence: Once the primary trend is formed, it will persist for a period of time. This indicator judges based on the Dow Theory. Short - term market fluctuations do not necessarily reflect changes in the primary trend. Therefore, the judgment direction of the primary trend is visualized through color.
The Signals of Buying, Selling and Closing
In the primary trend, we can see signals of trend reversal. This indicator incorporates the "Consecutive Candles". The indicator mainly identifies the overbought or oversold state of the market through a series of consecutive conditions, so as to predict the reversal point. The core of this indicator is to identify a series of consecutive price movements in the market trend and determine whether the market is about to reverse based on this sequence. We visualize the turning points through buy and sell signals.
The trend confirmation system utilizes four pairs of Exponential Moving Averages (EMAs) creating dynamic cloud formations that visualize market direction. Short-period EMAs (5, 8, 20, 34) interact with longer-period EMAs (9, 13, 21, 50) to generate color-coded trend clouds . Blue and green clouds indicate bullish conditions, while yellow and red clouds signal bearish trends, providing immediate visual trend identification.
The presentation of buying and selling points, namely "Quantitative Qualitative Estimation", is a technical indicator that combines the concepts of the Relative Strength Index (RSI) and moving averages. It is used to evaluate market trends, overbought and oversold conditions, as well as potential trend reversal points. The oscillator has a relatively long smoothing period, making the indicator relatively stable, thus enabling the visualization of buy + and sell + signals for trading.
ATR Stop - Loss Line
ATR (Average True Range) is an indicator for measuring market volatility. By using the ATR value to set the stop - loss distance, the stop - loss level can be automatically adjusted according to market volatility, making the stop - loss more flexible.
Core principle
Trend-Cloud Engine
EMA Pairs (5, 8, 20, 34 vs 9, 13, 21, 50)—Two four-EMA sets form “fast” and “slow” envelopes. When the volume-weighted mean of the fast set sits above the slow set and both slopes are positive, the bar is tagged primary bullish; the inverse tags primary bearish. Cloud colours (blue/green vs yellow/red) mirror Dow Theory’s primary/secondary trend hierarchy.
Momentum & Exhaustion Layer
QQE Oscillator (RSI 14, factor 4.238) detects momentum extremes and smooths noise more than a raw RSI, making it better suited for multi-time-frame use.
Consecutive-Candle Counter (default 8) highlights potential exhaustion after extended unidirectional moves; reversal symbols appear only if QQE divergence also exists.
Volatility-Adjusted Risk Line
ATR Trailing Stop (ATR 21, dynamic multiplier) expands in high volatility and tightens in low volatility, offering an adaptive exit reference rather than a fixed-tick stop.
Multi-Time-Frame Confirmation
The script automatically chooses a higher aggregation (e.g., 4 × the chart timeframe) and requires primary-trend agreement before issuing “Long ▲+” or “Short ▼+” confirmations. This guards against false signals during counter-trend rebounds.
Recommended parameters
RSI Length: 14 (QQE calculation base)
QQE Factor: 4.238 (Fibonacci-based multiplier)
ATR Period: 21 (volatility measurement)
EMA Lengths: Configurable short (5,8,20,34) and long (9,13,21,50) periods
Consecutive Candles: Selectable count (8)
Multi-timeframe Filter: Filter is enabled by default, resulting in more accurate signals.
Filters
The multi-timeframe filter enhances signal reliability by confirming trends across higher timeframes. This prevents counter-trend trades by ensuring alignment between current chart timeframe and broader market direction. The filter automatically calculates appropriate higher timeframes for trend confirmation.
Signals & Alerts
The indicator system exports multiple alert signals, and you can easily alert for any signal.
Up Trend : Primary long signal appears
Long - ▲ : Buy signal appears
Long - ▲+ : Confirmation buy signal appears
Long - ● : Primary reversal signal appears
Long - ☓ : Secondary reversal signal appears
Down Trend : Primary short signal appears
Short - ▼ : Sell signal appears
Short - ▼+ : Confirmation sell signal appears
Short - ● : Primary reversal signal appears
Short - ☓ : Secondary reversal signal appears
Originality & Value for Traders
Integrated scoring logic ensures signals fire only when trend, momentum, and volatility metrics corroborate, reducing “indicator conflict”.
Auto-computed MTF pairs mean no manual timeframe juggling.
Weight-balanced QQE/EMA blend creates smoother trend clouds than standard MA crosses, yet remains more responsive than Keltner or Donchian approaches.
One-click beginner profile plus full parameter access supports both novice and advanced users.
Risk Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (Pineify) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results.
Heikinisi Candle (With MA + Smoothing + Buy/Sell with Cooldown)This custom Heikinisi Candle (With MA + Smoothing + Buy/Sell with Cooldown) indicator combines the advantages of Heikin-Ashi candles with the flexibility of multiple moving averages and smoothing options. The built-in buy/sell signals with cooldown functionality help traders avoid overtrading while capturing trend reversals and momentum shifts. Whether you're a day trader, swing trader, or long-term investor, this indicator offers powerful tools for analyzing price action and making informed trading decisions.
Note: Disable the regular candle to get better visualization.
Key Features:
Custom Heikin-Ashi Candles:
The core feature of this script is the Heikin-Ashi candles, which are known for smoothing price action and helping traders identify market trends more clearly.
Unlike traditional Heikin-Ashi, this version adjusts the Heikin-Ashi close based on specific price action patterns, including rejection signals and engulfing patterns.
The custom Heikin-Ashi open also incorporates momentum, adjusting dynamically based on recent price changes.
Price Action Measurements:
The indicator measures key price action components, including:
Body: The absolute difference between the open and close.
Candle Range: The total range from high to low.
Upper Wick: The distance from the highest price to the maximum of open or close.
Lower Wick: The distance from the lowest price to the minimum of open or close.
These measurements help detect bullish and bearish conditions, as well as price rejection signals.
Buy/Sell Signal Logic:
Buy Signal: Triggered when the Heikin-Ashi close is above the chosen moving average (MA1), with a cooldown period to avoid too frequent signals.
Sell Signal: Triggered when the Heikin-Ashi close falls below the MA1 after a buy signal has already been issued.
The cooldown period ensures that buy and sell signals are spaced apart by a specific number of bars, preventing excessive signal generation during periods of price consolidation.
Multiple Moving Averages (MA):
This script supports up to three customizable moving averages (MA1, MA2, MA3), each of which can be set to different types and lengths, including:
Simple Moving Average (SMA)
Exponential Moving Average (EMA)
Weighted Moving Average (WMA)
Volume Weighted Moving Average (VWMA)
Volume Weighted Moving Price (VWMP)
Least Squares Moving Average (LSMA)
Hull Moving Average (HMA)
Double Exponential Moving Average (DEMA)
Triple Exponential Moving Average (TEMA)
Users can adjust the length and type of each MA for tailored analysis.
Smoothing Options for MAs:
Users can smooth the output of MAs using various types of smoothing algorithms (SMA, EMA, LSMA, WMA, Gaussian) and a customizable length. This helps to reduce noise in the moving average lines and provides clearer signals.
Gaussian Filter (Advanced Smoothing):
A Gaussian Filter is available as a smoothing option for MAs. This filter reduces noise and makes the moving averages smoother, which can be particularly helpful in volatile or choppy markets.
Alerts and Visualization:
The script allows users to plot buy and sell signals on the chart with distinctive markers. A Buy Signal is shown below the bar with a lime green marker and text "Buy," while a Sell Signal is shown above the bar with a red marker and text "Sell."
Traders can also set up alerts based on the buy/sell signals to get notified in real time.
Indicator Configuration:
Heikin-Ashi Candle Configuration:
Automatically adjusts Heikin-Ashi candles based on rejection signals, engulfing patterns, and momentum. It uses custom formulas for the Heikin-Ashi open and close, making it more sensitive to price action than standard Heikin-Ashi candles.
Moving Averages (MA) Configuration:
You can select from multiple moving average types and lengths (MA1, MA2, MA3) for trend-following analysis.
Choose between SMA, EMA, WMA, VWMA, VWMP, LSMA, HMA, DEMA, and TEMA.
Smoothing Options:
Enable or disable smoothing for the moving averages.
Select from different smoothing types, including SMA, EMA, RMA, WMA, LSMA, and Gaussian.
Cooldown Period:
Control the number of bars that must pass before a new buy/sell signal is triggered. This cooldown period helps prevent excessive trading signals in quick succession.
How to Use:
Analyze Price Action with Heikin-Ashi Candles:
The custom Heikin-Ashi candles are ideal for spotting market trends, reversals, and price rejection. Use the candle patterns to gauge the market sentiment.
Use MAs for Trend Confirmation:
The moving averages (MA1, MA2, MA3) can help identify the prevailing trend. A price above a rising MA indicates an uptrend, while a price below a falling MA suggests a downtrend.
Trigger Buy and Sell Signals:
When the Heikin-Ashi close crosses above MA1, a buy signal is triggered.
When the Heikin-Ashi close crosses below MA1 after a buy signal, a sell signal is triggered.
The cooldown period ensures that signals are spaced out, preventing overtrading.
Use Smoothing for Clearer Signals:
If you are trading in a volatile market, you can use the smoothing options to make the MAs smoother and reduce noise.
Displaced MAsDisplaced Moving Averages with Customizable Bands
Overview
The "Displaced Moving Averages with Customizable Bands" indicator is a powerful and versatile tool designed to provide a comprehensive view of price action in relation to various moving averages (MAs) and their volatility. It offers a high degree of customization, allowing traders to tailor the indicator to their specific needs and trading styles. The indicator features a primary moving average with multiple configurable percentage-based displacement bands. It also includes additional moving averages with standard deviation bands for a more in-depth analysis of different timeframes.
Key Features
Multiple Moving Average Types:
Choose from a wide range of popular moving average types for the primary MA calculation:
WMA (Weighted Moving Average)
EMA (Exponential Moving Average)
SMA (Simple Moving Average)
HMA (Hull Moving Average)
VWAP (Volume-Weighted Average Price)
Smoothed VWAP
Rolling VWAP
The flexibility to select the most appropriate MA type allows you to adapt the indicator to different market conditions and trading strategies.
Smoothed VWAP with Customizable Smoothing:
When "Smoothed VWAP" is selected, you can further refine it by choosing a smoothing type: SMA, EMA, WMA, or HMA.
Customize the smoothing period based on the chart's timeframe (1H, 4H, D, W) or use a default period. This feature offers fine-grained control over the responsiveness of the VWAP calculation.
Rolling VWAP with Adjustable Lookback:
The "Rolling VWAP" option calculates the VWAP over a user-defined lookback period.
Customize the lookback length for different timeframes (1H, 4H, D, W) or use a default period. This provides a dynamic VWAP calculation that adapts to the chosen timeframe.
Customizable Lookback Lengths:
Define the lookback period for the primary moving average calculation.
Tailor the lookback lengths for different timeframes (1H, 4H, D, W) or use a default value.
This allows you to adjust the sensitivity of the MA to recent price action based on the timeframe you are analyzing. Also has inputs for 5m, and 15m timeframes.
Percentage-Based Displacement Bands:
The core feature of this indicator is the ability to plot multiple displacement bands above and below the primary moving average.
These bands are calculated as a percentage offset from the MA, providing a clear visualization of price deviations.
Visibility Toggles: Independently show or hide each band (+/- 2%, 5%, 7%, 10%, 15%, 20%, 25%, 30%, 40%, 50%, 60%, 70%).
Customizable Colors: Assign unique colors to each band for easy visual identification.
Adjustable Multipliers: Fine-tune the percentage displacement for each band using individual multiplier inputs.
The bands are useful for identifying potential support and resistance levels, overbought/oversold conditions, and volatility expansions/contractions.
Labels for Displacement Bands:
The indicator displays labels next to each plotted band, clearly indicating the percentage displacement (e.g., "+7%", "-15%").
Customize the label text color for optimal visibility.
The labels can be horizontally offset by a user-defined number of bars.
Additional Moving Averages with Standard Deviation Bands:
The indicator includes three additional moving averages, each with upper and lower standard deviation bands. These are designed to provide insights into volatility on different timeframes.
Timeframe Selection: Choose the timeframes for these additional MAs (e.g., Weekly, 4-Hour, Daily).
Sigma (Standard Deviation Multiplier): Adjust the standard deviation multiplier for each MA.
MA Length: Set the lookback period for each additional MA.
Visibility Toggles: Show or hide the lower band of MA1, the middle/upper/lower bands of MA2, and the bands of MA3.
4h Bollinger Middle MA is unticked by default to provide a less cluttered chart
These additional MAs are particularly useful for multi-timeframe analysis and identifying potential trend reversals or volatility shifts.
How to Use
Add the indicator to your TradingView chart.
Customize the settings:
Select the desired Moving Average Type for the primary MA.
If using Smoothed VWAP, choose the Smoothing Type and adjust the Smoothing Period for different timeframes.
If using Rolling VWAP, adjust the Lookback Length for different timeframes.
Set the Lookback Length for the primary MA for different timeframes.
Toggle the visibility of the Displacement Bands and adjust their Colors and Multipliers.
Customize the Label Text Color and Offset.
Configure the Timeframes, Sigma, and MA Length for the additional moving averages.
Toggle the visibility of the additional MA bands.
Interpret the plotted lines and bands:
Primary MA: Represents the average price over the selected lookback period, calculated using the chosen MA type.
Displacement Bands: Indicate potential support and resistance levels, overbought/oversold conditions, and volatility ranges. Price trading outside these bands may signal significant deviations from the average.
Additional MAs with Standard Deviation Bands: Provide insights into volatility on different timeframes. Wider bands suggest higher volatility, while narrower bands indicate lower volatility.
Potential Trading Applications
Trend Identification: Use the primary MA to identify the overall trend direction.
Support and Resistance: The displacement bands can act as dynamic support and resistance levels.
Overbought/Oversold: Price reaching the outer displacement bands may suggest overbought or oversold conditions, potentially indicating a pullback or reversal.
Volatility Analysis: The standard deviation bands of the additional MAs can help assess volatility on different timeframes.
Multi-Timeframe Analysis: Combine the primary MA with the additional MAs to gain a broader perspective on price action across multiple timeframes.
Entry and Exit Signals: Use the interaction of price with the MA and bands to generate potential entry and exit signals. For example, a bounce off a lower band could be a buy signal, while a rejection from an upper band could be a sell signal.
Disclaimer
This indicator is for informational and educational purposes only and should not be considered financial advice. Trading involves risk, and past performance is not indicative of future results. Always conduct thorough research and consider your risk tolerance before making any trading decisions.
Enjoy using the "Displaced Moving Averages with Customizable Bands" indicator!
Display MB on BarsDescription
The "Display MB on Bars" Pine Script indicator is designed to visually represent Market Breadth values and R4.5 scores on trading charts. This script enables traders to highlight and analyze key market behavior using pre-defined thresholds for MB scores and dynamically calculated R4.5 values. Additionally, it includes a moving average status table to assess price levels relative to the 10-day and 20-day moving averages.
Features:
1. COB Date Matching: Displays data corresponding to specific "COB dates" provided by the user.
2. MB Value Visualization:
o Highlights bars with a background color based on MB values:
Red if MB ≤ MB_Red (default: -1).
Green if MB ≥ MB_Green (default: 3).
3. R4.5 Scores Display:
o Creates a label on the chart with the MB and R4.5 values when conditions are met (e.g., R4.5 > 200 or specific MB thresholds).
4. Index Moving Average Comparison:
o Calculates 10-day and 20-day moving averages for the selected symbol (default: NSE:NIFTYMIDSML400).
o Shows the price position relative to these moving averages in a table.
How to Use:
1. Configure Inputs:
o COB Dates: Enter a comma-separated list of dates in the format DD-MM-YYYY.
o MB Values: Provide the corresponding MB scores for the COB dates.
o R4.5 Values: Provide the R4.5 scores for the COB dates.
o Set the thresholds for MB values (MB Red<= and MB Green>=).
o Toggle features like MB, RS (R4.5), and the moving average status table.
2. Interpret the Output:
o Observe background colors on the bars:
Red: Indicates MB is less than or equal to the lower threshold.
Green: Indicates MB exceeds the upper threshold.
o Check labels above bars for R4.5 and MB values when conditions are met.
o Refer to the status table on the top-right corner to understand price positions relative to 10-day and 20-day moving averages.
This script is especially useful for traders seeking insights into custom metrics like MB and R4.5, enabling quick identification of key patterns and trends in the market.
2 MA Simplified Sideways Candle ColorsHow to Use the Indicator: A Simple Guide
This custom indicator colors candlesticks to help you quickly identify market conditions based on two moving averages (9-period and 21-period). Here’s how to get started:
Add the Indicator to Your Chart:
Copy the provided Pine Script code.
Open TradingView and navigate to the Pine Editor.
Paste the code into a new script, save it, and then add the indicator to your chart.
Understand the Candlestick Colors:
Green Candles (Bullish):
Indicates a bullish market when the price is above the 9-period SMA and the 9 SMA is above the 21 SMA.
Red Candles (Bearish):
Indicates a bearish market when the price is below the 21-period SMA and the 9 SMA is below the 21 SMA.
Yellow Candles (Sideways):
Indicates a sideways (neutral) market when:
Condition 1: Price is below the 9 SMA but above the 21 SMA, with the 9 SMA above the 21 SMA, or
Condition 2: The 9 SMA is below the 21 SMA, and the price lies between them.
White Candles (No Clear Signal):
Used when none of the above conditions apply.
Interpreting the Signals:
When you see green candles, the market is showing bullish momentum.
When you see red candles, bearish pressure is dominant.
Yellow candles suggest the market is moving sideways without a strong trend.
White candles mean that none of the specific conditions (bullish, bearish, or sideways) are currently met.
Chart Reference:
The script also plots two moving averages on your chart (a blue line for the 9-period SMA and an orange line for the 21-period SMA). These lines help visualize how price interacts with these averages.
Using the Indicator in Practice:
Once added to your chart, monitor the color of the candlesticks:
Green signals may be opportunities to consider long positions.
Red signals may indicate a good time to consider short positions or tighten stops.
Yellow signals suggest caution as the market isn’t trending strongly.
White candles indicate no strong signal, so it might be a period of consolidation or indecision.
This simple visual cue system allows you to quickly assess market sentiment and make more informed trading decisions based on the relationship between price and the two moving averages.
Titan Wings 3 (by Oberlunar)Titan Wings 3: Volatility and Trend Dynamics Tool
Description:
Titan Wings 3 is a comprehensive indicator designed to help traders navigate complex market conditions by integrating volatility analysis, advanced moving averages, and dynamic signal generation. This script is not a simple combination of public domain tools; it is a carefully engineered system that merges statistical insights with market structure analysis to deliver actionable signals.
Core Functionality:
The indicator uses log returns to calculate volatility, which is then conditioned by price behavior relative to multiple moving averages. Volatility bands are dynamically adjusted based on percentile ranks, standard deviations, and ATR values to provide traders with precise zones of market activity. These bands are visualized on the chart, highlighting areas of potential breakout or reversal.
Titan Wings 3 features three types of moving averages—Exponential (EMA), Simple (SMA), and Hull (HMA)—giving users flexibility to align the tool with their trading strategies. The script evaluates price action relative to these averages, identifying critical zones where market sentiment shifts.
In addition to trend-following metrics, the script dynamically generates labels to signal key trading opportunities. These signals are derived from normalized distance calculations between the price and selected moving averages, combined with a proprietary methodology for filtering noise and amplifying significant trends.
Why Titan Wings 3 Stands Out:
Originality: Titan Wings 3 is not a generic mashup of indicators. Its unique normalization technique for distance metrics, percentile-based volatility thresholds, and the use of Hull Moving Averages make it a sophisticated tool for identifying high-probability trades.
Actionable Insights: The script provides real-time labels and visual cues for both long and short opportunities, allowing traders to act decisively during key moments of price action.
Adaptability: The customizable parameters for moving average types, percentile thresholds, and volatility multipliers ensure that the tool can adapt to various market conditions and trading styles.
How It Works:
Volatility Bands: Percentile-based calculations and ATR/standard deviation multipliers are used to create adaptive upper and lower bands, highlighting areas of market expansion and contraction.
Dynamic Labels: Signals are generated based on normalized metrics that measure the price's relationship to key moving averages, providing a reliable framework for trend identification.
Visual Overlays: The script fills specific price zones with color-coded areas to indicate bullish or bearish conditions, enhancing the clarity of market structure.
How to Use It:
Adjust the moving average type and parameters to align with your trading style.
Use the volatility bands to identify breakouts or reversals.
Follow the real-time labels to confirm potential trade entries.
Pay attention to the visual overlays to quickly assess market sentiment.
Volume Weighted Jurik Moving AverageThe Jurik Moving Average (JMA) is a smoothing indicator that is designed to improve upon traditional moving averages by reducing lag while enhancing responsiveness to price movements. It was created by Jurik Research and is often used to track trends with greater accuracy and minimal delay. The JMA is based on a combination of **exponential smoothing** and **phase adjustments**, making it more adaptable to varying market conditions compared to standard moving averages like SMA (Simple Moving Average) or EMA (Exponential Moving Average).
The core advantage of the JMA lies in its ability to adjust to price changes without excessively lagging, which is a common issue with traditional moving averages. It incorporates a **phase parameter** that can be adjusted to smooth out the signal further or make it more responsive to recent price action. This phase adjustment allows traders to fine-tune the JMA's sensitivity to the market, optimizing it for different timeframes and trading strategies.
How JMA Works and Benefits of Adding Volume Weight
The JMA works by applying a **smoothing process** to price data while allowing for adjustments through its phase and power parameters. These parameters help control the degree of smoothness and responsiveness. The result is a curve that follows price trends closely but with less lag than traditional moving averages.
Adding **volume weighting** to the JMA enhances its ability to reflect market activity more accurately. Just like the **Volume-Weighted Moving Average (VWMA)**, volume-weighting adjusts the moving average based on the strength of trading volume, meaning that price movements with higher volume will have a greater influence on the JMA. This can help traders identify trends that are supported by significant market participation, making the moving average more reliable.
The benefit of a volume-weighted JMA is that it responds more effectively to price movements that occur during periods of high trading volume, which are often considered more significant. This can help traders avoid false signals that may occur during low-volume periods when price changes may not reflect true market sentiment. By incorporating volume into the calculation, the JMA becomes more aligned with real market conditions, enhancing its effectiveness for trend identification and decision-making.
Adaptive Fibonacci Trend Ribbon[FibonacciFlux]Adaptive Fibonacci Trend Ribbon (FibonacciFlux)
Overview
The Adaptive Fibonacci Trend Ribbon is a versatile technical analysis tool designed for traders who want to leverage the power of multiple moving averages while integrating Fibonacci numbers. This indicator provides a dynamic visual representation of market trends, enhancing decision-making processes in trading.
Key Features
1. Multi-Moving Averages
- The indicator calculates eight different moving averages based on user-defined periods, including Fibonacci numbers such as 5, 8, 13, 21, 34, 55, 89, and 144.
- Traders can choose from various moving average types, including EMA, HMA, WMA, VWMA, ALMA, SMA, RMA, and TMA , allowing for tailored analysis based on market conditions.
2. Trend Detection
- Each moving average is color-coded based on its trend direction, with green indicating an upward trend and red indicating a downward trend.
- This visual clarity helps traders quickly assess market sentiment and make informed decisions.
3. Fill Areas for Enhanced Insight
- The indicator features fill areas between the moving averages, which dynamically change color according to their relative positions.
- This provides a clear visual cue of trend strength and potential reversal points, allowing traders to identify key areas of interest.
4. Customizable Inputs
- Users can easily adjust the source data, moving average lengths, and ALMA parameters (offset and sigma) to fit their trading strategies.
- This flexibility ensures that traders can adapt the tool to various market conditions and personal preferences.
Insights and Applications
1. Fibonacci Integration
- By incorporating Fibonacci numbers into the moving average periods, this indicator allows traders to align their strategies with key levels of support and resistance.
- This can enhance the accuracy of entry and exit points, particularly in trending markets.
2. Trend Continuation and Reversal Analysis
- The adaptive nature of the moving averages provides insights into potential trend continuations or reversals.
- Traders can use the indicator to identify when to enter or exit positions based on the interaction between the moving averages.
3. Visual Clarity for Quick Decisions
- The color-coded moving averages and fill areas offer immediate visual feedback on market conditions, helping traders react swiftly to changing dynamics.
- This is especially useful in fast-moving markets where timely decisions are critical.
Conclusion
The Adaptive Fibonacci Trend Ribbon is an essential tool for traders looking to enhance their technical analysis capabilities. By combining multiple moving averages with Fibonacci integration and dynamic visual cues, this indicator offers a robust framework for understanding market trends. Its flexibility and clarity make it an invaluable asset for both novice and experienced traders alike.
Open Source Contribution
This indicator is open source, inviting contributions and improvements from the trading community. Feel free to fork, enhance, and share your insights with the world, helping to foster a collaborative environment for traders everywhere.
WPR Volume Candle [Atareum]AWPRVC (Atareum WPR Volume Candles) is clearly an awesome indicator produced by AtareumFX that is based on William’s Percent Range concepts by combination with volume. This is a new approach of volume candles that is combined with R% concepts and creates such a powerful tool to trace the market and assists traders to make better decisions surly and so much accurate. You can find this new indicator more useful because it has all benefits and advantages of William’s R% and cover its disadvantages. Also it is more powerful because of using volume in its calculations and generate a new candles which is more reliable and trustworthy.
Concept:
Using William’s Percent leading periods and calculations on redesigning new candles in combination with volume, that makes unique reform candles, but these new candles with their new cloud system clearly response to any reasonable price movement with so much information.
As you know if use R% there are some misleading fake signals generate by oscillator, also it could not show any sign of price moving trend which is almost confusing for beginners or even a pro trader! And finally this oscillator is so sensitive to price change that is so creepy to use for most of traders.
This new AWPRVC solve the problem and make all of them handy and useful for you.
The cloud system which is designed in AWPRVC shows the price trend moving from Bearish Zone (-100 to -50 percent) to Bullish Zone (-50 to 0 percent). You can trust the lead moving forward of the clouds in two separate Top and Bottom (Bull and Bear) lines which solely determine the trend and power of price moving. When clouds are close to each other means we continue the trend and when they get far away from each other means we will face powerful trend in near future. If they are in Bearish Zone we continue the selling pressure and vice versa. Following picture shows good sample of Long and Short positions in compare with so many fake signals generated on original R%.
Besides the cloud system of AWPRVC which is clearly show the price trend and it is completely enough for being sure about price moving trend, you can use moving average which is designated in it to confirm the price trend, also.
Also you can see this new AWPRVC candle by using volume within its conformation, make reasonable price candles which is no so sensitive and so creepy and make your decisions come true in peace and clear sense of market moves. You can see following picture which is showing although the real price candles are so unclear and nonsense of making decision but the AWPRVC candles lead you to make true and trustable position.
As you see this new combination of Williams R% oscillator with volume and also generating a perfect new cloud system will clearly help traders even pro to trust the signals and understand whole market movement better and all of original problems of R% solved and even make a most powerful, trustworthy and useful new indicator.
Parameters:
Section 1 : Candle colour setting for flourishing just as you desire !
Section 2 : Defining Periods of R% and source of candle data in combination with determining the smoothing type of moving averages and signal period.
Section 3 : Select using Standard candles alongside with redesigned cloud calculation type and three additional moving averages which can plot on each newly generated candles and standard candles on a chart with the type mode defined in the previous section.
Note: if you want to omit any or all of these moving averages, you can use 0 in period, instead of selecting "None" in the plot moving option!
Usage :
Overall:
Regardless of the additional moving averages which will lead to so many situations of market according to their types and designs, that is four different period for new redesign AWPRVC and three period for standard chart. You can easily select periods and type for these moving averages. Also, do not forget that signal moving averages is shown only on AWPRVC chart and have two different colour for upward and downward trends. Other moving averages are plot by just one single colour.
Cloud levels are so important because AWPRVC candles show respect to them and when they break the clouds upward or downward it is surly beginning of a trend. Do not forget we have 5 levels for tracing new AWPRVC candles move as follows : Ready for Short \ Long, Surly Short \ Long and Turn Trend which is in middle range of movement percent. Each level clearly shows what it means by its name.
Support and Resistance:
Any consolidation of AWPRVC candles in Ready for Short or Long Zones means the support or resistance level due to its nature, but important thing is how long the candles lasts in there or how many times repeated in the same level in AWPRVC chart zone in future.
For plotting the support or resistance you should trace range of AWPRVC candles consolidated and plot zone in standard chart candles just like following picture.
Divergence:
When standard price candles move downward but we see upward trend in clouds of AWPRVC candles that means we should face Bullish Trend because of the divergence and vice versa. You can see perfect example in following picture.
Signal:
Alert of Long :
Bullish candle cross both cloud down and up level simultaneously.
Confirmed Long :
AWPRVC candles cross up turn trend level and pullback to cloud up level.
Take profit of Long:
Any cross down of the AWPRVC candles from surly short level of chart.
Alert of Short :
Bearish candle cross both cloud up and down level simultaneously.
Confirmed Short :
AWPRVC candles cross down turn trend level and pullback to cloud down level.
Take profit of Short:
Any cross up of the AWPRVC candles from surly long level of chart.
Notes:
Use moving averages cross of standard chart candles as lead to be in positions more as they are good representative of trend.
As long as AWPRVC candles or Cloud levels are in Bullish Zone, you can stay in Long positions.
Cloud level thickness means the power of trend and can be use as confirmation of powerful trend, so when cloud levels tight or going to cross each other it means the trend is going to be reversed.
It is the result of many years of experience in markets and there are so many details about this AWPRVC chart which I am in the experiment phase to publish in the future, so please help me with your ideas and do not hesitate to comment and inform me any suggestions or criticism.
Multi-Scale Adaptive MAs (Hurst, CVaR, Fractal) // AlgoFyreThe Multi-Scale Adaptive MAs (Hurst, CVaR, Fractal) indicator adjusts moving averages based on market conditions, using Hurst Exponent for trend persistence, CVaR for extreme risk assessment, and Fractal Dimension for market complexity. It enhances trend detection and risk management across various timeframes.
TABLE OF CONTENTS
🔶 ORIGINALITY 🔸Adaptive Mechanisms
🔸Multi-Faceted Analysis
🔸Versatility Across Timeframes
🔸Multi-Scale Combination
🔶 FUNCTIONALITY 🔸Hurst Exponent (H)
🞘 How it works
🞘 How to calculate
🞘 Code extract
🔸Conditional Value at Risk (CVaR)
🞘 How it works
🞘 How to calculate
🞘 Code extract
🔸Fractal Dimension (FD)
🞘 How it works
🞘 How to calculate
🞘 Code extract
🔶 INSTRUCTIONS 🔸Step-by-Step Guidelines
🞘 Setting Up the Indicator
🞘 Understanding What to Look For on the Chart
🞘 Possible Entry Signals
🞘 Possible Take Profit Strategies
🞘 Possible Stop-Loss Levels
🞘 Additional Tips
🔸Customize settings
🔶 CONCLUSION
▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅
🔶 ORIGINALITY The Multi-Scale Adaptive MAs (Hurst, CVaR, Fractal) indicator stands out due to its unique approach of dynamically adjusting moving averages based on advanced statistical measures, making it highly responsive to varying market conditions. Unlike traditional moving averages that rely on static periods, this indicator adapts in real-time using three distinct adaptive methods: Hurst Exponent, CVaR, and Fractal Dimension.
🔸Adaptive Mechanisms
Traditional MA indicators use fixed lengths, which can lead to lagging signals or over-sensitivity in volatile markets. The Multi-Scale Adaptive MAs employ adaptive methods to adjust the MA length dynamically, providing a more accurate reflection of current market conditions.
🔸Multi-Faceted Analysis
By integrating Hurst Exponent, CVaR, and Fractal Dimension, the indicator offers a comprehensive market analysis. It captures different aspects of market behavior, including trend persistence, risk of extreme movements, and complexity, which are often missed by standard MAs.
🔸Versatility Across Timeframes
The indicator’s ability to switch between different adaptive methods based on market conditions allows traders to analyze short-term, medium-term, and long-term trends with enhanced precision.
🔸Multi-Scale Combination
Utilizing multiple adaptive MAs in combination provides a more nuanced view of the market, allowing traders to see how short, medium, and long-term trends interact. This layered approach helps in identifying the strength and consistency of trends across different scales, offering more reliable signals and aiding in complex decision-making processes. When combined, these MAs can also signal key market shifts when they converge or diverge, offering deeper insights than a single MA could provide.
🔶 FUNCTIONALITY The indicator adjusts moving averages based on a variety of different choosable adaptives. The Hurst Exponent to identify trend persistence or mean reversion, adapting to market conditions for both short-term and long-term trends. Using CVaR, it evaluates the risk of extreme price movements, ensuring the moving average is more conservative during high-risk periods, protecting against potential large losses. By incorporating the Fractal Dimension, the indicator adapts to market complexity, adjusting to varying levels of price roughness and volatility, which allows it to respond more accurately to different market structures and patterns.
Let's dive into the details:
🔸Hurst Exponent (H)
Measures the degree of trend persistence or mean reversion.
By using the Hurst Exponent, the indicator adjusts to capture the strength and duration of trends, helping traders to stay in profitable trades longer and avoid false reversals in ranging markets.
It enhances the detection of trends, making it suitable for both short-term scalping and identifying long-term trends.
🞘 How it works Rescaled Range (R/S) Analysis Calculate the mean of the closing prices over a set window.
Determine the deviation of each price from the mean.
Compute the cumulative sum of these deviations over the window.
Calculate the range (R) of the cumulative deviations (maximum minus minimum).
Compute the standard deviation (S) of the price series over the window.
Obtain the R/S ratio as R/S.
Linear Regression for Hurst Exponent Calculate the logarithm of multiple window sizes and their corresponding R/S values.
Use linear regression to determine the slope of the line fitting the log(R/S) against log(window size).
The slope of this line is an estimate of the Hurst Exponent.
🞘 How to calculate Range (R)
Calculate the maximum cumulative deviation:
R=max(sum(deviation))−min(sum(deviation))
Where deviation is the difference between each price and the mean.
Standard Deviation (S)
Calculate the standard deviation of the price series:
S=sqrt((1/(n−1))∗sum((Xi−mean)2))
Rescaled Range (R/S)
Divide the range by the standard deviation:
R/S=R/S
Hurst Exponent
Perform linear regression to estimate the slope of:
log(R/S) versus log(windowsize)
The slope of this line is the Hurst Exponent.
🞘 Code extract // Hurst Exponent
calc_hurst(source_, adaptive_window_) =>
window_sizes = array.from(adaptive_window_/10, adaptive_window_/5, adaptive_window_/2, adaptive_window_)
float hurst_exp = 0.5
// Calculate Hurst Exponent proxy
rs_list = array.new_float()
log_length_list = array.new_float()
for i = 0 to array.size(window_sizes) - 1
len = array.get(window_sizes, i)
// Ensure we have enough data
if bar_index >= len * 2
mean = adaptive_sma(source_, len)
dev = source_ - mean
// Calculate cumulative deviations over the window
cum_dev = ta.cum(dev) - ta.cum(dev )
r = ta.highest(cum_dev, len) - ta.lowest(cum_dev, len)
s = ta.stdev(source_, len)
if s != 0
rs = r / s
array.push(rs_list, math.log(rs))
array.push(log_length_list, math.log(len))
// Linear regression to estimate Hurst Exponent
n = array.size(log_length_list)
if n > 1
mean_x = array.sum(log_length_list) / n
mean_y = array.sum(rs_list) / n
sum_num = 0.0
sum_den = 0.0
for i = 0 to n - 1
x = array.get(log_length_list, i)
y = array.get(rs_list, i)
sum_num += (x - mean_x) * (y - mean_y)
sum_den += (x - mean_x) * (x - mean_x)
hurst_exp := sum_den != 0 ? sum_num / sum_den : 0.5
else
hurst_exp := 0.5 // Default to 0.5 if not enough data
hurst_exp
🔸Conditional Value at Risk (CVaR)
Assesses the risk of extreme losses by focusing on tail risk.
This method adjusts the moving average to account for market conditions where extreme price movements are likely, providing a more conservative approach during periods of high risk.
Traders benefit by better managing risk and avoiding major losses during volatile market conditions.
🞘 How it works Calculate Returns Determine the returns as the percentage change between consecutive closing prices over a specified window.
Percentile Calculation Identify the percentile threshold (e.g., the 5th percentile) for the worst returns in the dataset.
Average of Extreme Losses Calculate the average of all returns that are less than or equal to this percentile, representing the CVaR.
🞘 How to calculate Return Calculation
Calculate the return as the percentage change between consecutive prices:
Return = (Pt − Pt−1) / Pt−1
Where Pt is the price at time t.
Percentile Threshold
Identify the return value at the specified percentile (e.g., 5th percentile):
PercentileValue=percentile(returns,percentile_threshold)
CVaR Calculation
Compute the average of all returns below the percentile threshold:
CVaR = (1/n)∗sum(Return) for all Return≤PercentileValue
Where n is the total number of returns.
🞘 Code extract // Percentile
calc_percentile(data, percentile, window) =>
arr = array.new_float(0)
for i = 0 to window - 1
array.push(arr, data )
array.sort(arr)
index = math.floor(percentile / 100 * (window - 1))
array.get(arr, index)
// Conditional Value at Risk
calc_cvar(percentile_value, returns, window) =>
// Collect returns worse than the threshold
cvar_sum = 0.0
cvar_count = 0
for i = 0 to window - 1
ret = returns
if ret <= percentile_value
cvar_sum += ret
cvar_count += 1
// Calculate CVaR
cvar = cvar_count > 0 ? cvar_sum / cvar_count : 0.0
cvar
🔸Fractal Dimension (FD)
Evaluates market complexity and roughness by analyzing how price movements behave across different scales.
It enables the moving average to adapt based on the level of market noise or structure, allowing for smoother MAs during complex, volatile periods and more sensitive MAs during clear trends.
This adaptability is crucial for traders dealing with varying market states, improving the indicator's responsiveness to price changes.
🞘 How it works Total Distance (L) Calculation Sum the absolute price movements between consecutive periods over a given window.
Maximum Distance (D) Calculation Calculate the maximum displacement from the first to the last price point within the window.
Calculate Fractal Dimension Use Katz's method to estimate the Fractal Dimension as the ratio of the logarithms of L and D, divided by the logarithm of the number of steps (N).
🞘 How to calculate Total Distance (L)
Sum the absolute price changes over the window:
L=sum(abs(Pt−Pt−1)) for t from 2 to n
Where Pt is the price at time t.
Maximum Distance (D)
Find the maximum absolute displacement from the first to the last price in the window:
D=max(abs(Pn-P1))
Fractal Dimension Calculation
Use Katz's method to estimate fractal dimension:
FD=log(L/D)/log(N)
Where N is the number of steps in the window.
🞘 Code extract // Fractal Dimension
calc_fractal(source_, adaptive_window_) =>
// Calculate the total distance (L) traveled by the price
L = 0.0
for i = 1 to adaptive_window_
L += math.abs(source_ - source_ )
// Calculate the maximum distance between first and last price
D = math.max(math.abs(source_ - source_ ), 1e-10) // Avoid division by zero
// Calculate the number of steps (N)
N = adaptive_window_
// Estimate the Fractal Dimension using Katz's formula
math.log(L / D) / math.log(N)
🔶 INSTRUCTIONS The Multi-Scale Adaptive MAs indicator can be set up by adding it to your TradingView chart and configuring the adaptive method (Hurst, CVaR, or Fractal) to match current market conditions. Look for price crossovers and changes in the slope for potential entry signals. Set take profit and stop-loss levels based on dynamic changes in the moving average, and consider combining it with other indicators for confirmation. Adjust settings and use adaptive strategies for enhanced trend detection and risk management.
🔸Step-by-Step Guidelines 🞘 Setting Up the Indicator Adding the Indicator to the Chart: Go to your TradingView chart.
Click on the "Indicators" button at the top.
Search for "Multi-Scale Adaptive MAs (Hurst, CVaR, Fractal)" in the indicators list.
Click on the indicator to add it to your chart.
Configuring the Indicator: Open the indicator settings by clicking on the gear icon next to its name on the chart.
Adaptive Method: Choose between "Hurst," "CVaR," and "Fractal" depending on the market condition and your trading style.
Length: Set the base length for the moving average (e.g., 20, 50, or 100). This length will be adjusted dynamically based on the selected adaptive method.
Other Parameters: Adjust any other parameters as needed, such as window sizes or scaling factors specific to each adaptive method.
Chart Setup: Ensure you have an appropriate timeframe selected (e.g., 1-hour, 4-hour, daily) based on your trading strategy.
Consider using additional indicators like volume or RSI to confirm signals.
🞘 Understanding What to Look For on the Chart Indicator Behavior: Observe how the adaptive moving average (AMA) behaves compared to standard moving averages, e.g. notice how it might change direction with strength (Hurst).
For example, the AMA may become smoother during high market volatility (CVaR) or more responsive during strong trends (Hurst).
Crossovers: Look for crossovers between the price and the adaptive moving average.
A bullish crossover occurs when the price crosses above the AMA, suggesting a potential uptrend.
A bearish crossover occurs when the price crosses below the AMA, indicating a possible downtrend.
Slope and Direction: Pay attention to the slope of the AMA. A rising slope suggests a bullish trend, while a declining slope indicates a bearish trend.
The slope’s steepness can give you clues about the trend's strength.
🞘 Possible Entry Signals Bullish Entry: Crossover Entry: Enter a long position when the price crosses above the AMA and the AMA has a positive slope.
Confirmation Entry: Combine the crossover with other indicators like RSI (above 50) or increasing volume for confirmation.
Bearish Entry: Crossover Entry: Enter a short position when the price crosses below the AMA and the AMA has a negative slope.
Confirmation Entry: Use additional indicators like RSI (below 50) or decreasing volume to confirm the bearish trend.
Adaptive Method Confirmation: Hurst: Enter when the AMA indicates a strong trend (steeper slope). Suitable for trend-following strategies.
CVaR: Be cautious during high-risk periods. Enter only if confirmed by other indicators, as the AMA may become more conservative.
Fractal: Ideal for capturing reversals in complex markets. Look for crossovers in volatile markets.
🞘 Possible Take Profit Strategies Static Take Profit Levels: Set take profit levels based on predefined ratios (e.g., 1:2 or 1:3 risk-reward ratio).
Place take profit orders at recent swing highs (for long positions) or swing lows (for short positions).
Trailing Stop Loss: Use a trailing stop based on a percentage of the AMA value to lock in profits as the trend progresses.
Adjust the trailing stop dynamically to follow the AMA, allowing profits to run while protecting gains.
Adaptive Method Based Exits: Hurst: Exit when the AMA begins to flatten or turn in the opposite direction, signaling a potential trend reversal.
CVaR: Consider taking profits earlier during high-risk periods when the AMA suggests caution.
Fractal: Use the AMA to exit in complex markets when it smooths out, indicating reduced volatility.
🞘 Possible Stop-Loss Levels Initial Stop Loss: Place an initial stop loss below the AMA (for long positions) or above the AMA (for short positions) to protect against adverse movements.
Use a buffer (e.g., ATR value) to avoid being stopped out by normal price fluctuations.
Adaptive Stop Loss: Adjust the stop loss dynamically based on the AMA. Move the stop loss along the AMA as the trend progresses to minimize risk.
This helps in adapting to changing market conditions and avoiding premature exits.
Adaptive Method-Specific Stop Loss: Hurst: Use wider stops during trending markets to allow for minor pullbacks.
CVaR: Adjust stops in high-risk periods to avoid being stopped out prematurely during price fluctuations.
Fractal: Place stops at recent support/resistance levels in highly volatile markets.
🞘 Additional Tips Combine with Other Indicators: Enhance your strategy by combining the AMA with other technical indicators like MACD, RSI, or Bollinger Bands for better signal confirmation.
Backtesting and Practice: Backtest the indicator on historical data to understand how it performs in different market conditions.
Practice using the indicator on a demo account before applying it to live trading.
Market Awareness: Always be aware of market conditions and fundamental events that might impact price movements, as the AMA reacts to price action and may not account for sudden news-driven events.
🔸Customize settings 🞘 Time Override: Enables or disables the ability to override the default time frame for the moving averages. When enabled, you can specify a custom time frame for the calculations.
🞘 Time: Specifies the custom time frame to use when the Time Override setting is enabled.
🞘 Enable MA: Enables or disables the moving average. When disabled, MA will not be displayed on the chart.
🞘 Show Smoothing Line: Enables or disables the display of a smoothing line for the moving average. The smoothing line helps to reduce noise and provide a clearer trend.
🞘 Show as Horizontal Line: Displays the moving average as a horizontal line instead of a dynamic line that follows the price.
🞘 Source: Specifies the data source for the moving average calculation (e.g., close, open, high, low).
🞘 Length: Sets the period length for the moving average. A longer length will result in a smoother moving average, while a shorter length will make it more responsive to price changes.
🞘 Time: Specifies a custom time frame for the moving average, overriding the default time frame if Time Override is enabled.
🞘 Method: Selects the calculation method for the moving average (e.g., SMA, EMA, SMMA, WMA, VWMA).
🞘 Offset: Shifts the moving average forward or backward by the specified number of bars.
🞘 Color: Sets the color for the moving average line.
🞘 Adaptive Method: Selects the adaptive method to dynamically adjust the moving average based on market conditions (e.g., Hurst, CVaR, Fractal).
🞘 Window Size: Sets the window size for the adaptive method, determining how much historical data is used for the calculation.
🞘 CVaR Scaling Factor: Adjusts the influence of CVaR on the moving average length, controlling how much the length changes based on calculated risk.
🞘 CVaR Risk: Specifies the percentile cutoff for the worst-case returns used in the CVaR calculation to assess extreme losses.
🞘 Smoothing Method: Selects the method for smoothing the moving average (e.g., SMA, EMA, SMMA, WMA, VWMA).
🞘 Smoothing Length: Sets the period length for smoothing the moving average.
🞘 Fill Color to Smoothing Moving Average: Enables or disables the color fill between the moving average and its smoothing line.
🞘 Transparency: Sets the transparency level for the color fill between the moving average and its smoothing line.
🞘 Show Label: Enables or disables the display of a label for the moving average on the chart.
🞘 Show Label for Smoothing: Enables or disables the display of a label for the smoothing line of the moving average on the chart.
🔶 CONCLUSION The Multi-Scale Adaptive MAs indicator offers a sophisticated approach to trend analysis and risk management by dynamically adjusting moving averages based on Hurst Exponent, CVaR, and Fractal Dimension. This adaptability allows traders to respond more effectively to varying market conditions, capturing trends and managing risks with greater precision. By incorporating advanced statistical measures, the indicator goes beyond traditional moving averages, providing a nuanced and versatile tool for both short-term and long-term trading strategies. Its unique ability to reflect market complexity and extreme risks makes it an invaluable asset for traders seeking a deeper understanding of market dynamics.






















