PINE LIBRARY
Updated eHarmonicpatternsExtended

Library "eHarmonicpatternsExtended"
Library provides an alternative method to scan harmonic patterns. This is helpful in reducing iterations. Republishing as new library instead of existing eHarmonicpatterns because I need that copy for existing scripts.
scan_xab(bcdRatio, err_min, err_max, patternArray) Checks if bcd ratio is in range of any harmonic pattern
Parameters:
bcdRatio: AB/XA ratio
err_min: minimum error threshold
err_max: maximum error threshold
patternArray: Array containing pattern check flags. Checks are made only if flags are true. Upon check flgs are overwritten.
scan_abc_axc(abcRatio, axcRatio, err_min, err_max, patternArray) Checks if abc or axc ratio is in range of any harmonic pattern
Parameters:
abcRatio: BC/AB ratio
axcRatio: XC/AX ratio
err_min: minimum error threshold
err_max: maximum error threshold
patternArray: Array containing pattern check flags. Checks are made only if flags are true. Upon check flgs are overwritten.
scan_bcd(bcdRatio, err_min, err_max, patternArray) Checks if bcd ratio is in range of any harmonic pattern
Parameters:
bcdRatio: CD/BC ratio
err_min: minimum error threshold
err_max: maximum error threshold
patternArray: Array containing pattern check flags. Checks are made only if flags are true. Upon check flgs are overwritten.
scan_xad_xcd(xadRatio, xcdRatio, err_min, err_max, patternArray) Checks if xad or xcd ratio is in range of any harmonic pattern
Parameters:
xadRatio: AD/XA ratio
xcdRatio: CD/XC ratio
err_min: minimum error threshold
err_max: maximum error threshold
patternArray: Array containing pattern check flags. Checks are made only if flags are true. Upon check flgs are overwritten.
isHarmonicPattern(x, a, b, c, d, flags, errorPercent) Checks for harmonic patterns
Parameters:
x: X coordinate value
a: A coordinate value
b: B coordinate value
c: C coordinate value
d: D coordinate value
flags: flags to check patterns. Send empty array to enable all
errorPercent: Error threshold
Returns: [patternArray, patternLabelArray] Array of boolean values which says whether valid pattern exist and array of corresponding pattern names
isHarmonicProjection(x, a, b, c, flags, errorPercent) Checks for harmonic pattern projection
Parameters:
x: X coordinate value
a: A coordinate value
b: B coordinate value
c: C coordinate value
flags: flags to check patterns. Send empty array to enable all
errorPercent: Error threshold
Returns: [patternArray, patternLabelArray] Array of boolean values which says whether valid pattern exist and array of corresponding pattern names.
get_prz_range(x, a, b, c, patternArray, errorPercent, start_adj, end_adj) Provides PRZ range based on BCD and XAD ranges
Parameters:
x: X coordinate value
a: A coordinate value
b: B coordinate value
c: C coordinate value
patternArray: Pattern flags for which PRZ range needs to be calculated
errorPercent: Error threshold
start_adj: - Adjustments for entry levels
end_adj: - Adjustments for stop levels
Returns: [dStart, dEnd] Start and end of consolidated PRZ range
get_prz_range_xad(x, a, b, c, patternArray, errorPercent, start_adj, end_adj) Provides PRZ range based on XAD range only
Parameters:
x: X coordinate value
a: A coordinate value
b: B coordinate value
c: C coordinate value
patternArray: Pattern flags for which PRZ range needs to be calculated
errorPercent: Error threshold
start_adj: - Adjustments for entry levels
end_adj: - Adjustments for stop levels
Returns: [dStart, dEnd] Start and end of consolidated PRZ range
Library provides an alternative method to scan harmonic patterns. This is helpful in reducing iterations. Republishing as new library instead of existing eHarmonicpatterns because I need that copy for existing scripts.
scan_xab(bcdRatio, err_min, err_max, patternArray) Checks if bcd ratio is in range of any harmonic pattern
Parameters:
bcdRatio: AB/XA ratio
err_min: minimum error threshold
err_max: maximum error threshold
patternArray: Array containing pattern check flags. Checks are made only if flags are true. Upon check flgs are overwritten.
scan_abc_axc(abcRatio, axcRatio, err_min, err_max, patternArray) Checks if abc or axc ratio is in range of any harmonic pattern
Parameters:
abcRatio: BC/AB ratio
axcRatio: XC/AX ratio
err_min: minimum error threshold
err_max: maximum error threshold
patternArray: Array containing pattern check flags. Checks are made only if flags are true. Upon check flgs are overwritten.
scan_bcd(bcdRatio, err_min, err_max, patternArray) Checks if bcd ratio is in range of any harmonic pattern
Parameters:
bcdRatio: CD/BC ratio
err_min: minimum error threshold
err_max: maximum error threshold
patternArray: Array containing pattern check flags. Checks are made only if flags are true. Upon check flgs are overwritten.
scan_xad_xcd(xadRatio, xcdRatio, err_min, err_max, patternArray) Checks if xad or xcd ratio is in range of any harmonic pattern
Parameters:
xadRatio: AD/XA ratio
xcdRatio: CD/XC ratio
err_min: minimum error threshold
err_max: maximum error threshold
patternArray: Array containing pattern check flags. Checks are made only if flags are true. Upon check flgs are overwritten.
isHarmonicPattern(x, a, b, c, d, flags, errorPercent) Checks for harmonic patterns
Parameters:
x: X coordinate value
a: A coordinate value
b: B coordinate value
c: C coordinate value
d: D coordinate value
flags: flags to check patterns. Send empty array to enable all
errorPercent: Error threshold
Returns: [patternArray, patternLabelArray] Array of boolean values which says whether valid pattern exist and array of corresponding pattern names
isHarmonicProjection(x, a, b, c, flags, errorPercent) Checks for harmonic pattern projection
Parameters:
x: X coordinate value
a: A coordinate value
b: B coordinate value
c: C coordinate value
flags: flags to check patterns. Send empty array to enable all
errorPercent: Error threshold
Returns: [patternArray, patternLabelArray] Array of boolean values which says whether valid pattern exist and array of corresponding pattern names.
get_prz_range(x, a, b, c, patternArray, errorPercent, start_adj, end_adj) Provides PRZ range based on BCD and XAD ranges
Parameters:
x: X coordinate value
a: A coordinate value
b: B coordinate value
c: C coordinate value
patternArray: Pattern flags for which PRZ range needs to be calculated
errorPercent: Error threshold
start_adj: - Adjustments for entry levels
end_adj: - Adjustments for stop levels
Returns: [dStart, dEnd] Start and end of consolidated PRZ range
get_prz_range_xad(x, a, b, c, patternArray, errorPercent, start_adj, end_adj) Provides PRZ range based on XAD range only
Parameters:
x: X coordinate value
a: A coordinate value
b: B coordinate value
c: C coordinate value
patternArray: Pattern flags for which PRZ range needs to be calculated
errorPercent: Error threshold
start_adj: - Adjustments for entry levels
end_adj: - Adjustments for stop levels
Returns: [dStart, dEnd] Start and end of consolidated PRZ range
Release Notes
v2Minor correction :(
Release Notes
v3Added:
getSupportedPatterns(patternLabelArray) Returns the list of supported patterns in order
Parameters:
patternLabelArray: Supported Patterns
get_projection_range(x, a, b, c, patternArray, errorPercent, start_adj, end_adj) Provides Projection range based on BCD and XAD ranges
Parameters:
x: X coordinate value
a: A coordinate value
b: B coordinate value
c: C coordinate value
patternArray: Pattern flags for which PRZ range needs to be calculated
errorPercent: Error threshold
start_adj: - Adjustments for entry levels
end_adj: - Adjustments for stop levels
Returns: [startRange, endRange] Array containing start and end ranges
Release Notes
v4Release Notes
v5Removed:
scan_xab(bcdRatio, err_min, err_max, patternArray)
Checks if bcd ratio is in range of any harmonic pattern
scan_abc_axc(abcRatio, axcRatio, err_min, err_max, patternArray)
Checks if abc or axc ratio is in range of any harmonic pattern
scan_bcd(bcdRatio, err_min, err_max, patternArray)
Checks if bcd ratio is in range of any harmonic pattern
scan_xad_xcd(xadRatio, xcdRatio, err_min, err_max, patternArray)
Checks if xad or xcd ratio is in range of any harmonic pattern
Release Notes
v6Minor logical updates
Pine library
In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in publications is governed by House Rules.
Trial - trendoscope.io/trial
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Disclaimer
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.
Pine library
In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in publications is governed by House Rules.
Trial - trendoscope.io/trial
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Disclaimer
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.