Home » Box Functions » Understanding the box.set_border_color() Function in Pine Script

Understanding the box.set_border_color() Function in Pine Script

Photo of author
Published on

Let’s dive into the syntax, usage, and a simple example to understand how to effectively use box.set_border_color() function in your Pine Script programs.


The syntax for the box.set_border_color() function is straightforward:

box.set_border_color(id, color) → void


  • id (series box): This is the identifier of the box object whose border color you wish to change. You create a box using box.new() and then reference it with this argument.
  • color (series color): This parameter specifies the new color for the box’s border. Pine Script provides various ways to define colors, including built-in color constants (e.g., color.red), hexadecimal color codes, and functions like color.new().

Simple Example

To demonstrate how box.set_border_color() works, let’s create a simple script that draws a box on the chart and then changes its border color.

indicator("Box Border Color Example", overlay=true)

var box myBox = na

if bar_index > 10
    if not na(myBox)

    myBox := box.new(bar_index[10], low[10], bar_index, high, border_color=color.red, bgcolor=color.new(color.blue, 90))

    box.set_border_color(myBox, color.green)

Walkthrough of Code

  1. //@version=5: This line specifies the version of Pine Script being used. Version 5 is the latest version at the time of writing.
  2. indicator("Box Border Color Example", overlay=true): This line sets the title of the script to “Box Border Color Example” and specifies that the indicator will be plotted on the main chart (overlay=true).
  3. var box myBox = na: This line declares a variable myBox of type box and initializes it with na (not a number), indicating that it’s initially undefined.
  4. if bar_index > 10: This condition checks if the current bar index is greater than 10.
  5. if not na(myBox): This condition checks if myBox is not undefined (i.e., if it has been previously initialized).
  6. box.delete(myBox): If myBox is not undefined, this line deletes the previously drawn box from the chart.
  7. myBox := box.new(bar_index[10], low[10], bar_index, high, border_color=color.red, bgcolor=color.new(color.blue, 90)): This line creates a new box object using the box.new() function. It specifies the coordinates for the box using the current and 10 bars ago (bar_index[10]) bar indices and their corresponding low and high prices. It sets the border color to red and the background color to a semi-transparent blue.
  8. box.set_border_color(myBox, color.green): This line changes the border color of the box to green.

Key Features

  • Function Usability: The box.set_border_color() function is essential for dynamic visual analysis, allowing script developers to programmatically highlight important areas on a chart.
  • Syntax: Simple and straightforward, requiring a box object identifier and a color for the new border.
  • Application: Ideal for creating visually dynamic indicators, strategies, or tools for technical analysis where visual distinction is crucial.


  • The box.set_border_color() function is used to change the border color of a box object in Pine Script.
  • It requires two arguments: the box object identifier and the new color for the border.
  • This function is particularly useful for emphasizing specific sections of a chart, making your technical analysis more intuitive and visually engaging.

By integrating the box.set_border_color() function into your scripts, you can create more interactive and visually appealing indicators and strategies to enhance your trading analysis on the TradingView platform.

Leave a Comment