Wie kann ich die Ausgabe in einem Diagramm in einer einzeiligen Schriftart gestalten? - Seite 7

 
Renat Fatkhullin:

Was ist das Problem, wenn man darüber nachdenkt und es drastisch verbessert?

Es gibt bereits eine MQL4-MQL5-Bibliothek im Modus "es funktioniert und ist großartig", die Ihnen die Haare zu Berge stehen lässt. Die Leute nutzen es ernsthaft, um die Geschwindigkeit der beiden Plattformen zu vergleichen.

Und jetzt bieten Sie an, nicht zu denken, sondern ein neues, hochmodernes Tool zu entwickeln, das mit dem Spruch "MT5 ist langsamer" umhergeschleppt werden soll.


Ich kann nichts verstehen. Ich schlage vor, noch einmal, wenn fxsaber die Zeit und Lust hat:

1. Erstellung einer Bibliothek für MT5 (optional für MT4), die unnötige Funktionen (im Moment Grafiken) im Tester/Optimierer-Modus deaktiviert

2. Dazu verpacken Sie diese kostspieligen Funktionen in Defines und aktivieren oder deaktivieren sie je nach Betriebsart

Es gibt keinen Grund, so emotional zu werden, niemand greift MT5 an.

 
fxsaber:

Es gibt ein universelles Tool, mit dem Sie die Leistung des Codes im Tester mit einer Zeile messen können. Wir haben dort eine Menge gesehen. Insbesondere, dass ein einzelner Lauf langsamer ist als ein Optimierungslauf.

Die Entwickler gaben ihre Antwort auf die Frage nach dem Kommentar. Bisher habe ich selbst die Optimierung um das 1,5-2fache durch eine Zeile beschleunigt.

Und der SD erzählte mir von einer wichtigen Nuance für die Leistung.


Sich über Mikrosekunden der Funktionsausführung Gedanken zu machen, ist nur in Optimierungsmodi sinnvoll. In Echtzeit macht das keinen Unterschied. Und der Kommentar hat keinen Einfluss auf die Leistung des Expert Advisors in Echtzeit, auch wenn er um eine Größenordnung langsamer ist.


Aber es ist eine Tatsache, dass fast niemand EAs so schreibt, dass sie im Tester möglichst schnell laufen.

Bitte schreiben Sie eine FAQ darüber, wie Sie dies erreichen können. Bitte fassen Sie alle Ihre Gedanken an einem Ort zusammen. Wir werden sie in Ihrem Blog und an anderen Stellen veröffentlichen. Vielleicht mache ich einen Videoclip auf youtube und stelle ihn in den MQ-Kanal. Sie haben zweifellos große Erfahrung in solchen systemischen Dingen, lassen Sie uns diese zum Wohle der Allgemeinheit teilen!
 
Alexey Volchanskiy:
Bitte schreiben Sie eine FAQ darüber, wie Sie dies erreichen können. Alle Gedanken sollen an einem Ort sein.

Dafür gibt es einen tollen Thread. Vielleicht wird jemand viel Zeit und Mühe darauf verwenden, auf der Grundlage der vielen Beiträge in diesem Thread eine abschnittsweise FAQ zusammenzustellen.


Und für die Leistung verwende ich immer das gleiche Rezept - TesterBenchmark + Profiler. Und natürlich muss ein vernünftiges Gleichgewicht zwischen den Merkmalen des Testers und dem realen Handel gefunden werden. So ist MT4Orders geschrieben. Das Programm ist auf schnelles Arbeiten im Tester und ideales Arbeiten auf dem echten Konto ausgerichtet. Zu diesem Zweck müssen wir verstehen, dass es einige (manchmal teure) Prüfungen in demselben Tester gibt, die für den echten Handel nicht notwendig sind. Dies führt zu großen Einsparungen. Und Zwischenspeicherung desselben Verlaufs, usw. D.h., es ist notwendig, Bibliotheken zu schreiben, die manchmal in ihren Eingeweiden unterschiedliche Logiken für den Tester und die Realität haben. Trade.mqh ist leider keine solche Bibliothek.

Особенности языка mql5, тонкости и приёмы работы
Особенности языка mql5, тонкости и приёмы работы
  • 2017.02.24
  • www.mql5.com
В данной теме будут обсуждаться недокументированные приёмы работы с языком mql5, примеры решения тех, или иных задач...
 
fxsaber:

Dafür gibt es einen tollen Thread. Vielleicht wird jemand viel Zeit und Mühe darauf verwenden, auf der Grundlage der vielen Beiträge in diesem Thread eine abschnittsweise FAQ zusammenzustellen.


