Product Image


Source code included
  • Current version2.0
  • Last updateJanuary 2021
  • Published January 2017
  • Tags

    Indicator Harmonics

1. Description

The Scyware Harmonics Indicator is the most complete harmonic patterns auto-recognition indicator. Harmonic patterns profit from the natural order of the financial markets.

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.

2. Features

  • Detects Bat, Gartley, Crab, Butterfly, Cypher and Shark patterns
  • It evaluates past price action and displays past patterns
  • The indicator analyzes its own quality and performance
  • It plots all the pattern ratios on the chart
  • Fibonacci projections are vector-independent

3. Screenshots

4. Installation Instructions

5.1 Installing Demo Version

To set up the indicator on cAlgo or cTrader, just follow the following steps.

  • Copy the downloaded .algo file into your cAlgo/cTrader Indicators Sources folder : cAlgo/Sources/Indicators
  • -- OR --
  • Double click the downloaded .algo file. This already installed cAlgo/cTrader platform will install it
  1. Launch cAlgo or cTrader and verify you have the file in your Indicators list on cAlgo/cTrader
  2. You are ready to go!

5.2 Installing Full-Version (source code included)

  • After purchase and on the downloads page, download and extract the file anywhere on your computer
  • Copy the Scyware.cAlgo.Harmonics.dll file into cAlgo API folder located in : cAlgo\API
  • copy the Scyware_Harmonics_V1.algo into your cAlgo indicators folder : cAlgo\Sources\Indicators
  • -- OR --
  • Double click the Scyware_Harmonics_V1.algo file. Your cAlgo/cTrader platform will automatically install it
  • In cAlgo and if you need to re-build the indicator, verify that the Scyware.cAlgo.Harmonics.dll library is properly referenced from within the indicator.
  • You are ready to go!

  • Inside the purchased .zip file you can also find the source code to generate the Scyware.cAlgo.Harmonics.dll library in

5. Parameters

Scan Window The scan window parameter sets the minimal amount of bars where there will not be two tops or two bottoms. Increase the window to see bigger patterns or for intraday trading and faster search. Decrease for smaller patterns and slower search. The best interval is between 10 and 14 for intraday patterns
Lookback History Bars The number of Bars in the current timeframe to look back searching for patterns
Ratio tolerance When calculating ratios of patterns allow tolerance for patterns to be accepted. On real Forex charts, patterns rarely have perfect ratios, this tolerance threshold will allow to tune quality of detected patterns
Min Accuracy % Accuracy of patterns is a percentage measure from 0% to 100%. A pattern that has 100% accuracy is a perfect pattern. This parameter allows rejecting patterns that have accuracy lower then a certain threshold
Max Age (Days) Patterns have age that can be measured in days. This parameter allows filtering/rejecting patterns that have been detected X days ago
Find Bullish Patterns Enable/Disable searching for Bullish patterns
Find Bearish Patterns Enable/Disable searching for Bearish patterns
Find Bat Pattern Enable/Disable searching for Bat patterns
Find Gartley Pattern Enable/Disable searching for Gartley patterns
Find Crab Pattern Enable/Disable searching for Crab patterns
Find Butterfly Pattern Enable/Disable searching for Butterfly patterns
Find Cypher Pattern Enable/Disable searching for Cypher patterns
Find Shark Pattern Enable/Disable searching for Shark patterns
Display Ratios Enable/Disable drawing pattern ratios on the chart

6. About Harmonics

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

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

7. Developers

The Harmonics indicator can be used inside a robot. A simple example showing how to use the indicator inside a cBot in cAlgo is illustrated :

/* This is a very simple example of how to use the Scyware Harmonics Indicator inside a robot
/* For more in depth example please contact us. 

using System;
using System.Linq;
using cAlgo.API;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
using cAlgo.Indicators;
using Scyware.cAlgo.Harmonics;

namespace cAlgo
    [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class Harmonics : Robot
        public const string Label = "Harmonics";
        Scyware_Harmonics harmonics;
        protected override void OnStart()
            harmonics = Indicators.GetIndicator(
                10 /*Scan Window*/,
                1000 /*ParamHistoryBars*/,
                4 /*ParamAgeThreshold*/,
                true /*ParamFindBullish,*/,
                true /*ParamFindBearish,*/,
                true /*ParamShowBat,*/,
                true /*ParamShowGartley,*/,
                true /*ParamShowCrab,*/,
                true /*ParamShowButterfly,*/,
                true /*ParamShowCypher*/,

        protected override void OnTick()
            if (harmonics.BullishPatterns.Any())
                Pattern5 pattern = harmonics.BullishPatterns.Last();
                // properties of Pattern5 object
                if (!Positions.FindAll(Label, Symbol,TradeType.Buy).Any())
            if (harmonics.BearishPatterns.Any())
                if (!Positions.FindAll(Label, Symbol,TradeType.Sell).Any())
        protected override void OnBar()
          //this is very important instruction !!

        protected override void OnStop()

Don't forget to add the reference to the indicator before building

8. Frequantly Asked Questions

Get your hands on Harmonic Trading Vol. 1 by Scott M. Carney and learn how to read harmonic patterns before purchasing the indicator.
The indicator search for new patterns on each new bar. Newly discovered patterns are added to the found patterns
No problem! Increase the Min Accuracy parameter and decrease the Ratio tolerance parameter
Decrease the Max Age parameter
No for the moment, we plan to add this features in the next versions
The free version is limited to AUDUSD symbol. To unlock this limitation you have to purchase the full paid version

9. User comments

comments powered by Disqus