Home » Technical Analysis Functions » Understanding the ta.cum() Function in Pine Script

Understanding the ta.cum() Function in Pine Script

Photo of author
Published on

Pine Script rich set of built-in functions that allow traders to implement complex calculations with ease. One such powerful function is ta.cum(), which calculates the cumulative (total) sum of a given data series. This function is instrumental in various financial analyses, especially when dealing with running totals over time. Let’s delve into the syntax, usage, and practical application of ta.cum() in Pine Script.


The ta.cum() function is straightforward in its syntax, requiring only a single argument:

ta.cum(source) → series float


  • source (series int/float): This is the data series that you want to calculate the cumulative sum for. It can be any series of numbers, such as price data, volume, or even results of other calculations.


  • Total sum series: The function returns a continuous series of floats, each representing the total sum of the source elements up to the current element.

Practical Example

To better understand how ta.cum() works, let’s look at a simple example. Suppose we want to calculate the cumulative sum of the volume traded during a trading session. This can help us analyze the accumulation of trading volume over time and potentially identify trends in trading activity.

Pine Script Code

indicator("Cumulative Volume", overlay=false)
cumulativeVolume = ta.cum(volume)
plot(cumulativeVolume, title="Cumulative Volume")

In this example, we use ta.cum(volume) to calculate the cumulative sum of the trading volume. The result is then plotted on the chart using the plot() function. This allows us to visually track how the trading volume accumulates over the course of the trading session.


  1. Indicator Declaration: We start by declaring a new indicator using indicator(), giving it a name and setting overlay=false to plot it on its own pane instead of overlaying it on the price chart.
  2. Cumulative Calculation: The line cumulativeVolume = ta.cum(volume) calculates the cumulative volume. Here, volume is the built-in variable representing the trading volume of each bar. The ta.cum() function takes this series as input and outputs a new series where each value is the sum of all previous volumes plus the current one.
  3. Plotting the Result: Finally, plot(cumulativeVolume, title="Cumulative Volume") plots the cumulative volume on the chart. This visual representation helps traders to easily see the accumulation pattern of trading volume.

Key Features and Takeaways

  • Function Usability: ta.cum() is highly versatile and can be applied to any numerical series data, making it suitable for a wide range of financial analyses.
  • Syntax Simplicity: With only one required argument, ta.cum() is easy to use and integrate into your trading scripts.
  • Application: This function is particularly useful for identifying trends in data accumulation over time, such as volume, price movements, or other custom calculations.

Leave a Comment