PINE LIBRARY

HTFBands

█ OVERVIEW

  Contains type and methods for drawing higher-timeframe bands of several types:
  • Bollinger bands
  • Parabolic SAR
  • Supertrend
  • VWAP

  By copy pasting ready made code sections to your script you can add as many multi-timeframe bands as necessary.

█ HOW TO USE

  Please see instructions in the code. (Important: first fold all sections of the script: press Cmd + K then Cmd + - (for Windows Ctrl + K then Ctrl + -)

█ FULL LIST OF FUNCTIONS AND PARAMETERS

atr2(length)
  An alternate ATR function to the `ta.atr()` built-in, which allows a "series float"
`length` argument.
  Parameters:
    length (float): (series int/float) Length for the smoothing parameter calculation.
  Returns: (float) The ATR value.

pine_supertrend2(factor, atrLength, wicks)
  An alternate SuperTrend function to `supertrend()`, which allows a "series float"
`atrLength` argument.
  Parameters:
    factor (float): (series int/float) Multiplier for the ATR value.
    atrLength (float): (series int/float) Length for the ATR smoothing parameter calculation.
    wicks (simple bool): (simple bool) Condition to determine whether to take candle wicks into account when
reversing trend, or to use the close price. Optional. Default is false.
  Returns: ([float, int]) A tuple of the superTrend value and trend direction.

method getDefaultBandQ1(bandType)
  For a given BandType returns its default Q1
  Namespace types: series BandTypes
  Parameters:
    bandType (series BandTypes)

method getDefaultBandQ2(bandType)
  For a given BandType returns its default Q2
  Namespace types: series BandTypes
  Parameters:
    bandType (series BandTypes)

method getDefaultBandQ3(bandType)
  For a given BandType returns its default Q3
  Namespace types: series BandTypes
  Parameters:
    bandType (series BandTypes)

method init(this, bandsType, q1, q2, q3, vwapAnchor)
  Initiates RsParamsBands for each band (used in htfUpdate() withi req.sec())
  Namespace types: RsParamsBands
  Parameters:
    this (RsParamsBands)
    bandsType (series BandTypes)
    q1 (float): (float) Depending on type: BB - length, SAR - AF start, ST - ATR's prd
    q2 (float): (float) Depending on type: BB - StdDev mult, SAR - AF step, ST - mult
    q3 (float): (float) Depending on type: BB - not used, SAR - AF max, ST - not used
    vwapAnchor (series VwapAnchors): (VwapAnchors) VWAP ahcnor

method init(this, bandsType, tf, showRecentBars, lblsShow, lblsMaxLabels, lblSize, lnMidClr, lnUpClr, lnLoClr, fill, fillClr, lnWidth, lnSmoothen)
  Initialises object with params (incl. input). Creates arrays if any.
  Namespace types: HtfBands
  Parameters:
    this (HtfBands)
    bandsType (series BandTypes): (BandTypes) Just used to enable/disable - if BandTypes.none then disable )
    tf (string): (string) Timeframe
    showRecentBars (int): (int) Only show over this number of recent bars
    lblsShow (bool): (bool) Show labels
    lblsMaxLabels (int): (int) Max labels to show
    lblSize (string): (string) Size of the labels
    lnMidClr (color): (color) Middle band color
    lnUpClr (color): (color) Upper band color
    lnLoClr (color): (color) Lower band color
    fill (bool)
    fillClr (color): (color) Fill color
    lnWidth (int): (int) Line width
    lnSmoothen (bool): (bool) Smoothen the bands

method htfUpdateTuple(rsPrms, repaint)
  (HTF) Calculates Bands within request.security(). Returns tuple [middleBand, upperBand, lowerBand]. If any or all of the bands are not available returns na as their value.
  Namespace types: RsParamsBands
  Parameters:
    rsPrms (RsParamsBands): (RsParamsBands) Parameters of the band.
    repaint (bool): (bool) If true does not update on realtime bars.
  Returns: A tuple [HTF bar_index, middle, upper, lower, direction] (corresponds to fields in RsReturnBands)

