PINE LIBRARY
Cập nhật

BoxesLib

599
Library "BoxesLib"

isOverlappingBox(_boxes, _top, _bottom)
  Parameters:
    _boxes (array<box>)
    _top (float)
    _bottom (float)

isTooCloseBox(_boxes, _top, _bottom, zoneProximityPct)
  Parameters:
    _boxes (array<box>)
    _top (float)
    _bottom (float)
    zoneProximityPct (float)

createBox(_boxes, _top, _bottom, _leftBarIndex, _color, _txt, _is_breakout, numberLimit, zoneProximityPct, currentClose, isConfirmed)
  Parameters:
    _boxes (array<box>)
    _top (float)
    _bottom (float)
    _leftBarIndex (int)
    _color (color)
    _txt (string)
    _is_breakout (bool)
    numberLimit (int)
    zoneProximityPct (float)
    currentClose (float)
    isConfirmed (bool)

manageBoxes(_boxes, _is_breakout, currentClose, isConfirmed)
  Parameters:
    _boxes (array<box>)
    _is_breakout (bool)
    currentClose (float)
    isConfirmed (bool)
Phát hành các Ghi chú
v2
Added Confluence label to identify strong Support and Resistance
Phát hành các Ghi chú
v3

Updated:
createBox(_boxes, _boxTexts, _top, _bottom, _leftBarIndex, _color, _txt, _is_breakout, numberLimit, zoneProximityPct, currentClose, isConfirmed)
  Parameters:
    _boxes (array<box>)
    _boxTexts (array<string>)
    _top (float)
    _bottom (float)
    _leftBarIndex (int)
    _color (color)
    _txt (string)
    _is_breakout (bool)
    numberLimit (int)
    zoneProximityPct (float)
    currentClose (float)
    isConfirmed (bool)
Phát hành các Ghi chú
v4

Updated:
createBox(_boxes, _boxTexts, _isConfluence, _top, _bottom, _leftBarIndex, _color, _txt, _is_breakout, numberLimit, zoneProximityPct, currentClose, isConfirmed)
  Parameters:
    _boxes (array<box>)
    _boxTexts (array<string>)
    _isConfluence (array<bool>)
    _top (float)
    _bottom (float)
    _leftBarIndex (int)
    _color (color)
    _txt (string)
    _is_breakout (bool)
    numberLimit (int)
    zoneProximityPct (float)
    currentClose (float)
    isConfirmed (bool)
Phát hành các Ghi chú
v5

Updated:
createBox(_boxes, _top, _bottom, _leftBarIndex, _color, _txt, _is_breakout, numberLimit, zoneProximityPct, currentClose, isConfirmed, confluenceColor)
  Parameters:
    _boxes (array<box>)
    _top (float)
    _bottom (float)
    _leftBarIndex (int)
    _color (color)
    _txt (string)
    _is_breakout (bool)
    numberLimit (int)
    zoneProximityPct (float)
    currentClose (float)
    isConfirmed (bool)
    confluenceColor (color)
Phát hành các Ghi chú
v6

Text color changed to Black
Phát hành các Ghi chú
v7

Added:
isBoxConfluent(_testBox, _allBoxes)
  Parameters:
    _testBox (box)
    _allBoxes (array<box>)
Phát hành các Ghi chú
v8

Added:
getConfluenceBoxes(_boxes)
  Parameters:
    _boxes (array<box>)
Phát hành các Ghi chú
v9
What it does (for your users):

Overlap check (isOverlappingBox): blocks new boxes if they geometrically overlap existing ones.
Proximity check (isTooCloseBox): blocks near-duplicates within zoneProximityPct.
Confluence detection (isBoxConfluent / getConfluenceBoxes): a box is confluent only if another box with different bounds strictly overlaps it (self is skipped).
Creation (createBox):
If no overlap and not too close → create normal box.
If overlap or too close → recolor the existing overlapping/near boxes to the confluence color; do not add a new box.
Enforces capacity and deletes broken boxes against direction.
Maintenance (manageBoxes): keeps boxes aligned to the latest bar and removes invalidated boxes.
Phát hành các Ghi chú
v10

Updated:
createBox(_boxes, _top, _bottom, _leftBarIndex, _color, _txt, _is_breakout, numberLimit, currentClose, isConfirmed, confluenceColor)
  Parameters:
    _boxes (array<box>)
    _top (float)
    _bottom (float)
    _leftBarIndex (int)
    _color (color)
    _txt (string)
    _is_breakout (bool)
    numberLimit (int)
    currentClose (float)
    isConfirmed (bool)
    confluenceColor (color)

