Home » Plot Functions » Understanding plotchar() Function in Pine Script

Understanding plotchar() Function in Pine Script

Photo of author
Published on

In this article, we’ll dive into the plotchar() function in Pine Script Version 5, exploring its syntax, use cases, and practical applications.

Introduction to plotchar()

The plotchar() function is used in Pine Script to plot characters or symbols on a chart. This function is particularly useful for marking specific points on a price chart, such as buy or sell signals, or highlighting particular conditions.


The basic syntax of plotchar() is as follows:

plotchar(series, title, char, location, color, offset, text, textcolor)
  • series: This is the condition or series of data points where the character will be plotted.
  • title: A string that names the plot in the script’s settings.
  • char: The character or symbol to be plotted.
  • location: Determines where on the chart the character will be plotted.
  • color: Defines the color of the character.
  • offset: The number of bars to offset the plot.
  • text: Additional text to display near the character.
  • textcolor: Color of the text.

Practical Example

Let’s create an example where plotchar() is used to mark a simple moving average (SMA) crossover.

indicator("SMA Crossover", overlay=true)

shortSMA = ta.sma(close, 9)
longSMA = ta.sma(close, 21)

crossover = ta.crossover(shortSMA, longSMA)

plot(shortSMA, color=color.red)
plot(longSMA, color=color.blue)

plotchar(crossover, "Crossover", "▲", location.abovebar, color.green)

In this script:

  • We calculate two simple moving averages (shortSMA and longSMA).
  • Define a crossover condition.
  • Plot these averages and use plotchar() to mark the crossover points with an upward triangle ("▲") above the bar.

Line-by-Line Explanation

  1. indicator("SMA Crossover", overlay=true): Defines the script as an indicator with the name “SMA Crossover” and ensures it overlays on the price chart.
  2. shortSMA = ta.sma(close, 9): Calculates the short-term simple moving average (9 periods) based on the closing prices.
  3. longSMA = ta.sma(close, 21): Calculates the long-term simple moving average (21 periods).
  4. crossover = ta.crossover(shortSMA, longSMA): Defines a crossover condition where the shortSMA crosses above the longSMA.
  5. plot(shortSMA, color=color.red): Plots the short-term SMA in red.
  6. plot(longSMA, color=color.blue): Plots the long-term SMA in blue.
  7. plotchar(crossover, "Crossover", "▲", location.abovebar, color.green): Uses plotchar() to plot an upward triangle symbol at each point where the crossover condition is true.

Key Features and Takeaways

  • Functionality: plotchar() is versatile for marking specific conditions on a chart, like crossovers, divergences, or any user-defined signals.
  • Customization: You can customize the symbols, colors, and text, allowing for a high level of detail and clarity in chart annotations.
  • Use Case: Ideal for visually highlighting signals in trading strategies, making it easier for traders to spot important events.

In conclusion, plotchar() in Pine Script Version 5 is a powerful tool for visualizing specific conditions or signals on a trading chart. By understanding and using this function effectively, you can enhance the analytical capabilities of your trading strategies on TradingView.

Leave a Comment