Brauche Hilfe von MT4-Entwicklern und Programmierern

 

Hallo.

Neue Builds des MT4-Terminals de-initialisieren und re-initialisieren EAs nicht, wenn der Benutzer die Werte der Eingabeparameter ändert. Dies führt zu einer grundsätzlichen Inkompatibilität von bestehenden EAs mit den neuen Builds von MT4. Die Inkompatibilität tritt bei den am meisten optimierten EAs auf, bei denen alle Einzelberechnungen im Block init() untergebracht sind.

Es kommt sogar zu einem lächerlichen Punkt: Um die Ersetzung des Wertes eines Eingabeparameters zu gewährleisten, muss der Benutzer den Expert Advisor aus dem Chart nehmen und wieder einfügen. (Ich habe nicht versucht, Parameter aus einer SET-Datei mit einer Taste zu laden, aber ich vermute, dass dies dem manuellen Ersetzen von Parameterwerten gleichkommt).

Ich bitte die MT4-Entwickler dringend, den Aufruf der Funktionen deinit(), init() auf den gesunden Menschenverstand zurückzubringen.

Mit freundlichen Grüßen.

PS Wenn jemand den Mechanismus der programmatischen Bestimmung des Zeitpunkts und der Änderung der Werte der Eingangsparameter durch den Benutzer kennt, bitte hier darüber schreiben.

 
zeigen Sie wenigstens das Gewehr als Beweis.
 

Version: 4.00 Build 670

(4 Jul 2014)

 
Wex:


Neue Builds des MT4-Terminals de-initialisieren und re-initialisieren EAs nicht, wenn der Benutzer die Werte der Eingabeparameter ändert. Dies führt zu einer prinzipiellen Inkompatibilität bestehender EAs mit neuen Builds von MT4. Die am meisten optimierten Expert Advisors, bei denen alle Einzelberechnungen im Block init() untergebracht sind, sind inkompatibel.

Ich habe sie. Bauart 670. Prüfen Sie mit einfachen Druckern.
 
Wex:

Hallo.

Neue Builds des MT4-Terminals de-initialisieren und re-initialisieren EAs nicht, wenn der Benutzer die Werte der Eingabeparameter ändert. Dies führt zu einer grundsätzlichen Inkompatibilität von bestehenden EAs mit den neuen Builds von MT4. Die Inkompatibilität tritt bei den am meisten optimierten EAs auf, bei denen alle Einzelberechnungen im Block init() untergebracht sind.

Es kommt sogar zu einem lächerlichen Punkt: Um die Ersetzung des Wertes eines Eingabeparameters zu gewährleisten, muss der Benutzer den Expert Advisor aus dem Chart nehmen und wieder einfügen. (Ich habe nicht versucht, Parameter aus einer SET-Datei mit einer Taste zu laden, aber ich vermute, dass dies dem manuellen Ersetzen von Parameterwerten gleichkommt).

Ich bitte die MT4-Entwickler dringend, den Aufruf der Funktionen deinit(), init() auf den gesunden Menschenverstand zurückzubringen.

Mit freundlichen Grüßen.

PS Wenn jemand den Mechanismus der programmatischen Bestimmung des Zeitpunkts und der Änderung der Werte der Eingangsparameter durch den Benutzer kennt, bitte hier darüber schreiben.

Dies ist ein Trick der Market Maker :-7, um etablierte EAs zu deflationieren
 
IvanIvanov:
Dies ist ein Trick von Marktmachern :-7, um etablierten Beratern die Luft abzuschnüren
+
 
Ist es nicht möglich, den EA umzuschreiben?
 

PS. (Ich scheine in diesem Forum kein großer Zungenbrecher zu sein.) EA beigefügt. Versuchen Sie, den Wert von Parameter A1 oder A2 spontan zu ändern. Die Zeit "vergeht" und der EA "sieht" die neuen Werte der Parameter nicht. Sie können ihn jedoch initialisieren, indem Sie zweimal auf die Schaltfläche "AutoTrading" drücken. Das geht natürlich schneller, als den EA aus dem Chart zu nehmen und neu zu installieren. Allerdings ist das irgendwie unlogisch. Die Entscheidung liegt jedoch bei Ihnen.

Natürlich ist es für mich viel einfacher, Änderungen in meinem Expert Advisor vorzunehmen, als am Meer zu warten. Deshalb möchte ich noch einmal eine einfache Frage stellen. Weiß jemand, wie man Informationen über einen Benutzer erhält, der den Wert eines Eingabeparameters spontan geändert hat? Ich meine die Tatsache, dass sich der Wert verändert hat, und den Zeitpunkt.

Die neueren Versionen des MT4-Terminals sind wirklich viel besser als die älteren. Der Wert des Parameters wird in diesem Fall geändert, wenn die Funktion Sleep() ausgeführt wird. Das ist in der Tat ein Fortschritt. Die alten Builds erlaubten es nicht, Werte überhaupt zu ändern, oder vielmehr erlaubten sie es dem Benutzer nicht einmal, das Fenster mit den Eingabeparametern zu erhalten. Ich habe den Kunden gesagt, dass sie die EAs zunächst über die Schaltfläche auf dem Terminal-Panel deaktivieren, ihre Parameter ändern und dann die EAs wieder aktivieren sollten. Aber jetzt hat der Benutzer keine Hindernisse, er hat die Illusion, dass die Eingabeparameter geändert wurden. Darüber hinaus zeigt das neue Beispiel, dass nicht nur die im init()-B lock erhaltenen Kopien, sondern auch die ursprünglichen Eingabeparameter im Expert Advisor nicht geändert werden, sondern im Eigenschaftsfenster auf der Registerkarte Eingaben geändert werden. Die Diskrepanz ist offensichtlich.

