RicardoSantos

HarmonicPattern

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
版本注释: 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"
版本注释: v3

Added:
extract() Extract the available patterns from zigzag prices.
  Returns: string array.

Pine脚本库

本着真正的TradingView精神,作者将此Pine代码以开源脚本库发布,以便我们社区的其他Pine程序员可以重用它。向作者致敬!您可以私下或在其他开源出版物中使用此库,但在出版物中重用此代码受网站规则约束。

免责声明

这些信息和出版物并不意味着也不构成TradingView提供或认可的金融、投资、交易或其他类型的意见或建议。请在使用条款阅读更多信息。

想使用这个脚本库吗?

复制以下行并将其粘贴到您的脚本中。