Brauche Hilfe von MT4-Entwicklern und Programmierern - Seite 2

 
stringo:

Sehr ähnlich.

1. Es gibt ein spezielles Forum für MQL4. Diese nicht.

2. Sie haben die MQL4-Dokumentation nicht gelesen, weder die alte noch die neue.

Anstatt einen Link zu etwas Nützlichem zu geben, schmeißen Sie den Mann einfach mit Mist zu.

Die Unlogik ist offensichtlich. Der Benutzer kann (im Gegensatz zu früheren Builds) die Eingabeparameter ändern, und die neuen Werte sind auf der Registerkarte Eingaben sichtbar, ändern sich aber nicht tatsächlich. Der Expert Advisor hat die volle Kontrolle über die Situation, aber das System gibt die aktualisierten Werte der Parameter nicht an, und der Benutzer hat die Illusion, dass er/sie die Eingabeparameter geändert hat.

artmedia70, ich danke Ihnen. Ich werde es ausprobieren. Aber ich bin mir ziemlich sicher, dass es nicht helfen wird. Die Deinitialisierung findet nicht statt. Ist es möglich, die Gründe für die nicht erfolgte Deinitialisierung zu analysieren? (Kein Eintrag im Protokoll).

Ich hatte keine Illusionen darüber, dass mir hier jemand helfen würde. Aber ehrlich gesagt habe ich nicht erwartet, dass die Entwickler bei einer ganz offensichtlichen Sache ein Auge zudrücken würden. Wie könnte ein Entwickler natürlich zugeben, dass es sich um einen Softwarefehler handelt? Es ist einfacher, den Nutzer dafür zu beschuldigen, dass er eine "politisch nicht korrekte" Schleife inszeniert. Sie würden auch sagen, dass ich den Text falsch eingerückt und keine Kommentare hinzugefügt habe. Diese Schleife funktioniert perfekt und ist in den Schemata, die einige Kunden für mich bestellen, einfach unersetzlich. Aber die Initialisierung neuer Werte von Eingabeparametern, die vom Benutzer kurzfristig geändert wurden, funktioniert nicht. Und indem Sie jemanden als "Quatsch" und "ungebildet" bezeichnen (weil er angeblich die Dokumentation nicht liest), widerlegen Sie nicht die Tatsache, dass die Initialisierung [von Parametern mit neuen Werten] nicht funktioniert.

(Aber vielleicht verwechsle ich ja auch Ursache und Wirkung? "Haken" sollten immer unbemerkt vorhanden sein, um den Benutzern das Leben zu erleichtern).

 

Entschuldigen Sie, dass ich auf Englisch schreibe, aber ich denke, Sie werden es verstehen.

Sie verwenden eine Endlosschleife, also werden init/deinit natürlich nicht aufgerufen. Ein EA ist ein Single-Thread, d.h. selbst wenn init/deinit-Ereignisse in die Verarbeitungswarteschlange gestellt werden, gibt es keine Gelegenheit, sie auszuführen.

 
Wex:

Anstatt einen Link zu etwas Nützlichem anzugeben, werfen Sie die Person einfach mit Mist zu.

Die Unlogik ist offensichtlich. Der Benutzer hat (im Gegensatz zu früheren Versionen) die Möglichkeit, die Eingabeparameter zu ändern, und die neuen Werte sind auf der Registerkarte Eingaben sichtbar, ändern sich aber nicht tatsächlich. Der Expert Advisor hat die volle Kontrolle über die Situation, aber das System gibt ihm nicht die aktualisierten Werte der Parameter, und der Benutzer hat die Illusion, dass er/sie die Eingabeparameter geändert hat.

artmedia70, danke. Ich werde es ausprobieren. Aber ich bin mir ziemlich sicher, dass es nicht helfen wird. Die Deinitialisierung findet nicht statt. Ist es möglich, die Gründe für die nicht erfolgte Deinitialisierung zu analysieren? (Kein Eintrag im Protokoll).

Ich hatte keine Illusionen darüber, dass mir hier jemand helfen würde. Aber ehrlich gesagt habe ich nicht erwartet, dass die Entwickler bei einer ganz offensichtlichen Sache ein Auge zudrücken würden. Wie könnte ein Entwickler natürlich zugeben, dass es sich um einen Softwarefehler handelt? Es ist einfacher, den Nutzer dafür zu beschuldigen, dass er eine "politisch nicht korrekte" Schleife inszeniert. Sie würden auch sagen, dass ich den Text falsch eingerückt und keine Kommentare hinzugefügt habe. Diese Schleife funktioniert perfekt und ist in den Schemata, die einige Kunden für mich bestellen, einfach unersetzlich. Aber die Initialisierung neuer Werte von Eingabeparametern, die vom Benutzer kurzfristig geändert wurden, funktioniert nicht. Und indem Sie jemanden als "Quatsch" und "ungebildet" bezeichnen (weil er angeblich die Dokumentation nicht liest), widerlegen Sie nicht die Tatsache, dass die Initialisierung [von Parametern mit neuen Werten] nicht funktioniert.

