0

我正在尝试运行这个脚本,它应该计算不同时期(质数)的 RSI 平均值。我尝试了我在网上找到的所有可能的方法来使它工作,解决动态长度参数问题(使用内置函数会出错),但我不能。

//@version=4
study("RSI average", overlay=false, resolution="",resolution_gaps=true)
Start_Number = input(3, minval=1, step = 1, title="Start Number", group="RSI period")
End_Number = input(41, minval=1, step = 1, title="End Number", group="RSI period") 

pine_rma(src, length) =>
    alpha = 1/length
    sum = 0.0
    sum := na(sum[1]) ? sma(src, length) : alpha * src + (1 - alpha) * nz(sum[1])
CusRsi(Period)=>
    alpha = 1/Period
    sum = 0.0
    up = pine_rma(close-close[1]>0 ? close-close[1] : 0, Period)
    down = pine_rma(-min(close-close[1], 0), Period)
    rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
float sum=0    
//prime recognizer
Prime=array.new_int()
for i=Start_Number to End_Number
    bool prime=true
    for j=2 to int(sqrt(i))
        if i%j==0
            prime:=false
            break 
    if prime==true or i==2 or i==3
        array.push(Prime,i)
int iter=0        
for i=0 to array.size(Prime)-1
    sum:=sum+CusRsi(array.get(Prime,iter))
    iter:=iter+1
plot(sum/array.size(Prime))  

该脚本实际上给出了一个输出,但它有点错误。我做了一些测试,在 for 循环中添加的最后一个索引是正确的,但之前的不是。我为我的英语道歉,感谢未来的回答

4

0 回答 0