以下是你可以在MetaTrader 5中直接使用OpenCL而不需要任何DLLs的情况 - 页 6

 
Alexey Volchanskiy:

所有这些都很好,但是!OCL有一个很大的问题,一般来说,所有的并行化手段都有一个很大的问题--很少有算法可以有效地被并行化。为什么在并行计算的 例子中,如此受欢迎的是模拟波浪,球落在金字塔上的破坏,也就是说,一切可以分解成小块并在自己的处理器上计算的。

当然,对于fora/bear来说,这些是神经网络、各种傅里叶变换、小波、过滤器等,所有这些都是完全平行的。但有一些线性算法根本不能被并行化。作为一项规则,当下一步算法的结果是基于上一步的结果。

我写这篇文章是为了那些认为我买了两块很酷的显卡,一切都会在我的测试器中正常工作的人。

当我开始研究这个东西的时候,我有一种感觉,这个算法将基于上一个步骤,所以我是为那些认为 "我买两个很酷的视频芯片,一切都会在我的测试器里飞起来 "的人写的。如果你想与它交易,你需要与它建立良好的关系。

 
Alexey Volchanskiy:

所有这些都很好,但是!OCL有一个很大的问题,一般来说,所有的并行化手段都有一个很大的问题--很少有算法可以有效地被并行化。为什么在并行计算的 例子中,如此受欢迎的是模拟波浪、球落在金字塔上的破坏,也就是说,一切可以分解成小块并在自己的处理器上进行计算。

当然,对于fora/bear来说,这些是神经网络、各种傅里叶变换、小波、过滤器等,所有这些都是完全平行的。但有一些线性算法根本不能被并行化。作为一项规则,当下一步算法的结果是基于上一步的结果。

我写这篇文章是为了那些急于购买两个很酷的炫酷墨盒的人,在我的测试器中一切都会很顺利。

当EA的内部逻辑没有被并联时,整个EA可以被并联,一个线程--一个EA。这就是云计算和一般代理的工作方式--一个线程==一个EA==一个历史运行,我举了一个这样的例子来说明。

例如,这种方法不仅可以在自制的优化器中不费吹灰之力地实现大幅提速,而且还可以作为云中一般优化的一部分进行内部自我激励的优化(例如带有内部滚动的优化)。当然也没有人禁止在每个线程中使用额外的并行化(我在我的例子中没有这样做,尽管它是可能的)。因此,在谈到优化时,我们可以说,总有一些东西你可以并行化,总是如此。

 
Andrey Dik:

当EA的内部逻辑没有被并行化时,你可以并行整个EA,一个线程--一个EA。这就是云和代理的一般工作方式,一个线程==一个EA==一个历史运行,我举了一个这样的平行的例子。

例如,这种方法不仅可以在自制的优化器中不费吹灰之力地实现大幅提速,而且还可以作为云中一般优化的一部分进行内部自我激励的优化(例如带有内部滚动的优化)。当然也没有人禁止在每个线程中使用额外的并行化(我在我的例子中没有这样做,尽管它是可能的)。因此,在谈到优化时,我们可以说,总有一些东西你可以并行化,总是如此。

所有这些都是事实,但突出显示与OCL有什么关系?这取决于优化器的开发者在GPU上提供优化,就像在云端一样,我想现在还没有。或者你是说在EA周围写一个封装,在里面以OCL线程的形式执行?今天的优化人员不会理解这种做法。

你现在要做的就是自己写自己的优化器,你可以做任何你喜欢的事情。

总的来说,这个帖子的目的是让非程序员或一般的程序员新手清醒过来,使他们失去不必要的幻想。

 
Alexey Volchanskiy:

所有这些都是事实,但突出强调与OCL有什么关系?优化器开发者的工作是在GPU上提供优化,就像在云端一样,我认为现在还不是这种情况。或者你是说在EA周围写一个封装,在里面以OCL线程的形式执行?今天的优化人员不会理解这种做法。

你现在要做的就是自己写自己的优化器,你可以做任何你喜欢的事情。

实际上,这个帖子的重点是让非程序员或一般的新手清醒过来,让他们摆脱不必要的幻想。

我举了一个例子,EA的整个逻辑和测试的历史被发送到OCL设备上(一个线程==一个EA==一个历史运行)。 这个解决方案被测试人员和优化人员所理解。当然,这个解决方案是针对程序员的。

但对于普通用户来说--是的,他们不会从EA的创新中获得任何速度。只有当开发者设法将整个EA以类似于着色器的重新编译的特定程序的形式发送到OCL时,才能做到这一点,但到目前为止,这还不是事实。

 
Andrey Dik:

我举了一个例子,整个EA逻辑和测试历史一起被发送到OCL设备上(一个线程==一个EA==一个历史运行)。这个解决方案被测试人员和优化人员所理解。当然,这个解决方案是针对程序员的。

但对于普通用户来说--是的,他们不会从EA的创新中获得任何速度。只有当开发者设法将整个EA 以类似于着色器的重新编译的特定程序的形式发送到OCL时,才能做到这一点,但到目前为止,我们还没有谈及这个问题。

我还不能对这个例子说什么;我必须亲自去检查OCL,但它似乎在工作。

另一方面,我并不真的相信那些突出的人。MQ将不得不编写一些桥梁,允许从OCL中提取MQL API,特别是交易功能,访问时间序列和指标。这完全是一种悲哀,MT5仍然有很多儿童疾病,仍在修复中,通常是通过参考SD。

 
Alexey Volchanskiy:

我还不能判断这个例子,我必须亲自感受一下OCL,但它似乎是一个活的。

但我并不真的相信突出的那个人。MQ将不得不编写一些桥梁,以便能够从OCL中提取MQL API,特别是交易功能,访问时间序列,指标。这完全是一种悲哀,MT5仍然有很多幼稚的副作用,这些副作用仍然在被纠正,通常是通过SD。

这没关系,但元编辑器仍然停留在1995年的 "记事本 "的水平上,这是相当可悲的,加上现在是2017年。他们在做一些事情,但要为它写一些东西,你必须用一个古老的编辑器来写。

先生们,发展商们,最后至少 做一个匹配的高亮显示,就像在记事本里一样!"。

 
Alexey Volchanskiy:

这很好,但OCL和所有一般的并行化工具有一个很大的问题--很少有算法可以有效地被并行化。



Tyu,这很简单。你不需要考虑一个算法是否是并行的。方法如下:当你看算法时--你看到一个循环-->考虑它已经可以被并联了(一个很好的概率)。没有圈套--没有理由担心。

 
Vitaly Muzichenko:

这很好,但元编辑器仍然停留在1995年的记事本水平上,这相当可悲,尽管现在是2017年。他们在做一些事情,但要为它写一些东西,你必须用一个古老的编辑器来写。

先生们,发展商们,最后至少 做一个匹配的高亮显示,就像在记事本里一样!"。

是的,我已经在这里写了两篇关于蜱虫是如何粗制滥造的文章。他们被删除了。而你的帖子将被删除。不需要管理员/版主在这个主题中提到MQ的缺陷。瘟疫期间的盛宴...
 
Alexey Kozitsyn:
是的,我已经在这里写了2个关于蜱虫是生的帖子。已删除。而你的帖子将被删除。不需要管理员/版主在这个主题中提到MQ的缺陷。瘟疫期间的盛宴...

不知怎的,这让人想起他们给一辆车喷漆,装上钛合金轮毂和各种不必要的饰品,但之前车上的发动机被 "打掉 "了,卡住了,那都是不必要的,因为车已经坏了。

而在这里,有一堆各种写作的噱头,但这一切需要写的地方,是在1995年的水平,在这里面,要写--是一种折磨,如果代码超过200行的话

并在同时Renat写道。

雷纳特-法特库林

不幸的是,你必须忘记Windows XP上的OpenCL。还有一般的32位操作系统--2017年即将到来

那么2016年的元编辑在哪里呢?

请至少做到代码高亮,如果可能的话,最终做到--折叠!

 
Vitaly Muzichenko:

不知怎的,这让人想起他们给一辆车喷漆,装上钛合金轮毂和各种不必要的饰品,但之前车上的发动机 "敲 "了一下,卡住了,那都是不必要的,因为车已经坏了。

而在这里,有一堆各种写作的噱头,但这一切需要写的地方,是在1995年的水平,在这里面,要写--是一种折磨,如果代码超过200行的话

并在同时Renat写道。

那么2016年的元编辑在哪里呢?

请至少做到代码高亮,如果可能的话,最终做到--折叠!

我有时也怀疑MT的发展方向。但是开发商最清楚...
原因: