TradingView
RicardoSantos
6 de Oct. de 2021 8:33

HarmonicPattern 

Bitcoin / U.S. dollarBitstamp

Descripción

Library "HarmonicPattern"
Functions to detect/check harmonic patterns from provided values.

line_price_rate(point_c, point_b, point_a) Compute the price rate of the line AB divided by the the line BC
Parameters:
  • point_c: float, the price at point C.
  • point_b: float, the price at point B.
  • point_a: float, the price at point A.

Returns: float

line_time_rate(_c, _b, _a) Compute the time rate of the line AB divided by the the line BC
Parameters:
  • _c: float, the time or bar_index at point C.
  • _b: float, the time or bar_index at point B.
  • _a: float, the time or bar_index at point A.

Returns: float

is_inrange(value, min, max) Check if value is within min/max range of tolerance.
Parameters:
  • value: float, value to check tolerance.
  • min: float, minimum value in range of tolerance.
  • max: float, maximum value in range of tolerance.

Returns: bool

isHarmonicTriangle(rate_cba, margin_of_error) Check if the rate(s) correspond to pattern ("Harmonic Triangle").
Parameters:
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

is2Tap(rate_cba, margin_of_error) Check if the rate(s) correspond to pattern ("2Tap", 'Double Top / Bottom').
Parameters:
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

is3Tap(rate_edc, rate_cba, margin_of_error) Check if the rate(s) correspond to pattern ("3Tap", "Triple Top / Bottom").
Parameters:
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

is4Tap(rate_gfe, rate_edc, rate_cba, margin_of_error) Check if the rate(s) correspond to pattern ("4Tap", "Quadruple Top / Bottom").
Parameters:
  • rate_gfe: float, percent rate of the triangle GFE. expects a negative rate.
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

isABCD(rate_cba, rate_dcb, margin_of_error) Check if the rate(s) correspond to pattern ("AB=CD").
Parameters:
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

isBat(rate_edc, rate_dcb, rate_cba, rate_eda, margin_of_error) Check if the rate(s) correspond to pattern ("Bat").
Parameters:
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_eda: float, percent rate of the triangle EDA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

isButterfly(rate_edc, rate_dcb, rate_cba, rate_eda, margin_of_error) Check if the rate(s) correspond to pattern ("Butterfly").
Parameters:
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_eda: float, percent rate of the triangle EDA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

isGartley(rate_edc, rate_dcb, rate_cba, rate_eda, margin_of_error) Check if the rate(s) correspond to pattern ("Gartley").
Parameters:
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_eda: float, percent rate of the triangle EDA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

isCrab(rate_edc, rate_dcb, rate_cba, rate_eda, margin_of_error) Check if the rate(s) correspond to pattern ("Crab").
Parameters:
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_eda: float, percent rate of the triangle EDA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

isShark(rate_edc, rate_dcb, rate_cba, rate_eda, margin_of_error) Check if the rate(s) correspond to pattern ("Shark").
Parameters:
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_eda: float, percent rate of the triangle EDA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

is5o(rate_edc, rate_dcb, rate_cba, rate_eda, margin_of_error) Check if the rate(s) correspond to pattern ("5o").
Parameters:
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_eda: float, percent rate of the triangle EDA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

isWolfe(rate_edc, rate_dcb, rate_cba, rate_eda, margin_of_error) Check if the rate(s) correspond to pattern ("Wolfe").
Parameters:
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_eda: float, percent rate of the triangle EDA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

is3Driver(rate_edc, rate_dcb, rate_cba, rate_eda, margin_of_error) Check if the rate(s) correspond to pattern ("3 Driver").
Parameters:
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_eda: float, percent rate of the triangle EDA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

isConTria(rate_edc, rate_dcb, rate_cba, rate_eda, margin_of_error) Check if the rate(s) correspond to pattern ("Contracting Triangle").
Parameters:
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_eda: float, percent rate of the triangle EDA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

isExpTria(rate_edc, rate_dcb, rate_cba, rate_eda, margin_of_error) Check if the rate(s) correspond to pattern ("Expanding Triangle").
Parameters:
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_eda: float, percent rate of the triangle EDA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

isHnS(rate_fed, rate_feb, rate_edc, rate_dcb, rate_cba, rate_eda, margin_of_error) Check if the rate(s) correspond to pattern ("Head and Shoulders").
Parameters:
  • rate_fed: float, percent rate of the triangle FED. expects a negative rate.
  • rate_feb: float, percent rate of the triangle FEB. expects a negative rate.
  • rate_edc: float, percent rate of the triangle EDC. expects a negative rate.
  • rate_dcb: float, percent rate of the triangle DCB. expects a negative rate.
  • rate_cba: float, percent rate of the triangle CBA. expects a negative rate.
  • rate_eda: float, percent rate of the triangle EDA. expects a negative rate.
  • margin_of_error: float, percent rate of expected error margin, default 0.05(5%).

Returns: bool

Notas de prensa

added a extra calculation method for computing the margin of error of the rates, thanks to HeWhoMustNotBeNamed, CryptoArch_ for bringing it up 🙌

this adds a extra optional parameter to all the functions, "calculation_type" can be either "additive" or "multiplicative"

Notas de prensa

v3

Added:
extract() Extract the available patterns from zigzag prices.
  Returns: string array.
Comentarios
PineCoders
TeamTrading1
Thank you for that library! Is there an executee script?
balipour
"Harmonic Patterns"? why is the at the money delta 0.5 then boss? lol
RicardoSantos
@balipour, because "harmonic" was what some "vendor" called it a few years ago and the name stuck :)
PineCoders
This publication is now featured in our Editors' Picks: tradingview.com/scripts/editors-picks/?script_type=libraries
In the name of all TradingViewers, thank you for your valuable contribution to the community, and congrats!
tucherpol
sorry but I dont see anything on my graphic when copy and add it. could you help please ?
CryptoArch_
Very nice ricardo. Thanks.
Mihai_Iacob
Thanks for this
Más