Monday, October 31, 2011



The ZigZag feature on SharpCharts is not an indicator per se, but rather a means to filter out random noise and compare relative price movements. The ZigZag can be set to acknowledge minimum price changes and ignore those that do not fit the criteria. The minimum price movements are set in percentage terms and can be based on either the close or high/low range.
A ZigZag set at 10% with OHCL bars would yield a line that only reverses after a change from high to low of 10% or greater. All movements less than 10% would be ignored. If a stock traded from a low of 100 to a high of 109, the ZigZag would not draw a line because the move was less than 10%. If the stock advanced from a low of 100 to a high of 110, then the ZigZag would draw a line from 100 to 110. If the stock continued on to a high of 112, this line would be extended to 112 (100 to 112). The ZigZag would not reverse until the stock declined 10% or more from its high. From a high of 112, a stock would have to decline 11.2 points (or to a low of 100.8) for the ZigZag to reverse and display another line.
The ZigZag has zero predictive power and draws lines base on hindsight. Any predictive power will come from applications such as Elliott Wave or Fibonacci retracements and projections.



Volatility and daily price fluctuations can produce erratic movements or noise. The ZigZag can be used to filter this noise. If price movements smaller than 5% are deemed insignificant, then the ZigZag can be set at 5% and all movements less than 5% will be ignored.

Elliott Wave

The ZigZag can be used to identify waves for Elliott Wave counts. (Note: The object of this article is not Elliott Wave Theory, but simply to illustrate methods of using the ZigZag.)

(ZigZag Chart for HPQ)
The HPQ example set the ZigZag at 15%. All moves 15% or greater were drawn and those less that 15% ignored. A large advance began in Oct-99 and formed a 5-wave structure that lasted until mid 2000. Within this larger structure, other smaller waver counts can also be deciphered. 


The ZigZag can be used to measure retracements. After an advance, it is common for a security to retrace a portion of its advance with a correction. After a decline, it is common for a security to retrace part of its decline with a reaction rally. According to Dow Theory, 1/3, 1/2 and 2/3 retracements are most likely. Based on Fibonacci numbers, 38.2% or 61.8% retracement levels are deemed significant.

(ZigZag Chart for HAL)
During the advance from 34 to 55, HAL corrected twice (waves 2 and 4) and fulfilled two Fibonacci retracement targets: .618 and .786. Perhaps the most important Fibonacci number is .618, which is the golden mean. The square root of .618 is .786 (78.6%), another Fibonacci number used frequently by Scott Carney. In Mar-00, HAL retraced 79.8% of its wave 1 advance (red oval). From the Mar-00 low, the stock advanced 1.70 times its previous decline to form wave 3, which is close to a Fibonacci 1.618. The correction on wave 4 retraced 67.6% of the wave 3 advance. While 67.6% and 79.8% are not exact Fibonacci retracements, they are close enough to 61.8% and 78.6% to warrant attention.


The ZigZag can be used to measure primary price movements. As opposed to a correction or reaction rally, a primary price movement is in the direction of the underlying trend. Instead of retracing a portion of the previous move, primary moves extend past the previous reaction high or low. Many analysts that use Elliott Wave and Fibonacci sequences project the length of an advance or decline by multiplying a ratio to the previous retracement. If the previous decline (correction) was 50 points and a Fibonacci specialist was looking for new highs on the subsequent advance, the projection might be 1.618 times the previous move, or 81 points (50 x 1.618 = 81). The 81 points would be added to the beginning of the advance for a price target.


ZigZag (Basic)

(ZigZag Chart for IBM)
The percentage price change for the ZigZag can be changed with the first box to the right. The default setting is 5%. In the example, the indicator was set at 12, or 12 percent. All price movements greater than or equal to 12% will produce a ZigZag line. All price movements less than 12% will be ignored. The ZigZag is plotted as a thick line on top of the price plot.

ZigZag w/Retracements

(ZigZag Chart for IBM)
The ZigZag w/Retracements includes ratios of adjacent price movements. For the IBM example, the ZigZag w/Retracements was set at 12% to filter out all price movements less than 12%. Three pairs of price movements were compared from the Jun-00 to Nov-00. Dotted lines connect the relevant highs or relevant lows and the ratio is labeled in the middle of the dotted line. The first ratio is 1.566, representing an advance that was 156.6% of the previous decline. The formula is calculated in three steps:
  • First Price Move - Decline: 122.31 - 100 = 22.31
  • Second Price Move - Advance: 134.94 - 100 = 34.94
  • Advance/Decline Ratio: 34.94/22.31 = 1.566
Calculations for the other two ratios (1.374 and .309) are shown on the corresponding chart.
The final line for the ZigZag is subject to change. On the IBM example above, the current ZigZag high is 104.38. Because of the recent decline, the ZigZag continued down from 104.38. However, the current decline is well short of the 12% minimum. Should the current decline fail to exceed 12% and should IBM advance above 104.38, then the line from 86.94 would be extended to the new high and the ratio (.363) would change. The red line in the example above provides an idea of what would happen should IBM turn up from current levels and move to 110. The green lines extending from the October low would be replaced by a line extending straight up to 110.

ZigZag and SharpCharts

There are two ZigZag options on SharpCharts: the ZigZag and the ZigZag (Retracements). Both plot the same line, but the ZigZag (Retracements) adds labels and dotted lines for retracement ratios. The parameters box selects the % change necessary for a line to be drawn.
The ZigZag (standard) plots a line based on a minimum percentage change in price. The price change can be based on closing levels or the high/low range. To calculate the ZigZag based on closing prices only, select one of the Line options from the Chart Type dropdown in the Chart Attributes section. To calculate the ZigZag based on the high/low range, select OHCL Bars, HLC Bars or Candlesticks as the Chart Type.