![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
Den Millisekunden-Timer gibt es schon seit langem: EventSetMillisecondTimer()
Sie sind nicht auf dem Laufenden. Angenommen, Sie müssen zwei Positionen in OnTick eröffnen. Der erste OrderSend dauert einige Millisekunden. Danach müssen Sie einen Schnappschuss machen. Und dann sollte der zweite OrderSend aufgerufen werden.
Nur OnTick kann Hunderte von Millisekunden lang ausgeführt werden. Und Sie schlagen vor, ein paar OnTimer zu knipsen.
Es gibt auch Probleme mit der Messbibliothek selbst. Es gibt eine Menge unnötiger Dinge, einschließlich der Gemeinkosten.
Streitereien im Studio!
Hier ist mein Code und die stabile Laufzeit: keine Hunderte oder Tausende von Mikrosekunden bei 20 parallelen Graphen
Wie viele Kerne haben Sie und welche Art von Prozessor? i7-2600?
8 Kerne.
Versteckter Stresstest mit Millionen von parallelen Anfragen?
Ich habe Ihnen schon oft gesagt, dass ich Kampfberater bin. Die Anzahl der Anrufe wurde so weit wie möglich reduziert. Theoretisch (ich habe es nicht gemessen) bis zu 10 Aufrufe pro OnTick.
Mehr Transparenz. Nur weil Sie ein paar einfache _B-Aufrufe gepostet haben, ist das kein Beweis für Ihre anderen Behauptungen. Sie vergessen plötzlich den Code und die eigentliche Beschreibung der Bedingungen, sobald Sie haarsträubende Behauptungen aufstellen.
Sie müssen sich nichts einbilden - erzählen und zeigen Sie, was Sie tatsächlich aufrufen und testen. Es handelt sich nicht um ein herausgerissenes Ergebnis, das besagt: "Ich habe einen unbekannten Stresstest durchgeführt und warte auf eine Meldung, um die Welt zu informieren", sondern um den vollständigen Code des Tests.
Ich veröffentliche die Ergebnisse des Live-EA. Dort befinden sich 70 mqh-Dateien, einschließlich WinAPI. Wenn Sie es wirklich verstehen und nicht nur Worte, werde ich Ihnen den Quellcode geben. Sie werden die Bremsen ziemlich schnell reproduzieren.
Sie sind nicht auf dem Laufenden. Nehmen wir an, Sie müssen zwei Positionen in OnTick eröffnen. Der erste OrderSend dauert einige Millisekunden. Danach müssen Sie einen Schnappschuss machen. Und dann sollte der zweite OrderSend aufgerufen werden.
Nur OnTick kann Hunderte von Millisekunden lang ausgeführt werden. Und Sie schlagen vor, einen OnTimer zu knipsen.
8 Kerne.
Viele Male sagte Kampfberater. Die Anzahl der Anrufe wurde so weit wie möglich reduziert. Theoretisch (ich habe es nicht gemessen) bis zu 10 Aufrufe pro OnTick.
Ich veröffentliche hier die Ergebnisse des Expert Advisors. Dort befinden sich 70 mqh-Dateien, einschließlich WinAPI. Wenn Sie nicht nur darüber reden, sondern es wirklich verstehen, werde ich Ihnen den Quellcode geben. Sie werden ziemlich schnell auf die Bremse treten.
Die Argumente liegen auf dem Tisch!
Ihr ganzer Benchmark ist mit Müll überladen und hier ist eine saubere und verständliche (im Gegensatz zu Ihrem Code-Wirrwarr) Version davon:
Was sind Ihre Probleme?
Ich hoffe, Sie haben die Code-Optimierung für Tests nicht deaktiviert?
Ich meine den globalen Parameter Optimize=0 in der metaeditor.ini
Ihr ganzer Benchmark ist mit Müll überladen und hier ist eine saubere und verständliche (im Gegensatz zu Ihrem Code-Wirrwarr) Version davon:
Ihre Version befindet sich leider noch in einem frühen Stadium des Verständnisses von Bequemlichkeit. Praktisch ist es, wenn man es so machen kann.
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
Bibliotheken: Benchmark
fxsaber, 2020.10.01 23:49
Jetzt versuchen wir herauszufinden, wo der Schluckauf bei der Standardvariante liegt. Wir fügen einige Symbole in den Quellcode ein.
Und sehen sofort den Grund dafür.
CHART_IS_MAXIMIZED ist zu langsam für die Diagramme einer anderen Person. Fehlerbericht ist fertig! Es war sehr einfach mit der Bibliothek.
Wo liegt das Problem?
Die Benutzerfreundlichkeit überwiegt den geringen Overhead. Es ist erbärmlich, wenn man sich genau ansieht, wie der Code implementiert ist. Zum Beispiel ist ArrayResize ein Overhead, so dass seine Verwendung minimiert wird.
Ich hoffe, Sie haben die Codeoptimierung für Tests nicht deaktiviert?
Ich meine den globalen Parameter Optimize=0 in der metaeditor.ini
Kein Interesse an langsamen Modi. Ich betrachte die Leistung von Combat EA und achte dabei natürlich auch auf die Optimierung der Algorithmen und des Compilers.
Ihr ganzer Benchmark ist mit Müll überladen und hier ist eine saubere und verständliche (im Gegensatz zu Ihrem Code-Wirrwarr) Version davon:
Was ist Ihr Problem?
Ich hoffe, Sie haben die Code-Optimierung für Tests nicht deaktiviert?
Ich meine den globalen Parameter Optimize=0 in der metaeditor.ini
Hier ist es im C-Stil, es ist einfach und wirklich müllfrei. Danke für das Beispiel.
Einer der C-Sprachlehrer empfahl, den Unterstrich _B besser nicht in Benutzernamen zu verwenden.
Weil dieses Präfix von den Entwicklern von Bibliotheken, Programmen usw. verwendet wird.
Und um nicht in Überschneidungen zu geraten, empfahl er, es besser nicht zu verwenden.
Ist es in mql5 möglich, sich mit Ihren Namen zu überschneiden?
Oder sind benutzerdefinierte Namen vollständig von MQ-Namen abgeschirmt?
Einer der C-Lehrer empfahl, den Unterstrich _B nicht in Benutzernamen zu verwenden
, da dieses Präfix von Entwicklern von Bibliotheken, Software usw. verwendet wird
. Und um Überschneidungen zu vermeiden, empfahl er, es nicht zu verwenden.
In C werden Namen, die mit "_" beginnen, als Dienst-, System- oder Spezialnamen verwendet. In diesem Fall halte ich es für zulässig. Da diese Funktion für die Wartung und Überprüfung des Codes verwendet wird.
Namen, die mit "_" beginnen, werden in C als Dienst-, System- oder Spezialnamen verwendet. In diesem Fall - akzeptabel, denke ich. Da diese Funktion für die Wartung und Überprüfung des Codes verwendet wird.
Das ist der Punkt, neben mql5 gibt es auch MQ-Dienstnamen von Entwicklern.