Как получить данные предыдущих свечей в индикаторе? - PullRequest
0 голосов
/ 10 ноября 2019

Я пишу индикатор, который должен прочитать предыдущие данные о 32 свечах и сделать прогноз. Как я могу получить previous 32 candles ohlc data в TradingView> PineScript Editor> Indicator?

1 Ответ

0 голосов
/ 10 ноября 2019

´ [] ´ в pinescript называется Оператор ссылки на историю . Вы можете использовать этот оператор для доступа к историческим значениям.

Вы можете создать 32 переменные, если ваш алгоритм действительно нуждается в этих 32 отдельных значениях, или вы можете создать функцию и запустить цикл for.

Ниже кода показаны оба примера для n=5.

//@version=4
study("My Script")

src = input(title="Source", type=input.source, defval=close)

src_1 = src[1]
src_2 = src[2]
src_3 = src[3]
src_4 = src[4]
src_5 = src[5]

avg_of_indv = avg(src_1, src_2, src_3, src_4, src_5)

get_average(avg_src, avg_len) =>
    ret_val = 0.0
    for i = 1 to avg_len
        ret_val := ret_val + avg_src[i]
    ret_val/avg_len

avg_of_func = get_average(src, 5)

plot(series=avg_of_indv, title="avg_of_indv", color=color.red, linewidth=2)
plot(series=avg_of_func, title="avg_of_func", color=color.green, linewidth=2)

Если вы посмотрите на графики, оба будут одинаковыми.

Также есть highest() и lowest()функции доступны в pinescript. Эти функции возвращают самое высокое / самое низкое значение для заданного количества баров назад.

...