Fehler, Irrtümer, Fragen - Seite 2729
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
Dies ist keine Funktion von mql5, sondern nur ein Versuch, Ordnung zu schaffen.
Ordnung gewöhnt ist, wenn der Compiler gibt eine Warnung (oder Fehler). Umwandlung von ganzen Zahlen in Brüche gibt 0 - das ist Unsinn, nicht Ordnung. 90% der alten Codes wird so brechen.
und man beachte, dass die Arbeitsvariante immer noch mit int arbeitet! d.h. das Problem ist nicht die Typkonvertierung beim Ersetzungsschritt, sondern beim Berechnungsschritt
ADDED: Umstellung auf MQ-demo, Aktualisierung des Arbeitsterminals. Es hat dieses Problem nicht.
Bestellung ist, wenn der Compiler gibt eine Warnung (oder Fehler). Umwandlung von ganzen Zahlen in Brüche gibt 0 - das ist Unsinn, nicht Ordnung. dies ist, wie 90% der alten Codes brechen.
und man beachte, dass die Arbeitsvariante immer noch mit int arbeitet! d.h. das Problem ist nicht die Typkonvertierung beim Ersetzungsschritt, sondern beim Berechnungsschritt
ADDED: Umstellung auf MQ-demo, Aktualisierung des Arbeitsterminals. Es hat dieses Problem nicht.
Ist die fehlende Hervorhebung der möglichen Optionen in diesem Fall nicht verdächtig?
Ist die fehlende Hervorhebung der möglichen Optionen in diesem Fall nicht verdächtig?
:)
:)
Ja... Seltsam, vor einiger Zeit waren die Variablen des falschen Typs noch nicht hervorgehoben. Vielleicht haben sie es absichtlich korrigiert oder werden auf diesen Dialog aufmerksam und korrigieren es wieder. Wie auch immer, wenn die Funktion den Variablentyp double erfordert, sollte double verwendet werden.
Ja... Seltsam, vor einiger Zeit wurden Variablen eines unangemessenen Typs nicht hervorgehoben. Vielleicht haben sie es absichtlich korrigiert oder werden auf diesen Dialog aufmerksam und korrigieren es wieder. Wenn die Funktion jedoch den Variablentyp double verlangt, sollte double verwendet werden.
Alexej, ich habe bemerkt, dass du Links zur Dokumentation magst, ich habe einen für dich :)
https://www.mql5.com/ru/docs/basis/types/casting
int zu double ist eine gültige implizite Umwandlung ohne Datenverlust. legitim.
Frage zur Funktionsweise des Strategieprüfers.
Ich führe den Test durch. Der Expert Advisor eröffnet eine Position mit SL und TP. Dann rollt er und die Position wird geschlossen, ohne dass sie wieder geöffnet wird.
Was ist das? Ein Fehler? Ich habe das Testgerät schon seit einiger Zeit nicht mehr benutzt, und es hatte keine derartigen Probleme. Nachfolgend finden Sie das Protokoll des Testers. Wir sehen, dass die Position nach dem Rollover eröffnet und geschlossen wurde, und dann steht irgendwie geschrieben, dass sie über BUY eröffnet wurde. Ich fügte in den Tester den Befehl
PositionSelect(_Symbol), um zu prüfen, ob es nach dem Rollover offene Positionen gibt, ist das Ergebnis immer das gleiche - keine offenen Positionen.
2020.04.28 18:14:14.609 2014.01.09 05:00:00 Sofortkauf 1,00 AUDUSD bei 0,88800 sl: 0,88450 tp: 0,89200 (0,88750 / 0,88800 / 0,88750)
2020.04.28 18:14:14.609 2014.01.09 05:00:00 deal #8 buy 1.00 AUDUSD at 0.88800 done (based on order #8)
2020.04.28 18:14:14.610 2014.01.09 05:00:00 Geschäft abgeschlossen [#8 buy 1.00 AUDUSD at 0.88800
2020.04.28 18:14:14.610 2014.01.09 05:00:00 Auftrag ausgeführt Kauf 1,00 zu 0,88800 [#8 Kauf 1,00 AUDUSD zu 0,88800
2020.04.28 18:14:24.169 2014.01.09 23:59:59 deal #9 sell 1.00 AUDUSD at 0.88980 done (based on order #9)
2020.04.28 18:14:24.169 2014.01.09 23:59:59 rollover deal done [#9 sell 1.00 AUDUSD at 0.88980
2020.04.28 18:14:24.170 2014.01.09 23:59:59 deal #10 buy 0.00 AUDUSD at 0.8899950 done (based on order #10)
2020.04.28 18:14:24.170 2014.01.09 23:59:59 rollover deal done [#10 buy 0.00 AUDUSD at 0.8899950]
Alexej, ich habe bemerkt, dass du Links zur Dokumentation magst, ich habe einen für dich :)
https://www.mql5.com/ru/docs/basis/types/casting
int zu double ist eine gültige implizite Umwandlung ohne Datenverlust. legitim.
Ich verlinke auf die Dokumentation, damit ich die Dokumentation nicht im Beitrag neu schreiben muss und damit sich die Leute daran gewöhnen, die Dokumentation zu lesen. Ich kann mir vorstellen, dass es hier im Forum Leute gab, die nicht wussten, dass es diese Dokumentation überhaupt gibt. Was mich persönlich betrifft, so habe ich ein solches Bild in der Dokumentation gesehen, aber ich habe nicht versucht, es gründlich zu verstehen. Die Gewohnheit, Variablen des Typs zu verwenden, den die Funktion erfordert, reicht mir aus. Als letztes Mittel werde ich die Umwandlung in den richtigen Typ erzwingen.