Here's what you can do with OpenCL directly in MetaTrader 5 without any DLLs - page 15

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Removed OpenCL key before running it. The behaviour has not changed.
That is, the first launch of the Expert Advisor with CLContextCreate(CL_USE_GPU_ONLY) produces the above errors and the Expert Advisor does not start. From the second run, the initialization log of OpenCL devices is no longer displayed, there is only an error in the EA's log and EA does not work. When restarting the terminal, EA with a correctedCLContextCreate(0) commandworks - a mega-realistic seascape appears. At the same time, the initialization log has the sameperformance test errors, but the EA log is silent.
The key is slightly changed:
[HKEY_CURRENT_USER\Software\MetaQuotes Software]
before - "OpenCL"=hex:91,57,f4,f8,2e,0b,19,c5,e9,ef,30,dd,c9,a9,af,8c,00,00,00,00,00,00,00,58,f7,f7,28,88,c5,e1,77,3c,4c,f8,8a,4d,31,88,88,6c,2a,09,a4,b3,d8,e2,3f
после - "OpenCL"=hex:91,57,f4,f8,2e,0b,19,c5,e9,ef,30,dd,c9,a9,af,8c,00,00,00,00,00,00,00,00,58,f7,f7,28,88,c5,e1,77,3c,4c,f8,8a,4d,31,88,88,98,6b,19,ab,41,5c,fd,3f
In principle, this behavior is not critical, if you fix EA/scripts and bypass devices by addressing them explicitly and checking CL_DEVICE_TYPE sign. It's even imho better to manageably distribute tasks to devices with their own rating. It's just frustrating to have initialisation errors. Who knows how OpenCL will behave in battle next.
Please help me find theoriginal Intel SDK for OpenCL Applications 2016 R2 to write and test the kernels. It is useless to write to Intel in Russian ;)
Why don't you try using AMD SDK?
Try upgrading to beta 2543
beta 2545, release 2560.
Whenever the scriptis run for the first time:
Whenrunningthe script withCLContextCreate (CL_USE_GPU_ONLY):Seascape (GBPUSD,H1) OpenCL not found. Error=5114
I have similar errors, but a year ago on a weaker tablet it was working fine
and now even that doesn't work:with the parameters: CL_USE_ANY, CL_USE_CPU_ONLY, CL_USE_GPU_ONLY - result: -1 with error code: 5115
with parameters: 0, 1 - result: positive
beta 2545, release 2560.
Wheneveryou run the script for the first time:
Whenrunningthe script with CLContextCreate(CL_USE_GPU_ONLY):Your card does not support double calculations:
You cannot use float maths in financial calculations because of huge round-offs and therefore we explicitly require support for double calculations.
Previously, we allowed activating OpenCL without double, but it did not make sense.
Now we explicitly limit it.
I have similar errors, but a year ago on a weaker tablet it was working fine
And now even this does not work:with the parameters: CL_USE_ANY, CL_USE_CPU_ONLY, CL_USE_GPU_ONLY - result: -1 with error code: 5115
with parameters: 0, 1 - result is positive
It is very odd that the Atom produces the same error about double.
We will have to check it out.
That Atom gives the same error about double is very strange.
It doesn't support double either.
It's strange in itself to require such support from the terminal... My .cl file has no double at all and I'm not using OpenCL for precise scientific calculations.
Moreover, it's not an old Atom, but a modern one with a separate GPU
Your card does not support double-counting
Let's ask the device itself:
The answer from the tank:
OpenCL device ext: cl_intel_accelerator cl_intel_advanced_motion_estimation cl_intel_ctz cl_intel_d3d11_nv12_media_sharing cl_intel_dx9_media_sharing cl_intel_motion_estimation cl_intel_simultaneous_sharing cl_intel_subgroups cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_depth_images cl_khr_gl_event cl_khr_gl_msaa_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
Indeed, there is no support for cl_khr_fp64
I can't find the officialIntel HD Graphics 4400 datasheet with information about lack of double precision on the net to make sure it's not a driver issue.
The only way to determine if a video card has FP64 is to use lefty benchmarks:
https://askgeek.io/ru/gpus/vs/Intel_HD-Graphics-515-vs-Intel_HD-Graphics-4400
By the way, Renata's graphics coprocessor also seems to be without FP64 support:
https://askgeek.io/ru/gpus/vs/Intel_HD-Graphics-515-vs-Intel_UHD-Graphics-630
Renat, can you run my above script to determine if your IGP supports double precision?
If yes, then it will be clear why your performance test was successful.
Maybe then try the option of converting mqlrates arrays to int on CPU before sending them to OpenCL, multiplying them by Digits. The memory consumption is halved. After that, play with vectors or try not to run into error when using floats. In principle, accuracy of the Digits+1 indicators should be more than enough.
Datetime also can be easily converted to int, if 1440 minutes in day are in first 12 bits (or in first 2 bytes), and days are in high bits. The speed gain of int vs double should be enough to cover the overhead custom iTime-like functions in kernels.