Das Problem bei der Schleifenbildung liegt nicht in der Art und Weise, wie die Variable geändert wird (es sei denn, sie wird auf Null geändert), sondern in der Überprüfung des Wertes dieser Variable, der niemals kleiner als Null sein wird.
Ich verstehe nicht, was Sie meinen. Um das "Problem" zu vermeiden, können Sie z. B. einfach eine zusätzliche Bedingung zum Verlassen der Schleife hinzufügen
uchar LastBarInd = 2;
for (uchar i = LastBarInd; i >= 0; i--)
{
................. // тело
if (i == 0) break;
}
oder die Schleife nicht auf for, sondern auf while basieren lassen...
Was er meint, ist, dass der Compiler einfache statische Vergleiche zur Kompilierzeit abfangen kann, aber gegen die Kontrolle zur Laufzeit machtlos ist.
Ich verstehe nicht, was Sie damit sagen wollen. Um das "Problem" zu vermeiden, können Sie zum Beispiel einfach eine zusätzliche Bedingung zum Verlassen der Schleife hinzufügen
oder die Schleife nicht auf for, sondern auf while basieren lassen...
Ja, aber Sie können die "i>=0"-Prüfung in der for-Bedingung durch "true" ersetzen und der Compiler wird Sie darauf hinweisen (als Warnung in einem der nächsten Builds).
Ich habe versehentlich die Expertendatei aus dem Navigatorfenster gelöscht. Wie sich herausstellte, wurde die gleichnamige .mq5-Datei ebenfalls gelöscht
Können Sie mitteilen, ob diese Dateien wiederhergestellt (gefunden) werden können?
Das Problem bei der Schleifenbildung liegt nicht in der Art und Weise, wie die Variable geändert wird (es sei denn, sie wird auf Null geändert), sondern in der Überprüfung des Wertes dieser Variable, der niemals kleiner als Null sein wird.
Ich verstehe nicht, was Sie meinen. Um das "Problem" zu vermeiden, können Sie z. B. einfach eine zusätzliche Bedingung zum Verlassen der Schleife hinzufügen
oder die Schleife nicht auf for, sondern auf while basieren lassen...
Ich verstehe nicht, was Sie damit sagen wollen.
Ich verstehe nicht, was Sie damit sagen wollen. Um das "Problem" zu vermeiden, können Sie zum Beispiel einfach eine zusätzliche Bedingung zum Verlassen der Schleife hinzufügen
oder die Schleife nicht auf for, sondern auf while basieren lassen...
Die Zahlen sind nicht gerundet. Vielleicht mache ich etwas falsch, bitte um Rat.
Hier ist der Code:
Das ist das Ergebnis:
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[19]=9.2200000000000012011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[18]=6.29
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[17]=3.94
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[16]=7.54
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[15]=7.86
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[14]=13.71
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[13]=7.13
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[12]=8.3800000000001
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[11]=3.71
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[10]=5.52
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[9]=9.619999999999999
Die Zahlen sind nicht gerundet. Vielleicht mache ich etwas falsch, bitte um Rat.
Hier ist der Code:
Hier ist das Ergebnis:
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[19]=9.2200000000000012011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[18]=6.29
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[17]=3.94
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[16]=7.54
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[15]=7.86
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[14]=13.71
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[13]=7.13
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[12]=8.3800000000001
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[11]=3.71
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[10]=5.52
2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[9]=9.619999999999999
1) Lesen Sie: https://www.mql5.com/ru/docs/basis/types/double und https://www.mql5.com/ru/articles/1561
2) Wenn Sie beim Drucken gezielt runden wollen: DoubleToString
1) Lesen Sie: https://www.mql5.com/ru/docs/basis/types/double und https://www.mql5.com/ru/articles/1561
2) Wenn Sie beim Drucken gezielt runden wollen: DoubleToString
Danke, das hat geholfen.
Hier ist eine weitere Verwirrung mit der Rundung von Gewinn- und Preispunkten durch das GBPUSD-Symbol. Das scheint aber nicht so zu sein.
Was ist die automatische Aktualisierung, die über das LiveUpdate-System verfügbar ist?
wie man es betreibt
Terminal kann nicht aktualisieren
Win 7 - 32 Terminal wird mit dem Befehl "D:\MetaTrader 5\terminal.exe" /portable gestartet
S.I. Muss ich es jedes Mal neu installieren?
Ich habe versehentlich die Expertendatei aus dem Navigatorfenster gelöscht. Wie sich herausstellte, wurde die gleichnamige .mq5-Datei ebenfalls gelöscht
Können Sie mitteilen, ob diese Dateien wiederhergestellt (gefunden) werden können?
Ich kann kein ähnliches Thema finden.
Ich habe versehentlich die Expertendatei aus dem Navigatorfenster gelöscht. Wie sich herausstellte, wurde auch die gleichnamige .mq5-Datei gelöscht
Können Sie mitteilen, ob diese Dateien wiederhergestellt (gefunden) werden können?
Ich kann kein ähnliches Thema finden.
sie befinden sich im Windows-Papierkorb (wenn dieser nicht ausgeschaltet ist)