PINE LIBRARY

SessionInfo

Updated
Library "SessionInfo"
Utility functions for session specific information like the bar index of the session.

inSession(spec) Returns true if the current bar is in the session specification.
  Parameters:
    spec: session.regular (default), session.extended or other time spec.
  Returns: True if the current is in session; otherwise false.

minutesToLen(minutes, multiple) Converts the number of minutes to a length to be used with indicators.
  Parameters:
    minutes: The number of minutes.
    multiple: The length multiplier.
  Returns: math.ceil(minutes * multiple / timeframe.multiplier)

bar(spec, res) Returns the intraday bar index. May not always map directly to time as a bars can be skipped.
  Parameters:
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = "1440").
  Returns: The integer index of the bar of the session.

isFirstBar(spec, res) Returns true if the current bar is the first one of the session.
  Parameters:
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = "1440").
  Returns: True if the current bar is the first one of the session.

wasLastBar(spec, res) Returns Returns true if the previous bar was the last of the session.
  Parameters:
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = "1440").
  Returns: True if was the last bar of the session.
Release Notes
v2

Added:
maxBars(spec, res) Returns maximum (usual) number of bars per day.
  Parameters:
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = "1440").
  Returns: The max (usual) number of bars per day.

maxMinutes(spec, res) Returns maximum (usual) number of minutes per day.
  Parameters:
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = "1440").
  Returns: The max (usual) number of minutes per day.

daysToBars(spec, res) Returns the number of bars equal to the number of days based upon usual session length.
  Parameters:
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = "1440").
  Returns: The number of bars representing the number of days.
Release Notes
v3

Added:
isIn(spec) Returns true if the current bar is in the session specification.
  Parameters:
    spec: session.regular (default), session.extended or other time spec.
  Returns: True if the current is in session; otherwise false.

isBefore(spec, res) Returns true if the bar is before before the session (default = regular) opens.
  Parameters:
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = timeframe.period).
  Returns: True if before the session.

isAfter(spec, res) Returns true if the bar is before before the session (default = regular) opens.
  Parameters:
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = timeframe.period).
  Returns: True if before the session.

firstBarOfDay(daysBack, spec, res) Returns the number bars in the past to find the first bar of the session of a given day.
  Parameters:
    daysBack: The number of days in the past to count the bars.
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = "1440").
  Returns: The number bars in the past to find the first bar of the session of a given day.

Removed:
inSession(spec) Returns true if the current bar is in the session specification.
Release Notes
v4

Added:
lastBarOfDay(daysBack, spec, res) Returns the number bars in the past to find the last bar of the session of a given day.
  Parameters:
    daysBack: The number of days in the past to count the bars.
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = "1440").
  Returns: The number bars in the past to find the last bar of the session of a given day.
Release Notes
v5
Release Notes
v6
Fixed bug in array initialization.
Release Notes
v7
Fixed bug in firstBarOfDay
Release Notes
v8 Improved timeframe detection and response.
Release Notes
v9 param name change and improved runtime error messages

Updated:
firstBarOfDay(daysPrior, spec, res) Returns the number bars in the past to find the first bar of the session of a given day.
  Parameters:
    daysPrior: The number of days in the past to count the bars.
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = '1440').
  Returns: The number bars in the past to find the first bar of the session of a given day.

lastBarOfDay(daysPrior, spec, res) Returns the number bars in the past to find the last bar of the session of a given day.
  Parameters:
    daysPrior: The number of days in the past to count the bars.
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = '1440').
  Returns: The number bars in the past to find the last bar of the session of a given day.
Release Notes
v10 Corrected issue with .maxBars()
Release Notes
v11
Improved performance by using profiler and optimizing where possible.

Added:
isNewDay()
  Returns true if the current bar is the first of a new day. Only useful for intraday timeframe.
  Returns: True if the current is in session; otherwise false.
BARbarindexfirstbarinsessionlastbarsessiontimesessions

Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House rules.

Disclaimer