method importRsRetTuple(this, htfBi, mid, up, lo, dir)
  Imports a tuple returned from req.sec() into an HtfBands object
  Namespace types: HtfBands
  Parameters:
    this (HtfBands): (HtfBands) Object to import to
    htfBi (int): (float) Higher timeframe's bar index (Default = na)
    mid (float)
    up (float): (float) Value of upper band (Default = na)
    lo (float): (float) Value of lower band (Default = na)
    dir (int): (int) Direction (for bands like Parabolic SAR) (Default = na)

method addUpdDrawings(this, rsPrms)
  Draws band's labels
  Namespace types: HtfBands
  Parameters:
    this (HtfBands)
    rsPrms (RsParamsBands)

method update(this)
  Sets band's values to na on intrabars if `smoothen` is set.
  Namespace types: HtfBands
  Parameters:
    this (HtfBands)

method newRsParamsBands(this)
  A wraper for RsParamsBands.new()
  Namespace types: LO_A
  Parameters:
    this (LO_A)

method newHtfBands(this)
  A wraper for HtfBands.new()
  Namespace types: LO_B
  Parameters:
    this (LO_B)

RsParamsBands
  Used to pass bands' params to req.sec()
  Fields:
    bandsType (series BandTypes): (enum BandTypes) Type of the band (BB, SAR etc.)
    q1 (series float): (float) Depending on type: BB - length, SAR - AF start, ST - ATR's prd
    q2 (series float): (float) Depending on type: BB - StdDev mult, SAR - AF step, ST - mult
    q3 (series float): (float) Depending on type: BB - not used, SAR - AF max, ST - not used
    vwapAnchor (series VwapAnchors)

RsReturnBands
  Used to return bands' data from req.sec(). Params of the bands are in RsParamsBands
  Fields:
    htfBi (series float): (float) Higher timeframe's bar index (Default = na)
    upBand (series float): (float) Value of upper band (Default = na)
    loBand (series float): (float) Value of lower band (Default = na)
    midBand (series float): (float) Value of middle band (Default = na)
    dir (series int): (float) Direction (for bands like Parabolic SAR) (Default = na)

BandsDrawing
  Contains plot visualization parameters and stores and keeps track of lines, labels and other visual objects (not plots)
  Fields:
    lnMidClr (series color): (color) Middle band color
    lnLoClr (series color): (color) Lower band color
    lnUpClr (series color): (color) Upper band color
    fillUpClr (series color)
    fillLoClr (series color)
    lnWidth (series int): (int) Line width
    lnSmoothen (series bool): (bool) Smoothen the bands
    showHistory (series bool): (bool) If true show bands lines, otherwise only current level
    showRecentBars (series int): (int) Only show over this number of recent bars
    arLbl (array<label>): (label Labels
    lblsMaxLabels (series int): (int) Max labels to show
    lblsShow (series bool): (bool) Show labels
    lblSize (series string): (string) Size of the labels

HtfBands
  Calcs and draws HTF bands
  Fields:
    rsRet (RsReturnBands): (RsReturnBands) Bands' values
    rsRetNaObj (RsReturnBands): (RsReturnBands) Dummy na obj for returning from request.security()
    rsPrms (RsParamsBands): (RsParamsBands) Band parameters (for htfUpdate() called in req.sec() )
    drw (BandsDrawing): (BandsDrawing) Contains plot visualization parameters and stores and keeps track of lines, labels and other visual objects (not plots)
    enabled (series bool): (bool) Toggles bands on/off
    tf (series string): (string) Timeframe

LO_A
  LO Library object, whose only purpose is to serve as a shorthand for library name in script code.
  Fields:
    dummy (series string)

LO_B
  LO Library object, whose only purpose is to serve as a shorthand for library name in script code.
  Fields:
    dummy (series string)
bollingersbandSARsupertrendtechindicatorvwapbands

ספריית Pine

ברוח TradingView אמיתית, המחבר פרסם קוד Pine זה כספריית קוד פתוח כדי שמתכנתי Pine אחרים מהקהילה שלנו יוכלו לעשות בו שימוש חוזר. כל הכבוד למחבר! אתה יכול להשתמש בספרייה זו באופן פרטי או בפרסומים אחרים בקוד פתוח, אך שימוש חוזר בקוד זה בפרסום כפוף לכללי הבית.

כתב ויתור