Here the swing versions of the base indicators are described.
Introduction
This derived indicator expresses the concepts of swings.
Major maxima and minima are found, disregarding minor fluctuations.
It can be used to find divergences, too.
Still another usage is to represent the Elliott waves.
The indicator implementing the swing concept is:
Zig Zag with variable threshold
Swing highs and lows are found and then connected by segments.
Function Composition
For greater flexibility, the Swing indicator is not applied directly to a base indicator per se, but to its Moving Average (MA):
Zig Zag (MA (base indicator() ))
This way, the swing can be calculated on a smoothed version of the indicator.
As explained earlier, if you want to apply the swing directly to the base indicator, just select:
MA lookback = 1
Interpretation
The swing indicator has a common interpretation:
higher swing highs/lows the base indicator is increasing
lower swing highs/lows the base indicator is decreasing
Signals
The signals implied by the swing indicator depend on the underlying base indicator and, ultimately, on you.
For some indicators divergences are meaningful.
A bullish divergence happens when the price has lower lows and the indicator has higher lows.
A bearish divergence happens when the price has higher highs and the indicator has lower highs.
Input Parameters Order
Being a function composition, the input parameters for the Zig Zag come before the MA lookback,
which in turn comes before the input parameters of the indicator it is applied to.
Example:
The Swing indicator has the same output range as its input, so they could be plotted together, in the same graph.
However, the same considerations made about output series for the smoothed versions of a base indicator, apply here too.
We want to avoid cluttering the charts with too many curves.
Hence, the general criterion is to plot the base indicator together with its swing version only for indicators, but not for overlays.
This is why, for example, there are two output series for
Zig Zag of MA of ATR
but just one output series for
Zig Zag of MA of SMA
Zig Zag
Proprietary Zig Zag Indicator
Swing points are found through a Zig Zag indicator.
With the Zig Zag indicator you can find in literature, a new swing is set when the price reverses by a percentage greater than the selected one.
However this 'standard' Zig Zag is not suitable, because it works with a fixed percentage.
For this reason, we developed a proprietary Zig Zag indicator, working with a variable threshold, based on volatility.
This way, it adapts automatically to market volatility.
Swing points are found according to the volatility of the moment, not based on a fixed percentage valid throughout the historical data.
Volatility Indicator
As volatility indicator the
Highest high / lowest low
is used. As the name implies, it is defined as the highest high and the lowest low in the lookback period.
The difference between the highest high and the lowest low is taken as volatility:
volatility = highest high - the lowest low
You can find this quantity in the Highest high / lowest low width indicator.
In order to trim this number, 'our' Zig Zag multiplies it by a multiplier factor, set by the user.
Such a product represents the threshold, i.e. the minimum amount the input must retrace in order to set a new swing point:
threshold = (highest high - lowest low) ⋅ multiplier
Zig Zag with Variable Threshold
A new swing point is set when the values, input to the Zig Zag, reverse by an amount greater than the threshold from the last swing point.
input > last low + threshold => last low was a swing low.
Start searching for a high.
input < last high - threshold => last high was a swing high.
Start searching for a low
You Can't Look Into the Future
This adage could look naive, but graphs can be devious.
In the Zig Zag indicator, even in the 'standard' version, highs and lows are first found and then connected by segments.
This way of plotting could lead to misunderstanding.
Let's make an example with:
Zig Zag of MA of ATR
Let's suppose we found a swing low ([low] in the picture).
Therefore we are now looking for the ensuing swing high and so scan the MA of ATR values onward.
When we find that ([T] in the picture):
MA of ATR > swing low + threshold
we know that we already reached the threshold to say that the MA of ATR has retraced upward enough to be considered a swing high.
Now we must do two things:
Watch for higher highs. The MA of ATR might go even higher. So we keep watching for higher highs to set the swing high.
Monitor retrace downward.
The MA of ATR might retrace back downward, which would mean we spotted the swing high and should look for the ensuing swing low.
We keep updating the highest high found. When we realize that ([1] in the picture):
MA of ATR < highest high found - threshold
we know that we reached a point where the MA of ATR traced back downward enough to define a swing low.
So now (instant in [1]) we know that the highest high found thus far was actually a swing high ([2] in the picture).
Look again at the timing of the events, where [1] comes first, and [2] comes last. They are not misplaced in the picture.
It is only in [1] that we can say that [2] was a swing high point. Not before.
And yet, the segment of Zig Zag is drawn with the swing point in [2], as it actually is. But when we are in [2] we can not know we are at a swing high.
Now (from [1]) it starts all over again and we look for a swing low.
By the same token, we know that [low] is a swing low only at the instant [T].