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
Was ist dann Static? Es ist mehr wie Fatalic...
Warum funktioniert die Statik nicht? Es funktioniert überall, wo ich hingehe. Fatalik, naphthalik, das kann nicht sein! Ich bin immer auf der Suche nach Fehlern in mir und werde beleidigt!
Da es keine Variableninitialisierung beim Programmneustart vorsieht, MUSS es.
Gibt es andere Programmierer, die dies bestätigen können? Eine Stimme würde nicht ausreichen.
Sie können einfach einige Parameter ändern. Die Reaktion erfolgt erst nach dem ersten Tick eines neuen Balkens auf der eingestellten TF.
Aber Sie selbst haben sich gefragt, warum der EA auf höheren TF unerklärlich ist:)
Ich frage mich, ob es einen Zusammenhang zwischen dem ersten Tick eines neuen Balkens und dem Tester gibt... Ich kann es nicht sehen. Ein Prüfer ist ein Prüfer. Und ein Diagramm... ist ein Diagramm... (Ich meine nicht einen Tester, sondern die gleiche Demo oder real).
Außerdem steht im Lehrbuch... "Wenn es keine explizite Initialisierung gibt, wird eine statische Variable mit Null initialisiert".
Es besteht also keine Notwendigkeit, wie Sie sagten, Alexey, in INIT der Variablen lastBarTime den Wert 0 zuzuweisen. Beim Start des Programms wird er auf Null gesetzt.
Ich frage mich, ob es einen Zusammenhang zwischen dem ersten Tick eines neuen Balkens in der Arbeits-TF und dem Tester gibt... ...nun, ich merke es nicht... Ein Prüfer ist ein Prüfer. Und ein Diagramm... ist ein Diagramm... (Ich meine nicht den Tester, sondern die gleiche Demo oder real).
Darüber hinaus heißt es im Lehrbuch. "Wenn es keine explizite Initialisierung gibt, wird eine statische Variable mit Null initialisiert".
Es besteht also keine Notwendigkeit, wie Sie sagten, Alexey, der Variablen lastBarTime in INIT den Wert 0 zuzuweisen. Beim Start des Programms wird er auf Null gesetzt.
Nein, das wird es nicht. Es ist ein Fehler :)
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?
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?
Nun, falls es Sie interessiert - alle derzeit verwendeten Arten der Speicherverwaltung wurden zuerst in PL/1 implementiert. Es gibt vier davon: automatisch, dynamisch, statisch und basiert. C kam später und übernahm diese Standards vollständig.