在MQL5和MQL5云计算网络中,应该增加哪些内容来增加对通用数学计算的支持?

 

不是每个人都知道MetaTrader 5测试仪不仅可以测试交易策略,还可以解决整类普遍问题。为此,有一个特殊的模式 "数学计算",它禁止市场环境的数据传输,这大大节省了传输的数据量。

目前,我们已经实现了一些重要的功能,用于构建一个通用计算网络。

  • 数学计算"的操作模式,使市场环境失效。
  • 通过附加#属性tester_file"my_file.dat "传输初始数据,这使得我们可以处理任何大小的初始数据并返回结果。
  • #资源 附件的形式传输源数据。
  • 终端上的计算服务器模式,以帧的形式从代理处传输数据阵列。代理人可以通过FrameAdd 向终端返回任何数据,而同一专家顾问的服务器部分则在终端一侧的单独窗口中启动,通过OnTesterPass 入口点接收结果,并通过FrameXXX 功能提取数据。获得的数据可以记录在终端侧,以图表的形式可视化,等等。你可以在"MetaTrader 5中优化过程的实时控制和代理人的大量数据传输"这一主题中了解更多信息。
  • 本地和远程代理的操作(没有MQL5云计算网络)与使用命名管道的 独立服务器。
  • 租用一个巨大的代理网络,以加快计算速度。
  • 在你的网络中的远程代理上建立你自己的计算场。

当然,这也伴随着:MQL5的安全性,它的速度,基因枚举器等。

因此,问题是--应该包括哪些其他功能来提高计算网络的能力?

 
Renat:

因此,问题是--应该启用哪些其他功能来提高计算网络能力?

允许在云中以 "数学计算 "模式使用OpenCL
OpenCL: Мост в параллельные миры
OpenCL: Мост в параллельные миры
  • 2012.05.16
  • Sceptic Philozoff
  • www.mql5.com
В конце января 2012 года компания-разработчик терминала MetaTrader 5 анонсировала нативную поддержку OpenCL в MQL5. В статье на конкретном примере изложены основы программирования на OpenCL в среде MQL5 и приведены несколько примеров "наивной" оптимизации программы по быстродействию.
 
TheXpert:
允许OpenCL 在云中以 "数学计算 "模式使用

这一点已经讨论过很多次了--由于Windows驱动程序的工作方式,这在架构上是不可能的。只要计算功能是视频驱动中受保护的部分,就没有解决方案。现在,即使你通过远程桌面连接到Windows,你会发现无法访问OpenCL。

只要显卡制造商将计算功能转移到独立于视频驱动的独立接口,就会有一些快乐。到目前为止,只有Nvidia Tesla在朝这个方向发展。

 
OnTesterInit()函数中

增加对代理的原始数据传输,不是作为附加资源,而是作为优化过程中产生的数据阵列。

约。

void OnTesterInit()
  {
   // здесь формируем массив данных (например ArrayPass[])
   // и передаем сформированный массив агенту для расчетов
   return(ArrayPass);
  }

.

...

请。

 
而谁必须传送这些数据,具体如何传送?

人们感兴趣的是关于谁、什么和如何的技术细节。
 
Renat:
1.到底应该由谁和如何来转移这些数据?

2.人们感兴趣的是关于谁、什么和如何的技术细节。

1.它应该自然而然地由用户传送,正如我上面建议的那样--"大约是这样:",你最清楚

2.谁是谁,怎么做,我无法描述 )

代理人是做什么的?- 解决问题。

我们要解决什么任务?- 我不知道,最主要的是,他们解决了这些问题。

我们需要输入和输出来解决这些任务。

输出是明确的,但输入是不明确的。

也许我错过了什么?我如何将输入数据(根据以前的输出数据计算)传递给代理?

 
her.human:

1.传递自然应该由用户来做,就像我上面建议的那样--"大约是这样的:",你最清楚

2.谁是谁,怎么做,我无法描述 )

问题是,我们需要在至少2个步骤中准确地提出技术上的详细建议。"不知道什么和怎么做 "是不够的。

 
her.human:

如何将输入数据(根据以前的输出数据计算)传递给代理人

这一点已经有人问过了,控制优化的进度有时会很有帮助。

但在仔细研究后会出现很多问题(除非是在单一的本地代理上进行优化)。

 
Renat:

问题是,我们至少需要两个步骤的技术上的合理建议。"不知道什么和怎么做 "是不够的。

你应该这样说--"以职权范围的形式接受建议",否则会被认为是 "我们将听取意见"。
 
Komposter,没有那么绝对,但还是有点技术性。

就我们而言,我们考虑的是没有终端的代理人之间的独立通信。例如,其中一个代理可以生成初始数据并通过fordcast将其发送给其他代理。
 
Renat:
就我们而言,我们考虑的是在没有终端参与的情况下代理人之间的独立通信。例如,其中一个代理可以生成初始数据并通过fordcast将其发送给其他代理。

这有一点不同。我想控制优化的过程。

也就是说,在优化过程中生成参数集,并将其发送给代理执行。

自然,会有很多问题。我还没有准备好回答他们。