OpenCl und die dazugehörigen Werkzeuge. Bewertungen und Eindrücke. - Seite 2

 
Mathemat:

Articul, du musst nicht so kategorisch sein. Die Welt steht nicht still. Moderne Monstergrafikkarten müssten nach Ihrer Logik auch als Folge von Ideenlosigkeit in der Bildverarbeitung erkannt werden?

Manchmal bin ich selbst froh, schneller zu sein - einfach um zu vermeiden, dass ich beim Debuggen des Codes warten muss, bis die umfangreichen Berechnungen abgeschlossen sind, die alle in meinem Code in init() enthalten sind (etwa 10 Sekunden). Und alle anderen Berechnungen, die "on the fly" stattfinden, sind sehr schnell, so dass ich hier kein Multithreading benötige.

Ich glaube, dass diese Art von Macht notwendig ist, um bestimmte Ideen zu testen. Es wäre zum Beispiel sehr interessant, die Ergebnisse der Forward-Tests der letzten 10 Jahre für 32 Währungspaare zu betrachten. Und um die Maschine wirklich zu belasten, sollten wir das System auf einer kleinen TF aufbauen. Gehen wir davon aus, dass es sich um M15 handelt. Der Optimierungszeitraum beträgt 8 Wochen und Out of Sample 2 Wochen. Allerdings wird dies auf der Karte deutlicher zu erkennen sein:

Wenn die Optimierung 1 Minute dauert, verbringen wir ungefähr 138 Stunden damit. Die Anzahl der Schritte (Optimierungen) beträgt 8320. Dies ist eine Handelsstrategie. Und was, wenn es sich um ein Portfolio handelt? Was ist, wenn es kein System gibt und wir auf der Suche nach einem sind? ))) Von diesem Punkt an wird klar, dass es nie genug Strom gibt.

 
Mathemat:

Ich bin froh, wenn ich mich manchmal beschleunigen kann - nur um beim Debuggen des Codes nicht auf umfangreiche Berechnungen warten zu müssen, die alle in meiner init() enthalten sind (etwa 10 Sekunden). Und alle anderen Berechnungen, die "on the fly" stattfinden, laufen wirklich sehr schnell, so dass Multithreading hier nicht erforderlich ist.

Es ist wahrscheinlich möglich, sie einmal zu berechnen und zwischenzuspeichern?
 
tol64:

Ich glaube, dass eine Leistung dieser Größenordnung erforderlich ist, um diese oder jene Ideen zu testen {...} Die Anzahl der Schritte (Optimierungen) beträgt 8320.

Was aber, wenn Sie zum Beispiel mehrere hunderttausend Durchläufe benötigen? :-)
 
jartmailru:
Es ist wahrscheinlich möglich, sie einmal zu berechnen und sie irgendwie zwischenzuspeichern?

Was bedeutet "Cache" bei einem einfachen MQL4?

Ich bin gerade dabei, den Code des Indikators zu debuggen. Wenn ich F5 drücke, wird wieder kompiliert, aber es werden nur Informationen nach Berechnungen angezeigt, von denen die meisten in init() durchgeführt werden.

Natürlich können Sie den Code auch in einer Datei speichern und ihn während der Fehlersuche von dort aus lesen. Aber das ist ein bisschen umständlich und an der falschen Stelle.

 

Eigentlich ist die Idee gar nicht so abwegig, Alexey, die Frage ist nur die Art der Umsetzung.

Schließlich hat auch die CPU nicht ohne Grund einen eigenen Cache, und sogar mehr als einen)

 

Und wie schlagen Sie vor, dies zu tun - ohne auf Kodierung außerhalb von MQL4 zurückzugreifen?

Ich habe es bereits vorgeschlagen - über Dateien. Aber es ist lang und lästig.

 

Ein Cache bedeutet in der Regel Arbeitsspeicher für den schnellen Abruf und die Änderung von Daten.

Im Grunde handelt es sich um eine triviale Datenbank. Dies erfordert natürlich zusätzliche Kapazitäten, aber die Leistungssteigerung kann erheblich sein.

 
Der einzige "Arbeitsspeicher", der die Neukompilierung überlebt, wenn nur MQL4-Tools verwendet werden, ist das Schreiben in globale Variablen. Ist es das, was Sie meinen?
 

Nicht unbedingt, Sie könnten zum Beispiel die von Junko bereits implementierte Zuordnung verwenden. Ich spreche nicht einmal von Ihrer konkreten Aufgabe, nur das Prinzip an sich scheint mir recht vernünftig zu sein.

 
Ich weiß nicht, was Mapping ist.
Grund der Beschwerde: