Noch einmal zum Thema Multithreading - Seite 2

 
Renat:

Was ist Multithreading in MetaTrader 5:

Ich habe einfach auf den Test geklickt und sofort 5.743 Agenten/CPUs zum Laufen gebracht und 381.468 Durchläufe im Optimierer in 6 Minuten ausgeführt. Jeder Durchlauf dauerte zwischen 1 und 2 Sekunden. Wenn ich den Test auf meinem Computer mit 8 Kernen durchgeführt hätte, hätte ich statt 6 Minuten 800 bis 1600 Minuten gebraucht (381468 / 8 = 47683 Sekunden = 794 Minuten).

Und abgesehen davon, dass ich den Startknopf gedrückt habe, musste ich nichts weiter tun. Irgendein Skynet ist aufgestanden, hat die gesamte notwendige Kartenhistorie selbständig synchronisiert, die Aufgabe auf Tausende von Computern in der ganzen Welt verteilt und sie massenhaft abgearbeitet.

Willkommen in der Realität...

Renat, warum denkst du, dass der Anwendungsbereich von Multi-Threading auf dein Testgerät beschränkt ist? Was halten Sie davon, dass der Nutzer kein Recht hat, die Auto-Optimierung direkt in seinen Algorithmus zu implementieren? Muss er Ihr Testgerät benutzen? Und wenn er sein eigenes neuronales Netz benutzt? Seien Sie nicht so einseitig. Und gleichzeitig werfen Sie mir vor, dass ich nichts verstehe. Sie sehen die Situation nur von Ihrem eigenen Glockenturm aus und kümmern sich nicht um den Rest, wie ich es verstehe.

 
meat:

Sind Sie der Meinung, dass der Nutzer nicht das Recht hat, die automatische Optimierung direkt in seinen Algorithmus zu integrieren? Muss er Ihr Testgerät benutzen? Und wenn er dort sein eigenes neuronales Netz verwendet? Beurteilen Sie die Dinge nicht so einseitig.

Was ist das Problem, wenn wir es jetzt tun?
 
meat:

Renat, warum glaubst du, dass der Anwendungsbereich von Multi-Threading auf dein Testgerät beschränkt ist? Was, Ihrer Meinung nach, der Benutzer hat kein Recht, Auto-Optimierung direkt in seinem Algorithmus zu implementieren? Muss er Ihr Testgerät benutzen? Und wenn er sein eigenes neuronales Netz benutzt? Seien Sie nicht so einseitig in der Betrachtung der Dinge. Und gleichzeitig werfen Sie mir vor, dass ich nichts verstehe. Sie sehen die Situation nur von Ihrem eigenen Glockenturm aus und kümmern sich nicht um den Rest, wie ich es verstehe.

Ich habe 11 Jahre lang ständig über diese Sprache nachgedacht, gearbeitet und Verantwortung übernommen.

Also, ab in den Kindergarten. Wenn Sie speziell Multithreading in MQL5 wünschen, sollten Sie entweder OpenCL oder DLL verwenden. Um den Grad der Ausarbeitung in diesem Thema zu verstehen, schauen Sie sich die Kompilierung von C++-Code direkt von MetaEditor und Drag&Drop-DLL-Dateien von Navigator zu MQL5-Code an.

 

Wenn das "MQL5 - neural network on GPU" implementiert wird, wird der Preis für dieses Projekt hoch sein. In den ersten Phasen wird es schwierig sein, und das ist der Anfang, so dass in der Zukunft nach Fehlern zu suchen.

Zumal Sie mit Hilfe des Testers nun Probleme jeglicher Komplexität lösen können.

 
Renat:

Ich habe 11 Jahre lang ständig über diese Sprache nachgedacht, gearbeitet und Verantwortung übernommen.

Also, ab in den Kindergarten. Wenn Sie speziell Multithreading in MQL5 wünschen, sollten Sie entweder OpenCL oder DLL verwenden. Um den Grad der Ausarbeitung auch in diesem Bereich zu verstehen, sehen Sie sich die Kompilierung von C++-Code direkt aus MetaEditor und Drag&Drop-DLL-Dateien aus Navigator in MQL5-Code an.

Ich habe den Schlüsselsatz hervorgehoben. Darum ging es eigentlich von Anfang an. Vielleicht hätten Sie meine Beiträge zuerst aufmerksam lesen sollen, anstatt unhöflich zu sein und persönlich zu werden, ohne zu verstehen. Es ist seltsam, dass jemand, der das Gesicht des Unternehmens repräsentiert, sich so unhöflich verhält...

 
TheXpert:
Wo ist das Problem, wenn wir es jetzt tun?
Wir sprechen hier von Multithreading-Berechnungen.
 
meat:

Ich habe den Schlüsselsatz hervorgehoben. Das ist genau das, was ich von Anfang an gemeint habe. Vielleicht hätten Sie also zuerst meine Beiträge aufmerksam lesen sollen, anstatt unhöflich und persönlich zu werden. Es ist seltsam, dass jemand, der das Gesicht des Unternehmens repräsentiert, sich so unhöflich verhält...

Im allerersten Kommentar wurden Sie auf OpenCL und DLL hingewiesen, aber Sie sagten weiter, dass Sie es besser wissen und dass die Entwickler so mittelmäßig sind, dass sie dies und jenes nicht können, unnötige Dinge hinzufügen usw.

 
meat:

Sind Sie der Meinung, dass der Nutzer nicht das Recht hat, die automatische Optimierung direkt in seinen Algorithmus zu integrieren? Muss er Ihr Testgerät benutzen? Und wenn er dort sein eigenes neuronales Netz verwendet? Seien Sie nicht so einseitig in der Betrachtung der Dinge. Und gleichzeitig werfen Sie mir vor, dass ich nichts verstehe. Sie sehen die Situation nur von Ihrem eigenen Glockenturm aus und kümmern sich nicht um den Rest, wie ich es verstehe.

Die Selbstoptimierung kann auch in Form von separaten Skripten erfolgen, die über benannte Kanäle kombiniert werden. Aber es ist viel einfacher, den internen Tester zu verwenden und eine eigene Fitness-Funktion in OnTester() zu schreiben.
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
  • 2010.07.01
  • investeo
  • www.mql5.com
Данная статья знакомит с реализацией межпроцессного взаимодействия между терминалами MetaTrader 5 посредством именованных каналов (named pipes). Предложен класс CNamedPipes, реализующий возможность использования именованных каналов. Рассмотрен тиковый индикатор для тестирования связи между двумя клиентскими терминалами MetaTrader 5 и измерения общей пропускной способности системы. Представленный метод взаимодействия оказался пригодным для отправки котировок в реальном времени.
 
Renat:

Man hat Ihnen sofort geantwortet, aber Sie haben weiter behauptet, Sie wüssten es besser und die Entwickler seien so mittelmäßig, dass sie dies und jenes nicht machen könnten, unnötige Ergänzungen usw.


Und wie lautete Ihre Antwort? Sie haben mir erzählt, was für ein großartiges Terminal und einen großartigen Tester Sie haben, der in mehreren Strömen arbeitet. Und ich habe kein einziges Wort über Ihr Terminal gesagt. Ich meinte eine andere Sache: Multithreading in MQL-Code. Wenn ein Algorithmus in mehrere Teile aufgeteilt werden kann und jeder Teil parallel ausgeführt wird. Und Sie, der Sie noch nicht einmal das Wesentliche verstanden haben, fangen an, unhöflich zu sein. Nun, wie ich sehe, hat es bei diesem Ansatz keinen Sinn, irgendetwas Konstruktives zu diskutieren, also hat es auch keinen Sinn, die Diskussion fortzusetzen.

 
meat:

Und wie lautete Ihre Antwort? Sie haben mir erzählt, was für ein großartiges Terminal und einen großartigen Tester Sie haben, der in mehreren Strömen arbeitet. Und ich habe kein einziges Wort über Ihr Terminal gesagt. Ich meinte eine andere Sache: Multithreading in MQL-Code. Wenn ein Algorithmus in mehrere Teile aufgeteilt werden kann und jeder Teil parallel ausgeführt wird. Und Sie, der Sie noch nicht einmal den Sinn verstanden haben, werden unhöflich. Nun, wie ich sehe, hat es bei einem solchen Ansatz keinen Sinn, über irgendeine konstruktive Idee zu sprechen, also hat es auch keinen Sinn, die Diskussion fortzusetzen.

Ich empfehle Ihnen, Ihren ursprünglichen Beitrag noch einmal zu lesen und dabei auf alle Ihre Beleidigungen zu achten, und dann weiter unten die Antworten zu lesen.

Die Antworten klangen ruhig, mit sanften Fragen "Um Berechnungen von irgendetwas zu parallelisieren, muss man zuerst erkennen", gaben Antworten und erklärten den aktuellen Stand der Dinge "was wirklich zu parallelisieren ist".

Aber anstatt schnell zu lernen, haben Sie noch mehr Unsinn erzählt und uns die Hunde auf den Hals gehetzt. Das Ergebnis war eine harsche Reaktion.