INVITE-ONLY SCRIPT

Liquidity prints / quantifytools

Updated
- Overview

Liquidity prints detect points in price where buyers or sellers are being effectively absorbed, indicative of price being on a path of resistance. In other words, the prints detect points in price where hard way is likely in current motion and easy way in the opposite. Prints with ideal attributes such as prints into extended trends or into a deviation are marked separately as print confluence. Prints with important or multiple confluence factors give further color into potential strength and duration of print influence. Liquidity prints are detected using an universally applicable method based on price action (OHLC). The prints principally work on any chart, whether that is equities, currencies, cryptocurrencies or commodities, charts with volume data or no volume data. Essentially any asset that can be considered an ordinary speculative asset. The prints also work on any timeframe, from second charts to monthly charts. Liquidity prints are activated real-time after a confirmed bar close, meaning they are not repainted and can be interacted with once a confirmation is in place.

snapshot

Liquidity prints are based on the premise that price acts a certain way when sufficient liquidity is found, in other words when price shows exhaustion of some sort. A simple example of such price action are wicks, attempted moves that were rejected within the same time period where move was initiated. This type of price action typically takes place when price is close to or at meaningful amount of bids in an order book. There's no guarantee the stacked orders can't be just cleared and moved through, but at face value it does not make sense to expect price moving the hard way. When sufficient amount of characteristics in price action are hinting proximate liquidity, a print is activated. As a barometer for print feedback quality, short term impact on price rate of change and likelihood of print lows/highs being revisited during backtesting period are tracked for each print. Peak increase/decrease during backtesting period is also recorded and added to average calculations. Liquidity prints can also be backtested using any script that has a source input, including mechanic strategies utilizing Tradingview's native backtester.

Key takeaways
  • Liquidity prints are activated when price is showing signs of grind against path of greater resistance, leaving path of least resistance to the opposite direction.
  • Liquidity prints with ideal attributes are marked separately as print confluence, giving further color into print strength and duration of influence.
  • Liquidity prints are backtested using price rate of change, print invalidation mark and peak magnitude metrics.
  • Liquidity prints can be backtested and utilized in any other Tradingview script, including mechanic strategies utilizing Tradingview's native backtester.
  • Liquidity prints are detected using price action based methodology. They principally work on any chart or timeframe, including charts with no volume data.
  • Liquidity prints are activated real-time after a confirmed bar close and are not repainted.
  • For practical guide with practical examples, see last section.


Accessing script 🔑
See "Author's instructions" section, found at bottom of the script page.

Disclaimer
Liquidity prints are not buy/sell signals, a standalone trading strategy or financial advice. They also do not substitute knowing how to trade. Example charts and ideas shown for use cases are textbook examples under ideal conditions, not guaranteed to repeat as they are presented. Liquidity prints notify when a set of conditions (various reversal patterns, overextended price etc.) are in place from a purely technical standpoint. Liquidity prints should be viewed as one tool providing one kind of evidence, to be used in conjunction with other means of analysis.

Liquidity print quality is backtested using metrics that reasonably depict their expected behaviour, such as historical likelihood of price slowing down or turning shortly after a print. Print quality metrics are not intended to be elaborate and perfect, but to serve as a general barometer for print feedback. Backtesting is done first and foremost to exclude scenarios where prints clearly don't work or work suboptimally, in which case they can't be considered as valid evidence. Even when print metrics indicate historical reactions of good quality, price impact can and inevitably does deviate from the expected. Past results do not guarantee future performance.

- Example charts

Chart #1: BTCUSDT

snapshot
snapshot

Chart #2: DXY

snapshot
snapshot

Chart #3: NQ futures

snapshot
snapshot

Chart #4: Crude oil futures

snapshot
snapshot

Chart #5: Custom timeframes

snapshot

- Print confluence

Attributes that make prints ideal in one way or another are marked separately as print confluence, giving clue into potential strength and duration of print influence. Prints with important or multiple confluence factors can be considered as heavier and more reliable evidence of price being on a path of resistance. Users can choose which confluence to show/hide (by default all) and set a minimum amount of confluence for confluence text to activate (by default 1).

Confluence type #1: Trend extensions

snapshot

Price trending for abnormally long time doesn't happen too often and requires effort to sustain. Prints taking place at extended trends often have a longer duration influence, indicating a potential larger scale topping/bottoming process being close. Trend extension confluence is indicated using a numbered label, equal to amount of bars price has been in a trending state.

Confluence type #2: Consecutive prints

snapshot

Prints that take place consecutively imply heavier resistance ahead, as required conditions trigger multiple times within a short period. Consecutive prints tend to lead to more clean, aggressive and heavier magnitude reactions relative to prints with no confluence. Consecutive print confluence is indicated using a numbered label with an x in front, equal to amount of prints that have taken place consecutively.

Confluence type #3: Deviations

snapshot

When price closes above/below prior print highs/lows and closes right back in with a print, odds are some market participants are stuck in an awkward position. When market participants are stuck, potential for a snowball effect of covering underwater positions is higher, driving price further away. Prints into deviations act similarly to consecutive prints, elevating potential for more aggressive reactions relative to prints with no confluence. Deviation confluence is indicated using a label with a curve symbol.

