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
Eine der einfachsten Möglichkeiten zum Einfügen
wenn Sie prüfen wollen, ob der Code funktioniert oder ob eine Bedingung erfüllt ist (d. h., ob alle Bedingungen erfüllt sind und eine Aktion durchgeführt werden muss)
Ich füge z.B. innerhalb jeder komplexen Funktion einen Alert mit unterschiedlichem Text ein, um zu prüfen, ob die Funktion überhaupt ausgeführt wurde und ob der EA sie erreicht
Vielleicht verwenden Sie einige Bedingungen und diese sind immer falsch.
Das Problem ist, dass es keine Fehler im Protokoll gibt, aber der EA manchmal nicht mehr funktioniert und erst nach einem Neustart des Terminals wiederhergestellt wird.
Mir ist nicht ganz klar, wie Sie definieren, dass "der Expert Advisor manchmal nicht mehr funktioniert". Vielleicht beginnt damit nur eine Endlosschleife. Das Protokoll ist leer und der Expert Advisor arbeitet ununterbrochen. Oder vielleicht hat es eine andere besondere Eigenschaft.
Ich brauche eine Antwort auf die Frage in diesem Beitrag: https://www.mql5.com/ru/forum/3775/page215#comment_379520
Kennt jemand die Antwort?
Es scheint keine direkte Antwort zu geben, so dass wir uns mit Spekulationen begnügen müssen.
Der Lizenztyp kann also mit Mql5InfoInteger(MQL5_LICENSE_TYPE) herausgefunden werden. D.h. von allen möglichen Werten der Aufzählung ENUM_LICENSE_TYPE wird einer zurückgegeben. Außerdem - durch die Ausnahmemethode: Die Betriebszeitbegrenzung(LICENSE_TIME) kann nicht zusammen mit den drei vorherigen Werten der angegebenen Aufzählung zurückgegeben werden. Insbesondere darf LICENSE_TIME nicht gleichzeitig mit LICENSE_DEMO zurückgegeben werden.
Mit dieser Argumentation würde ich die Frage "Ist es implizit, dass ein kostenpflichtiges Programm für den Markt in einem Demotest zeitlich begrenzt werden kann?" negativ beantworten. Denndie Demo eines kostenpflichtigen Produkts vom Markt hat eine eigene Kennung - LICENSE_DEMO.
Es scheint keine direkte Antwort zu geben, so dass wir uns mit Spekulationen begnügen müssen.
Die Art der Lizenz kann also mit Mql5InfoInteger(MQL5_LICENSE_TYPE) herausgefunden werden. D.h. von allen möglichen Werten der Aufzählung ENUM_LICENSE_TYPE wird einer zurückgegeben. Außerdem - durch die Ausnahmemethode: Die Betriebszeitbegrenzung(LICENSE_TIME) kann nicht zusammen mit den drei vorherigen Werten der angegebenen Aufzählung zurückgegeben werden. Insbesondere darf LICENSE_TIME nicht gleichzeitig mit LICENSE_DEMO zurückgegeben werden.
Mit dieser Argumentation würde ich die Frage "Ist es implizit, dass ein kostenpflichtiges Programm für den Markt in einem Demotest zeitlich begrenzt werden kann?" negativ beantworten. Denndie Demo eines kostenpflichtigen Produkts vom Markt hat eine eigene Kennung - LICENSE_DEMO.
Ich denke, dass LICENSE_TIME sowohl LICENSE_DEMO als auch LICENSE_TIME enthalten kann . Ein deutliches Beispiel dafür sind Bezeichner wie MQL5_VISUAL_MODE und MQL5_TESTING. Das heißt, sie lassen uns beide wissen, dass wir uns in einem Tester befinden. ))
Ich frage mich also, was haben die Entwickler eigentlich in diesen Bezeichner eingebaut? Und wenn es generell keine Möglichkeit gibt, die Dauer einiger kostenpflichtiger Programme im Demomodus zu begrenzen, wäre es schön, wenn es eine solche Möglichkeit gäbe. Denn es kann Optionen geben, die sehr gewinnbringend sein können, um Programme für sich selbst zu nutzen, auch ohne sie zu kaufen. )))
Ich stimme zu, dass ich die terminologischen Besonderheiten der Referenzmaterialien völlig übersehen habe, wodurch die Ausschlussmethode aus dem einen oder anderen Grund zu falschen Ergebnissen führen kann...Nun, zumindest wurden die Missverständnisse zu diesem Thema geäußert, und nur die Autoren dieser Auflistung können darauf antworten.
Ich bin mir nicht ganz sicher, wie Sie feststellen, dass "der EA manchmal nicht mehr funktioniert". Vielleicht beginnt damit nur eine Endlosschleife. Das Protokoll ist leer, aber der Expert Advisor arbeitet ununterbrochen. Oder vielleicht wird eine andere Besonderheit ausgelöst.
Dies ist eine Annäherung an das Thema. Es stellt sich also heraus, dass Ihr EA nicht mehr auf die Indikatorsignale reagiert? Das heißt aber nicht, dass der EA "nicht funktioniert". Vielleicht funktioniert es noch, aber nicht in der vom Autor beabsichtigten Weise.
Versuchen Sie, einen Timer mit einer Zeitspanne von z. B. 10 Minuten einzustellen. Und drucken Sie alle Indizes aus, die für Ihren Expert Advisor von Bedeutung sind. Beobachten Sie, ob sich die Zahlen im Laufe der Zeit ändern. Wenn das Protokoll auch in diesem Fall leer ist, sollten Sie sich unbedingt mit einer Kopie des Codes an den Service Desk wenden.
Zusatz. Oder hier ist eine andere Idee. Sie haben eine Stelle in Ihrem Code mit einer Bedingung wie if, nach deren Auslösung eine Handelsanfrage gesendet werden muss. Versuchen Sie z. B. die Fälle auszudrucken, in denen diese Bedingung ausgelöst oder nicht ausgelöst wurde: