Interessantes Thema für viele: was ist neu in MetaTrader 4 und MQL4 - große Änderungen auf dem Weg - Seite 49
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
Daskönnen Sie nicht.
Mach keinen Scheiß, geh in die PR-Küche ;)
Jacke, beschmutzen Sie nicht Ihr Image hier unter den "Nubs und PR-Leuten", wie Sie es nennen. Gehen Sie zu Ihrem QQ.
P.S. Für Händler gibt es die Möglichkeit, ihr Wissen über die Realitäten des Devisenmarktes und seine verschiedenen Merkmale an ihren üblichen Börsen aufzufrischen. Erweitern Sie Ihren Horizont!
Jacke, beschmutzen Sie nicht Ihr Image hier unter den "Nubs und PR-Leuten", wie Sie es nennen. Gehen Sie zu Ihrem QQ.
MetaQuotes hat es natürlich mit dem Format der gespeicherten Historie (MqlRates) übertrieben (und untertrieben), was verständlich ist. Als das Format entwickelt wurde, herrschten auf dem Devisenmarkt feste Spreads vor, während marktübliche (variable) Spreads noch exotisch waren.Obwohl es klar war, dass selbst die festen Spreads in der Tat schwankten, weil die Maklerfirmen "ihre Fixierung in den Momenten von Nachrichten und schnellen Marktveränderungen nicht garantieren" (die Anführungszeichen stellen hier ein Zitat aus einem typischen Angebot fast aller Maklerfirmen jener Zeit dar).
Aber die Zeiten haben sich geändert, und wir haben, was wir haben - die Spreads schwimmen auf jeder Zecke, und das ist in Ordnung. Nur die historischen Zitate spiegeln das nicht wider, leider.
Für jeden Balken wird nur ein Wert der Spanne in der Historie gespeichert. Und das ist jetzt nicht genug. Und es führt zu Verzerrungen beim Testen der Historie, weil es keine Übereinstimmung zwischen der tatsächlichen Handelshistorie und dem Handel im Tester gibt, selbst wenn ein Broker eine absolut ehrliche (der tatsächlichen Tick-Feed-Übersetzung entsprechende) Historienbasis liefert. Der Grund ist die unzureichende Beschreibungskraft des MqlRates-Formats.
Diese Struktur geht von der Unveränderlichkeit des Spreads innerhalb eines Balkens aus, was nicht der aktuellen Handelsrealität entspricht.
Im weiteren Verlauf der Diskussion über das "vollständige" Format habe ich es "Mql_6_Rates" genannt, um deutlich zu machen, dass es derzeit nicht unterstützt wird.
Im Folgenden werden zwei Varianten vorgestellt: Die erste ist eine gepackte Struktur (für die Festplatte) ohne Komprimierung durch spezielle Algorithmen. Es könnte um ein Vielfaches kleiner komprimiert werden (vermutlich 2-3), um den Transferverkehr zu reduzieren. Das komprimierte Format wird hier nicht diskutiert.
Das "gepackte" Format soll optimal sein, wenn es auf der Festplatte des Händlers gespeichert ist. Wenn es von der Festplatte in den Speicher geladen wird, kann es im Handumdrehen entpackt werden, die Entpackungsfunktionen sind an die Struktur "angehängt".
Die entpackte Historie (für den Zugriff von MQL) könnte z.B. so aussehen:
Er ist größer als jetzt, aber die Spanne wird an allen festen Punkten des Balkens berechnet. D.h., wenn wir Informationen in Minutenbalken nach dem traditionellen Schema {Open+High+Low+Close} schreiben müssen, dann sollten wir sie "vollständig" schreiben.
Meiner Meinung nach sind diese Informationen überflüssig und neigen dazu, am Eröffnungszeitpunkt maximale Illusionen zu erzeugen. Die Zeitpunkte der Balkeneröffnung für verschiedene Symbole stimmen nicht überein, während genau zum Zeitpunkt des Minutenbeginns (astronomisch) die Geld-Brief-Kurse auf den Symbolen den zuletzt gehandelten Geboten, d.h. den Schlusskursen, entsprechen. Daher könnte das am besten geeignete Format für die Prüfung der Minuten (der gesündeste Kompromiss zwischen Tradition und gesundem Menschenverstand) wie folgt aussehen
// Die entsprechende Einsparung im gepackten Diskettenformat würde weitere 7 Bytes betragen, d.h. SizeOf(Mql_6_PackedRates) würde sich auf 31 Bytes reduzieren.
Für die ökologische (sinnvollste) Prüfung "nach Eröffnungskursen" sollte die astronomische Startzeit von einer Minute genommen werden, d.h. der Schlusskurs des vorherigen Balkens. In diesem Fall würde ein exakter Mehrwährungssynchronismus der Preise erreicht werden. Diese Synchronität ist für das Debugging von Multicurrency-EAs, die mit Market Orders handeln, von entscheidender Bedeutung. Für den Handel mit Limit- und Stop-Orders sind die Informationen über die Extrema auf jedem Balken von entscheidender Bedeutung. Sie sind auch in dem von uns diskutierten Format vollständig verfügbar.
--
Eigentlich entwickle ich diese Formate gerade für meine eigenen Zwecke. Sie hier zu veröffentlichen, ist nur ein Nebenprodukt meiner Entwicklung. Vielleicht findet sie ja jemand nützlich.
Bei einem umweltfreundlichen (und sinnvollen) "Eröffnungskurs"-Test sollte die astronomische Startzeit der Minute genommen werden, d. h. der Schlusskurs des vorherigen Balkens.
In einigen Fällen wird es entscheidend sein, die Lücke zu ignorieren.
p.s. Wenn Sie Einsparungen beim Datenverkehr benötigen, können Sie Offsets anstelle von absoluten Preiswerten speichern, wofür double sehr gut geeignet ist.
MetaQuotes hat es natürlich mit dem Format der gespeicherten Historie (MqlRates) übertrieben (bzw. untertrieben). Das ist verständlich: Als das Format auf dem Devisenmarkt entwickelt wurde, herrschten feste Spreads vor, während marktübliche (variable) Spreads noch exotisch waren.Obwohl es klar war, dass selbst feste Spreads in Wirklichkeit variabel waren, weil die Maklerunternehmen "in Zeiten von Nachrichten und schnellen Marktveränderungen keine Garantie für ihre Festigkeit geben" (die Anführungszeichen stellen hier ein Zitat aus einem typischen Angebot fast aller Maklerunternehmen jener Zeit dar).
MT5 war ursprünglich als Börsenterminal konzipiert. Und an den Börsen sind die ECN-Gesetze zur Preisbildung schon sehr lange in Kraft. Die Ausrede des Mangels ist also nicht haltbar. Nun, es gab (und gibt) in ihrem Team keinen starken Algotrader, auf den man hören könnte. Offensichtlich gilt nur "die Anzahl der Jahre erfolgreicher Plattformentwicklung" als solide Logik.
Ich habe nicht versucht, mich zu entschuldigen. Um sich zu entschuldigen, muss man zuerst anklagen. Dafür habe ich irgendwie keine Zeit.... :)
Dann ist es ein Ablasshandel (vor dem man sich hüten sollte - er ist schlimmer als nackte Kritik):
Als das Format der gespeicherten Historie (MqlRates) entwickelt wurde, hat MetaQuotes natürlich übertrieben (untertrieben). Das ist verständlich, denn als das Format auf dem Devisenmarkt entwickelt wurde, herrschten feste Spreads vor, Marktspreads (floating) waren noch exotisch.Obwohl es klar war, dass selbst feste Spreads in Wirklichkeit variabel waren, weil die Maklerunternehmen "in Zeiten von Nachrichten und schnellen Marktveränderungen keine Garantie für ihre Festigkeit geben" (die Anführungszeichen stellen hier ein Zitat aus einem typischen Angebot fast aller Maklerunternehmen jener Zeit dar).
In einigen Fällen wird es entscheidend sein, die Lücke zu ignorieren.
Dann ist es Herablassung (Vorsicht vor so etwas - schlimmer als nackte Kritik):
:-)
Es ist ein bisschen spät für mich, Borjomi zu trinken oder Wiedergutmachung zu leisten. Ein Platz in der Hölle ist schon lange für mich reserviert.
Ich glaube nicht, dass der Versuch zu verstehen, ohne zu urteilen, die schwerste meiner Sünden ist. ;)