Как реализовать условную длину скользящего среднего в pinescript TradingView? - PullRequest
0 голосов
/ 28 октября 2019

Я хотел бы реализовать скользящее среднее, где длина основана на n-задней средней продолжительности цикла K. Таким образом, мне нужно, чтобы длина была функцией переменной K.

-в скользящем среднем разрешается только статическое целочисленное значение для длины.

У меня есть переменная цикл_difference, основанная на долгосрочной и более короткой продолжительности цикла.

    time_since_zero=round(barssince(cross(zero_check,0)))

    max_cycle=highest(time_since_zero,50)
    cycle = ema(max_cycle,200)
    cycle_long = ema(max_cycle,1000)

    cycle_difference =  cycle - cycle_long

Мне бы хотелось иметь скользящее среднее с длиной, основанной на этом, что-то вроде

    macd_length_scaled = 20 - cycle_difference
    macd_wma = ema(foo,macd_length_scaled)

Однако встроенные скользящие средние допускают только значения типа int для длины. Я хотел бы найти работу вокруг.

1 Ответ

0 голосов
/ 30 октября 2019

Документ Pine-скрипта предоставляет пример со скользящей средней по Pine https://www.tradingview.com/pine-script-reference/v4/#fun_ema

pine_ema(x, y) =>
    alpha = 2 / (y + 1)
    sum = 0.0
    sum := alpha * x + (1 - alpha) * nz(sum[1])

Эта функция позволяет использовать длину серии (здесь параметр y)

...