If you're looking to enhance your trading strategies, the FivePattern indicator for MetaTrader 5 might just be the tool you need. This nifty technical indicator showcases М & W Wave Patterns as defined by Merrill, alongside support and resistance levels mapped out at the extreme points of the classic ZigZag indicator. Merrill's classification of these five-pointed shapes is based on the sequence of points from top to bottom, leading to the structured model of M & W Waves.


The dynamic pattern by A. Merrill is designed to adapt over time. Specifically, the dynamic patterns are identified on the first four right zigzag rays. All patterns in this indicator are considered dynamic. To achieve this, a unique concept known as mutation of waves has been introduced, which slightly modifies the classic Zigzag algorithm.
When it comes to the core of the extreme search algorithm—Zigzag—it's worth noting that this algorithm serves as a "quick fix" and definitely needs to be replaced in some cases. Many errors arise from pattern detection issues, commonly referred to as NOPATTERN. This is essentially an error tied to the search engine.
Understanding Wave Evolution and Mutation
Evolution refers to the changes in dynamic patterns while still belonging to the same wave family. Here’s how M-Wave patterns evolve:

And here’s the evolution of W-Wave patterns:

Mutation is when a dynamic pattern shifts to a different wave family. Here’s how M-Wave patterns mutate:

And here’s the mutation for W-Wave patterns:

Note: The prediction algorithm assumes that a mutation leads to the newest shape in the evolution sequence. The evolution/mutation counter can track potential non-sequential changes. For instance, a mutation can occur in middle or senior shapes. This is managed by selecting specific values in the bit-mask enum NamePattern (check out MyCPattern.mqh). If you intend to utilize the evolution/mutation counter, please do not alter the enum NamePattern.
How the Indicator Works
The FivePattern indicator displays М & W Wave Patterns alongside support and resistance levels right on your trading chart. Each time a new history bar appears, the indicator recalibrates (this helps save precious CPU resources when rendering objects). The names of all objects are pseudo-random, and the indicator calculates predicted price movements based on the anticipated evolution/mutation of waves. It also features a model efficiency counter for patterns.

Current Version
We're currently on Test version 1.02, which includes:
- Search engine based on the classic Zigzag;
- Prediction model at level 0 (sequential evolution/mutation);
- Model counter at level 0 (Algorithm: "I count only what I see; I don't know what was before...". Statistics are displayed after the 11th shape appears).
Related Posts
- Unlocking MetaCOT 2: Your Ultimate CFTC Indicator Toolkit for MT4
- Unlocking the Power of Master Tools for MetaTrader 4
- Mastering the Open Range Breakout Indicator for MetaTrader 5
- Visualize Current Trends Across All Time Frames with This MetaTrader 4 Indicator
- Unlock Trading Insights with Volume Profile + Range v6.0 for MetaTrader 5