测试实时预测系统 - 页 53

 
grasn писал(а)>>

Yurixx

我建议玩好古老的顶针,你可以使用任何策略,在任何地方寻找:o)预测欧元兑美元M15的300个样本(包括从周一到周三)。

选择1

过程熵:13.84

变体2

过程熵:13.01

选择3

过程熵:14.36

你拿的是哪个顶针?:о)

我倾向于选项1,因为这种情况已经发展了很长时间,只是在等待着继续发展。

 
forte928 >> :

我倾向于选项1,因为这种情况已经发展了很长时间,只是在等待继续发展。

也就是说,现在的价格是否经过了某种反转区?只是出于好奇,如果不是太麻烦,你能详细说明一下吗?

 
grasn писал(а)>>

那么,价格现在正通过某种枢轴区?只是出于好奇,如果不是太麻烦的话,请详细说明一下。

目前,有第一个因素,在此基础上,我们可以得出关于欧元-美元对的横向平坦的结论--。

在1.3437和1.3937观察到完全相同的波动,随后出现回调,对应的水平是0.382、0.618和1.00。

在第二张图中,同样的图表,但相对于低点--1.4162和目前的1.4951,计算出的增长水平,如果你在这个价格图表的基础上,1.4951和1.4851,你可以看到,价格只是在过去两天这些指标的平均波动水平的平衡点...此外,在图表中的下降指标已经显示了一个饱和水平,在这个水平上应该发生反转。

但有几件事不允许这种情况发生。

1)日线图显示负增长运动(底部指标)。

2) 日线图在1.4877的第一个指标上达到了0.382的盘整水平

3) 日线图在第二个指标上达到COP的巩固水平1.4892

4)在H4图表上有积极的反对向上运动的声音

5) 存在两个相对于9月底OP和0.236的低点的盘整水平(1.4931和1.4933),这有力地表明存在一个长期的修正。

待续...

 

Grasn,我可以问你一个问题吗?你有没有试过在时间序列中寻找临界点?

更新:我问这个问题是因为我正在朝这个方向挖掘(而且有些东西正在往上看)。下面是我寻找关键点的一个例子。


关键点

正如你所看到的,在该系列改变其行为之前,指标振荡的特征急剧变化(有大振幅的爆发,更确切地说,最大值/最小值开始与函数f(x)=a^x的图形完全匹配)。尖峰出现的时间比系列变化的行为早一些(通常是:)。然而,到目前为止,我还没有很好地掌握它。我必须在双精度的极限下工作(数字非常小)+我缺少方向性的预测。

 
grasn писал(а)>>

假设有这样一个构造。

根据我的理解,当某些条件触发时,它将动态地增加数组memRow[]。也就是说,我事先不知道数组的长度。我说对了吗?

1.在MKL4中,你不能对数组进行操作,因为它的大小还没有被定义。如果你在声明数组时没有指定大小,你将不得不在init()中进行指定。此外,在工作时,你可以根据需要改变这个尺寸。

2.2.Lea的 建议相当实用,值得一听。一般来说,为了使建议充分,你最好清楚地解释阵列的用途,以及为什么需要改变其大小。很有可能你会满足于只分配空间并有一个带有最后一个元素索引的变量。那么,你是否知道你所需要的元素数量,其实并不重要。

.

我不玩顶针。但我更喜欢变体2,或者我只想让euR增长?:-)

但变体1和3也是可以的,尽管它们之间的差别不大。

 
Yurixx >> :

1.在MKL4中,你不能对数组进行操作,因为它的大小没有被设定。如果你没有指定数组的大小,你将不得不在init()中进行指定。

1 完全没有义务。

声明一个数组而不定义其大小,将数组的准备过程分成了三个部分。

1这样的声明--通过这个程序,程序员告诉编译器该阵列是全局的还是局部的。

2 通过ArrayResize()设置大小 - 在这个过程之后,数组实际上已经可以工作了。

3 初始化 - 如果没有指定,数组保持原样(并存储过去的启动值),当数组被创建时,它被自动初始化为0。

 
grasn >> :

谢谢,我会试一试,但我无法评估哪个是最佳的。另一方面,对于一个小数组,我也不知道它的维度,此外,在这个实现中,我需要将数组加倍,首先是小数组,然后是大数组,在其中积累计算值。但我必须进行实验,谢谢你的提示。

根据我的经验,我建议在需要使用的地方直接定义和使用数组,这样的数组大多是本地的,它们动态地使用内存,这与静态数组相比更好,因为静态数组希望或不希望风把它们移到交换文件中,因此它们的工作变得比从RAM中慢很多倍,特别是如果数组很小,静态地为它们保留很多空间没有意义。MQL-4编译器的设计是,你不会感觉到用显式大小声明数组和延迟声明数组的区别。

 
Urain писал(а)>>

根据我的经验,我建议在需要使用数组的地方直接声明和使用数组,这样的数组在大多数情况下都是本地的,这些动态使用的内存与静态数组相比更好,你想不想让Windows把它们放到交换文件中,因此它们的工作变得比从RAM慢很多倍,如果数组越小,那么静态地为它们保留很多空间就没有意义。

我不明白...为什么本地阵列不能在交换文件中被抢占?事实上,当内存不足时,它会在那里被抢占;我确信本地和全局数组都会以完全相同的方式被抢占。有什么区别?

 
lea >> :

我不明白的事...为什么本地阵列不能在交换文件中被抢占?一般来说,当内存不足时,它会被推到那里;我确信本地和全局都会以完全相同的方式被推到。有什么区别?

静态数组有机会在程序的每次调用中被创建,并在交换时被新创建的数组挤掉。尽管如果有足够多的内存,这可能不会发生。

 
Urain >> :

1 完全没有必要。

声明一个数组而不定义其大小,将数组的准备过程分成了三个部分。

1这样的声明--通过这个程序,程序员告诉编译器该阵列是全局的还是局部的。

2 通过ArrayResize()设置大小 - 在这个过程之后,数组实际上已经可以工作了。

3 初始化 - 如果没有指定,数组保持原样(并存储过去的启动值),当你创建一个数组时,它将自动初始化为0。

如果你在init()中用ArrayResize()设置了大小,这个数组在start()中就没有任何大小,你应该在使用数组的函数中指定大小,在用户函数中使用数组也是如此。如果数组是通过参数传递的,它的大小不应该在用户定义的函数中指定,而应该在start()中指定(如果函数是由initiate调用的,则在init()中指定),然后在被调用函数中指定。例外的是指标数组,当指标状态被分配到SetIndexBuffer()中的数组名称时,其大小被分配为等于Bars,并且它随着Bars的变化而变化。

所以,亲爱的,你的解释不仅是无用的,而且是有害的,因为它占用了人们的时间去寻找真相。

Urain,你在误导人们。MQL数组,包括本地数组,都有持久性--它们的大小和内容在函数调用和抽查之间被保留下来。请阅读《帮助》。全局数组的行为方式是一样的,唯一的区别是它们有一个全局范围。在init函数中分布的数组在start和其他地方都是可读的。如果有人对MQL编程的某些方面有疑问,我建议开一个新的主题。我希望在这里看到更多关于预测的实质性对话。;-)

如果你有任何问题,请从这个论坛上过滤信息;-)。如果你更详细地描述这个问题(你可以亲自去做),我们(我)会想出如何更好地实现它。