Fehler, Irrtümer, Fragen - Seite 1850
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
einen Fehler bei der Verwendung eines Stylers?
Nehmen wir an, wir schreiben mit dem Tabulator.
Es liegt kein Fehler vor.
dann verwenden wir den Styler, wir erhalten
d.h. der Styler löscht den Abstand zwischen denTWO_DIM(10000)
Ergebnis
Was ist der richtige Weg?
1. wenn Sie vorher überhaupt keine Tickerkurse erhalten haben, den Chart nicht geöffnet haben usw. (abhängig von Ping, Internetgeschwindigkeit, Festplatte, Vorbereitung der Datei Bases/Broker/history/ticker/cache/)
2. wenn die Kurse zuvor empfangen wurden und dann das Terminal neu geladen wurde, sofern noch kein Chart dieses Tickers geöffnet wurde (Erstellung der Datei Bases/Broker/History/Ticker/Cache/)
die Zeit ist 10-15 mal kürzer als bei p.1
zum Vergleich die Zugriffszeit in МТ4 gemäß Punkt 2, d. h. nach dem Reset des Terminals
d.h. die Zeit nach dem Neustart des MT4-Terminals ist um einige Größenordnungen geringer.
Dieses Mal habe ich alles auf dem Windows überprüft, ohne SSD!
Wenn ich die Anführungszeichen richtig verstanden habe, wurde das Terminal nicht neu gebootet, sondern es wurde auf die Daten zugegriffen.
Habe ich es richtig verstanden, dass das Terminal nach dem Laden des Caches deutlich weniger Zeit für weitere Anfragen benötigt (ab der 2. Anfrage)?
Können wir die Zeit für den ersten Aufruf nach dem Neustart des Terminals irgendwie verkürzen, damit es wie in MT4 ist?
Der Code war in https://www.mql5.com/ru/forum/1111/page1870#comment_4856899
Sie haben eine sehr unsaubere Testmethode, da es überhaupt keine Beschreibung der Umgebung und der Wiedergabemethode gibt.
Nicht angegeben:
Ohne dies sind die Schlussfolgerungen unbegründet.
Schauen Sie sich zum Beispiel EURUSD M1 an - MT5 hat dort mehr als 6 Millionen Balken (wenn unbegrenzter Modus bei Charts), aber MT4 hat wie viele? Ein paar zehntausend M1-Balken in der aktuellen Datenbank?
Sie haben eine sehr unübersichtliche Testmethode, da es keinerlei Beschreibungen der Umgebung und der Wiedergabemethode gibt.
Nicht angegeben:
Grenzen der Balken im Fenster
Ansonsten sind die Schlussfolgerungen unbegründet.
Die meisten Fragen in meinem Beitrag wurden mir bereits gestellt, kein Problem, ich werde Ihnen jetzt alle Daten geben.
zunächst einmal die Antwort auf die Frage
MQ-Demo-Server werden die Daten geladen, wie in Punkt 2 und Punkt 3 des vorherigen Beitrags beschrieben. Bei Punkt 1 ist alles klar, und es gibt dort keine Fragen - wie es geschrieben wurde - Daten werden geladen, Cache wird auf dem angegebenen Pfad gebildet.
MT4
MT5
MT4
MT5
win XP 32bit, alle MT-Builds, alle aktuellen
MT4 - 1 Chart öffnen, mit einem anderen Symbol prüfen
MT5 - 1 Chart geöffnet, Überprüfung mit einem anderen Symbol
Wiederholen Sie den Vorgang, laden Sie das Terminal neu, senden Sie das Skript an den Chart, wählen Sie ein ANDERES Symbol, dessen Daten geladen wurden, BEVOR Sie das Terminal neu laden.
MT4
MT5
Hier ist mein Test mit mehr Details und mehr Genauigkeit:
Die Testdateien sind beigefügt und alle Zeiten sind in Mikrosekunden angegeben (nicht in Millisekunden, 1 Millisekunde = 1000 Mikrosekunden).
Nun zu den Schlussfolgerungen:
Das ist kein Problem - Heben kostet immer Ressourcen.
Vor allem, wenn konzeptionell unterschiedliche Architekturen verwendet werden: MT5 verfügt über komplexere Caches (cache\*.hc-Dateien werden aus den ursprünglichen *.hcc-Dateien erstellt), um eine Skalierung zu ermöglichen, sowie über eine obligatorische vollständige Synchronisationskontrolle mit Serverdaten (binäre *.hcc-Blöcke).
Bei beiden Terminalimplementierungen gibt es keine Ausfälle und alles funktioniert schnell.
Ich danke Ihnen für Ihre Antwort.
Insgesamt sind die Ergebnisse so, wie ich sie in meinen Beiträgen dargestellt habe.
Ich habe einen regelmäßigen Test durchgeführt.
Und doch sind die Ergebnisse zwischen MT4 und MT5 fast 200-mal anders (aufgrund von -muss die vollständige Synchronisation mit Server-Daten?? und ping? ).
Ich habe mich irgendwie daran gewöhnt, bevor ich hier gepostet habe, dass es wahrscheinlich eine Funktion des Terminals ist. Ich kann sogar damit leben, aber es ist an manchen Stellen schwierig. Da es zum Beispiel keinen Market-Screener in MT gibt, habe ich ein kleines Skript geschrieben, das Symbole zur Marktbeobachtung hinzufügt, aber die Preise sind nur über CopyClose verfügbar, sie sind nicht über SymbolInfoDouble oder über MqlTick verfügbar, bis das Symbol zur Beobachtung hinzugefügt wird, so dass dieses Skript "unendlich" lange läuft , wenn es mit einem sehr großen Einsatz ausgeführt wird. Dies ist nur ein Beispiel.