Ecco cosa si può fare con OpenCL direttamente in MetaTrader 5 senza alcuna DLL

[Eliminato]  
Renat Fatkhullin:

Questa è una dimostrazione non solo dei calcoli della GPU nel codice MQL5, ma anche delle capacità grafiche del terminale:

Il codice sorgente completo come script è allegato.

Aaaaaaaaahhhhhh ... Non fatemi scendere!
Vitalie Postolache  

О! Presto arriverà ai giochi ))))

A cosa serve una piattaforma di trading? Beh, i calcoli sono comprensibili, e ogni sorta di cose belle non fanno che sedurre.

Renat Fatkhullin  
Vitalie Postolache:

О! Presto arriverà ai giochi ))))

A cosa serve una piattaforma di trading? Beh, i calcoli sono chiari, e ogni sorta di cose belle non fanno che sedurre.

Con OpenCL è possibile utilizzare migliaia di core di GPU per accelerare i calcoli matematici di cento (diverse centinaia) volte.

Questo è esattamente ciò che è necessario nel trading e ciò che permetterà di passare all'uso di tecniche che richiedono ordini di grandezza più risorse di calcolo.

In MQL4 si scava con una pala, mentre in MQL5 con OpenCL si ottiene un trattore in termini di prestazioni. Per portare i calcoli su GPU alle masse, stiamo preparando nuove librerie matematiche in aggiunta a quelle esistenti.

Aleksey Semenov  

Non è riuscito a superarlo, è passato oltre

prostotrader  
Renat Fatkhullin:

Questa è una dimostrazione non solo dei calcoli della GPU nel codice MQL5, ma anche delle capacità grafiche del terminale:

Il codice sorgente completo come script è allegato.

L'ha compilato e l'ha eseguito.

Non funziona.

MT5 build 1491.

W7 prof SP1 eng 64-bit


Renat Fatkhullin  
prostotrader:

L'ha compilato e l'ha eseguito.

Guardate i log del terminale e della finestra dell'esperto.

Lo script è complesso, appena scritto e non ancora debuggato. Non gira ovunque senza GPU.

prostotrader  
Renat Fatkhullin:

Guardate i log del terminale e della finestra dell'esperto.

Lo script è complesso, appena scritto e non ancora debuggato. Non gira ovunque senza 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)
Motivazione: