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
ein synchronisiertes Symboldatenbankobjekt. Lese-/Schreib-Loks werden vermischt, da ein ständiger Tick geschrieben wird.
Gibt es ein Symboldatenbankobjekt für alle Symbole gleichzeitig? Wenn ja, dann zeigt sich, dass die Anforderung eines Ticks für EURUSD die Anforderung eines Ticks für GBPUSD möglicherweise verlangsamt.
Können Sie ein MqlTick für es vorbereiten, wenn OnTick aufgerufen wird, so dass es nicht von der Datenbank auf der allgemeinen Basis angefordert wird?
Können Sie ein MqlTick für OnTick vorbereiten, so dass es nicht von der Datenbank auf der allgemeinen Basis aufgerufen wird?
Das wäre gut, dann vielleicht MQL5 wird vordefinierte Variablen wie in 4 haben - Ask und Bid
Höchstwahrscheinlich wird die Verlangsamung durch einen hohen CPU-Verbrauch auf der MT5-Seite verursacht, wenn viele EAs ausgeführt werden. Ich weiß nicht, wie es bei MT4 ist. Ansonsten ist es schwer zu erklären, warum in einem parallel laufenden leeren Terminal Verzögerungen auftreten.
Die Minimierung der Verwendung der Handelsumgebungs-API wird das Problem mit Sicherheit lösen. Nach dem Tamburintanz werde ich über die Ergebnisse berichten.
Das ist ein Irrtum. Jeder EA ist rein handelbar (im Tester durch echte Ticks nicht verlangsamt) und hängt nicht von anderen ab. Die gesamte Handelslogik wird nur in OnTick ausgeführt, kein Spamming von Handelsaufträgen, keine Rekursion, keine Globalisierung und keine Ressourcen.
OnTrade*, OnBook werden nicht verwendet. Zweiter Timer und OnChartEvent für den Fall, dass bestimmte Tasten gedrückt werden.
Ich bin sicher, dass die richtige Implementierung von Snapshots (durch Sie oder mich) die Anzahl der Aufrufe der regulären Umgebungsfunktionen erheblich reduzieren wird. Dementsprechend werden die Verzögerungen drastisch reduziert.
Ich hätte nie gedacht, dass es zu Schnappschüssen kommen würde. Ich studiere das Thema, weil die Standard-MT5-EA-Implementierung ist lahm, leider.
Ich glaube in Ihrem Fall überhaupt nicht daran.
Über TeamViewer oder ähnliches, bereit zur Demonstration.
Wie kann ich den Speicherverbrauch des Terminals reduzieren? Ich verwende frische Ticks von CopyTicks für 16 Zeichen. Es scheint, dass jeder CopyTicks 128K Ticks im Speicher hält. Ich brauche sie überhaupt nicht, aber ich behalte sie im Gedächtnis. Wozu braucht es fast 1,5 GB? Können Entwickler sehen, welcher Teil des Speichers wofür verwendet wird? Ein rudimentärer Task-Manager.
Höchstwahrscheinlich wird die Verlangsamung durch einen hohen CPU-Verbrauch auf der MT5-Seite verursacht, wenn viele EAs ausgeführt werden. Ich weiß nicht, wie es bei MT4 ist. Ansonsten ist es schwer zu erklären, warum in einem parallel laufenden leeren Terminal Verzögerungen auftreten.
Die Minimierung der Verwendung der Handelsumgebungs-API wird das Problem mit Sicherheit lösen. Ich werde über die Ergebnisse schreiben, nachdem ich mit Tamburinen getanzt habe.
Das ist genau das, worüber ich vor ein paar Seiten gesprochen habe. Außerdem können EAs recht einfach sein und auf nicht-flüssigen Symbolen basieren, d.h. es geht nicht um die Anzahl der mathematischen Operationen, die im Code jedes EAs vorkommen. Das Problem liegt im Terminal selbst, und wir werden nicht in der Lage sein, es durch Verbesserung unseres Codes zu beheben. Leider :(
P.S. Ich habe die Logik, die in der Hälfte meiner Expert Advisors verwendet wird, von OnBook zurück auf OnTick umgeschrieben und den Core i5 durch Xeon E5-2678 ersetzt. Es scheint, dass die Geschwindigkeit zunehmen sollte, aber leider ist das Wunder nicht geschehen :(
Bei fast jedem Schritt.
Hoffentlich dauern Cache-Builds nicht so lange, und die Verzögerung ist auf den Datenbankzugriff während der Datenbankaktualisierung zurückzuführen.
Irgendeine Idee, warum mt5 nicht über die Registerkarte "Provisionen"? Sie erscheinen nur, wenn ein Geschäft abgeschlossen ist.
Irgendeine Idee, warum mt5 nicht über "Kommissionen" Registerkarte? Sie erscheinen nur, wenn ein Geschäft abgeschlossen ist.
Wenn Sie diesen EA auf einem Konto ohne aktuelle Positionen oder Aufträge ausführen.
und dann die vom EA eröffnete Position manuell schließen, dann gibt es drei offene Positionen in der Absicherung (auf der Netting-Dreifach-Volumen-Position).
Ist dies das richtige Verhalten? Wahrscheinlich habe ich das Terminal nicht richtig verstanden. Dann erklären Sie bitte.