Pine script PineScript v4中的另一个重新绘制错误:自适应最小二乘移动平均
多亏了这个论坛,我才能够将其更新到第4版,但我再次检查,第2版实际上是重新喷漆的罪魁祸首。这是亚历克斯·格罗弗(Alex Grover)最早的算法之一,尽管讽刺的是,这是迄今为止最好的算法之一,但实际上它确实重新绘制了,而他的算法中很少有人这样做。我不知道它会有多大的用处,当它总是被迫通过修复重绘来延迟时,但他从未产生过另一个自适应LSMA,这是我所知道的唯一一个自适应LSMA。所以,如果这里有人能够确定是什么原因导致它重新喷漆,我愿意使用它的一个降低效率的版本。 我怀疑这是barindex,但在我跪下之前,我想听听大家对如何改变它的看法Pine script PineScript v4中的另一个重新绘制错误:自适应最小二乘移动平均,pine-script,Pine Script,多亏了这个论坛,我才能够将其更新到第4版,但我再次检查,第2版实际上是重新喷漆的罪魁祸首。这是亚历克斯·格罗弗(Alex Grover)最早的算法之一,尽管讽刺的是,这是迄今为止最好的算法之一,但实际上它确实重新绘制了,而他的算法中很少有人这样做。我不知道它会有多大的用处,当它总是被迫通过修复重绘来延迟时,但他从未产生过另一个自适应LSMA,这是我所知道的唯一一个自适应LSMA。所以,如果这里有人能够确定是什么原因导致它重新喷漆,我愿意使用它的一个降低效率的版本。 我怀疑这是barindex,但
study("Adaptive Least Squares", overlay=true)
src = input(title="EMA Source", type=input.source, defval=close)
length = input(500)
smooth = input(1.5)
//
alpha = pow(tr / highest(tr, length), smooth)
m(a, prevVal) =>
alpha * a + (1 - alpha) * nz(prevVal, a)
//
x = bar_index
y = src
x_ = 0.0
x_ := m(x, x_[1])
y_ = 0.0
y_ := m(y, y_[1])
//
dx = abs(x - x_)
dy = abs(y - y_)
mx = 0.0
mx := m(dx, mx[1])
my = 0.0
my := m(dy, my[1])
//
xx = 0.0
xx := m(x * x, xx[1])
xy = 0.0
xy := m(x * y, xy[1])
yy = 0.0
yy := m(y * y, yy[1])
a1 = pow(2 / alpha + 1, 2) * xy - (2 / alpha + 1) * x_ * (2 / alpha + 1) * y_
b1 = sqrt((pow(2 / alpha + 1, 2) * xx - pow((2 / alpha + 1) * x_, 2)) * (pow(2 / alpha + 1, 2) * yy
- pow((2 / alpha + 1) * y_, 2)))
r = a1 / b1
//
a = r * (my / mx)
b = y_ - a * x_
reg = x * a + b
//
plot(reg, color=color.red, transp=0)
我没有用这个微小的改变来重新绘制,但是当然,这个改变使轨迹发生了巨大的变化。不确定与重新绘制版本x=close y=close[1]x_=0.0 x_=m(x,x_[1])相比,什么会使其具有可比的平滑度。任何使用
close
的指示器都会在实时栏中重新绘制,与标题相反,这不是一个错误,只是研究中实时栏的正常行为,因为它会在每次实时栏更新时重新计算。你来这里的目的是什么?你不想让线在实时栏中的图表上移动吗?您希望警报可靠吗?有关选项的讨论和说明,请参见此处: