Скрипты 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 операторы вычисляются в соответствии с их приоритетом.
Операторы с более высоким приоритетом оцениваются перед операторами с более низким приоритетом. А операторы с одинаковым приоритетом рассчитываются слева направо. Скобки имеют наивысший приоритет, поэтому мы можем использовать их для изменения приоритета операторов.
Александр 2024-05-12
Сначала считаем 6/2=3, затем 10%3=1, x = 3*1=1.
здесь забыл прибавить 5