Перенос строк

From TradingView Wiki
Jump to: navigation, search
Language: English  • 日本語 • Русский


Любое утверждение, которое слишком велико в Pine Script, может быть размещено на нескольких строках. Синтаксически утверждение должно начинаться в начале строки. Если он переносится на следующую строку, то продолжение утверждения должно начинаться с одного или нескольких (количество не должно быть кратно 4-м) пробелов. Например, выражение:

a = open + high + low + close

можно завернуть как

a = open +
      high +
          low +
             close

Длинная строка кода plot может быть завернута как

plot(correlation(src, ovr, length),
   color=purple,
   style=area,
   transp=40)

Выражения внутри пользовательских функций также могут быть завернуты в несколько строк. Однако, поскольку синтаксически локальный оператор должен начинаться с отступов (4 пробела или 1 таб), то при разделении его на следующую строку продолжение инструкции должно начинаться с более чем одного отступа (и не быть кратным 4-м пробелам). Например:

updown(s) =>  
    isEqual = s == s[1]
    isGrowing = s > s[1]    
    ud = isEqual ?
           0 :
           isGrowing ?
               (nz(ud[1]) <= 0 ?
                     1 :
                   nz(ud[1])+1) :
               (nz(ud[1]) >= 0 ?
                   -1 :
                   nz(ud[1])-1)

Обратите внимание, что это правило также применяется к комментариям. Не используйте комментарии в сочетании с переносом строк. Следующий код НЕ компилируется:

//@version=2
study("My Script")
c = open > close ? red :
  high > high[1] ? lime : //  комментарий
  low < low[1] ? blue : black
bgcolor(c)

Ошибка компилятора с ошибкой: Add to Chart operation failed, reason: line 3: no viable alternative at input '|E|' (Добавить в операцию диаграммы не удалось, причина: строка 3: нет жизнеспособной альтернативы на входе '| E |'). Чтобы сделать скрипт рабочим, просто удалите '// комментарий'. Это ограничение неудобно ... Мы надеемся, что его можно будет удалить в будущих выпусках Pine.


Предыдущая статья: Объявление функций, Следующая: Контекстное переключение, функция безопасности, Вверх: Pine Script Tutorial/ru