Есть ли обходной путь для массивов в Pine Script - PullRequest
1 голос
/ 23 марта 2019

Массивы недоступны в PineScript.

Есть ли обходной путь? Кто-нибудь разработал код, который работает как массив?

Зачем мне это нужно? Я хотел бы посчитать количество касаний к каждой линии тренда или уровню S / R.

1 Ответ

1 голос
/ 25 марта 2019

Чтобы реализовать счетчик, вы можете создать переменную и затем изменить ее значение, используя Оператор обращения к истории [].

Ниже приведен пример подсчета количества пересечений / пересечений на типичной диаграмме RSI.

//@version=3
study("counter", overlay=false)

rsi_max = 70
rsi_min = 30

cnt_up = 0
cnt_dwn = 0

cnt_up := crossover(rsi(close, 14), rsi_max) ? nz(cnt_up[1]) + 1 : nz(cnt_up[1])
cnt_dwn := crossunder(rsi(close, 14), rsi_min) ? nz(cnt_dwn[1]) + 1 : nz(cnt_dwn[1])

plot(rsi(close, 14), color=orange, title='RSI')
plot(series=cnt_up, title="Up counter", color=green)
plot(series=cnt_dwn, title="Down counter", color=red)

band0 = hline(30)
band1 = hline(70)
fill(band1, band0, color=purple, transp=90)

Зеленая линия - это "cnt_up" в моем примере. После этой точки линия rsi пересекает зону «перекупленности» еще 7 раз.

enter image description here

И здесь вы можете видеть, что "cnt_up" действительно насчитал 7 раз.

enter image description here

К сожалению, это все, что вы можете сделать.

...