Esta es una demostración no sólo de los cálculos de la GPU en el código MQL5, sino también de las capacidades gráficas del terminal:
Se adjunta el código fuente completo en forma de script.
Estamos preparando una biblioteca de personal OpenCL para matemáticas y renderizado, lo que nos llevará unas semanas. Va a ser increíblemente rápido y hermoso.
Mientras tanto, echa un vistazo a la biblioteca gráfica actualizada para la representación de gráficos científicos.
¡О! Pronto llegará a los juegos ))))
¿Para qué sirve una plataforma de negociación? Bueno, los cálculos son comprensibles, y todo tipo de cosas bonitas sólo seducen.
¡О! Pronto llegará a los juegos ))))
¿Para qué sirve una plataforma de negociación? Bueno, los cálculos son claros, y todo tipo de cosas bonitas sólo seducen.
Con OpenCL puedes utilizar miles de núcleos de GPU para acelerar los cálculos matemáticos cien (varios cientos) veces.
Esto es exactamente lo que se necesita en el comercio y lo que permitirá pasar al uso de técnicas que requieren órdenes de magnitud más de recursos de cálculo.
En MQL4 se cava con una pala, mientras que en MQL5 con OpenCL se obtiene un tractor en términos de rendimiento. Para llevar los cálculos de la GPU a las masas, estamos preparando nuevas bibliotecas matemáticas que se suman a las ya existentes.
No pude pasar, lo pasé de largo
Esta es una demostración no sólo de los cálculos de la GPU en el código MQL5, sino también de las capacidades gráficas del terminal:
Se adjunta el código fuente completo en forma de script.
Lo compilé, lo ejecuté.
No funciona.
MT5 build 1491.
W7 prof SP1 eng 64 bits
Lo he compilado y lo he puesto en marcha.
Mira los registros del terminal y de la ventana de expertos.
El script es complejo, acaba de ser escrito y aún no ha sido depurado. No funciona en todas partes sin GPU.
Mira los registros de la terminal y la ventana de expertos.
El script es complejo, acaba de ser escrito y aún no ha sido depurado. No funciona en todas partes sin GPU.
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
De acuerdo, lo resolveremos. El código era como la prueba de un bolígrafo.
Cada dispositivo de la GPU tiene su propio compilador y decide lo que debe omitirse. Los compiladores OpenCL de Intel, AMD y Nvidia son diferentes.
Estamos probando bajo OpenCL 2.0 que tiene una funcionalidad mucho mayor. Comprobaremos y arreglaremos esta prueba en OpenCL 1.2.
Para más información le recomiendo que lea nuestro artículo sobre OpenCL en MetaTrader 5:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Esta es una demostración no sólo de los cálculos de la GPU en el código MQL5, sino también de las capacidades gráficas del terminal:
Se adjunta el código fuente completo en forma de script. Se ha corregido el error en OpenCL 1.2.