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

Understanding the ta.wpr() Function in Pine Script

Photo of author
Published on

In this article, we dive deep into one of the key oscillators available in Pine Script: the Williams %R, facilitated through the ta.wpr() function. This oscillator is instrumental in identifying overbought and oversold levels in the market, offering traders insights into potential reversal points.

Syntax of ta.wpr()

The ta.wpr() function is structured to calculate the Williams %R value, providing a series of float values as output. The syntax is straightforward:

ta.wpr(length) → series float
  • length (series int): This argument specifies the number of bars (or periods) over which the calculation is performed. It determines the lookback period for the high and low used in the oscillator calculation.


Let’s look at a practical example to understand how to implement the ta.wpr() function within a Pine Script indicator:

indicator("Custom Williams %R", shorttitle="C%R", format=format.price, precision=2)
plot(ta.wpr(14), title="C%R", color=color.new(#117a65, 0))

In this example, we’ve created a custom indicator titled “Custom Williams %R” with a short title of “C%R”. This indicator plots the Williams %R value calculated over a period of 14 bars. The color of the plot is set to a distinct teal (#117a65) with full opacity.

Understanding the Code

  • indicator("Custom Williams %R", shorttitle="C%R", format=format.price, precision=2): This line initializes the indicator, setting its name, short title, format as price, and precision to 2 decimal places.
  • plot(ta.wpr(14), title="C%R", color=color.new(#117a65, 0)): This line plots the Williams %R value. The ta.wpr(14) function call calculates the oscillator value over 14 bars. The plot’s title is set to “C%R”, and its color is a custom teal, offering clear visibility against various chart backgrounds.

Key Features and Takeaways

  • Function Usability: The ta.wpr() function is an essential tool for technical analysis in Pine Script, especially for identifying market extremes.
  • Syntax and Application: Its syntax is simple, requiring only the length (number of bars) as an argument, making it versatile for various trading strategies.
  • Customization: Traders can customize the length parameter to fit different trading styles and timeframes, enhancing the oscillator’s adaptability.
  • Visualization: By customizing the plot’s color and precision, traders can enhance the visual appeal and readability of the indicator on the chart.

In summary, the ta.wpr() function in Pine Script offers a dynamic approach to analyzing market conditions, particularly in spotting potential reversals through overbought and oversold levels. By understanding its syntax, application, and potential for customization, traders can leverage the Williams %R oscillator to refine their trading strategies and decision-making processes.

Leave a Comment