Removed:
isTooCloseBox(_boxes, _top, _bottom, zoneProximityPct)
Phát hành các Ghi chú
v11

Removed:
isOverlappingBox(_boxes, _top, _bottom)

isBoxConfluent(_testBox, _allBoxes)

getConfluenceBoxes(_boxes)
Phát hành các Ghi chú
v12
Phát hành các Ghi chú
v13

Added:
manageBoxesWithBreakRetest(_boxes, _top, _bottom, _isResistance, currentClose, resistanceBreachUp, resistanceBreachDown, supportBreachDown, supportBreachUp, resistanceRetestCrossback, supportRetestCrossback, maxRetestBars, maxConfirmationBars)
  Parameters:
    _boxes (array<BoxState>): Array of BoxState objects
    _top (float): Top level of box
    _bottom (float): Bottom level of box
    _isResistance (bool): True if box is resistance (false if support)
    currentClose (float): Current closing price - used to validate decisive breaks
    resistanceBreachUp (bool): Crossover signal for resistance (ta.crossover called on every bar globally)
    resistanceBreachDown (bool): Crossunder signal for resistance (ta.crossunder called on every bar globally)
    supportBreachDown (bool): Crossunder signal for support (ta.crossunder called on every bar globally)
    supportBreachUp (bool): Crossover signal for support (ta.crossover called on every bar globally)
    resistanceRetestCrossback (bool): Crossunder signal when price returns to resistance
    supportRetestCrossback (bool): Crossover signal when price returns to support
    maxRetestBars (int): Maximum bars to detect retest (like input_retValid) - limits retest window
    maxConfirmationBars (int): Bars required to confirm a breach (default 2)

countActiveBreakovers(_boxes)
  Parameters:
    _boxes (array<BoxState>)

countRetested(_boxes)
  Parameters:
    _boxes (array<BoxState>)

getMostRecentBreakout(_boxes)
  Parameters:
    _boxes (array<BoxState>)

BoxState
  BoxState Tracks the state of a box through its lifecycle
  Fields:
    boxObj (series box)
    isBreakout (series bool): Whether this box represents a breakout (true) or retest (false)
    barsBreached (series int): Number of bars since breach occurred
    hasRetested (series bool): Whether price has retested this level after breach
    breachDirection (series int): Direction of breach: 1 (up), -1 (down), 0 (none)
Phát hành các Ghi chú
v14

Added:
manageBoxesWithLabels(_boxes, _top, _bottom, _isResistance, currentClose, resistanceBreachUp, resistanceBreachDown, supportBreachDown, supportBreachUp, resistanceRetestCrossback, supportRetestCrossback, maxRetestBars, maxConfirmationBars, showBreachLabel, showRetestLabel, breachLabelColor, retestLabelColor)
  Parameters:
    _boxes (array<BoxState>): Array of BoxState objects to track
    _top (float): Top level of support/resistance
    _bottom (float): Bottom level of support/resistance
    _isResistance (bool): True for resistance, false for support
    currentClose (float): Current close price - validates decisive breaks
    resistanceBreachUp (bool): Crossover signal for resistance breakthrough
    resistanceBreachDown (bool): Crossunder signal for resistance invalidation
    supportBreachDown (bool): Crossunder signal for support breakthrough
    supportBreachUp (bool): Crossover signal for support invalidation
    resistanceRetestCrossback (bool): Retest signal for resistance
    supportRetestCrossback (bool): Retest signal for support
    maxRetestBars (int): Maximum bars to detect retest - controls retest window
    maxConfirmationBars (int): Bars required to confirm breach - validates break duration
    showBreachLabel (bool): Whether to display "Breakout" labels
    showRetestLabel (bool): Whether to display "Retest" labels - determines label visibility
    breachLabelColor (color): Color for breakout labels
    retestLabelColor (color): Color for retest labels and retest box coloring - applies to both label and box

Updated:
BoxState
  BoxState Tracks the state of a box through its lifecycle
  Fields:
    boxObj (series box)
    isBreakout (series bool)
    barsBreached (series int)
    hasRetested (series bool)
    breachDirection (series int)
    breachLabel (series label)
    retestLabel (series label)
    retestColor (series color)

Removed:
manageBoxesWithBreakRetest(_boxes, _top, _bottom, _isResistance, currentClose, resistanceBreachUp, resistanceBreachDown, supportBreachDown, supportBreachUp, resistanceRetestCrossback, supportRetestCrossback, maxRetestBars, maxConfirmationBars)
Phát hành các Ghi chú
v15

Added:
countActiveBoxes(_boxes)
  Parameters:
    _boxes (array<box>)

Updated:
BoxState
  BoxState Tracks the state of a box through its lifecycle
  Fields:
    boxObj (series box)
    isBreakout (series bool)
    barsBreached (series int)
    hasRetested (series bool)
    breachDirection (series int)

Removed:
manageBoxesWithLabels(_boxes, _top, _bottom, _isResistance, currentClose, resistanceBreachUp, resistanceBreachDown, supportBreachDown, supportBreachUp, resistanceRetestCrossback, supportRetestCrossback, maxRetestBars, maxConfirmationBars, showBreachLabel, showRetestLabel, breachLabelColor, retestLabelColor)

countActiveBreakovers(_boxes)

countRetested(_boxes)

getMostRecentBreakout(_boxes)
Phát hành các Ghi chú
v16

Updated:
createBox(_boxes, _top, _bottom, _leftBarIndex, _color, _txt, _is_breakout, numberLimit, currentClose, isConfirmed, confluenceColor)
  Create box with overlap/confluence detection and capacity control.
On overlap: existing box recolored + marked, new box NOT created.
  Parameters:
    _boxes (array<box>): Array of managed boxes
    _top (float): Box top price
    _bottom (float): Box bottom price
    _leftBarIndex (int): Left bar index
    _color (color): Box color
    _txt (string): Box tooltip text
    _is_breakout (bool): True for support (breakout), false for resistance (breakdown)
    numberLimit (int): Max boxes to keep
    currentClose (float): Current close price for invalidation
    isConfirmed (bool): Only act on confirmed bars
    confluenceColor (color): Color for overlapping (confluence) boxes
  Returns: box ID if created, na if overlap detected

manageBoxes(_boxes, _is_breakout, currentClose, isConfirmed)
  Keep boxes right-aligned to current bar, remove when broken
  Parameters:
    _boxes (array<box>): Array of managed boxes
    _is_breakout (bool): True for support, false for resistance
    currentClose (float): Current close price
    isConfirmed (bool): Only remove on confirmed bars

Removed:
countActiveBoxes(_boxes)

BoxState
  BoxState Tracks the state of a box through its lifecycle
Phát hành các Ghi chú
v17

Updated:
createBox(_boxes, _top, _bottom, _leftBarIndex, _color, _txt, _is_breakout, numberLimit, currentClose, isConfirmed, confluenceColor)
  Create box with overlap/confluence detection and capacity control
  Parameters:
    _boxes (array<box>)
    _top (float)
    _bottom (float)
    _leftBarIndex (int)
    _color (color)
    _txt (string)
    _is_breakout (bool)
    numberLimit (int)
    currentClose (float)
    isConfirmed (bool)
    confluenceColor (color)

manageBoxes(_boxes, _is_breakout, currentClose, isConfirmed)
  Keep boxes right-aligned to current bar, remove when broken
  Parameters:
    _boxes (array<box>)
    _is_breakout (bool)
    currentClose (float)
    isConfirmed (bool)
Phát hành các Ghi chú
v18

Updated:
createBox(_boxes, _top, _bot, _left, _col, _txt, _isBo, _cap, _close, _conf, _confCol)
  Parameters:
    _boxes (array<box>)
    _top (float)
    _bot (float)
    _left (int)
    _col (color)
    _txt (string)
    _isBo (bool)
    _cap (int)
    _close (float)
    _conf (bool)
    _confCol (color)

manageBoxes(_boxes, _isBo, _close, _conf)
  Parameters:
    _boxes (array<box>)
    _isBo (bool)
    _close (float)
    _conf (bool)
Phát hành các Ghi chú
v19

Updated:
createBox(_boxes, _top, _bot, _left, _bgCol, _borderCol, _txtCol, _strongBgCol, _strongBorderCol, _txt, _cap, _isBo, _conf, _close)
  Parameters:
    _boxes (array<box>)
    _top (float)
    _bot (float)
    _left (int)
    _bgCol (color)
    _borderCol (color)
    _txtCol (color)
    _strongBgCol (color)
    _strongBorderCol (color)
    _txt (string)
    _cap (int)
    _isBo (bool)
    _conf (bool)
    _close (float)

manageBoxes(_boxes, _isBo, _close, _conf, _extendRight)
  Parameters:
    _boxes (array<box>)
    _isBo (bool)
    _close (float)
    _conf (bool)
    _extendRight (bool)

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.