外推器(Extrapolator) - MetaTrader 4脚本
- 显示:
- 6076
- 等级:
- 已发布:
- 2016.03.29 13:31
- 已更新:
- 2016.11.22 07:33
- 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
本指标是基于多个方法的, 可以在方法的输入变量中选择:
方法 1: Fourier's 外推; 频率使用 Quinn-Fernandes 算法计算
方法 2: 自动关联方法
方法 3: 加权 Burg 方法
方法 4: 使用Helme-Nikias函数的Burg方法
方法 5: Itakura-Saito (几何) 方法
方法 6: 修改的协方差方法
方法 2-6 是线性预测方法. 线性预测是基于使用过往数据通过线性函数计算取得将来的数据. 假定我们有了一些价格 x[0]..x[n-1] 的数值, 其中索引越大是越近的价格. 未来价格 x[n] 的计算为
x[n] = -Sum(a[i]*x[n-i], i=1..p)
其中 a[i=1..p] - coefficients of the model(模型系数), p - order of the model(模型顺序). 列出的方法 2-6 通过载最后n-p个柱进行训练时减小均方差错误以取得系数 a[] . 当然, 如果我们使用Levinson-Durbin方法使用n=2*p直接解出了以上提到的一系列方程, 我们就能在预测中不出错误. 这样的预测方法叫做 Prony 方法. 它的缺点是在未来序列数值的预测中不稳定. 所以没有包含此种方法.
其他的输入参数为:
LastBar - 过往数据中最后的柱编号
PastBars - 用于预测未来数值的过往柱数
LPOrder - 线性模型中过往柱的顺序分数 (0..1)
FutBars - 需要预测的未来柱数
HarmNo - 方法1的最大频率数 (0 表示所有频率)
FreqTOL - 方法1种频率计算的精度 (如果 >0.001 就不能汇总)
BurgWin - 方法2的求权函数编号 (0=Rectangular 1=Hamming 2=Parabolic)
本指标画出两条线, 蓝色线显示训练过的柱的价格, 红色线显示预测的未来价格.
实例:
方法 1 (傅里叶序列外推法)
方法3 (Burg 方法)
方法 6 (修改的协方差方法)
希望:
如果有人成功基于本指标开发了获利的EA, 我想请他/她通过电子邮件分享思路和代码.
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/8608