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

Understanding ta.percentrank() Function in Pine Script

Photo of author
Published on

This article will delve into the mechanics, syntax, and practical applications of ta.percentrank() to enhance your trading strategies.

Syntax of ta.percentrank()

The ta.percentrank() function is used to calculate the percentile rank of a given value within a specified window of data. The syntax is as follows:

ta.percentrank(source, length) → series float


  • source (series int/float): This is the series of values you want to process. It can be any series of numbers, such as closing prices, volume, or an indicator’s output.
  • length (series int): The number of bars to look back. This parameter defines the window size over which the percent rank is calculated.

Key Features and Application

  • Function Usability and Syntax: The ta.percentrank() function is versatile and can be used with any series of numerical data within Pine Script. Its simplicity allows for easy integration into various types of trading strategies and indicators.
  • Application in Trading Strategies: The percent rank is particularly useful in identifying extremes in data. For instance, a very high percent rank (close to 100%) indicates that the current value is higher than most of the past values in the given window, which could be interpreted as overbought conditions in the context of price data.

Example: Identifying Overbought Conditions

To illustrate the practical use of ta.percentrank(), consider the scenario where you want to identify overbought conditions based on the closing prices of an asset over the last 14 bars.

indicator("Overbought Indicator", overlay=true)

// Defining the source and length
priceSource = close
lookBackPeriod = 14

// Calculating Percent Rank
percentRank = ta.percentrank(priceSource, lookBackPeriod)

// Identifying Overbought Conditions (percent rank > 80%)
overbought = percentRank > 80

plotshape(series=overbought, location=location.abovebar, color=color.red, style=shape.triangleup, size=size.small, title="Overbought Condition")

This script plots a red triangle above bars where the closing price is higher than 80% of the closing prices over the past 14 bars, signaling potential overbought conditions.

Key Takeaways

  • ta.percentrank() computes the percentile rank of a given value within a specified data window, aiding in the statistical analysis of time series data.
  • It is adaptable, allowing for analyses over any set of numerical data within Pine Script.
  • This function finds its utility in identifying extremes in data, such as overbought or oversold conditions in market prices, which can be crucial for making informed trading decisions.

By integrating ta.percentrank() into your trading strategy, you can leverage statistical analysis to identify potential trading opportunities based on how current values compare to historical data within a specified window.

Leave a Comment