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

 

Çıktıyı kontrol edeceğim.

Çifte matematik olmadan alanımızda yapacak bir şey yok. 2020'de daha da fazla.

Daha önce, OpenCL'nin ortaya çıkışının şafağında, tavizler aramak ve kendinizi aldatmak hala mümkünse, “ne de olsa, bir şamandırada bir şey hesaplayabilirsiniz”, şimdi değil.

Double -> int -> double dönüştürme girişimleri, özellikle büyük hacimlerde performansı ve kazancı tamamen öldürür.

Doğru seçenek, yerel biçimleri ve yeni sürücülerle daha modern kartları kullanmaktır.

 

Destek var:

OpenCL device name: GeForce GTX 1050 Ti with Max-Q Design
OpenCL device ext: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64
                   cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d10_sharing
                   cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics


OpenCL device name: Intel(R) UHD Graphics 630
OpenCL device ext: cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics 
                   cl_khr_local_int32_extended_atomics cl_intel_subgroups cl_intel_required_subgroup_size cl_intel_subgroups_short cl_khr_spir cl_intel_accelerator 
                   cl_intel_driver_diagnostics cl_khr_priority_hints cl_khr_throttle_hints cl_khr_create_command_queue cl_intel_subgroups_char cl_intel_subgroups_long
                   cl_khr_fp64 cl_khr_subgroups cl_khr_il_progr
 
BT'deki modern para kazanma modeli hakkında tartışmayacağım. Optimize edilmiş algoritmalar kullanmaya kıyasla olası verimliliğin %25'i ile çalışan yeni bir donanım parçası satın almak elbette küresel ısınmaya neden olmaz :)

OpenCL ve MT5 konusunu, aile bütçesinde sabit bir bilgisayar için ücretsiz kolay para görünene kadar erteleyelim.

Lütfen, Renat. Lütfen MQL5 kılavuzuna (OpenCL bölümünde), video kartlarında/grafik yardımcı işlemcilerinde çift veri ve hesaplamaları kullanmadan önce, bunların bu cihazlar tarafından desteklendiğinden emin olmanız gerektiğini belirten bir sorumluluk reddi beyanı ekleyin. Böylece MQL5'e yeni başlayanlar eski donanım üzerinde gereksiz yanılsamalar yaşamazlar.

Zaman ayırdığınız için teşekkür ederim.
 
aim-1 :

Lütfen, Renat. Lütfen MQL5 kılavuzuna (OpenCL bölümünde), video kartlarında/grafik yardımcı işlemcilerinde çift veri ve hesaplamaları kullanmadan önce, bunların bu cihazlar tarafından desteklendiğinden emin olmanız gerektiğini belirten bir sorumluluk reddi beyanı ekleyin. Böylece MQL5'e yeni başlayanlar eski donanım üzerinde gereksiz yanılsamalar yaşamazlar.

Bu, otomatik harita testinde zaten yazılmıştır ve seçili değildir: en son sürümde yapılır

OpenCL  test compilation failed with error: use of type 'double' requires cl_khr_fp64 extension to be enabled 

Çift desteği olmayan eski kartlar hakkında, matematiksel hesaplamalar için kesinlikle işe yaramaz olduklarını söylemek güvenlidir.

Gerçek böyle.

 
Renat Fatkhullin :

Bu, otomatik harita testinde zaten yazılmıştır ve seçili değildir: en son sürümde yapılır

MetaQuotes'a saygı duyuyorum. Çok iyi platformlar sizin tarafınızdan geliştirilir ve korunur.

İtibarınızı takip etmek istiyorsanız sorumluluk reddi (sistem gereksinimleri) mantıklıdır. Çünkü naif yeni başlayanlar (benim gibi :), ağda yakalanan ve MT5'in piyasaya sürülmesinde bozulan ilginç bir özellikle alev almış, diğer ayrılıkların potansiyel olarak mümkün olduğu göründüğü için yeni platforma uzun süre serinleyebilirler. onu kullanırken. Örneğin, standart kitaplıklarda OOP ile ilgilenme ihtiyacı vb.