Dateien:
PROBLEM.mq4  2 kb
 
Wex:

PS: (Ich scheine im Forum nicht gerade ein Zungenbrecher zu sein. EA beigefügt. Versuchen Sie, den Wert von Parameter A1 oder A2 spontan zu ändern. Die Zeit "vergeht" und der EA "sieht" die neuen Werte der Parameter nicht. Sie können ihn jedoch initialisieren, indem Sie zweimal auf die Schaltfläche "AutoTrading" drücken. Das geht natürlich schneller, als den EA aus dem Chart zu nehmen und neu zu installieren. Allerdings ist das irgendwie unlogisch. Die Entscheidung liegt jedoch bei Ihnen.

Natürlich ist es für mich viel einfacher, Änderungen in meinem Expert Advisor vorzunehmen, als am Meer zu warten. Deshalb möchte ich noch einmal eine einfache Frage stellen. Weiß jemand, wie man Informationen über einen Benutzer erhält, der den Wert eines Eingabeparameters spontan geändert hat? Ich meine die Tatsache, dass sich der Wert und der Zeitpunkt ändern.

Die neueren Versionen des MT4-Terminals sind wirklich viel besser als die älteren. Der Parameterwert wird in diesem Fall ersetzt, wenn die Funktion Sleep() ausgeführt wird. Das ist natürlich ein Fortschritt. Die alten Builds erlaubten es nicht, Werte überhaupt zu ändern, oder vielmehr erlaubten sie es dem Benutzer nicht einmal, das Fenster mit den Eingabeparametern zu erhalten. Ich habe den Kunden gesagt, dass sie die EAs zunächst über die Schaltfläche auf dem Terminal-Panel deaktivieren, ihre Parameter ändern und dann die EAs wieder aktivieren sollten. Aber jetzt hat der Benutzer keine Hindernisse, er hat die Illusion, dass die Eingabeparameter geändert wurden. Darüber hinaus zeigt das neue Beispiel, dass nicht nur die im init()-B lock erhaltenen Kopien, sondern auch die ursprünglichen Eingabeparameter im Expert Advisor nicht geändert werden, sondern im Eigenschaftsfenster auf der Registerkarte Eingaben geändert werden. Die Diskrepanz ist offensichtlich.

Und haben Sie versucht, Deinitialisierungsgründe zu verwenden?

UninitializeReason()
REASON_PARAMETERS

Vielleicht habe ich schräg gelesen... Aber ich benutze ...

 
Wex:

PS: (Ich scheine im Forum nicht gerade ein Zungenbrecher zu sein. EA beigefügt. Versuchen Sie, den Wert von Parameter A1 oder A2 spontan zu ändern. Die Zeit "vergeht" und der EA "sieht" die neuen Werte der Parameter nicht. Sie können ihn jedoch initialisieren, indem Sie zweimal auf die Schaltfläche "AutoTrading" drücken. Das geht natürlich schneller, als den EA aus dem Chart zu nehmen und neu zu installieren. Allerdings ist das irgendwie unlogisch. Die Entscheidung liegt jedoch bei Ihnen.

Natürlich ist es für mich viel einfacher, Änderungen in meinem Expert Advisor vorzunehmen, als am Meer zu warten. Deshalb möchte ich noch einmal eine einfache Frage stellen. Weiß jemand, wie man Informationen über einen Benutzer erhält, der den Wert eines Eingabeparameters spontan geändert hat? Ich meine die Tatsache, dass sich der Wert verändert hat, und den Zeitpunkt.

Die neueren Versionen des MT4-Terminals sind wirklich viel besser als die älteren. Der Wert des Parameters wird in diesem Fall geändert, wenn die Funktion Sleep() ausgeführt wird. Das ist in der Tat ein Fortschritt. Die alten Builds erlaubten es nicht, Werte überhaupt zu ändern, oder vielmehr erlaubten sie es dem Benutzer nicht einmal, das Fenster mit den Eingabeparametern zu erhalten. Ich habe den Kunden gesagt, dass sie die EAs zunächst über die Schaltfläche auf dem Terminal-Panel deaktivieren, ihre Parameter ändern und dann die EAs wieder aktivieren sollten. Aber jetzt hat der Benutzer keine Hindernisse, er hat die Illusion, dass die Eingabeparameter geändert wurden. Darüber hinaus zeigt das neue Beispiel, dass nicht nur die im init()-B lock erhaltenen Kopien, sondern auch die ursprünglichen Eingabeparameter im Expert Advisor nicht geändert werden, sondern im Eigenschaftsfenster auf der Registerkarte Eingaben geändert werden. Die Diskrepanz ist offensichtlich.

Derselbe Code, aber ohne die Schleife innerhalb von start(), funktioniert gut. Das muss das Problem sein.
Dateien:
PROBLEM.mq4  2 kb
 
Wex:

PS: (Ich scheine im Forum nicht gerade ein Zungenbrecher zu sein.


Sehr sogar.

1. Die Sprache MQL4 ist einem speziellen Forum gewidmet. Diese nicht.

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