(Aber vielleicht verwechsle ich ja auch Ursache und Wirkung? "Haken" sollten immer unbemerkt vorhanden sein, um den Benutzern das Leben zu erleichtern).

Versuchen Sie es ;)
 
angevoyageur:

Entschuldigen Sie, dass ich auf Englisch schreibe, aber ich denke, Sie werden es verstehen.

Sie verwenden eine Endlosschleife, also werden init/deinit natürlich nicht aufgerufen. Ein EA ist ein Single-Thread, d.h. selbst wenn init/deinit-Ereignisse in die Verarbeitungswarteschlange gestellt werden, gibt es keine Gelegenheit, sie auszuführen.

Nun, das mag sein.

 
Wex:

Nun, wenn der Expert Advisor in einer Schleife läuft und er wirklich keine Deinitialisierung aus der Schleife heraus aufruft, dann versuchen Sie, die Änderungen der Eingabeparameter in OnChartEvent() abzufragen.

Zeigen Sie z. B. die gewünschten Parameter nach Objekten im Diagramm an. Das Anklicken eines Parameters(CHARTEVENT_OBJECT_CLICK) ruft das LabelEdit-Eingabefeld auf, in dem Sie neue Parameter eingeben(CHARTEVENT_OBJECT_ENDEDIT) und über ein Benutzerereignis(CHARTEVENT_CUSTOM+n) an den Experten senden, in dem Sie die Ereignisse abfragen und auf Änderungen der Eingabeparameter reagieren.

 
artmedia70:

Nun, wenn der Experte ist in einer Schleife, und es wirklich nicht dazu führen, dass ein Zyklus von uninitialize versuchen, OnChartEvent (), um eine Umfrage der Änderung der Eingabeparameter zu organisieren.

Zum Beispiel die Optionen, mit denen Sie ein Objekt im Diagramm anzeigen möchten. Ein Klick auf die Option (CHARTEVENT_OBJECT_CLICK) bewirkt, dass das Eingabefeld LabelEdit, in dem neue Parameter eingegeben werden können ( CHARTEVENT_OBJECT_ENDEDIT ), durch das Benutzerereignis (CHARTEVENT_CUSTOM + n) an den Experten gesendet wird , der in Polling-Ereignissen auf Änderungen der Eingabeparameter reagiert.

Wird nicht funktionieren. Gleiches Problem, Ihr EA befindet sich in einer Endlosschleife, es werden keine Event-Handler ausgeführt.
 
angevoyageur:
Wird nicht funktionieren. Gleiches Problem, Ihr EA befindet sich in einer Endlosschleife, es werden keine Event-Handler ausgeführt.
Wirklich? Das wusste ich nicht ... Ich habe nie Experten in Schleifen mit OnChartEvent() geschrieben ...
 
stringo:

Sehr ähnlich.

1. Für die Sprache MQL4 gibt es ein eigenes Forum. Diese nicht.

2. Sie haben die MQL4-Dokumentation nicht gelesen, weder die alte noch die neue.

1. Bei der Installation von MetaTrader4 Terminal im Installationsfenster gibt es eine Einladung zum Forum, dieses Forum und nicht ein anderes.

2. Auf halbem Weg durch das neue Datenblatt. In der Vergangenheit öffnete sich das Eigenschaftsfenster von geloopten EA nicht. Jetzt tut es das, und ich wünschte, das Fenster würde auf Parameteränderungen reagieren. Oder öffnen Sie das Eigenschaftsfenster nicht, um den Benutzer nicht zu verwirren.

 
Wex, benutze eine Zeitschaltuhr, dann kannst du dir das Schleifen sparen.
 
Integer:

1. Bei der Installation des MetaTrader4-Terminals erscheint im Installationsfenster eine Einladung zum Forum, dieses Forum und nicht ein anderes.

2. Auf halbem Weg durch das neue Datenblatt. In der Vergangenheit öffnete sich das Eigenschaftsfenster von geloopten EA nicht. Jetzt tut es das, und ich wünschte, das Fenster würde auf Parameteränderungen reagieren. Oder das Eigenschaftsfenster wird nicht geöffnet, um den Benutzer nicht zu verwirren.

1. Sehen Sie sich das Profil von Wex an. Er ist ein professioneller MQL4-Entwickler. Er spielt den Narren. Oder er ist ein Troll. Es ist nicht klar, warum.

2. man muss es sich gut überlegen. Sie können die Schleife nicht zwangsweise beenden, wenn neue Parameter eintreffen. So etwas wie die IsNewParameter-Funktion, die vom Programmierer selbst in der Endlosschleife aufgerufen werden sollte