Und für die Leistung verwende ich immer das gleiche Rezept - TesterBenchmark + Profiler. Und natürlich muss ein vernünftiges Gleichgewicht zwischen den Merkmalen des Testers und dem realen Handel gefunden werden. So ist MT4Orders geschrieben. Das Programm ist auf schnelles Arbeiten im Tester und ideales Arbeiten auf dem echten Konto ausgerichtet. Zu diesem Zweck müssen wir verstehen, dass es einige (manchmal teure) Prüfungen in demselben Tester gibt, die für den echten Handel nicht notwendig sind. Dies führt zu großen Einsparungen. Und Zwischenspeicherung desselben Verlaufs, usw. D.h., es ist notwendig, Bibliotheken zu schreiben, die manchmal in ihren Eingeweiden unterschiedliche Logiken für den Tester und die Realität haben. Trade.mqh ist leider keine solche Bibliothek.

Darauf wollte ich in meinen vorherigen Beiträgen hinaus. Die Erstellung einer FAQ zu dem oben genannten Zweig ist die wichtigste Aufgabe. Nehmen wir die bescheidene Aufgabe, eine FAQ zur Beschleunigung der Optimierung zu erstellen. Sie schreiben einfach Ihre Gedanken auf, und wenn es einen Code gibt, fügen Sie ihn hinzu. Ich werde versuchen, sie zusammenzufassen, aufzufrischen, und dann werden wir uns darauf einigen und sie veröffentlichen. Ich werde den Clip machen, ich habe eine Menge Erfahrung, kein Problem.
 
Alexey Volchanskiy:
Nehmen wir eine bescheidene Aufgabe - eine FAQ zur Beschleunigung der Optimierung zu erstellen.

Altruismus ist manchmal eine gute Sache. Aber die Zeit gehört nicht mir, sie gehört der Familie.

Es werden bescheidene Codes und Rezepte ausgetauscht. Dies scheint ausreichend zu sein.

Ich besitze keine Geheimnisse.

 
fxsaber:

Und das tut sie auch richtig. Das ist genauso sinnvoll, wie nach dem Ändern von Objekteigenschaften kein ChartRedraw durchzuführen. Um die Terminologie zu verwenden

ChartRedraw sollte nach dem Massenschreiben aufgerufen werden, nicht nach jedem Schreiben.

Ja, aber wenn ich eine kleine Leinwand habe, sagen wir 130x80 Pixel, was weniger als 1% des gesamten Fensters ist, und ich muss aktuelle Informationen darin ausgeben. In MT4 kann ich das also tun, ohne den gesamten Bildschirm mit Update(false) neu zu zeichnen, aber in MT5 muss ich jedes Mal den gesamten Bildschirm neu zeichnen. Und es ist um einige Größenordnungen ressourcenintensiver. Und dies ist kein Test, sondern ein Arbeitsthema.
 
Nikolai Semko:
Ja, aber wenn ich eine kleine Leinwand habe, sagen wir 130x80 Pixel, was weniger als 1% des gesamten Fensters ist, und ich muss aktuelle Informationen darin anzeigen. In MT4 kann ich das also tun, ohne den gesamten Bildschirm mit Update(false) neu zu zeichnen, aber in MT5 muss ich jedes Mal den gesamten Bildschirm neu zeichnen. Und es ist um einige Größenordnungen ressourcenintensiver. Und dies ist kein Test, sondern ein Arbeitsthema.

Ich bin sicher, dass der Bildschirm nie teilweise neu gezeichnet wird, wenn Kanvas oder eine andere Aktion.

 
fxsaber:

Altruismus ist manchmal eine gute Sache. Aber die Zeit gehört nicht mir, sie gehört der Familie.

Es werden bescheidene Codes und Rezepte ausgetauscht. Dies scheint ausreichend zu sein.

Ich habe keine Geheimnisse.


Bescheidenheit ist großartig! Ich bin auch ein bescheidener Mensch. Altruismus ist in den meisten Fällen für die verstorbene Mutter Teresa. Obwohl manchmal die Wurzeln dieser schlimmen Krankheit - Altruismus - auch in mir aufkeimen )))

 
fxsaber:

Sicherlich wird der Bildschirm nie teilweise neu gezeichnet, wenn Kanvas oder eine andere Aktion ausgeführt wird.


Ja, ich habe mich geirrt. Ich habe mich geirrt, als ich sagte, dassResourceCreate ohne ChartRedraw in MT4 die Leinwand jedes Mal neu zeichnet. Er tut dies nur ab und zu, während MT5 dies überhaupt nicht tut.

Ja, natürlich bin ich dumm. Auf der Hardware-Ebene kann der Bildschirmkontext nicht nur einen Teil des Bildschirms verändern, sondern den gesamten Bildschirm.
Ich habe es verstanden, als ich eine kleine Verzögerung Sleep(10) eingeführt habe:

Dateien:
Grund der Beschwerde: