İşte herhangi bir DLL olmadan doğrudan MetaTrader 5 terminalinde OpenCL ile yapabilecekleriniz - sayfa 2

 
Renat Fatkhullin :

Matematik ve işleme için birkaç hafta sürecek yerel bir OpenCL kitaplığı hazırlıyoruz. İnanılmaz hızlı ve güzel olacak.

Bu arada, bilimsel grafikler oluşturmak için güncellenmiş grafik kitaplığına bir göz atın.

Yani, bunların hepsi MetaEditor'da kendiniz veya hazır olanlar üzerinde programlar yazmak için ve sadece onları bir komut dosyası şeklinde grafiğe atmak için mi kalıyor?
 

Bende de işe yaramadı:

2016.12.10 07:00:47.388 Seascape (EURUSD,M1)    OpenCL: GPU device 'Redwood' selected
2016.12.10 07:00:47.418 Seascape (EURUSD,M1)    
2016.12.10 07:00:47.418 Seascape (EURUSD,M1)    OpenCL program create failed
2016.12.10 07:00:57.263 Seascape (EURUSD,M1)    OpenCL: GPU device 'Redwood' selected
2016.12.10 07:00:57.285 Seascape (EURUSD,M1)    
2016.12.10 07:00:57.285 Seascape (EURUSD,M1)    OpenCL program create failed
 

OpenCL çok iyidir, bu teknolojiyi sinir ağlarını çok hızlı, geleneksel bir işlemciden yüzlerce (binlerce) kat daha hızlı eğitmek için kullanabilirsiniz.

prostotrader :
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

Bu şu şekilde düzeltilebilir: komut dosyasında bu satırları bulun -

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

ve bunları - ile değiştirin

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

Birkaç soru:

  1. Aynı terminalde birkaç Uzman Danışman çalışıyorsa, OpenCL'i birlikte ve bağımsız olarak kullanabilirler mi?
  2. Birden fazla terminal ile aynı.

 
Renat Fatkhullin :

OpenCL ile matematiksel hesaplamaları yüzlerce (birkaç yüz) kez hızlandırmak için binlerce GPU çekirdeği kullanabilirsiniz.

Bu, ticarette tam olarak ihtiyacınız olan şeydir ve büyüklük sıraları daha fazla hesaplama kaynağı gerektiren yöntemleri kullanmaya geçmenize izin verecektir.

MQL4'te kürekle kazıyorlar, OpenCL ile MQL5'te ise performans açısından traktör alıyorlar. GPU hesaplamalarını geniş kitlelere ulaştırmak için mevcut olanlara ek olarak yeni matematik kütüphaneleri hazırlıyoruz.

Ayrıca, örneğin bir Expert Advisor'da gerçekten paralel hale getirilebilecek gerçek örneklere de ihtiyacımız var.

OpenCL kullanan kod optimizasyonda kullanılabilir mi?

 
Renat Fatkhullin :

OpenCL ile matematiksel hesaplamaları yüzlerce (birkaç yüz) kez hızlandırmak için binlerce GPU çekirdeği kullanabilirsiniz.

Bu, ticarette tam olarak ihtiyacınız olan şeydir ve büyüklük sıraları daha fazla hesaplama kaynağı gerektiren yöntemleri kullanmaya geçmenize izin verecektir.

MQL4'te kürekle kazıyorlar, OpenCL ile MQL5'te ise performans açısından traktör alıyorlar. GPU hesaplamalarını geniş kitlelere ulaştırmak için mevcut olanlara ek olarak yeni matematik kütüphaneleri hazırlıyoruz.

MQL4 için hiç benzer bir şey olacak mı? Ya da en azından, çoklu iş parçacığı kullanımı, aksi takdirde çok çekirdekli işlemciler pek işe yaramaz ...

Bu tür grafiklerle terminalde oyun yapabilirsiniz ama trader'lar ticaret yapmak yerine oynayacak mı merak ediyorum)

 
Alexander Nikolaev :

MQL4 için hiç benzer bir şey olacak mı? Ya da en azından, çoklu iş parçacığı kullanımı, aksi takdirde çok çekirdekli işlemciler pek işe yaramaz ...

Bu tür grafiklerle terminalde oyun yapabilirsiniz ama trader'lar ticaret yapmak yerine oynayacak mı merak ediyorum)

Bir çekirdeğin eksik olduğu ne tür görevleriniz var?

Optimizasyon için, çekirdek sayısına karşılık gelen terminallerin kopyalarını çalıştırabilirsiniz.

 
-Aleks- :

Bir çekirdeğin eksik olduğu ne tür görevleriniz var?

Optimizasyon için, çekirdek sayısına karşılık gelen terminallerin kopyalarını çalıştırabilirsiniz.

Peki, optimizasyon için sadece 8-16 CPU çekirdeği değil, aynı zamanda binlerce GPU çekirdeği kullanılıyorsa, bu bir performans patlaması olacaktır. Tabii ki, böyle bir fırsat gerçekleştirilecekse.
 
Vitalie Postolache :
Peki, optimizasyon için sadece 8-16 CPU çekirdeği değil, aynı zamanda binlerce GPU çekirdeği kullanılıyorsa, bu bir performans patlaması olacaktır. Tabii ki, böyle bir fırsat gerçekleştirilecekse.
Renat uzun zamandır OpenCL'nin MT5 test cihazında çalıştığını, ancak bulutta değil, yalnızca yerel bir makinede çalıştığını söyledi. O yüzden hemen kullanın.
 

Güzel!!!

Daha sonra nasıl kullanılacağını bile buldum - doğrudan grafikte canlı haberler veya analitik veya eğitim içeren kendi kanalınız (web seminerleri)

Aferin geliştiriciler.