MetaTrader 5 Strategy Tester: Bugs, Bugs, Verbesserungsvorschläge - Seite 72

 

Wer weiß, wie man mit SB OOP EAs erstellt, erstellt bitte einen EA als Portfolio von 20 identischen TS. Und teilen Sie die Ergebnisse der Leistung eines solchen Portfolios von TS im Tester.


Ein Beispiel: Bei mir dauert es eine Sekunde, bis ein einzelner TS (bei anhängigen Aufträgen) durch ist. Ein Portfolio mit 20 solchen Geschäften dauert > 30 Minuten. D.h. die Verlangsamung beträgt nicht das 20-fache, sondern das 2000-fache - zwei Größenordnungen mehr, als sie sein sollte.

Es stellt sich heraus, dass der Tester nicht für den Portfoliohandel geeignet ist.

 
fxsaber:

Um Ihnen ein Beispiel zu geben: Ich brauche eine Sekunde, um einen Handel (mit einem schwebenden Auftrag) abzuschließen. Ein Portfolio von 20 solcher TSs > 30 Minuten. Die Verlangsamung beträgt also nicht das 20-fache, sondern das 2000-fache - zwei Größenordnungen mehr, als es sein sollte.

Es stellt sich heraus, dass der Tester nicht für den Portfoliohandel geeignet ist.

Jeder TS läuft bei jedem Tick zyklisch durch alle Aufträge und sucht nach seinem eigenen?

 
Andrey Khatimlianskii:

Jeder TC durchläuft bei jedem Tick eine Schleife durch alle Aufträge und sucht nach seinen eigenen?

Ja. Aber das ist nicht die Ursache für die Verlangsamung. Wenn wir zum Beispiel im Optimizer laufen, erhöht sich die Geschwindigkeit um genau das 10-fache.

 
fxsaber:

Ja. Aber das ist nicht die Ursache für die Verlangsamung. Wenn Sie ihn zum Beispiel im Optimierer ausführen, erhöht sich die Geschwindigkeit genau um den Faktor 10.

Was verlangsamt sich dann? Die internen Teile des Prüfgeräts (Überprüfung der Auftragsauslösung, des Spielraums usw.)?

Ich habe eine einzige Liste von Aufträgen erstellt, auf die alle TK zugreifen können, was die Arbeit deutlich beschleunigt.

 
Andrey Khatimlianskii:

Was bremst die Dinge dann? Tester-Interna (Prüfung auf Auftragsauslösung, Marge usw.)?

Der Optimierer unterscheidet sich von einem einzelnen Optimierer dadurch, dass es kein Protokoll für jeden Furz gibt. Höchstwahrscheinlich verursacht die Protokollierung den größten Teil der Verzögerungen.

Dies würde die Arbeit erheblich beschleunigen.

Im Terminal funktioniert ein EA aus dem Korb von 20 EAs perfekt.

 
fxsaber:

Wer weiß, wie man mit SB OOP EAs erstellt, erstellt bitte einen EA als Portfolio von 20 identischen TS. Und teilen Sie die Ergebnisse der Leistung eines solchen Portfolios von TS im Tester.


Ein Beispiel: Bei mir dauert es eine Sekunde, bis ein einzelner TS (bei anhängigen Aufträgen) durch ist. Ein Portfolio mit 20 solchen Geschäften dauert > 30 Minuten. D.h. die Verlangsamung beträgt nicht das 20-fache, sondern das 2000-fache - zwei Größenordnungen mehr, als sie sein sollte.

Es stellt sich heraus, dass der Tester nicht für den Portfoliohandel geeignet ist.

Ich kann es noch nicht überprüfen, die Computer sind beschäftigt, aber die Zeit zum Testen des TS-Portfolios wird definitiv länger.

Ich habe ein "Slicing" von TCs nach Zeit der EA-Operation, Zeit der EA-Operation selten überlappen - und die Aufgabe ist es, ein Portfolio bereits in der Tester TCs optimiert zu bewerten, wenn das Portfolio ist zu verlieren - der Test beendet ist, im Allgemeinen ist es möglich, in der Tester arbeiten



es besteht der Verdacht, dass schwebende Aufträge die Prüfzeit erhöhen und zwar genau - die Berechnung der Marge ist eine sehr "teure" Operation, mein Profiler beziffert die meiste Zeit auf den OrderCalcMargin()-Aufruf - es ist sehr wahrscheinlich, dass der Prüfer die gleiche Prüfung für schwebende Aufträge durchführt


Sie müssen mit einem Test-EA testen, um die Wahrheit herauszufinden

 
Igor Makanu:

Es besteht der Verdacht, dass schwebende Aufträge die Testzeit erhöhen, und mit Sicherheit ist die Berechnung der Marge eine sehr "teure" Operation; mein Profiler verwendet die meiste Zeit auf den Aufruf vonOrderCalcMargin()- es ist sehr wahrscheinlich, dass der Tester eine ähnliche Prüfung für schwebende Aufträge durchführt

Ich verwende diese Funktion nirgendwo. Und ich renne im Pips-Modus, wo der Tester selbst die Berechnung der Marge ignoriert.

 

was könnte es sein, wo soll man graben?

Test für alle Symbole in der Marktübersicht:

alle Agenten fertig sind und der Timer weiterläuft...

Das Seltsamste ist, dass, bevor der Test begann, gab es 31 in der Übersicht, sowie der Haltepunkt. aber weitere 8 eröffnete auf eigene Faust, ziemlich seltsam, ich habe nie einen Handel auf sie eröffnet, von Exoten.

 
Igor Zakharov:

Das Seltsamste ist, dass, bevor der Test begann, gab es 31 in der Überprüfung, sowie der Haltepunkt. aber weitere 8 öffnete auf ihre eigenen, ziemlich seltsam, ich habe nie geöffnet Angebote auf sie, von Exoten.

Nach dem Neustart des Computers, die Anzahl der Eröffnungen ist 42. Sie erscheinen nach dem Drücken von "Start". der Test erreicht das Ende. die gleichen Trades hinzugefügt werden (auf den ersten Blick, ich habe nicht überprüft, sie alle). das Protokoll ist das gleiche wie üblich - verbunden, synchronisiert ...

 
Igor Zakharov:

Nach dem Neustart des Computers werden sie 42. sie erscheinen nach dem Drücken von "Start". der Test erreicht das Ende. dieselben werden hinzugefügt (auf den ersten Blick, ich habe sie nicht alle überprüft). im Protokoll ist alles wie üblich - verbunden, synchronisiert...

Werden sie für die Neuberechnung des Gewinns oder der Marge in der Einzahlungswährung verwendet (der Tester fügt sie automatisch bei der Positionseröffnung hinzu)?

Grund der Beschwerde: