MetaTrader 4 Build 529 beta mit neuem Compiler veröffentlicht - Seite 18
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
Ist das MQL4-Handbuch (das sich im Editor befindet) auch entsprechend aktualisiert worden?
ja, mit der Bitte um Aktualisierung. Das MQL4-Handbuch basiert fast auf 5 und entspricht derzeit nicht den Realitäten des Compilers.
Korrigieren Sie mich, wenn ich das falsch verstanden habe.
Ich verwende eine Bibliotheksfunktion in einem Indikator. Diese Funktion deklariert einige statische Variablen, die an der Berechnung des Indikator-Arrays beteiligt sind.
Wenn ich die Indikatorparameter ändern möchte, um die Indikatorberechnung zu korrigieren (abhängig von statischen Variablen),
Übergeben Sie das Kennzeichen an die Bibliotheksfunktion, die für die Reinitialisierung zuständig ist (Sie sollten die Eingabeparameter jeder Funktion, die statische Variablen hat, erweitern)
statische Variablen im Hauptteil auf Null setzen und nicht vergessen, die Markierung zu entfernen, bevor die Berechnung abgeschlossen wird.
Es wäre viel einfacher, wenn statische Variablen einen Parameter hätten, der bei ihrer Deklaration festgelegt wird und dafür verantwortlich ist, ob diese Variablen bei der Reinitialisierung auf Null zurückgesetzt werden.
Es wäre viel einfacher, wenn statische Variablen einen Parameter hätten, der bei ihrer Deklaration festgelegt wird und der dafür verantwortlich ist, ob der Wert dieser Variablen bei der Neuinitialisierung zurückgesetzt wird oder nicht.
Es wäre noch einfacher, wenn die Entwickler eine spezielle Funktion wie ResetStaticVars() erstellen würden.
// Übrigens ist das gar nicht so einfach. Ich würde das nicht tun. Es ist eine Sache, das gesamte Datensegment einfach auf Null zu setzen, und eine andere, alle Benutzeranfangswerte korrekt zuzuweisen. Das ist allerdings sehr lästig.
Eigentlich ist es (als Paradigma) recht praktisch, Werte während der Laufzeit des Programms zu speichern. Es ist nur eine Frage der Abwärtskompatibilität, also...
Ich weiß, dass dies ein russischsprachiger Teil des Forums ist, aber da ich schlecht Russisch spreche (obwohl ich es lesen kann), hoffe ich, dass es niemandem etwas ausmacht, dies hier zu posten (da der englische Teil völlig inaktiv zu sein scheint, was diese Themen angeht, und da ich nicht gesehen habe, dass jemand über dieses Thema gepostet hat)
Es gibt ein schwerwiegendes Problem mit dem neuen Metatrader, das externe String-Parameter betrifft. Anfänglich haben sie einen korrekten Wert, aber sobald der Zeitrahmen oder das Symbol geändert wird, geht der Inhalt eines Stringparameters verloren. Hier ist ein einfaches Beispiel, das genau zeigt, was passiert. Dieses Problem tritt auch auf, wenn solche Indikatoren durch iCustom()-Aufrufe verwendet werden, und das macht jeden solchen Indikator unbrauchbar von jedem EA oder anderen Code
Ja, mit dem Antrag auf Aktualisierung. Das Handbuch für MQL4 basiert fast auf 5 und entspricht nicht den aktuellen Gegebenheiten des Compilers.
Vielleicht haben sie dort etwas hinterlassen, das in der nahen Zukunft liegt? ich rechne damit.
Ist das MQL4-Handbuch (das sich im Editor befindet) auch entsprechend aktualisiert worden?
Ich kann nicht verstehen, warum wir ein solches Design brauchen
#property icon "\\Files\\button.ico"
Ich kann nicht verstehen, warum wir ein solches Design brauchen
Ich weiß, dass dies ein russischsprachiger Teil des Forums ist, aber da ich schlecht Russisch spreche (obwohl ich es lesen kann), hoffe ich, dass es niemandem etwas ausmacht, dies hier zu posten (da der englische Teil völlig inaktiv zu sein scheint, was diese Themen angeht, und da ich nicht gesehen habe, dass jemand über dieses Thema gepostet hat)
Es gibt ein ernsthaftes Problem mit dem neuen Metatrader, das externe String-Parameter betrifft. Anfänglich haben sie einen korrekten Wert, aber sobald der Zeitrahmen oder das Symbol geändert wird, geht der Inhalt eines Stringparameters verloren. Hier ist ein einfaches Beispiel, das genau zeigt, was passiert. Dieses Problem tritt auch auf, wenn solche Indikatoren durch iCustom()-Aufrufe verwendet werden, und das macht jeden solchen Indikator von jedem EA oder anderen Code unbrauchbar
Mladen, es ist einfacher für mich, auf Russisch zu antworten, da Sie fließend lesen können.
Hier ist meine Lösung für dieses Problem. In meinen init()-Code schließe ich die Funktion ReInit() ein, die diese globalen Variablen neu initialisiert, deren Werte wiederhergestellt werden sollten, wenn sich der Zeitrahmen oder das Symbol ändert: