DC2008:
А зачем такая точность числа ПИ?
您确定公式正确吗?请与以下http://dspsystem.narod.ru/add/win/win.html 进行比较
Скользящая средняя на основе цифрового фильтра. В данном примере используется Hann Window. Для изменения коэффициентов фильтра, редактируйте следующие строки в OnInit():
关于术语,抱歉,您更改的不是滤波系数,而是窗口系数。它们是不同的东西。在你的例子中,数字滤波器 (DF) 是移动平均线 (MA) , 它(MA)可以与任何窗口一起使用(上面的链接提供了其中的一小部分)。每个窗口(有很多)都有特定的用途。通常,它能改善 DF 的某些特性,但您必须为此付出代价,没有什么是不劳而获的,输出频谱会出现失真。
至于 Pi 的准确性,准确性从来都不是多余的。 我们 总是有时间加载结果。这里有一个简单的设置方法https://www.mql5.com/zh/code/8309。
这是一个非常不错的解决方案。
pi = 4*MathArctan(1);
不要将 pi 定义为变量。让它成为一个常数。
但也不需要额外的字符。对于 double,我们知道可以存储的字符数。
您不应该将 pi 定义为变量。最好让它成为一个常数。
但也不需要额外的字符。对于 double,我们知道可以存储的字符数。
您确定公式正确吗?请与以下http://dspsystem.narod.ru/add/win/win.html 进行比较
关于术语,抱歉,您更改的不是滤波系数,而是窗口系数。它们是不同的东西。在你的例子中,数字滤波器 (DF) 是移动平均线 (MA) , 它(MA)可以与任何窗口一起使用(上面的链接提供了其中的一小部分)。每个窗口(有很多)都有特定的用途。通常,它可以改善 DF 的某些特性,但你必须为此付出代价,没有什么是不劳而获的,输出频谱会出现失真。
哈恩窗口和其他类似窗口有不同的公式。仔细想想,它们都是一样的。您链接中的公式有一个很大的缺点:在 n=0 和 n=N-1 时窗口值为零。由于价格乘以零是没有意义的,因此窗口只存在于 n=1...n=N-2 的价格中。现在,让我们用 Per 表示窗口不等于零的价格数,就像我所做的那样,那么我们就得到 N-2=Per 或 N=Per+2。将这个 N 代入您链接中的哈恩公式,您将得到与我相同的公式。
关于指标的名称,名称是对的。根据定义,我所构建的是一个具有有限脉冲响应的数字滤波器
根据输入定义 FIR 滤波器输出的差分方程 为
y[n]=b_0 x[n] + b_1 x[n-1] + ...+ b_N x[n-N]
其中
- x[n] 为输入信号,
- y[n] 为输出信号,
- bi 为滤波器系数,
- N 为滤波器阶数 。
参见http://en.wikipedia.org/wiki/Finite_impulse_response
我从事电子技术工作已经 21 年了。感谢您的评论。能与知识渊博的人交流真好。
哈恩窗和其他类似的窗户有不同的公式。仔细想想,它们都是一样的。您链接中的公式有一个很大的缺点:在 n=0 和 n=N-1 时,窗口值为零。由于价格乘以零是没有意义的,因此窗口只存在于 n=1...n=N-2 的价格中。现在,让我们用 Per 表示窗口不等于零的价格数,就像我所做的那样,然后我们得到 N-2=Per 或 N=Per+2。把这个 N 代入你链接中的哈恩公式,就会得到与我相同的公式。
....
谢谢你的维基百科链接。我将尝试用公式来说明, 。
对于您的情况,更准确的公式写法是
y[n]=a_0*b_0* x[n]+a_1*b_1* x[n-1] + ...+a_N*b_N* x[n-N]
x[n] 是输入信号、
y[n] 为输出信号、
bi 是滤波器系数,而
а[i] 是 窗口系数、
N 是滤波器阶数
也就是说,您将 DF 系数(b) 和窗口系数(a) 进行了卷积。
是的,你说得对,窗函数的书写公式是不同的。但造成这种差异的原因在于卷积是在频域还是时域进行的。而这些公式是通过傅立叶变换http://ru.wikipedia.org/wiki/Оконное_преобразование_Фурье 严格联系在一起的。
虽然公式相似,但千万不要混淆卷积是在哪个域中进行的,否则就会出现 "天罡"。
关于n。在公式中,确定是从 0 还是 1 开始是非常重要的("......窗口只适用于 n=1 的价格.....n=N),如果移动 1,那么一切都会移动,N-1 就会变成N,而不是N-2
哈恩窗口的精确公式如下
p(t) = 0.5[1+cos(pi*t/tac)].
如果您想更深入地了解这一主题,我在附件中提供了一份讲座文件。
对于交易者
我将尝试用一个大家都知道的例子来解释我们在谈论什么。
https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/ma
大家都知道
(a) 简单移动平均线 (SMA)。
它的窗口是矩形的,即每个价格值的权重 a[i]= 1 相同,与历史深度无关。
b) 线性加权移动平均线(LWMA)
在加权移动平均法中,最近的数据权重较大,较早的数据权重较小。
即窗口系数 a[1]=1,a[2]=1/2, a[3]=1/3 ....a[n]=1/n
所以。 gpwr 无线电工程师总是能与电子工程师找到共同语言,尤其是如果双方都不是新手,都会说一种通用语言--数学语言。
FIR_filter:
移动平均, 使用数字滤波器计算。
作者: Vladimir