Library "TA"
General technical analysis functions
div_bull(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, no_broken, pW, iW, hidW, regW)
Test for bullish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot low to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot low to be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot low to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot low (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
div_bear(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, no_broken, pW, iW, hidW, regW)
Test for bearish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot high to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot highto be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot high (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
General technical analysis functions
div_bull(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, no_broken, pW, iW, hidW, regW)
Test for bullish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot low to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot low to be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot low to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot low (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
div_bear(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, no_broken, pW, iW, hidW, regW)
Test for bearish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot high to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot highto be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot high (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
Sürüm Notları:
v2
Return absolute value of degree to handle series with negative values.
Return absolute value of degree to handle series with negative values.
Sürüm Notları:
v3
- Added support for lookback # of pivots for div_bull() and div_bear()
- Fixed divergence degree calculation when indicator series has negative values
- Changed default pivot lengths for div_bull() and div_bear()
Updated:
div_bull(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bullish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot low to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot low to be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot low to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot low (optional int)
lookback_pivs: Pivots back to search for prior pivot low (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
div_bear(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bearish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot high to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot highto be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot high (optional int)
lookback_pivs: Pivots back to search for prior pivot high (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
- Added support for lookback # of pivots for div_bull() and div_bear()
- Fixed divergence degree calculation when indicator series has negative values
- Changed default pivot lengths for div_bull() and div_bear()
Updated:
div_bull(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bullish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot low to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot low to be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot low to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot low (optional int)
lookback_pivs: Pivots back to search for prior pivot low (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
div_bear(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bearish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot high to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot highto be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot high (optional int)
lookback_pivs: Pivots back to search for prior pivot high (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
Sürüm Notları:
v4
Changed divergence strength/degree calculation to use the angle of the divergence line divided by 90 degrees (as opposed to the % change in the indicator value). This will keep the unweighted strength value between 0 and 1 for the indicator portion of the calculation, which is desirable because different indicator series can have wildly different ranges.
Changed divergence strength/degree calculation to use the angle of the divergence line divided by 90 degrees (as opposed to the % change in the indicator value). This will keep the unweighted strength value between 0 and 1 for the indicator portion of the calculation, which is desirable because different indicator series can have wildly different ranges.
Sürüm Notları:
v5
Added chk_prev_bar flag as an argument to the divergence checks, which will check for divergence using the indicator value from the prior bar. This is necessary in some cases where the indicator is using a different price source than the one passed into the divergence function.
Updated:
div_bull(pS, iS, chk_prev_bar, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bullish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
chk_prev_bar: Flag to check for divergence using the indicator value from the prior bar. This is necessary in some cases where the indicator is using a different price source than the one passed in pS.
cp_length_after: Bars after current (divergent) pivot low to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot low to be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot low to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot low (optional int)
lookback_pivs: Pivots back to search for prior pivot low (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
div_bear(pS, iS, chk_prev_bar, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bearish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
chk_prev_bar: Flag to check for divergence using the indicator value from the prior bar. This is necessary in some cases where the indicator is using a different price source than the one passed in pS.
cp_length_after: Bars after current (divergent) pivot high to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot highto be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot high (optional int)
lookback_pivs: Pivots back to search for prior pivot high (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
Added chk_prev_bar flag as an argument to the divergence checks, which will check for divergence using the indicator value from the prior bar. This is necessary in some cases where the indicator is using a different price source than the one passed into the divergence function.
Updated:
div_bull(pS, iS, chk_prev_bar, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bullish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
chk_prev_bar: Flag to check for divergence using the indicator value from the prior bar. This is necessary in some cases where the indicator is using a different price source than the one passed in pS.
cp_length_after: Bars after current (divergent) pivot low to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot low to be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot low to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot low (optional int)
lookback_pivs: Pivots back to search for prior pivot low (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
div_bear(pS, iS, chk_prev_bar, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bearish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
chk_prev_bar: Flag to check for divergence using the indicator value from the prior bar. This is necessary in some cases where the indicator is using a different price source than the one passed in pS.
cp_length_after: Bars after current (divergent) pivot high to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot highto be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot high (optional int)
lookback_pivs: Pivots back to search for prior pivot high (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
Sürüm Notları:
v6
When calculating the divergence strength on an indicator, Scale the X coordinates to a range similar to the Y scale (X and Y scales should be on the same order of magnitude for the angle value to be meaningful. e.g. if ΔY is 10,000,000 and ΔX is 12, the angle will always be very nearly 90 degrees, which makes for a meaningless value)
When calculating the divergence strength on an indicator, Scale the X coordinates to a range similar to the Y scale (X and Y scales should be on the same order of magnitude for the angle value to be meaningful. e.g. if ΔY is 10,000,000 and ΔX is 12, the angle will always be very nearly 90 degrees, which makes for a meaningless value)
Sürüm Notları:
v7
Adjusted multiplier in iDelta() to use the average Y value rather than the difference of the two Y values.
Adjusted multiplier in iDelta() to use the average Y value rather than the difference of the two Y values.
Sürüm Notları:
v8
Now calculating divergence strength in terms of the standard deviation.
= Δ price/StDev + Δ indicator/stDev (multiplied by specified weights)
Now calculating divergence strength in terms of the standard deviation.
= Δ price/StDev + Δ indicator/stDev (multiplied by specified weights)
Sürüm Notları:
v9
Sürüm Notları:
v10
Changes to check more thoroughly for pivots on indicator series.
Updated:
div_bull(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bullish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot low to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot low to be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot low to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot low (optional int)
lookback_pivs: Pivots back to search for prior pivot low (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
div_bear(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bearish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot high to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot highto be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot high (optional int)
lookback_pivs: Pivots back to search for prior pivot high (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
Changes to check more thoroughly for pivots on indicator series.
Updated:
div_bull(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bullish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot low to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot low to be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot low to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot low (optional int)
lookback_pivs: Pivots back to search for prior pivot low (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
div_bear(pS, iS, cp_length_after, cp_length_before, pivot_length, lookback, lookback_pivs, no_broken, pW, iW, hidW, regW)
Test for bearish divergence
Parameters:
pS: Price series (float)
iS: Indicator series (float)
cp_length_after: Bars after current (divergent) pivot high to be considered a valid pivot (optional int)
cp_length_before: Bars before current (divergent) pivot highto be considered a valid pivot (optional int)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
lookback: Bars back to search for prior pivot high (optional int)
lookback_pivs: Pivots back to search for prior pivot high (optional int)
no_broken: Flag to only consider divergence valid if the pivot-to-pivot trendline is unbroken (optional bool)
pW: Weight of change in price, used in degree of divergence calculation (optional float)
iW: Weight of change in indicator, used in degree of divergence calculation (optional float)
hidW: Weight of hidden divergence, used in degree of divergence calculation (optional float)
regW: Weight of regular divergence, used in degree of divergence calculation (optional float)
Returns:
flag = true if divergence exists (bool)
degree = degree (strength) of divergence (float)
type = 1 = regular, 2 = hidden (int)
lx1 = x coordinate 1 (int)
ly1 = y coordinate 1 (float)
lx2 = x coordinate 2 (int)
ly2 = y coordinate 2 (float)
Sürüm Notları:
v11
div_bull() and div_bear() - adjusted indicator pivot checking to be more inclusive.
div_bull() and div_bear() - adjusted indicator pivot checking to be more inclusive.
Sürüm Notları:
v12
Added function for validating harmonic XABCD patterns: harmonic_validate_xabcd()
Added:
harmonic_validate_xabcd(xX, xY, aX, aY, bX, bY, cX, cY, dX, dY, pErr, pAsym, pivot_length, gart, bat, bfly, crab)
Validate harmonic XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
dX: X coordinate of point D (int)
dY: Y coordinate of point D (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
gart: Flag to validate Gartley pattern (bool)
bat: Flag to validate Bat pattern (bool)
bfly: Flag to validate Butterfly pattern (bool)
crab: Flag to validate Crab pattern (bool)
Returns:
flag = true if valid harmonic
t1 = true if valid gartley
t2 = true if valid bat
t3 = true if valid butterfly
t4 = true if valid crab
Added function for validating harmonic XABCD patterns: harmonic_validate_xabcd()
Added:
harmonic_validate_xabcd(xX, xY, aX, aY, bX, bY, cX, cY, dX, dY, pErr, pAsym, pivot_length, gart, bat, bfly, crab)
Validate harmonic XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
dX: X coordinate of point D (int)
dY: Y coordinate of point D (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
gart: Flag to validate Gartley pattern (bool)
bat: Flag to validate Bat pattern (bool)
bfly: Flag to validate Butterfly pattern (bool)
crab: Flag to validate Crab pattern (bool)
Returns:
flag = true if valid harmonic
t1 = true if valid gartley
t2 = true if valid bat
t3 = true if valid butterfly
t4 = true if valid crab
Sürüm Notları:
v13
Added pattern_xabcd() - determine if an XABCD pattern has just completed.
Added:
pattern_xabcd(x_is_low, pivot_length, source)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Added pattern_xabcd() - determine if an XABCD pattern has just completed.
Added:
pattern_xabcd(x_is_low, pivot_length, source)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Sürüm Notları:
v14
Added:
pat_xabcd(x_is_low, pivot_length, source)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Removed:
pattern_xabcd(x_is_low, pivot_length, source)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Added:
pat_xabcd(x_is_low, pivot_length, source)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Removed:
pattern_xabcd(x_is_low, pivot_length, source)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Sürüm Notları:
v15
Fixed point D validation for harmonic XABCD pattern
Fixed point D validation for harmonic XABCD pattern
Sürüm Notları:
v16
Fixed harmonic XABCD ΔX symmetry validation
Fixed harmonic XABCD ΔX symmetry validation
Sürüm Notları:
v17
Added:
harmonic_xabcd_validate(xX, xY, aX, aY, bX, bY, cX, cY, dX, dY, pErr, pAsym, pivot_length, gart, bat, bfly, crab)
Validate harmonic XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
dX: X coordinate of point D (int)
dY: Y coordinate of point D (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
gart: Flag to validate Gartley pattern (bool)
bat: Flag to validate Bat pattern (bool)
bfly: Flag to validate Butterfly pattern (bool)
crab: Flag to validate Crab pattern (bool)
Returns:
flag = true if valid harmonic
t1 = true if valid gartley
t2 = true if valid bat
t3 = true if valid butterfly
t4 = true if valid crab
harmonic_xabcd_prz(type, xY, aY, bY, cY)
Get the potential reversal zone (PRZ) levels of a harmonic XABCD pattern
Parameters:
type: Harmonic pattern type (int - 1 = Gartley, 2 = Bat, 3 = Butterfly, 4 = Crab)
xY: Y coordinate of point X (float)
aY: Y coordinate of point A (float)
bY: Y coordinate of point B (float)
cY: Y coordinate of point C (float)
Returns:
bc_u = nearest BC retracement/extension level (nearest to point C)
bc_l = farthest BC retracement/extension level (nearest to point C)
xa_u = nearest XA retracement/extension level (or the only XA level, if applicable)
xa_l = farthest XA retracement/extension level (or na if not applicable)
Removed:
harmonic_validate_xabcd(xX, xY, aX, aY, bX, bY, cX, cY, dX, dY, pErr, pAsym, pivot_length, gart, bat, bfly, crab)
Validate harmonic XABCD pattern
Added:
harmonic_xabcd_validate(xX, xY, aX, aY, bX, bY, cX, cY, dX, dY, pErr, pAsym, pivot_length, gart, bat, bfly, crab)
Validate harmonic XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
dX: X coordinate of point D (int)
dY: Y coordinate of point D (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
gart: Flag to validate Gartley pattern (bool)
bat: Flag to validate Bat pattern (bool)
bfly: Flag to validate Butterfly pattern (bool)
crab: Flag to validate Crab pattern (bool)
Returns:
flag = true if valid harmonic
t1 = true if valid gartley
t2 = true if valid bat
t3 = true if valid butterfly
t4 = true if valid crab
harmonic_xabcd_prz(type, xY, aY, bY, cY)
Get the potential reversal zone (PRZ) levels of a harmonic XABCD pattern
Parameters:
type: Harmonic pattern type (int - 1 = Gartley, 2 = Bat, 3 = Butterfly, 4 = Crab)
xY: Y coordinate of point X (float)
aY: Y coordinate of point A (float)
bY: Y coordinate of point B (float)
cY: Y coordinate of point C (float)
Returns:
bc_u = nearest BC retracement/extension level (nearest to point C)
bc_l = farthest BC retracement/extension level (nearest to point C)
xa_u = nearest XA retracement/extension level (or the only XA level, if applicable)
xa_l = farthest XA retracement/extension level (or na if not applicable)
Removed:
harmonic_validate_xabcd(xX, xY, aX, aY, bX, bY, cX, cY, dX, dY, pErr, pAsym, pivot_length, gart, bat, bfly, crab)
Validate harmonic XABCD pattern
Sürüm Notları:
v18
Fixed harmonic retracement validation
Fixed harmonic retracement validation
Sürüm Notları:
v19
Added:
harmonic_xabcd_validateIncomplete(xX, xY, aX, aY, bX, bY, cX, cY, pErr, pAsym, pivot_length, gart, bat, bfly, crab)
Validate the first 3 legs of a harmonic XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
gart: Flag to validate Gartley pattern (bool)
bat: Flag to validate Bat pattern (bool)
bfly: Flag to validate Butterfly pattern (bool)
crab: Flag to validate Crab pattern (bool)
Returns:
flag = true if valid harmonic
t1 = true if valid gartley
t2 = true if valid bat
t3 = true if valid butterfly
t4 = true if valid crab
Added:
harmonic_xabcd_validateIncomplete(xX, xY, aX, aY, bX, bY, cX, cY, pErr, pAsym, pivot_length, gart, bat, bfly, crab)
Validate the first 3 legs of a harmonic XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
gart: Flag to validate Gartley pattern (bool)
bat: Flag to validate Bat pattern (bool)
bfly: Flag to validate Butterfly pattern (bool)
crab: Flag to validate Crab pattern (bool)
Returns:
flag = true if valid harmonic
t1 = true if valid gartley
t2 = true if valid bat
t3 = true if valid butterfly
t4 = true if valid crab
Sürüm Notları:
v20
Fixed bug with pat_axbcd() algorithm, checking wrong pivot looking for point C in bearish patterns.
Fixed bug with pat_axbcd() algorithm, checking wrong pivot looking for point C in bearish patterns.
Sürüm Notları:
v21
Fixed bug in pat_xabcd() where intermediate low wasn't being detected between points C and D
Fixed bug in pat_xabcd() where intermediate low wasn't being detected between points C and D
Sürüm Notları:
v22
Added:
harmonic_xabcd_przClosest(l1, l2, l3, l4)
Get the confluent PRZ levels (i.e. the two closest PRZ levels)
Order of arguments does not matter
Parameters:
l1: level 1 (float)
l2: level 2 (float)
l3: level 3 (float)
l4: level 4 (optional, float)
Returns:
lL = lower confluent PRZ level
lH = higher confluent PRZ level
Added:
harmonic_xabcd_przClosest(l1, l2, l3, l4)
Get the confluent PRZ levels (i.e. the two closest PRZ levels)
Order of arguments does not matter
Parameters:
l1: level 1 (float)
l2: level 2 (float)
l3: level 3 (float)
l4: level 4 (optional, float)
Returns:
lL = lower confluent PRZ level
lH = higher confluent PRZ level
Sürüm Notları:
v23
Added:
success(entry, stop, t1, t2)
Determine if trade is successful
Parameters:
entry: Entry bar index (int)
stop: Stop level (float)
t1: Target 1 level (float)
t2: Target 2 level (float)
Returns:
Added:
success(entry, stop, t1, t2)
Determine if trade is successful
Parameters:
entry: Entry bar index (int)
stop: Stop level (float)
t1: Target 1 level (float)
t2: Target 2 level (float)
Returns:
Sürüm Notları:
v24
Added:
harmonic_xabcd_rAndE(type, l, l1, l2)
Get the ratio of two pattern legs, and the percent error from the theoretical harmonic ratio
Order of arguments does not matter
Parameters:
type: Harmonic pattern type (int - 1 = Gartley, 2 = Bat, 3 = Butterfly, 4 = Crab)
l: Leg ID ("xab", "abc", "bcd", or "xad") (string)
l1: Line 1 height (float)
l2: Line 2 height (float)
Returns:
Added:
harmonic_xabcd_rAndE(type, l, l1, l2)
Get the ratio of two pattern legs, and the percent error from the theoretical harmonic ratio
Order of arguments does not matter
Parameters:
type: Harmonic pattern type (int - 1 = Gartley, 2 = Bat, 3 = Butterfly, 4 = Crab)
l: Leg ID ("xab", "abc", "bcd", or "xad") (string)
l1: Line 1 height (float)
l2: Line 2 height (float)
Returns:
Sürüm Notları:
v25
Added:
harmonic_xabcd_przRange()
Get upper and lower PRZ levels
harmonic_xabcd_eD()
Measure closeness of D to either of the two closest PRZ levels, relative to height of the XA leg
przScore()
Measure the closeness of the two closest PRZ levels, relative to the height of the XA leg
harmonic_xabcd_eAvg()
Get the avg retracement ratio % error
harmonic_xabcd_targets()
Get target level
pat_xabcd_asym()
Get the avg asymmetry %
Added:
harmonic_xabcd_przRange()
Get upper and lower PRZ levels
harmonic_xabcd_eD()
Measure closeness of D to either of the two closest PRZ levels, relative to height of the XA leg
przScore()
Measure the closeness of the two closest PRZ levels, relative to the height of the XA leg
harmonic_xabcd_eAvg()
Get the avg retracement ratio % error
harmonic_xabcd_targets()
Get target level
pat_xabcd_asym()
Get the avg asymmetry %
Sürüm Notları:
v26
Added:
harmonic_xabcd_przScore()
Measure the closeness of the two closest PRZ levels, relative to the height of the XA leg
Removed:
przScore()
Measure the closeness of the two closest PRZ levels, relative to the height of the XA leg
Added:
harmonic_xabcd_przScore()
Measure the closeness of the two closest PRZ levels, relative to the height of the XA leg
Removed:
przScore()
Measure the closeness of the two closest PRZ levels, relative to the height of the XA leg
Sürüm Notları:
v27
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Sürüm Notları:
v28
Sürüm Notları:
v29
Sürüm Notları:
v30
Added:
harmonic_xabcd_score()
Get score values for a pattern
Added:
harmonic_xabcd_score()
Get score values for a pattern
Sürüm Notları:
v31
Added Shark and Cypher XABCD patterns
Updated:
harmonic_xabcd_validate(xX, xY, aX, aY, bX, bY, cX, cY, dX, dY, pErr, pAsym, pivot_length, gart, bat, bfly, crab, shark, cyph)
Validate harmonic XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
dX: X coordinate of point D (int)
dY: Y coordinate of point D (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
gart: Flag to validate Gartley pattern (bool)
bat: Flag to validate Bat pattern (bool)
bfly: Flag to validate Butterfly pattern (bool)
crab: Flag to validate Crab pattern (bool)
shark: Flag to validate Shark pattern (bool)
cyph: Flag to validate Cypher pattern (bool)
Returns:
flag = true if valid harmonic
t1 = true if valid gartley
t2 = true if valid bat
t3 = true if valid butterfly
t4 = true if valid crab
t5 = true if valid shark
t6 = true if valid cypher
harmonic_xabcd_validateIncomplete(xX, xY, aX, aY, bX, bY, cX, cY, pErr, pAsym, pivot_length, gart, bat, bfly, crab, shark, cyph)
Validate the first 3 legs of a harmonic XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
gart: Flag to validate Gartley pattern (bool)
bat: Flag to validate Bat pattern (bool)
bfly: Flag to validate Butterfly pattern (bool)
crab: Flag to validate Crab pattern (bool)
shark: Flag to validate Shark pattern (bool)
cyph: Flag to validate Cypher pattern (bool)
Returns:
flag = true if valid harmonic
t1 = true if valid gartley
t2 = true if valid bat
t3 = true if valid butterfly
t4 = true if valid crab
t5 = true if valid shark
t6 = true if valid cypher
Added Shark and Cypher XABCD patterns
Updated:
harmonic_xabcd_validate(xX, xY, aX, aY, bX, bY, cX, cY, dX, dY, pErr, pAsym, pivot_length, gart, bat, bfly, crab, shark, cyph)
Validate harmonic XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
dX: X coordinate of point D (int)
dY: Y coordinate of point D (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
gart: Flag to validate Gartley pattern (bool)
bat: Flag to validate Bat pattern (bool)
bfly: Flag to validate Butterfly pattern (bool)
crab: Flag to validate Crab pattern (bool)
shark: Flag to validate Shark pattern (bool)
cyph: Flag to validate Cypher pattern (bool)
Returns:
flag = true if valid harmonic
t1 = true if valid gartley
t2 = true if valid bat
t3 = true if valid butterfly
t4 = true if valid crab
t5 = true if valid shark
t6 = true if valid cypher
harmonic_xabcd_validateIncomplete(xX, xY, aX, aY, bX, bY, cX, cY, pErr, pAsym, pivot_length, gart, bat, bfly, crab, shark, cyph)
Validate the first 3 legs of a harmonic XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
pivot_length: Bars before and after prior pivot high to be considered valid pivot (optional int)
gart: Flag to validate Gartley pattern (bool)
bat: Flag to validate Bat pattern (bool)
bfly: Flag to validate Butterfly pattern (bool)
crab: Flag to validate Crab pattern (bool)
shark: Flag to validate Shark pattern (bool)
cyph: Flag to validate Cypher pattern (bool)
Returns:
flag = true if valid harmonic
t1 = true if valid gartley
t2 = true if valid bat
t3 = true if valid butterfly
t4 = true if valid crab
t5 = true if valid shark
t6 = true if valid cypher
Sürüm Notları:
v32
Updated:
harmonic_xabcd_przScore()
Measure the closeness of the two closest PRZ levels, relative to the height of the XA leg
Updated:
harmonic_xabcd_przScore()
Measure the closeness of the two closest PRZ levels, relative to the height of the XA leg
Sürüm Notları:
v33
Added:
harmonic_xabcd_fibDispTxt()
Get fib ratio display text
Added:
harmonic_xabcd_fibDispTxt()
Get fib ratio display text
Sürüm Notları:
v34
Added:
harmonic_xabcd_symbol()
Get pattern symbol
Added:
harmonic_xabcd_symbol()
Get pattern symbol
Sürüm Notları:
v35
Added:
harmonic_xabcd_scoreTot()
Get total weighted score value for a pattern
Added:
harmonic_xabcd_scoreTot()
Get total weighted score value for a pattern
Sürüm Notları:
v36
Removed:
harmonic_xabcd_scoreTot()
Get total weighted score value for a pattern
harmonic_xabcd_fibDispTxt()
Get fib ratio display text
harmonic_xabcd_symbol()
Get pattern symbol
Removed:
harmonic_xabcd_scoreTot()
Get total weighted score value for a pattern
harmonic_xabcd_fibDispTxt()
Get fib ratio display text
harmonic_xabcd_symbol()
Get pattern symbol
Sürüm Notları:
v37
Added:
harmonic_xabcd_scoreTot()
Get pattern's total weighted score
Added:
harmonic_xabcd_scoreTot()
Get pattern's total weighted score
Sürüm Notları:
v38
Added:
harmonic_xabcd_fibDispTxt()
Get fib ratio display text
harmonic_xabcd_symbol()
Get pattern symbol
Added:
harmonic_xabcd_fibDispTxt()
Get fib ratio display text
harmonic_xabcd_symbol()
Get pattern symbol
Sürüm Notları:
v39
Sürüm Notları:
v40
Sürüm Notları:
v41
Sürüm Notları:
v42
Added:
harmonic_xabcd_stop()
Get stop level
Added:
harmonic_xabcd_stop()
Get stop level
Sürüm Notları:
v43
Fixed bug with cypher validation of point D (retracement of XC, not XA)
Fixed bug with cypher validation of point D (retracement of XC, not XA)
Sürüm Notları:
v44
Sürüm Notları:
v45
Removed redundant "==true" comparisons
Removed redundant "==true" comparisons
Sürüm Notları:
v46
Fixed bug with cypher PRZ level
Fixed bug with cypher PRZ level
Sürüm Notları:
v47
Added:
pat_xabcd_avgDev()
Get the average % deviation of an XABCD pattern
Added:
pat_xabcd_avgDev()
Get the average % deviation of an XABCD pattern
Sürüm Notları:
v48
Sürüm Notları:
v49
Testing
Testing
Sürüm Notları:
v50
Testing
Testing
Sürüm Notları:
v51
Added:
pat_xabcd_validate(xX, xY, aX, aY, bX, bY, cX, cY, dX, dY, pErr, pAsym)
Validate custom XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
dX: X coordinate of point D (int)
dY: Y coordinate of point D (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
Returns: TRUE if pattern is valid
pat_xabcd_validateIncomplete(xX, xY, aX, aY, bX, bY, cX, cY, pErr, pAsym)
Validate the first 3 legs of a custom XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
Returns: TRUE if first 3 legs are valid
pat_xabcd_prz(xY, aY, bY, cY)
Get the potential reversal zone (PRZ) levels of a custom XABCD pattern
Parameters:
xY: Y coordinate of point X (float)
aY: Y coordinate of point A (float)
bY: Y coordinate of point B (float)
cY: Y coordinate of point C (float)
Returns:
Added:
pat_xabcd_validate(xX, xY, aX, aY, bX, bY, cX, cY, dX, dY, pErr, pAsym)
Validate custom XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
dX: X coordinate of point D (int)
dY: Y coordinate of point D (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
Returns: TRUE if pattern is valid
pat_xabcd_validateIncomplete(xX, xY, aX, aY, bX, bY, cX, cY, pErr, pAsym)
Validate the first 3 legs of a custom XABCD pattern
Parameters:
xX: X coordinate of point X (int)
xY: Y coordinate of point X (float)
aX: X coordinate of point A (int)
aY: Y coordinate of point A (float)
bX: X coordinate of point B (int)
bY: Y coordinate of point B (float)
cX: X coordinate of point C (int)
cY: Y coordinate of point C (float)
pErr: Acceptable percent error of leg ratios (does not apply to legs defined within a range) (float)
pAsym: Acceptable percent asymmetry of leg ΔX (each leg tested against average ΔX of prior legs) (float)
Returns: TRUE if first 3 legs are valid
pat_xabcd_prz(xY, aY, bY, cY)
Get the potential reversal zone (PRZ) levels of a custom XABCD pattern
Parameters:
xY: Y coordinate of point X (float)
aY: Y coordinate of point A (float)
bY: Y coordinate of point B (float)
cY: Y coordinate of point C (float)
Returns:
Sürüm Notları:
v52
Updated:
harmonic_xabcd_eAvg()
Get the avg retracement ratio % error
Updated:
harmonic_xabcd_eAvg()
Get the avg retracement ratio % error
Sürüm Notları:
v53
Fixed bug with success(), extra checks on entry bar
Fixed bug with success(), extra checks on entry bar
Sürüm Notları:
v54
Added:
tradeClosed()
Determine if Target or Stop was hit on the current bar
Added:
tradeClosed()
Determine if Target or Stop was hit on the current bar
Sürüm Notları:
v55
Bug fix for closed trade check
Bug fix for closed trade check
Sürüm Notları:
v56
Bug fix for closed trade check
Bug fix for closed trade check
Sürüm Notları:
v57
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Sürüm Notları:
v58
Short circuit incomplete XABCD pattern search
Short circuit incomplete XABCD pattern search
Sürüm Notları:
v59
Updated:
harmonic_xabcd_przRange()
Get upper and lower PRZ levels
Updated:
harmonic_xabcd_przRange()
Get upper and lower PRZ levels
Sürüm Notları:
v60
Added:
harmonic_xabcd_entry()
Added:
harmonic_xabcd_entry()
Sürüm Notları:
v61
Added:
xabcd_entryHit()
Determine if entry level was reached. Assumes pattern is active/not timed out.
Added:
xabcd_entryHit()
Determine if entry level was reached. Assumes pattern is active/not timed out.
Sürüm Notları:
v62
Updated przClosest check to exclude values of 0 (only used when actual retracement value < 0)
Updated przClosest check to exclude values of 0 (only used when actual retracement value < 0)
Sürüm Notları:
v63
backed out last change
backed out last change
Sürüm Notları:
v64
test
test
Sürüm Notları:
v65
dont allow entry value < 0
dont allow entry value < 0
Sürüm Notları:
v66
Updated to use latest version of Fib script (improved efficiency for precise fibs)
Updated to use latest version of Fib script (improved efficiency for precise fibs)
Sürüm Notları:
v67
test
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
test
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Sürüm Notları:
v68
Reverted test changes
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Reverted test changes
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Sürüm Notları:
v69
Test allowing divergence checks with pivot length of 0
Test allowing divergence checks with pivot length of 0
Sürüm Notları:
v70
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete, inc_skipC)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
inc_skipC: skip incomplete patterns whose point C is at or before this bar index (to avoid returning the same pattern on consecutive bars)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete, inc_skipC)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
inc_skipC: skip incomplete patterns whose point C is at or before this bar index (to avoid returning the same pattern on consecutive bars)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Sürüm Notları:
v71
Sürüm Notları:
v72
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete, inc_skipC)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
inc_skipC: skip incomplete patterns whose point C is at this bar index (to avoid returning the same pattern on consecutive bars)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete, inc_skipC)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
inc_skipC: skip incomplete patterns whose point C is at this bar index (to avoid returning the same pattern on consecutive bars)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Sürüm Notları:
v73
Sürüm Notları:
v74
Sürüm Notları:
v75
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Sürüm Notları:
v76
Updated:
tradeClosed(eX, eY, stop, t1h, t2h, t1, t2)
Determine if Target or Stop was hit on the current bar
Parameters:
eX
eY
stop
t1h
t2h
t1
t2
Updated:
tradeClosed(eX, eY, stop, t1h, t2h, t1, t2)
Determine if Target or Stop was hit on the current bar
Parameters:
eX
eY
stop
t1h
t2h
t1
t2
Sürüm Notları:
v77
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
x = point X
a = point A
b = point B
c = point C
d = point D
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
x = point X
a = point A
b = point B
c = point C
d = point D
Sürüm Notları:
v78
test revert d.y to 0.0
test revert d.y to 0.0
Sürüm Notları:
v79
Reverted changes using point object for pat_xabcd()
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Reverted changes using point object for pat_xabcd()
Updated:
pat_xabcd(x_is_low, pivot_length, source, conf_length, incomplete)
Determine if an XABCD pattern has just completed (i.e. point D is on the previous bar)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
incomplete: Flag to return an incomplete XABC pattern (bool, dft = false)
Returns:
flag = true if valid XABCD pattern completed on previous bar
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Sürüm Notları:
v80
Add stop flag to tradeClosed()
Add stop flag to tradeClosed()
Sürüm Notları:
v81
Added:
test_cd(cd, bc, xa, xc, ad, pErr, p_types)
Validate CD leg of XABCD
Parameters:
cd
bc
xa
xc
ad
pErr
p_types
Added:
test_cd(cd, bc, xa, xc, ad, pErr, p_types)
Validate CD leg of XABCD
Parameters:
cd
bc
xa
xc
ad
pErr
p_types
Sürüm Notları:
v82
Added:
pat_xabcdIncomplete(x_is_low, pivot_length, source, conf_length)
Determine if an XABCD pattern is in progress (point C was just confirmed)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish M pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
Returns:
flag = true if valid XABC pattern completed on bar_index
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Added:
pat_xabcdIncomplete(x_is_low, pivot_length, source, conf_length)
Determine if an XABCD pattern is in progress (point C was just confirmed)
Parameters:
x_is_low: Flag to determine if point X is a low pivot, i.e. bullish M pattern (bool, dft = true)
pivot_length: Number of bars before and after a valid pivot (int, dft = 5)
source: Source series (float, dft = na, will use high and low series)
conf_length: Number of trailing bars after pivot point D to confirm a valid pattern (int, dft = 1)
Returns:
flag = true if valid XABC pattern completed on bar_index
xx = X coordinate of point X (int)
xy = Y coordinate of point X (float)
ax = X coordinate of point A (int)
ay = Y coordinate of point A (float)
bx = X coordinate of point B (int)
by = Y coordinate of point B (float)
cx = X coordinate of point C (int)
cy = Y coordinate of point C (float)
dx = X coordinate of point D (int)
dy = Y coordinate of point D (float)
Sürüm Notları:
v83
Added:
pat_xabcd_testSym(xax, abx, bcx, cdx, pAsym)
Validate ΔX symmetry of XABCD pattern
Parameters:
xax
abx
bcx
cdx
pAsym
Added:
pat_xabcd_testSym(xax, abx, bcx, cdx, pAsym)
Validate ΔX symmetry of XABCD pattern
Parameters:
xax
abx
bcx
cdx
pAsym
Sürüm Notları:
v84
updated pat_xabcdIncomplete()
updated pat_xabcdIncomplete()
Sürüm Notları:
v85
pat_xabcdIncomplete() bug fix
pat_xabcdIncomplete() bug fix