Market Profile Visible Range

1) surprisingly, it's the first MP Visible Range script on TV;
2) This one doesn't use any bagging/binning*, instead each row represents the time spent on the actual minimal price steps (aka ticks).
The script will be further extended with usual market profile related functionally in future updates. At this point we have:
- Profile itself (each row represents how many bars touch the given price);
- Mode of the profile (called POC)**;
* Still it will be introduced in future when I will find / design the proper aggregating technique. It is vital for processing very wide price ranges (for example, 500 days on ES futures).
** The script correctly calculates POC by finding all the modes in the data & choosing the closest one to data's midrange.
For this kind of technical instrument finally it was more convenient to use Pine Script 5 (btw it's my first Pine 5).
Basically this script is a side-effect of another R&D I'm doing, the stuff is useful tho so let's go.
By choosing length we both specify the amount of data to be processed & the profile's location screen-wise. It's pretty cool and & useful, on my screen it's always almost touching the left side and still always visible.
The code is heavily commented in order to be understood fast, nothing fantastic, just a lil patience required this time.
Rationale
Market & volume profiles are well known concepts, lotta info available, the most important point of all that is that MP is just another way of visualizing data that lets you notice things you don't usually notice on sequential charts. From my side I can only add that it's better to use your own brain for thinking and reconsidering using volume profile in all the cases, especially on decentralized markets (unless you're aggregating ALL the volume data from everywhere, including options, OTC etc).
Here is it, for you
After a lil thought I decided to use ceiling function and then rounding by orders of magnitude. It makes sense, in case of using normal rounding or flooring we can end up with histogram building at zero price, just imagine what can happen if an asset trades close to zero... Then, the steps by orders of magnitude make sense as well, we don't introduce any arbitrary rounding and stick to math nature.
P.S.: huge thanks to QuantNomad for rounding function, thank god at least I didn't have to do even this myself xD
- Aggregate. When this checkbox is checked, no ceiling occurs, you see histogram tied to actual ticks.
- Digits. Allows you to turn in aggregation, minding you checked off the previously mention setting.
Tbf, I havn't tested it yet on assets with exotic tick sizes such as ZB, but cmon, otherwise it's all cool!
- max_bars_back;
- aggregation formula;
New:
- Now the profile can be placed on the right side of the screen;
- Offset parameter will help to fine-tune the profile's' position.
It terms of code, now every even row is a box, and every odd row is a line.
Has Slavic engineering gone too far this time?
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Per un accesso rapido a un grafico, aggiungi questo script ai tuoi preferiti: per saperne di più clicca qui.
Declinazione di responsabilità
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Per un accesso rapido a un grafico, aggiungi questo script ai tuoi preferiti: per saperne di più clicca qui.