Harmonics 7.5

Metatrader (MT4/MT5) Indicator

  • Overview

    The Harmonics Indicator is probably the most complete harmonic patterns auto-recognition indicator you can find for the Metatrader Platform. It detects 19 different harmonic patterns and takes fibonacci projections as seriously as you do.

    • It detects 19 different harmonic patterns
    • It plots primary, derived and complementary Fibonacci projections
    • It evaluates past price action and displays every past pattern
    • It includes a multi-symbol and multi-timeframe scanner
    • The indicator analyzes its own quality and performance
    • It uses breakouts to signal profitable entries
    • It plots all the pattern ratios on the chart
    • It implements email/sound/visual alerts

    Inspired by Scott M. Carney's book, this indicator has been designed to fulfill the needs of the most purist and exigent traders. But it implements a twist for the rest of us: it waits for a donchian breakout in the right direction before signaling the trade, making these trades very reliable.

    • Fibonacci projections are vector-independent
    • It implements email/sound/push alerts
    • It plots the AB=CD projection

    Patterns detected are...

    • Bat
    • Gartley
    • Crab
    • Butterfly
    • Shark
    • Cypher
    • Alternate Bat
    • Alternate Shark
    • Deep Crab
    • White Swan
    • Black Swan
    • Max Bat
    • Max Gartley
    • Max Butterfly
    • A-Crab
    • A-Butterfly
    • A-Bat
    • A-Gartley
    • Sea Pony

    Enhance your trading activity with the best Harmonic Patterns auto-detection indicator, just like our customers have already done.

    A brief introduction

    The harmonic 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. 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 harmonic 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.

    Harmonic 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 harmonic 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 AB=CD 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 harmonic indicators ignore completely.

    Some trading examples

    The following are trading examples using Harmonic Patterns. The trade is taken when the Potential Reversal Zone (PRZ) is rejected.

    <
    <
    <
    <
  • Input parameters
    Input parameters

    When loading the indicator 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.

    Indicator Settings
    The indicator is constantly looking for tops and bottoms. The Size parameter controls the size of the patterns to be found, expressed as minimum amount of bars between alternative points. The Max. History Bars parameter controls how many past bars are examined to minimize memory usage, and the Breakout Period is the amount of bars to be broken before a buy or sell signal is raised. You can also increase the wiggle room for ratio recognition, and display more -albeit imperfect- patterns on the chart.
    Pattern Settings
    Enable or disable harmonic patterns at will. Disable those you don't want to 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 patterns.
  • ? FAQ
    Do you have a manual or documentation?
    There is a great manual, but we didn't write it. Get your hands on Harmonic Trading Vol. 1 by Scott M. Carney and learn how to use this indicator before purchasing it.
    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.
    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 -with a little wiggle room based on ATR- the pattern is displayed.
    When is a pattern displayed?
    A pattern is displayed when the D point exists, inside the pattern definition valid XD ratios.
    Is the multi-timeframe scanner part of the main indicator?
    No, it is not. The scanner is provided as a separate indicator, which you load separately from the main indicator. Upon purchase, you receive both indicators.
    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
    #define OP_BUY_BAT            1
    #define OP_SELL_BAT           2
    #define OP_BUY_GARTLEY        3
    #define OP_SELL_GARTLEY       4
    #define OP_BUY_CRAB           5
    #define OP_SELL_CRAB          6
    #define OP_BUY_BUTTERFLY      7
    #define OP_SELL_BUTTERFLY     8
    #define OP_BUY_SHARK          9
    #define OP_SELL_SHARK         10
    #define OP_BUY_CYPHER         11
    #define OP_SELL_CYPHER        12
    #define OP_BUY_ALTERNATE_BAT  13
    #define OP_SELL_ALTERNATE_BAT 14
    #define OP_BUY_DEEP_CRAB      15
    #define OP_SELL_DEEP_CRAB     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_BAT        21
    #define OP_SELL_MAX_BAT       25
    #define OP_BUY_MAX_GARTLEY    26
    #define OP_SELL_MAX_GARTLEY   27
    #define OP_BUY_MAX_BUTTERFLY  28
    #define OP_SELL_MAX_BUTTERFLY 29
    #define OP_BUY_A_CRAB         30
    #define OP_SELL_A_CRAB        31
    #define OP_BUY_A_BUTTERFLY    32
    #define OP_SELL_A_BUTTERFLY   33
    #define OP_BUY_A_BAT          34
    #define OP_SELL_A_BAT         35
    #define OP_BUY_A_GARTLEY      36
    #define OP_SELL_A_GARTLEY     37
    #define OP_BUY_SEA_PONY       38
    #define OP_SELL_SEA_PONEY     39
    #define OP_BUY_ALT_SHARK      40
    #define OP_SELL_ALT_SHARK     41
    //---- Step 2: Read values from the signal buffer
    int start()
    {
    // Read pattern and breakout buffer
    double pattern  = iCustom(Symbol(), Period(), "PZ_HarmonicTrading_LICENSE", 0, 1);
    double breakout = iCustom(Symbol(), Period(), "PZ_HarmonicTrading_LICENSE", 1, 1);
    // Do something
    if(pattern == OP_BUY_BAT)        { /* Your code for bullish bat pattern */ }
    if(pattern == OP_SELL_BAT)       { /* Your code for bearish bat 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_CRAB)       { /* Your code for bullish crab pattern */ }
    if(pattern == OP_SELL_CRAB)      { /* Your code for bearish crab pattern */ }
    if(pattern == OP_BUY_BUTTERFLY)  { /* Your code for bullish butterfly pattern */ }
    if(pattern == OP_SELL_BUTTERFLY) { /* Your code for bearish butterfly pattern */ }
    if(pattern == OP_BUY_SHARK)      { /* Your code for bullish shark pattern */ }
    if(pattern == OP_SELL_SHARK)     { /* Your code for bearish shark pattern */ }
    if(pattern == OP_BUY_CYPHER)     { /* Your code for bullish cyhper pattern */ }
    if(pattern == OP_SELL_CYPHER)    { /* Your code for bearish cypher pattern */ }
    /* All other pattern constants above can be evaluated here too */
    if(breakout == OP_BUY)           { /* Your code for bullish breakout (blue arrow) */}
    if(breakout == OP_SELL)          { /* Your code for bearish breakout (red arrow) */}
    if(pattern == EMPTY_VALUE && breakout == EMPTY_VALUE) { /* No pattern or breakout */}
    // Exit
    return(0);
    }

Screenshots

Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader
Harmonics Indicator for Metatrader

Videos

Video Explainer