基于数字滤波器的交易策略 - 页 73

 

频带

MadCow:
辛巴。

由于最终(比如说H1)信号中的任何周期性成分一定存在于原始的M1信号中,但有更好的信噪比,在我看来,应该用M1信号来提取周期性成分。当然,这样做的问题是,那些处于例如20小时周期的成分将很难从M1数据中提取出来,因为M1周期需要60倍于M1的样本数。另一方面,可能有许多成分在M1系列中处于高频率,并多次进入H1系列,导致比实际存在的更多的峰值。

调查这个问题的唯一简单方法是看M1信号和H1信号在同一(绝对)时期的频谱,例如200小时左右。目前可用的R_MESA工具无法做到这一点,因为M1所需的长度超过了编码算法的能力。

MadCow...

Madcow,

是的,应该使用M1信号并与H1,M5,15,M30...在相同的绝对周期内进行比较...这正是我所做的(从M5开始)并在图片上显示...我在H1,M30(1080个M30条),M15,M5中扫描了540个H1条。...对于相同范围的绝对H1频率1/90到1/180...所以,我寻找周期为90到180的H1周期(180到360的M30周期,等等)...我发现所有时间段都有相同的两个周期。

如果我重新进行扫描,寻找8到80个H1周期的周期,在240个H1柱的绝对跨度上,我会发现一个非常不同的画面,每个时间段给我的是不同数量的周期、周期、振幅和相位...这是一个不可交易的混乱,你可以在图片中看到。所以,使用正确的频段,给你提供清晰的周期是处理周期的关键之一......要做到这一点,你需要一个扫描仪,可以扫描至少7k-9k m1条,给你提供高达2k-3k m1条的周期。

分形周期......基本上:在分形重复之前的迭代次数或时间流逝(注意:它可以在相同或不同的时间范围内重复)....,图片中的垂直线标志着分形的后期迭代,分形周期是22或23条(这是分形 )。BTW,在周五收盘时我们完成了一个分形迭代...我对今天的开盘方向移动非常感兴趣,接下来的22条。

http://www.elliottfractals.com/triggers/

拉默特非随机饱和宏观经济学。2005年7月 非随机饱和宏观经济学--一门新科学

尊敬的先生

S

附加的文件:
campc24.gif  66 kb
 
MadCow:
辛巴。

我读过拉默特的东西,到目前为止,我无法理解它的头或尾。似乎很像占星术,但显然有很多人相信他,所以我必须深入挖掘。 他似乎使用了MT4 "fractal.mq4 "中的分形定义,基本上是极值。这与分形周期有什么关系?

但让我开始证明自己的作用。

1.在寻找周期性成分时,不要使用较高的TF价格系列。它们会比M1更嘈杂。 你似乎已经在这样做了......论坛的其他人呢?

2.在M1数据上使用抗混叠滤波器,并对其输出进行子采样,以减少搜索长周期的周期性成分时的计算复杂性。将抗混叠滤波器与你搜索的频率相匹配。

3.3. 在应用FFT或Geortzel时,不要将价格序列 "端点压平"。

前两项我已经在上面讨论过了。

考虑一下第三项。我们可以证明,周期图是静止的白高斯噪声中正弦波的最大似然检测器。我知道FX噪声不是静止的、白色的,甚至不是高斯的,但仍有一个论点,即周期图是一个好东西,可以使用。周期图本质上是信号的傅里叶变换的平方,其缺点是它的方差不会随着处理的序列长度增加而减少。当它被用来估计频谱密度时,数据被窗口化以减少这种 "端点 "效应。但我们感兴趣的是检测成分,而不是估计频谱。如果我们要使用一组带通滤波器来寻找信号,我们就不会首先将价格序列的端点拉平。这显然会适得其反,因为它将降低最近样本的权重。所以在应用FFT或Geortzel之前,不要对价格序列进行端点平移。

4.4.当对分辨率进行调整时,FFT或Geortzel是相等的。当搜索一小部分频率时,Geortzel的效率更高。根据被搜索的频段和所需的分辨率决定的计算效率,可以交替使用这些方法。

5.5.MESA可以很好地估计频谱,在某些情况下(特别是对于时间变化的正弦波)可能比FFT更好。然而,估计频谱和检测正弦波是不同的任务,如果正弦波持续的时间是FFT的时间,MESA在最大似然意义上并不比FFT好,而且很可能不如FFT好。因此,使用FFT并将其分辨率与正弦波的预期持续时间相匹配。忘掉MESA吧,尽管RC的软件很好。

这些只是我的观点,但如果模型被简化,它们可以得到数学上的支持。我也知道不是每个人都会同意,RC和Ehlers会特别不同意,但我只是想按要求提供帮助。

致敬...MadCow...

我不知道论坛的其他人,他们中的一些人可能正在做一些有趣的事情,其他人可能会等待被灌输。

谢谢

S

 

辛巴。

我读过拉默特的东西,到目前为止,我还搞不清楚头绪。似乎很像占星术,但显然有很多人相信他,所以我必须深入挖掘。他似乎使用了MT4 "fractal.mq4 "中的分形 定义,基本上是极值。这与分形周期有什么关系?

注意 ...MadCow...

 

长度可变的Goertzel

我要为突然编辑我之前的帖子而道歉。(你可以在辛巴的回复中看到它的全部内容)。我的理由是,我发现端点平坦化并不是我所想的那样。它只是将两个端点设置为0,并在两个端点之间的每个样本上增加一个小量来进行补偿。它本质上增加了一个非常长的周期分量,我们可以忽略不计。对于足够高的频率,它不会使电流输出失真。另外,我把Goertzel拼错了。

而且我不再觉得FFT或Goertzel是寻找周期性分量的最好方法。

在研究端点平坦化和Goertzel算法时,我发现当我们的目标是用估计的频谱来预测接下来的几个样本时,可能有一个更好的方法来寻找频谱内容。我们可能想使用可变长度的Goertzel滤波器,而不是所有Goertzel实现中的固定长度滤波器。附图显示了以Goertzel_v1.mq4实现的固定长度Goertzel和可变长度Goertzel之间的区别。相当大的差别。

我有一个习惯,就是在分析问题的时候给自己写笔记。随着年龄的增长,我发现这有助于解决困扰我的短期记忆问题(因此,MadCow...)。 所附文件是我对可变长度Goertzel的笔记,以及我为什么喜欢它。我希望得到任何反馈。Vari_length_goertzel_filters.doc

谢谢 ...MadCow...

 

反馈意见

MadCow:
我想为突然编辑我以前的帖子而道歉。(你可以在Simba的回复中看到它的全部内容)。我的理由是,我发现端点平坦化并不是我所想的那样。它只是将两个端点设置为0,并在两个端点之间的每个样本上增加一个小量来进行补偿。它本质上增加了一个非常长的周期分量,我们可以忽略不计。对于足够高的频率,它不会使电流输出失真。另外,我把Goertzel拼错了。

而且我不再觉得FFT或Goertzel是寻找周期性成分的最佳方法。

在研究端点平坦化和Goertzel算法时,我发现当我们的目标是用估计的频谱来预测接下来的几个样本时,可能有一个更好的方法来寻找频谱内容。我们可能想使用可变长度的Goertzel滤波器,而不是所有Goertzel实现中的固定长度滤波器。附图显示了以Goertzel_v1.mq4实现的固定长度Goertzel和可变长度Goertzel之间的区别。相当大的差别。

我有一个习惯,就是在分析问题的时候给自己写笔记。随着年龄的增长,我发现这有助于解决困扰我的短期记忆问题(因此,MadCow...)。 所附文件是我对可变长度Goertzel的笔记,以及我为什么喜欢它。我希望得到任何反馈。variable_length_goertzel_filters.doc

谢谢 ...MadCow...

MadCow。

在我看来,从你的.doc中可以看出

1-你所有想法的基础是,Goertzel需要3*最大周期的采样率,所以,如果你想扫描200个周期的周期,你至少需要600个样本...对。

2-因此,低周期的周期(高频率)可能并不代表目前真正发生的情况......例如,在过去600个柱子的跨度中发现的13个柱子的周期可能现在不存在,是的,你完全正确。

3-从概念上讲,可能有一个更简单的解决方案,那就是分别扫描几个频段......因此,如果你想确认你发现的13个周期,你必须重新扫描过去的39个柱子,或者,甚至更好,在过去60个柱子上扫描频率为1/10至1/5的周期。

结论......你需要做不同的扫描。JM Hurst在他1600页的课程中暗示了这一点,Brian Millard也详细解释了....,或者,你可以建立一个多频率、多范围的扫描器,以相关的 "最大周期与扫描长度 "的 "块 "进行扫描...这将是真正的原创和创新。

谢谢

S

 
SIMBA:
MadCow,

正如我从你的文件中看到的那样

1-你所有想法的基础是,Goertzel需要3*最大周期的采样率,因此,如果你想扫描高达200个周期的周期,你至少需要600个样本...对。

2-因此,低周期的周期(高频率)可能并不代表目前真正发生的情况......例如,在过去600个柱子的跨度中发现的13个柱子的周期可能现在不存在,是的,你完全正确。

3-从概念上讲,可能有一个更简单的解决方案,那就是分别扫描几个频段......因此,如果你想确认你发现的13个周期,你必须重新扫描过去的39个柱子,或者,甚至更好,在过去60个柱子上扫描频率为1/10至1/5的周期。

