OPEN-SOURCE SCRIPT

+ Awesome Oscillator

Updated
Hi again. I have another indicator that I think is pretty neat.

I had the idea of creating an Awesome Oscillator for my Ultimate MA, just to see what kind of signals it might produce. If you're not familiar with my UMA you should go take a look at it, but essentially it is just an average of eight different length MAs, and if you're not familiar with the Awesome Oscillator, it is simply a comparison of the gap between two different moving averages (traditionally a 5 and 34 SMA) plotted as a histogram below the price chart. The two UMAs I was comparing in this version of the AO were the Hull and Simple. It looked okay, but I thought due to the nature of the movements of these MAs, that it was necessary to add something to this indicator in order to validate its creation and make it truly useful

I came to the idea of simply comparing the closing price of the asset on the chart to both the Awesome Oscillator moving averages. What this effectively does is gives you a representation of the moving averages on the chart (assuming you are using those same MAs) as an oscillator below the chart, enabling you to remove the moving averages from your price chart (obviously if you so choose). For me, I like this because fewer things on the chart makes it easier for me to see the price action and structure of the market clearly, or add something like a tWAP or two.

So, like, "how exactly would I use this indicator?"" you're probably asking.

First off: the Awesome Oscillator. By default it is a faintly shaded area, and is the least obvious part of the indicator.

Second: the plotted line. This is what I call the baseline (if you're familiar with NNFX, then you know what this is). It's basically your bias moving average (this means it defines, based on its lookback or length, whether momentum is bullish, bearish or ranging). In the case of the oscillator though, the ZERO line represents the baseline, and the oscillating line represents price in relation to it. If the line is above the zero line then price is above the moving average, and vice versa if it's below. The farther from the center line the baseline price is the greater the volatility,

Third: the histogram. This is the faster moving average, and same rules apply to it as your baseline. You can think of your fast moving average as a trade entry trigger, or an exit. It shows more immediate momentum shifts.

What's interesting about the relationships of all three of these things is that you don't actually NEED all three displayed. Because the Awesome Oscillator is a relation of your two moving averages, and the baseline and histogram are representational of the price relative to those two moving averages, you will notice that when the histogram (fast MA) flips up or down is the same exact time that the baseline price dips into the AO. The AO is effectively a moving average on that. So you can run this with just the AO and Baseline, or just the Baseline and fast MA histogram. To get started, I might recommend keeping your moving averages that you use on the chart just so you can see how this indicator works.

Both the fast MA and Baseline will show nice divergences (divergence indicator is added if you want to use it). And I've added Donchian Channels as upper and lower bounds that act neatly as support or resistance (especially effective if you're using my UMA with Bollinger Bands, or Magic Carpet Bands).

I've also done the usual colored candles thing, which gives you another great reason to get the moving averages off your chart. There are of course alerts for conditions that one might need to be alerted to as well.

Below are some images of different ways you might set these up using the default moving average/baseline settings. In all of these I've left the moving averages on the price chart (with the addition of a 233 SMA) so you can see the relationship between the indicators.

snapshot
Right here is the indicator set up with just the awesome oscillator and baseline price. Gives a cleaner overall look. You can see that every time the baseline crosses the awesome oscillator is when price crosses the 8 SMA. Candle colors are based on if candle closes above baseline or below.

snapshot
This is the indicator set up without the awesome oscillator. Here you can see candle closes over the 8 SMA (fast moving average) are shown by the histogram. Candle coloring is still the same as the above image.

snapshot
This image looks identical to the first, except that the candle coloring is different. This time it is based on the 8 SMA (same as the baseline entering the awesome oscillator).

snapshot
And the final example image. This one depicts the awesome oscillator and the fast moving average histogram. Candle coloring is based on the awesome oscillator. This can be a great way to visualize momentum because the awesome oscillator is depicting the crossing of the moving averages. A lot of people poo-poo moving average crosses, but I'd say they're wrong. Well, they're right and wrong. Depends on the MAs you're using. The power in moving average crosses is in their ability to show bullish or bearish momentum (or ranging behavior if they continually cross over each other). If you're using slow moving averages, then crosses are often very late (hence so many people who don't know saying, "but moving average crosses are too laggy". Here you might try changing these and having the baseline be faster than the UMA, and actually plot on chart the UMA (or some other moving average). These are just some thoughts.

Anyway, I hope this indicator proves useful to you all. I think for anyone looking to look at price action a bit more, but is used to using moving averages, this could be a really useful indicator. Most oscillating indicators (if not all) are built around moving averages, but they're never explained in such a way as I'm explaining how this one works (I don't think). I think knowing this could help many traders come to a deeper understanding of what the indicator they're using is actually doing.
Release Notes
I'm publishing updates to all of my indicators, so I'm just going to comment on everything here since most of the updates are common across most of my indicators.

User Non-Visible Updates (basically backend stuff that makes:
- changes in code legibility and consistency across all indicators (basically standardizing the coding across as many indicators as possible)
- implementation of libraries into my indicators; which helps significantly in doing what I typed above; which in turn will make creating any new indicators, if they are of the type to use these libraries, much simpler
- updated descriptions for all indicators, which should (it's possible I've forgotten things) reflect changes I've made recently and any I may have made in the past after first publication (this is very minor, but as I was changing so much I thought I may as well--I don't intend to update these much, if at all, in the future)

User Visible Updates:
- as I mentioned everything now uses my moving averages library and volatility bands library--this cuts down the total amount of code significantly, and has made it easier for me to add moving averages, or volatility bands to these indicators because I only had to/have to add it one time (to the library) rather than multiple times across all indicators*
- since creating these libraries I've added several new moving averages (Kaufman Adaptive, Laguerre Filter, McGinley Dynamic (doesn't work for all), and Zero-lag) to them while retaining all the previous with the exception of the UMA, which wasn't implemented consistently across all indicators anyway
- eliminated having two Bollinger Bands with different standard deviations and a fill between them in exchange for one with the band fill implementation that I use on my Donchian Channels Bands
- part of my code consistency across all indicators resulted in a much needed organization of the 'style' tab

*(affects all but the Wavetrend Oscillator, Wavetrend Oscillator Overlay, Jurik KDJ, Average Candle Bodies Range, Bollinger Bands Width, ALMA Trend Detector, Ultimate Moving Average, Donchian Channels, and Dynamic Donchian Channels)
awesome_oscillatorbarcolorbaselineCandlestick analysisDivergenceMoving AveragesnononsenseforexnononsensefxOscillators

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?


Also on:

Disclaimer