INVITE-ONLY SCRIPT

AQPRO Block Force

101

📝 INTRODUCTION

AQPRO Block Force is a powerful trading tool designed to identify and track Orderblocks (OBs) in real-time based on Fair Value Gap (FVG) principles. This indicator employs quite strict yet effective FVG filtering criteria to ensure only significant OBs are displayed, avoiding minor inefficiencies or duplicates within the same impulse or corrective moves. Each OB adapts dynamically to price action and can be categorized as Classic, Strong, or Extreme, based on proprietary conditions and best ideas from SMC (Smart Money Concepts).

In addition to plotting Orderblocks, the indicator offers useful filtering systems like an Age Filter to ensure cleanliness of the OB data on the chart and prevent old, irrelevant OBs from obstructing the chart. Users can also enable MTF (Multi-Timeframe) functionality to view OBs from other timeframes, providing a comprehensive analysis across multiple levels of market structure. With extensive customization options, AQPRO Block Force allows traders to tailor the visuals and behavior to fit their specific trading preferences.

This indicator does not parse any instituotinal data, order books and other fancy financial sources for finding order blocks nor it uses them for confirmation purposes. Calculations algorithms of order blocks are based purely on current asset's price history.

IMPORTANT NOTE: in the sections below term 'quality' will be applied to orderblocks quite a number of times. By 'quality' in the context of orderblocks we mean the reaction of price upon the sweep of orderblock. Basically, if the price reverses after reaching the orderblock, this orderblock is considered to be of high quality. Definition for low-quality orderblock can be deducted by analogy.



🎯 PURPOSE OF USAGE

This indicator serves one and only purpose — help traders identify most lucrative institutional orderblocks on the chart in real time. Even though event of price reaching an orderblock cannot be considered as a sole signal in many trading strategies without proper confirmation, such event nevertheless is quite important in SMC-based trading, because when price sweeps OB it usually means, that a reversal will soon follow, but, of course, this is not the case every time.

Traders should not expect from this indicator detection of perfect orderblocks, which would surely revese the price on encounter, but they can expect is a time-proven algorithm of determing orderblocks that on average produces more high-quality orderblocks than simple similar tools from open-source libraries.

More in-depth advices on the usage will be given in the sections below, but for now let's summarise subgoals of the indicator:
  • Detecting orderblocks filtered through strict FVG validation rules to improve overall quality of orderblocks;
  • Classifying orderblocks as Classic, Strong, or Extreme based on wether or not classic orderblocks pass filtering conditions, which are based on crossing critical price levels and SMC principles like ChoCh (Change of Character);
  • Eliminating clutter and manage chart space with the Age Filter, removing old OBs outside a user-defined age range;
  • Utilizing MTF functionality to track significant OBs from other timeframes alongside current timeframe analysis;
  • Providing traders with customization options for indicator's visuals to help them organize information on the chart in a clean way.


⚙️ SETTINGS OVERVIEW

This indicator's customization options allow you to fully control its functionality and visuals. Below is a breakdown of the settings grouped by the exact setting sections and parameters from the indicator:

🔑 Main Settings
  • Show OBs from current timeframe — toggles the display of OBs from the current timeframe on the chart;
  • Show classic OBs — enables or disables the display of Classic OBs;
  • Show strong OBs — enables or disables the display of Strong OBs, which meet the ChoCh-based filter criteria;
  • Show extreme OBs — enables or disables the display of Extreme OBs, which exceed proprietary price level risk thresholds.

Filter: Age
  • Use Age Filter — toggles the Age Filter, which removes old OBs based on their age;
  • Max Age — sets the maximum age of OBs to be displayed (in bars). OBs older than this value will be hidden;
  • Min Age — sets the minimum age of OBs to be displayed (in bars). OBs younger than this value will not be shown.

🌋 MTF Settings
  • Show MTF OBs — toggles the display of OBs from higher timeframes;
  • Timeframe — select the timeframe to use for MTF OB detection (e.g., 15m, 1h).

MTF / Filter: Age
  • Use Age Filter (MTF) — toggles the Age Filter for MTF OBs;
  • Max Age — sets the maximum age of MTF OBs to be displayed (in bars);
  • Min Age — sets the minimum age of MTF OBs to be displayed (in bars).

🎨 Visual Settings
  • Classic OB (Bullish) — sets the color for bullish Classic OBs;
  • Classic OB (Bearish) — sets the color for bearish Classic OBs;
  • Strong OB (Bullish) — sets the color for bullish Strong OBs;
  • Strong OB (Bearish) — sets the color for bearish Strong OBs;
  • Extreme OB (Bullish) — sets the color for bullish Extreme OBs;
  • Extreme OB (Bearish) — sets the color for bearish Extreme OBs.


📈 APPLICATION GUIDE

Application methodology of this indicator is pretty much the same as with any other indicator, whose purpose is to find and display orderblocks on the chart. However, before actually diving into the guide on application, we want to make a small step back to remind traders of the history of orderblocks as a concept, its limitations and benefits.

Orderblocks themselves are essentially just zones of potential institutional interest, which if reached are expected to reverse the price in the opposite direction. 'Potential' is a suitable remark for indicator's success probability, because, as was mentioned above, orderblocks don't guarantee price reversal regardless of quality of the indicator. This is the case for the simplest of reasons — orderblocks are based solely on price history and thus are to be considered a mathematical model, degree of success of which is never 100%, because all mathematical models abide by a "golden rule of trading": past performance doesn't guarantee future results.

However, the extensive history of orderblocks clearly shows that this tool, despite being decades old, can still help traders produce market insights and improve any strategy's performance. Orderblocks can be used both as a primary source of signals and as confirmation tool, but from our experience they are better to be used as confirmation tool. Our indicator is not an exception in this matter and we advice any trader to use it mainly for confirmation purposes, because use-case of orderblocks as confirmation tools have much success stories on average than being used as primary signal source.

This being said, let's return to the application guide and start reviewing the indicator from the most basic step — how it will look like when you first load it on your chart:
istantanea

This indicator consisis of 3 main logic blocks:
  • Orderblock evaluation;
  • MTF Orderblock evaluation;
  • Orderblock post-filtering.
The principles behind these logic blocks will be easy to understand for truly experiences traders, but we understand the need to explain them to a wider audience, so let's review each of these logic blocks below.


ORDERBLOCK EVALUATION

