为什么sma与wma在使用pinescript的for循环中如此不同?

Why sma is so different with wma in for loop with pinescript?

我正在尝试使用 tradingview 的 pinescript 对 MA 求和,如下所示。
但是,结果却截然不同。
wma 一个是正确的,但是sma 一个是奇怪的..
任何的想法?

sum_ma = 0
for i = 1 to 30
    sum_ma := sum_ma + i * sma(close[i], 1)
plot(sum_ma)

sum_ma := 0
for i = 1 to 30
    sum_ma := sum_ma + i * wma(close[i], 1)
plot(sum_ma)

sma 有问题。使用用 pine 写的 sma 代替:

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

pine_sma(src, len) =>
    sum = 0.0
    for i = 0 to len - 1
        sum := sum + src[i] / len
    sum

sum_ma = 0.0
for i = 1 to 30
    sum_ma := sum_ma + i * pine_sma(close[i], 1)
plot(sum_ma, color=blue)

sum_ma := 0
for i = 1 to 30
    sum_ma := sum_ma + i * wma(close[i], 1)
plot(sum_ma, color=red)