Wie kann ich die Ausgabe in einem Diagramm in einer einzeiligen Schriftart gestalten? - Seite 7
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
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.
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. 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.
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.
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.
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 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.
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 )))
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: