Diskussion zum Artikel "LifeHack für Händler: Fast-Food aus Indikatoren" - Seite 4
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
Es gibt keine Gewissheit, dass ein Benutzer diesen Prozess generell beschleunigen kann. Der Overhead entsteht natürlich durch die Berechnung der Hash-Funktion.
Ganz genau. Es gibt also keinen Grund, Ihre Hash-Funktion in einem OOP-Wrapper zu erstellen, da diese Funktion bereits hinter den Kulissen von MT5 implementiert ist und schnell arbeitet.
Ich habe mich dort nicht um die Leistung gekümmert, aber es war klar, dass jede Hash-Funktion Eingabe sollte ein Array von MqlParam Werte sein. Und das kann nicht schnell funktionieren, wenn man bedenkt, dass es ein langsames String-Feld gibt.
Das bedeutet, dass es bereits auf Benutzerebene schwierig ist, die Hash-Funktion des Systems einzuholen, und dass es fast unmöglich sein wird, sie in nennenswertem Umfang zu überholen.
Aber das Wichtigste bei all dem ist, dass es keinen signifikanten Overhead von Classic MT5 vs. MT4 Style gibt. MT4 Style gibt, d.h. die Optimierung wird nichts bringen.
Ich habe meinen vorherigen Beitrag gelöscht, weil ich festgestellt habe, dass der MACD MQL4 Style EA zusätzlich auf das Grafiksubsystem zugreift:
D.h. die durchgeführten Tests wurden nicht korrekt durchgeführt. Nachdem ich die Comment-Funktion kommentiert hatte, war die Leistung fast gleich.
Hätte der Autor des Artikels wenigstens einmal ein Profiling durchgeführt (was bei der Leistungsmessung obligatorisch ist - Selbstkontrolle), wäre ein solch bedauerlicher Fehler in den Schlussfolgerungen nicht aufgetreten.
Ich habe die Ergebnisse selbst geglaubt, aber ich hätte es nicht tun sollen. Mein Fehler.
Hätte der Autor des Artikels wenigstens einmal mit der Profilerstellung begonnen (die bei der Leistungsmessung - Selbstkontrolle - zwingend erforderlich ist), wäre es nicht zu einem so bedauerlichen Fehler in den Schlussfolgerungen gekommen.
Ich habe die Ergebnisse selbst geglaubt, aber ich hätte es nicht tun sollen. Mein Fehler.
+
Aber dann wiederum sind Indikatoren und Balken böse.
Ich habe diese Idee nicht verstanden.
Nun, Sie wollten, dass der Leser in einem Artikel mit einer Menge Informationen überschüttet wird.
Ich wollte objektive Schlussfolgerungen.
Aber was Ihre Methode betrifft - es ist eine frontale Lösung, haben Sie andere ausprobiert? Und die Leistung verglichen?
Ja, es handelt sich um eine Frontalmethode, die sich voll und ganz rechtfertigte, weil sie Genauigkeit erforderte und überhaupt keine Leistung brauchte. Die Aufgabe bestand darin, die störende Cleverness von MT5 auszuschalten.
Und andere haben das natürlich nicht versucht, weil
Rechenressourcen und Speicherplatz ist, wenn man hundert Handles durch hundert Bars schleppt. Aber ich habe noch keine EAs gesehen, die einen Handle auf diese Weise festnageln würden. Alles wird der "Cleverness von MQL5" überlassen, was die Autoren dazu zwingt, überhaupt nicht clever zu sein.
Ich habe meinen vorherigen Beitrag gelöscht, weil mir aufgefallen ist, dass der MACD MQL4 Style EA zusätzlich auf das Grafiksubsystem zugreift:
***
Ich habe "Comment" nur zu Testzwecken eingegeben. Sie können die Arbeit im Tester überprüfen, wenn Sie"MACD MQL4 style EA short.mq5" im visuellen Modus ausführen und den Cursor auf den Balken mit Index #1 setzen:
Abbildung 1. "MACD MQL4 style EA short.mh5" im Testprogramm
Und es hat nicht an der Prüfung des RATE im Tester teilgenommen:
Ich habe diese Idee nicht verstanden.
Ich begrüße Balken und Indikatoren in Form von Zeichnungen auf dem Bildschirm. Aber bei EAs ist das fast absurd.
Die Leute testen EAs mit echten Ticks, und aus irgendeinem Grund konzentrieren sie sich nicht auf Ticks, sondern auf Balken. Und es wäre in Ordnung, wenn die Balken für jeden Preistyp (Bid, Ask, Flipper) erstellt würden, aber das ist nicht der Fall.
Es ist eine Art von Masochismus, wenn Menschen freiwillig zu historischen Daten wechseln, was einen schrecklichen Informationsverlust bedeutet. Und auf diesem Fragment versuchen sie, etwas auszuhecken, einschließlich der Verwendung von Methoden des maschinellen Lernens.
Hier ist eine weitere Idee zu smart MQL5. Es gibt eine Menge von Expert Advisors, wo der gleiche Indikator auf jeder Bar aufgerufen wird, aber mit unterschiedlichen Eingabeparametern. MQL5 "schießt" unnötige Griffe im Laufe der Zeit. Aber das ist eine universelle Lösung. Und in einem Expert Advisor kann der Autor diese Verantwortung auf sich nehmen, indem er selbst Handles tötet. Es liegt auf der Hand, dass es eine enorme Verschwendung von Rechenressourcen und Speicherplatz ist, wenn man hundert Handles durch hundert Bars schleppt. Aber ich habe noch keine EAs gesehen, die einen Handle auf diese Weise festnageln würden. Alles wird der "Cleverness von MQL5" überlassen, was die Autoren dazu zwingt, überhaupt nicht clever zu sein.
Selbst die klügste Arbeit mit Handles wird hier nicht helfen. Da hilft nur eines: Umschreiben des Indikators in die interne Funktion des Expert Advisors mit Parametern.
Imho ist das alles weit von der praktischen Anwendung entfernt. Es gibt eine Möglichkeit, Handles freizugeben: Natürlich können wir uns ein akademisches Beispiel ausdenken, wo diese Funktion verwendet werden kann, anstatt eine schnelle interne Funktion zu schreiben und diese zu verwenden (imho).
Ich habe "Comment" nur zu Testzwecken eingegeben. Sie können die Arbeit im Tester überprüfen, wenn Sie"MACD MQL4 style EA short.mq5" im visuellen Modus ausführen und den Cursor auf den Balken mit Index #1 setzen:
Abbildung 1. "MACD MQL4 style EA short.mh5" im Testprogramm
Und es hat nicht an der Prüfung des RATE im Tester teilgenommen:
D.h. es gibt immer noch einen Overhead, und zwar einen nicht unerheblichen. Das Beispiel von Vladimir ist vertrauenswürdiger, weil der Aufruf in der realen Arbeit des Beraters verwendet wurde.
Auch die geschickteste Arbeit mit Handles hilft hier nicht weiter. Da hilft nur eines: den Indikator in die interne Funktion des Expert Advisors mit Parametern umzuschreiben.
Auch dies ist ein Argument für "Indikatoren sind böse".