Bu arada, OOP ile, OOP'siz basit bir ticaret danışmanının bir şablonunu resmi olarak (tercihen doğrudan MT5 web sitesinin sayfalarında) yayınlamak güzel olurdu, böylece MQL4 bebekleri bile tam olarak kontrol ederken MQL5'e hızlı bir şekilde dahil olabilir. kodun çalışması. Bu anlamda, yeni bir MQL5 öğreticisi (tercihen daha kısa - eskisini tekrarlamadan) zarar vermez. Ardından ticaret topluluğu (ana motor/ilerleme durdurucu) hızla yeni platforma sürünecektir.

Çalışmanız için tekrar teşekkürler.
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека MQL5 написана на языке MQL5 и предназначена для облегчения написания программ (индикаторов, скриптов, экспертов) конечным пользователям. Библиотека обеспечивает удобный доступ к большинству внутренних функций MQL5.
 
aim-1 : MetaQuotes'a saygı duyuyorum. Çok güzel platformlar sizler tarafından geliştiriliyor ve destekleniyor.

İtibarınızı izlemek istiyorsanız sorumluluk reddi (sistem gereksinimleri) mantıklıdır. Naif acemiler (benim gibi :) ağda toplanan ve MT5 başlatıldığında bozulan ilginç özelliklerin ateşini yakaladıkları için, yeni platforma uzun süre soğuyabilir, çünkü onu kullanırken başka arızaların potansiyel olarak mümkün olduğu görülüyor. Örneğin, standart kitaplıklarda vb. OOP'yi anlama ihtiyacı.

Bu arada, OOP ile, OOP'siz basit bir ticaret Uzman Danışmanı şablonunu resmi olarak (daha iyisi, doğrudan MT5 web sitesi sayfalarında) düzenlemek güzel olurdu, böylece MQL4 bebekleri bile MQL5'e hızlı bir şekilde dahil olabilir. kodun çalışmasını kontrol etmek. Bu anlamda, MQL5 üzerine yeni bir ders kitabı (tercihen daha kısa - eski suyu tekrar etmeden) zarar vermez. Ardından ticaret topluluğu (ana motor / ilerlemenin durdurucusu) yeni platforma daha hızlı sürünecek.

Emekleriniz için tekrar teşekkürler.

Bazı örnekler MQL5 paketiyle birlikte gelir. Tamamen prosedür odaklı programlama. MQL4'ten emin değilim

 
belirsiz
 //test.mqh
void f( int ii )
{
         for ( int i = -ii; i <= ii; i++ )
        {
                 int j = CLContextCreate ( i );
                 if ( j != - 1 )
                {
                         CLContextFree ( j );
                         Print ( ii, ":", i, ":" , j );
                }
        }
}
 #include "test.mqh"
void OnStart () { f( 32765 ); }
Sonuç:
 32765:0 : 2147352576
32765:1 : 2147418112

ve eğer

 #include "test.mqh"
void OnStart () { f( 32766 ); }

Sonuç:

 32766:0 : 2147418112

Neden bir durumda bir çıktı (satır), diğerinde iki çıktı var?

 
A100 :
Belirsiz Sonuç:

ve eğer

Sonuç:

Neden bir durumda bir çıktı (satır), diğerinde iki çıktı var?

Mesaj için teşekkürler.
Düzeltildi.

Sık sık yeniden kullanımı nedeniyle OpenCL tanıtıcı değerinin SHORT_MAX defadan fazla taşması

 
Görünüşe göre sorunu kökten çözmüşler, şimdi o da çalışmıyor
 void OnStart ()
{
         if ( CLContextCreate ( 0 ) == - 1 ) Print ( GetLastError () ); //5114

}

bir hafta önce her şey yolunda gidiyordu. Çifte destek yoksa ve kullanılmıyorsa OpenCL neden devre dışı bırakılsın?

 

Evet, çifte destek olmadan eski kartları kullanmamaya karar verdik.

Genel olarak, eski kartlarla ilgili her şey çok kötü, buna genellikle çöken ve terminali düşüren kötü, hatasız sürücüler de dahil.

Gerçekte, bilgisayar oyunu geliştiricilerinin yaptığı gibi, sürücü sürümlerini açıkça kontrol etmek zaten gereklidir. Varsayılan Microsoft sürücüleriyle fazla uzağa gidemezsiniz.
Neden: