PINE LIBRARY
Cập nhật BandsLib

Library "BandsLib"
f_calc_survival_bands(basis, dev, shift_z, prob_pct, mr_shift)
Parameters:
basis (float): Base price level (MA, median, etc.)
dev (float): Standard deviation or volatility measure
shift_z (float): Directional shift factor (e.g., vector pressure, momentum)
prob_pct (float): Survival probability percentage (e.g., 10 = 10%)
mr_shift (float): Mean reversion shift (optional, contrarian to shift_z)
Returns: [band_upper, band_lower] Tuple of upper and lower survival bands
f_detect_squeeze(band_up, band_dn, price, damping)
Parameters:
band_up (float): Upper band level
band_dn (float): Lower band level
price (float): Current price
damping (float): Correlation damping factor (0-1)
Returns: [sq_bull, sq_bear, final_squeeze, bw_pct] Tuple of bullish/bearish squeeze signals and bandwidth percentile
f_detect_confluence(basis, fv, dev, tol_mult, min_lines)
Parameters:
basis (float): Base price level (MA, median, etc.)
fv (float): Fair value or equilibrium price
dev (float): Standard deviation or volatility measure
tol_mult (float): ATR multiplier for clustering tolerance
min_lines (int): Minimum number of converging lines to trigger confluence
f_calc_survival_bands(basis, dev, shift_z, prob_pct, mr_shift)
Parameters:
basis (float): Base price level (MA, median, etc.)
dev (float): Standard deviation or volatility measure
shift_z (float): Directional shift factor (e.g., vector pressure, momentum)
prob_pct (float): Survival probability percentage (e.g., 10 = 10%)
mr_shift (float): Mean reversion shift (optional, contrarian to shift_z)
Returns: [band_upper, band_lower] Tuple of upper and lower survival bands
f_detect_squeeze(band_up, band_dn, price, damping)
Parameters:
band_up (float): Upper band level
band_dn (float): Lower band level
price (float): Current price
damping (float): Correlation damping factor (0-1)
Returns: [sq_bull, sq_bear, final_squeeze, bw_pct] Tuple of bullish/bearish squeeze signals and bandwidth percentile
f_detect_confluence(basis, fv, dev, tol_mult, min_lines)
Parameters:
basis (float): Base price level (MA, median, etc.)
fv (float): Fair value or equilibrium price
dev (float): Standard deviation or volatility measure
tol_mult (float): ATR multiplier for clustering tolerance
min_lines (int): Minimum number of converging lines to trigger confluence
Phát hành các Ghi chú
v2Phát hành các Ghi chú
v3Phát hành các Ghi chú
v4Phát hành các Ghi chú
v5Added:
f_covariance(x, y, len)
Parameters:
x (float): First series
y (float): Second series
len (int): Lookback window
Returns: Covariance between x and y over len bars
f_mahalanobis_4x4(z1, z2, z3, z4, var1, var2, var3, var4, cov12, cov13, cov14, cov23, cov24, cov34, ridge)
Parameters:
z1 (float): First feature z-score
z2 (float): Second feature z-score
z3 (float): Third feature z-score
z4 (float): Fourth feature z-score
var1 (float): Variance of feature 1
var2 (float): Variance of feature 2
var3 (float): Variance of feature 3
var4 (float): Variance of feature 4
cov12 (float): Covariance between features 1 and 2
cov13 (float): Covariance between features 1 and 3
cov14 (float): Covariance between features 1 and 4
cov23 (float): Covariance between features 2 and 3
cov24 (float): Covariance between features 2 and 4
cov34 (float): Covariance between features 3 and 4
ridge (float): Ridge regularization parameter (e.g., 0.05)
Returns: Mahalanobis distance (scalar >= 0)
f_squeeze_mahal_features(bw_pct, innov_bw, innov_bw_mean, innov_bw_std, phi_div_score, z3_bwv)
Parameters:
bw_pct (float): Z3 bandwidth percentile [0..1] from f_detect_squeeze
innov_bw (float): innovbandupper - innovbandlower
innov_bw_mean (float): ta.sma(innov_bw, len) — caller cache
innov_bw_std (float): ta.stdev(innov_bw, len) — caller cache
phi_div_score (float): [0..1] from TAUtilityLib.f_phi_divergence_score
z3_bwv (float): z3_bw velocity (fractional) from SqzState
Returns: [sz1, sz2, sz3, sz4]
sz1 — structural narrowing (1 - bw_pct)
sz2 — innov BW z-score (negative = narrow), inverted
sz3 — phi divergence score (pressure accumulation proxy)
sz4 — Z3 BW velocity inverted (contraction = positive)
Phát hành các Ghi chú
v6Added:
ConfluenceCluster
Fields:
level (series float)
count (series int)
Phát hành các Ghi chú
v7Added:
f_bollinger(src, len, mult)
Compute Bollinger band set
Parameters:
src (float)
len (simple int)
mult (simple float)
f_keltner(src, len, mult, use_tr)
Compute Keltner band set (ATR-based)
Parameters:
src (float)
len (simple int)
mult (simple float)
use_tr (simple bool)
f_percentile(src, len, p_low, p_high)
Compute percentile band set [p_low, 50, p_high]
Parameters:
src (float)
len (simple int)
p_low (simple int)
p_high (simple int)
f_donchian(len)
Donchian channel
Parameters:
len (simple int)
method contains(b, val)
Test whether value is inside [lower, upper]
Namespace types: BandSet
Parameters:
b (BandSet)
val (float)
method position(b, val)
Position of val in band as fraction in [0,1] (0=lower, 1=upper)
Returns na for zero-width or na inputs.
Namespace types: BandSet
Parameters:
b (BandSet)
val (float)
method z_distance(b, val)
Z-score-like distance from mid in stdev-units (uses width/4 as proxy SD)
Namespace types: BandSet
Parameters:
b (BandSet)
val (float)
method breakout_dir(b, val, val_prev)
Detect breakout — caller must pass current and previous values
Namespace types: BandSet
Parameters:
b (BandSet)
val (float)
val_prev (float)
method encloses(b1, b2)
Test whether outer band b1 fully encloses inner band b2
Namespace types: BandSet
Parameters:
b1 (BandSet)
b2 (BandSet)
f_sqz_tracker_new()
f_sqz_eval(src, bb_len, bb_mult, kc_len, kc_mult_low, kc_mult_mid, kc_mult_high, kc_use_tr, momentum_len, tr)
Evaluate squeeze status for current bar
Caller maintains SqueezeTracker via var.
All params must be simple (const/input) per CE10297 fix.
Parameters:
src (float)
bb_len (simple int)
bb_mult (simple float)
kc_len (simple int)
kc_mult_low (simple float)
kc_mult_mid (simple float)
kc_mult_high (simple float)
kc_use_tr (simple bool)
momentum_len (simple int)
tr (SqueezeTracker)
f_bb_percent_b(b, val)
Bollinger %B — (val - lower) / (upper - lower)
Identical to BandSet.position but kept as named alias for callers
expecting %B convention (returns na on zero width vs clamp to [0,1]).
Parameters:
b (BandSet)
val (float)
f_bb_bandwidth(b)
Bollinger BandWidth — (upper - lower) / mid
Returns na for non-positive mid.
Parameters:
b (BandSet)
f_bbw_rank(b, len)
Historical Bandwidth percentile rank in [0,100]
Useful for "low BBW" regime detection.
Parameters:
b (BandSet)
len (simple int)
f_state_str(s)
Parameters:
s (series SqueezeState)
f_kind_str(k)
Parameters:
k (series BandKind)
f_breakout_str(d)
Parameters:
d (series BreakoutDir)
f_state_color(s)
Squeeze state → color (for visualization via VisLib)
Parameters:
s (series SqueezeState)
BandSet
BandSet — generic band envelope descriptor
Fields:
kind (series BandKind): BandKind enum
upper (series float): upper boundary
mid (series float): midline / basis
lower (series float): lower boundary
width (series float): upper - lower (cached)
SqueezeStatus
SqueezeStatus — output bundle from one squeeze evaluation
Fields:
state (series SqueezeState)
bb (BandSet)
kc_low (BandSet)
kc_mid (BandSet)
kc_high (BandSet)
momentum (series float)
bars_in_state (series int)
state_changed (series bool)
SqueezeTracker
SqueezeTracker — persistent state across bars
Fields:
last_state (series SqueezeState)
bars_in_state (series int)
last_change_bar (series int)
Removed:
f_calc_survival_bands(basis, dev, shift_z, prob_pct, mr_shift)
f_detect_squeeze(band_up, band_dn, price, damping)
f_detect_confluence(basis, fv, dev, tol_mult, min_lines)
f_covariance(x, y, len)
f_mahalanobis_4x4(z1, z2, z3, z4, var1, var2, var3, var4, cov12, cov13, cov14, cov23, cov24, cov34, ridge)
f_squeeze_mahal_features(bw_pct, innov_bw, innov_bw_mean, innov_bw_std, phi_div_score, z3_bwv)
ConfluenceCluster
Thư viện Pine
Theo đúng tinh thần TradingView, tác giả đã công bố mã Pine này như một thư viện mã nguồn mở để các lập trình viên Pine khác trong cộng đồng có thể tái sử dụng. Chúc mừng tác giả! Bạn có thể sử dụng thư viện này cho mục đích cá nhân hoặc trong các ấn phẩm mã nguồn mở khác, nhưng việc tái sử dụng mã này trong các ấn phẩm phải tuân theo Nội Quy.
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.
Thư viện Pine
Theo đúng tinh thần TradingView, tác giả đã công bố mã Pine này như một thư viện mã nguồn mở để các lập trình viên Pine khác trong cộng đồng có thể tái sử dụng. Chúc mừng tác giả! Bạn có thể sử dụng thư viện này cho mục đích cá nhân hoặc trong các ấn phẩm mã nguồn mở khác, nhưng việc tái sử dụng mã này trong các ấn phẩm phải tuân theo Nội Quy.
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.