Esto es lo que puedes hacer con OpenCL directamente en MetaTrader 5 sin ninguna DLL - página 7

 

Al tratar de ejecutar el script, al principio se hizo así:

NN      0       21:04:58.552    Scripts script Seascape (EURUSD,H1) loaded successfully
MG      0       21:04:59.052    Terminal        OpenCL not found, install the latest OpenCL driver for better performance
PE      0       21:04:59.052    Scripts script Seascape (EURUSD,H1) removed

y luego desde http://www.nvidia.ru/Download/index.aspx?lang=ru

se han descargado los últimos controladores de la tarjeta.

y los mensajes de registro son los mismos que los anteriores, al intentar ejecutar el script.

luego se descargó el SDK de Intel® para aplicaciones OpenCL™ para Windows* 2016 desde el sitio web

http://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/11058/intel_sdk_for_opencl_setup_6.3.0.1904.exe

En el siguiente intento de ejecutar el script aparecerá el siguiente mensaje en el registro:

RM      0       17:14:22.070    Scripts script Seascape (EURUSD,H1) loaded successfully
CQ      0       17:14:22.991    OpenCL  Device #0: CPU Intel(R) Corporation Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33 GHz with OpenCL 2.1 (2 units, 2330 MHz, 4094 Mb, version 6.3.0.1904)
EP      0       17:14:23.661    Scripts script Seascape (EURUSD,H1) removed

Bueno, ¿quién sabe qué pasa?




no puede conseguir que este openCL* funcione


________________________

openchlor* - OpenCL

Загрузка драйверов NVIDIA
Загрузка драйверов NVIDIA
  • www.nvidia.ru
Optimal Driver for Enterprise (ODE) Most users select this choice for optimal stability and performance. It also offers ISV certification and long lifecycle support Quadro New Feature Driver (QNF...
 
En la lista de dispositivos OpenCL no hay ningún adaptador de vídeo.

Cambia el código del script, en lugar de

   if((cl_ctx=CLContextCreate())==INVALID_HANDLE)

pruebe la siguiente línea

   if((cl_ctx=CLContextCreate(CL_USE_ANY))==INVALID_HANDLE)
 
Ilyas:
En la lista de dispositivos OpenCL no hay ningún adaptador de vídeo.

Cambia el código del script, en lugar de

   if((cl_ctx=CLContextCreate())==INVALID_HANDLE)

intente utilizar la siguiente línea

   if((cl_ctx=CLContextCreate(CL_USE_ANY))==INVALID_HANDLE)

no ha funcionado (

JN      0       18:10:49.867    Scripts script Seascape (EURUSD,H1) loaded successfully
LD      0       18:10:50.116    OpenCL  Device #0: CPU Intel(R) Corporation Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33 GHz with OpenCL 2.1 (2 units, 2330 MHz, 4094 Mb, version 6.3.0.1904)
RM      0       18:10:50.223    Scripts script Seascape (EURUSD,H1) removed
 
fmql:

no ayudó (


Compilar el script
 
¿Existen límites en la computación de la CPU y la GPU?
 
-Aleks-:
¿Existen limitaciones para los cálculos en la CPU y la GPU?

Por regla general, la limitación es la memoria, tanto para la GPU como para la CPU.

Pero una cosa está clara - el código para la CPU es menos exigente para optimizar que para la GPU, a menudo sucede que en la CPU funciona sin problemas que en la GPU ni siquiera puede ejecutar o rápidamente termina con un error o un accidente del controlador de vídeo.

 
Igor Volodin:
Compilar el script
ha sido naturalmente compilado
 
Andrey Dik:

Por regla general, la limitación es la memoria, tanto para la GPU como para la CPU.

Pero una cosa está clara - el código para la CPU es menos exigente para optimizar que para la GPU, a menudo sucede que en la CPU funciona sin problemas que en la GPU ni siquiera puede ejecutar o rápidamente termina con un error o un accidente del controlador de vídeo.

Si este es el caso, ¿es posible utilizar la GPU para calcular los indicadores y ejecutar el Asesor Experto en la CPU?
 
Dr.Trader:

OpenCL es muy bueno, puedes entrenar redes neuronales muy rápidamente con esta tecnología, cientos (miles) de veces más rápido que en un procesador ordinario.

Esto se puede corregir de la siguiente manera: encuentre estas líneas en el script -

                    "   uint b=(uint)(res[2]*255);\r\n"
                    "   uint g=(uint)(res[1]*255);\r\n"
                    "   uint r=(uint)(res[0]*255);\r\n"

y sustituirlos por -

                    "   uint b=(uint)(res.z*255);\r\n"
                    "   uint g=(uint)(res.y*255);\r\n"
                    "   uint r=(uint)(res.x*255);\r\n"


Gracias.

Funcionó, pero el "cielo" tiene ondas.

 
Me quedó claro, como no programador, por los comentarios que esto no era para las masas. Pero sigue siendo interesante leerlo. Dígame, ¿debo esperar una oleada de nuevas ideas en forma de indicadores y expertos? ¿O es sólo un juguete para la élite?
Razón de la queja: