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
Ja, das stimmt, nur in Form von Standardfunktionen zur Optimierung der Zugriffsgeschwindigkeit.
Ich glaube nicht, dass wir schon von Geschwindigkeit sprechen können, zumal MQL5 die vorhandenen Nachrichtendaten schnell verarbeitet. Und das in der Hoffnung, dass MQL noch schneller sein wird.
Aber ich möchte dieses Thema näher erläutern. Ich frage mich, was Sie anschließend mit diesen Daten zu tun gedenken?
Ich glaube nicht, dass wir schon von Geschwindigkeit sprechen können, zumal MQL5 die vorhandenen Nachrichtendaten schnell verarbeitet. Und wir hoffen, dass MQL noch schneller sein wird.
Aber ich möchte das gerne näher erläutern. Ich frage mich, was sie mit diesen Daten später zu tun gedenken? konkrete Anwendungsbeispiele?
Und was als nächstes kommt, ist ein heißes Feld, die Nachrichten waren vorher nicht normal verfügbar, und dann wird die Kodierung von Nachrichtenstrategien boomen.
Ich habe vor, es in allen NS-Ausschüssen zu verwenden, aber ich möchte das Thema weiter ausbauen.
ZZZY Aber solange die Nachrichten im Tester nicht erscheinen (dh, News-Stories), wird es durch Dateien zu tun haben, und Parser Nachrichten über Ressourcen Dritter.
Der Tester wird langsamer, wenn die Anzahl der Abschlüsse steigt.
Bei der Eröffnung von Trades mit einer Intensität von etwa 1 Trade pro 2 Minuten können Sie sehen (Registerkarte Log), dass 1 Sekunde Testzeit am Ende eines ziemlich langen Zeitraums ein Vielfaches weniger Trades aufweist als zu Beginn des Tests. Ähnliches Bild bei der Ausgabe von Testergebnissen im Open XML-Format.
Tatsächlich hängt die Testzeit nicht direkt von der Anzahl der Trades ab. Um genau zu sein, wird ein einzelner Lauf mit 10 Trades natürlich weniger Zeit in Anspruch nehmen als ein Lauf mit 100 000 Trades, da jeder Trade im Tester Zeit für die Verarbeitung benötigt.
Aber es ist die Anzahl der Ticks, die in einem Durchgang verarbeitet werden, die die Prüfzeit am meisten beeinflusst. Ich habe den gleitenden Standarddurchschnitt im Modus "alle Ticks" ab einem Monat (Intervall 2009.01.01-2009.02.01) ausgeführt und die Testzeit jedes Mal um einen Monat auf 22 Monate erhöht.
Wie Sie aus dem Diagramm ersehen können, ist die Abhängigkeit der Prüfzeit von der Anzahl der Ticks streng linear.
Hallo, reflektieren Sie den Zusatz des Konstrukts
#property tester_indicator "indicator.ex5"
in der Dokumentation, in der Beschreibung der iCustom-Funktion. Ich habe einige Stunden damit verbracht, den Grund zu verstehen, warum iCustom im Diagramm funktioniert, aber nicht im Tester.
Dies wird im Abschnitt über die Programmeigenschaften beschrieben.
tester_indikator
String
Name des benutzerdefinierten Indikators im Format "indicator_name.ex5" .Die für die Prüfung erforderlichen Indikatoren werden automatisch beim Aufruf der Funktion iCustom() ermittelt, wenn der entsprechende Parameter als konstanter String angegeben wird. Für andere Fälle (Verwendung der Funktion IndicatorCreate() oder Verwendung eines nicht konstanten Strings im Parameter, der den Indikatornamen definiert) benötigen wir diese Eigenschaft
tester_datei
String
Dateiname für das Prüfgerät mit Angabe der Erweiterung, eingeschlossen in doppelten Anführungszeichen (als konstante Zeichenfolge). Die angegebene Datei wird zur Bearbeitung an das Prüfgerät weitergeleitet. Eingabedateien für Tests müssen, falls erforderlich, immer angegeben werden
tester_library
String
Bibliotheksname mit Erweiterung, eingeschlossen in doppelten Anführungszeichen. Eine Bibliothek kann sowohl eine dll-Erweiterung als auch eine ex5-Erweiterung haben. Die zum Testen benötigten Bibliotheken werden automatisch erkannt. Wenn jedoch eine Bibliothek von einem benutzerdefinierten Indikator verwendet wird, sollte man diese Eigenschaft verwenden
Aber Sie haben recht, Sie müssen an den entsprechenden Stellen noch einmal ausdrücklich darauf hinweisen.
Die Testzeit hängt nicht direkt von der Anzahl der Gewerke ab. Um genau zu sein, wird ein einzelner Durchlauf mit 10 Geschäften natürlich weniger Zeit in Anspruch nehmen als ein Durchlauf mit 100 000 Geschäften, da jedes Geschäft im Tester Zeit braucht, um verarbeitet zu werden.
Aber es ist die Anzahl der Ticks, die in einem Durchgang verarbeitet werden, die die Prüfzeit am meisten beeinflusst. Ich habe den gleitenden Standarddurchschnitt im Modus "alle Ticks" ab einem Monat (Intervall 2009.01.01-2009.02.01) ausgeführt und die Testzeit jedes Mal um einen Monat auf 22 Monate erhöht.
Wie aus dem Diagramm ersichtlich ist, ist die Abhängigkeit der Prüfzeit von der Anzahl der Ticks streng linear.
Wahrscheinlich sollte es heißen: "Ein einzelner Durchlauf mit 10 Abschlüssen benötigt natürlich WENIGER Zeit als ein Durchlauf mit 100 000 Abschlüssen, da jeder Abschluss im Tester Zeit braucht, um verarbeitet zu werden.
Das mit den Zecken sehe ich genauso. Achten Sie aber genau auf die Anzahl der Abschlüsse - der zeitliche Zuwachs ist dort offensichtlich nicht linear, und die Erstellung eines Prüfberichts ist völlig indiskutabel!
Was ist die maximale Zeit, die in EventSetTimer( ) eingestellt werden kann?
INT_MAX? Das glaube ich nicht. Ich will nicht auf eigene Faust recherchieren, und in der Hilfe gibt es keine.
Wahrscheinlich sollte es heißen: "Ein einzelner Durchlauf mit 10 Abschlüssen benötigt natürlich WENIGER Zeit als ein Durchlauf mit 100.000 Abschlüssen, da jeder Abschluss im Tester Zeit zur Verarbeitung benötigt.
Das mit den Zecken sehe ich genauso. Aber noch einmal: Achten Sie bitte auf die Anzahl der Trades - der Zeitzuwachs ist dort eindeutig nicht linear, und die Erstellung des Testberichts ist völlig indiskutabel!
Beim Testen sind einige Fragen aufgetaucht, ich zeige Bilder, die zur gleichen Zeit aufgenommen wurden:
Wie aus der Abbildung ersichtlich, nur drei Kerne arbeiten, konfrontiert mehr als einmal eine Situation, in der im Laufe der Prüfung, die Zahl der Kerne in der Arbeit beteiligt allmählich auf Null gesunken, dann kam in Betrieb auf einmal, das heißt, es gibt Ausfallzeiten, warum befreit Kerne nicht sofort anfangen zu arbeiten?
Die Anzahl der Durchläufe ist mit 287 definiert, die Optimierungsergebnisse zeigen dies jedoch so an:
was bedeuten diese Zahlen dann? Die Anzahl der Punkte im Optimierungsgraphen beträgt ebenfalls etwa 381...