Home » Mathemtical Functions » Understanding the math.acos() Function in Pine Script

Understanding the math.acos() Function in Pine Script

Photo of author
Published on

In Pine Script, the math.acos() function is a mathematical tool used to calculate the arc cosine (inverse cosine) of a given number. The function is crucial for trigonometric calculations, particularly when you need to find the angle whose cosine is a specific value. This operation is essential in various financial analysis tasks, such as computing angles and rotations in geometric pattern analyses.


The math.acos() function can be applied in several ways, depending on the type of input and the desired output. It supports various types of input, such as constants, simple floats, series floats, and even user inputs, offering flexibility in its application within Pine Script:

  • math.acos(angle) → const float
  • math.acos(angle) → input float
  • math.acos(angle) → simple float
  • math.acos(angle) → series float


  • angle (const int/float): The angle for which you wish to calculate the arc cosine, specified in radians. It’s important to note that the value of the angle must be within the range [-1, 1] for the function to return a valid result.


  • The function returns the arc cosine of the given value, with the resulting angle in the range ([0, \pi]), or na (Pine Script’s representation for “not available”) if the input is outside the range ([-1, 1]).

Practical Example

To illustrate the use of math.acos() in Pine Script, consider a scenario where we need to calculate the angle in radians for a given cosine value within a script. This example demonstrates how to use the function with a constant value, modify it for uniqueness, and understand each step of the code.

indicator("Arc Cosine Example", overlay = true)

// Example cosine value
cosineValue = 0.5

// Calculating the arc cosine of the cosineValue
arcCosineResult = math.acos(cosineValue)

// Plotting the result on the chart for visualization
plot(arcCosineResult, "Arc Cosine of 0.5", color=color.blue)


  1. Indicator Declaration: The script begins with the declaration of the indicator using indicator(), specifying the name “Arc Cosine Example” and setting overlay to true to display the plot on the main chart.
  2. Defining the Cosine Value: A cosine value of 0.5 is defined using cosineValue. This value is within the acceptable range for the math.acos() function.
  3. Calculating Arc Cosine: The math.acos() function is used to calculate the arc cosine of cosineValue, storing the result in arcCosineResult.
  4. Plotting the Result: The plot() function visualizes arcCosineResult on the chart with the label “Arc Cosine of 0.5” in blue color.

Key Features and Takeaways

  • Function Flexibility: math.acos() can handle inputs as constants, series, or user inputs, making it versatile for different scenarios.
  • Range Specificity: It operates within a specific range of input values ([-1, 1]), returning na for values outside this range.
  • Result Range: The output is always within the range ([0, \pi]) radians, suitable for trigonometric analyses in financial markets.
  • Use Case: Ideal for geometric and trigonometric calculations, especially in pattern recognition and angle computations in trading strategies.

By integrating the math.acos() function into your Pine Script arsenal, you enhance your ability to perform complex mathematical calculations, opening up new possibilities for strategy development and analysis.

Leave a Comment