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

 

这不仅展示了MQL5代码中的GPU计算,而且还展示了终端的图形功能。

附上作为脚本的完整源代码。OpenCL 1.2上的错误已被修复。

附加的文件:
Seascape.mq5  39 kb
 
Renat Fatkhullin:

这不仅展示了MQL5代码中的GPU计算,而且还展示了终端的图形功能。

附上作为脚本的完整源代码。

Aaaaaaahhhhhhhh ...阻止我下车!
 

我们正在准备一个用于数学和渲染的OpenCL人员库,这将需要几周时间。它将是惊人的快速和美丽。

同时,请看一下用于渲染科学图表 的最新图形库。

 

О!很快它就会出现在游戏中 ))))

交易平台的作用是什么?好吧,计算是可以理解的,各种美丽的东西只会勾引人。

 
Vitalie Postolache:

О!很快它就会出现在游戏中 ))))

交易平台的作用是什么?好吧,计算很清楚,各种美丽的东西只会勾引人。

有了OpenCL,你可以使用数以千计的GPU核心,将数学计算的速度提高一百(几百)倍。

这正是交易中所需要的,也是允许转向使用需要更多数量级的计算资源的技术。

在MQL4中,你用铲子挖,而在有OpenCL的MQL5中,你在性能方面得到了一台拖拉机。为了将GPU计算带给大众,除了现有的 数学库之外,我们正在准备新的数学库。

 

无法超越它,与它擦肩而过

 
Renat Fatkhullin:

这不仅展示了MQL5代码中的GPU计算,而且还展示了终端的图形功能。

附上作为脚本的完整源代码。

编译它,运行它。

不起作用。

MT5 build 1491。

W7 prof SP1 eng 64位


 
prostotrader:

编译它,运行它。

看一下终端和专家窗口的日志。

脚本很复杂,刚刚写好,还没有调试。没有GPU,它不会到处运行。

 
Renat Fatkhullin:

看一下终端和专家窗口的日志。

脚本很复杂,刚刚写好,还没有调试。没有GPU,它不会到处运行。

2016.12.10 03:57:08.180 Seascape (GOLD-12.16,H1)        OpenCL: GPU device 'GeForce GTX 970' selected
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)        <kernel>:188:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)           uint b=(uint)(res[2]*255);
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)        <kernel>:189:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)           uint g=(uint)(res[1]*255);
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)        <kernel>:190:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)           uint r=(uint)(res[0]*255);
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)        
2016.12.10 03:57:08.218 Seascape (GOLD-12.16,H1)        OpenCL program create failed
2016.12.10 03:57:36.695 Seascape (GOLD-12.16,H1)        OpenCL: GPU device 'GeForce GTX 970' selected
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:188:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint b=(uint)(res[2]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:189:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint g=(uint)(res[1]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:190:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint r=(uint)(res[0]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        
2016.12.10 03:57:36.730 Seascape (GOLD-12.16,H1)        OpenCL program create failed

2016.12.10 03:57:06.729 OpenCL  Device #0: GPU NVIDIA Corporation GeForce GTX 970 with OpenCL 1.2 (13 units, 1367 MHz, 4096 Mb, version 372.90)
 

好的,我们会想办法的。代码就像是对一支笔的测试。

每个GPU设备都有自己的编译器,它决定跳过什么。英特尔、AMD和Nvidia的OpenCL编译器是不同的。

我们正在OpenCL 2.0下进行测试,它的功能更强大。我们将在OpenCL 1.2上检查并修复这个测试。

 

欲了解更多信息,我建议阅读我们关于MetaTrader 5中OpenCL的文章。