Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 496

 
Alexey Kozitsyn:

Es wird so funktionieren, wie ich oben geschrieben habe.

Der Compiler warnt den Benutzer, nicht zu faul zu sein und Klammern zu setzen, um mögliche nicht offensichtliche Fehler zu vermeiden.

Deshalb überfrachte ich meinen Speicherchip nicht mit diesen Prioritäten - ich setze sie in Klammern und bin sicher, dass sie so funktionieren, wie ich es beabsichtigt habe.
 
Alexey Viktorov:
Deshalb überfrachte ich meinen Speicherchip nicht mit diesen Prioritäten, ich setze Klammern und bin sicher, dass es so funktioniert, wie ich es will.
Ich stimme mit Ihnen völlig überein, ich tue dasselbe. Aber da Sie die Frage gestellt haben...
 
pako:
Also versuchen Sie es.

Das brauche ich also nicht - warum brauche ich 365 Tage?


Alexey Viktorov:

Grundsätzlich ja, die Warnung ist kein Fehler. Aber wie funktioniert die erste Variante if( Low[X]>PriceBuy && High[X]>PriceBuy || Low[X]<PriceBuy && High[X]<PriceBuy )? Oder können Sie nicht ein paar Klammern anbringen?

Es wird nicht kaputt gehen, ich dachte nur nicht, dass es notwendig ist - oder vielleicht ändert es die Prioritätenlogik des Compilers und es ist notwendig, damit der Code weiterhin korrekt funktioniert?


Artyom Trishkin:

Wozu ist der Compiler hier gut, denn der Wert kann immer noch negativ sein?

In der Tat, der Compiler schreit auf das "i" gut von vielen Menschen geliebt ;)

 
-Aleks-:

Das brauche ich also nicht - warum brauche ich 365 Tage?


Die Hände werden nicht kaputt sein, ich hielt es nur nicht für notwendig - oder vielleicht ändert sich die Prioritätslogik des Compilers und es ist notwendig, damit der Code weiterhin korrekt funktioniert?


Wozu ist der Compiler hier gut, denn der Wert kann immer noch negativ sein?

In der Tat schreit der Compiler das von vielen Menschen so geliebte "i" an ;)

WennLow[X] immer unterHigh[X]liegt, muss man nur schreiben

if (Low[X]>PriceBuy || High[X]<PriceBuy), das würde schneller funktionieren!

 
Boris:

WennLow[X] immer kleiner alsHigh[X]ist, genügt es, zu schreiben

if (Low[X]>PriceBuy || High[X]<PriceBuy), das würde schneller funktionieren!

Ich stimme zu - es kann kürzer sein, ich denke nur nicht an die Optimierung, wenn ich es schreibe - ich verschiebe es auf später... Danke.
 
-Aleks-:

Das brauche ich also nicht - warum brauche ich 365 Tage?


Die Hände werden nicht kaputt sein, ich hielt es nur nicht für notwendig - oder vielleicht ändert sich die Prioritätslogik des Compilers und es ist notwendig, damit der Code weiterhin korrekt funktioniert?


Wozu ist der Compiler hier gut, denn der Wert kann immer noch negativ sein?

In der Tat schreit der Compiler beim "i", was viele Leute bevorzugen ;)

Ist er kleiner als Null, gibt es keine Schleife. Tun Sie alles gedankenlos?
 
-Aleks-:

Das brauche ich also nicht - warum brauche ich 365 Tage?

In der Tat schreit der Compiler auf dem Lieblings-'i' vieler Leute genau so viel ;)

Schreiben Sie es richtig, dann gibt es kein Geschrei.
 
Artyom Trishkin:
Ist der Wert kleiner als Null, gibt es keine Schleife. Tun Sie alles gedankenlos?

Wie unterscheidet sich meine Option in einem solchen Fall von Ihrer?

Ich könnte nicht alles rücksichtslos tun, aber manchmal wünschte ich, ich könnte es...


pako:
Schreiben Sie es richtig, dann gibt es kein Geschrei.

Was ist das Richtige zu tun? Ich lerne gerade die Grundlagen - deshalb stelle ich hier Fragen, warum sollte ich sagen "mach es richtig", wenn ich nicht weiß, wie es richtig sein sollte? ;)

Wie vermeide ich also Fehlerwarnungen, wenn Schleifen normalerweise die Variable "i" initialisieren?

 
-Aleks-:

Wie unterscheidet sich meine Option in einem solchen Fall von Ihrer?

Ich könnte nicht alles rücksichtslos tun, aber manchmal wünschte ich, ich könnte es...


Was ist das Richtige zu tun? Ich lerne gerade die Grundlagen - deshalb stelle ich hier Fragen, warum sollte ich sagen "mach es richtig", wenn ich nicht weiß, wie es richtig sein sollte? ;)

Wie lässt sich also eine Fehlerwarnung vermeiden, wenn Schleifen normalerweise die Variable "i" initialisieren?

Lesen Sie die Hilfe zur Sichtbarkeit von Variablen.
 
-Aleks-:

Was ist das Richtige zu tun? Ich lerne gerade die Grundlagen - deshalb stelle ich hier Fragen. Warum sollte ich sagen "mach es richtig", wenn ich nicht weiß, wie es gemacht werden sollte? ;)

Wie kann man also Fehlermeldungen vermeiden, wenn Schleifen normalerweise die Variable "i" initialisieren?

hier ist es in weißhttps://docs.mql4.com/ru/basis/operators/for geschrieben

Оператор цикла for - Документация на MQL4
  • docs.mql4.com
Оператор цикла for - Документация на MQL4
Grund der Beschwerde: