如何在TradingView pinescript中实施条件长度移动平均线?

时间:2019-10-28 15:16:46

标签: types pine-script

我想实现一个移动平均线,其长度基于n个反向平均周期长度K。因此,我需要将长度作为变量K的函数。

内置的移动平均值仅允许静态整数值作为长度。

我有一个称为cycle_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 :(得分:0)

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参数)