PINE LIBRARY
ที่อัปเดต: 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
Release Note
v2Release Note
v3Release Note
v4Release Note
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)
Release Note
v6Added:
ConfluenceCluster
Fields:
level (series float)
count (series int)
Release Note
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
ไลบรารีไพน์
ด้วยเจตนารมณ์หลักของ TradingView ผู้เขียนได้เผยแพร่ Pine code นี้เป็นโอเพนซอร์สไลบรารีเพื่อให้ Pine โปรแกรมเมอร์คนอื่นในชุมชนของเราสามารถนำไปใช้ซ้ำได้ ต้องขอบคุณผู้เขียน! คุณสามารถใช้ไลบรารีนี้ในแบบส่วนตัวหรือในการเผยแพร่แบบโอเพนซอร์สอื่น ๆ แต่การนำโค้ดนี้ไปใช้ในการเผยแพร่ซ้ำจะต้องอยู่ภายใต้ กฎระเบียบการใช้งาน
คำจำกัดสิทธิ์ความรับผิดชอบ
ข้อมูลและบทความไม่ได้มีวัตถุประสงค์เพื่อก่อให้เกิดกิจกรรมทางการเงิน, การลงทุน, การซื้อขาย, ข้อเสนอแนะ หรือคำแนะนำประเภทอื่น ๆ ที่ให้หรือรับรองโดย TradingView อ่านเพิ่มเติมใน ข้อกำหนดการใช้งาน
ไลบรารีไพน์
ด้วยเจตนารมณ์หลักของ TradingView ผู้เขียนได้เผยแพร่ Pine code นี้เป็นโอเพนซอร์สไลบรารีเพื่อให้ Pine โปรแกรมเมอร์คนอื่นในชุมชนของเราสามารถนำไปใช้ซ้ำได้ ต้องขอบคุณผู้เขียน! คุณสามารถใช้ไลบรารีนี้ในแบบส่วนตัวหรือในการเผยแพร่แบบโอเพนซอร์สอื่น ๆ แต่การนำโค้ดนี้ไปใช้ในการเผยแพร่ซ้ำจะต้องอยู่ภายใต้ กฎระเบียบการใช้งาน
คำจำกัดสิทธิ์ความรับผิดชอบ
ข้อมูลและบทความไม่ได้มีวัตถุประสงค์เพื่อก่อให้เกิดกิจกรรมทางการเงิน, การลงทุน, การซื้อขาย, ข้อเสนอแนะ หรือคำแนะนำประเภทอื่น ๆ ที่ให้หรือรับรองโดย TradingView อ่านเพิ่มเติมใน ข้อกำหนดการใช้งาน