Скрипты TradingView Pine могут выполнять сложные операции благодаря операторам.

Операторы вычисляются в определенном порядке, если в выражении их несколько. Pinescript определяет порядок вычислений согласно приоритету, точно также, как и в математике. Эти же правила определяют, какой оператор вычисляется первым, какой вычисляется следующим и так далее, пока не будут выполнены все операции в выражении.

Когда в выражении есть несколько операторов с одинаковым приоритетом, то они вычисляются слева направо.

Например, сложение (+) и вычитание (-) имеют одинаковый приоритет, поэтому выражение 5 — 2 + 11 — 3 возвращает 11.

Мы можем изменить приоритет операторов, сгруппировав части выражения скобками.

Поскольку круглые скобки имеют наивысший приоритет, TradingView сначала оценивает выражения внутри круглых скобок.

Например, 5 + 4 * close сначала умножает 4 на close, а затем добавляет к результату 5, поскольку умножение имеет более высокий приоритет, чем сложение.

Но (5+4) * close сначала складывает 5 и 4, а затем умножает результат на close.

Иногда в сложных выражениях мы используем вложенные друг в друга скобки. В этом случае TradingView Pine сначала вычисляет самые внутренние скобки (другими словами, он работает изнутри наружу).

Допустим, мы вычисляем переменную x следующим образом:

x = (10 % 3) * (5+ (6 / 2))

Сначала считаем 6/2=3, затем 10%3=1, x = 3*1=1.

Заключение

В Pinescript операторы вычисляются в соответствии с их приоритетом.

Операторы с более высоким приоритетом оцениваются перед операторами с более низким приоритетом. А операторы с одинаковым приоритетом рассчитываются слева направо. Скобки имеют наивысший приоритет, поэтому мы можем использовать их для изменения приоритета операторов.