用傅里叶变换预测未来 - 页 2

 
ANG3110:

只有附件中的指标没有画出任何东西。

它确实如此。将图表向左滚动,你会看到。

 

在平行主题"不是马什卡的事!" 中,有一个关于用 "完美MA "进行预测的讨论。我相信只有使用傅里叶和阈值处理才能获得完美的平滑效果,就像这里做的那样。最准确的估计就在样本窗口的中间位置。你需要做类似的研究,但要基于这种算法而不是MA。

其次,你可以在数学上精确地证明阈值(porog)的价值,从而摆脱对这个价值的尝试(寻找最佳)。

第三,为了增加预测时间,你需要增加现值测量的准确性,这有两种可能--同时分析多种货币,或增加报价的供应商数量。优化。在VB(VBA)中的DDE'。

 

要看到未来。

必须在图形窗口设置中选择"偏移图形"复选框。

外部int InPast=0。

外部 inttern Futur=100,预测多少条。

 

至于porog,原则上我将重做这部分,因为当一个频率超过阈值时,图表会发生剧烈的变化,也许我将保持它在klot时的状态,或者我将做一个平滑的减少

 

有趣的idyuk,谢谢你!

在测试器中试了一下,可以说是在真实条件下。有时似乎是这样,但有时则相反,特别是在强势动作之前或强势动作结束时。

当3个不同幂数的指标,例如8、9和10被应用到图表上时,就会形成非常有趣的情况,而且它们往往看向不同的方向。如果我们尝试使用这3个指标的平均值呢?

你试过吗?

 
m_keeper:

至于porog,原则上我将重做这部分,因为当任何频率越过阈值时,图表会发生急剧变化,也许我将保持它在klot时的状态,或者我将做一个平滑的减少

我还想做一件事,摆脱FFT(二度不是寻找最佳窗口的最佳选择)。最好是一个离散的变换。

关于阈值,有诺伊曼-皮尔逊标准,理想的观察者,查一查。这个理论的应用将允许摆脱优化(在历史上寻找最佳值),并允许制定一个适应性的阈值,有相当多的变体实现。

 

看起来数字转换器的角落现在在这个主题里:),那么这里有一个思考问题。如果你对价格图表采取平均谱密度,你会得到这样的图片


你可以看到,对于低频来说,它不是一个坏的1/f,但对于高频来说,有一个明显的偏离这个规律。这个问题前段时间被讨论过,主要版本建议我们有某种数字化的噪音。我们的想法是,过滤掉这部分内容可能是有用的。也就是说,在整个频率范围内留下一个干净的1/f。而问题是如何做到这一点。这个想法是要有一些程序,将频谱密度阵列作为输入,输出数字滤波器的 系数。原则上,我可以为傅里叶振幅想到一个简单的加权函数,但使用数字滤波器会更经济。
 

库中现在包含__lib_FFT.mq4文件,而指标文本中包含#_lib_FFT.mq4,这就是为什么它没有被画出来。

 
Prival:
m_keeper:

至于porog,原则上我将重做这部分,因为当任何频率越过阈值时,图表会发生急剧变化,也许我将保持它在klot时的状态,或者我将做一个平滑的减少

我还想做一件事,摆脱FFT(二度不是寻找最佳窗口的最佳选择)。最好是一个离散的变换。

关于阈值,有诺伊曼-皮尔逊标准,理想的观察者,查一查。应用这一理论将摆脱优化(在历史上寻找最佳值),并允许你做一个适应性的阈值,有相当多的实施选择。

原则上说,摆脱第2级是非常容易的。

w=2*pi/T;

for (int k=0; k<=N; k++)
   {                                                              
      sum_cos=0.0; 
      sum_sin=0.0;                                           
      for (int n=0; n<T; n++) 
      {
         sum_cos+=Close[n]*MathCos(k*n*w); 
         sum_sin+=Close[n]*MathSin(k*n*w);
      }
      ak[k]=sum_cos*2/T; 
      bk[k]=sum_sin*2/T;
   }
   ak[0]=ak[0]/2;
   //------------------------------------
   for (n=T-1; n>=0; n--)
   {                                                        
      sum=0.0;                                       
      for (k=0; k<=N; k++)
      {                                                             
         sum+=ak[k]*MathCos(k*n*w)+bk[k]*MathSin(k*n*w);
      }                                                             
      fx[n]=sum;
   }

N - 谐波的数量。

T-期间。


最佳窗口,或者更准确地说,最佳周期T最容易通过两个标准来选择,即最小有效值和最大谐波振幅之和。但由于市场上有多个波段,会有几个最佳窗口。

而且你还应该考虑到,当你试图推断时,由于周期性的正弦和余弦,以前的周期性成分会简单地加到最后,即使重复的概率相当高,相位,特别是振幅仍然会有所不同,事实上你应该总是调整相位,就像相位检测器一样。


相位定义为MathArctan() 是不好的,因为arctan属性,至少要考虑到+/-pi/2。

最好以稍微不同的方式来定义这个阶段。

 

没有必要脱离FFT,事实上,没有必要将数列完全分成两半,它的划分是为了提高计数速度,而不是因为必须严格除以2。我曾经研究过FFT,它适用于任何长度的序列,我以后会在某个时候为mql重写它。


我试图找出哪些特征可能预示着假阳性的出现

这里有两张图片,分别是n=9和n=10。

在这两种情况下,窗口的尾巴都遇到了未来可能出现的尖峰。

现在我正在试验系列化的预处理,也许会有帮助。


改变了平滑条件,现在没有图表跳动,一切运行平稳。


至于图表被重新绘制,我没有看到任何问题。

收盘价 不是过去,但产生它们的事件--波浪(在傅里叶的例子中)--是过去。

而我们在每一个新的酒吧里都能越来越多地了解他们。

附加的文件: