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
Bei der Eingabe ist alles klar. Die Sache mit extern - dort, so scheint es mir, kann man zunächst Variablen mit dem gleichen Typ und Bezeichner in verschiedenen Dateien deklarieren, um sie dem Projekt zuzuordnen, und dann stellt sich heraus, dass man sie nicht auf diese Weise deklarieren kann. Natürlich ist dies ein dreistöckiger Impressionismus...
Die Bedeutung von extern ist, dass wenn die Hauptdatei (main) eine Variable hat und eine andere Datei an diese Datei angehängt ist. Und in dieser angehängten Datei müssen wir die in der Hauptdatei deklarierte Variable verwenden, in der angehängten Datei deklarieren wir sie dann als extern. Dadurch kann die verknüpfte Datei kompiliert werden, und wenn die Hauptdatei kompiliert wird, wirddie Variablendeklaration in der verknüpften Datei ignoriert.
Ich weiß es nicht. Für mich ist die gesamte Dokumentation selbsterklärend. Wenn es irgendwo Schwierigkeiten gibt, verschwinden sie nach einigem Experimentieren.
Aber wenn ich mit bitweisen Operationen nicht vertraut bin, kann ich jeden Artikel lesen, den Sie wollen... Ich werde kein Wort davon verstehen. Genauso wie ich nichts über Flaggen und Flaggensätze verstehen konnte, bis Artem sie mir mit einer Stimme erklärte.
Es ist verständlich, wenn man Werte von ihr verlangt, aber wie das Ganze vorher und nachher funktioniert - dunkelste Dunkelheit
es ist verständlich, wenn man Wert darauf legt, aber wie das alles vorher und nachher funktioniert, ist düster, der dunkelste Nebel
Wer ist sie?
Wer ist sie?
das Wesentliche der Arbeit
gibt es:
1) extern funktioniert nur in mql4.
2) Kommentare nach der Eingabe werden in den Eingabeparametern anstelle des Namens der Eingabevariablen angezeigt
Eingabe int ma_period = 20;
- wird "ma_period" angezeigt.
Eingabe int ma_period = 20; // MA-Periode
- es wird "MA-Periode" geschrieben.
um genau so zu sein wie in mql4, wird der strikte Kompilierungsmodus benötigt #property strict.
Dieser Trick ist bei extern nicht vorhanden.
3) Externe Variablen können im Code wie alle globalen Variablen geändert werden, Inputs nicht.
Ursprünglich gab es nur mql4 und extern, kein Input war vorhanden, auch nicht OOP in mql4.
Dann wurde mql5 erstellt, und Input wurde sofort einbezogen, weil mql5 im Allgemeinen genau auf OOP ausgerichtet war.
Vor etwa 2-3 Jahren wurde mql4 um viele Funktionen von mql5 erweitert, einschließlich der Eingabe.
Über welches Terminal schreiben Sie?
Wenn Sie in MT5 eine externe Variable als extern im Indikator deklarieren, kann der Indikator möglicherweise nicht über iCustom() aufgerufen werden.
Über welches Terminal schreiben Sie?
Wenn Sie in MT5 eine externe Variable als extern in einem Indikator deklarieren, kann der Indikator möglicherweise nicht über iCustom() aufgerufen werden.
Ich will Ihnen jetzt keine Vorwürfe machen, aber Sie schreiben "es könnte scheitern"... es kann sein, dass es funktioniert oder auch nicht! Ich meine, es ist schwer für mich als Autodidakt ohne spezielle Ausbildung, solche Unsicherheiten zu verstehen...
gibt es:
1) extern funktioniert nur in mql4.
2) Kommentare nach der Eingabe werden in den Eingabeparametern anstelle des Namens der Eingabevariablen angezeigt
Eingabe int ma_period = 20;
- wird "ma_period" angezeigt.
Eingabe int ma_period = 20; // MA-Periode
- es wird "MA-Periode" geschrieben.
um genau so zu sein wie in mql4, wird der strikte Kompilierungsmodus benötigt #property strict.
Dieser Trick ist bei extern nicht vorhanden.
3) Externe Variablen können im Code wie alle globalen Variablen geändert werden, Inputs nicht.
Ursprünglich gab es nur mql4 und extern, kein Input war vorhanden, auch nicht OOP in mql4.
Dann wurde mql5 erstellt, und Input wurde sofort einbezogen, weil mql5 im Allgemeinen genau auf OOP ausgerichtet war.
Vor etwa 2-3 Jahren wurde mql4 um viele Funktionen von mql5 erweitert, einschließlich der Eingabe.
extern funktioniert in beiden Fällen. Das gilt auch für die Eingabe in MQL5 und MQL4. Ihr Zweck ist ein anderer, und er ist in der Hilfe beschrieben.
Warum wird man sofort auf ein Missverständnis über den Zweck von Eingabe- und externen Variablen hingewiesen?
Die Bedeutung von extern ist, dass wenn die Hauptdatei (main) eine Variable hat und eine andere Datei an diese Datei angehängt ist. Und in dieser angehängten Datei müssen wir die in der Hauptdatei deklarierte Variable verwenden, in der angehängten Datei deklarieren wir sie dann als extern. Dies hat zur Folge, dass die verknüpfte Datei zwar kompiliert werden kann, die Variablendeklaration in der verknüpften Datei aber beim Kompilieren der Hauptdatei ignoriert wird.
Ich dachte auch, dass dieser Modifikator wie in C++ funktioniert, d.h. er wird in der Include-Datei deklarierthttps://www.mql5.com/ru/forum/160683/page867#comment_11927748
Überprüft, dass es in C++ nicht so funktioniert, wie es sollte
tstextern Bibliotheksdatei
Skript-Datei:
jede Manipulation der Variablekoef bewirktnichts, da sie sich immer noch im lokalen Bereich (innerhalb jeder Datei) befindet
Ihr Zweck ist ein anderer, und er ist in der Hilfe beschrieben.
Der Unterschied liegt in der Zugangskontrolle:
Eingabe - sie kann nur gelesen werden, das Schreiben ist verboten.
extern - es kann gelesen und geschrieben werden, und nach der Neuinitialisierung des MQL-Programms wird dieser Wert auf den in den externen Einstellungen angegebenen Wert zurückgesetzt
Ich will jetzt nicht negativ sein, aber Sie schreiben "es könnte nicht funktionieren"... es könnte nicht funktionieren, aber es könnte funktionieren! Ich meine, es ist schwer für mich als Autodidakt ohne spezielle Ausbildung, solche Unsicherheiten zu verstehen...
Ich meine, ich habe jetzt nicht nachgesehen. Und es ist gefährlich zu sagen, was einmal da war, weil sich die Dinge so oft ändern. Vielleicht war es eine vorübergehende Störung.
dachte auch, dass dieser Modifikator wie in C++ funktioniert, d.h. er wird in der Plugin-Datei deklarierthttps://www.mql5.com/ru/forum/160683/page867#comment_11927748
es funktioniert nicht so, wie es in C++ funktionieren sollte
tstextern Bibliotheksdatei
Skript-Datei:
jede Manipulation der Variablekoef bewirkt nichts, da sie sich immer noch im lokalen Bereich (innerhalb jeder Datei) befindet
Nun, Sie haben eine Bibliothek. Natürlich wird es unterschiedliche Variablen geben. Ich meine die Anbindung von mqh über include.