2.10 Understanding Functions in Pine Script

In this tutorial, Paul explains how to use functions in Pine Script for efficient code organization and reusability. Learn how to create functions, pass parameters, work with local and global variables, and apply practical examples for better understanding. Enhance your Pine Script skills and streamline your trading strategies with functions. Watch now to level up your coding game!

Understanding Functions in Pine Script

In Pine Script, functions are a powerful tool that allow you to organize your code, enhance reusability, and improve readability. In this section of the video, we’ll delve into the basics of functions in Pine Script.

Creating a Function

To create a function in Pine Script, you need to follow a specific syntax. Here’s how it works:

indicator(title="Function Example", shorttitle="Func", overlay=true)

// Define a function called "myFunction" with two parameters
myFunction(param1, param2) =>
    // Inside the function, perform an operation using the parameters
    result = param1 * param2
    // Return the result of the operation

// Call the function and use its return value in a plot
result = myFunction(10, 10)
plot(result, title="Function Result", color=color.blue)

In this example, the function myFunction is defined with two parameters, param1 and param2. Inside the function, these parameters are used to perform a multiplication operation, and the result is returned. When the function is called later with arguments 10 and 10, it returns the result 100, which is then plotted on the chart.

Scope of Variables

It’s important to note that variables defined within a function are locally scoped. This means that they are only accessible within the function and cannot be accessed or modified outside of it. Additionally, you can use global variables within a function, but you cannot modify their values directly.

Global Variables

If you want to modify a global variable within a function, you will receive an error. You can modify the global variable outside the function.

Here’s an example of using a global variable within a function:

indicator(title="Global Variable Example", shorttitle="Global Var", overlay=true)

// Initialize a global variable using the "var" keyword
var globalVar = 0

// Define a function that increments the global variable
incrementGlobalVar() =>
    globalVar + 1

// Call the function multiple times
for i = 1 to 5
    globalVar := incrementGlobalVar()

// Plot the updated global variable value
plot(globalVar, title="Updated Global Variable", color=color.green)

In this example, the function incrementGlobalVar increments the global variable globalVar by 1. When the function is called within a loop, the global variable’s value is updated and then plotted on the chart.


Functions are an essential aspect of Pine Script coding, allowing you to create organized, reusable, and efficient code. By understanding how to define and use functions, as well as the scope of variables within them, you can enhance your ability to create complex indicators and strategies on the TradingView platform.

Post a comment

Leave a Comment