Automatische Überprüfung der Produkte auf dem Markt (Fragen und Vorschläge) - Seite 5

 
Rashid Umarov:

Dies wurde bereits korrigiert.

Ich danke Ihnen.

 
Ich möchte die Vertreter von MetaQuotes noch einmal darauf aufmerksam machen, dass es wünschenswert wäre, die automatische Validierung intelligenter und flexibler zu gestalten. Es ist weder sinnvoll noch gerechtfertigt, alle Produkte in einen Topf zu werfen. Dies gilt insbesondere für den Fehler "Prüfer braucht zu lange". Da es weder klare Kriterien, noch eine Beschreibung des Testprozesses und der Infrastruktur (was zumindest im Rahmen der früheren Meisterschaften im algorithmischen Handel geschah), noch mehr oder weniger vollständige Diagnoseinformationen gibt, müssen die Anwendungsentwickler telepathisch oder durch Herumtasten herausfinden, wie sie das Produkt in das prokrustesartige Bett des Autovalidators zwängen können.

So ist beispielsweise klar, dass im Falle von Indikatoren die Anzahl der berechneten Puffer und ihr unmittelbarer Zweck die Ausführungsgeschwindigkeit objektiv beeinflussen. Wenn der Indikator für die Berechnung von Statistiken über Ticks auf Zehntelpuffern/Ebenen bestimmt ist (alle Ticks ohne Lücken, d.h. alles, was seit dem vorherigen Ereignis OnCalculate eingegangen ist, wird durch CopyTicksRange gelesen), kann er nicht die gleichen Anforderungen haben, wie der Schlusskurs MAC.

Natürlich sind Profiler und wirtschaftliche Berechnungsmethoden bereits vorhanden, Refactoring dauert Tage, aber "Tester brauchen zu lange" bleibt bestehen. Unter Verwendung minimaler verfügbarer Informationen über die getesteten Paare und Zeitrahmen (EURUSD H1, XAUUSD D1, GBPUSD M30, EURUSD M1) führe ich 4 spezifizierte Tests auf einem mittelgroßen Computer durch und erhalte Laufzeiten im Bereich von 1,5-2 Minuten pro Paar. Warum dem Autovalidator eine Stunde fehlt, weiß ich nicht und kann es auch nicht wissen. Das Fehlen von Rückmeldungen (früher waren menschliche Moderatoren anwesend) ermöglicht es nicht, das Problem zu lösen. Vor der Einführung des Autovalidators wurde das Produkt erfolgreich moderiert.

Damit der Markt bequem (auch für den Entwickler) aktualisieren und den Nutzern Qualitätsprodukte mit unterschiedlichen Funktionen anbieten kann, muss es imho Unterstützung geben. Jetzt ist die Situation so, dass die Produkte in die Grauzone gedrängt werden - außerhalb des Marktes. Wenn eine automatische Entwertung nicht möglich ist, ohne das Produkt zu zerschneiden, besteht der einzige Ausweg darin, den Kunden direkt eine neue Version des Produkts anzubieten.

PS. Und ein kleiner Zusatz. Dem Profiler zufolge dauert die gesamte OnCalculate-Verarbeitung 11 Sekunden von den eineinhalb Minuten des jährlichen Tests. Der Durchgangsfaktor eines bestimmten Indikators hängt also nur zu 12 % vom Indikator selbst ab, und zu einem viel größeren Teil vom Prüfer. D.h. die Formulierung "der Prüfer braucht zu lange" sollte wörtlich verstanden werden - "der Prüfer wird langsamer". Und wessen Problem ist das? Wie kann ein MQL-Entwickler für die Beschleunigung des MQ-Testers verantwortlich sein?
 
Stanislav Korotky:
PS. Und ein kleiner Zusatz. Dem Profiler zufolge dauert die gesamte OnCalculate-Verarbeitung 11 Sekunden von den eineinhalb Minuten des jährlichen Tests. Der Durchgangsfaktor eines bestimmten Indikators hängt also nur zu 12 % vom Indikator selbst ab, und zu einem viel größeren Teil vom Prüfer. D.h. die Formulierung "der Prüfer braucht zu lange" sollte wörtlich verstanden werden - "der Prüfer wird langsamer". Und wessen Problem ist das? Wie kann der MQL-Entwickler für die Beschleunigung des MQ-Testers verantwortlich sein?

Etwas ist nicht klar. Sogar die echten Zecken werden schneller zubereitet. In anderthalb Minuten gibt es dort nichts zu tun.

Es werden keine Objekte auf der Hauptebene erstellt?

 
Stanislav Korotky:
PS. Und ein kleiner Zusatz. Dem Profiler zufolge dauert die gesamte OnCalculate-Verarbeitung 11 Sekunden von den eineinhalb Minuten des jährlichen Tests. Der Faktor für das Bestehen der Geschwindigkeitsprüfung mit einem bestimmten Indikator hängt also nur zu 12 % vom Indikator selbst und viel mehr vom Prüfer ab. D.h. die Formulierung "der Prüfer braucht zu lange" sollte wörtlich verstanden werden - "der Prüfer wird langsamer". Und wessen Problem ist das? Wie kann ein MQL-Entwickler für die Beschleunigung des MQ-Testers verantwortlich sein?

