指标: 应用加权相关系数的最近相邻发现, 进行价格预测 - 页 2

tolga gogebakan:

有一个警告。您能帮帮我吗?非常感谢。

这是良性的--请继续使用,因为它不会影响指标的工作
您好,弗拉基米尔,非常感谢您分享您美丽、令人敬畏、令人惊叹、令人难以置信的未来主义先进思想和理念。无论是 mql4 还是 mql5,我都是您的粉丝。让我们继续保持下去。我也非常感谢 McLaden 的帮助,虽然解释很短,但非常有用。上帝保佑你们。

为作者点赞!

一切都写得睿智而紧凑。谢谢。

如果你还在做的话,有一些改进的愿望。

1.在历史记录中,有必要绘制的不是相邻点,而是预测的最后一点,并按其长度(Nfut)向后移动。也就是说,计算并绘制过去某个区间的预测值。这样,预测的质量就显而易见了。但是,该指标需要很长时间来思考启动.....。

2.一个邻居很少!结果不稳定。

从理论上讲,有必要取相邻数=起始向量(即模式)的 3 个长度,然后取所有预测的平均值(最好是权重与相关系数成正比)。

嘿,弗拉基米尔、

我想和你谈谈这个指标 的定制工作。

如果可以,请联系我:najnudel@gmail.com。

谢谢

我认为正确率为 50:50,但预测结果对人工交易 很有用。

我有一种改进的近邻算法,用于我的目的。它克服了上述缺点。其原理很简单。在历史模式 中搜索近邻时,存储所有过去的 模式、已知的未来模式以及这些过去 模式 与当前模式 之间的相关系数。我们称这些相关系数为 r,它是所有过去相关性的向量。我们可以使用所有过去的模式 作为 "近邻",而不是选择 Abs (r) 最高的模式 作为近邻,但要对它们的贡献进行加权,即 exp(sw*abs(r)),其中 sw 是用户选择 的指数,用于控制预测相关系数最高的过去模式 的选择性。如果 sw 值很大,预测结果将只受相关性最强的相邻模式(真正的 "最近相邻模式")的影响。如果 sw 值很小,则所有过去的模式都同样重要。了解这一想法的人可以重写上述代码并发布一个新指标。下面是在 Matlab 中的实现。如果只需要包含过去具有正相关性的形态,请删除 r = abs (...) 中的 abs () 函数。这样,过去的负相关模式就会自动拥有最低权重。

% Inputs % sp is a time series to be predicted as a column vector np=100; % past pattern length nf=np; % future pattern length sw=100; % weighting exponent in kNN % Compute correlations to past patterns in sp m  =numel(sp);% number of bars in sp x  =sp(1:m-np-nf);      % past patterns y  =sp(m-np-nf+1:m-nf); % current past pattern f  =sp(np+1:m-nf);      % future patterns yf =sp(m-nf:m);         % current future pattern Sx =movsum(x,np,'Endpoints','discard'); Sxx=movsum(x.^2,np,'Endpoints','discard'); Sy =sum(y); Syy=sum(y.^2); Sxy=conv(x,flip(y),'valid'); num=Sxy*np-Sx*Sy; den=Sxx*np-Sx.*Sx; r  =abs(real(num./sqrt(den)/sqrt(Syy*np-Sy*Sy))); % Find nearest neighbor and extrapolate w=exp(sw*r); wsum=sum(w); w=w/wsum;% weighting coefficients of past patterns a1=num./den; a0=(Sxx.*Sy-Sx.*Sxy)./den; a1=w.*a1; a0=w.*a0; a0_sum=sum(a0); xp=conv(x,flip(a1),'valid')+a0_sum; % composite matched past pattern xf=conv(f,flip(a1),'valid')+a0_sum; % predicted future pattern xf=[xp(end);xf]; % Plot figure plot(1:np,y,'-k'); hold on; plot(1:np,xp,'-b'); hold on; plot(np:np+nf,yf,':k'); hold on; plot(np:np+nf,xf,'-r');
Vladimir 用户选择 的指数,用于控制预测相关系数最高的过去模式 的选择性。如果 sw 值很大,预测结果将只受相关性最强的相邻模式(真正的 "最近相邻模式")的影响。如果 sw 值很小,则所有过去的模式都同样重要。了解这一想法的人可以重写上述代码并发布一个新指标。下面是在 Matlab 中的实现。如果只需要包含过去具有正相关性的形态,请删除 r = abs (...) 中的 abs () 函数。这样,过去的负相关模式将自动拥有最低权重。

弗拉基米尔,我明白你的意思。
,但这仍然是一个随机预测。

大约 10 年前,我在寻找模式方面做了很多实验。其中包括镜像、反转、相加。结论是--将父子关系延续到未来完全是随机的。所有的巧合都是随机的。

Nikolai Semko #:

弗拉基米尔,我明白你的意思。
,但这仍然是随机预测。

大约 10 年前,我做过很多关于 paternos 搜索的实验。用镜像、反转、求和等方法。结论是--将父线延续到未来完全是随机的。所有的巧合都是随机的。

我同意

Nikolai Semko #:

弗拉基米尔,我明白你的意思。
,但这仍然是随机预测。

大约 10 年前,我做过很多关于 paternos 搜索的实验。用镜像、反转、求和等方法。结论是--将父线延续到未来完全是随机的。所有的巧合都是随机的。

如果考虑到实时性,则完全不是。如果把时间因素排除在外,就会产生随机性。

okayjustask 手动交易 很有用。

这套代码需要稍加改进,但好吧,你的想法确实有道理

12
要添加评论,请登录注册