OPEN-SOURCE SCRIPT

Tape (Time and Sales)

Updated
OVERVIEW
This indicator is a synthesized "Tape" (aka. Time and Sales) from real time market data. It's specifically designed to be performant, expediting trading insights and decisions.

The table contains color-coded price action, volume size, and a timestamp data for each chart update. Because chart updates are independent of exchange orders, 1 chart update may combine more than 1 exchange and/or order. Even so, you're able to see very small and fast order flow changes, made possible by measuring real time volume differentials, and correlating them with price action.

Real time volume differentials are required for this indicator to be most useful. This is not ideal for historical analysis or TradingViews Replay feature.

INPUTS
You can can configure:
  • Table Position and Text Size
  • The Timestamp (visibility, format, timezone)
  • The number of lines to print
  • Volume Parameters (minimum size, large sizes, decimal precision)
  • Highlighting and Enlarging large sized prints
  • All the colors


DEV NOTES
This script illustrates:
  • The complimentary nature of loops and arrays
  • A method for iterative table management
Release Notes
Minor cleanup.
Release Notes
Added bar volume metrics: Up, Down, Absorbed, Total, Ratio, and Move.

Metrics adopt the bars timescale and reset with each new bar. They are off by default, but will display above the tape when enabled. You also have the ability to specify signal levels (where you would like each metric to be highlighted).

↑ Up is the total bar volume correlated with rising prices.
↓ Down is the total bar volume correlated with falling prices.
→ Absorbed is the total bar volume correlated with unchanging prices. Aka. the price absorbed the volume.
+ Total is the sum of all bar volume.
% Ratio is the ratio between up and down bar volume. Up volume is the numerator in positive ratios and Down volume is the numerator in negative ratios. Absorbed volume is added to the denominator of both positive and negative ratios.
⇅ Move is the bar volume of a continuous directional move. This excludes Absorbed volume.
☳ Accumulation is the bar volume accumulating at the current price. Accumulation is different from Absorbed because it includes the volume of the last price change, and resets back to 0 at the next price change.
Release Notes
Added ability for traders to specify the tables frame and border (width and color).
Release Notes
• Minor improvements to array management.
Release Notes
• Inputs were set to not display in the status line, minimizing chart clutter.
Release Notes
Substantial edits, aimed at improving performance.
• Added / set max_bars_back to 0, reducing historical buffer requirements for all variables.
• Eliminated all unnecessary var declarations to eliminate their performance penalty.
• Put the core logic inside a single iteration loop to force variables declared inside the loop to lose their historical data after each execution.
• Changed the price / volume source to be a 1 second chart, encouraging prints to be more frequent and granular.
• Added the ability to specify if the newest data should print at the top or bottom of the tape.
• Other minor changes.
Release Notes
• Refined the tape inversion feature.
• Adjusted setting order and display.
Release Notes
• Bug fix. The ratio now resets when the bar closes, rather than being reset every tick.
Release Notes
• Added ability for users to specify if they have a Premium account.

The print frequency and precision relies on chart updates. The most granular data non Premium users have access to is a 1 minute chart, which tends to update about once every second. This update interval can aggregate volume changes into a single print rather than showing each volume change as a unique print.

Premium accounts have access to sub-minute timeframe data, which can update intra-second. This means chart update intervals better align with volume changes, lending itself to more frequent and precise prints.

If you select "Premium" and do not in fact have a Premium account, the script may break when it tries to request data the account type does not have access to.
Release Notes
  • Minor performance improvements
  • Added ability to toggle price column and column headers
salestapeTIMEVolume IndicatorvolumedeltaVolume

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?

Disclaimer