Оператор — это элемент кода, который выполняет определенное действие над одним или несколькими значениями для создания другого значения. Значения, с которыми оперирует оператор, называются операндами.
Когда мы складываем два числа вместе, знак плюс (+) — это оператор, который выполняет действие (в данном случае сложение) над несколькими значениями (наши два числа). Новое значение, созданное оператором сложения, представляет собой сумму двух чисел.
Разница между операторами и операндами представлена на рисунке:
Как видите, в одной строке кода может быть несколько операторов. В какой очередности они выполняются, зависит от их приоритета.
Еще один термин, который вы встретите в документации 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.
- Оператор объявления функции (=>) позволяет нам создавать собственные однострочные и многострочные функции.
Дальше мы рассмотрим функции и их приоритеты. Как и в математике, приоритеты операторов можно поменять при помощи скобок.