Principles behind our orderblock detection logic are as follows:
  1. Find FVG (Fair Value Gap).
    Note: this indicator uses only three-candle FVGs and doesn't track FVGs with insidebars after third (farther) candle.
    If you don't know what FVG means, we recommend researching this term in the Internet, but the basic explanation is this: FVG is the formation of candles, which are positioned in a way that there are an unclosed price area between 1st and 3rd candle.

    Conditions:bullish FVG = high of 3rd candle < low of 1st candle AND high of 3rd candle < close of 2nd candle AND high of 2nd candle < close of 1st candle AND low of 3rd candle < low of 2nd candle;
    bearish FVG = low of 3rd candle < high of 1st candle AND low of 3rd candle > close of 2nd candle AND low of 2nd candle > close of 1st candle AND high of 3rd candle > high of 2nd candle.
    See visual showcase of valid & invalid bullish & bearish FVGs on the screenshot below:
    istantanea

    As was shown on the screenshot above, the only correct formation for FVGs are considered to be just like on pictures 1 and 2(leftmost column of patterns). Only these formations will take part in further determenings orderblocks.

  2. Send FVGs through filtering conditions.
    This is the truly important part. Without properly filtering FVGs we would get huge clusters of FVGs on the chart and they will not make sense to be reviewed, because there will be just too much of them and their quality will be very questionable.

    Even though there is a quite number of ways to filter FVGs, we decided to go with the ones we deem actually useful. For this indicator we chose two methods, that work in tandem — 1) base candle's inside bar condition and 2) single appearance on current impulse/correction line. Let's review these conditions below and start with looking at the examples of them on the screenshot below:
    istantanea

    Examples of 1st & 2nd conditions are displayed on the left and right charts respectively.
    The filtering logic in 1st and 2nd is quite connected and further explanation should help you understand it just enough to start trading with our indicator.

    Let's start with explaining the term 'base candle' and logic behind it. Base candle candle be explained quite shortly: it is the latest candle on the chart, whose high or low broke previous base candle's high or low respectively. The first candle in the time series of price data is by default considered the base candle. If any new candle after base candle doesn't overtake base candle's high or low (meaning, that this candle is inside the range of base candle), such candle is called an "inside bar".

    Inside bar's term is important to understand, because FVGs, which appear inside the inside bars are usually quite useless, because price doesn't react from them, so orderblocks with such FVGs are also of bad quality as well. Clear depiction of inside bar was provided in the screenshot of conditions above on the left chart, so we won't waste time making another example.

    However, this is not it. Base candle, inside bars and a few other types of bars are all a part of SMC ideas and in the world of SMC there is a special term, that hold the most important place and is considered the cornerstone of SMC methodology — impulse/correction lines(valid pullbacks). The average definition of impulse/correction lines is quite hard to understand for an average trader, but we can summarise like this:
    Impulse/correction line is a line, that starts at the beginning of the sequence of base candles, each new candle of which consistently updates previous base candle's respective high/low.

    We won't go into description of this principle because it is outside of scope of this indicator, but you can research this topic in the Internet by keywords 'impulse correction trading' or 'valid pullback principles trading'. The general idea of usage of impulse/correction lines in the context of this indicator is that each such lines 'holds' inside at least one FVG and we need to find exactly the first FVG, while leaving all other FVGs behind, because they to be of worse quality on average.

    Basically, by using translating these terms into conditions from example above, we have achieved a simple yet powerful filtering system. system for FVGs, which allows us to work with orderblocks of much higher quality than average open-source indicators.

  3. If FVG passed filters, evaluate its OB.
    When FVG is confirmed, we can start the evaluation of its orderblock. The evaluation of orderblocks consists of several checkpoints: 1) is orderblock beyond current ChoCh* AND/OR2) is orderblock from extreme price levels, calculated by our proprietary risk system. Let's review these checkpoints below.

    * ChoCh (Change of Character, fundamental SMC idea) — price level, which if broken by close of price can potentially cause a revesal of the trend to direction opposite to the the previous one. To learn more about ChoCh please research the term on the Internet, because this indicator uses its standard definition and explaining of this term goes beyond the scope of this indicator.

    To determine if orderblock is beyond current ChoCh levels, we need to first determine where these levels are on the chart. ChoCh levels of this indicator are calculated with a very lite approach, which is based on pivot points.

    You can see basic demonstration of ChoCh levels in action on the screenshot below:
    istantaneaIMPORTANT NOTE: pivot period for pivots points inside our indicator is by default equal to 5 and cannot be changed in settings at the moment of publication.

    On the screenshot above you can clearly see that ChoCh levels are essentially highest/lowest pivot point levels in between certain range of bars, where price doesn't update its extremum. You can see on there screenshot a new type of line — BoS (Break of Structure). BoS is almost the same thing as ChoCh, but with one change: it is a confirmation of price updating its extremum in the same direction as it was before, while ChoCh updates price extremum in the direction opposite to which it was before.

    Why do these levels matter when evaluating the orderblocks? Orderblocks, which are located beyond current BoS/ChoCh levels, are of much higher quality on average than average orderblocks and they are called Strong Orderblocks.

    On the chart such orderblocks are marked with 'Strong OB' label inside the body of an orderblock.
    You can see the examples of Strong OBs on the screenshot below:
    istantaneaThat was the explanation of the 1st orderblock evaluation criteria. Now let's talk about the 2nd one.

    Our 2nd evaluation criteria for orderblocks is a test on whether or price is behind specific price level, which is calculated by our proprietary risk system, which is based on fundamental of statistics, such as 'standard deviation' and etc.

    This criteria allows us to catch orderblocks, which are located at quite extreme price levels, and mark them on trader's chart explicitly. Orderblocks, which are above our custom price levels, are called Extreme Orderblocks an are marked with 'Extreme OB' label inside orderblock's body.
    You can see the example of Extreme OB on the screenshot below:
    istantaneaThat was the explanation of the 2nd evaluation criteria of the orderblock.

    If an orderblock doesn't pass any of these two criterias, it is considered a classic orderblock. These orderblock are most common ones and have the lowest success rate among other types of orderblocks, listed above. Such orderblocks are marked with 'OB' label inside the orderblock's body.
    You can see the examples of classic OB on the screenshot below:
    istantanea