- Backtesting

Built-in backtesting is based on metrics that are considered to reasonably quantify expected behaviour of prints. Main purpose of the metrics is to form a general barometer for monitoring whether or not prints can be viewed as valid evidence. When prints are clearly not working optimally, one should adjust expectations accordingly or take action to improve print performance. To make any valid conclusions of print performance, sample size should also be significant enough to eliminate randomness effectively. If sample size on any individual chart is insufficient, one should view feedback scores on multiple correlating and comparable charts to make up for the loss.

For more elaborate backtesting, prints can be used in any other script that has a source input, including fully mechanic strategies utilizing Tradingview's native backtester. Print plots are created separately for regular prints and prints with each type of confluence.

snapshot

Print feedback
Print feedback is monitored for 3 bars following a print. Feedback is considered to be 100% successful when all 3/3 bars show a supportive reaction. When 2/3 bars are supportive, feedback rate is 66%, 1/3 bars = 33% and 0/3 = 0%. After print backtesting period is finished, performance of given print is added to average calculations.

Metric #1: Rate of change

snapshot

Rate of change used for backtesting is based on OHLC4 average (open + high + low + close / 4) with a length of 3. Rate of change trending up is considered valid feedback for bullish liquidity prints, trending down for bearish liquidity prints. Note that trending rate of change does not always correlate with trending price, but sometimes simply means current trend in price is slowing down.

Metric #2: Invalidation mark

snapshot

Print invalidation marks are set at print low/high with a little bit of "wiggle room". Wiggle room applied is always 1/10th of print bar range. E.g. for a bullish print with bar range of 2%, invalidation mark is set to 0.20% below print low. For most prints this is practically at print low/high, but in the case of prints with high volatility a more noticeable excess is given, due to the expectation of greater adverse reaction without necessarily meaning invalidation. A low being above invalidation mark is considered valid feedback for bullish prints and a high being below invalidation mark for bearish prints.

Metric #3: Peak increase/decrease

snapshot

Unlike prior two metrics, peak increase/decrease is not feedback the same way, but rather an assisting factor to be viewed with feedback scores. Peak increase/decrease is measured from print close to highest high/lowest low during backtesting period and added to average calculations

Feedback scores
When liquidity prints are working optimally, quality threshold for both feedback metrics are met. By default, threshold is set to 66%, indicating valid feedback on 2/3 of backtesting periods on average. When threshold is met, a tick will appear next to feedback scores, otherwise an exclamation mark indicating suboptimal performance on either or both.

snapshot

By default, the prints are filtered as little as possible, idea behind being that it is better to have more poor prints filtered with discretion/mechanically afterwards than potentially filtering too much from the get go. Sometimes filtering is insufficient, leading to failed reactions beyond a tolerable level. When this is the case, print sensitivity can be adjusted via input menu, separately for bullish and bearish prints. Print filter sensitivity ranges from 1 to 5, by default set to 1. Lower sensitivity sets looser criteria for print activation, higher sensitivity sets stricter criteria. For most charts and timeframes default sensitivity works just fine, but when this is not the case, filters can be tweaked in search of better settings. If feedback score threshold is met, it's better to keep filter sensitivity intact and use discretion, which is much more nuanced and capable than any mechanical process. If feedback scores are still insufficient after tweaking, depending on the severity of lack, prints should be vetted extra carefully using other means of analysis or simply avoided.

snapshot

Verifying backtest calculations
Backtest metrics can be toggled on via input menu, separately for bullish and bearish prints. When toggled on, both cumulative and average counters used in print backtesting will appear on "Data Window" tab. Calculation states are shown at a point in time where cursor is hovered. E.g. when hovering cursor on 4th of January 2021, backtest calculations as they were during this date will be shown. Backtest calculations are updated after backtest period of a print has finished (3 bars). Assisting backtest visuals are also plotted on chart to ease inspection.

snapshot
snapshot

- Alerts

Available alerts are the following.

- Bullish/bearish liquidity print
- Bullish/bearish liquidity print with specified print confluence
- Bullish/bearish liquidity print with set minimum print confluence amount exceeded

- Visuals

Visual impact of prints can be managed by adjusting width and length via input menu. Length of prints is available in 3 modes (1-3 from shortest to longest) and width in 10 modes (1-10 from narrowest to widest).

snapshot

Print confluence text can be embedded inside print nodes, eliminating visuals outside the chart.

snapshot

Metric table is available in two themes, Classic and Stealth.

snapshot

Metric table can be offsetted horizontally or vertically from any four corners of the chart, allowing space for tables from other scripts.

snapshot

Table sizes, label sizes and colors are fully customizable via input menu.

-Practical guide

Key in maximizing success with prints is knowing when they are likely reliable and when not. In general, the more volatile and ranging the market regime, the better liquidity prints will work. Any type of volatile spike in price, parabola or a clean range is where liquidity prints provide optimal feedback. On the other hand low volatility and trending environments are suboptimal and tend to provide more mute/lagged or completely failed feedback. Anomalies such as market wide crashes are also environments where prints can't be expected to work reliably.

