Volume Profile [Makit0]


Volume Profile is suitable for day and swing trading on stock and futures markets, is a volume based indicator that gives you 6 key values for each session: POC , VAH , VAL , profile HIGH, LOW and MID levels. This project was born on the idea of plotting the RTH sessions Value Areas for /ES in an automated way, but you can select between 3 different sessions: RTH , GLOBEX and FULL sessions.
Some basic concepts:
- Volume Profile calculates the total volume for the session at each price level and give us market generated information about what price and range of prices are the most traded (where the value is)
- Value Area ( VA ): range of prices where 70% of the session volume is traded
- Value Area High ( VAH ): highest price within VA
- Value Area Low ( VAL ): lowest price within VA
- Point of Control ( POC ): the most traded price of the session (with the most volume )
- Session HIGH, LOW and MID levels are also important

There are a huge amount of things to know of Market Profile and Auction Theory like types of days, types of openings, relationships between value areas and openings... for those interested Jim Dalton's work is the way to come
I'm in my 2nd trading year and my goal for this year is learning to daytrade the futures markets thru the lens of Market Profile

For info on Volume Profile: TV Volume Profile wiki page at
For info on Market Profile and Market Auction Theory: Jim Dalton's book Mind over markets (this is a MUST)

BE AWARE: this indicator is based on the current chart's time interval and it only plots on 1, 2, 3, 5, 10, 15 and 30 minutes charts.
This is the correlation table TV uses in the Volume Profile Session Volume indicator (from the wiki above)
Chart Indicator
1 - 5 1
6 - 15 5
16 - 30 10
31 - 60 15
61 - 120 30
121 - 1D 60
This indicator doesn't follow that correlation, it doesn't get the volume data from a lower timeframe, it gets the data from the current chart resolution.

- 6 key values for each session: POC (solid yellow), VAH (solid red), VAL (solid green), profile HIGH (dashed silver ), LOW (dashed silver ) and MID (dotted silver ) levels
- 3 sessions to choose for: RTH , GLOBEX and FULL
- select the numbers of sessions to plot by adding 12 hours periods back in time
- show/hide POC
- show/hide VAH & VAL
- show/hide session HIGH, LOW & MID levels
- highlight the periods of time out of the session ( silver )
- extend the plotted lines all the way to the right, be careful this can turn the chart unreadable if there are a lot of sessions and lines plotted

- Session: select between RTH (8:30 to 15:15 CT ), GLOBEX (17:00 to 8:30 CT ) and FULL (17:00 to 15:15 CT ) sessions. RTH by default
- Last 12 hour periods to show: select the deph of the study by adding periods, for example, 60 periods are 30 natural days and around 22 trading days. 1 period by default
- Show POC (Point of Control): show/hide POC line. true by default
- Show VA (Value Area High & Low): show/hide VAH & VAL lines. true by default
- Show Range (Session High, Low & Mid): show/hide session HIGH, LOW & MID lines. true by default
- Highlight out of session: show/hide a silver shadow over the non session periods. true by default
- Extension: Extend all the plotted lines to the right. false by default

- By default this indicator plots all the levels for the last RTH session within the last 12 hours, if there is no plot try to adjust the 12 hours periods until the seesion and the periods match
- For Globex/Full sessions just select what you want from the dropdown menu and adjust the periods to plot the values
- Show or hide the levels you want with the 3 groups: POC line, VA lines and Session Range lines
- The highlight and extension options are for a better visibility of the levels as POC or VAH/VAL

@watsonexchange for all the help, ideas and insights on this and the last two indicators (Market Delta & Market Internals) I'm working on my way to a 'clean chart' but for me it's not an easy path
@PineCoders for all the amazing stuff they do and all the help and tools they provide, in special the Script-Stopwatch at that was key in lowering this indicator's execution time
All the TV and Pine community, open source and shared knowledge are indeed the best way to help each other

IF YOU REALLY LIKE THIS WORK, please send me a comment or a private message and TELL ME WHAT you trade, HOW you trade it and your FAVOURITE SETUP for pulling out money from the market in a consistent basis, I'm learning to trade (this is my 2nd year) and I need all the help I can get

