Fehler, Irrtümer, Fragen - Seite 1943

 
Anton Ohmat:

2 Fragen.

1. Wie kann man die Stop-Werte in MT5 wie in MT4 anzeigen. Es wurde sehr ungemütlich. Denn ich kann nicht einmal die Historie der Haltestellen für ein Geschäft sehen. Sie werden nur in Aufträgen getrennt angezeigt, kann ich das irgendwie überprüfen?

2. Welche Kurse verwendet der Agent beim Testen - meinen Terminal oder meine eigenen, vom Symbol heruntergeladenen Kurse? Ich frage, weil ich oft Unterschiede zwischen den Ergebnissen des Agententests und denen auf meinem PC festgestellt habe

1. es gibt keine Änderungshistorie für TakeProfit und StopLoss. Der aktuelle Wert von TakeProfit und StopLoss wird immer angezeigt. Wenn Sie sehen möchten, wie sich TakeProfit und StopLoss entwickelt haben, können Sie dies selbst tun. Zum Glück gibt es die EigenschaftenPOSITION_REASON,DEAL_REASON undORDER_REASON

Der Strategy Tester verwendet die Handelshistorie von dem Handelsserver, bei dem Sie im Terminal angemeldet sind.


Anton Ohmat:
Und eine Frage. Ist es möglich, etwas in der EA während des Testens zu spezifizieren, so dass der Backtest auf einmal, zum Beispiel, die Ausgabe von Aufträgen und Geschäften standardmäßig auswählen würde. Es ist unpraktisch, während der Fehlersuche 100-200 Mal pro Stunde klicken zu müssen.

Nein, das können Sie nicht.

Anton Ohmat:

