Оператор — это элемент кода, который выполняет определенное действие над одним или несколькими значениями для создания другого значения. Значения, с которыми оперирует оператор, называются операндами.

Когда мы складываем два числа вместе, знак плюс (+) — это оператор, который выполняет действие (в данном случае сложение) над несколькими значениями (наши два числа). Новое значение, созданное оператором сложения, представляет собой сумму двух чисел.

Разница между операторами и операндами представлена на рисунке:

Разница между операторами и операндами представлена на рисунке:

Как видите, в одной строке кода может быть несколько операторов. В какой очередности они выполняются, зависит от их приоритета.

Еще один термин, который вы встретите в документации TradingView — выражение.

Выражение — это фрагмент кода, который возвращает значение  и часто содержит оператор.

Примеры выражений:

  • 3* 15 (возвращает 45)
  • sma(close, 50) (возвращает 50-периодную скользящую среднюю по ценам закрытия)
  • (high-low)/2 — фактически имеет два выражения: high-low возвращает диапазон бара, а (high-low)/2 возвращает значение диапазона бара, деленное на два.

Классификация операторов по количеству операндов

Операторы можно классифицировать как унарные, бинарные или троичные в зависимости от количества операндов, над которыми действует оператор.

Унарный оператор работает с одним значением.

  • В TradingView есть три оператора, которые можно использовать унарно: сложение (+), вычитание (-) и оператор обращения к истории ([ ]).
    -close, например, возвращает отрицательное значение цены закрытия.
  • Большинство операторов TradingView являются бинарными, что означает, что они работают с двумя значениями: одним слева и одним справа. Примерами этих операторов являются оператор умножения (например, open[1] * 3) и оператор сравнения больше (high >low).
  • В TradingView есть один тернарный оператор, который принимает три операнда: условный тернарный оператор (?:). Первый операнд этого оператора является условием, которое заставляет возвращать второй операнд, когда условие истинно (true), и третий — когда условие ложно (false).

Стандартные операторы TradingView:

  • В Pine Script используются стандартные  арифметические операторы сложения (+), вычитания (-), деления (/) и умножения (*).
  • Для объединения нескольких строк текста можно использовать (+) оператор сложения.
  • При работе с оператором модуля мы используем оператор (%) для возврата остатка от целочисленного деления.
  • Практически каждый скрипт использует в своих расчетах исторические данные. Это возможно с помощью оператора обращения к истории ([]).
  • В TradingView нет операторов if/else, вместо них мы можем использовать тернарный оператор (?:). У него есть три операнда: истинное/ложное условие и два других операнда, один из которых возвращается в зависимости от условия true/false.
  • Оператор объявления функции (=>) позволяет нам создавать собственные однострочные и многострочные функции.

Дальше мы рассмотрим функции и их приоритеты. Как и в математике, приоритеты операторов можно поменять при помощи скобок.