A Z-score Trading Strategy and the Awesome Oscillator Indicator

In this post we’re looking at how to create a Z-score trading strategy and look at how it may be used to normalize the Awesome Oscillator indicator values. Specifically, we’ll use the Z-score to condition Awesome Oscillator entries and exits.

Normal Distribution & The Empirical Rule

If we assume a normal distribution of data points and illustrate them with a curve, the majority will fall within a bell shaped form. This is known as the Bell Curve and gives us a basis for making fairly reliable predictions.

The empirical rule, a.k.a the 68–95–99.7 rule, is a quick way to remember the expected percentage values defined for a normal distribution of expected outcomes. Data points within one standard deviation will statistically represent about 68% of the dataset. As for the tails of the curve, 95% of all datapoints are within the 2nd standard deviation and 99.7% within the 3rd standard deviation. By applying the Z-score to the Awesome Oscillator, we may use these expected percentage values to define entry and exit conditions for a trading strategy.

The Awesome Oscillator

The Awesome Oscillator indicator was introduced by Bill Williams and is a MACD indicator similar to the standard version that comes with all charting software. However, whereas the standard MACD uses exponential moving averages, the Awesome Oscillator is calculated from simple moving averages. Furthermore, the default Awesome Oscillator periods for fast / slow moving average are 5 / 34, whereas the standard MACD uses 12 / 26. Finally, the Awesome Oscillator uses the bar median as input value while the standard MACD is calculated from the bar closes.

Awesome Oscillator for NinjaTrader 8
The Awesome Oscillator

Awesome Oscillator Indicator Setups

The basic Awesome Oscillator setup is when there is a zeroline cross. This indicates a change in momentum representing buying/selling opportunities. Oscillator values above the zeroline indicate a short term momentum which is higher than the long term. Values below the zeroline indicates a short term momentum which is lower than the long term.

NinjaTrader Awesome Oscillator Zeroline Cross
The Awesome Oscillator Cross Setup

Another way of using the Awesome Oscillator is the so called “Saucer Setup”. This is a situation where a pause in the current trend is identified. A bullish saucer setup occurs when the Awesome Oscillator is above the zeroline with a number of consecutive oscillator values showing a slowing momentum. This scenario is then followed by higher oscillator values and renewed buying pressure.

The general idea here is to identify the “trend sweet spot”, entering in an early trend continuation scenario, before the trend has advanced too far. By normalizing the Awesome Oscillator using the Z-score, you may then identify setups that occur within one standard deviation of the data in the lookback period.

Awesome Oscillator Indicator Entry

In the below chart, the Awesome Oscillator was used as input for the Z-score over a 100 bar lookback period. Specifically, in order for the saucer setups to plot, the Awesome Oscillator indicator values are required to fall within 1 standard deviation. Accordingly, the late entry signal was eliminated.

Fixed scale Oscillator Z score
Conditioning Awesome Oscillator Strategy Entries

Awesome Oscillator Indicator Exit

Similarly, the Z-score can be used to identify likely oversold or overbought scenarios. Below, the Z-score threshold was moved out to a -2 threshold for a short scenario. This situation can then be used to identify a potential exit for an Awesome Oscillator strategy. However, oversold / overbought scenarios should be accompanied by additional requirements for identifying good exit points, for example a change in the Z-score slope.

Normalizing Oscillator Values NT8
Conditioning Awesome Oscillator Strategy Exits


In this post we’ve discussed how the Z-score can be used to normalize Awesome Oscillator indicator values. This in turn gives us a basis for making fairly reliable predictions. Specifically, the process of normalizing enables you to create a fixed scale and to condition entries / exits for an Awesome Oscillator Strategy:

  • to occur inside one standard deviation, i.e. ca. 68%, of the dataset.
  • to occur outside the 2nd standard deviation, i.e. 95% of the dataset

Below is a tutorial video on how to set up the Awesome Oscillator indicator with the Z-score using the Bloodhound strategy builder. Towards the end of the presentation, we also discuss how the setup distinguishes itself from the Zerolag Oscillator retracement setups.

The Awesome Oscillator Strategy was also discussed in our NinjaTrader Indicators Spotlight Newsletter.