Fehler, Irrtümer, Fragen - Seite 411

 
Renat:
Können Sie die Ergebnisse beifügen?
Es wurde bestätigt, dass es Diskrepanzen gibt. Optimierung über die Cloud. Was soll ich anbringen?
 

Ich verstehe nicht, ist das ein Fehler oder einer von beiden?

Ich habe mich schon vor langer Zeit daran gewöhnt, dass die Registerkarte "Log" des Testers bei einem großen Nachrichtenfluss viele Nachrichten überspringt (per Druck). Aber die Protokolldatei des Testers enthält nicht alle Ausgaben von Print, auch wenn es nur wenige sind. Ich habe den minimalsten Code versucht - ich habe eine Vorlage erstellt und den Befehl Print("t") in OnTick eingefügt;

Bei Ausführung mit EURUSD M1 " nur Eröffnungskurse", "letztes Jahr" (z. B. vom 1. Januar bis zum 8. Juni) - es gibt alle paar Tage Meldungen im Protokoll, und zwar mehrere Dutzend Ticks hintereinander. "Letzter Monat" (d.h. 1.-8. Juni) - nur von ~7 Uhr bis 24. Juni um 19 Uhr 7. Juni. Und gute Wiederholbarkeit, wenn auch ungenau, d. h. alles nicht zufällig.

Ich war erschrocken - sind das solche Zeckensprünge? Wie soll man leben? Das funktioniert bei einem Experten nicht richtig, um es gelinde auszudrücken. Warum merkt das niemand? Überprüft auf 2 Comps, und auch auf /portable. Dasselbe.

Wie sich herausstellte, zeigt das Protokoll des örtlichen Agenten alle Häkchen an, ohne dass etwas übersprungen wurde! Damit scheint das Problem für mich gelöst zu sein, aber es ist nicht gut. Inkonsistenz. Könnte jemand anderen in die Irre führen.

Wenn das nicht passieren sollte und es nur mir passiert, warum? Nur für den Fall - ich habe CoreQuad und W7.

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

Ich verstehe nicht, ist es ein Fehler oder einer von beiden?

Es stellte sich heraus, dass das lokale Agentenprotokoll alle Häkchen enthält, ohne dass etwas übersprungen wurde! Das scheint das Problem für mich zu lösen, aber es ist nicht richtig. Inkonsistenz. Könnte jemand anderen in die Irre führen.

Wenn das nicht passieren sollte und nur mir passiert, warum? Nur für den Fall - ich habe einen CoreQuad und W7.

Sehen Sie sich die Hilfe des Terminals an, dort ist alles beschrieben - MetaTrader 5 HelpTesterLog:

  • Die Protokolle von Remote-Agenten enthalten keine Expert Advisors-Meldungen (Print()-Funktion) und auch keine Meldungen über Handelsoperationen;
  • Während des Tests enthält das Protokoll Meldungen des Expert Advisors selbst, während der Optimierung werden nur Durchlaufnummern und Ergebnisse im Protokoll aufgezeichnet;
  • Wenn der Nachrichtenfluss von Agenten sehr groß ist, werden einige von ihnen möglicherweise nicht auf der Registerkarte "Journal" gedruckt. Alle Einträge können in den *.log-Dateien der Agenten eingesehen werden. Wenn es Probleme bei der Prüfung oder Optimierung gibt, sollten diese Protokolldateien eingesehen werden.
  • Um Speicherplatz zu sparen, werden die Agent-Protokolldateien im Verzeichnis tester/agent-*.*/logs nach zwei Tagen oder bei Erreichen einer Größe von 1 Gigabyte gelöscht. Die Protokolle des Strategietesters selbst, die sich im Verzeichnis tester/logs/ befinden, werden fünf Tage nach ihrer Erstellung gelöscht.
 

Das ist es also, die Nachrichten kommen nicht einmal bei geringem Durchfluss an. Ich habe es auch auf M15 versucht, 1 Nachricht pro Takt ist ein großer Fluss? Und ich habe sogar versucht, nicht bei jedem Takt auszugeben, sondern wenn ein Signal erscheint. Für den laufenden m-Monat dürften es etwa 20 sein (auf einen Blick). Ich habe nur 3-4 von ihnen. Für dieselben Tage.

Die Tatsache, dass all diese Nachrichten woanders liegen, habe ich durch Zufall und auf eigene Faust herausgefunden, was mich zunächst sehr nervös machte. Die Suche nach einer indirekten Bestätigung in der Hilfe, dass es sich um einen bekannten Fehler handelt (d.h. es ist ein bekanntes und beschriebenes Problem), ist das Letzte, woran ich denke.

Meiner Meinung nach ist dies ein Problem, das gelöst werden muss. Zum Beispiel wie in einigen Protokollierungssystemen:

Zecke 2011.06.01 19:00

Zecke 2011.06.01 19:01

Zecke 2011.06.01 19:02

< 123 ähnliche Meldungen fehlen >

 
Dali:

Das ist es also, die Nachrichten kommen nicht einmal bei geringem Durchfluss an. Ich habe es auch auf M15 versucht, 1 Nachricht pro Takt ist ein großer Fluss? Und ich habe sogar versucht, nicht bei jedem Takt auszugeben, sondern wenn ein Signal erscheint. Für den laufenden m-Monat dürften es etwa 20 sein (auf einen Blick). Ich habe nur 3-4 von ihnen. Für dieselben Tage.

Die Tatsache, dass all diese Nachrichten woanders liegen, habe ich durch Zufall und auf eigene Faust herausgefunden, was mich zunächst sehr nervös machte. Die Suche nach einer indirekten Bestätigung in der Hilfe, dass es sich um einen bekannten Fehler handelt (d.h. es ist ein bekanntes und beschriebenes Problem), ist das Letzte, woran ich denke.

Meiner Meinung nach ist dies ein Problem, das gelöst werden muss. Zum Beispiel wie in einigen Protokollierungssystemen:

Zecke 2011.06.01 19:00

Zecke 2011.06.01 19:01

Zecke 2011.06.01 19:02

< 123 ähnliche Meldungen fehlen >

Es gibt kein Problem...

Sehen Sie sich das vollständige Protokoll direkt in den Dateien an...

 

Die Entwickler.

1. Wird vor der Meisterschaft ein normaler Navigator erstellt oder was?

Es ist wirklich nicht sehr bequem, mit Modulen zu arbeiten, die viele Klassen oder Funktionen haben... :(

2. Ist es möglich (oder geplant), mit Objektklassen zu arbeiten, die in Bibliotheken eingebettet sind (nicht in *.mqh, sondern in *.ex5 oder in jedem anderen kompilierbaren Dateityp)?

 
MONTEGRO:

Build 463, WinXP SP3.

Seit einigen Builds funktioniert der Optimierer nicht mehr richtig. Während der Optimierung gehen die Agenten in den Zustand "fertig" oder "bereit" über, und einige bleiben im Zustand "beschäftigt", bis Sie die Agenten mit dem Zustand "beschäftigt" manuell deaktivieren/aktivieren (d. h. der eigentliche Testprozess wird beendet). Nach dem "Neustart" von Agenten im Zustand "beschäftigt" wachen alle anderen Agenten auf, und der Prozess wird bis zum nächsten Stillstand fortgesetzt.

Build 466, WinXP SP3. Es hat sich nichts geändert. Der Optimierer arbeitet nicht normal. Je mehr ich sehe, je schneller die Agenten arbeiten, desto schneller bleibt der Optimierer "hängen".

Im Moment sehe ich noch mehrere Fehler im Terminal, aber ich werde nichts darüber schreiben, bis der Optimierer richtig funktioniert.

 

An Entwickler.

Meinen Sie nicht, dass die erzwungene Konvertierung in den Typ int hier fehl am Platz ist (wenn int zurückgegeben wird, natürlich, aber nicht etwas anderes)?

int OrdersLimit = (int)AccountInfoInteger(ACCOUNT_LIMIT_ORDERS);

Und ohne einen solchen Zusatz wird eine Warnung über möglichen Datenverlust angezeigt...

 
Interesting:

An Entwickler.

Meinen Sie nicht, dass die Zwangsumwandlung in den Typ int hier fehl am Platz ist (wenn int zurückgegeben wird, natürlich, aber nicht etwas anderes)?

Und ohne einen solchen Zusatz wird eine Warnung über möglichen Datenverlust ausgegeben...


long zurückgegeben wird...

https://www.mql5.com/ru/docs/account/accountinfointeger

long OrdersLimit = AccountInfoInteger(ACCOUNT_LIMIT_ORDERS);
Документация по MQL5: Информация о счете / AccountInfoInteger
Документация по MQL5: Информация о счете / AccountInfoInteger
  • www.mql5.com
Информация о счете / AccountInfoInteger - Документация по MQL5
 
Das ist etwas, das ich übersehen habe. Ich werde an anderer Stelle nachsehen und den Code korrigieren müssen.