PINE LIBRARY
Güncellendi

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)
Sürüm Notları
v2
Added Confluence label to identify strong Support and Resistance
Sürüm Notları
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)
Sürüm Notları
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)
Sürüm Notları
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)
Sürüm Notları
v6

Text color changed to Black
Sürüm Notları
v7

Added:
isBoxConfluent(_testBox, _allBoxes)
  Parameters:
    _testBox (box)
    _allBoxes (array<box>)
Sürüm Notları
v8

Added:
getConfluenceBoxes(_boxes)
  Parameters:
    _boxes (array<box>)
Sürüm Notları
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.
Sürüm Notları
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)
Sürüm Notları
v11

Removed:
isOverlappingBox(_boxes, _top, _bottom)

isBoxConfluent(_testBox, _allBoxes)

getConfluenceBoxes(_boxes)
Sürüm Notları
v12
Sürüm Notları
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)
Sürüm Notları
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)
Sürüm Notları
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)
Sürüm Notları
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
Sürüm Notları
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)
Sürüm Notları
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)
Sürüm Notları
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)

Feragatname

Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, alım satım veya diğer türden tavsiye veya öneriler anlamına gelmez ve teşkil etmez. Kullanım Koşulları bölümünde daha fazlasını okuyun.