Es scheint, dass der Fehler darin besteht, dass die Objekte während eines einzelnen Tests überhaupt nicht auf dem Bildschirm angezeigt werden, sondern nur während der Visualisierung der Objekte. Das Terminal hat sich heute selbst aktualisiert ((((((

Vielleicht können Sie es vor der Aktualisierung der Software noch einmal testen. Ich habe ein paar Stunden gebraucht, bis ich dachte, es sei eine Störung im Terminal.


Bevor Sie etwas als "Störung" bezeichnen, sollten Sie die Dokumentation lesen(Merkmale des Testens - Algorithmischer Handel, Handelsroboter) - lesen Sie den gesamten Abschnitt.

AntonOhmat:

Ein häufiges Problem. Wenn 1-2 Agenten hängen und nichts zählen. Ich habe dieses Problem langsam satt - der gesamte Test hängt, was Zeit- und Geldverlust für den Test bedeutet(.

Ich habe dieses Problem wirklich satt - gibt es irgendeine Möglichkeit, es zu beheben, z.B. wenn ein Agent langsamer als 200-300 andere Agenten zählt, dann entweder nicht auf ihn warten oder ihn komplett ausschließen. Die Tests schlagen bei 500-600 Durchläufen fehl.

Als Ausweg aus der Situation - manuell ausschalten und dann auf und alles funktioniert, bis einige Verlangsamung Agent und dann alles wieder.

Arbeiten Sie mit Ihrem Code - 99,9 % - Sie haben ein Protokoll voller Fehler wie "kein Geld zur Eröffnung einer Position".

Anton Ohmat:

Bitte beraten Sie, wie man Werte mit großem Drawdown aus den Optimierungsergebnissen aussortiert, wie es in mt4 war


Strategy Tester -> Registerkarte "Optimierung" -> Doppelklick auf den Zeilentitel "Drawdown, %" sortiert die Testergebnisse nach zunehmendem/abnehmendem Drawdown.

 
Anton Ohmat:

Ein häufiges Problem. Wenn 1-2 Agenten auflegen und nichts zählen. Infolgedessen hängt der gesamte Test bzw. der Verlust von Zeit und Geld am Test(.

Wirklich krank von diesem Problem - gibt es eine Möglichkeit, es zu beheben, zum Beispiel, wenn ein Agent zählt langsamer als 200-300 andere Agenten, dann ist es entweder nicht warten oder schließen Sie es vollständig. Die Tests stürzen bei 500-600 Durchläufen ab.

Als Ausweg - manuell aus- und dann wieder einschalten und alles funktioniert bis zu einem nacheilenden Agenten und dann wieder alles

Versuchen Sie, OrderSend erst nach erfolgreichemOrderCheck durchzuführen. Wenn das nicht hilft, gehen Sie zu SR.

 

Der Expert Advisor wird unter 1641 erstellt, der eine schnelle Handelsgeschichte hat.

Ist es möglich, während der Optimierung an den Agenten von Build 1596 zu gelangen, wo der Verlauf SEHR langsam arbeitet und daher die Optimierung viele Male verlangsamt wird?

 

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Bibliotheken: TesterBenchmark

fxsaber, 2017.07.24 14:13

Wir nehmen den EA aus der Lieferung und lassen ihn im Tester laufen, wobei wir folgende Leistungsdaten erhalten

------
OnTesterInit
i = 0 Pass = 0 OnTester = 2.231 s.: Count = 3387955, 1518581.4 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 2.214 s.: Count = 3387955, 1530241.6 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 1 Results[iMin] = 2.214 s.
iMax = 0 Results[iMax] = 2.231 s.
Amount = 2 Mean = 2.223 s. - 79.08%
OnTesterDeinit
------
Interval = 5.621 s., Count = 0, 0.0 unit/sec

Führen wir nun denselben EA aus, aber mit Trade.mqh

------
OnTesterInit
i = 0 Pass = 0 OnTester = 3.330 s.: Count = 3387955, 1017403.9 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 3.475 s.: Count = 3387955, 974951.1 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 0 Results[iMin] = 3.330 s.
iMax = 1 Results[iMax] = 3.475 s.
Amount = 2 Mean = 3.402 s. - 89.73%
OnTesterDeinit
------
Interval = 7.584 s., Count = 0, 0.0 unit/sec

Es hat sich herausgestellt, dass Trade SB 1,5 Mal langsamer ist als reines MQL5!

Ich nahm an, dass dies der Grund war, also habe ich eine kleine Korrektur in Trade.mqh vorgenommen

//+------------------------------------------------------------------+
//| Access functions PositionSelect(...)                             |
//+------------------------------------------------------------------+
bool CPositionInfo::Select(const string & symbol)
  {
   return(PositionSelect(symbol));
  }

Aber die Verlangsamung der SB-Variante ist nicht verschwunden.

Wo liegt der Grund für die Langsamkeit der SB?

 

Forum zum Thema Handel, automatische Handelssysteme und Strategietests

Bibliotheken: TesterBenchmark

fxsaber, 2017.07.24 14:24

Das war der Optimierungsmodus. Und jetzt DIESER EA, aber im Einzellaufmodus

Core 1  2017.07.21 23:59:59   Interval = 5.140 s., Count = 3387955, 659135.2 unit/sec
Core 1  EURUSD,M1: 3387955 ticks, 52608 bars generated. Test passed in 0:00:05.164.

Ein einzelner Durchlauf auf dem lokalen Agenten ist 2,3 Mal langsamer als auf DIESEM gleichen Agenten, aber während der Optimierung!


Vielleicht liegt es an der Trägheit des Testers, also schauen wir mal, was das OnTick-Profiling in den Modi Optimierung und Einzellauf zeigen wird (Probleme bei der Ausführung und andere Handelsumgebungen werden das Ergebnis nicht beeinflussen).


Optimierung

------
OnTesterInit
i = 0 Pass = 0 OnTester = 2.910 s.: OnTick Profiler: Count = 3387955, Interval = 0.969 s., 3496753.0 unit/sec , Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 2.862 s.: OnTick Profiler: Count = 3387955, Interval = 0.952 s., 3559797.1 unit/sec , Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 1 Results[iMin] = 2.862 s.
iMax = 0 Results[iMax] = 2.910 s.
Amount = 2 Mean = 2.886 s. - 78.06%
OnTesterDeinit
------
Interval = 7.394 s., Count = 0, 0.0 unit/sec


Einfacher Durchgang

Core 1  2017.07.21 23:59:59   Interval = 6.149 s. (Profiler: Count = 3387955, Interval = 4.018 s., 843148.2 unit/sec)
Core 1  EURUSD,M1: 3387955 ticks, 52608 bars generated. Test passed in 0:00:06.162.


Die Nettoausführung von OnTick selbst ist im Einzelausführungsmodus 4,2 Mal langsamer als im Optimierungsmodus. Und das bei demselben lokalen Agenten!

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Bibliotheken: TesterBenchmark

fxsaber, 2017.07.24 14:33

Gleiche Situation auch bei MT4. Wahrscheinlich die Bremsen in 4 aufgrund von Baumstammbildung während der Einzelfahrt.

 

Wenn Sie einen MT5-Indikator auf ein Diagramm anwenden, bei dem Sie Farben auswählen können, und ihn dann neu kompilieren, werden die Farben auf das Original zurückgesetzt und die anderen Einstellungen bleiben erhalten.

Warum die Farben zurückgesetzt werden, ist äußerst ungünstig, vor allem, wenn der Indikator MTF ist und die Farben an die TF gebunden sind.

 
Arbeiten Sie mit Ihrem Code - 99,9 % - Sie haben ein Protokoll voller Fehler wie "kein Geld für die Eröffnung einer Position".

Ich saß da und wartete ab, was der langsame Agent zurückgeben würde. Am Ende wurde der Fehler INIT_PARAMETERS_INCORRECT zurückgegeben (keine Operationen durchgeführt). In meinem Fall bedeutet das, dass die Eingabeparameter nicht passen. Mit 99 von 100 Wahrscheinlichkeiten kann ich also sagen, dass jemand einfach einen alten Laptop an das System angeschlossen hat. Die Idee wird dadurch bedeutungslos. Beobachtet in MQL5 Cloud USA


Es steht in den Protokollen

MQL5 Cloud USA genetischer Durchgang (0, 206) getestet mit Fehler "falsche Eingabeparameter" um 0:00:00.359 (PR 142)

 

Frage für Entwickler (bitte entschuldigen Sie, wenn ich Sie langweile)

Ich verstehe das nicht - mein genetischer Algorithmus sagt 12000 Durchläufe, aber meine Agenten führen tatsächlich nur 9000 Durchläufe durch. - Was passiert mit weiteren 3000 Ergebnissen?

 
Bevor Sie etwas als "Störung" bezeichnen, sollten Sie die Dokumentation (Особенности тестирования - Алгоритмический трейдинг, торговые роботы) studieren - lesen Sie den gesamten Abschnitt.
Графические объекты при тестировании

Во время тестирования/оптимизации не осуществляется построение графических объектов. Таким образом, при обращении к свойствам созданного объекта во время тестирования/оптимизации эксперт получит нулевые значения.

Данное ограничение не распространяется на тестирование в визуальном режиме.
Wie kann ich also abgesehen von der Visualisierung sehen, ob der Roboter die Stops gut auf dem Chart platziert hat? Die Visualisierung ist langsam (
 
fxsaber:

Der Expert Advisor wird unter 1641 erstellt, der eine schnelle Handelsgeschichte hat.

Ist es möglich, während der Optimierung an den Agenten von Build 1596 zu gelangen, wo der Verlauf SEHR langsam arbeitet und daher die Optimierung viele Male verlangsamt wird?

Nein, Aufgaben werden nicht an alte Bearbeiter in den Cludes verteilt.