In this article, we delve into the label.get_x()
function, a key component for working with labels in Pine Script.
Introduction to label.get_x()
The label.get_x()
function is used to retrieve the X-position of a label, which can be expressed either as a UNIX timestamp or a bar index. This depends on how the label’s position is defined when using the xloc
argument in label creation functions.
Syntax
label.get_x(id) → series int
Arguments
id
(series label): This is the label object from which you want to get the X-position.
Example
Let’s explore an example to understand how label.get_x()
is used in practice:
//@version=5 indicator("Get label X-position", overlay=true) mySpecialLabel = label.new(bar_index, close, text="Current Close", xloc=xloc.bar_index) labelXPosition = label.get_x(mySpecialLabel) plot(bar_index - labelXPosition) // This will draw a zero plot

Walkthrough of Code
- Version Declaration:
//@version=5
- This line specifies that the script uses version 5 of Pine Script. It’s necessary for compatibility and to ensure the script utilizes the features and syntax of the correct version.
- Indicator Declaration:
indicator("Get label X-position", overlay=true)
- The
indicator
function declares a new indicator with the name “Get label X-position”. - The
overlay=true
parameter ensures that the indicator is drawn directly on the price chart, rather than on a separate panel below it.
- The
- Label Creation:
mySpecialLabel = label.new(bar_index, close, text="Current Close", xloc=xloc.bar_index)
label.new
is used to create a new label on the chart. This label is assigned to the variablemySpecialLabel
.- The first argument,
bar_index
, sets the label’s X-position to the current bar’s index. - The second argument,
close
, sets the label’s Y-position to the current bar’s closing price. - The
text="Current Close"
parameter specifies the text displayed on the label. xloc=xloc.bar_index
determines that the label’s X-position is based on the bar index, allowing it to move along with the bar’s index.
- Retrieving Label X-Position:
labelXPosition = label.get_x(mySpecialLabel)
label.get_x
is used to retrieve the X-position (in terms of bar index) of the label created earlier. This X-position is stored in the variablelabelXPosition
.- The argument
mySpecialLabel
refers to the label object from which the X-position is to be retrieved.
- Plotting:
plot(bar_index - labelXPosition) // This will draw a zero plot
- This line plots the difference between the current bar index and the label’s X-position.
- Since
labelXPosition
is obtained from a label that is always placed at the current bar’s index (bar_index
), the differencebar_index - labelXPosition
will always be zero. - As a result, this code draws a horizontal line at the zero level on the chart, effectively demonstrating that the label’s X-position matches the current bar index.
Returns
The label.get_x()
function returns an integer series, representing either:
- A UNIX timestamp in milliseconds if the label’s X-position was set using
xloc.bar_time
. - A bar index if the label’s X-position was set using
xloc.bar_index
.
Key Features
- Function Usability: The
label.get_x()
function is essential for scripts that need to dynamically track or manipulate the position of labels on the chart. - Syntax and Application: It requires a label ID as an argument, making it straightforward to use within scripts that involve multiple labels.
- Versatility: This function supports both time-based and index-based label positioning, enhancing its utility across different types of trading analysis and strategies.
Takeaways
- The
label.get_x()
function retrieves the X-position of a label, useful for annotations and analysis on TradingView charts. - It returns either a UNIX timestamp or a bar index, depending on the label’s position setting.
- This function is pivotal for scripts requiring dynamic label manipulation, offering simplicity and versatility in application.
By understanding and applying the label.get_x()
function, Pine Script users can enhance their charting annotations, making their trading strategies more insightful and effective.