
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
Im Jahr 2016 haben die meisten C++-Compiler den gleichen Optimierungsgrad erreicht.
MSVC lässt einen bei jedem Update über die Verbesserungen staunen, und Intel C++ als Compiler ist zusammengewachsen - es hat sich immer noch nicht von seinem "internen Fehler" bei großen Projekten erholt.
Eine weitere Verbesserung des Compilers in der 1400er Version besteht darin, dass er komplexe Projekte schneller kompilieren kann.
Zum Thema. Sie müssen Alternativen zu den Standardfunktionen erstellen, da diese manchmal die falsche Ausgabe liefern. Hier ein Beispiel für eine Alternative zu SymbolInfoTick
Sie können SymbolInfoTick bei jedem Ereignis NewTick im Tester aufrufen und das Volumen-Feld summieren, um den Aktienumsatz zu ermitteln. Aber nein, das können Sie nicht! Ich muss viel mehr logische MySymbolInfoDouble machen.
Willkommen beim Programmieren, wo Sie der Schöpfer sind!
Wir geben Ihnen das umfassendste Tool, mit dem Sie tun können, was Sie wollen.
Sie können alles um Sie herum optimieren.
Es ist ein endloser Prozess. Aber in 99 % der Fälle ist es wirtschaftlich nicht tragbar.
Dabei geht es nicht um Optimierung, sondern darum, die alte Funktion an die neue Realität anzupassen. Es ist klar, dass Sie NormalizeDouble gar nicht hätten schreiben können. Und die Leute hätten ihre eigene Variante gemacht. Aber Sie haben sie erstellt, um Zeit zu sparen. Das ist jetzt nicht genug gewesen. Und es wäre gut, das alte Fahrrad zu reparieren, um den gleichen Bestand an Werkzeugen zu erfüllen.
Übrigens, vor nicht allzu langer Zeit schlug @iliyas vor, viele Systemfunktionen zur Kompilierzeit als MQL5-Quellcode einzufügen, damit sie am Inlining und der maximalen Optimierung teilnehmen können.
Zuerst fand ich die Idee nicht gut, aber jetzt sehe ich, dass sie genial ist. Die gleiche MSVC tut es.
Danke, wir werden prüfen, ob wir die Bibliothek ändern können.
Sie haben das falsch verstanden. Nicht Bibliotheken, sondern NormalizeDouble. Um eine Überlast hinzuzufügen.
Zur Normalisierung von Preisen und Lots bei TickSize = 25, VolumeStep = 0,5
Die Normalisierung würde zum Beispiel wie folgt aussehen
Übrigens, vor nicht allzu langer Zeit schlug @iliyas vor, viele Systemfunktionen zur Kompilierzeit als MQL5-Quellcode einzufügen, damit sie am Inlining teilnehmen und die Optimierung maximieren können.
Ich fand die Idee nicht sofort gut, aber jetzt sehe ich, dass sie großartig wäre. Die gleiche MSVC tut es.
Es stellt sich heraus, dass #import ex5 das Übel der Optimierung ist.
Bitte beachten Sie die Eigenschaften des Präprozessors
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
Wie führe ich eine sequentielle Aufzählung durch?
Alexey Navoykov, 2016.09.01 23:20
Ich habe bereits die obige Methode implementiert, und es ist nicht so schwer zu zeigen, wie man feste Anzahl von Argumenten in MQL5 verwenden, da die Anzahl der Makros auf 8 begrenzt ist. Ich habe also nur 3 Werte für enum.
Was das theoretische Aussehen angeht, ist es wahrscheinlich schneller, eine eigene Funktion zum Parsen von enum zu erstellen. Die Entwickler haben bereits versprochen, etwas zu erstellen.
Wie sich herausstellt, können sehr raffinierte und benutzerfreundliche Konstruktionen erstellt werden.
Sie haben das falsch verstanden. Nicht Bibliotheken, sondern NormalizeDouble. Um eine Überlast hinzuzufügen.
Zur Normalisierung von Preisen und Lots bei TickSize = 25, VolumeStep = 0,5
Die Normalisierung würde zum Beispiel wie folgt aussehen
Auf diese Weise kann man sich nicht überlasten. Gleiche Funktionssignaturen.
Aber die Idee ist klar - die Funktion der Normalisierung unter Berücksichtigung der Zeckengranulation.
Auf diese Weise können Sie sich nicht überlasten. Gleiche Funktionssignaturen.
Hier scheint es kein Problem zu geben. In einer Variante ist der zweite Parameter int (war), in der anderen double (wird).
Aber die Idee ist klar - die Funktion der Normalisierung unter Berücksichtigung der Tick-Granulierung.
fxsaber
Es gibt einen Fehler in Ihrem Code