结论......你需要做不同的扫描。JM Hurst在他1600页的课程中暗示了这一点,Brian Millard也详细解释了....,或者,你可以建立一个多频率、多范围的扫描器,以相关的 "最大周期与扫描长度 "的 "块 "进行扫描...这将是真正的原创和创新。

注意事项

S

显然,你在这个问题上领先于我。 很高兴能得到确认,我还能有逻辑地思考。

我看了看不同扫描的使用情况,决定试图在长块中寻找短周期可能会错过它们,所以我可能永远不会回去确认它们是否存在。另外,查看许多块也需要大量的额外计算。所以我看了看代码,决定我可以修改Goertzel_v1的代码,直接做多频、多跨度扫描。这段代码实际上比原来的_v1更简单,需要的计算周期也更少。 创新,还是只是运气? 在我之前的文章中使用了修改后的Goertzel_v1(现在是_v2)。

附上两个修改,_v2做的是没有端点扁平化的工作,虽然可以通过删除代码中的一些注释来添加。_v3完成了整个工作,包括每个区块/周期的端点压平。你可以使用numcycles变量来改变寻找的最小周期数。这将改变过滤器的分辨率,更多的周期可以提供更好的分辨率,但需要更多的样本,因此允许过去的信号与当前的信号相干扰。你也可以通过设置useclose为false来使用中位价而不是收盘价。在我看来,这并没有什么区别。

我的编码技能相当生疏,所以端点扁平化可能有编码问题,但我认为没有。如果没有编码问题,那么EPF对多频率扫描就没有帮助。

接下来我将采取的几个步骤是决定如何选择用于预测的组件,以及如何估计预测的寿命。我倾向于使用测量每个滤波器持有峰值的信噪比来选择峰值,而不仅仅是振幅,但我还没有关于预测寿命的线索,也许实验会有帮助。有什么建议吗?

谢谢 ...MadCow...

goertzel_v3.mq4[/ATTACH]

附加的文件:
 

建议

MadCow:
显然,你在这一点上领先于我。 很高兴能得到确认,我还能有逻辑地思考。

我研究了不同扫描方式的使用,并决定试图在长块中寻找短周期可能会错过它们,所以我可能永远不会回头去确认它们是否存在。另外,查看许多块也需要大量的额外计算。所以我看了看代码,决定我可以修改Goertzel_v1的代码,直接做多频、多跨度扫描。这段代码实际上比原来的_v1更简单,需要的计算周期也更少。 创新,还是只是运气? 在我之前的文章中使用了修改后的Goertzel_v1(现在是_v2)。

附上两个修改,_v2做的是没有端点扁平化的工作,虽然可以通过删除代码中的一些注释来添加。_v3完成了整个工作,包括每个区块/周期的端点压平。你可以使用numcycles变量来改变寻找的最小周期数。这将改变过滤器的分辨率,更多的周期可以提供更好的分辨率,但需要更多的样本,因此允许过去的信号与当前的信号相干扰。你也可以通过设置useclose为false来使用中位价而不是收盘价。在我看来,这并没有什么区别。

我的编码技能相当生疏,所以端点扁平化可能有编码问题,但我认为没有。如果没有编码问题,那么EPF对多频率扫描就没有帮助。

接下来我将采取的几个步骤是决定如何选择用于预测的组件,以及如何估计预测的寿命。我倾向于使用测量每个滤波器持有峰值的信噪比来选择峰值,而不仅仅是振幅,但我还没有关于预测寿命的线索,也许实验会有帮助。有什么建议吗?

谢谢 ...MadCow...

goertzel_v3.mq4[/ATTACH]

MadCow,

1-如何决定采取哪种成分进行预测:使用你的3个v3,将每个v3设置为(MaxPer-MinPeriod):50-10,100-50,200-100。

2-然后在每个V3中只选择一个周期,即振幅最大的那个。

3-然后用3个周期中的每个周期的周期性、振幅和相位,把它们加到一个组合中。

4-预测的长度......除了计算李亚普诺夫指数 ? 经验法则,IMO,是使用最短周期的三分之一到一半的条。

现在,你可能想相信我或不相信我,而且,真诚地说,你没有任何理由,因为我不会解释为什么,除了告诉你我已经去过那里,做过那里......

5-SNR:忘了它吧,它不起作用,你可以尝试很多方法,但它们对选择好的周期不起作用。

6-使用所有的周期吗......;)......试试吧,你就会开始相信我了。

7-使用3个周期,但只是从10-200的最高振幅的周期?它可以工作,通常不工作,你最终会失去所有的短周期周期。

8-你想使用许多周期?这行不通,但如果你使用平方振幅,它可以工作,在任何情况下,不要使用超过8个周期。

现在......我可以给你最好的建议,到目前为止,交易(而不是预测)这些周期的最好方法是按照我在第1和第2条中写的那样做,然后......

我使用的是度数而不是弧度,所以当3个周期在180度以上对齐时,你可以期待一个上升运动,当它们在0到179度之间对齐时,你可以期待一个下降运动...在实践中,我使用的规则是高于180和低于270(多头),高于0和低于90(空头)...然后,一旦你有了排列,等待价格确认,特别是趋势线的突破,在进入交易之前,使用与你正在交易的时间框架的ATR相关的目标,并使用低于前低/高于前高的止损...如果TP大于SL,则进行交易,如果不是,则通过....Oh,还有一个小细节,总是在较大的时间框架的方向上交易

尊敬的先生

S

 

关于赫斯特的链接

有趣的链接... http://wintrend.com/Reports/TCPToday.pdf

顺便说一下......10月16日是sp500的转折日期,然后是11月2日,然后,DA TOP......在11月13日和12月9日之间(对不起,准确的数据只是为了慈善机构 )。是的,是的,报告中的人说的不一样,但不是他就是我错了,猜猜是谁?......哈哈哈哈。当10月16日来临时,看看它并决定。

S

 
SIMBA:
MadCow,

1-如何决定采取哪些成分进行预测:使用你的3个v3,将每个v3设置为(MaxPer-MinPeriod):50-10,100-50,200-100。

2-然后在每个V3中只选择一个周期,即振幅最大的那个。

3-然后用3个周期中的每个周期的周期性、振幅和相位,把它们加到一个组合中。

4-预测的长度......除了计算李亚普诺夫指数 ? 经验法则,IMO,是使用最短周期的三分之一到一半的条。

现在,你可能想相信我或不相信我,而且,真诚地说,你没有任何理由,因为我不会解释为什么,除了告诉你我已经去过那里,做过那里......

5-SNR:忘了它吧,它不起作用,你可以尝试很多方法,但它们对选择好的周期不起作用。

6-使用所有的周期吗......;)......试试吧,你就会开始相信我了。

7-使用3个周期,但只是从10-200的最高振幅的周期?它可以工作,通常不工作,你最终会失去所有的短周期周期。

8-你想使用许多周期?这行不通,但如果你使用平方振幅,它可以工作,在任何情况下,不要使用超过8个周期。

现在......我可以给你最好的建议,到目前为止,交易(而不是预测)这些周期的最好方法是按照我在第1和第2条中写的那样做,然后......

我使用的是度数而不是弧度,所以当3个周期在180度以上对齐时,你可以期待一个上升运动,当它们在0到179度之间对齐时,你可以期待一个下降运动...在实践中,我使用的规则是高于180和低于270(多头),高于0和低于90(空头)...然后,一旦你有了排列,等待价格确认,特别是趋势线的突破,在进入交易之前,使用与你正在交易的时间框架的ATR相关的目标,并使用低于前低/高于前高的止损...如果TP大于SL,则进行交易,如果不是,则通过....Oh,还有一个小细节,总是在较大的时间框架的方向上交易

谢谢

S

辛巴...

谢谢你的慷慨解囊。我想你已经为我节省了许多天毫无结果的搜索。我将尽可能地利用这些信息。

有几件事情我应该向论坛解释一下,以防有人希望使用_v2或_v3。

首先,相位计算似乎与MT4的MathArctan函数 定义相矛盾。我还没有测试过相位计算,所以要小心使用它。我只是在_v1中保持了它的原样。

第二,尽管你可以像 Simba 建议的那样从不同的块中选择成分,但在计算时没有必要将频谱分成几个块。事实上,如果你这样做,你可能会错过一个区块边缘的重要成分。整个周期性可以一次性计算出来,因为每个周期的块长都是独立计算出来的。但是,正如辛巴所说,一图胜千言。这是一次计算的频谱,与在有限的周期内分别计算的部分进行比较。

注意...MadCow...

附加的文件:
 

欢迎

MadCow:
辛巴...

谢谢你的慷慨解囊。我想你已经为我节省了许多无果的搜索时间。我将尽可能地利用好这些信息。

有几件事我应该向论坛解释,以防有人想使用_v2或_v3。

首先,相位计算似乎与MT4的MathArctan函数定义相矛盾。我还没有测试过相位计算,所以要小心使用它。我只是在_v1中保持了它的原样。

第二,尽管你可以像 Simba 建议的那样从不同的块中选择成分,但在计算时没有必要将频谱分成几个块。事实上,如果你这样做,你可能会错过一个区块边缘的重要成分。整个周期性可以一次性计算出来,因为每个周期的块长都是独立计算出来的。但是,正如辛巴所说,一图胜千言。这是一次计算出来的频谱,与在有限的周期内分别计算出来的部分进行比较。

致敬...疯牛...

欢迎。

我认为,如果你不把频谱分成几块,你就死定了。但是,好吧,不说了,让我们在几个月后看看你的想法。

我放假3个星期,会尽量保持每周一次的联系。

谢谢

S