![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
Anton:
Ihr EA läuft auf Idle-CPU, RannForex-Server, 6 Charts mit verschiedenen Symbolen. Als ich zu meinem Computer zurückkam, sah ich eine Menge davon.
Ich habe eine schlechte Zeitbedingung wie diese.
SZZ Ich habe den Code beigefügt, um die Objektivität der Forumsmitglieder zu gewährleisten.
Ihr EA läuft auf Idle-CPU, RannForex-Server, 6 Charts mit verschiedenen Symbolen. Als ich zu meinem Computer zurückkam, sah ich eine Menge davon.
Wenn ich es richtig verstanden habe, laufen in diesem Test 6 EAs in einer Schleife auf 4 CPU-Kernen, und jeder versucht, einen Kern zu 100 % auszulasten. Das heißt, es handelt sich definitiv um einen Stresstest, der sehr weit von normalen Betriebsbedingungen entfernt ist.
Unter solchen Bedingungen sind 1 oder 2 Auswürfe von 1-2ms für 10 Millionen Abfragen ein hervorragendes Ergebnis.
Und noch einmal zur Erinnerung: Je größer die Belastung, desto mehr testen Sie die Effizienz des Task-Planers des Betriebssystems, nicht des Terminals. Lassen Sie sich nicht täuschen.
Ich habe eine Frage zur Relevanz der von SymbolInfoTick angegebenen Ticks.
Situation:
1. Wir machen TimeCurretn(); wir erhalten die Zeit 18:00:00
2. SymbolInfoTick bei einem ungültigen Symbol ausführen. Wir erhalten ein Häkchen mit der Zeit 17:58:00.
3. schlafen(1)
4. Fügt einen SymbolInfoTick für das nicht linke Symbol hinzu. Wir erhalten ein Häkchen mit der Uhrzeit 17:59:00.
D.h. im vierten Element haben wir einen neuen Tick, der eine Minute anders ist als TimeCurretn().
Sehen Sie in dieser Situation ein Problem?
Wie kommt man seltener in diese Situation?
Test EA.
Ich habe kein Alertite. Ergebnis (bei sechs Karten).
Es gibt ein Problem. Es ist schwer zu sagen, wie ernst es ist.
Wenn ich es richtig verstehe, laufen in diesem Test 6 EAs in einer Schleife auf 4 CPU-Kernen, und jeder versucht, einen Kern zu 100 % auszulasten. Das heißt, es handelt sich definitiv um einen Stresstest, der sehr weit von normalen Betriebsbedingungen entfernt ist.
Ist dieser EA ein Stresstest? Ich frage Sie das, weil ich in der letzten Zeit
gibt ein Meer von Warnungen aus.
Es gibt einen Fehler in der seriellen Log-Ausgabe von ArrayPrint.
Es ist klar, dass dies ein Fehler ist, da es sich um den Quellcode handelt.
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
MT5 und Geschwindigkeit in Aktion
fxsaber, 2020.10.30 15:04
Ich habe mehrmals jede Sekunde Alert ausgelöst.
19 ms und 48 ms für die Ausführung von SymbolInfoTick. Es gab mehrere Dutzend Fälle, in denen die Dauer Hunderte von Mikrosekunden betrug. Aber ich habe sie nicht zitiert.
Offenbar müssen wir, um es zu reproduzieren, die Kampfberater 24 Stunden lang laufen lassen und dann nur noch beobachten. Meiner Meinung nach ist es unrealistisch, herauszufinden, was solche Verzögerungen auslöst.
Ich habe mir den Test9-Code oben auf der Seite angesehen. Warum 10 Millionen Mal ohne Schlaf, um Ticks von einem Symbol abzufragen? Was hat dieser Test mit dem realen Handel zu tun?
Ich denke, der Test sollte wie folgt aussehen: Wir fordern für jedes Symbol in der Marktübersicht einen Tick an. Wir pausieren Sleep(1) und so weiter. Überarbeiten Sie Ihren Code geringfügig:
Testen Sie 55 Symbole in der Übersicht.
Testen wir nun temp++ anstelle von SymbolInfoTick;
Ich habe mir den Test9-Code oben auf der Seite angesehen. Warum 10 Millionen Mal ohne Schlaf, um Zecken von einem Zeichen zu verlangen?
Ganz und gar nicht. Lesen Sie die Zweigstelle für weitere Einzelheiten.
Nicht auf gleicher Augenhöhe. Lesen Sie den Thread für Details.
Verwirrt Sie nicht die Tatsache, dass selbst die maximale Ausführungszeit von temp++ bei dieser Messtechnik einige zehn Mikrosekunden beträgt?