Ну например (и это самый простой пример) поиск локальных экстремумов (не на графике) по условию y[n]>y[n+1] и y[n]<y[n-1] и соответственно для минимума. Я понимаю, что можно решить несколькими способами, например таким:
Создать массив такой же длины, как и исходный ряд, кодировать в нем 0 и 1 наличие экстремума.
Выполнить первую итерацию собрав расчет экстремумов
Пересчитать количество экстремумов
Инициализировать массив этой величиной
Записать значения в новый массив
Это называется левой рукой за правое ухо. Я постоянно делаю это в своих программах, но работаю в один проход, чтобы не тратить зря вычислительные ресурсы и время. Закон такой: выигрываешь в памяти - проигрываешь во времени и вычислениях. Лично мне кажется, что память менее критична для трейдинга. Поэтому можешь смело создавать даже два массива такой же длины и писать в один значение экстремума, а во второй его координату, непосредственно по ходу их формирования.
致forte928
В данный момент есть первый фактор на основании которого можно сделать вывод о боковом флете на паре евро доллар -
在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),这有力地表明存在一个长期的修正。
待续...
非常感谢你的澄清,我必须说我几年前就放弃了TA(对我自己而言),但阅读有能力的分析并与我的预测进行比较总是很有趣。你能否澄清 "巩固水平 "一词,以便更好地理解并避免术语的混淆。
征求意见
你有没有尝试过寻找时间序列的临界点?
不,我没有,而且到目前为止我也不知道如何找到它们。我使用了 "时间序列记忆 "这样一个概念。这是一个有点特殊的术语,它可以在神经网络、分形分析中找到,但你应该总是看看其应用的背景。我指的是历史计数对未来实现过程的影响。 简单地说,这个参数回答了 "历史序列需要多长时间 "的问题。
PS:顺便说一句,我记得你答应过要改进你的线性库并发布新的版本......。
对Yurixx
1.在MKL4中,你不能对没有设置大小的数组进行操作。如果你在声明数组时没有指定它的大小,你会在init()中进行指定。此外,在工作时,你可以根据需要改变其大小。
我不明白这一点,我没有这样做,一切都正常,我的意思是在init()中没有初始化。
2.莱亚的 建议相当实用,值得注意。很有可能你只是想分配更多的空间,并有一个带有最后一项索引的变量。那么,你是否知道你所需要的元素数量就真的不重要了。
我认为这不是很实际,因为显然要做更多的 计算。在上述基础上还可以增加更多的循环。但所有这些,我都要检查一下,如果我们能从开发者那里得到一些建议 的话......。:о)
一般来说,为了使建议充分,你最好更准确地解释阵列的用途,以及为什么需要改变其大小。
例如(这是最简单的例子),通过条件y[n]>y[n+1]和y[n]<y[n-1]找到局部极值(不在图上),并相应地寻找最小值。我知道有可能以多种方式解决,例如像这样。
- 创建一个与初始数列相同长度的数组,在其中编码0和1的极值的存在。
- 进行第一次迭代,计算极值的数量
- 重新计算极端值的数量
- 用这个值初始化数组
- 将数值写入新的数组中
你可以这样做,你也可以那样做,我正在努力想办法做得更好 :o)我不玩顶针。但我更喜欢变体2,或者我只是想让欧元增长?:-)
正如你所注意到的,我并不是在建议使用顶针这种方式。这都是公开的,我只是好奇你的意见(我在一个邻近的主题上看到你的预测)。
但选项1和3也是可以的,虽然它们之间没有什么区别。
平均价格值 的 "分化矢量 "转变
至Urain
根据我的经验,我建议在需要使用数组的地方直接定义和使用数组,这些数组大多是本地的,动态地使用内存,这比静态数组要好,因为它们的工作速度比从RAM的工作速度慢,特别是如果数组很小,静态地为它们保留很多空间是没有意义的。MQL-4编译器的设置方式是,你不会感觉到用显式大小声明数组和延迟声明数组之间有什么不同。
在MQL中,似乎没有统计/动态 "指针 "指向数组的存储位置。只有一个初始化操作符,唯一的问题是,多次使用它可能会使一个大的数组变慢。或者是吗?或者,也许我又错过了什么?
呼叫营销人员
来自论坛的过滤信息
哦,那是一种宝贵的品质。我可以向你保证--我有最好的自适应过滤器。:о)
如果你详细描述你的任务(你可以在私人信息中写给我),我们(我)将找出实现它的最佳方法。
我会考虑的,但现在我想自己想办法。毕竟,你至少应该了解MQL中的一些内容,这样你至少可以在某种程度上解释问题 :o)。
而过去有这样一个安静的树枝。(
>> 我认为它将保持这种状态。同事们只是还处于战斗状态 :o)
对Yurixx
我不太明白,我不这样做,一切都能正常工作,我是说在init()中没有初始化的情况下
初始化数组是一回事,声明大小是另一回事。如果你把一个数组声明为Arr[],那么就会在内存中分配一个元素。你可以随心所欲地工作,当你对数字>0的元素寻址时,系统不会告诉你错误,但计算结果会不正确。为了使一切顺利,你需要使用ArrayResize()操作设置一个特定的尺寸。在这种情况下分配内存时,所有的元素都将被填充为零,所以如果你不需要什么特别的东西,你甚至可以不初始化它(尽管一个好的风格需要它)。
.
我认为这不是很实用,因为很明显,涉及到更多的 计算。可以在上述基础上增加额外的循环。但无论如何,我们都要检查一下,只要我们能从开发商那里得到一些建议......。:о)
莱亚的建议并没有带来更多的计算结果。小心地把它拿出来。如果你让开发商参与到这个基本问题中来,你就会成为一个英雄。:-)
.
例如(这是最简单的例子),通过y[n]>y[n+1]和y[n]<y[n-1]的条件找到局部极值(不在图上),并相应地寻找最小值。我知道有可能以多种方式解决,例如像这样。
这就是所谓的左手捂住右耳。我在我的项目中一直在做,但我是一次性完成的,以避免浪费计算资源和时间。规律是:如果你在记忆中获胜,你就会在时间和计算中失败。我的个人观点是,记忆对交易来说不那么关键。因此,你可以很容易地创建甚至两个相同长度的数组,并在它们形成时将极值写入一个数组,将其坐标写入另一个数组。
谢尔盖,你最好从最复杂的情况开始。否则,我就不明白这些骚动是怎么回事了。:-)))
我建议慎重对待Urain的 建议 "在需要使用数组的地方直接声明和使用数组"。使用数组是由任务的性质决定的,而不是由如何与交换文件对抗决定的。
Ну например (и это самый простой пример) поиск локальных экстремумов (не на графике) по условию y[n]>y[n+1] и y[n]<y[n-1] и соответственно для минимума. Я понимаю, что можно решить несколькими способами, например таким:
Это называется левой рукой за правое ухо. Я постоянно делаю это в своих программах, но работаю в один проход, чтобы не тратить зря вычислительные ресурсы и время. Закон такой: выигрываешь в памяти - проигрываешь во времени и вычислениях. Лично мне кажется, что память менее критична для трейдинга. Поэтому можешь смело создавать даже два массива такой же длины и писать в один значение экстремума, а во второй его координату, непосредственно по ходу их формирования.
征求意见
不,我没有找过这样的点,也还不知道如何找到它们。我曾使用 "时间序列记忆 "这样一个概念。这是一个有点特殊的术语,它可以在神经网络和分形分析中找到,但你总是要看其应用的背景。我指的是历史计数对未来实现过程的影响。 简单地说,这个参数回答了 "历史序列需要多长时间 "的问题。
PS:顺便说一句,我记得你答应过要改进你的线性库并发布新的版本......。
我明白了,谢谢你的回答。
两个月前,我 基本上把库的工作带到了最后阶段(我扔掉了不必要的功能,重新制作了现有的功能)。虽然,我仍然没有做矩阵条件性的计算。大约两周后我就会比较空闲,然后我就会试着去解决这个问题。
当时我开始写一篇文章,但没有足够的时间。目前,50%的函数描述已经准备就绪(这是16个函数中的6组;目前我将只写函数的文档,它们的使用实例将在后面)。
我对预测不是很在行,所以我决定今天用M1做实验,从周一开始。
我看不到主图 :)
但每分钟都要进行过度优化,而且要提前3小时进行预测。
我对预测不是很在行,所以我决定今天用M1做实验,从周一开始。
我看不到主图 :)
但每分钟的过度优化和提前3小时的预测。
你如何重新进行优化?你从哪里得到你的预测,而不是从演绎者那里得到?
你如何重新进行优化?那你的预测是怎么来的呢,该不会是来自于演绎者吧?
可怜的Piboli,他已经被问了四次了^_^,是的,他在Deductor做了他的预测。预测或多或少是一样的(具有最大熵的那个) :o)一个小的细化,以下的轨迹仍然存在,其中 "被引导 "的轨迹是最可能的。
征求意见
Понятно
我已经尽力了 :o)
基本上,我 在两个月前就把 图书馆带到了最后阶段(去掉了不必要的功能,重新制作了现有的功能)。尽管我仍然没有做矩阵条件性的计算。
但它说有
代码将在以后公布。
但版本没有改变 :o(