作者的对话。亚历山大-斯米尔诺夫。 - 页 41

 
lna01:
线路系数a和b在这些线路中被计算出来。 A = (SumXY - N3*SumY)*N4; B = (N1*SumY - SumXY)*N2; 为了说明问题,我附上MovingLR_2版本,它只是绘制当前的线性回归。特别是,因为之前在计算N4的时候,有一个错误:) MovingLR_2给出的是纯线性回归,要确保这一点非常容易。在at_LR0中,从以小时为单位的周期到以条为单位的周期的变化是不准确的。如果你将at_LR0中的Close改为(High+Low)/2,并以1为周期,将MovingLR_2中的周期改为61而不是60,并在一分钟的图表上显示,结果是一样的。 。







那么MovingLR_2是一个很好的算法,只要调整一下代码布局就可以了!

在at_LR0中,一栏的偏移是为了适应MT4标准工具箱的线性回归。也许这不需要做......

 
Mathemat:

2个zigan

对于线性回归,公式为:LRMA = 3*LWMA - 2*MA

对于二次回归。

二次回归MA = 3 * SMA + QWMA * ( 10 - 15/( N + 2 ) )- lwma * ( 12 - 15/( n + 2 ) )

这里N是平均数的周期。

QWMA( i; N ) = 6/( N*(N+1)(2*N+1) )* sum( Close[i] * (N-i)^2; i = 0...N-1 ) (平方权重机)。

for cubic: oops, still can't get it out of Trading Solutions, my formula is too wild there.

2 候选人: 你真的很偏执,我不会想到......


我有不同的配方。

哪里是

 
嗯,对RMS来说,这比Yurixx 的结果更有味道。

RMS^2 = (Sum(Y*Y) - A*Sum(X*Y) - B*Sum(Y))/(N-2)

Yurixx 类似,表达的简单性是由于选择了X轴的原点和方向。如果没有人发现错误,这就是接近算法的终点。为了使计算出的A和RMS不会消失,我在指标中留下了LR线图,并添加了RMS通道:)

ANG3110:

对代码布局做了一点调整,一切都好了!

我想我不会完全使用这个指标,我将使用一种算法。

2Yurixx:
看来小N的RMS值的差异不是由于RMS校正,而是由于起点和方向X的选择。因为当你改变它们时,我以前的公式也开始给出不同的结果,而且它是准确的,没有任何保留。
附加的文件:
 
lna01:

2Yurixx: 看来小N的RMS值的差异不是由于RMS校正,而是由于起点和方向X的选择。因为当你改变它们时,我的旧公式也开始给出不同的结果,而它是准确的,没有任何保留。

你当然是对的,正确选择坐标系是一种强大的技术,可以简化计算和最终公式的外观。我没有用它来做线性回归,一切结果都足够好。但对于抛物线回归来说,在给定的原点选择下,最终表达式变成了两倍的简单,而算法的有效性则增加了一个数量级。此外,对计算精度的限制问题也完全消除了。

然而,有一点我不能同意你的观点。RMS值,以及实际的回归值,不能取决于X轴原点的选择。也许不是公式本身开始给出不同的结果,而是计算准确性这个问题变得明显。由于双数 只有15位有效数字被存储(更不用说int 了),在计算过程中错误会很快被积累。当X和Y有不同的数量级时,这一点尤其正确。例如,X是几十万数量级的条形数字,Y是1数量级的价格,价格变化是0.0001的数量级。


PS

我想了解是什么让这种配方 "好吃"。显然,这要简单得多--在一条线上。虽然我不明白为什么你要除以(N-2)而不是除以(N-1)。我还是要指出,如果以最大加速度为目标,你必须使用不同的公式。如果你固定选择与当前价格值有关的原点X,使用没有Sum(X*Y)的公式更有利。那么你就不必在每个条上计算卷积。但是,在每个柱子上更新Sum(Y*Y)或Sum(X*X)是一个操作符。

 

如果你知道线性回归中系数A和B的当前值,你能计算出RMS吗?

下面是公式

系数A

系数B

 
Prival:

如果你知道线性回归中系数A和B的当前值,你能计算出RMS吗?

对于像QWMA这样的二次项,可能是有可能的。但通过假人的算法本质上是非最优的。一个机会是使用内置破折号的本地代码的机会,但似乎已经失败。
P.S. 我刚刚想起来,QWMA是被X二次方的,我需要一个被Y二次方的项。因此,QWMA不会有任何帮助。
 
Prival:

如果你知道线性回归中系数A和B的当前值,你能计算出RMS吗?


我不认为你可以。回归直线是由两个常数A和B定义的。在A和B相同的情况下,在这条直线周围可以有任何数值的分布。要计算有效值,你还需要X和Y的方差。可能QWMA也是不够的,因为它不包含Y的平方,因此不能确定Y的方差。
 
Yurixx:
QWMA可能也不够,因为它没有对Y进行平方,因此不能确定Y的方差。
是的,我只是忘了,QWMA根本不是Y-squared。当我想起来的时候,我加了一个后记。
 
Yurixx:

但有一点,我不能同意你的观点。RMS值以及回归值本身,不能取决于X轴起点的选择。也许不是公式本身开始给出不同的结果,而是这个计算准确性的问题变得明显。

这正是我所说的计算结果的意思。

虽然我不明白为什么你要除以(N-2)而不是除以(N-1)。

因为回归有一个额外的自由度。Yandex可以帮助解决细节问题,例如:http://cmacfm.mazoo.net/archives/000936.html
我还是要指出,以最大加速度为目标,你应该使用不同的公式。如果你固定选择与当前价格值有关的原点X,使用没有Sum(X*Y)的公式更有利。那么你就不必在每个条上计算卷积。但是,在每个柱子上更新Sum(Y*Y)或Sum(X*X)是一个操作符。
我们已经有了Sum(X*Y)--没有它你就无法计算A和B,它是反复计算的,分三次进行。更仔细地看一下_LR0或MovingLRv3。

P.S. 对于Sum(Y*Y) - 我也有三个操作,对于Sum(X*X) -没有
 
Prival:
数学

二次回归MA = 3 * SMA + QWMA * ( 10 - 15/( N + 2 ) )- lwma * ( 12 - 15/( n + 2 ) )

QWMA( i; N ) = 6/( N*(N+1)(2*N+1) )* sum( Close[i] * (N-i)^2; i = 0...N-1 ) (平方权重向导)。

我有其他配方。

其中

完全相同的公式,谢谢你,Prival。给我类似的与混搭有关的。