OPEN-SOURCE SCRIPT

Heikin Ashi Volatility Percentile - TraderHalai

Updated
The Heikin Ashi Volatility Percentile (HAVP) Oscillator was inspired by the legendary Bollinger Band Width Percentile indicator(known as BBWP), written by Caretaker, and made famous by Eric Krown, a famous influencer.

This script borrows aspects of the BBWP indicator which enables the HAVP oscillator to visually match the look and feel of BBWP and allows similar configuration functions (such as colouring function, smoothing MAs and alerts)

The fundamentals of this script are however different to BBWP. Instead of Bollinger band width, this script uses a reverse function of Heikin Ashi close (implemented in my Smoothed Heikin Ashi Trend
indicator, linked below). 

The reverse Heikin Ashi close is smoothed using Ehler's SuperSmoother function, providing smooth oscillation and earlier signals of volatility tops and bottoms.

Smoothed Heikin Ashi Trend on Chart - TraderHalai


From an automated backtest that I have conducted on the BTCUSD index pair, I have observed comparable performance to BBWP across multiple timeframes when combining with stochastic direction to give a bias on overall direction. Using parameters I have tested, it performs better on mid-term timeframes such as 3h,4h and 6h. BBWP outperforms on 1h and 1d, with lower timeframes being comparable.

From the results, using HAVP over BBWP tends to result in reduced holding time and more frequent trades, which may or may not be desirable, although the behaviour can be adjusted using the parameters provided.

For instance, the smoother oscillation provided by HAVP provides a great predictability factor and earlier confirmation signals, which is something that Ehler emphasised in his trading style, and something which I agree with personally. I would encourage you to try out both HAVP and BBWP and see which fits your trading style.

Releasing this as open source allows for the betterment of the community and further development, criticism and discussion.

Thanks and enjoy! :)
Release Notes
  • Cleaner UI layout of options
  • Selection option between four different Ehler Smoothing Types - See below for explanation
  • Toggle option to use roofing filter - disabled by default (Warning: this makes the signals smoother, but sometimes produces signals that are too early)
  • Update default settings for lookback period and moving average length to align with bbwp (252 lookback, and 13 length)


Ehler Smoothing options explanation:

Three pole Ehlers Butterworth
The 3 pole Ehlers Butterworth (as well as the Two pole Butterworth) are both superior alternatives to the EMA and SMA . They aim at producing less lag whilst maintaining accuracy. The 2 pole filter will give you a better approximation for price, whereas the 3 pole filter has superior smoothing.

Three pole Ehlers smoother
The 3 pole Ehlers smoother works almost as close to price as the above mentioned 3 Pole Ehlers Butterworth. It acts as a strong baseline for signals but removes some noise. Side by side, it hardly differs from the Three Pole Ehlers Butterworth but when examined closely, it has better overshoot reduction compared to the 3 pole Ehlers Butterworth.

Two pole Ehlers Butterworth
The 2 pole Ehlers Butterworth (as well as the three pole Butterworth mentioned above) is another filter that cuts out the noise and follows the price closely. The 2 pole is seen as a faster, leading filter over the 3 pole and follows price a bit more closely. Analysts will utilize both a 2 pole and a 3 pole Butterworth on the same chart using the same period, but having both on chart allows its crosses to be traded.

Two pole Ehlers smoother
A smoother version of the Two pole Ehlers Butterworth. This filter is the faster version out of the 3 pole Ehlers Butterworth. It does a decent job at cutting out market noise whilst emphasizing a closer following to price over the 3 pole Ehlers .

Roofing filter option
Roofing filters are a type of bandpass filter conventionally used in HF radio receivers in the first IF stage to limit the frequency spectrum passed on to later stages in the receiver. Its usage in trading systems was popularised by John Ehler

The goal in applying roofing filters to a price signal is to simultaneously attenuate high frequency noise and low frequency distortion to pass an oscillating signal with a nearly zero mean for analysis and/or further calculation.

Enjoy!
Release Notes
Comparison included with it's bigger brother, BBWP! :)
Release Notes
Added 7 new color gradient options - credit to e2e4mfck for his color gradient function
Release Notes
Invert e2 color gradients option
Release Notes
Support for 'Heikin Ashi Better' candle types
ashibbwpCentered OscillatorshavpheikinheikinashiOscillatorspercentilesmoothVolatility

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?

Disclaimer