This is it for orderblock evaluation logic. After doing all these steps, all orderblocks that we found are collected and displayed on the chart with their bodies and label marks.

What happens after the detection of the orderblocks?
All active orderblocks are being tracked in real time and their statuses are being updated as well (Strong orderblock can become Extreme orderblock and vice versa). By an active orderblock we mean an orderblock, which wasn't swept by price's high or low. Bodies of active orderblocks are prolonged to the next candle on each new candle.

If an orderblock was swept, indicator will stop prolonging this orderblock and will mark it as swept on the chart with almost hollow body and dashed border line of the orderblock's body. Also swept orderblocks lose their name label, so you won't see any text in the orderblock after it was swept, but you will see its colour.
You can see the example of an active & swept orderblocks on the screenshot below:
istantanea

This functionality helps distinguish active orderblocks from swept ones (inactive) and make more informed decisions.


MTF OB EVALUATION

Principles of MTF OBs evaluation are exactly the same as they are for current timeframe's OBs.

MTF OBs are displayed on the chart in same way as other OBs, but with one little change: to the right side of MTF OB's status will be postfix of the timeframe, from which this OB came from. Timeframe for MTF OBs can be chosen by user in the settings of the indicator.

MTF OBs also preserve their statuses (Strong, Extreme and Classic) when displayed on the current timeframe, so you won't stack of mistakenly marked MTF OBs as Extreme just because they are far away from the price.
You can see the example of MTF OBs on the screenshot below:
istantanea

Also MTF OBs when swept lose only their name label, but the timeframe postfix will still be there, so you could distinguish MTF OBs from OBs of the current timeframe.
See the example of swept MTF OBs below:
istantanea

Overall MTF orderblocks is a very useful to get a sense of where the higher timeframe liquidity reside and then adjust your strategy accordingly. Taking your trades from the place of high liquidity, like orderblocks, doesn't guarantee certain solid price reaction, but it definitely provides a trader with much a greater change of 1) catching a decent price move 2) not losing money white trading against institutional players.

As was stated above, we recommend using this tool as a confirmation system for your main trading strategy, because its usage as primary source of signals in the long-run is not viable, judging from historical backtest results and general public opinions of traders.


ORDERBLOCK POST-FILTERING

To enhance filtering capabilities of this indicator even further, we decided to add two filters, which would help reduce the amount of bad and untradeable orderblocks. These two filters are 1) age filter and 2) cancellation filter. Let's review both of them below.

Talking about the age filter, this filter was designed to help get rid of old orderblocks, which clutter the chart with visual noise and make it harder to find valueable orderblocks. This filter has to parameters: min age and max age. What does age mean in the context of an orderblock? It is the distance between OB's left border's bar and current bar. If this distance is between min age and max age values, such orderblock is considered valid and age filter passes it for further evaluation, but this distance is too short or too long, age filter deletes this orderblock from the chart.

You can the example of an orderblock which didn't pass age filter requirements and was deleted from the chart on the screenshot below:
istantanea

It is important to mention that the missing orderblock from the right chart will be appear on the chart right when its age will exceed min age parameter of age filter.

The principle of work for max age parameter can be deducted by analogy: if the orderblock's age in bigger than max age value of age filter, this orderblock will be deleted from the chart.

For MTF OBs we decided to their own age filter, so that it won't abide by current timeframe's restrictions, because MTF OBs are usually much older than OB from current timeframe, so they would deleted a lot of time before they even appear on the chart, if they would abide by the age filter of current timeframe.

Default parameters of age filter are "max age = 500" and "min age = 0". "Min age = 0" means that there is restrictions on the minimum age of orderblocks and they will appear on the chart as soon as the indicator validates them.

That was the explanation of the age filter.

Talking about the cancellation filter, this filter was intended to spot orderblocks which were extremely untradable and visually alert traders about them on the chart. In this indicator this filter works like this: for each orderblock cancellation filter creates a special price level and checks if it was broken by the close of price.

This special price level consists of the farthest border. of the orderblock (top border for bearish OBs and bottom border for bullish OBs) and a certain threshold, which is added to the farthest border. This threshold is based on the current ATR value of the asset. This filter helps detect the orderblocks which should not be considered for trading, because price has already went too far beyond the liquidity of this orderblock.
Orderblocks, which are spotted by this filter, are marked with '❌' emoji on the price history.

You can see the example of an orderblock which was spotted by the cancellation filter in the screenshot below:
istantanea

This filter is applied to both current timeframe and MTF timeframe and is NOT configurable in the settings.



🔔 ALERTS

This indicator employs alerts for an event when new signal occurs on the current timeframe or on MTF timeframe. While creating the alert below 'Condition' field choose 'any alert() function call'.
When this alert is triggered, it will generate this kind of message:
Pine Script®
// Alerts for current timeframe string msg_template = "EXCHANGE:ASSET, TIMEFRAME: BULLISH_OR_BEARISH OB at SWEPT_OB_BORDER_PRICE was reached." string msg_example = "BINANCE:BTCUSDT, 15m: bearish OB at 170000.00 was reached." // Alerts for MTF timeframe string msg_template_mtf = "EXCHANGE:ASSET, TIMEFRAME: BULLISH_OR_BEARISH MTF OB at SWEPT_OB_BORDER_PRICE was reached." string msg_example_mtf = "BINANCE:BTCUSDT, 15m: bearish MTF OB at 170000.00 was reached."


📌 NOTES
  • These OBs work on any timeframe, but we would advise to to use on higher timeframes, starting from at least 15m, because liquidity from higher timeframe tends to be much valuable when deciding which orderblock to take for a trade;
  • Use these OBs as a confirmation tool for your main strategy and refrain from using them as primary signal source. Traders, which use SMC-based strategies, will benefit from these orderblocks the most;
  • We recommend trading only with Strong and Extreme orderblocks, because they are proved to be of much greater quality than classic orderblocks and they work quite well in mid-term and long-term trading strategies. Classic orderblocs can be used for short-term trading strategies, but even in this case these OBs cannot be blindly trusted;
  • We strongly advise against take for a trading orderblocks, which were spotted by cancellation filter, because they are considered to be voided of liquidity;
  • Don't forget that you can toggle different types of OBs, MTF settings and visual settings in the settings of the indicator and fine-tune them to your liking.


🏁 AFTERWORD

AQPRO Block Force is an indicator which designed with idea of helping trading save time on automatically detecting valuable orderblocks on the chart, evaluate their strength and filter out bad orderblocks. These employ the best principles of SMC, including FVGs, valid pullbacks and etc. FVGs play the key role in validating the existence of a particular orderblock and work in tandem with valid pullback to determine the maximum amount of true FVGs even in the most cluttered impulse/correction moves of the price. Our filters — Age Filter and Cancellation Filter — enhance the quality of the orderblocks by allowing only the newest and liquid orderblocks to appear on the chart. Additional MTF functionality allow trader to see orderblocks from other timeframe, which can be chosen in the settings, and get a sense of where the global liquidity resides. This indicator will be a useful confirmation tool to any trading strategy, but the SMC traders will surely get the most benefits out of it.



ℹ️ If you have questions about this or any other our indicator, please leave it in the comments.

Declinazione di responsabilità

Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.