Harmonic Pattern Detection [LUX]

Harmonic patterns make up a major part of the many patterns traders use to make investment decisions. The following tool aims to automatically categorize which XABCD harmonic pattern is highlighted by the user and to alert when the price reaches the PRZ or D point.

The tool can categorize Bat, Gartley , Butterfly , and Crab patterns.


  • XA Precision: The Gartley and Butterfly patterns require precise ratios for the XA segment, this setting allows giving some headroom for the detection of these patterns. For example, the Gartley pattern requires a ratio for the XA segment of 0.618, using an XA precision of 0. 01 will allow the segment to be considered correct if above 0.608 and under 0.628.
  • Bullish: Color of a bullish pattern
  • Bearish: Color of a bearish pattern

The X, A, B, C, D settings determine the location of the harmonic pattern vertices. The user does not need to change them from the settings, instead only requiring adjusting their location on the chart like with a regular drawing tool. Setting these vertices is required when adding the indicator to your chart.


Upon setting the harmonic pattern vertices, the segments, as well as each ratio and PRZ, will be displayed. A dashboard in the top right displays which harmonic pattern has been detected.

Detected bearish crab pattern on BTCUSD15.

Bullish butterfly pattern on MATICUSD15. It is important not to use an XA precision value that would return overlapping ranges between the Gartley / Harmonic and other patterns. Using the default value is recommended.

The upper limit of the PRZ is determined as vertex D plus 38.2% of segment DX , while the lower limit is the vertex D minus 38.2% of segment DX . Various methods exist for the determination of the PRZ, this one is general but the user can use one proper to the detected harmonic pattern .

Finally hovering on the label highlighting the segment ratios return the proper ratio used by each harmonic pattern for that precise segment.
Release Notes:
Minor changes.

Get Access to LuxAlgo indicators:

Join our 100k+ community:
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?