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
Ja, in der Tat, ich habe "@global_initializations" vergessen.
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...")?
Und wie lange?
Hallo Hallo, ich habe meinen Market im Terminal verloren ich kann keine Expert Advisors und Indikatoren aus dem Market installieren Neuinstallation des Terminals hat nicht geholfen sowie zuvor gekaufte Produkte auf dem Market werden nicht aktualisiert wer weiß wie man das Problem löst
Sie haben meine Frage immer noch nicht beantwortet:
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Automatisierte Produktprüfung auf dem Markt (Fragen und Anregungen)
Vladislav Andruschenko, 2019.10.10 18:35
Sie können es im Terminal, im Fenster Tools, auf der Registerkarte Log überprüfen.
Die zweite Frage: Mit welchem Server verbinden Sie sich? Versuchen Sie, sich mit MetaQuotes-Demo zu verbinden.
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 den Grund in Ihrem Code.
Der Grund dafür liegt wahrscheinlich eher im Autovalidator. Ich konnte herausfinden, dass das Problem irgendwie mit der Verarbeitung der Tick-Historie zusammenhängt.
Wenn das erste Ereignis OnCalculate verarbeitet wird, versucht der Indikator, die Historie der Ticks für den letzten Tag zu laden, indem er die Funktion CopyTicksRange ausführt. Wenn jeder Balken mindestens einige Ticks erhält, wird die empfangene Historie gezeichnet und dann werden die Ticks online verarbeitet. Wenn einige Verlaufsbalken keine Ticks erhalten haben, gibt der OnCalculate-Handler 0 zurück und startet einen 5-Sekunden-Timer. Bei den nächsten Ereignissen OnCalculate versucht der Indikator weiterhin, den Verlauf der Ticks zu laden. Im OnTimer-Handler wird der Timer gestoppt, und wenn alle OnCalculate-Aufrufe die Historie 5 Sekunden lang nicht laden konnten, wird die Aktualisierungsanforderung mit demChartSetSymbolPeriod(0, NULL, 0)-Aufruf durchgeführt.
Beachten Sie, dass alles asynchron ausgeführt wird und es keine logischen Hänger gibt. Im schlimmsten Fall, wenn wir davon ausgehen, dass die Datenbank der Ticks aus irgendeinem Grund nicht verfügbar ist, erhalten wir eine Reihe von Auffrischungen mit einer Periode von 5 Sekunden. Der Indikator wird in diesem Fall jedoch gar nicht berechnet, da keine Daten vorliegen. Der Einfluss der Auffrischung wurde untersucht, er ist nicht vorhanden - siehe Kommentar unten.
Dieser Code funktioniert bei mir online auf verschiedenen Servern, verschiedenen Charakteren/Zeitrahmen und im Testprogramm.
Derselbe Code scheint irgendwo im Autovalidator zu hängen. Beim Herumstöbern (was bei normalen Rückmeldungen, Protokollen usw. nicht der Fall sein sollte) habe ich Folgendes gefunden.
Wenn Sie den Kommentar für die Tick-Historie auskommentieren, wird der Indikator normalerweise automatisch ungültig.
Da es viele geschichtsanfordernde Faktoren gibt, kann ich nicht genau sagen, woran und in welcher Kombination der Autovalidator "hängt":
Wenn die Aktualisierung vom OnTimer-Handler angefordert wird, schlägt die automatische Validierung fehl. Wenn die Aktualisierung an OnCalculate übergeben wird, ist die automatische Validierung erfolgreich. Es gibt also einen indirekten Hinweis darauf, dass der Aufruf von ChartSetSymbolPeriod aus OnTimer eine negative Auswirkung hat. Ich habe absichtlich eine solche Kombination im Testgerät laufen lassen - ohne Probleme. Offensichtlich unterscheidet sich der Autovalidator von dem öffentlich zugänglichen Tester.
Da die identifizierten Bedingungen für das Bestehen der Validierung nicht sehr klar sind (zumindest seltsam) und erfordern, dass der Code aus dem Bauch heraus künstlich komplexer gemacht wird, sind sie für ein Release-Produkt inakzeptabel.
Hallo, ich bitte um Hilfe, während der Autovalidierung ein Fehler über das Fehlen des Indikators, der Indikator ist über Ressource gesetzt, auf anderen Terminals kompilierte Datei funktioniert ohne Probleme sowohl im Test und in Echtzeit. Was könnte das Problem sein?
Versuchen Sie, keine doppelten Endungen und Bindestriche zu verwenden. Dies ist nur eine schnelle Schätzung.
Können Sie mir sagen, wo genau?
#resource "\\Indicators\\\\guru.ex4"
Sie sollten es so schreiben (Beispiel):
und Sie haben hier etwas Unsinniges geschrieben.
Hallo.
Ich versuche, mein Produkt in den Markt hochzuladen. Die automatische Validierung ergibt folgenden Fehler:
test on EURUSD,H1 (netting) 2019.05.01 00:00:30 array out of range in 'Anchored VWAP with no Volume.mq5' (387,30) Dies kann jedoch nicht sein. Ich lege den VWAP dort an, wo die Maus den Startpunkt verschiebt. Das Skript lässt sich ohne Fehler kompilieren, und alles funktioniert einwandfrei. Vielleicht kann die automatische Validierung nicht mit Skripten interagieren, bei denen ich den Startpunkt auswählen muss?
Was könnte sonst der Grund sein? Der Indikator bietet die Wahl zwischen einer Anzeige mit oder ohne Volumen. Standardmäßig ist es "ohne", aber vielleicht läuft der Validator durch alle möglichen Parameter und stolpert über die Berechnung mit Volumina auf Währungspaaren. Was ist zu tun?
Hallo.
Ich versuche, mein Produkt in den Markt hochzuladen. Die automatische Validierung ergibt folgenden Fehler:
test on EURUSD,H1 (netting) 2019.05.01 00:00:30 array out of range in 'Anchored VWAP with no Volume.mq5' (387,30) Dies kann jedoch nicht sein. Ich lege den VWAP dort an, wo die Maus den Startpunkt verschiebt. Das Skript lässt sich ohne Fehler kompilieren, und alles funktioniert einwandfrei. Vielleicht kann die automatische Validierung nicht mit Skripten interagieren, bei denen ich den Startpunkt auswählen muss?
Was könnte sonst der Grund sein? Der Indikator bietet die Möglichkeit, zwischen einer Anzeige mit oder ohne Volumen zu wählen. Standardmäßig ist es "ohne", aber vielleicht läuft der Validator durch alle möglichen Parameter und stolpert über die Berechnung mit Volumina auf Währungspaaren. Was ist zu tun?
Versuch, kompilierte Dateien (auch EX4/EX5) und DLLs zu importieren
Programme, die über den Markt vertrieben werden, sollten für die Nutzer garantiert sicher sein. Daher wird jeder Versuch, DLLs oder Funktionen aus kompilierten EX4/EX5-Dateien zu verwenden, als Fehler betrachtet. Solche Produkte werden nicht auf dem Markt veröffentlicht.
Wenn Ihr Programm zusätzliche Indikatoren verwenden muss, die nicht mitgeliefert werden, verwenden SieRessourcen.
Anwenden auf benutzerdefinierte Indikatoren über iCustom()
Wenn Ihr Programm Zugriff auf benutzerdefinierte Indikatordaten benötigt, sollten Sie alle erforderlichen Indikatoren inRessourcen platzieren. Die Produkte vom Markt müssen in jeder unvorbereiteten Umgebung einsatzbereit sein, sie müssen also alles enthalten, was Sie in Ihrer EX4/EX5-Datei benötigen. Empfohlene Artikel zu diesem Thema:
https://www.mql5.com/ru/articles/2555#dll_and_libraries_prohibited
test on EURUSD,H1 (netting) 2019.05.01 00:00:30 array out of range in 'Anchored VWAP with no Volume.mq5' (387,30) Dies kann jedoch nicht sein.
Das Array außerhalb des Bereichs in Zeile 387 ist das Zeichen 30. Es steht geschrieben. Wir müssen das Array überprüfen.