OPEN-SOURCE SCRIPT

Session TPO Market Profile

By noop-noop
Updated
Introduction

Wikipedia:A Market Profile is an intra-day charting technique (price vertical, time/activity horizontal) devised by J. Peter Steidlmayer, a trader at the Chicago Board of Trade (CBOT), ca 1959-1985. Steidlmayer was seeking a way to determine and to evaluate market value as it developed in the day time frame. The concept was to display price on a vertical axis against time on the horizontal, and the ensuing graphic generally is a bell shape--fatter at the middle prices, with activity trailing off and volume diminished at the extreme higher and lower prices. In this structure he recognized the 'normal', Gaussian distribution he had been introduced to in college statistics.

Important : The market profile tool is designed to be used on the 30min timeframe, however, you can modify its parameters and use it on lower timeframes (15/10/5min)

This indicators displays the following information
  • Session open
  • TPO
  • Value area calculation zone
  • POC
  • Highlight of Single prints
  • Session High/Low
  • The current price (TPO Profile is often used isolated without any candlesticks on it)


Parameters
  • Session beginning configuration (not coded with a session input yet)
  • Number of candles to use for calculation (default 13 for a single session)
  • Extend yesterday's levels (VAH/VAL/POC)
  • Show/Hide Market profile calculation area (background color)
  • Bars number (number of rows that will be used to draw the profile)
  • Show/Hide TPO's
  • TPO Colors customization (For in/out of VA, VAL/VAH/POC/High/Low levels and single prints)
  • Show/Hide High/Low levels
  • Show/Hide VAL/VAH/POC Levels as lines
  • Enable/Disable Single prints highlighting
  • Value area size (as percent)
  • Show/Hide current price (corresponding to a line scaled on the "close" price)


Additional Notes
  • Each session is drawn when the day is over
  • To use as much space as possible, TPO's are not directly drawn on the area of their calculation (which can be confusing if you use candlesticks directly over it)
  • This script will probably be updated in the future (especially concerning its implementation which is a bit spaghetti coded for now).
  • If you have interesting suggestions about new features that are usual within market profile tools and missing from this script , don't hesitate to suggest it.

Release Notes
Update:
  • Letters numbers
  • The session calculation is now based on an extended characters set -> "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789{[|]}@$€£*", in order to support longer sessions on timeframes lower than 30min
Release Notes
Update:
  • Extended charset ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@$€£{}[]()*+-/=%&?! , allowing the script to calculates profile with up to 78 candlesticks in the history
  • "Display TPO as bars" parameter


New display mode :
snapshot
Release Notes
Update
  • Opening price of the configured session is now correctly scaled with a dedicated line

Release Notes
Update:
  • TPO size can now be defined by a ticks number
  • On option to scale TPO on a rounded value corresponding to the ticks number is set by default
  • You can now change the size of TPO letters (Tiny, Small, Normal) (default: Small)
Release Notes
Default ticks size now set to 25
Release Notes
Update:

  • Single prints can now be extended
Release Notes
Update:

- A basic initial balance implementation has been added (Only consider A and B periods, undepending on your timeframe for the moment)
- Closing Price mark
- Customizable Spacing between Letters
- VA zone is now highlighted
Release Notes
Few improvements
  • Close price displayed on the left
  • Total TPO added
  • Default colors modified
intradayliquiditymarketPOCprofilesingleprintsTPOTrend Analysisvaluearea

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?

Disclaimer