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 mussten große Datenmengen (Gigabytes) übertragen werden. Die Implementierung durch diese Bibliothek zeigte leider eine extrem niedrige Leistung.
Ich musste es mit dem ursprünglichen DLL-Satz komplett neu machen. Es funktionierte schnell.
Leider hat das FileMapping einen entscheidenden Nachteil. Wenn die untergeordnete Anwendung (die Daten liest) ihre Arbeit aus irgendeinem Grund nicht korrekt beendet hat ( Aufrufe kernel32 ::UnmapViewOfFile und kernel32::CloseHandle) , bleibt die "Datei" im Speicher hängen, bis alle Prozesse, von denen aus sie geöffnet wurde, geschlossen sind ( Aufrufe kernel32::OpenFileMappingW und kernel32::MapViewOfFile). Insbesondere kann man seine Größe nicht ändern, sondern muss ihn erneut öffnen (schließen und erneut öffnen).
Ichhabe keine Lösung für dieses Problemgefunden. Es ist schwer, mit dieser Bibliothek in eine solche Situation zu geraten, da jede Aktion mit dem Öffnen beginnt und mit dem Schließen endet. Deshalb ist sie auch so langsam. Aber Sie können trotzdem auf diesen Fehler stoßen. Und dann wird das MQL-Programm mit dieser Meldung abstürzen.
Aus irgendeinem Grund bekomme ich Fehler, wenn ich versuche, die Datei memmap.mq5 zu kompilieren:
Kann mir jemand sagen, was ich falsch mache? Und wie ich es beheben kann?
Die Bibliotheksquellen entsprechen nicht den aktuellen Anforderungen der Sprache MQL5.
Gibt es eine Möglichkeit, dies zu korrigieren? Oder ist es notwendig, alle Quellen zu überarbeiten und es ist unmöglich, dies ohne den Autor zu tun? Ich glaube, der Compiler hat hier nur 3 Fehler erzeugt. Es wäre großartig, wenn dies korrigiert werden könnte.
Gibt es eine Möglichkeit, dies zu beheben? Oder ist es notwendig, alle Quellen zu überarbeiten und es ist unmöglich, dies ohne den Autor zu tun? Ich glaube, der Compiler hat hier nur 3 Fehler angezeigt. Es wäre toll, wenn es korrigiert werden könnte.
Und hier habe ich den Code bereits selbst korrigiert. Wer ihn braucht, kann ihn verwenden. Der Expert Advisor kompiliert damit erfolgreich.
Ich habe dies ab Zeile 251 hinzugefügt: