Home » Operators In Pinescript » Understanding Comparison Operators in Pine Script

Understanding Comparison Operators in Pine Script

Photo of author
Published on

Introduction to Comparison Operators

In Pine Script, the scripting language used on the TradingView platform, comparison operators are fundamental tools used in writing scripts for technical analysis and trading strategies. These operators allow you to compare values and make decisions based on these comparisons. This tutorial will explore the six comparison operators available in Pine Script:

  • < (Less Than)
  • <= (Less Than or Equal To)
  • != (Not Equal)
  • == (Equal)
  • > (Greater Than)
  • >= (Greater Than or Equal To)

Comparison operators are binary, meaning they compare two values. The result of a comparison operation is a boolean value (true, false, or na), depending on the operands’ values.

Boolean Results in Comparisons

  • If operands are numerical: The result is of type bool (true or false).
  • Handling na values: If any operand is na, the result is na.

Basic Examples

  • 1 > 2 results in false.
  • 1 != 1 results in false.
  • close >= open depends on the values of close and open.

Use Case Example: Trend Detection

Let’s explore a practical example of using comparison operators to determine a stock’s trend direction.

Example Code

indicator("Trend Detection", overlay=true)
fastMA = ta.sma(close, 9)
slowMA = ta.sma(close, 21)

bullishTrend = fastMA > slowMA
bearishTrend = fastMA < slowMA

plotshape(bullishTrend, title="Bullish Trend", location=location.abovebar, color=color.green, style=shape.triangleup)
plotshape(bearishTrend, title="Bearish Trend", location=location.belowbar, color=color.red, style=shape.triangledown)

Explanation of Each Line

  1. Script Initialization: //@version=5 sets the Pine Script version.
  2. Indicator Declaration: indicator("Trend Detection", overlay=true) declares the indicator and overlays it on the price chart.
  3. Calculating Moving Averages:
  • fastMA = ta.sma(close, 9): Calculates a fast simple moving average (SMA) over 9 periods.
  • slowMA = ta.sma(close, 21): Calculates a slower SMA over 21 periods.
  1. Determining Trends:
  • bullishTrend = fastMA > slowMA: A bullish trend is indicated when the fast MA is above the slow MA.
  • bearishTrend = fastMA < slowMA: A bearish trend is indicated when the fast MA is below the slow MA.
  1. Plotting Trend Indicators:
  • plotshape(bullishTrend, ...): Plots an upward triangle above the bar for bullish trends.
  • plotshape(bearishTrend, ...): Plots a downward triangle below the bar for bearish trends.

Key Takeaways

  • Comparison operators in Pine Script are essential for creating conditional logic in trading strategies.
  • These operators help in making decisions based on the comparison of values, such as price or indicators.
  • Understanding how to effectively use comparison operators can significantly enhance technical analysis and strategy development.


In Pine Script, comparison operators provide a powerful way to analyze financial data and make informed decisions based on those analyses. By utilizing these operators in your scripts, you can create more dynamic and responsive trading strategies that adapt to market conditions. Remember, the key to successful trading script development is not just in knowing the operators, but in understanding how to apply them effectively in the context of the market.

Leave a Comment