İşte herhangi bir DLL olmadan doğrudan MetaTrader 5 terminalinde OpenCL ile yapabilecekleriniz
Bu, yalnızca MQL5 kodundaki GPU üzerindeki hesaplamaların değil, aynı zamanda terminalin grafik yeteneklerinin bir gösterimidir:
Bir komut dosyası biçimindeki tam kaynak kodu ektedir.
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.
Ö! Çok yakında oyunlara gelecek)))
Ama neden ticaret platformunda? Eh, hesaplamalar açık, ancak her türlü güzellik sadece baştan çıkarır.
Ö! Çok yakında oyunlara gelecek)))
Ama neden ticaret platformunda? Eh, hesaplamalar açık, ancak her türlü güzellik sadece baştan çıkarır.
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.
geçemedi, geçti
Bu, yalnızca MQL5 kodundaki GPU üzerindeki hesaplamaların değil, aynı zamanda terminalin grafik yeteneklerinin bir gösterimidir:
Bir komut dosyası biçimindeki tam kaynak kodu ektedir.
Derlendi, başlatıldı.
Çalışmıyor.
MT5 yapı 1491
W7 prof SP1 tr 64-bit
Derlendi, başlatıldı.
Terminal günlüklerine ve uzman pencerelerine bakın.
Komut dosyası karmaşıktır, sadece yazılmıştır ve henüz hata ayıklanmamıştır. GPU olmadan, her yerde başlamaz.
Terminal günlüklerine ve uzman pencerelerine bakın.
Komut dosyası karmaşıktır, sadece yazılmıştır ve henüz hata ayıklanmamıştır. GPU olmadan, her yerde başlamaz.
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
Tamam, çözelim. Kod, kalemin bir testi gibiydi.
Her GPU cihazının kendi derleyicisi vardır ve neyin atlanacağına o karar verir. Intel, AMD ve Nvidia'nın OpenCL derleyicileri birbirinden farklıdır.
Çok daha fazla işlevselliğe sahip olan OpenCL 2.0 altında kendimizi test ediyoruz. OpenCL 1.2'de bu testi kontrol edip düzelteceğiz.
Daha fazla bilgi için MetaTrader 5'teki OpenCL hakkındaki makalelerimizi okumanızı tavsiye ederim:

- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Bu, yalnızca MQL5 kodundaki GPU üzerindeki hesaplamaların değil, aynı zamanda terminalin grafik yeteneklerinin bir gösterimidir:
Bir komut dosyası biçimindeki tam kaynak kodu ektedir. OpenCL 1.2'deki hata düzeltildi.