Fehler, Irrtümer, Fragen - Seite 266

 
mql5:

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...

 
AlexSTAL:

Ich verstehe nicht, was Sie damit sagen wollen.

Was er meint, ist, dass der Compiler einfache statische Vergleiche zur Kompilierzeit abfangen kann, aber gegen die Kontrolle zur Laufzeit machtlos ist.
 
AlexSTAL:

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).
 
Im Testchart-Fenster werden TP, SL und schwebende Aufträge nicht angezeigt, wie es bei MT4 der Fall war. Können wir dies in MT5 hinzufügen?
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 

Die Zahlen sind nicht gerundet. Vielleicht mache ich etwas falsch, bitte um Rat.

Hier ist der Code:

   for(int e=1; e<=NSignalBuy; e++)
     {
   Print("OkruglyaemDo2[",e,"]=",NormalizeDouble(OkruglyaemDo2[e],2));
     }

Das ist das Ergebnis:

2011.01.18 16:25:55 Kern 1 2010.10.30 23:59:50 OkruglyaemDo2[19]=9.220000000000001
2011.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
 
Jager:

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.220000000000001
2011.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

Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
 
AlexSTAL:

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.

 
Yedelkin:

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)