Fehler, Irrtümer, Fragen - Seite 1887
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
Meines Erachtens haben Sie den Code, den ich Ihnen gezeigt habe, nicht überprüft. Sagen wir es mal so: Erst prüfen Sie es, dann stellen Sie die Frage erneut.
Ich brauche das nicht zu überprüfen, ich kann sehen, dass es das liefert, was es soll.
Ich sprach von der ersten Verwendung der Funktion
Ich brauche es nicht zu überprüfen, ich kann sehen, dass es das liefert, was ich brauche
Ich sprach von der ersten Variante der Verwendung der Funktion
Also gut. Beginnen wir am Heck.
1. positionGetInteger:
Die Funktion gibt die gewünschte Eigenschaft einer offenen Position zurück, die zuvor mit der Funktion...
Das heißt, vor der Verwendung von PositionGetInteger muss die Position zunächst ausgewählt werden.
2. Wir wählen die Position mit dem PositionGetTicket aus:
Rückgabewert.
Die Stelle Ticket. Im Falle einer erfolglosen Ausführung wird 0 zurückgegeben.
Und wo haben Sie eine Überprüfung (nach der Schleife), dass es von PositionGetTicket zurückgegeben wurde? Es gibt keine Prüfung, und dort wird übrigens "Null" zurückgegeben, d. h. PositionGetTicket wurde mit einem Fehler ausgelöst, was der Auswahl einer Position gleichkommt, die nicht existiert. Dann versuchen Sie, ohne das Ergebnis von PositionGetTicket zu überprüfen, die Eigenschaft der nicht vorhandenen Position zu erhalten. Und dort, in den Eigenschaften der nicht existierenden Position, entweder Müll oder nur Daten von Nullstrukturen.
Zusammenfassend lässt sich sagen, dass man nicht weiterkommt, wenn man nicht prüft, ob das PositionGetTicket "Null" zurückgibt.
Also gut. Beginnen wir am Heck.
1. positionGetInteger:
Die Funktion gibt die gewünschte Eigenschaft einer offenen Position zurück, die zuvor mit der Funktion...
Das heißt, die Position muss zuerst ausgewählt werden, bevor PositionGetInteger verwendet werden kann.
2. Wir wählen die Position mit dem PositionGetTicket aus:
Rückgabewert.
Die Stelle Ticket. Im Falle einer erfolglosen Ausführung wird 0 zurückgegeben.
Und wo haben Sie eine Überprüfung (nach der Schleife), dass es von PositionGetTicket zurückgegeben wurde? Es gibt keine Prüfung, und dort wird übrigens "Null" zurückgegeben, d. h. PositionGetTicket wurde mit einem Fehler ausgelöst, was der Auswahl einer Position gleichkommt, die nicht existiert. Dann versuchen Sie, ohne das Ergebnis von PositionGetTicket zu überprüfen, die Eigenschaft der nicht vorhandenen Position zu erhalten. Und dort, in den Eigenschaften der nicht existierenden Position, entweder Müll oder nur Daten von Nullstrukturen.
Zusammenfassend lässt sich sagen, dass Sie nicht weiter kommen, wenn Sie nicht überprüfen, ob das PositionGetTicket "Null" zurückgibt.
Okay, machen wir es so. Fangen wir am Heck an.
1. positionGetInteger:
Die Funktion gibt die gewünschte Eigenschaft einer offenen Position zurück, die zuvor mit der Funktion...
Das heißt, die Position muss zuerst ausgewählt werden, bevor PositionGetInteger verwendet werden kann.
2. Wir wählen die Position mit dem PositionGetTicket aus:
Rückgabewert.
Die Stelle Ticket. Im Falle einer erfolglosen Ausführung wird 0 zurückgegeben.
Und wo haben Sie eine Überprüfung (nach der Schleife), dass es von PositionGetTicket zurückgegeben wurde? Es gibt keine Prüfung, und dort wird übrigens "Null" zurückgegeben, d. h. PositionGetTicket wurde mit einem Fehler ausgelöst, was der Auswahl einer Position gleichkommt, die nicht existiert. Dann versuchen Sie, ohne das Ergebnis von PositionGetTicket zu überprüfen, die Eigenschaft der nicht vorhandenen Position zu erhalten. Und dort, in den Eigenschaften der nicht existierenden Position, entweder Müll oder nur Daten von Nullstrukturen.
Zusammenfassend lässt sich sagen, dass man ohne die Überprüfung des PositionGetTicket auf die Rückgabe von "Null" nicht weiter kommt.
Sie brauchen sich nicht zu rechtfertigen)
Das ist nicht die Frage.
richtig gelesen: Ist es in Ordnung, wenn eine Funktion in verschiedenen Situationen denselben Wert zurückgibt?
Ist es in Ordnung, dass die Funktion das tut?Zusammenfassend lässt sich sagen, dass Sie nicht weitermachen können, ohne zu prüfen, ob PositionGetTicket den Wert "Null" liefert.
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
Wanzen, Wanzen, Fragen
fxsaber, 2017.05.12 11:19
ist es logisch, eine Prüfung durchzuführen (PositionGetInteger(POSITION_TICKET) > 0).diese Funktion in verschiedenen Situationen den gleichen Wert ergibt?
Ist es richtig, dass die Funktion dies tut?Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
Wanzen, Wanzen, Fragen
fxsaber, 2017.05.12 11:29
Ja, aber jeder andere Wert wäre ebenfalls irreführend.1. Sie müssen sich nicht rechtfertigen.)
Das ist nicht der Punkt
2. richtig gelesen: ist es in Ordnung, wenn eine Funktion in verschiedenen Situationen denselben Wert zurückgibt?
Ist es in Ordnung, wenn eine Funktion dies tut?1. Sie sind eine unhöfliche Person, die auch einen Fehler in Ihrem Code gemacht hat, dies aber nicht zugeben will.
2. Die Funktion arbeitet absolut korrekt. Denn sie (PositionGetInteger(POSITION_TYPE)) kann nur 2 Werte zurückgeben - entweder POSITION_TYPE_BUY oderPOSITION_TYPE_SELL. Aber ohne eine Position auszuwählen (und Sie wählen sie nicht aus - Sie prüfen nicht, was genau ausgewählt wurde) , etwas von (PositionGetInteger(POSITION_TYPE)) zu verlangen, ist leichtsinnig.
Fazit: Wenn Ihr Code mit einem logischen Fehler geschrieben ist, haben Sie einfach kein Recht, etwas von Systemfunktionen zu verlangen.
Fazit: Wenn Ihr Code mit einem logischen Fehler geschrieben ist, haben Sie einfach kein Recht, etwas von den Systemfunktionen zu verlangen.
1. Sie sind eine unhöfliche Person, die einen Fehler im Code gemacht hat, dies aber nicht zugeben will.
2. Die Funktion arbeitet absolut korrekt. Denn sie (PositionGetInteger(POSITION_TYPE)) kann nur ZWEI Werte zurückgeben - entweder POSITION_TYPE_BUY oderPOSITION_TYPE_SELL. Aber ohne eine Position auszuwählen (und Sie wählen sie nicht aus - Sie prüfen nicht, was genau ausgewählt wurde) , etwas von (PositionGetInteger(POSITION_TYPE)) zu verlangen, ist leichtsinnig.
Fazit: Wenn Ihr Code mit einem logischen Fehler geschrieben ist, haben Sie einfach kein Recht, etwas von Systemfunktionen zu verlangen.
Es ist nicht meine Schuld, dass jemand das Problem nicht erkennt.
Die Tatsache, dass es sich um einen absichtlichen Fehler im Code handelt, wird anerkannt.
Und ich weiß, wie man es repariert.
Aber die Frage ist eine andere.
Warum gibt die Funktion PositionGetInteger(POSITION_TYPE) einen Kaufwert (gleich 0) statt eines Fehlerwertes (gleich 0) zurück, wenn die Eingabeparameter nicht korrekt sind?