RS: Market Profile

inversionflow Updated   
A Market Profile (time price opportunity) implementation with an option to mark a point of control (POC) based on volume.

Config: Hide default candles. Select a session time using exchange timezone. Experiment with tick multiplier value to achieve desired level of detail. Choose the symbols of your choice, e.g. squares or A-Z chars. For multiple sessions you will have to add additional instances of this script with a different time configuration.

Limitations: TradingView has a hard limit for the number of characters (500), if it's reached, label rendering stops. Try increasing tick multiplier value to reduce the number of labels rendered or reduce the window size.

  • Use symbols or A-Z chars for TPOs
  • Mark POC
  • Calculate Value Area (volume or time based)
  • Highlight single prints (SP)
  • Highlight VWAP
  • Show daily bar
  • Highlight Open and Close
  • Highlight current price row (during live market)
  • Highlight initial balance (IB)

Release Notes:
Removed unused text size options.
Release Notes:
Remove unused attribute.
Release Notes:
Cleanup unused code.
Release Notes:
Release Notes:
Update chart
Release Notes:
Make sure the script works on free accounts.
Release Notes:
  • Extend VAH/VAL and POC lines (disabled by default)
  • Mark period opening price, either use case swap or '0' character (disabled by default)

Release Notes:
Fix house rules violation
Release Notes:
Update the chart
Release Notes:
Bugfix: terminate extension lines even for 24h sessions
Release Notes:
  • Introduce weekly and monthly profiles
  • Add value area percentage input

Release Notes:
  • Add option to split the profile (available only if A-Za-z rendering is selected)
Release Notes:
Introduce a "Fixed" range timeframe (arbitrary start/end date profile)

Release Notes:
Add option to show volume numbers in "Fixed" market profile mode

Release Notes:
Add background for fixed range

Release Notes:
Improve closing price marking in A-Za-z profiles
Release Notes:
  • Add high/low extension lines (hidden by default)
  • Simplify lower TF logic (volume)
Release Notes:
Use all or nothing for VP
Release Notes:
Allow to show midpoint extension line (hidden by default).

Midpoint calculation algorithm can be either:
  • High/Low based (midpoint)
  • TPOs count based (similar count on both sides)

Release Notes:
Add an option to choose the time settings in a specific timezone (defaults to exchange timezone).
Release Notes:
Add possibility to render intraday profiles.
To use this feature, select Timeframe -> Intraday. Set desired Profile length in minutes value, the default is 60 (1 hour).
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 a publication is governed by House Rules. You can favorite it to use it on a chart.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?