Harmonacci Patterns 12.0
Metatrader Indicator (MT4/MT5)
-
ℹ Overview
Trade smarter, not harder: Empower your trading with Harmonacci Patterns
The Harmonacci Patterns indicator is the ultimate tool for traders who take fibonacci projections seriously. It's the most comprehensive harmonic price formation auto-recognition indicator available for the MetaTrader platform, capable of detecting 19 different patterns. In addition to plotting primary, derived, and complementary fibonacci projections, the indicator also evaluates past price action and displays every past pattern. It even analyzes its own quality and performance.
But that's not all! The indicator also includes a multi-symbol and multi-timeframe scanner, displays suitable stop-loss and take-profit levels, and uses breakouts to signal suitable trades. Plus, it plots all the pattern ratios on the chart and includes email/sound/visual/push alerts to help you stay on top of potential trades.
Inspired by Mr. Scott M. Carney's book -Harmonic Trading Vol. 1-, this indicator has been designed to meet the needs of even the most demanding traders. But it includes a unique twist to make it easier to trade: it waits for a donchian breakout in the right direction before signaling the trade, making its signals highly reliable.
Fibonacci projections are vector-independent, and the indicator even plots the ABCD projection.
Usage Tips
- The amplitude parameter controls the pattern size in bars
- Load the scanner indicator once to monitor multiple symbols and timeframes
- Patterns can expand, but signal breakouts mostly do not: wait for signals
- Use the suitable stop-loss and take-profit levels displayed by the indicator
Technical Details
- The indicator evaluates at bar closing only
- Patterns are displayed as soon as the XD and CD ratios are valid
- Patterns can expand, repaint, and become other patterns, with different names
- Breakouts are mostly non-repainting and sufficient to reverse the market movement
- Set a higher breakout period to decrease the chances of the indicator repainting
- Stop-loss and take-profit levels are calculated using fibo ratios
- The scanner loads blank and never scans patterns from the past
- The scanner opens charts using your default chart template
Trading Guidelines
- Suitable instruments: Forex, Commodities, Indices, Stocks and Crypto
- Suitable timeframes: Monthly, Weekly, Daily, 12 Hours, 8 Hours, 4 Hours, 2 Hours and 1 Hour
Please note that some pattern names have been renamed to self-explanatory alternatives to comply with a trademark complaint from Mr. Scott M. Carney, who owns the following trademarks in the USA: Harmonics, Harmonic Trading, Bat Pattern, Butterfly Pattern, Shark Pattern, Crab Pattern, and Five-O Pattern.
Buy today and unlock exclusive bonuses!
Purchase this tool now and receive the following bonuses (total value: $165).
- Three Drives Indicator (worth $30.00) [Check it out]
- Penta-O Indicator (worth $30.00) [Check it out]
- ABCD Retracement Indicator (worth $75.00) [Check it out]
- Multi TDI Indicator (worth $30.00) [Check it out]
Supported Harmonic Price Formations
Name Min XB Max XB Min AC Max AC Min DB Max BD Min XD Max XD Flying Fox 0.382 0.5 0.382 0.886 1.618 2.618 0.886 0.886 Gartley 0.618 0.618 0.382 0.886 1.272 1.618 0.786 0.786 Lobster 0.382 0.618 0.382 0.886 2.24 3.618 1.618 1.618 Dragonfly 0.718 0.718 0.382 0.886 1.618 2.618 1.272 1.618 Cypher 0.382 0.618 1.13 1.414 1.272 2.0 0.786 0.786 Barracuda - - 1.13 1.618 1.618 2.24 0.886 1.13 Alt Flying Fox 0.382 0.382 0.382 0.886 2.0 3.618 1.13 1.13 Deep Lobster 0.886 0.886 0.382 0.886 2.618 3.618 1.618 1.618 White Swan 1.382 2.618 0.236 0.5 1.128 2.0 1.126 2.618 Black Swan 0.382 0.724 2.0 4.237 0.5 0.886 0.382 0.886 Max Bat 0.382 0.618 0.382 0.886 1.272 2.618 0.886 0.886 Max Gartley 0.382 0.618 0.382 0.886 1.128 2.236 0.618 0.786 Max Dragonfly 0.618 0.886 0.382 0.886 1.272 2.618 1.272 1.618 Alt Barracuda 0.446 0.618 0.618 0.886 1.618 2.618 1.128 1.128 A Lobster 0.276 0.446 1.128 2.618 1.618 2.618 0.618 0.618 A Dragonfly 0.382 0.618 1.128 2.618 1.272 1.272 0.618 0.786 A Flying Fox 0.382 0.618 1.128 2.618 2 2.618 1.128 1.128 A Gartley 0.618 0.786 1.128 2.618 1.618 1.618 1.272 1.272 Sea Pony 0.128 3.618 0.382 0.5 1.618 2.618 0.618 3.618
A brief introduction
The harmonacci methodology utilizes the recognition of specific price patterns and the alignment of exact Fibonacci ratios to determine highly probable reversal points in the financial markets. This methodology assumes that trading patterns or cycles, like many patterns and cycles in life, repeat themselves. The key is to identify these patterns, and to enter or to exit a position based upon a high degree of probability that the same historic price action will occur. Although these patterns are not 100% accurate, these situations have been historically proven. If these set-ups are identified correctly, it is possible to identify significant opportunities with a very limited risk.
The Potential Reversal Zone (PRZ)
The concept of the Potential Reversal Zone (PRZ) was originally outlined by Scott M. Carney in his book, Harmonic Trading Vol 1. A wholeheartedly recommended reading.
History has proven that a convergence of Fibonacci numbers and price patterns provides a highly probable area for a reversal. This area of convergence is called the potential reversal zone. When three, four, or even five numbers come together within a specific area, you must respect the high probability for some type of reversal.
A Potential Reversal Zone (PRZ) represents the critical areas where the flow of buying and selling is potentially changing. These fibonacci price zones attempt to identify the price levels where imbalanced overbought and oversold situations are reversing back to their respective equilibrium level.
An ideal reversal usually tests all of the price levels in the Potential Reversal Zone (PRZ) on the initial test. The predominant trend usually reverses from this initial test of the entire PRZ and continues in the reversal direction shortly thereafter. In an ideal reversal, the price bar that tests all of the fibonacci projections in the PRZ is called the Terminal Price Bar.
The trade must be taken when the Potential Reversal Zone (PRZ) has been tested and rejected by a Terminal Price Bar or a strong breakout has taken place in the reversal direction without testing all the PRZ levels. The farthest price level of the PRZ or the Point X of the pattern are suitable stop-loss levels.
Harmonacci Ratios
The indicator calculates all the important fibonacci ratios for the XA and BC vectors of the pattern, and plots them by the Point D if applicable.
- Primary Ratios
- Directly derived from the Fibonnaci Number Sequence.
- 0.618 = Primary Ratio
- 1.618 = Primary Projection
- Primary Derived Ratios
- - 0.786 = Square root of 0.618
- 0.886 = Fourth roof of 0.618 or Square root of 0.786
- 1.130 = Fourth root of 1.618 or Square root of 1.27
- 1.270 = Square root of 1.618
- Complementary Derived Ratios
- - 0.382 = (1 - 0.618) or 0.618e2
- 0.500 = 0.770e2
- 0.707 = Square root of 0.50
- 1.410 = Square root of 2.0
- 2.000 = 1 + 1
- 2.240 = Square root of 5
- 2.618 = 1.618e2
- 3.141 = Pi
- 3.618 = 1 + 2.618
Trade Execution
Once a pattern is detected, the following steps have to be taken, which can lead to take or discard the trade. Bear in mind that a pattern is not valid by itself and it can expand as long as it likes. Your job has an trader is to assess the validity of the pattern and the potential reversal zone before entering the market.
- 1. Pattern Recognition
- This indicator auto-detects and alerts harmonacci patterns.
- 2. Find the Potential Reversal Zone (PRZ)
- Evaluate the fibonacci projections plotted on the chart by the indicator and look for strength signs. Can you find at least three converging projections? Do you see primary ratios? Is the ABCD projection present?
- 3. Wait until the PRZ is rejected by the market
- The PRZ can be tested and rejected by one single Terminal Price Bar, or the market can reverse and breakout the PRZ without testing all the fibonacci projections. In any case, the market has to move before you take the trade. You are a follower, not a predictor.
- 4. Enter the market setting the proper stop-loss
- Trade the breakout or the rejection of the PRZ and set the proper stop-loss. The farthest price level of the PRZ or the Point X of the pattern are suitable stop-loss levels.
- 5. Position Management
- It is recommended to reap partial profits as soon as possible to lock into a free ride. Scott M. Carney proposes a very interesting position management system based on a 0.382 Trailing Stop, measured from the reversal point to the reversal extreme.
The Potential Reversal Zone (PRZ) is a crucial element in the trading process. Hence the importance of vector-independent primary, derived and complementary fibonacci projections, which all other indicators ignore completely.
- ≡
Input parameters
When loading the expert to any chart, you will be presented with a set of options as input parameters. Don't despair if you think they are too many, because parameters are grouped into self-explanatory blocks.
- Amplitude
- This parameter controls the size of the patterns to be found in the chart. There is no optimum value for this parameter, but it is needed to avoid the clutter of overlapping patterns in the chart. Set a value that displays patterns of acceptable size relative to your screen size.
- Deviation
- Algorithmic wiggle room for pattern recognition. Increase it to find more patterns.
- Breakout Period
- Donchian breakout period for the trading signals.
- Max History Bars
- Amount of history bars to evaluate when the indicator loads.
- Display Stats
- Enable or disable performance screen stats.
- Display Points
- Display price point labels (X, A, B, C, D labels).
- Display Ratios
- Display pattern ratios.
- Display Projections
- Display the Potential Reversal Zone (PRZ)
- Display SL/TP Levels
- Display suitable stop-loss and take-profit levels.
- Pattern Settings
- Choose what patterns to scan for: disable all those you do not use.
- Drawing Settings
- Configure the colors of bullish and bearish patterns, as well as font sizes.
- Ratios
- Enable or disable ratios and choose your own ratio colors.
- Projections
- Display or hide the Fibonacci projections on the chart.
- Breakouts
- Enable or disable breakouts, and set your desired arrow sizes and colors.
- Alerts
- Enable display/email/push/sound alerts for breakouts, patterns or both.
- Amplitude
- ?
FAQ
- Hey! I know all these patterns with different names!
- We are aware. Sadly, the writer of the book owns trademarks with all the pattern names and we are legally forbidden from using any of them. We've replaced the pattern names with obvious and self
- Does the indicator repaint?
- Yes, it does. The last point of the wave can expand as long as it likes, therefore the indicator must repaint. It is your job as an harmonic trader to assess the validity of the Potential Reversal Zone (PRZ) and wait until it has been rejected to take the trade properly. To make things easier, the indicator implements a trading signal based on price breakouts, which is evaluated after a pattern is formed. This helps timing the trade because most patterns do not expand any more after a meaningful breakout has happened in the opposite direction.
- Pattern rations in the chart differ from the definition ones...
- They do, because the indicator displays the actual ratios of the pattern. As long as the ratios of the pattern are inside the pattern definition
- When is a pattern displayed?
- A pattern is displayed when the D point exists and all ratios of the pattern are valid.
- Does it implement alerts?
- Yes, of all kinds.
- </>
Developers
In order to build your expert advisor, you can read data from the indicator using the iCustom() function as exemplified below. The indicator has one extra buffer which only purpose is to store trading signals as constants: this is the only buffer you need to read from. Copy and paste the code below into your EA, and replace the indicator name of the iCustom() call with your own.
//---- Step 1: Define constants in your EA //---- Constants #define OP_BUY_FlyingFox 1 #define OP_SELL_FlyingFox 2 #define OP_BUY_Gartley 3 #define OP_SELL_Gartley 4 #define OP_BUY_Lobster 5 #define OP_SELL_Lobster 6 #define OP_BUY_Dragonfly 7 #define OP_SELL_Dragonfly 8 #define OP_BUY_BARRACUDA 9 #define OP_SELL_BARRACUDA 10 #define OP_BUY_CYPHER 11 #define OP_SELL_CYPHER 12 #define OP_BUY_ALTERNATE_FlyingFox 13 #define OP_SELL_ALTERNATE_FlyingFox 14 #define OP_BUY_DEEP_Lobster 15 #define OP_SELL_DEEP_Lobster 16 #define OP_BUY_WHITE_SWAN 17 #define OP_SELL_WHITE_SWAN 18 #define OP_BUY_BLACK_SWAN 19 #define OP_SELL_BLACK_SWAN 20 #define OP_BUY_MAX_FlyingFox 21 #define OP_SELL_MAX_FlyingFox 25 #define OP_BUY_MAX_Gartley 26 #define OP_SELL_MAX_Gartley 27 #define OP_BUY_MAX_Dragonfly 28 #define OP_SELL_MAX_Dragonfly 29 #define OP_BUY_A_Lobster 30 #define OP_SELL_A_Lobster 31 #define OP_BUY_A_Dragonfly 32 #define OP_SELL_A_Dragonfly 33 #define OP_BUY_A_FlyingFox 34 #define OP_SELL_A_FlyingFox 35 #define OP_BUY_A_Bartley 36 #define OP_SELL_A_Bartley 37 #define OP_BUY_SEA_PONY 38 #define OP_SELL_SEA_PONEY 39 #define OP_BUY_ALT_BARRACUDA 40 #define OP_SELL_ALT_BARRACUDA 41 //---- Step 2: Read values from the signal buffer int start() { // Read pattern and breakout buffer double pattern = iCustom(Symbol(), Period(), "PZ_Harmonacci_LICENSE", 0, 1); double breakout = iCustom(Symbol(), Period(), "PZ_Harmonacci_LICENSE", 1, 1); // Do something if(pattern == OP_BUY_FlyingFox) { /* Your code for bullish flying fox pattern */ } if(pattern == OP_SELL_FlyingBox) { /* Your code for bearish flying fox pattern */ } if(pattern == OP_BUY_Gartley) { /* Your code for bullish gartley pattern */ } if(pattern == OP_SELL_Gartley) { /* Your code for bearish gartley pattern */ } if(pattern == OP_BUY_Lobster) { /* Your code for bullish Lobster pattern */ } if(pattern == OP_SELL_Lobster) { /* Your code for bearish Lobster pattern */ } // Trade breakouts if(breakout == OP_BUY) { /* Your code for bullish breakout (blue arrow) */} if(breakout == OP_SELL) { /* Your code for bearish breakout (red arrow) */} // Do nothing if(pattern == EMPTY_VALUE && breakout == EMPTY_VALUE) { /* No pattern or breakout */} // Exit return(0); }