Attrition Scalper v2.0Green/Red Arrowed Buy/Sell signals are just simple buy sell signals based on SuperTrend, VWAP, Bollinger, Linear Regression
Purple Arrowed Buy/Sell Signals happen when the price/candle cross over or under the yellow outer lines (4.236 fib lines) It's extremely rare and hard for price to stay above these lines therefore we can usually and comfortably buy/sell it, a key information here though when price pumps or dumps super fast and hard to the point of crossing these borders, the trend might also be extremely strong and continous so even if the price temporarily goes back inside the borders as the lines expand over time price can continue riding or crossing these lines back again and continue the uptrend/downtrend, therefore crossing these outer borders doesn't necessarilly and always mean a reversal is due.
When analyzing the instrument you're trading the important factors for support/resistance areas are usually the outer lines like i said previously it's super hard for price to be outside these and will almost always get back inside quickly. The Middle thicker green/red line which is Variable Index Dynamic Average should also be a nice pivot line for major support and resistance . All the other lines are also important dynamic support/resistance lines.
Their Importance Order
1- Outer Yellow Line (4.236 Fibs)
2- Thicker Middle Green/Red Line (VIDYA)
3- Thinner Upper/Lower Green/Red Line (VIDYA +3, VIDYA -3)
4- The Rest Of The Lines (Fib Lines)
You can use this indicator in any market condition in any market to determine key support/resistance levels, use it for mean reversion through price expanding to outside of the most outer line therefore being overbought/oversold basically using the purple buy/sell signals or only follow the normal buy/sell signals or use it in confluence with each other. You can also use this indicator in confluence with your own manual technical analysis or other indicators/strategies you are already using and are comfortable with.
A good part is the support/resistance lines from timeframe to timeframe pictures the whole situation quite well, you can use lower timeframe to find your entry/exit positions and higher timeframe to find your key support/resistance points, they all should be somewhat in confluence from timeframe to timeframe anyways. My recommendation would be to look at 1HR, 4HR and 1D charts for swing trading and 5-15 Min for quick scalping/day trading
You should still probably at least take a look to higher timeframes so that you don't get burned when you realize there is a huge resistance line at price XXXXX on the 4 hour chart but you're expecting it to go above it on the 5 minute chart, it can go above it temporarily but we analyze everything on a closing basis so it most likely won't close above it. Again don't take a position or FOMO when price breaks a support/resistance line, we're looking for a CLOSE above/below them and a retest to see if S/R flip happened would even be better.
Sometimes the most outer line won't be the 4.236 (Yellow) lines as when it gets quite volatile the Thinner Upper/Lower Green/Red Lines (VIDYA +3, VIDYA-3) might cross them to be the most outer line, in this case i have observed that the trend is extremely strong this time price almost always doesn't go above or below the VIDYA line but can stay outside of the Yellow 4.236 Fib line for an extended amount of time (price will still get back inside the channel relatively quickly, just not as fast as the normal condition)
With Proper Risk Management and Discipline this indicator can be of great use to you as it's surprisingly successful especially at mean reversion and pointing out the support/resistance lines, they are so much more successful than your average MA/EMA lines.
Meanreversion
Mean Reversion Indicator (Index)Hey everyone! Publishing my first script ever. This script explores the concept of mean reversion and how markets typically react to sub cycle highs and lows. I also added in a divergence formula to make it easier to spot probable turning points in market sentiment. If you are interested in the script, do drop me a DM to request for access.
Bollinger BandsThis strategy is inspired from Power of Stock aka Subhasish Panni.
Target is minimum 1:3 when you get this setup right.
Buy when:
1) Low is greater than upper band of BB and next candle breaks high of that candle, SL is Low of previous candle which is has low above upper band.
2) High is lower than lower band of BB and next candle breaks high of that candle, SL is low of previous candle which has high lower than lower band.
Sell when:
1) Low is greater than upper band of BB and next candle breaks low of that candle, SL is high of previous candle which is has low above upper band.
2) High is lower than lower band of BB and next candle breaks high of that candle, SL is high of previous candle which has high lower than lower band.
Disclaimer: this setup will cause many small stoploss hit, you have to accept that loss but you will be profitable because of R:R.
STD-Filtered, N-Pole Gaussian Filter [Loxx]This is a Gaussian Filter with Standard Deviation Filtering that works for orders (poles) higher than the usual 4 poles that was originally available in Ehlers Gaussian Filter formulas. Because of that, it is a sort of generalized Gaussian filter that can calculate arbitrary (order) pole Gaussian Filter and which makes it a sort of a unique indicator. For this implementation, the practical mathematical maximum is 15 poles after which the precision of calculation is useless--the coefficients for levels above 15 poles are so high that the precision loss actually means very little. Despite this maximal precision utility, I've left the upper bound of poles open-ended so you can try poles of order 15 and above yourself. The default is set to 5 poles which is 1 pole greater than the normal maximum of 4 poles.
The purpose of the standard deviation filter is to filter out noise by and by default it will filter 1 standard deviation. Adjust this number and the filter selections (price, both, GMA, none) to reduce the signal noise.
What is Ehlers Gaussian filter?
This filter can be used for smoothing. It rejects high frequencies (fast movements) better than an EMA and has lower lag. published by John F. Ehlers in "Rocket Science For Traders".
A Gaussian filter is one whose transfer response is described by the familiar Gaussian bell-shaped curve. In the case of low-pass filters, only the upper half of the curve describes the filter. The use of gaussian filters is a move toward achieving the dual goal of reducing lag and reducing the lag of high-frequency components relative to the lag of lower-frequency components.
A gaussian filter with...
One Pole: f = alpha*g + (1-alpha)f
Two Poles: f = alpha*2g + 2(1-alpha)f - (1-alpha)2f
Three Poles: f = alpha*3g + 3(1-alpha)f - 3(1-alpha)2f + (1-alpha)3f
Four Poles: f = alpha*4g + 4(1-alpha)f - 6(1-alpha)2f + 4(1-alpha)3f - (1-alpha)4f
and so on...
For an equivalent number of poles the lag of a Gaussian is about half the lag of a Butterworth filters: Lag = N*P / pi^2, where,
N is the number of poles, and
P is the critical period
Special initialization of filter stages ensures proper working in scans with as few bars as possible.
From Ehlers Book: "The first objective of using smoothers is to eliminate or reduce the undesired high-frequency components in the eprice data. Therefore these smoothers are called low-pass filters, and they all work by some form of averaging. Butterworth low-pass filters can do this job, but nothing comes for free. A higher degree of filtering is necessarily accompanied by a larger amount of lag. We have come to see that is a fact of life."
References John F. Ehlers: "Rocket Science For Traders, Digital Signal Processing Applications", Chapter 15: "Infinite Impulse Response Filters"
Included
Loxx's Expanded Source Types
Signals
Alerts
Bar coloring
Related indicators
STD-Filtered, Gaussian Moving Average (GMA)
STD-Filtered, Gaussian-Kernel-Weighted Moving Average
One-Sided Gaussian Filter w/ Channels
Fisher Transform w/ Dynamic Zones
R-sqrd Adapt. Fisher Transform w/ D. Zones & Divs .
+ Dynamic Fibo-Donchian ChannelsThis is my second Donchian Channels indicator (and will probably be my last because how many does one really need). This version is different from my other one in that, well, it's 'dynamic' which simply means that it self adjusts based on the same formula that my Ultimate Moving Average does. What does that mean? It just means that the script takes an average of 8 different length, in this case, highest highs and lowest lows. The user doesn't need to pick a lookback/length/period/what-have-you. The indicator does it all itself. This, I think, makes for a very nice baseline or bias indicator to fit within a system that utilizes something like that. I also think it makes for a more accurate gauge of higher highs and lower lows within a timeframe, because honestly what does it mean to make a lower low over 20 periods or 8 periods or 50 periods? I don't know. What I do know is that traditional Donchian Channels never made much sense to me, but this does.
Additionally, I've kept (I guess that's not 'additionally') the fibonacci retracement levels from my other Donchian Channels indicator. These are calculated off the high and the low of the Donchian Channels themselves. You will see that there are only three retracement levels (.786, .705, .382), one of which is not a fib level, but what some people call the 'OTE,' or 'optimal trade entry.'' If you want more info on the OTE just web search it. So, why no .618 or .236? Reason being that the .618 overlaps the .382, and the .236 is extremely close to the .786. This sounds confusing, but the retracement levels I'm using are derived from the high and low, so it was unnecessary to have all five levels from each. I could have just calculated from the high, or just from the low, and used all the levels, but I chose to just calculate three levels from the high and three from the low because that gives a sort of mirror image balance, and that appeals to me, and the utility of the indicator is the same.
The plot lines are all colored, and I've filled certain zones between them. There is a center zone filled between both .382 levels, an upper and lower zon filled between the .786 and either the high or the low, and a zone between the .705 and .785
If you like the colored zones, but don't like the plots because they cause screen compression, turn off the plots under the "style" tab, or much more simply right click on the price scale and click 'scale price chart only.' Voila! No more screen compression due to a moving average or some other annoyance.
Besides that basis being a nice baseline indicator the various fib bands (or just the high and low bands) make for excellent mean reversion extremes in ranging environments.
There are alerts for candle closes across every line.
Below is an image of the indicator at default settings.
Below is an image of the indicator with the center .382 channel turned off.
Below is an image of the indicator with just the .786/.705 channel showing .
Bitcoin - CME Futures Friday Close
This indicator displays the weekly Friday closing price according to the CME trading hours (Friday 4pm CT).
A horizontal line is displayed until the CME opens again on Sunday 5pm CT.
This indicator is based on the thesis, that during the weekend the Bitcoin price tends to mean reverse to the CME closing price of the prior Friday. The level can also act as support/resistance. This indicator gives a visualization of this key level for the relevant time window.
Furthermore the indicator helps to easily identify, if there is an up or down gap in the CME Bitcoin contract.
KAIRI RELATIVE INDEXAn old but gold Japanese indicator for Mean Reverting strategies and ideal for Pairs Trading...
The Kairi Relative Index measures the distance between closing prices and a Moving Average in percent value (generally SMA).
Extreme reading in the KRI are considered buy and sell signals.
Extreme readings will vary by asset, with more volatile assets reaching much higher and lower extremes that more sedate assets.
The KRI is not an accurate timing signal, and therefore, should be combined with other forms of analysis to generate trade signals.
You can calculate percent difference between the price and 10 different types of Moving Averages in this version of KAIRI as:
SMA : Simple Moving Average
EMA : Exponential Moving Average
WMA : Weighted Moving Average
TMA : Triangular Moving Average
VAR : Variable Index Dynamic Moving Average a.k.a. VIDYA
WWMA : Welles Wilder's Moving Average
ZLEMA : Zero Lag Exponential Moving Average
TSF : True Strength Force
HULL : Hull Moving Average
VWMA: Volume Veighted Moving Average
Personal advice: try using bigger length of Moving Averages like 50-100-200 for pairs and mean reversion strategies
[Sidders]Std. Deviation from Mean/MA (Z-score)This indicator visualizes in a straight forward way the distance price is away from the mean in absolute standard deviations (Z-score) over a certain lookback period (can be configured). Additionally I've included a moving average of the distance, the MA type can be configured in the settings.
Personally using this indicator for some of my algo mean reversion strategies. Price reaching the extreme treshold (can be configured in settings, standard is 3) could be seen as a point where price will revert to the mean.
I've included alerts for when price crosses into extreme areas, as well as alerts for when crosses back into 'normal' territory again. Both are also plotted on the indicator through background coloring/shapes.
Since I've learned so much from other developers I've decided to open source the code. Let me know if you have any ideas on how to improve, I'll see if I can implement them.
Enjoy!
Fancy Bars v.02.07Hello Lads,
this is the mandatory description to not get this indicator banned by tradingview. :-)
So what you can basically see are different types of colored candles and some weird signs below and above the candles.
In this picture you can see all features that the indicator is providing at the moment of the relase. More to come soon anon.
As first we got different color settings for different candles.
There are two different types of color candles.
Casual Extensions of the source you have chosen in the settings are either green or red by default.
If the market extends a little more, the bars are being colored either blue or purple.
These candles work well to identifiy local exhaustion points after a rallye to the up or the down side. But you can also take them as an entry.
For Example:
A green or blue extension appears after a significant drop in price. Candles like these are usually a first sign of a local bottom to form or a bounce to appear.
In order to view green and blue bars at the opposite, you can take them as an exit for your long after a rally, because the market tends to be exhausted afterwards.
It works the same way for the red and purple bars as you can see here. I hope the screenshot can make that clear aswell. :-)
So on the screenshots you can see aswell many different signs below and above the candles.
Candles with an "F" below or above the candle are showing you that the Fisher Transform indicator has made a turnover.
So this basically means that if there is a green "F" below a bar the value of the Fischer Oscillator is smaller then - 3 and the fast line is crossing the slow line, which is bullish.
If you see a "F" above a candle, this means that the slow line is crossing the fast line and the value of the fisher transform is greater then 3.
If you see an "H" above or below the candle this means that the Indicator "Hull Suite by InSilico" is turning over.
If the "H" is red and above the candle it´s a bearish sign, if it´s green and below the candle, it is a bullish sign.
Well as next we have these white colored "X" appearing form time to time.
Well X stands basically for EXIT.
We have calculated the difference from the current price to a selectable EMA / MA and if the percentage difference in market is bigger then the selected value in the menu, the market will simply print an "X" where you can exit your long or short position.
We recommand to use this function, espacially as all other functions aswell, only for scalping purposes, to catch a possible reversion of the price.
Here you can see the menu at it´s full beauty. You can select every mode and adjust your settings for your personal preferences.
gyazo.com
gyazo.com
You can even chose different modes for the extension bars, which are currently being tested. If you got some feedback, please let us know!
The "Vanilla" mode of the extension bars takes the volume from the current chart that you are looking at. So this mode basically works for all in TradingView existing markets where chart provides you volume.
The second mode aggregates Spot and Perpetual Volume from the biggest exchanges. We recommand to use this and the other modes (except vanilla ofc) only for BTC and ETH.
Furthermore we took the provided Open Interest from Binance to calculate the bars. It is as all the other things aswell highly experimental and hasn´t been tested a lot yet.
Last but not least, we calculated from the given Open Interest by Binance a CVD for BTC and ETH, which expansions are also being plotted as the previous explained candles.
gyazo.com
You can also change the length and the type of the AVG that is being calculated for the bar coloring. As well as for the Exit Bars and the Hull Suite.
gyazo.com
gyazo.com
gyazo.com
For this Project we have used Public Source Code by @InSilico for the HullSuite and ressources by Tradingview for the Fisher Turnover feature.
Infiten's Return Candle OscillatorInfiten's Return Candle Oscillator is an oscillator which shows the percentage return on the open, high, close and low over a customizable period in the form of candlesticks. It may be helpful for seeing volatility, swing trading, or mean reversion trading.
The RCO consists of two plotted elements :
RCO Candles (short length): candlesticks which are plotted with low = the product of the percentage changes in the low over a period, high = the product of the percentage changes in the high over a period, close = the product of the percent changes in close over a period, and open = the product of the percentage changes in return over a period. Similarly to with standard candlesticks, if the percentage change on the close is higher than the percentage change on the open, the candlestick is green, otherwise it is red.
Smoothed RCO Line (long length) : a moving average of the average of the low, close, open and high calculated for the RCO Candles. The line's transparency is determined by the percentage difference between the RCO and the highest or lowest RCO over the long length. A more transparent line means that the RCO is closer to the highest or lowest RCO, and may be indicative of a reversal, or weakening trend.
LNL Keltner ExhaustionLNL Keltner Exhaustion resolves the constant issue of Bands vs. EMAs
With the keltner exhaustion wedges, you can easily see the keltner channel extremes witout using the actual bands. That way, you will know whether the price is outside of the keltner channels + you can use other indicators (such as EMAs) on chart without the bands so the chart does not look messy & hard to read.
Two Types of Wedges:
1. Green/Red Wedge - Price action is extended outside the regular band. More of a "profit taking" zone rather than "entry taking" (default set to 3.0 ATR factor).
2. Purple Wedge - Price action is extended outside of the extreme band. Chances are price will revert to mean soon (default set to 4.0 ATR factor).
Works great as a target tool with the squeeze setup or as an overall extension gauge.
Hope it helps.
LS Volatility Index█ OVERVIEW
This indicator serves to measure the volatility of the price in relation to the average.
It serves four purposes:
1. Identify abnormal prices, extremely stretched in relation to an average;
2. Identify acceptable prices in the context of the main trend;
3. Identify market crashes;
4. Identify divergences.
█ CONCEPTS
The LS Volatility Index was originally described by Brazilian traders Alexandre Wolwacz (Stormer) , Fabrício Lorenz , and Fábio Figueiredo (Vlad)
Basically, this indicator can be used in two ways:
1. In a mean reversion strategy , when there is an unusual distance from it;
2. In a trend following strategy , when the price is in an acceptable region.
Perhaps the version presented here may have some slight differences, but the core is the same.
The original indicator is presented with a 21-period moving average, but here this value is customizable.
I made some fine tuning available, namely:
1. The possibility of smoothing the indicator;
2. Choose the type of moving average;
3. Customizable period;
4. Possibility to show a moving average of the indicator;
5. Color customization.
█ CALCULATION
First, the distance of the price from a given average in percentage terms is measured.
Then, the historical average volatility is obtained.
Finally the indicator is calculated through the ratio between the distance and the historical volatility.
To facilitate visualization, the result is normalized in a range from 0 to 100.
When it reaches 0, it means the price is on average.
When it hits 100, it means the price is way off average (stretched).
█ HOW TO USE IT
Here are some examples:
1. In a return-to-average strategy
2. In a trend following strategy
3. Identification of crashes and divergences
█ THANKS AND CREDITS
- Alexandre Wolwacz (Stormer), Fabrício Lorenz, Fábio Figueiredo (Vlad)
- Feature scaler (for normalization)
- HPotter (for calc of Historical Volatility)
Oasis Trading Group Market Making Bot - Mean Reversion BandsThe OTG Market Making Bot was designed with mean reversion trading in mind. It uses advanced ATR and other volatility formulas to create a set of bands that price should stay within. If price is testing the upper or lower bands then it is "extended" and a mean reversion back to the midline is likely.
The indicator comes with two sets of reversion bands, by default they are set to two and three standard deviations away from the midline, these can be changed to your preference. The indicator will give you Buy and Sell arrows if the conditions are being met. The conditions can be as simple as price hitting the bands or with certain filters, the filters are as follows:
Volatility Filter: Based on your settings it will look at the Current ATR vs Historic ATR Average if the Current ATR is higher than the average it will not show the mean reversion Buy/Sell signals because the volatility is too high. This filter can be turned on and off in the settings.
Trend Filter: Based on your settings it will lookback a certain amount of candles to see if the current price action is ranging or trending. If the current price action is determined to be trending it will not show the mean reversion Buy/Sell signals because it wants to trade within a range. This filter cannot be turned off in the settings, but if you wish to see all the Mean Reversion Buy/Sell signals without any filters you can turn them on in the style settings.
Midline: The midline is color coded based on your Trend Lookback settings. If it determines that the market is ranging it will be colored Green, if it determines that the market is trending it will be colored Red. Green means you are safe to take Mean Reversion trades.
The indicator comes with multiple alerts for all the different Buy/Sell signals. These signals can come from the first set of bands, second set, or unfiltered.
This indicator is designed to be paired with the ATR Improved Indicator I have created which is open source, it can be found here.
Also, paired with the OTG Automated Trading Bot. The OTG Trading Bot is a trend following bot, it excels in trend trading but fails in range trading. This Mean Reversion bot was designed to compliment the OTG Bot perfectly.
The Oasis Trading Group Market Making Bot will be available as a free add-on to all OTG Trading Bot users.
If you have any questions feel free to let me know in the comments or DM me.
Trend Day IndentificationVolatility is cyclical, after a large move up or down the market typically "ranges" during the next session. Directional order flow that enters the market during this subsequent session tends not to persist, this non-persistency of transactions leads to a non-trend day which is when I trade intraday reversionary strategies.
This script finds trend days in BTC with the purpose of:
1) counting trend day frequency
2) predicting range contraction for the next 1-2 days so I can run intraday reversion strategies
Trend down is defined as daily bar opening within X% of high and closing within X% of low
Trend up is defined as daily bar opening within X% of low and closing within X% of high
default parameters are:
1) open range extreme = 15% (open is within 15% of high or low)
2) close range extreme = 15% (close is within 15% of high or low)
There is also an atr filter that checks that the trend day has a larger range than the previous 4 bars this is to make sure we find true range expansion vs recent ranges.
Notes:
If a trend day occurs after a prolonged sideways contraction it can signal a breakout - this is less common but is an exception to the rule. These types of occurrences can lead to the persistency of order flow and result in extended directional daily runs.
If a trend day occurs close to 20 days high or low (stopping just short OR pushing slightly through) then wait an additional day before trading intraday reversion strategies.
Mean Shift Pivot ClusteringCore Concepts
According to Jeff Greenblatt in his book "Breakthrough Strategies for Predicting Any Market", Fibonacci and Lucas sequences are observed repeated in the bar counts from local pivot highs/lows. They occur from high to high, low to high, high to low, or low to high. Essentially, this phenomenon is observed repeatedly from any pivot points on any time frame. Greenblatt combines this observation with Elliott Waves to predict the price and time reversals. However, I am no Elliottician so it was not easy for me to use this in a practical manner. I decided to only use the bar count projections and ignore the price. I projected a subset of Fibonacci and Lucas sequences along with the Fibonacci ratios from each pivot point. As expected, a projection from each pivot point resulted in a large set of plotted data and looks like a huge gong show of lines. Surprisingly, I did notice clusters and have observed those clusters to be fairly accurate.
Fibonacci Sequence: 1, 2, 3, 5, 8, 13, 21, 34...
Lucas Sequence: 2, 1, 3, 4, 7, 11, 18, 29, 47...
Fibonacci Ratios (converted to whole numbers): 23, 38, 50, 61, 78, 127, 161...
Light Bulb Moment
My eyes may suck at grouping the lines together but what about clustering algorithms? I chose to use a gimped version of Mean Shift because it doesn't require me to know in advance how many lines to expect like K-Means. Mean shift is computationally expensive and with Pinescript's 500ms timeout, I had to make due without the KDE. In other words, I skipped the weighting part but I may try to incorporate it in the future. The code is from Harrison Kinsley . He's a fantastic teacher!
Usage
Search Radius: how far apart should the bars be before they are excluded from the cluster? Try to stick with a figure between 1-5. Too large a figure will give meaningless results.
Pivot Offset: looks left and right X number of bars for a pivot. Same setting as the default TradingView pivot high/low script.
Show Lines Back: show historical predicted lines. (These can change)
Use this script in conjunction with Fibonacci price retracement/extension levels and/or other support/resistance levels. If it's no where near a support/resistance and there's a projected time pivot coming up, it's probably a fake out.
Notes
Re-painting is intended. When a new pivot is found, it will project out the Fib/Lucas sequences so the algorithm will run again with additional information.
The script is for informational and educational purposes only.
Do not use this indicator by itself to trade!
Channel of linear regression of rate of change from the mean The indicator calculates the difference between the closing price and the average as a percentage and after that it calculates the average linear regression and then draws it in the form of a channel.
Preferably use it on 30 min or 15 min or 1 Hour or 2H time frames .
Exiting outside the upper or lower channel limits represents high price inflation, and returning inside the channel means the possibility of the price rising or falling for the average or the other limit of the channel.
Channel lines may represent places of support and resistance.
Nasdaq VXN Volatility Warning IndicatorToday I am sharing with the community a volatility indicator that uses the Nasdaq VXN Volatility Index to help you or your algorithms avoid black swan events. This is a similar the indicator I published last week that uses the SP500 VIX, but this indicator uses the Nasdaq VXN and can help inform strategies on the Nasdaq index or Nasdaq derivative instruments.
Variance is most commonly used in statistics to derive standard deviation (with its square root). It does have another practical application, and that is to identify outliers in a sample of data. Variance is defined as the squared difference between a value and its mean. Calculating that squared difference means that the farther away the value is from the mean, the more the variance will grow (exponentially). This exponential difference makes outliers in the variance data more apparent.
Why does this matter?
There are assets or indices that exist in the stock market that might make us adjust our trading strategy if they are behaving in an unusual way. In some instances, we can use variance to identify that behavior and inform our strategy.
Is that really possible?
Let’s look at the relationship between VXN and the Nasdaq100 as an example. If you trade a Nasdaq index with a mean reversion strategy or algorithm, you know that they typically do best in times of volatility . These strategies essentially attempt to “call bottom” on a pullback. Their downside is that sometimes a pullback turns into a regime change, or a black swan event. The other downside is that there is no logical tight stop that actually increases their performance, so when they lose they tend to lose big.
So that begs the question, how might one quantitatively identify if this dip could turn into a regime change or black swan event?
The Nasdaq Volatility Index ( VXN ) uses options data to identify, on a large scale, what investors overall expect the market to do in the near future. The Volatility Index spikes in times of uncertainty and when investors expect the market to go down. However, during a black swan event, historically the VXN has spiked a lot harder. We can use variance here to identify if a spike in the VXN exceeds our threshold for a normal market pullback, and potentially avoid entering trades for a period of time (I.e. maybe we don’t buy that dip).
Does this actually work?
In backtesting, this cut the drawdown of my index reversion strategies in half. It also cuts out some good trades (because high investor fear isn’t always indicative of a regime change or black swan event). But, I’ll happily lose out on some good trades in exchange for half the drawdown. Lets look at some examples of periods of time that trades could have been avoided using this strategy/indicator:
Example 1 – With the Volatility Warning Indicator, the mean reversion strategy could have avoided repeatedly buying this pullback that led to this asset losing over 75% of its value:
Example 2 - June 2018 to June 2019 - With the Volatility Warning Indicator, the drawdown during this period reduces from 22% to 11%, and the overall returns increase from -8% to +3%
How do you use this indicator?
This indicator determines the variance of VXN against a long term mean. If the variance of the VXN spikes over an input threshold, the indicator goes up. The indicator will remain up for a defined period of bars/time after the variance returns below the threshold. I have included default values I’ve found to be significant for a short-term mean-reversion strategy, but your inputs might depend on your risk tolerance and strategy time-horizon. The default values are for 1hr VXN data/charts. It will pull in variance data for the VXN regardless of which chart the indicator is applied to.
Disclaimer: Open-source scripts I publish in the community are largely meant to spark ideas or be used as building blocks for part of a more robust trade management strategy. If you would like to implement a version of any script, I would recommend making significant additions/modifications to the strategy & risk management functions. If you don’t know how to program in Pine, then hire a Pine-coder. We can help!
S&P500 VIX Volatility Warning IndicatorToday I am sharing with the community a volatility indicator that can help you or your algorithms avoid black swan events. Variance is most commonly used in statistics to derive standard deviation (with its square root). It does have another practical application, and that is to identify outliers in a sample of data. Variance in statistics is defined as the squared difference between a value and its mean. Calculating that squared difference means that the farther away the value is from the mean, the more the variance will grow (exponentially). This exponential difference makes outliers in the variance data more apparent.
Why does this matter?
There are assets or indices that exist in the stock market that might make us adjust our trading strategy if they are behaving in an unusual way. In some instances, we can use variance to identify that behavior and inform our strategy.
Is that really possible?
Let’s look at the relationship between VIX and the S&P500 as an example. If you trade an S&P500 index with a mean reversion strategy or algorithm, you know that they typically do best in times of volatility. These strategies essentially attempt to “call bottom” on a pullback. Their downside is that sometimes a pullback turns into a regime change, or a black swan event. The other downside is that there is no logical tight stop that actually increases their performance, so when they lose they tend to lose big.
So that begs the question, how might one quantitatively identify if this dip could turn into a regime change or black swan event?
The CBOE Volatility Index (VIX) uses options data to identify, on a large scale, what investors overall expect the market to do in the near future. The Volatility Index spikes in times of uncertainty and when investors expect the market to go down. However, during a black swan event, the VIX spikes a lot harder. We can use variance here to identify if a spike in the VIX exceeds our threshold for a normal market pullback, and potentially avoid entering trades for a period of time (I.e. maybe we don’t buy that dip).
Does this actually work?
In backtesting, this cut the drawdown of my index reversion strategies in half. It also cuts out some good trades (because high investor fear isn’t always indicative of a regime change or black swan event). But, I’ll happily lose out on some good trades in exchange for half the drawdown. Lets look at some examples of periods of time that trades could have been avoided using this strategy/indicator:
Example 1 – With the Volatility Warning Indicator, the mean reversion strategy could have avoided repeatedly buying this pullback that led to SPXL losing over 75% of its value:
Example 2 - June 2018 to June 2019 - With the Volatility Warning Indicator, the drawdown during this period reduces from 22% to 11%, and the overall returns increase from -8% to +3%
How do you use this indicator?
This indicator determines the variance of the VIX against a long term mean. If the variance of the VIX spikes over an input threshold, the indicator goes up. The indicator will remain up for a defined period of bars/time after the variance returns below the threshold. I have included default values I’ve found to be significant for a short-term mean-reversion strategy, but your inputs might depend on your risk tolerance and strategy time-horizon. The default values are for 1hr VIX data. It will pull in variance data for the VIX regardless of which chart the indicator is applied to.
Disclaimer : Open-source scripts I publish in the community are largely meant to spark ideas or be used as building blocks for part of a more robust trade management strategy. If you would like to implement a version of any script, I would recommend making significant additions/modifications to the strategy & risk management functions. If you don’t know how to program in Pine, then hire a Pine-coder. We can help!
Deviation BandsThis indicator plots the 1, 2 and 3 standard deviations from the mean as bands of color (hot and cold). Useful in identifying likely points of mean reversion.
Default mean is WMA 200 but can be SMA, EMA, VWMA, and VAWMA.
Calculating the standard deviation is done by first cleaning the data of outliers (configurable).
TradeChartist Actuator™TradeChartist Actuator is an extremely functional indicator that converts the price action volatility and momentum into a meaningful trading system (based on user defined Standard Deviation Factor), that consists of expanding/contracting Volatility Range Bands, Dynamic Trend Support/Resistance Bands and 2 types of Breakout Signals in a visually stunning design. The script also neatly packs in ZigZag & manual/automatic Fibonacci Retracement tools, option to filter the signals using an external filter and other useful extras like ™TradeChartist Dollar Candles and much more.
===================================================================================================================
™TradeChartist Actuator User Manual
█ Actuator Range Bands
Actuator Range Bands consists of a Mean line, an Upper Band and a Lower Band which are based on user defined Standard Deviation Factor (Default - 1.618, Min - 0.5, Max - 2). The 1.618 factor works extremely well as the unnecessary volatility data of the bands are eliminated by Actuator's logic. In my personal tests, 1.618 works consistently better than any other value in visually showcasing the true volatility range. By eliminating the unnecessary volatility data from the original non-stabilized bands, Actuator helps detect price momentum by detecting two types of breakouts.
Bands Breakout - Filtered
When the price breaks out of the upper or lower band after a trend, there is a strong possibility of a reversal especially when the volatility expansion/contraction takes place. This is detected using a built in filter with the Filtered Bands Breakout and the user can choose to use the closing price or High/Low price as the trigger for breakouts. This trade setup is very useful especially at zones where the Actuator Range Bands contract or squeeze after an expansion as shown in the OANDA:XAUUSD 1hr chart below.
Also, after a consistent expansion of the bands with price trending in the upper channel or the lower channel, users can spot good profit taking or Short trade opportunities with confirmation of overbought price and if possible a strong bear divergence as show in the BINANCE:LUNAUSDTPERP 1hr chart below.
It can be seen from the chart above that even though Actuator is designed to detect Extreme Bands Breakout using High/Low price, it is done with a little bit of filtering by the script logic and hence didn't generate a Bear signal at the lower band support zone.
Mean Breakout - Filtered
In most Mean Reversion models, mostly oscillators, the mean plays an important role in helping traders predict the price dynamic, but it also presents a challenge whether that mean will act as support or resistance so the trader can take a position that will have a high probability of success. Filtered Mean Breakout helps exactly to identify the price dynamic at the mean zone and helps reduce the dilemma. Actuator uses Volatility Trend and Momentum of the price action at mean to determine Bull/Bear breakouts. Following NASDAQ:AAPL 1hr chart shows an example of 2 instances of Filtered Mean Breakout detection, one bull and one bear and further area where no Breakout was detected in spite of price crossing the mean.
This Breakout type is really helpful in spotting early moves and also reduces the high volatility risk of Extreme Bands Breakout in some cases.
===================================================================================================================
█ External Filter
Actuator breakout signals can be further filtered using the feature of connecting an external signal as a trade filter.
External filter like RSI , MACD etc. can be used to filter breakouts by connecting to ™TradeChartist Actuator under ╔═══ 𝗣𝗹𝘂𝗴 𝗙𝗶𝗹𝘁𝗲𝗿 𝗵𝗲𝗿𝗲 ═══ 🔌 dropdown by enabling 𝐔𝐬𝐞 𝐄𝐱𝐭𝐞𝐫𝐧𝐚𝐥 𝐅𝐢𝐥𝐭𝐞𝐫.
To get the external filter to work, 𝐒𝐢𝐠𝐧𝐚𝐥 𝐓𝐲𝐩𝐞 must be set right. For plots that are non oscillatory like Moving Averages, Super Trend etc., choose type as Non Oscillatory and for Oscillators like RSI , CCI , MACD etc., choose type as Oscillatory .
For Oscillators, levels must be specified for 𝐎𝐬𝐜𝐢𝐥𝐥𝐚𝐭𝐨𝐫 𝐁𝐮𝐥𝐥 𝐅𝐢𝐥𝐭𝐞𝐫 𝐯𝐚𝐥𝐮𝐞 and 𝐎𝐬𝐜𝐢𝐥𝐥𝐚𝐭𝐨𝐫 𝐁𝐞𝐚𝐫 𝐅𝐢𝐥𝐭𝐞𝐫 𝐯𝐚𝐥𝐮𝐞, especially if the Oscillator doesnt have 0 as midline, like RSI . Even for 0 mid oscillators like CCI , filter levels like 100/-100 work effectively to filter noise.
Use 𝐁𝐮𝐥𝐥/𝐁𝐞𝐚𝐫 𝐁𝐚𝐜𝐤𝐠𝐫𝐨𝐮𝐧𝐝 𝐅𝐢𝐥𝐥 under Actuator Visuals section to paint the trade zones background. It helps visually see the effect of filters on the breakout entries and also the trade performance.
The following chart shows the Filter settings with ™TradeChartist Momentum Drift Oscillator connected to Actuator as Oscillatory signal with filter values 0.
The two example charts of 1hr BINANCE:BTCUSDT below shows the difference in Actuator signals based on Oscillatory signal from ™TradeChartist Momentum Drift Oscillator and the difference can be seen from the highlighted Bull/Bear Background Fill.
Without External Filter
With External Filter
===================================================================================================================
█ Dynamic Trend Support/Resistance Bands
In addition to Volatility Range Bands, Actuator also plots Dynamic Trend Support and Resistance bands that are more sensitive to price action and helps the user determine growing support/resistance which is indicated by coloured dots. These dots normally appear when the Support or Resistance stays at the same level for a few bars and change between Bull and Bear colours based on how the price interacts with them as shown below.
===================================================================================================================
█ Useful Trade Tools
™TradeChartist Dollar Candles
Dollar Candles help detect the volatility exhaustion prices and plots $ signs to help the trader take profits or move stop loss levels to secure gains. The $ signs do not appear for every trade zone, but whenever price hits a critical level, it shows up above price bar (for Bull trend) or below price bar (for Bear trend) in real time. Users can also set alerts for Dollar Candles with Once Per Bar setting. The Daily NASDAQ:TSLA chart below shows the Dollar Candles on both Bull and Bear trends.
It is important to note that taking pockets of profits on a leveraged trade position or moving up stop loss to maximize trend gains at $ candles will help increase Average Profitability Per Trade (APPT) .
Bull/Bear Background Fill
Bull/Bear Background Fill paints the trade zones in Bull and Bear colours. This helps visualize the difference in trade zones when testing various settings and also helps analyze past performance of Actuator Signals with or without the use of External Filter.
Entry Stop Loss Reference
Reference zone for stop loss has always been a tricky one for traders. Using a fixed percentage stop at entry may not be best during high volatility moves. Over the extensive period of Actuator testing, a simple solution to this problem was found. The previous trend's Range Bands Mean Line served as a perfect reference point for Entry Stop. Also while analysing this Mean line, it was found to be a perfect horizontal support/resistance line and also helped detect unproductive trades. The example 15m chart of NASDAQ:AMD shows how the Entry Stop Loss Reference performed.
Stop Line Touch Points plot orange touch points on the Stop Line whenever the price hits it during the trade.
Actuator Colour Bars
Actuator Colour Bars paints the Momentum Strength on the price bars. This helps visually see the price bars venturing into the Overbought or the Oversold zones. Also, this feature also helps spot divergences as higher highs or lower lows with less intense Bull/Bear colour than the previous high/low shows diminishing momentum as shown in the 1h chart of OANDA:GBPJPY below.
===================================================================================================================
█ ZigZag & Fibonacci Toolkit
Actuator plots developing and completed ZigZags based on Bull and Bear trend depending on the Breakout Type and Breakout Price from the settings.
Option to enable or disable 𝐙𝐢𝐠𝐙𝐚𝐠 𝐂𝐨𝐧𝐧𝐞𝐜𝐭𝐨𝐫 which can be helpful for Harmonic traders.
Option to display 𝐙𝐢𝐠𝐙𝐚𝐠 𝐇𝐢𝐠𝐡𝐬/𝐋𝐨𝐰𝐬 and 𝐑𝐒𝐈 𝐚𝐭 𝐇𝐢𝐠𝐡𝐬/𝐋𝐨𝐰𝐬 in one of two styles.
Two types of Fibonacci to choose from - 𝐀𝐮𝐭𝐨-𝐅𝐢𝐛𝐬 and 𝐅𝐢𝐛𝐬 𝐛𝐚𝐬𝐞𝐝 𝐨𝐧 𝐋𝐨𝐨𝐤𝐛𝐚𝐜𝐤.
𝐀𝐮𝐭𝐨-𝐅𝐢𝐛𝐬 option plots Auto Fibonacci levels based on Bull/Bear trend depending on user specified Breakout Type and Breakout Price.
𝐅𝐢𝐛𝐬 𝐛𝐚𝐬𝐞𝐝 𝐨𝐧 𝐋𝐨𝐨𝐤𝐛𝐚𝐜𝐤 plots Fibonacci levels based on the highest high and lowest low of the lookback period (𝐃𝐚𝐲𝐬 or 𝐂𝐚𝐧𝐝𝐥𝐞𝐬).
Fibonacci levels can be reversed by enabling 𝐑𝐞𝐯𝐞𝐫𝐬𝐞 from settings.
Enabling 𝐂𝐮𝐫𝐫𝐞𝐧𝐭 𝐏𝐫𝐢𝐜𝐞 𝐅𝐢𝐛 𝐋𝐚𝐛𝐞𝐥 displays the current Fib level of the developing price bar.
Option to customize Fib levels and colours.
4hr chart of BINANCE:BTCUSDT showing Auto Fibonacci levels, Zig-Zag with Trend High/Lows, Zig-Zag connectors with Fib Ratios and RSI at Trend High/Low prices.
Note:
If momentum doesn't slow down, the fibs can extend beyond 1 and may continue way beyond 4.618 fib level. These are quite rare depending on how distant the near high/low is based.
ZigZag and Fibonacci are good reference indicators and should always be used as confirmations rather than standalone indicators.
===================================================================================================================
█ Actuator Colour Scheme
Actuator employs 3 built in colour schemes namely Chilli , Flame and Sublime Grayscale and a versatile colour scheme Custom which enables the user to customise the colour combinations of the components of the Actuator script.
===================================================================================================================
█ Alerts
Alerts can be created for the following.
Actuator Bull Breakout Signal - Once Per Bar Close
Actuator Bear Breakout Signal - Once Per Bar Close
Actuator Long Dollar - Take Profit - Once Per Bar
Actuator Short Dollar - Take Profit - Once Per Bar
Actuator Stop Line Hit - Once Per Bar
Note: The script doesn't repaint, so the alerts can be used with confidence. To check this, users can do bar replays to check if the plots and markers stay in the same place.
===================================================================================================================
Best Practice: Test with different settings first using Paper Trades before trading with real money
===================================================================================================================
TradeChartist Mean Momentum Drift Oscillator (MMDO)™TradeChartist Mean Momentum Drift Oscillator (MMDO) is the Oscillator version of the ™TradeChartist Mean Momentum Drift Bands (MMDB) indicator with some added visual features to spot Momentum, divergences and Price action using ™TradeChartist Zone Visualizer model.
===================================================================================================================
Features of ™TradeChartist MMDO
==============================
Price zone detection using ™TradeChartist Zone Visualizer model.
No User input required.
3 Visual colour schemes - Chilli, Flame and Custom.
Clear Visualization of Overbought and Oversold zones.
Colour Bars based on Momentum strength.
MDDO highs and lows tracker helps detect divergences.
===================================================================================================================
Example Charts
1. MMDO used along with ™TradeChartist MMDB (Mean Momentum Drift Bands) on 4hr chart of BINANCE:BTCUSDT
2. MMDO on 1hr chart of OANDA:EURUSD to confirm Drift Bands breakout entries on MMDB
3. MMDO on 1hr chart of BINANCE:LUNAUSDT
===================================================================================================================
Best Practice: Test with different settings first using Paper Trades before trading with real money
===================================================================================================================
34 EMA BandsThis is quite a simple script, just plotting a 34EMA on high's and low's of candles. Appears to work wonders though, so here it is.
There is some //'d code which I haven't finished working on, but it looks to be quite similar to Bollinger Bands, just using different math rather than standard deviations from the mean.
The bands itself is pretty self explanatory, price likes to use it as resistance when under it, it can trade inside it and it can use the upper EMA as support when in a strong upward trend.
Augmented Dickey–Fuller (ADF) mean reversion testThe augmented Dickey-Fuller test (ADF) is a statistical test for the tendency of a price series sample to mean revert .
The current price of a mean-reverting series may tell us something about the next move (as opposed, for example, to a geometric Brownian motion). Thus, the ADF test allows us to spot market inefficiencies and potentially exploit this information in a trading strategy.
Mathematically, the mean reversion property means that the price change in the next time period is proportional to the difference between the average price and the current price. The purpose of the ADF test is to check if this proportionality constant is zero. Accordingly, the ADF test statistic is defined as the estimated proportionality constant divided by the corresponding standard error.
In this script, the ADF test is applied in a rolling window with a user-defined lookback length. The calculated values of the ADF test statistic are plotted as a time series. The more negative the test statistic, the stronger the rejection of the hypothesis that there is no mean reversion. If the calculated test statistic is less than the critical value calculated at a certain confidence level (90%, 95%, or 99%), then the hypothesis of a mean reversion is accepted (strictly speaking, the opposite hypothesis is rejected).
Input parameters:
Source - The source of the time series being tested.
Length - The number of points in the rolling lookback window. The larger sample length makes the ADF test results more reliable.
Maximum lag - The maximum lag included in the test, that defines the order of an autoregressive process being implied in the model. Generally, a non-zero lag allows taking into account the serial correlation of price changes. When dealing with price data, a good starting point is lag 0 or lag 1.
Confidence level - The probability level at which the critical value of the ADF test statistic is calculated. If the test statistic is below the critical value, it is concluded that the sample of the price series is mean-reverting. Confidence level is calculated based on MacKinnon (2010) .
Show Infobox - If True, the results calculated for the last price bar are displayed in a table on the left.
More formal background:
Formally, the ADF test is a test for a unit root in an autoregressive process. The model implemented in this script involves a non-zero constant and zero time trend. The zero lag corresponds to the simple case of the AR(1) process, while higher order autoregressive processes AR(p) can be approached by setting the maximum lag of p. The null hypothesis is that there is a unit root, with the alternative that there is no unit root. The presence of unit roots in an autoregressive time series is characteristic for a non-stationary process. Thus, if there is no unit root, the time series sample can be concluded to be stationary, i.e., manifesting the mean-reverting property.
A few more comments:
It should be noted that the ADF test tells us only about the properties of the price series now and in the past. It does not directly say whether the mean-reverting behavior will retain in the future.
The ADF test results don't directly reveal the direction of the next price move. It only tells wether or not a mean-reverting trading strategy can be potentially applicable at the given moment of time.
The ADF test is related to another statistical test, the Hurst exponent. The latter is available on TradingView as implemented by balipour , QuantNomad and DonovanWall .
The ADF test statistics is a negative number. However, it can take positive values, which usually corresponds to trending markets (even though there is no statistical test for this case).
Rigorously, the hypothesis about the mean reversion is accepted at a given confidence level when the value of the test statistic is below the critical value. However, for practical trading applications, the values which are low enough - but still a bit higher than the critical one - can be still used in making decisions.
Examples:
The VIX volatility index is known to exhibit mean reversion properties (volatility spikes tend to fade out quickly). Accordingly, the statistics of the ADF test tend to stay below the critical value of 90% for long time periods.
The opposite case is presented by BTCUSD. During the same time range, the bitcoin price showed strong momentum - the moves away from the mean did not follow by the counter-move immediately, even vice versa. This is reflected by the ADF test statistic that consistently stayed above the critical value (and even above 0). Thus, using a mean reversion strategy would likely lead to losses.
Percentile Rank [racer8]The Percentile is a mathematical tool developed in the field of statistics. It determines how a value compares to a set of values.
There are many applications for this like ...
... determining your rank in your college math class
... your rank in terms of height, weight, economic status, etc.
... determining the 3-month percentile of the current stock price (which is what this indicator performs)
This indicator calculates the percentile rank for the current stock price for n periods.
For example, if the stock's current price is above 80% of the previous stock's prices over a 100-period span, then it has a percentile rank of 80.
For traders, this is extremely valuable information because it tells you if the current stock price is overbought or oversold.
If the stock's price is in the 95th percentile, then it is highly likely that it is OVERBOUGHT, and that it will revert back to the mean price.
Helplful TIP: I recommend that you set the indicator to look back over at LEAST 100 periods for accuracy!
Thanks for reading! 👍