![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Was war die Aktion davor?
Hilft das Update?
Ich habe das Terminal nach einigen Tagen der Nichtbenutzung wieder geöffnet. Ich habe dieses Bild. Dann wurde das Skript verwendet, um den Verlauf hochzuladen. Keine Änderung. Ich habe ein paar Stunden gewartet. Jetzt ist alles in Ordnung.
Können Sie erklären, warum nach den Ergebnissen des Laufs x = 0 und y = 1 ist? Gebäude 342
PS. Sollte lesen ... x==1 und y==0 ...
Können Sie erklären, warum nach den Ergebnissen des Laufs x = 0 und y = 1 ist? Gebäude 342
Siehe hier https://www.mql5.com/ru/docs/basis/operations/mathoperation
Der Compiler zeigt keine Fehler oder Warnungen an?
Können Sie erklären, warum nach den Ergebnissen des Laufs x = 0 und y = 1 ist? Gebäude 342
Wir haben geprüft, das Ergebnis ist x=1, y=0
das erste Inkrement x=x++ zerlegt sich in
t=x; // x=0
x++; // x=1
x=t; // x=0
Können Sie erklären, warum nach den Ergebnissen des Laufs x = 0 und y = 1 ist? Gebäude 342
Ja, das können wir. Es geht nur um die Umsetzung von x = x++;
Vor dem Post-Inkrement wird der x-Wert in einer temporären Variablen gespeichert. Dann wird ein Inkrement durchgeführt. Dann wird eine Zuweisung von der temporären Variablen vorgenommen.
Siehe hier https://www.mql5.com/ru/docs/basis/operations/mathoperation
Der Compiler zeigt keine Fehler oder Warnungen an?
Der MT5-Compiler schluckt sie stillschweigend! Es lässt sich nicht in MT4 kompilieren.
Aus Neugierde habe ich ein ähnliches Konstrukt in C++ (aus Visual Studio 2005) ausprobiert, und das Ergebnis für x und y ist dasselbe.
Können Sie erklären, warum nach den Ergebnissen des Laufs x = 0 und y = 1 ist? Gebäude 342
Sie müssen Variablen initialisieren, bevor Sie mit ihnen Matte-Operationen durchführen. Wenn Sie sie einfach einer nicht initialisierten Variablen zuweisen, ist alles in Ordnung.
Es ist jedoch immer eine gute Idee, Variablen zu initialisieren, um Probleme zu vermeiden.
Der MT5-Compiler schluckt still und leise! In MT4 schlägt die Kompilierung fehl.
Aus Neugierde habe ich eine ähnliche Konstruktion in C++ (aus Visual Studio 2005) ausprobiert - das Ergebnis für x und y ist das gleiche.
Diese Stelle ist im C++-Standard nicht definiert und es wird ausdrücklich darauf hingewiesen, dass sie von der Implementierung abhängt. Es gibt 2 Hauptimplementierungen:
1. Führen Sie unmittelbar nach der Verwendung einer Variablen in einem Ausdruck ein Post-Inkrement durch. (wie wir es getan haben).
2. Postinkrement, nachdem der gesamte Ausdruck berechnet wurde.
Ich meine, wo kann ich herausfinden, welche Makler MT5 in Echtzeit betreiben?