OPEN-SOURCE SCRIPT
Telah dikemas kini Contested Volume Bubbles

█ OVERVIEW
Contested Volume Bubbles marks bars where both sides of the trade committed unusually hard, drawing a bubble at the price where the fight actually happened. It measures contested volume — the volume committed by whichever side lost the bar.
In practice it is used to find areas of interest. Bubbles cluster at prices where the two sides repeatedly disagreed, and those levels often matter again on a return. A large bubble late in an extended move reads differently: a push meeting real opposition rather than clean continuation, which is the shape exhaustion usually takes.
█ CONCEPTS
Contested volume
For each bar, contested volume is the smaller of the two sides:
contested = min(buy volume, sell volume)
Heavy volume that resolves cleanly in one direction gives you a low number. The same volume with both sides pushing and neither finishing ahead gives you a high one.
It's also exactly complementary to directional volume:
contested = (total volume − total delta) ÷ 2
Contested volume, total volume and directional volume are three views of the same thing. You can trigger on one and size the bubble by another, which is where most of the flexibility comes from.
Lower timeframe sampling
You can't get any of this off a chart bar. A candle that closes mid-range looks balanced. The activity underneath it may have been not have been: heavy pushes both ways that happened to cancel by the close.
So every candle gets broken into as many as twenty lower-timeframe samples and measured piece by piece. The useful part is placement. The bubble lands on the section of the candle that carried the fight, so it sits at a price that actually traded instead of an average of the bar.
█ TIME OF DAY NORMALIZATION
Normally, volume is heavy at the open, declines through the morning, flat around midday, building into the close. Anything that compares a bar to the bars right behind it will be inherently flawed since volume activity shifts throughout the session.
Time Of Day normalization gets rid of this issue. Instead of comparing a bar to whatever came before it, it compares the bar to what that clock slot USUALLY looks like. This minute against this minute, from previous sessions.
Session level
Time Of Day normalization can also account for how busy today is. Turn the setting down and a bubble means the bar was unusual for the time of day. Turn it up and the bar has to be unusual for the time of day and for today's own level.
There's a Standard mode as well, which ranks each bar against the bars right behind it. It needs no history and works on any chart type, and it carries the intraday bias described above.
█ WHAT EACH BUBBLE TELLS YOU
Three things drive each bubble:
• Whether it appears — If it appears, it says the bar's level of contested volume was unusual based on your selected percentile rank.
• Size — how big the bar's magnitude source is compared to the last 100 bars. By default, its Total Delta Volume. Other options are below.
Magnitude sources
• Total delta volume — Total cumulative volume delta.
• Contested volume — Total contested volume
• Total volume — Simply how much traded.
• Net delta — how directional the bar was end to end, ignoring churn that reversed inside it.
Hover any bubble and the tooltip gives you all four, the trigger rank, and in Time Of Day mode both the slot's normal level and how today is running against it.
█ NOTES
• Time Of Day needs a few sessions of each clock slot before it prints anything, so a chart you just loaded starts empty at the left edge. It falls back to Standard on daily and above and on non-time-based charts.
• Intrabar precision depends on lower-timeframe data, which may vary by symbol and by account plan. Without lower-timeframe data, the indicator will still work, but with much less precision.
• Three alerts are available: any bubble, bubbles on a positive net delta bar, bubbles on a negative one. All initiate on bar close.
Contested Volume Bubbles marks bars where both sides of the trade committed unusually hard, drawing a bubble at the price where the fight actually happened. It measures contested volume — the volume committed by whichever side lost the bar.
In practice it is used to find areas of interest. Bubbles cluster at prices where the two sides repeatedly disagreed, and those levels often matter again on a return. A large bubble late in an extended move reads differently: a push meeting real opposition rather than clean continuation, which is the shape exhaustion usually takes.
█ CONCEPTS
Contested volume
For each bar, contested volume is the smaller of the two sides:
contested = min(buy volume, sell volume)
Heavy volume that resolves cleanly in one direction gives you a low number. The same volume with both sides pushing and neither finishing ahead gives you a high one.
It's also exactly complementary to directional volume:
contested = (total volume − total delta) ÷ 2
Contested volume, total volume and directional volume are three views of the same thing. You can trigger on one and size the bubble by another, which is where most of the flexibility comes from.
Lower timeframe sampling
You can't get any of this off a chart bar. A candle that closes mid-range looks balanced. The activity underneath it may have been not have been: heavy pushes both ways that happened to cancel by the close.
So every candle gets broken into as many as twenty lower-timeframe samples and measured piece by piece. The useful part is placement. The bubble lands on the section of the candle that carried the fight, so it sits at a price that actually traded instead of an average of the bar.
█ TIME OF DAY NORMALIZATION
Normally, volume is heavy at the open, declines through the morning, flat around midday, building into the close. Anything that compares a bar to the bars right behind it will be inherently flawed since volume activity shifts throughout the session.
Time Of Day normalization gets rid of this issue. Instead of comparing a bar to whatever came before it, it compares the bar to what that clock slot USUALLY looks like. This minute against this minute, from previous sessions.
Session level
Time Of Day normalization can also account for how busy today is. Turn the setting down and a bubble means the bar was unusual for the time of day. Turn it up and the bar has to be unusual for the time of day and for today's own level.
There's a Standard mode as well, which ranks each bar against the bars right behind it. It needs no history and works on any chart type, and it carries the intraday bias described above.
█ WHAT EACH BUBBLE TELLS YOU
Three things drive each bubble:
• Whether it appears — If it appears, it says the bar's level of contested volume was unusual based on your selected percentile rank.
• Size — how big the bar's magnitude source is compared to the last 100 bars. By default, its Total Delta Volume. Other options are below.
Magnitude sources
• Total delta volume — Total cumulative volume delta.
• Contested volume — Total contested volume
• Total volume — Simply how much traded.
• Net delta — how directional the bar was end to end, ignoring churn that reversed inside it.
Hover any bubble and the tooltip gives you all four, the trigger rank, and in Time Of Day mode both the slot's normal level and how today is running against it.
█ NOTES
• Time Of Day needs a few sessions of each clock slot before it prints anything, so a chart you just loaded starts empty at the left edge. It falls back to Standard on daily and above and on non-time-based charts.
• Intrabar precision depends on lower-timeframe data, which may vary by symbol and by account plan. Without lower-timeframe data, the indicator will still work, but with much less precision.
• Three alerts are available: any bubble, bubbles on a positive net delta bar, bubbles on a negative one. All initiate on bar close.
Nota Keluaran
Profiles have been added for ease of use. Profiles included:
- Balanced
- Selective (default)
- Very Selection (shown on example chart)
- Contested Volume Identification
- Volume Delta Identification
Most users will find the default profile, Selective, to be sufficient. Balanced will show more bubbles with overlap to volumedelta, while very selective will only appear in the the narrowest of situations with bubbles appearing once every 50-100 candles. Contested Volume and Volume Delta ID appear much more often and help primarily to visualize higher levels of Volumedelta and Contested Volume.
Skrip sumber terbuka
Dalam semangat TradingView sebenar, pencipta skrip ini telah menjadikannya sumber terbuka, jadi pedagang boleh menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupuan anda boleh menggunakan secara percuma, ingat bahawa penerbitan semula kod ini tertakluk kepada Peraturan Dalaman.
discord.gg/REapC6SGtz
b3artrades@gmail.com
b3artrades@gmail.com
Penafian
Maklumat dan penerbitan adalah tidak bertujuan, dan tidak membentuk, nasihat atau cadangan kewangan, pelaburan, dagangan atau jenis lain yang diberikan atau disahkan oleh TradingView. Baca lebih dalam Terma Penggunaan.
Skrip sumber terbuka
Dalam semangat TradingView sebenar, pencipta skrip ini telah menjadikannya sumber terbuka, jadi pedagang boleh menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupuan anda boleh menggunakan secara percuma, ingat bahawa penerbitan semula kod ini tertakluk kepada Peraturan Dalaman.
discord.gg/REapC6SGtz
b3artrades@gmail.com
b3artrades@gmail.com
Penafian
Maklumat dan penerbitan adalah tidak bertujuan, dan tidak membentuk, nasihat atau cadangan kewangan, pelaburan, dagangan atau jenis lain yang diberikan atau disahkan oleh TradingView. Baca lebih dalam Terma Penggunaan.