4

rmaから関数を再実装しようとしてTradingView pinescriptいますが、元の関数と同じ結果を出力させることはできません。

これが私が開発したコードです。コードは基本的に関数ですが、グラフ化すると関数の結果emaとは大きく異なります。rmaplot

//@version=3
study(title = "test", overlay=true)

rolling_moving_average(data, length) =>
    alpha = 2 / (length + 1)
    sum = 0.0
    for index = length to 0
        if sum == 0.0
            sum := data[index]
        else
            sum := alpha * data[index] + (1 - alpha) * sum

atr2 = rolling_moving_average(close, 5)
plot(atr2, title="EMAUP2", color=blue)

atr = rma(close, 5)
plot(atr, title="EMAUP", color=red)

だから私の質問は、rma関数が内部でどのように機能するので、そのクローンを実装できるのですか?

PS。ドキュメントへのリンクは次のとおりですhttps://www.tradingview.com/study-script-reference/#fun_rma可能な実装を示していますが、実行しても機能しません。

4

1 に答える 1