All scripts and analytic tools are as good as the data they are based on. If you have a crappie data than almost sure your analysis will be crapy or misleading.
Always verify data source quality
What was my surprise when I started looking at the volume data from the US market on TradingView. Below you can see charts with the Volume indicator (standard tool) from TradingView. Charts are presenting data from 21.04.2023. In columns we have 3 different assets, from different exchanges ; NYSE:JNJ, NYSE Arca:SPXS, NASDAQ:AAPL. In rows we have different intervals, above is 1D and below is 4H. Exchanges are working around 8h so on the top chart we will be haring 1 candle for day and 2 candles per day on bottom chart.
If we compare day close prices on both intervals than they are not equal. They usually differ by 1-2 cents. Not much, but hawing 2 close prices on an exchange is not possible. It’s even stranger if we compare volume data.
|4h – 1||347.413K||2.181M||4.805M|
|4h – 2||240.634K||727.181K||2.696M|
|4h 1+2||588.047K||2.908 M||7.501M|
So we see that Volume depends on the interval. The sum of the daily volume on April 21, 2023 for the 4H interval is significantly different from the daily volume from the 1D interval. For me it was mind blowing.
Can 5M + 3M be equal to 58M ?
Is TradingView trying to convince us that 5M + 3M == 58M ? Can data aggregation into different intervals changing total volume and prices?
Normally No, but TradingView has a feature that works differently for USA markets.
What is wrong with TradingView ?
On TradingView real-time exchange data are extra paid. TradingView assures that It’s an external limitation. To “overcome” this problem TradingView introduced a feature that mixed data from different data sources.
Currently I do not have subscription for US market, so on the screens you can see the data available for free users. For free users TradingView cannot show a real-time data for US main exchanges. Cboe BZX exchange is offering real-time data for free and they are used instead.
How this feature works ?
Cboe BZX data are displayed on all intraday intervals for users who do not have the corresponding data subscription. Daily based intervals display data that fully matches the official NASDAQ, NYSE and NYSE ARCA charts.
TradingView does not hide information about how it works, but also does not advertise it. You need to be aware of it to find information about it. For non-professional users this behavior is not obvious, probably most of them are not noticing the difference and are not aware of such feature.
If price differs by only a few cents, what's the problem?
I value transparency. For me assigning the data source as 4h-NYSE if it is really 4h-Cboe is intentionally misleading.
I’m also convinced that 1m interval charts will look different on Cboe and official NASDAQ (arbitrage is not that fast). It may be a real problem for day traders.
The problem arises with volume analysis. In the case of intraday data, we only receive information about a small part of the trading that takes place, most of the transactions are invisible to us. Analyzing only part of the data may lead to incorrect conclusions. This may be terribly confusing for people who are not aware.
A great example is the use of scripts from the "Volume Footprint" package, which will signal gaps in volume data and will not work properly.
Why not use data from Cboe BZX on all intervals?
As far as I know it’s impossible to use only data from “Cboe BZX”. I am afraid that this may be a deliberate action. I will paraphrase the opinion of TradingView support: “Everything is ok, it’s a feature. If you want consistent data, just buy a real-time subscription.”
This opinion closes the topic for me. This is a feature we should be aware of when using the TradingView platform.
Is this feature used for markets other than US?
I did not explore this issue further, but since the mechanism already exists, it can be used in many places.
Have a nice day and good luck in trading!
I made a mistake or you know a better solution? You judge the issues differently or you just want to give 5 for the work I do, write to firstname.lastname@example.org