Volume Order Blocks (VOB)

Volume Order Blocks (VOB)

Today, we are thrilled to feature a powerful and sophisticated indicator developed by BigBeluga: the Volume Order Blocks (VOB).

This indicator is designed to automatically identify and plot high-probability “Order Blocks” directly on your ProRealtime charts. These blocks represent significant zones of supply and demand, which often act as strong dynamic support or resistance levels.

How the Indicator Works (The Logic)

At its core, the VOB indicator identifies potential trend reversals and the price zones that trigger them. It combines trend analysis with price extremes to define these blocks.

1. The Trend Trigger (EMA Cross)

The indicator first establishes the medium-term trend using two Exponential Moving Averages (EMAs), a fast one and a slow one. A crossover of these EMAs signals a potential shift in the market direction and serves as the trigger for the indicator to start looking for a new order block.

2. Identifying Bullish Blocks (Demand)

When the indicator detects a bullish EMA crossover (the fast EMA crosses above the slow EMA), it signals that a new uptrend may be forming.

The indicator then scans the bars before this crossover to find the absolute lowest low price. This extreme low point, and the body of the candle that created it, represents the “Demand Block.” This zone is plotted as a green rectangle and extended into the future. The logic is that this was the last significant level where selling pressure was exhausted and demand took control.

3. Identifying Bearish Blocks (Supply)

Conversely, when the indicator detects a bearish EMA crossover (the fast EMA crosses below the slow EMA), it signals a potential new downtrend.

It scans the bars before this cross to find the absolute highest high price. This extreme high point forms the “Supply Block.” This zone is plotted as a red rectangle, representing the last significant level where buying pressure was exhausted and supply took over.

4. When is a Block “Broken” or Invalidated?

This is the most critical feature. A block remains active (and extended) on the chart until it is “broken” or “mitigated” by price.

  • A Bullish (Demand) Block is considered broken when price closes below its low.
  • A Bearish (Supply) Block is considered broken when price closes above its high.

This feature allows you to see exactly which zones are still active and which have failed.

5. Visuals & Chart Cleaning

The indicator also includes two features to improve usability:

  1. EMA Shadow: It can draw a colored cloud (or “shadow”) between the fast and slow EMAs, giving you a clear visual representation of the current trend.
  2. Overlap Detection: To prevent chart clutter, the indicator uses the Average True Range (ATR) to detect if two new blocks of the same type (e.g., two bullish blocks) are too close together. If they are, it intelligently removes the older, less relevant block.

How to Use the Volume Order Blocks Indicator

As Dynamic Support & Resistance

The most common use for VOB is to identify high-probability support (Demand) and resistance (Supply) levels.

  • When price pulls back to an active Demand Block (green), traders can watch for signs of rejection (bounces) as potential long entry signals.
  • When price rallies into an active Supply Block (red), traders can watch for signs of rejection as potential short entry signals.
  • The midline of the block (which can be toggled on) often acts as a significant level of interest (a 50% retracement) within the zone.

Identifying “Breaks of Structure” (BoS)

The invalidation of a block is just as important as the block itself.

  • When price decisively closes below a Demand Block, it signals a “Break of Structure” (BoS) to the downside. This suggests the trend is turning bearish.
  • When price decisively closes above a Supply Block, it signals a BoS to the upside, suggesting strong bullish momentum.

Indicator Settings and Configuration

This indicator comes with a wide range of settings to customize its behavior and appearance.

Main Settings

  • length1 (Default: 5): The period for the fast EMA.
  • length2 (Default: 18): The period for the slow EMA. Note: The code logic sets this to length1 + 13.
  • midL (Default: 1 – true): Set to 1 to display the 50% midline of the order blocks, or 0 to hide it.
  • trendShadow (Default: 1 – true): Set to 1 to display the colored cloud between the EMAs, or 0 to hide it.
  • showLastN (Default: 100): Sets the maximum number of historical blocks to draw on the chart. This helps manage chart performance.
  • showbroken (Default: 1 – true): A very useful setting for analysis. When set to 1 (true), the indicator will continue to display blocks after they have been broken (they will stop extending). Set to 0 (false) to have broken blocks disappear immediately.

Color Settings

The indicator provides full control over all visual elements:

  • col1R, col1G, col1B: RGB color for the bullish EMA shadow.
  • col2R, col2G, col2B: RGB color for the bearish EMA shadow.
  • bullColorR, bullColorG, bullColorB: RGB color for the Bullish (Demand) Blocks.
  • bearColorR, bearColorG, bearColorB: RGB color for the Bearish (Supply) Blocks.

ProRealtime Code

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

avatar
Register or

Likes

