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
Gibt es bei der Code-Optimierung Beschränkungen für die Größe des Objektbaums?
Ich erhalte einen "Baumoptimierungsfehler" in der Kompilierungsphase, wenn die Anzahl der Objekte erhöht wird.
P.S. Im Debug-Modus kompiliert er.
Können Sie ein Beispiel für den Quellcode an das Servicedesk-Ticket anhängen? Der Code wird nach der Überprüfung entfernt.
Höchstwahrscheinlich liegt es an den langen Funktionen, aber Sie sollten uns den Code schicken, damit wir ihn selbst überprüfen und den Fehler beheben können. Es wird vielen Händlern helfen.
Erstens: Welchen Sinn hat es, den Verlauf im Prüfgerät zwangsweise herunterzuladen? Der Tester selbst lädt die notwendige und zugängliche Historie vom Server herunter, wenn es im Code oder bei Handelsoperationen Anfragen nach den notwendigen Symbolen gibt. Da Ihr Code leer ist, braucht der Prüfer keine Ticks für andere Symbole zu simulieren, außer für das Symbol, an dem die Prüfung durchgeführt wird. Und das ist, was der Prüfer seine Geschichte heruntergeladen. Und da es keine Historie (im Tester) gibt, erhalten wir 0.
Zweitens ist es selbst dann, wenn Sie den Code durch den Aufruf der gesamten Historie für alle Symbole erweitern, unwahrscheinlich, dass das Herunterladen der gesamten verfügbaren Historie für alle Symbole erfolgreich sein wird, und irgendwo wird ein Fehler auftreten. Da das Prüfgerät auf der Basis von Terminal-Zitaten arbeitet, muss es den erforderlichen Verlauf herunterladen.Können Sie mir sagen, was die Werte in der Spalte Ergebnis bedeuten, wenn die Zielfunktion Balance + min Drawdown ausgewählt ist?
Können Sie mir sagen, was die Werte in der Spalte Ergebnis bedeuten, wenn die Zielfunktion Balance + min Drawdown ausgewählt ist?
Wenn Sie sich die Hilfe im Terminal ansehen, würden viele Fragen verschwinden, weil alles dort geschrieben steht
Optimierungskriterium
Ein Optimierungskriterium ist ein bestimmter Faktor, dessen Wert die Qualität des geprüften Satzes von Eingangsparametern definiert. Je höher der Wert des Optimierungskriteriums ist, desto besser wird das Prüfergebnis mit dem gegebenen Parametersatz bewertet. Dieser Parameter kann auf der Registerkarte "Einstellungen" rechts neben dem Feld "Optimierung" ausgewählt werden.
Das Optimierungskriterium ist nur für den genetischen Algorithmus erforderlich.
Die folgenden Optimierungskriterien sind verfügbar:
Ich danke Ihnen. )) Aus irgendeinem Grund dachte ich an das Kriterium des Mindestdrawdowns und nicht an Saldo + Mindestdrawdown. ))
Die Sache ist, dass, wenn der Tester versucht, Ticks für andere Symbole zu simulieren, das Protokoll beginnt, mit Meldungen wie enthält 0 M1 Datensätze gefüllt werden, weil es keine Geschichte an diesem Datum und das Protokoll wächst zu unvorstellbaren Mengen und ich muss das Datum der Geschichte wissen, um diese Fehler zu vermeiden, aber wenn Sie die Funktion SeriesInfoInteger(Symbol,0,SERIES_SERVER_FIRSTDATE) gibt 0
Soweit ich weiß, erstellt der Tester vor dem Testen eine Marktumgebung für das angeschlossene Konto (das zuletzt angeschlossene, wenn keine Verbindung zum Server besteht), überprüft die Synchronisierung der Daten mit dem Server (wiederum, wenn eine Verbindung besteht), lädt die fehlenden Kurse vom Startdatum des Tests hoch (wenn eine Verbindung besteht), erstellt eine Testsequenz von Kursen für alle erforderlichen Symbole und beginnt erst dann mit dem Testen. Was ist, wenn es ihm nicht gelingt, den erforderlichen Verlauf herunterzuladen (z. B. weil es keinen Verlauf auf dem Server gibt oder weil keine Verbindung mit dem Server besteht)? ? Es sagt Ihnen ehrlich. Nein, das müssen Sie nicht.
Als Nächstes wollen Sie das Anfangsdatum des Verlaufs auf dem Server (im Tester) ermitteln. Es scheint, dass diese Eigenschaft nicht in der Marktumgebung des Testers enthalten ist, obwohl sie vom Server gespeichert worden sein könnte. Handelt es sich um einen Fehler? Ich glaube nicht. Nach Beginn der Prüfung kann der Prüfer nicht mehr auf den Server zugreifen (über das Terminal), um die benötigten Zitate herunterzuladen. Alles, was vorhanden ist, wird vom Prüfer bereits in der Initialisierungsphase des Prüfprozesses geladen und der Prüfablauf ist bereits festgelegt und kann nicht mehr verändert werden. Anstelle von SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE) können Sie in Ihrem Fall meiner Meinung nach SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE) verwenden. sollte im Tester funktionieren.
Können Sie ein Beispiel für den Quellcode an das Servicedesk-Ticket anhängen? Der Code wird nach der Überprüfung entfernt.
Höchstwahrscheinlich handelt es sich um lange Funktionen, aber Sie sollten uns besser den Code schicken, damit wir ihn untersuchen und den Fehler beheben können. Sie wird vielen Händlern helfen.
Ok, anbei 2 Optionen mit "Codegenerierungsfehler" und "Baumoptimierungsfehler". Die onInit-Funktion ist sehr lang (~1000 Zeilen generierter Code).
Ticket #217917.
Ok, anbei 2 Varianten mit "Codegenerierungsfehler" und "Baumoptimierungsfehler". Die onInit-Funktion ist sehr lang (~1000 Zeilen generierter Code).
Ticket #217917
Soweit ich weiß, erstellt der Tester vor dem Testen eine Marktumgebung für das angeschlossene Konto (das zuletzt angeschlossene, wenn keine Verbindung zum Server besteht), überprüft die Synchronisierung der Daten mit dem Server (wiederum, wenn eine Verbindung besteht), lädt die fehlenden Kurse vom Startdatum des Tests hoch (wenn eine Verbindung besteht), erstellt eine Testsequenz von Kursen für alle erforderlichen Symbole und beginnt erst dann mit dem Testen. Was ist, wenn es ihm nicht gelingt, den erforderlichen Verlauf herunterzuladen (z. B. weil es keinen Verlauf auf dem Server gibt oder weil keine Verbindung zum Server besteht)? ? Es sagt Ihnen ehrlich. Nein, das müssen Sie nicht.
Als Nächstes wollen Sie das Anfangsdatum des Verlaufs auf dem Server (im Tester) ermitteln. Es scheint, dass diese Eigenschaft nicht in der Marktumgebung des Testers enthalten ist, obwohl sie vom Server gespeichert worden sein könnte. Handelt es sich um einen Fehler? Ich glaube nicht. Nach Beginn der Prüfung kann der Prüfer nicht mehr auf den Server zugreifen (über das Terminal), um die benötigten Zitate herunterzuladen. Alles, was vorhanden ist, wird vom Prüfer bereits in der Initialisierungsphase des Prüfprozesses geladen und der Prüfablauf ist bereits festgelegt und kann nicht mehr verändert werden. Anstelle von SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE) können Sie in Ihrem Fall meiner Meinung nach SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE) verwenden. sollte im Tester funktionieren.