I think almost all traders know the ZigZag, an indicator that connects tops and bottoms by drawing a line between these peaks and troughs. The indicator identifies peaks and bottoms by identifying candle's highs and lows that are either the highest high or the lowest low within a lookback period. Thus, the ZigZag indicator (ZZ) is basically the same as a Donchian channel or the stochastic oscillator. However, the implemented method for identifying tops and troughs is the reason why the ZZ legs can repaint quite often, i.e. a former up leg can be redrawn and elongated whenever one of the next candlesticks contain a higher high. In order to see these repainted tops and bottoms I've written an indicator (see attachment) that shows all signals in a separate window. In comparison to the standard MT4 indicator my version only shows new legs (+1 or -1) if the high or low leading to the signal is higher than the previous high or lower than the previous low.
A simple approach
Furthermore, I wondered how the ZZ can be used in trading. The most obvious idea to me was to identify retracements within a longer-term trend and trade with the intention of pullbacks. This setup is shown in the image below:
Trends can persist for quite some time. Thus, whenever the price retraces within the trend, there might be a good chance that price later on continues in trend direction. Therefor, a plausible strategy could be trading the retracements and building positions with every new retracement. All trades could then be closed whenever a new trend in the opposite direction is identified.
Fortunately I was lucky enough to find someone who coded an EA for this strategy. Unfortunately it turned out that this doesn't work well. The reason has to do with the lagging behavior of the ZZ. As shown in the image above, the identification of a new trend's start can be a bit distant to the true end of the former trend. Thus, between the end of a trend and the identification of a new trend, many retracements and thus many setups can occur where we would have entered in the wrong direction.
Two possible solutions
(1) One way around this mis-behavior could be money management. Assume that you would enter the first retracement within the trend with a particular lot size. Then you decrease the lot size for each consecutive retracement. That way you hopefully could keep most of your profits from the first entry and will only lose relatively small lot sizes towards the trend's end.
(2) Another way is to increase the lot size with each and every consecutive retracement and to enter in counter-trend direction when price pulls back towards the trend from the retracment. That way you may lose some of your money with the first entries, but due to the lagging behavior of the ZZ indicator you'll make some good profits with higher lot sizes at the end of trends.
This second opportunity works good for quite some time but especially during extraordinarily long trends you will encounter big losses from time to time (see backtest below):
My intention for sharing these ideas
I think the idea of using the ZigZag that way isn't really new and outstanding. A similar concept has been for instance shared by Eurusdd in the course of the Similarity system thread. He, Madmoney and Juhanimi used the CycleIdentifier instead of the ZigZag indicator (both are mathematically highly related) and have shown that it is possible to have many winning trades (100 and more in a row without having a losing trade in-between) with good returns.
Unfortunately I was never able to get similar numbers. But that's not even neccessary to become a successful trader. I can live with some losses if I can win more than I lose in the long run.
However, I need to be honest. And all my attempts failed in the long run. Thus, I share these ideas here with the hope to find some interested traders that could help to improve the strategies. I'd love to work with you together on these ideas. I think the first step would be to re-create an EA for both possible solutions and then add step by step further improvements.
Everybody is welcomed to constructively contribute and use everthing shared here for her or his trading.
Thanks a lot!
ZigZagCallRepaintLegs(own version).mq4 1 KB | 193 downloads
CrucialPoint: "I'm alpha". AntiCre: "I'm your Omega - the end."