Feb 13
- fixed the starting of globex and full sessions on sunday
Feb 15
- added Kolkata cash session
Mar 17
릴리즈 노트: UPDATED VERSION: v0.5.3beta
- allow calculation only once per bar at barstate.isconfirmed
- fixed POC and VA calculations
- added version to short title
즐겨찾기 스크립트에서 빼기 즐겨찾기 스크립트에 넣기


This is a great indicator, very useful as well, just one question: how can I add the settlement of the RTH to the code, that would make this indicator my favorite ever, also do you think is possible to add the pivot points?
makit0 SimpleTrendTrading
@SimpleTrendTrading, Thanks for your words, I really apreciate it :D
To add the settlement you need to get the close price for the day with the security function, the exchange after settling the price for the day, sends the data to (in this case) TradingView and this data is the close price for the daily candle. How can you do this in the code? I'm thinking of maybe getting the close for the day with 'security', getting the first candle after RTH close and in that iteration plot a shape or a char in the previous candle (last RTH candle) at the daily close level.
In regards of the pivot points, it can be coded indeed, but I think it's better for this indicator to not overcharge the code, it has a nested 'for' and the resources it consume are huge, you can see that in the time it takes to plot several 12 hours periods, so I think it's better to have another indicator to plot pivot points instead of having all funcionality in this one.
Thanks for your words and the settlement idea, I'm adding it in my TODO list: "mark daily open and close"
An interstate's in creating a TPO Script? Trading view said they would do this 3-4 years ago and never did. TPO/ order flow is the only way to trade. You mention Jim Dalton, but he is on record saying that volume alone POC, etc... he does not watch at all, but rather the 30 min time price opportunity is what is key. Thanks!
makit0 adag777
@adag777, Hi! I'm currently developing the update of my Squeeze_Pro implementation, and after that I have several projects on queue, a complete TPO Market Profile is not one of them but serveral will be based on Jim Dalton's work, that said, the data avaiable on Pine is limited, we don't have access to volume by tick data so all we can do as programmers is an aproximation taking volume by time and divide it by a determined number.
Maybe I could considet it after I finish all the other things, but my time is limited and I'm trying to dedicate more time to trading and less to coding...
Thanks for your interest! :D
Not working... Not showing any line.
makit0 bhavasarhemang
@bhavasarhemang, Hi, can you tell me the ticker you are using? Thanks!
I am also having troube getting the profile to chart ticker ES1! continous contract. Thanks chart looks real clean.
makit0 ContractKiller0311
@ContractKiller0311, it's working OK for me, this is ES1! right now:

Can you tell me the ticker and the parameters you are using in the indicator?
Thanks! :D

I am have tried using ES1! and ESM2020 on 1,5,15, and 30 minute charts. I don't see the profile ploted on the chart you posted. I don't have tradingview connected to a real time data fee I am kind of shopping platforms right now. Do you think that could be the issue? Thanks!
makit0 ContractKiller0311
@ContractKiller0311, just made this screenshot, without login in TradingView so no real time feed, and the indicator plots OK. I'm using a 10 for the 'periods' parameter, so if you are not getting lines to plot try adjusting the 'Last 12 hour periods to show' parameter, make it bigger.
Tell me something after you try, this is working just fine for me and it has to work for you as well.
홈으로 스탁 스크리너 포렉스 스크리너 크립토 스크리너 이코노믹 캘린더 사용안내 차트 특징 프라이싱 프렌드 리퍼하기 하우스룰(내부규정) 헬프 센터 웹사이트 & 브로커 솔루션 위젯 차팅 솔루션 라이트웨이트 차팅 라이브러리 블로그 & 뉴스 트위터
프로화일 프로화일설정 계정 및 빌링 프렌드 리퍼하기 나의 서포트 티켓 헬프 센터 공개아이디어 팔로어 팔로잉 비밀메시지 채팅 로그아웃