PINE LIBRARY
Casa_VolumeProfileSession

Library "Casa_VolumeProfileSession"
Analyzes price and volume during regular trading hours to provide a session volume profile,
including Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL).
Calculates and displays these levels historically and for the developing session.
Offers customizable visualization options for the Value Area, POC, histogram, and labels.
Uses lower timeframe data for increased accuracy and supports futures sessions.
The number of rows used for the volume profile can be fixed or dynamically calculated based on the session's price range and the instrument's minimum tick increment, providing optimal resolution.
calculateEffectiveRows(configuredRows, dayHigh, dayLow)
Determines the optimal number of rows for the volume profile, either using the configured value or calculating dynamically based on price range and tick size
Parameters:
configuredRows (int): User-specified number of rows (0 means auto-calculate)
dayHigh (float): Highest price of the session
dayLow (float): Lowest price of the session
Returns: The number of rows to use for the volume profile
debug(vp, position)
Helper function to write some information about the supplied SVP object to the screen in a table.
Parameters:
vp (Object): The SVP object to debug
position (string): The position.* to place the table. Defaults to position.bottom_center
getLowerTimeframe()
Depending on the timeframe of the chart, determines a lower timeframe to grab volume data from for the analysis
Returns: The timeframe string to fetch volume for
get(volumeProfile, lowerTimeframeHigh, lowerTimeframeLow, lowerTimeframeVolume, lowerTimeframeTime, lowerTimeframeSessionIsMarket)
Populated the provided SessionVolumeProfile object with vp data on the session.
Parameters:
volumeProfile (Object): The SessionVolumeProfile object to populate
lowerTimeframeHigh (array<float>): The lower timeframe high values
lowerTimeframeLow (array<float>): The lower timeframe low values
lowerTimeframeVolume (array<float>): The lower timeframe volume values
lowerTimeframeTime (array<int>): The lower timeframe time values
lowerTimeframeSessionIsMarket (array<bool>): The lower timeframe session.ismarket values (that are futures-friendly)
drawPriorValueAreas(todaySessionVolumeProfile, extendYesterdayOverToday, showLabels, labelSize, pocColor, pocStyle, pocWidth, vahlColor, vahlStyle, vahlWidth, vaColor)
Given a SessionVolumeProfile Object, will render the historical value areas for that object.
Parameters:
todaySessionVolumeProfile (Object): The SessionVolumeProfile Object to draw
extendYesterdayOverToday (bool): Defaults to true
showLabels (bool): Defaults to true
labelSize (string): Defaults to size.small
pocColor (color): Defaults to #e500a4
pocStyle (string): Defaults to line.style_solid
pocWidth (int): Defaults to 1
vahlColor (color): The color of the value area high/low lines. Defaults to #1592e6
vahlStyle (string): The style of the value area high/low lines. Defaults to line.style_solid
vahlWidth (int): The width of the value area high/low lines. Defaults to 1
vaColor (color): The color of the value area background. Defaults to #00bbf911)
drawHistogram(volumeProfile, bgColor, showVolumeOnHistogram)
Given a SessionVolumeProfile object, will render the histogram for that object.
Parameters:
volumeProfile (Object): The SessionVolumeProfile object to draw
bgColor (color): The baseline color to use for the histogram. Defaults to #00bbf9
showVolumeOnHistogram (bool): Show the volume amount on the histogram bars. Defaults to false.
Object
Object Contains all settings and calculated values for a Volume Profile Session analysis
Fields:
numberOfRows (series int): Number of price levels to divide the range into. If set to 0, auto-calculates based on price range and tick size
valueAreaCoverage (series int): Percentage of total volume to include in the Value Area (default 70%)
trackDevelopingVa (series bool): Whether to calculate and display the Value Area as it develops during the session
valueAreaHigh (series float): Upper boundary of the Value Area - price level containing specified % of volume
pointOfControl (series float): Price level with the highest volume concentration
valueAreaLow (series float): Lower boundary of the Value Area
startTime (series int): Session start time in Unix timestamp format
endTime (series int): Session end time in Unix timestamp format
dayHigh (series float): Highest price of the session
dayLow (series float): Lowest price of the session
step (series float): Size of each price row (calculated as price range divided by number of rows)
pointOfControlLevel (series int): Index of the row containing the Point of Control
valueAreaHighLevel (series int): Index of the row containing the Value Area High
valueAreaLowLevel (series int): Index of the row containing the Value Area Low
lastTime (series int): Tracks the most recent timestamp processed
volumeRows (map<int, float>): Stores volume data for each price level row (key=row number, value=volume)
ltfSessionHighs (array<float>): Stores high prices from lower timeframe data
ltfSessionLows (array<float>): Stores low prices from lower timeframe data
ltfSessionVols (array<float>): Stores volume data from lower timeframe data
Analyzes price and volume during regular trading hours to provide a session volume profile,
including Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL).
Calculates and displays these levels historically and for the developing session.
Offers customizable visualization options for the Value Area, POC, histogram, and labels.
Uses lower timeframe data for increased accuracy and supports futures sessions.
The number of rows used for the volume profile can be fixed or dynamically calculated based on the session's price range and the instrument's minimum tick increment, providing optimal resolution.
calculateEffectiveRows(configuredRows, dayHigh, dayLow)
Determines the optimal number of rows for the volume profile, either using the configured value or calculating dynamically based on price range and tick size
Parameters:
configuredRows (int): User-specified number of rows (0 means auto-calculate)
dayHigh (float): Highest price of the session
dayLow (float): Lowest price of the session
Returns: The number of rows to use for the volume profile
debug(vp, position)
Helper function to write some information about the supplied SVP object to the screen in a table.
Parameters:
vp (Object): The SVP object to debug
position (string): The position.* to place the table. Defaults to position.bottom_center
getLowerTimeframe()
Depending on the timeframe of the chart, determines a lower timeframe to grab volume data from for the analysis
Returns: The timeframe string to fetch volume for
get(volumeProfile, lowerTimeframeHigh, lowerTimeframeLow, lowerTimeframeVolume, lowerTimeframeTime, lowerTimeframeSessionIsMarket)
Populated the provided SessionVolumeProfile object with vp data on the session.
Parameters:
volumeProfile (Object): The SessionVolumeProfile object to populate
lowerTimeframeHigh (array<float>): The lower timeframe high values
lowerTimeframeLow (array<float>): The lower timeframe low values
lowerTimeframeVolume (array<float>): The lower timeframe volume values
lowerTimeframeTime (array<int>): The lower timeframe time values
lowerTimeframeSessionIsMarket (array<bool>): The lower timeframe session.ismarket values (that are futures-friendly)
drawPriorValueAreas(todaySessionVolumeProfile, extendYesterdayOverToday, showLabels, labelSize, pocColor, pocStyle, pocWidth, vahlColor, vahlStyle, vahlWidth, vaColor)
Given a SessionVolumeProfile Object, will render the historical value areas for that object.
Parameters:
todaySessionVolumeProfile (Object): The SessionVolumeProfile Object to draw
extendYesterdayOverToday (bool): Defaults to true
showLabels (bool): Defaults to true
labelSize (string): Defaults to size.small
pocColor (color): Defaults to #e500a4
pocStyle (string): Defaults to line.style_solid
pocWidth (int): Defaults to 1
vahlColor (color): The color of the value area high/low lines. Defaults to #1592e6
vahlStyle (string): The style of the value area high/low lines. Defaults to line.style_solid
vahlWidth (int): The width of the value area high/low lines. Defaults to 1
vaColor (color): The color of the value area background. Defaults to #00bbf911)
drawHistogram(volumeProfile, bgColor, showVolumeOnHistogram)
Given a SessionVolumeProfile object, will render the histogram for that object.
Parameters:
volumeProfile (Object): The SessionVolumeProfile object to draw
bgColor (color): The baseline color to use for the histogram. Defaults to #00bbf9
showVolumeOnHistogram (bool): Show the volume amount on the histogram bars. Defaults to false.
Object
Object Contains all settings and calculated values for a Volume Profile Session analysis
Fields:
numberOfRows (series int): Number of price levels to divide the range into. If set to 0, auto-calculates based on price range and tick size
valueAreaCoverage (series int): Percentage of total volume to include in the Value Area (default 70%)
trackDevelopingVa (series bool): Whether to calculate and display the Value Area as it develops during the session
valueAreaHigh (series float): Upper boundary of the Value Area - price level containing specified % of volume
pointOfControl (series float): Price level with the highest volume concentration
valueAreaLow (series float): Lower boundary of the Value Area
startTime (series int): Session start time in Unix timestamp format
endTime (series int): Session end time in Unix timestamp format
dayHigh (series float): Highest price of the session
dayLow (series float): Lowest price of the session
step (series float): Size of each price row (calculated as price range divided by number of rows)
pointOfControlLevel (series int): Index of the row containing the Point of Control
valueAreaHighLevel (series int): Index of the row containing the Value Area High
valueAreaLowLevel (series int): Index of the row containing the Value Area Low
lastTime (series int): Tracks the most recent timestamp processed
volumeRows (map<int, float>): Stores volume data for each price level row (key=row number, value=volume)
ltfSessionHighs (array<float>): Stores high prices from lower timeframe data
ltfSessionLows (array<float>): Stores low prices from lower timeframe data
ltfSessionVols (array<float>): Stores volume data from lower timeframe data
Pine腳本庫
秉持 TradingView 一貫的共享精神,作者將此 Pine 程式碼發佈為開源庫,讓社群中的其他 Pine 程式設計師能夠重複使用。向作者致敬!您可以在私人專案或其他開源發佈中使用此庫,但在公開發佈中重複使用該程式碼需遵守社群規範。
Mupsje aka Casatropical
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。
Pine腳本庫
秉持 TradingView 一貫的共享精神,作者將此 Pine 程式碼發佈為開源庫,讓社群中的其他 Pine 程式設計師能夠重複使用。向作者致敬!您可以在私人專案或其他開源發佈中使用此庫,但在公開發佈中重複使用該程式碼需遵守社群規範。
Mupsje aka Casatropical
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。