Февраль 4, 2016

PINE: Циклы и изменяемые переменные

Еще больше возможностей в PineScript! Последнее обновление содержит долгожданные возможности: циклы и изменяемые переменные. Кроме того, в эту версию включены улучшения и исправления, связанные с поддержкой стратегий на TradingView.

Как известно, Pine является серийно-ориентированным языком, большинство задач решаются путем преобразования серий данных, при помощи встроенных функций. Однако мы получили много отзывов, которые показали недостаточность такого подхода и необходимость добавить операторы для организации циклических вычислений.

Синтаксис оператора цикла и изменяемых переменных в PineScript проиллюстрируем на примере:

//@version=2
study("Простое скользящее среднее")
len = input(9)
sum = 0
for i = 0 to len-1
    sum := sum + close[i]
plot(sum/len)

Переменная sum — является изменяемой, и модификация ее значения выполняется оператором ‘:=’ в теле цикла.

Обратите внимание, что для вычисления скользящего среднего рекомендуется использовать встроенную функцию sma, т.к. она работает быстрее.

Это простейший пример, в нем не показано, что сам цикл может возвращать значение (a = for …), в теле цикла можно использовать break и continue, в заголовке можно указать шаг с которым надо увеличивать счетчик (for … by 2).

Читайте подробее о циклах и изменяемых переменных в руководстве по PineScript.

Вы можете узнать больше о PineScript в руководстве и справке по языку.