随机谐振 - 页 33

 
Prival,你是一位DSP专家。我注意到,这样的专家通常在Foreh上取得良好的效果。请您推荐一些文献,好吗?你知道,DSP本身,信息理论,其他东西...
 

这似乎或多或少有些清楚。

我们需要两个振幅数组,一个用于信号,一个用于噪声。第二个数组已经进入了,因为我们只需要其中的一个值,所以我们简单地存储它,从而释放出数组来满足我们的需要。因此,这个部门应该是这样的。

double thr = data1[hmax];
for(i=0;i<N;i++) {
  if (data[i]<thr) {
    data1[i]=data[i]; 
    data[i]=0.0; 
  } else {
    data1[i]=0.0;
  }
}

但这可能要糟糕得多。原因是事实上需要为频谱密度定义阈值。它的计算代码可以从我的例子中获取,但由于它包含每个频率的虚数和实数振幅,我们将不得不把振幅而不是频率分成两个数组(即指数,每个频率对应两个指数:i和i+1)。因此,看起来我们还需要3个数组--一个用于频谱密度,两个用于指数(频率):信号和噪声。总之,我们要做一些认真的工作,首先要了解变换后FFT的数据文件的格式。klot 的库头中的链接会有帮助。

至于慢,如果没有 "可视化软件 "会更无聊,但你至少可以享受这个过程:)。最小化终端可能会使事情加快一些。

P.S. 对于频率,你可以用一个数组来做--比如说,写1表示信号频率,写-1表示噪声频率。

 

数学

你把我难住了 :)

  1. 虽然我可以看出你的数学水平比你高。我建议从Yukio Sato的 "信号处理初识 "开始。至少对我来说,它一直是这样。如果我不理解过程物理学,我也不能应用数学(它是应用的:))。
  2. 经典。小马普数字光谱分析。IHMO是最好的书,你不需要寻找其他。

我认为对外汇市场来说还有什么是必要的(有用的)。

决定何时进入和退出市场

  1. 瓦尔德。统计解算功能。要特别注意著名的(至少在雷达领域)双门槛瓦尔德探测器。

用于预测价格走势

  1. 法里纳。雷达信息的数字处理。这里要特别注意卡尔曼滤波,从数学上证明,在某些条件下,它比不准确更准确。但这些条件往往有问题,我有一个想法,如何使用它,此外,外汇市场本身消除了许多限制。

统计学,不同种类的分布和它们的分析。

  1. 鲍里斯-鲁维莫维奇-列文。统计无线电工程的理论基础。唯一一个我们找不到错误(错字)的版本。桌面书是我在写论文的时候。

书籍的选择有点特殊,但只要把目标(平面)这个词替换成价格(Close[0]),检测机动性(在价格反转时),然后就可以更清楚地知道可以应用什么:)

全部保存,附有书籍。除了最后一个,其他都是,抱歉。

我再次呼吁大家,如果你有机会和愿望作为一个团队工作,请在Skype(privalov-sv)找到我。Vod链接到步行者http://www.skypeclub.ru/skype.htm。它对沟通非常方便。

有很多想法,足够每个人使用,没有足够的时间和精力。一个个都站不起来了。

地狱,其余的不适合,不通过php。所以你有1条出路:)谁需要这些书 -> Skype,我几乎总是在那里。书籍格式 djvu

附加的文件:
sato.zip  1353 kb
 

致lna01

"但它可能比这更糟糕......。"

你是对的,那里的情况会更糟糕,这只是第一阶段。最主要的是了解如何正确建立指标并优化速度,因为公式将被添加,非常好的公式IHMO。将来我还需要2个缓冲器,用于相位分析+我肯定要用窗口做实验,至少要有两个窗口才行。海明和巴特沃斯。最初的结果是令人鼓舞的。试着只绘制频谱的一次谐波的振幅(没有任何阈值或排序)。获得了一张漂亮的图片,第一印象是,结点决定了设置止损 的时刻。但这仍然需要检查,我明天会试着发一张照片。

 

正如承诺的那样,我正在张贴照片。它变成了非常美丽的东西,你现在可以写一个专家。但在某处有一个错误。也许我不小心撞见了什么。请看一下。

图1.

图2

  1. 如果你改变行中的比较符号,直方图就会消失(见图2)。

如果(data[i]<porog)//与阈值的比较在这种情况下,有一个直方图。

如果是这样

if (data[i]>porog) //此处缺失。

  1. 能量不可能是负的,振幅也不可能是负的,更不可能是它们的总和!!。
  2. 但是视觉上非常好,我把它称为 "趋势曲线能量
  3. "。

P.S. 关于我想在这行代码中做什么的唯一问题就不回答了(如果你发现了错误),请看上面一个指标的大致概念,我想得到什么,在图片中都有。如果你在图片中解释我因为手脚无力而得到了什么。我将为之付出代价。我只是把MACD指标 加了进去,但看起来并不对。

附加的文件:
pvf2.mq4  4 kb
 
Prival:

但如果你能用图片解释我因为手歪而得到的东西。我欠你一个人情。


这个:for(i=hmax;i <N;i++) - 我还是不明白。我的意思是,当然没有必要查看所有的频率,但为什么从hmax开始?

其次,傅里叶变换的结果是复数振幅。因此,每个频率的振幅对应于两个数字:实部和虚部。能量等于sqrt((Re+j*Im)*(Re-j*Im))的模数。 我可以根据自己的情况补充说,Re和Im往往是反相的。把所有东西都砍掉一个阈值是一个非微观的转变,我想不出它的物理意义。总之,能源与此无关。
我重复一遍:需要了解转换后FFT的数据文件格式。 来自klot 库头的链接会有帮助
 

lna01

我想明白了,这就是所有的问题,唯一的问题是我真的把数据格式弄错了。一旦我找到了数据格式(我把问题放到了klot的分支中),我就会拿着一张纸和一支笔坐下来检查加起来的数据。 我已经习惯了matcad。我已经习惯了与matcad打交道。 这是我的错误。关于for(i=hmax ;i <N;i++),你应该从1开始取(甚至把它作为一个单独的变量)。试想一下,如果我们使用sqrt((Re+j*Im)*(Re-j*Im)),有一个明确的物理意义。

 
Prival:

让它成为一个单独的变量

这就对了 :) 。如果我们削减一些频率,并按能量将其余的频率分为 "阈下 "和 "阈上",就不会有物理意义上的困难 :)

P.S. 也许我提到指标太频繁了https://forum.mql4.com/ru/6275 :),但那里的振幅工作做得很正确--你可以直接从中取材。
 
那么图2中的红线是什么?实部和虚部的能量差异?非常有趣。那么指标值区域的数字是什么意思?
 
库中似乎有一个bug,或者我的手又歪了:(把我的问题贴在这里'FFT快速傅里叶变换函数库'),如果有人能检查出来。我说的到底对不对。在matlab中尝试检查。