Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 102
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
Sie gehen zu weit ) Zunächst einmal geht es durch die Nachrichtenwarteschlange. Zweitens müssen Sie einige zusätzliche Umrechnungen vornehmen (hin und her). Außerdem findet eine Validierung statt.
Übrigens sollten Sie die Größe der Struktur nicht explizit angeben. Dafür gibt es sizeof.
Vielleicht haben Sie sich einen anderen Code angesehen.
HH das Einzige, was mir an meiner Version nicht gefällt: Ich musste die Zeilengröße verdoppeln, um Nullen zu umgehen, denn die Null wird als Ende der Zeile wahrgenommen. Ich habe das Gefühl, dass es eine einfachere Lösung gibt, aber ich habe sie nicht gefunden. Aber es funktioniert trotzdem schneller.
SetWindowText/GetWindowText werden nicht über Nachrichten gesendet?
Es gibt keine Hin- und Rückfahrtumrechnungen.
Natürlich tut sie das. Was soll die ganze Aufregung?
SetWindowText/GetWindowText werden nicht über Nachrichten gesendet?
Und Sie sprechen von Windows-Nachrichten ... Na und? Gibt es eine schnellere Alternative, um Daten zwischen verschiedenen Programmen im windos ohne homebrew dll auszutauschen?
Ich verstehe, dass Sie durch meine Worte beleidigt waren, dass meine Variante schnell ist. Nun, erstens habe ich das nicht behauptet, sondern nur vorgeschlagen. Zweitens habe ich meine Vermutung mit Testcode untermauert und mitMemory Mapping verglichen.
Und wenn Sie versuchen, auch nur eine Vermutung zu widerlegen, stützen Sie sich bitte nicht nur auf deklarative Aussagen. Ich wäre Ihnen sehr dankbar, wenn Sie mich davon abbringen und auf eine schnellere Implementierung des Datenaustauschs zwischen Terminals ohne eine selbst geschriebene DLL hinweisen könnten.
Ich schließe nicht aus, dass die Variante über die RAM-Disk viel schneller sein wird. Dies ist jedoch ein etwas anderes Thema, da es die Installation einer RAM-Disk und deren Konfiguration erfordert.
Ja, natürlich. Aber was ist das für ein Tanz mit Tamburinen:
So viel zu Tamburinen. Es ist eine Banalität. Und diese Trivialität wird übrigens in 50-60 ns durchgeführt, wenn der gesamte Empfangsblock der Tick-Struktur in 90 µs (90 000 ns.) durchgeführt wird, d.h. diese "Diamanten" nehmen nur 0,06 % der Zeit des Datenblockempfangs ein. Außerdem habe ich geschrieben, dass mich dieser Punkt nur im Hinblick auf die Speicherverdopplung verwirrt.
Und so scheint meine Variante sehr bequem, einfach und intelligent für den Austausch von kleinen Datenstrukturen.
Forum für Handel, automatisierte Handelssysteme und Strategietests
Bibliotheken: HistoryTicks
Automated-Trading, 2018.03.29 11:09
Wow!
Ich wusste gar nicht, dass es Funktionen wie CryptEncode undCryptDecode gibt. Ich danke Ihnen!
Ich werde es mir ansehen.
Auf den ersten Blick scheint das alles Hightech zu sein, aber wahnsinnig langsam, denn die CryptEncode-Funktion läuft zwei Größenordnungen langsamer (Mikrosekunden gegenüber zehn Nanosekunden) als das, was hier als Tamburine bezeichnet wurde:
Ich nehme an, Sie waren beleidigt, als ich sagte, dass meine Version schnell war. Nun, erstens habe ich das nicht behauptet, sondern nur eine Vermutung geäußert. Zweitens habe ich meine Vermutung mit Testcode untermauert und mitMemory Mapping verglichen.
Ich habe nicht von "Schnelligkeit" gesprochen, sondern davon, dasses schneller sein könnte als alle existierenden Lösungen, also habe ich mehrere Bemerkungen gemacht, ohne sie anzugreifen. Und diese Bemerkungen waren durchaus fair. Aber aus irgendeinem Grund leugnen Sie das erst hartnäckig ("vielleicht habenSie sich einen anderen Code angesehen") und kommen dann mit dem "Na und! Trennen wir alsodie Fliegen von den Koteletts.
Zweitens, in Bezug auf MemoryMapping (genauer gesagt, seine MQL-Wrapper, um genau zu sein), habe ich nie etwas gesagt, dass es schnell ist. Außerdem habe ich im Diskussionsthread zu diesem Projekt hier auf die Fehler des Autors hingewiesen, die zu Verzögerungen führen, und wie man sie beheben kann. Wenn Sie also etwas testen wollen, sollten Sie es in seiner ursprünglichen Form testen und nicht in der Form der falschen Entscheidungen anderer.
ZZY Aber auf den ersten Blick ist das alles Hightech, aber wahnsinnig langsam, denn die CryptEncode-Funktion ist um zwei Größenordnungen langsamer (Mikrosekunden gegenüber zehn Nanosekunden) als das, was hier Tamburine genannt wird:
Wozu ist Geschwindigkeit gut?
Ich spreche nicht von "Schnelligkeit", sondern von"es könnte schneller sein als alle existierenden Lösungen", also habe ich einige Bemerkungen gemacht, ohne irgendwelche Angriffe. Und diese Bemerkungen waren durchaus fair. Nur du leugnest es zuerst stur aus irgendeinem Grund ("vielleicht hastdu dir einen anderen Code angesehen"), und dann kommst du in die Position "na und! Trennen wir alsodie Fliegen von den Koteletts.
Erstens wurde mein Beitrag geschrieben, bevor Sie Ihren Testcode zitiert haben. Zweitens habe ich in Bezug auf MemoryMapping (genauer gesagt, seine MQL-Wrapper erwähnt), nie behauptet, es funktioniert schnell. Außerdem habe ich im Diskussionsthread zu diesem Projekt hier auf die Fehler des Autors hingewiesen, die zu Verzögerungen führen, und wie man sie beheben kann. Wenn Sie also etwas testen wollen, sollten Sie es in der ursprünglichen Form testen und nicht die falschen Entscheidungen anderer.
Gut. Einverstanden. Das war zu laut.
Ich wollte nur sagen, dass die Verwendung von user32.dll anstelle von kernel32.dll möglicherweise schneller ist, wenn zwei Terminals über WinAPI verknüpft werden, da alle Implementierungen, die ich gesehen habe, kernel32.dll verwenden.
Wofür ist die Geschwindigkeit?
Es tut mir leid, ich habe die Frage nicht verstanden.
Sie fragen: Warum brauchen Sie die Überbrückungsgeschwindigkeit zwischen den Terminals?
Es tut mir leid, ich habe die Frage nicht verstanden.
Sie fragen sich: Warum brauchen Sie einen schnellen Datenaustausch zwischen den Terminals?
Ja.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Eigenheiten der Sprache mql5, Tipps und Tricks
Nikolai Semko, 2018.09.21 13:20
Aber so weit, auf den ersten Blick, all dies, natürlich, High-Tech, aber wahnsinnig langsam, weil CryptEncode Funktion ausgeführt wird zwei Größenordnungen langsamer(Mikrosekunden vs. zehn Nanosekunden) als das, was hier genannt wird Tamburine: