Home » Labels Functions » Understanding the label.set_color() Function in Pine Script

Understanding the label.set_color() Function in Pine Script

Photo of author
Published on

In this article, we’ll delve into the syntax, arguments, and practical applications of label.set_color(), providing you with examples to enhance your understanding and use of this function in your scripts.


The syntax of the label.set_color() function is straightforward:

label.set_color(id, color) → void

This function does not return any value (void), but it modifies the appearance of an existing label by changing its border and arrow color.


The label.set_color() function requires two arguments:

  • id (series label): This is the identifier of the label whose color you want to change. It refers to a label object that has been previously created in your script using the label.new() function.
  • color (series color): This argument specifies the new color for the label’s border and arrow. Pine Script defines several built-in color constants (like color.red, color.green, etc.), but you can also use dynamic expressions to set colors conditionally.

Example: Changing Label Color Dynamically

Let’s create a simple script that demonstrates how to use label.set_color() to change label colors based on certain conditions in the market. In this example, we’ll change the color of a label to red if the close price is lower than the open price (a bearish scenario) and to green if the close price is higher than the open price (a bullish scenario).

indicator("Dynamic Label Color", overlay=true)

// Create a label at the last bar
lastBarLabel := label.new(x=bar_index, y=close, text="Price Movement", style=label.style_label_down)

// Conditionally set the label's color
labelColor := close > open ? color.green : color.red
label.set_color(lastBarLabel, labelColor)


  1. Creating a Label: We use label.new() to create a new label at the last bar’s close price. The label displays the text “Price Movement”.
  2. Conditional Color Setting: The color of the label is determined by the condition close > open. If the condition is true (indicating a bullish scenario), the label’s color is set to green using color.green. If false (indicating a bearish scenario), it’s set to red using color.red.
  3. Applying the Color: Finally, label.set_color() is called with the lastBarLabel identifier and the determined labelColor. This updates the label’s color based on the market condition.

Key Features and Takeaways

  • Function Usability: label.set_color() is essential for making your labels more informative and visually appealing, allowing for quick identification of different market conditions directly on the chart.
  • Syntax and Application: It requires an existing label object and a color argument. The function modifies the label’s appearance without returning any value.
  • Dynamic Visual Cues: By dynamically setting label colors based on conditions, you can create more interactive and visually responsive scripts.

By mastering the label.set_color() function, you can significantly enhance the visual aspects of your Pine Script indicators and strategies, making your charts both more informative and visually appealing.

Leave a Comment