Aus den Protokollen des Autovalidators geht hervor, dass der Test auf M1 das monatliche Intervall nicht in einer Stunde durchlaufen kann.

test on EURUSD:M1, from 01.5.2018 to 01.6.2018, deposit 1, model 1, execution delay 1 ms 

Bei H1 besteht derselbe Indikator den Test innerhalb weniger Minuten.

test on EURUSD:H1, from 01.5.2017 to 01.6.2017, deposit 10000, model 1, execution delay 1 ms 

Suchen Sie den Grund in Ihrem Code.

 
MetaQuotes Software Corp.:

Aus den Protokollen des Autovalidators geht hervor, dass der Test auf M1 das monatliche Intervall nicht in einer Stunde durchlaufen kann.

Bei H1 besteht derselbe Indikator den Test innerhalb weniger Minuten.

Suchen Sie die Ursache in Ihrem Code.

Leider sehe ich in den obigen Protokollausschnitten keine Stundenverzögerung, aber wahrscheinlich werden sie nur benötigt, um den Monat hervorzuheben? Ich habe es selbst überprüft, ich sehe keine Staus, ich kann Ihnen das Protokoll in meiner persönlichen Nachricht schicken.

Gibt es Fehler in den Protokollen (die nicht im Bericht auf der Website angezeigt werden)?

 
Andrey Khatimlianskii:

Irgendetwas ist hier faul an der Sache. Sogar die echten Ticks werden schneller fertig. Eineinhalb Minuten lang gibt es nichts zu tun.

Es werden keine Objekte auf der Hauptebene erstellt?

Natürlich gibt es Objekte, aber der Profiler hätte sie auch hervorheben müssen - ist das nicht richtig? Alle Konstruktoren/Destruktoren sind vorhanden. Bei der Sortierung nach Laufzeit steht OnCalculate erwartungsgemäß an erster Stelle. Die Indikatoren werden im visuellen Modus getestet - es gibt eine Visualisierung.

Hier ist vom EURUSD M1-Test für 2018:

2019.10.10 18:43:30.736 EURUSD,M1: 26463085 ticks, 371934 bars generated. Environment synchronized in 0:00:00.331. Test passed in 0:04:36.710 (including ticks preprocessing 0:00:03.479).

Und hier ist der Inhalt des Profilers (54 Sekunden):


OnCalculate 449 26463086 54 302 661 99.99%
 
Hallo ich habe verschwunden Market in meinem Terminal kann nicht installieren Berater und Indikatoren aus Market Neuinstallation des Terminals hat nicht geholfen, sowie zuvor gekaufte Produkte sind nicht auf dem Markt aktualisiert, die weiß, wie das Problem zu lösen
 
Prostocar:
Hallo ich habe verschwunden Market im Terminal kann ich nicht installieren Berater und Indikatoren aus Market Neuinstallation des Terminals hat nicht geholfen, sowie zuvor gekaufte Produkte sind nicht auf dem Markt aktualisiert, die weiß, wie das Problem zu lösen

Überprüfen Sie die Version des Internet Explorers. Es besteht der Verdacht, dass es wegfliegt.
 
Stanislav Korotky:

Die Objekte sind natürlich da, aber der Profiler hätte sie auch hervorheben müssen - oder nicht? Alle Konstruktoren/Destruktoren sind vorhanden. Bei der Sortierung nach Laufzeit steht OnCalculate erwartungsgemäß an erster Stelle. Die Indikatoren werden im visuellen Modus getestet - dort gibt es ein Rendering.

Ja, in der Tat, ich vergaß "@global_initializations".

Es stellt sich heraus, dass das Zeichnen von Balken und Indikatorpuffern selbst so viel Zeit in Anspruch nimmt?

Und wie lange dauert es, wenn Sie zur Freigabe kompilieren und den Visualisierer im gleichen Intervall laufen lassen, indem Sie direkt zum Ende scrollen ("skip to...")?

 
Andrey Khatimlianskii:

Es stellt sich heraus, dass das Zeichnen von Balken und Indikatorpuffern selbst so lange dauert?

Und wie lange dauert es, wenn Sie zur Freigabe kompilieren und den Visualisierer im gleichen Intervall laufen lassen, indem Sie direkt zum Ende scrollen ("skip to...")?

Beschleunigt. 2018 von 4 Minuten auf 1,5 Minuten, 2019 von 1,5 Minuten auf 35 Sekunden. Und der gefälschte Ein-Puffer-Anzeiger, der nichts zählt, testet mit dem Visualisierer in 53 Sekunden und mit dem Scrollen in 12 Sekunden.

Aber da sie sagen, dass es hängt (Timeout ist stündlich), ist es höchstwahrscheinlich nicht die Verarbeitungsgeschwindigkeit, sondern einige Umweltbedingungen, die wir nicht kennen (schließlich ist Autovalidator kein Terminal-Tester). Deshalb sind zumindest die Protokolle sehr nützlich.

Grund der Beschwerde: