我正在尝试运行这个脚本,它应该计算不同时期(质数)的 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 循环中添加的最后一个索引是正确的,但之前的不是。我为我的英语道歉,感谢未来的回答