![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Da er nicht vorsieht, dass die Variable beim Neustart des Programms initialisiert wird, MUSS er.
Noch einmal, für die, die im Tank sind:
Beispielhafte Arbeiten. Die Initialisierung funktioniert.Allerdings ist mir dieser Punkt(aus dem Lehrbuch) nicht ganz klar:
"Statische Variablen werden einmalig vor dem Aufruf der spezialisierten init()-Funktion initialisiert, d.h. der Wert dieser Variablen geht beim Verlassen der Funktion, innerhalb derer eine statische Variable deklariert wird, nicht verloren.
Was hat das mit "vor dem Aufruf der speziellen init()-Funktion " und "nach" zu tun, d.h. wenn Sie eine Benutzerfunktion (dem Inhalt nach zu urteilen) verlassen, in der eine statische Variable deklariert ist? "
Eine Funktion, in der eine statische Variable deklariert wird, kann am Ende eines Programms stehen... d.h. am Ende des Codes oder an einer anderen Stelle. Die Funktioninit() wird einmal kurz vor dem Start des Programms ausgeführt. Sie erweist sich als inkonsequent. Wie kann eine Variable vor der Funktioninit() initialisiert werden?
Es spielt keine Rolle, wo sich die Funktion im Programm befindet, die statischen Variablen befinden sich außerhalb der Funktionen.
Wie meinen Sie das?
Nein, das wird es nicht. Es ist ein Fehler :)
Wie meinen Sie das?
Statische Variablen werden in einem permanenten Bereich des Programmspeichers gespeichert, ihre Werte gehen nicht verloren, wenn die Funktion verlassen wird.
Noch einmal, für die, die im Tank sind:
Das Beispiel funktioniert. Die Initialisierung funktioniert.Klinik...
Ja, die Initialisierung funktioniert. Genau einmal. Und beim Neustart ist das nicht der Fall. Ich wünschte, es wäre so. Ist das klarer?
Klinik...
Ja, die Initialisierung funktioniert. Genau einmal. Und beim Neustart ist das nicht der Fall. Ich wünschte, es wäre so. Ist das klarer?
Sie funktioniert nur einmal, wenn Sie den Expert Advisor neu starten.
Was meinen Sie mit Neustart, Eingabe der Expert Advisor-Eigenschaften und Beenden durch Drücken von OK?
Verdammt noch mal, verwenden Sie in EAs keine Statik.
Ja, und außerdem:
1. Wenn das Konto geändert wird;
2. Beim Wechsel eines Instruments;
3. Beim Wechsel der TF.