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.
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.
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.
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.
Стандартная библиотека 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.
//test.mqhvoid 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"voidOnStart() { f( 32765 ); }
Ergebnis:
32765:0:214735257632765:1:2147418112
und wenn
#include "test.mqh"voidOnStart() { f( 32766 ); }
Ergebnis:
32766:0:2147418112
Warum gibt es in einem Fall einen Ausgang (Leitung) und im anderen Fall zwei?
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.
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:
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
Ü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.
Dies ist bereits im automatischen Kartentest enthalten und nicht auswählbar: in der neuesten Version geschehen
Einige Beispiele werden mit dem MQL5-Paket geliefert. Völlig verfahrensorientierte Programmierung. Ich bin mir bei MQL4 nicht sicher.
und wenn
Ergebnis:
Warum gibt es in einem Fall einen Ausgang (Leitung) und im anderen Fall zwei?
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
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.