avatar
Related users ' posts
Iván
1 year ago
Madrosat Bonjour ivan Quelle différence il y a t il entre Extra trend et ultra trend lequel est le p...
MaoRai54 dear Ivan, it seems to be very interesting but please clarify what are all the lines I see i...
Iván Hi! you have the answer in the last line of code... MacdMiddle as "histo" style(histogra...
kats Le Top , a utiliser avec le nuage violet et alerte TN pour plus de précision.
Iván Hi! yes. You can ask for it here: https://www.prorealcode.com/free-code-conversion/
roccafragius Thank you so much Ivan! I created this request in english Translate from TradingView Indicat...
ipbvba Hello, Is it possible to have a screener for the various buy and sell signals?
Regisnew très bel indicateur merci
Jean2139 Bonjour Yvan, Merci pour ton indicateur que je trouve très intéressant. Je suppose que tu ...
Suffi Hier eine kleine Korrektur: //-----Inputs-----------------------------------------// MALengt...
Iván Hola. Sí se puede, tendrás que hacerlo programando. Así, eliminando toda la parte de código ...
Cyril18 Thank you Ivan, great job Would it be possible to add in the sript the possibility of conne...
Jrmjrm Bonjour, pourriez vous m'aider pour la commande suivante (je n'arrive pas à call l'indicateu...
kats Bonjour, J'ai une question etes vous trader? Je m'explique , j'ai téléchargé tous les indi...
Faisalx Hola Ivan. Thanks for your great job. I would appreciate if you have look at my request http...
roccafragius Thank you for all these useful information!! Very great job Ivan! THank you so much
geroniman Merci Ivan, super travail. On peut toujours compter sur toi pour apporter des innovations su...
Stenozar Ciao IVAN , mi da errore per la riga 49 "print tema low"; puoi suggerirmi la modifica da met...
Iván Avete provato a scaricare il file .itf?
AndyB72 Caricato ora sulla V12, nessun errore.
marcov66 Holá Ivan! Complimenti per l´indicatore! Secondo te con la nuova V12 avendo ora a disposizio...
Iván Grazie! In realtà, anche se gli indicatori di cui parli sono presenti nella nuova versione, ...
marcov66 Infatti, il Volume profile, il POC, le VA il CVD sono finalmente disponibili su PRT V12. Sec...
Iván Allora crei un nuovo post. Lo aspetterò.
Stenozar Ciao Ivan, ho inserito il post con la richiesta di traduzione. Se puoi vedere, grazie!
Iván perfect!
kats BONSOIR c bon merci j ai trouve ce weekend merci de votre reponse cdlt
the_giorgio Hi, nice work I would like to understand something about prorealtime code. With your ...
Iván Hello. When you use the drawcandle() instruction then in the configuration window you add ...
Gaspare Ciao Ivan si puo' inserire una strategia su questo indicatore per ottimizzare le variabil...
Iván
2 years ago
Iván Si lo descargas e importas en tu PRT verás que se han creado las variables para luego config...
WhyAskOZ Hi, Ivan As always you are doing great coding. The code works on my PRT, however the issu...
Iván You can delete in the last line (return) the configuration for color. Delete coloured(xx,xx,...
Bernard13 (Je réécris mon commentaire -français- en français car certains mots ne correspondaient pas ...
Iván 1000 indicateurs !!! brutaux
Iván Gracias! Para el screener sólo tienes que copiar el indicador y poner como condición de búsq...
Lean Muchas gracias Iván, ya lo he podido crear.
bertoluce Hello Ivan, thank you very much for the indicator. An observation: would it be possible (and...
Doddge Hola Iván, ¿sería posible crear un screener que indique cuándo las velas coloreadas del indi...
RTR Ivan thank you for the pro-screener. I a trying to understand how to write the signals from ...
Iván Hi, Lines 62 and 63. These lines define buy and sell conditions.
Iván Hi You should delete from the indicator code all drawing functions and all variables not us...
Iván I've created a screener to show [longcondition or shortcondition]
Chrisinobi Hallo Ivan, Danke das ist Perfekt !! Kannst du bitte in der Screener-Bibliothek die itf. hoc...
MaoRai54 Thanks, now it's OK. in your first code at line 15-16 it's missing.
Madrosat Hello Ivan Did you try a strategy with this indicator
Iván Hi. No I didn't. This is a code translation requested by an user a few days ago.
Iván
2 years ago
cjr30 Simplemente modifica las lineas 19 y 21 por las siguientes: drawtext("▲",barindex,low-0.1*a...
groelandes Gracias!!
WhyAskOZ i copied the code into strategy and it gives error on line 21 and 23. it says " Line 1: ...

Top