snapshot

Being aware of events on multiple timeframes is crucial for establishing bias for any individual timeframe. Not often it makes sense to go against higher timeframe moves on lower timeframes and this principle of timeframe hierarchy also applies to prints. In other words, higher timeframe prints dictate likelihood of successful prints on lower timeframes. If hard way on a weekly chart is up, same likely applies to daily chart during weekly print influence time. In such scenarios, it's best to not swim in upstream and avoid contradicting lower timeframe prints, at least until clear evidence suggesting otherwise has developed.

snapshot
snapshot

Points in price where it anyway makes sense to favor one side over the other are key points of confluence for prints as well. Prints into clean range highs/lows with clean taps can be valuable for optimal entry timing. This is especially true if simultaneously previous pivot gets taken out, increasing odds of liquidity indicated by a print being swept stop-losses.

snapshot

Prints that don't match underlying bias (e.g. bullish prints at range high, bearish prints at range low) should be avoided until clear evidence has developed favoring them, such as a convincing break through a level followed by a re-test.

snapshot

Prints that are immediately rejected aggressively are more likely prints that end up failing. Next bar following a print closing below print lows/above print highs is a strong hint of print failure. To consider print still valid in such cases, there should be quick and clear defending of print lows/highs. Failed prints are an inevitable bummer, but never useless. Failed prints are ideal for future reference, as liquidity still likely exists there. Re-tests into these levels often provide sensible entries.

snapshot

Stacked confluence doesn't come too often and is worth paying special attention to, as multiple benefitting factors are in place simultaneously.

snapshot

From a more zoomed out perspective, any larger zone with multiple prints taking place inside are potential topping/bottoming processes taking place, also worth paying attention to.

snapshot
Release Notes
Update

Liquidity prints can be alternatively visualized as liquidity bubbles, available for charts with volume data. Size and color intensity of the bubbles reflect volume traded at print, giving means to discern depth of absorption.

snapshot

Print confluence can be alternatively visualized as a numbered label, simply showing amount of print confluence associated with a print. Hovering cursor over numbered label will reveal confluence type(s) in question.

snapshot

Volume surge confluence type. Volume surge confluence is activated when volume traded at print increases suddenly and is abnormally high. Surge in volume coupled with a print indicates greater depth of absorbed liquidity, elevating potential for more aggressive and clean reactions.

snapshot

Minor changes
- Each confluence type now has a sensitivity input, allowing adjusting level of tolerated noise
- Slight changes to input menu design
Release Notes
Update

1. Volume based visuals

Lines can now be used to display volume traded at liquidity prints like bubbles. The more line is filled, the more volume is traded.

snapshot
snapshot

2. Events

Alerts are now defined using events. Users can generate 2 events with desired indications, e.g. any bullish liquidity print, bearish liquidity print with trend extension confluence. Generated events can also be assigned a special value that is outputted when given event occurs, allowing backtesting specific events with a third party backtesting script. Generated events can be used to trigger alerts by choosing Event #1 or Event #2 in the alert menu. Events/alerts can be previewed by ticking "Preview events".

snapshot

3. Revised backtesting

Backtesting metrics revised to simple, easy to understand metrics that better reflect the variations in performance across different charts. Liquidity prints are backtested using two key metrics, resistance and reversion.

Resistance score is calculated by monitoring invalidation mark during backtesting period (by default set to 3 bars). A resistance score tells us how often invalidation mark is respected (not tapped) during backtesting period. Invalidation mark is set at lows for bullish prints and at highs for bearish prints.

Reversion score is calculated by comparing price change before and after print. For bullish prints, comparison is made between highest price before print and highest price after print. For bearish prints, comparison is made between lowest price before print and lowest price after print.

All calculations are verifiable and open for inspection by users by opening them up on Data Window tab.

snapshot

A breakdown of perfomance metrics can be enabled by hovering cursor over gray tooltip next to metric table. If any of the applied tests have failed, an orange dot will appear instead. Failed tests call for caution and optimizing settings to achieve better performance

snapshot
Release Notes
Update

Minor changes to UI
Reversion score switched to price unit based calculation
absorptionCandlestick analysisChart patternsEngulfing CandleliquiditygrabliquidityprintsquantifytoolsrejectionsreversalpatternsreversalsswingfailurepatternVolume

Invite-only script

Access to this script is restricted to users authorized by the author and usually requires payment. You can add it to your favorites, but you will only be able to use it after requesting permission and obtaining it from its author. Contact quantifytools for more information, or follow the author's instructions below.

TradingView does not suggest paying for a script and using it unless you 100% trust its author and understand how the script works. In many cases, you can find a good open-source alternative for free in our Community Scripts.

Author's instructions

Visit website to get access: http://www.quantify.tools

Want to use this script on a chart?

Warning: please read before requesting access.

✨ Get instant access to Premium Toolstack for Free: Liquidity prints, Price based concepts and Liquidity composition

✨ Start 7-Day Free Trial: quantify.tools

Watch video tutorials covering our tools on Youtube ↓
Also on:

Disclaimer