我已经取得了很好的进展,将几个指标合并在一起,可以同时在自定义时间范围内显示它们。它正在为某些指标工作。
但是,它不适用于Fisher。我收到“无法将可变变量用作安全函数的参数”的错误。
我尝试用
s5 = security(tickerid, tf3, fish1)
费舍尔的代码是
len = input(9, minval=1, title="Length")
high_ = highest(hl2, len)
low_ = lowest(hl2, len)
round_(val) => val > .99 ? .999 : val < -.99 ? -.999 : val
value = 0.0
value := round_(.66 * ((hl2 - low_) / max(high_ - low_, .001) - .5) + .67 * nz(value[1]))
fish1 = 0.0
fish1 := .5 * log((1 + value) / max(1 - value, .001)) + .5 * nz(fish1[1])
fish2 = fish1[1]
有人可以帮忙吗?我不知道哪里出了问题。
我期待有人帮助我解决这个问题,并会非常感激。
答案 0 :(得分:0)
隐藏自定义函数中的fisher calc并将其传递给security
函数
len = input(9, minval=1, title="Length")
round_(val) => val > .99 ? .999 : val < -.99 ? -.999 : val
f_fisher() =>
high_ = highest(hl2, len)
low_ = lowest(hl2, len)
value = 0.0
value := round_(.66 * ((hl2 - low_) / max(high_ - low_, .001) - .5) + .67 * nz(value[1]))
fish1 = 0.0
fish1 := .5 * log((1 + value) / max(1 - value, .001)) + .5 * nz(fish1[1])
fish1
mtfFisher = security(syminfo.tickerid, "D", f_fisher())
plot(mtfFisher)