Fehler, Irrtümer, Fragen - Seite 212

 
Urain:
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?

 
sergeev:

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.

Zeitraum Berufe Deals Zecken Bars Innerhalb von, ms erzeugte Ticks Größe des Berichts .xlsx, KB Zeit der Berichterstellung
04.10.2010-05.10.2010 5 720 46226 1438 27960 126 30 Sekunden
04.10.2010-06.10.2010 9 1680 99347 2871 240966 275 2 Minuten
04.10.2010-07.10.2010 21 2703 149837 4306 382370 430 10 Minuten
04.10.2010-10.10.2010 35 4865 253175 7118 1202809 753 35 Minuten
04.10.2010-16.10.2010 67 9783 492163 14226 8908720 1463 50 Minuten
04.10.2010-01.11.2010 79 13199 1189566 28453 20956134 N/A (Fehler) 1 Stunde und 10 Minuten
04.10.2010-27.11.2010 79 13199 2863155 56334 16055687

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.


 
Vigor:
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.

 
Rosh:

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.

Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов
Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов - Документация по MQL5
 
Ashes:


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.

Korrigiert.
 
Ashes:


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!

Machen Sie Läufe mit der gleichen Anzahl von Ticks und unterschiedlicher Anzahl von Trades. Dann können Sie vergleichen.
Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Торговые функции / HistoryDealsTotal - Документация по MQL5
 

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...

Grund der Beschwerde: