Priority | Operator | Name | Example |
10 | ( ) | parentheses; overrides operators’ priority | ((34 - 3) + (8 - close[2])) / 5 |
9 | [ ] | history referencing operator | close[2], myVariable[9] |
8 | + | addition operator (unary); leaves operand unchanged | +ta.mom(close, 10), +volumeChange |
| - | subtraction operator (unary); returns operand’s opposite | -ta.ema(high, 3), -maxLoss |
| not | logical not operator; returns logical opposite | not (high > high[1]), not enterLong |
7 | * | multiplication operator | hl2 * 2, 10 * volumeDifference |
| / | division operator | low / high, 9 / 2 |
| % | modulus operator; returns remainder of integer division | 9 % 3, bar_index % 20 == 0 |
6 | + | addition operator (binary) | 10 + 6, (close + close[1]) / 2 |
| - | subtraction operator (binary) | high - low, ta.ema(close, 10) - ta.ema(close, 3) |
5 | > | greater than operator | 10 > 9, high > high[1] |
| < | less than operator | 9 < 1, ta.mom(close, 10) < ta.mom(close, 10)[1] |
| >= | greater than or equal to operator | close <= ta.sma(close, 10), open <= close |
| <= | less than or equal to operator | high <= high[5], 19 <= 20 |
4 | == | equality operator | high = ta.highest(high, 20), low = low[2] |
| != | unequal to operator | close != close[4], myVariable != 100 |
3 | and | logical and operator | newHigh and volumeIncrease, 10 > 2 and 9 != 8 |
2 | or | logical or operator | enterLong or stopTriggered, not (9 < 3 or 500 > 8) |
1 | ?: | conditional ternary operator | highestHigh == true ? 200 : 3, close < open ? close : close |