Hier sehen Sie, was Sie mit OpenCL direkt in MetaTrader 5 ohne DLLs machen können - Seite 16

 

Ich werde die Wiedergabe überprüfen.

Ohne doppelte Mathematik ist in unserem Bereich nichts zu machen. Das gilt erst recht für das Jahr 2020.

Während man in den Anfängen von OpenCL noch nach Kompromissen suchen und sich von dem Gedanken "na ja, man kann ja etwas in Float berechnen" täuschen lassen konnte, ist das heute nicht mehr so.

Jeder Versuch, double -> int -> double zu konvertieren, geht völlig an der Leistung und am Gewinn vorbei, insbesondere bei großen Größen.

Die richtige Option ist die Verwendung nativer Formate und modernerer Karten mit neuen Treibern.

 

Die Unterstützung ist da:

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
 
Ich will nicht über moderne Monetarisierungsmodelle in der IT streiten. Der Kauf einer neuen Hardware, die im Vergleich zu optimierten Algorithmen mit 25 % der möglichen Effizienz arbeitet, führt nicht zur globalen Erwärmung :)

Wir werden das Thema OpenCL und MT5 auf einen späteren Zeitpunkt verschieben, wenn im Familienbudget etwas Geld für einen Desktop-Computer übrig ist.

Ich möchte dich um einen Gefallen bitten, Renat. Fügen Sie im MQL5-Handbuch (OpenCL-Abschnitt) einen Haftungsausschluss hinzu, der besagt, dass Sie vor der Verwendung von doppelten Daten und Berechnungen in Grafikkarten/grafischen Koprozessoren sicher sein müssen, dass sie von diesen Geräten unterstützt werden. Damit MQL5-Neulinge keine Illusionen auf alter Hardware haben.

Vielen Dank für Ihre Zeit.
 
aim-1:

Eine Bitte an Sie, Renat. Bitte fügen Sie in das MQL5-Handbuch (OpenCL-Abschnitt) einen Haftungsausschluss ein, der besagt, dass Sie vor der Verwendung von doppelten Daten und Berechnungen in Grafikkarten/Grafik-Coprozessoren überprüfen sollten, ob sie von diesen Geräten unterstützt werden. Damit MQL5-Neulinge keine Illusionen auf alter Hardware haben.

Dies ist bereits im automatischen Kartentest enthalten und nicht auswählbar: in der neuesten Version geschehen

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

Über alte Karten ohne doppelte Unterlage kann man mit Sicherheit sagen, dass sie für mathematische Berechnungen absolut unbrauchbar sind.

Das ist die Realität.

 
Renat Fatkhullin:

Dies ist bereits im automatischen Kartentest enthalten und nicht auswählbar: in der neuesten Version geschehen

Ich habe großen Respekt vor MetaQuotes. Sehr gute Plattformen werden von Ihnen entwickelt und gepflegt.

Disclamer (Systemanforderungen) ist logisch, wenn Sie den Überblick über den Ruf behalten wollen. Denn naive Anfänger (wie ich:) lassen sich von einer interessanten Funktion begeistern, die sie im Netz aufgeschnappt haben, und nachdem sie bei der Einführung von MT5 gescheitert sind, werden sie sich vielleicht für eine neue Plattform entscheiden, weil sie den Eindruck haben, dass es bei der Verwendung dieser Plattform möglicherweise weitere Fehler gibt. Zum Beispiel die Notwendigkeit, OOP in Standardbibliotheken zu verstehen, usw.

Übrigens wäre es nützlich, eine Vorlage für einen einfachen Expert Advisor ohne OOP zu haben (vorzugsweise direkt auf der MT5-Website), so dass sich auch MQL4-Anfänger schnell an MQL5 gewöhnen könnten, während sie die volle Kontrolle über den Code haben. In diesem Sinne wäre ein neues MQL5-Tutorial (vorzugsweise kürzer - ohne alte Tutorials wieder aufzuwärmen) eine gute Idee. Dann würde die Handelsgemeinschaft (der wichtigste Motor/Bremse des Fortschritts) schneller auf eine neue Plattform umsteigen.

Nochmals vielen Dank für Ihre harte Arbeit.
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека MQL5 написана на языке MQL5 и предназначена для облегчения написания программ (индикаторов, скриптов, экспертов) конечным пользователям. Библиотека обеспечивает удобный доступ к большинству внутренних функций MQL5.
 
aim-1 : Ich respektiere MetaQuotes. Sehr gute Plattformen werden von Ihnen entwickelt und unterstützt.

Disclaimer (Systemanforderungen) ist logisch, wenn Sie Ihren Ruf überwachen wollen. Denn naive Neulinge (wie ich :), die bei der Einführung von MT5 von interessanten Funktionen im Netz überrascht wurden, können sich noch lange an der neuen Plattform abreagieren, da es scheint, dass weitere Pannen bei der Nutzung der Plattform möglich sind. Zum Beispiel die Notwendigkeit, OOP in Standardbibliotheken zu verstehen , usw.

Mit OOP, nebenbei bemerkt, wäre es schön, offiziell zu legen (besser, direkt auf der MT5 Website-Seiten) eine Vorlage eines einfachen Handels Expert Advisor ohne OOP, so dass auch MQL4 Babys können schnell in MQL5 zu engagieren, während die volle Kontrolle der Arbeit des Codes. In diesem Sinne würde ein neues Lehrbuch über MQL5 (vorzugsweise kürzer - ohne Wiederholung des alten Wassers) nicht schaden. Dann wird die Handelsgemeinschaft (der wichtigste Motor / Bremser des Fortschritts) schneller auf die neue Plattform umsteigen.

Nochmals vielen Dank für Ihre harte Arbeit.

Einige Beispiele werden mit dem MQL5-Paket geliefert. Völlig verfahrensorientierte Programmierung. Ich bin mir bei MQL4 nicht sicher.

 
Nicht klar
//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 ); }
Ergebnis:
32765:0:2147352576
32765:1:2147418112

und wenn

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

Ergebnis:

32766:0:2147418112

Warum gibt es in einem Fall einen Ausgang (Leitung) und im anderen Fall zwei?

 
A100:
Unklar Ergebnis:

und wenn

Ergebnis:

Warum gibt es in einem Fall einen Ausgang (Leitung) und im anderen Fall zwei?

Vielen Dank für diese Nachricht.
Behoben.

OpenCL-Handle-Überlauf aufgrund häufiger Überbeanspruchung des Handles, mehr als SHORT_MAX-mal

 
Anscheinend haben sie das Problem drastisch gelöst, jetzt funktioniert es auch nicht mehr
void OnStart()
{
        if ( CLContextCreate( 0 ) == -1 ) Print( GetLastError() ); //5114

}

und vor einer Woche funktionierte es noch einwandfrei. Warum OpenCL deaktivieren, wenn es keine Unterstützung für Double gibt und es nicht verwendet wird?

 

Ja, ich habe beschlossen, alte Karten ohne doppelte Unterstützung nicht mehr zu verwenden.

Die alten Karten sind im Allgemeinen sehr schlecht, einschließlich schlechter, nicht reparierter Treiber, die oft abstürzen und das Terminal zum Absturz bringen.

In Wirklichkeit sollten Sie die Versionen der Treiber bereits explizit kontrollieren, wie es die Entwickler von PC-Spielen tun. Mit den Standardtreibern von Microsoft kommen Sie nicht sehr weit.
Grund der Beschwerde: