Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 20
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
...
Nein, ich meinte:
{
}
for( int i = 0; i < x; i++ )
{
}
...
Ja, und der Entwurf, den Sie geschrieben haben, wird überhaupt nicht funktionieren.
Jede Variable hat ihren eigenen Geltungsbereich. Auch innerhalb geschweifter Klammern gibt es einen eigenen Bereich für die in diesem Bereich deklarierte Variable - innerhalb der geschweiften Klammern. Warum sollte ich also z.B. an verschiedenen Stellen eines Programms Schleifenindexvariablen mit unterschiedlichen Namen anlegen, wenn ich weiß, dass sie sich nicht überschneiden und es ausreichend und üblich ist, einen solchen Variablennamen wie "i" zu verwenden?
Ich habe nicht mit Ihnen gestritten.
...
Nein, ich meinte:
{
}
for( int i = 0; i < x; i++ )
{
}
...
Was ist der Grund dafür? Bitte teilen Sie uns Ihre Erfahrungen mit - was könnte das Problem in diesem Fall sein, d.h. wenn Ihr Code so aussehen würde?
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
Ich habe nicht mit Ihnen gestritten.
Dies ist mein Thema. Und wenn schlechte, suboptimale Ratschläge erteilt werden, bin ich berechtigt, die Person zu korrigieren. Im Hinblick auf die vorliegende Situation geben Sie einen schlechten Rat.
Ihr Thema, dann lesen Sie es sorgfältig durch und bringen Sie den Beitrag mit dem Nickname in Verbindung, auf den Sie antworten.
Kurz gesagt, Sie sind am falschen Ort.
aber was soll das bringen? Bitte teilen Sie Ihre Erfahrungen mit - was könnte in diesem Fall das Problem sein, d. h. wenn Ihr Code so aussehen würde?
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
Wenn Sie einen Zähler außerhalb einer Schleife initialisieren, geht sein Geltungsbereich über die Schleife hinaus, was normalerweise nicht erforderlich ist. Damit schaffen Sie einen fruchtbaren Boden für mögliche Fehler, z. B. wenn Sie im weiteren Verlauf des Codes eine Variable j haben, die Sie versehentlich i nennen. Oder anstelle des Index [1] schreiben Sie [i], usw.
Daher müssen die Variablen so nah wie möglich an dem Ort initialisiert werden, an dem sie zum ersten Mal verwendet werden, und eine große Anzahl globaler Variablen muss vermieden werden. Dadurch wird die Liste der möglichen Fehler reduziert.
Wenn Sie einen Zähler außerhalb einer Schleife initialisieren, geht sein Geltungsbereich über die Schleife hinaus, was normalerweise nicht notwendig ist. Auf diese Weise schaffen Sie einen fruchtbaren Boden für mögliche Fehler, z. B. wenn Sie weiter unten im Code eine Variable j haben und sie versehentlich i nennen. Oder anstelle des Index [1] schreiben Sie [i], usw.
Daher müssen die Variablen so nah wie möglich an dem Ort initialisiert werden, an dem sie zum ersten Mal verwendet werden, und es sollte versucht werden, eine große Anzahl von globalen Variablen zu vermeiden. Dadurch wird die Liste der möglichen Fehler reduziert.
Was hat das mit (....) zu tun?
Ich bin empört.
Wenn es heißt i=0 und i++?
Nun, i in einer anderen Schleife ändern?
Es wird nicht funktionieren
Was hat das damit zu tun?
Ich bin raus.
Sie können überall und in allem sein, das ist Ihr Recht. Sie haben mich um eine Erklärung gebeten - das habe ich getan.
Dabei ist nur zu beachten, dass nach dem Schleifenblock i bereits gleich x ist, sofern in der Schleife i<x
Array[i] nach for(...){} gibt einen Array-Überlauffehler zurück und das war's