Ein Fehler in der Funktion OrderSend() ? - Seite 6

 
tara:

Was ist dann Static? Es ist mehr wie Fatalic...
Warum funktioniert die Statik nicht? Es funktioniert überall. Fatal, naphthalisch, auf keinen Fall! Ich suche immer nach Fehlern in mir und werde beleidigt!
 
borilunad:
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.
 
Übrigens, alle statischen Daten in MQL4 haben die gleiche Krankheit. Zur Erinnerung: alle Arrays sind statisch:)
 
tara:
Da es keine Variableninitialisierung beim Programmneustart vorsieht, MUSS es.
Richtig, wie in jeder Funktion, auch in einer lokalen, wird statisch zuerst ein Wert präsentiert, der dann verglichen wird. Obwohl ich es zuerst ohne jede Idee verwendet habe, um es in Aktion zu sehen, und dann kam das Verständnis. Es ist unmöglich, alles auf einmal zu verstehen, und nicht alles lässt sich so einfach auf einmal regeln. :) Ich fasse Arrays nicht an, sie sind mir zu viel Arbeit!
 
granit77:
Gibt es andere Programmierer, die dies bestätigen können? Eine Stimme würde nicht ausreichen.
Victor, ich bin leider kein Programmierer. Ich bin ein Amateur...
 
tara:

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.

 
hoz:


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?

 
hoz:

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.

 
Ich gehe jetzt ins Bett:)
Grund der Beschwerde: