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
Häufig verwendete und nützliche Funktionen:
Die Funktion GetPositionPrice() wurde neu gestaltet:
Diese Funktion zeigt das falsche Ergebnis an, oder besser gesagt, das falsche Ergebnis. Ich habe nachgeforscht und herausgefunden, dass sich die Positions-ID beim U-Turn (d. h. während eines In/Out-Trade) nicht ändert, wie in der Dokumentation beschrieben:
https://www.mql5.com/ru/docs/constants/tradingconstants/positionproperties
Eine Positionsstornierung ändert ihre ID in das Orderticket, das zur Stornierung geführt hat.
Ihr GetPositionPrice kann bei einer Umkehrung 2 oder mehr entgegengesetzt gerichtete Positionen anhäufen und errechnet einen Durchschnittspreis für sie. Ein solcher Durchschnittspreis für eine Position ist in der Praxis nicht von Nutzen.
Ändert sich die Positions-ID nun bei einer Umkehrung oder nicht?
Woran erkennt man bei einem In/Out-Handel, welches Volumen eine vorherige Position geschlossen und welches eine neue eröffnet hat?
Sie kann mit der aktuellen offenen Position verglichen werden. Aber es ist besser, die Geschichte der Position anhand ihrer id zu untersuchen, die sich nicht ändert, wenn die Position umgekehrt wird... Kauf-/Verkaufsvolumen als Hilfe.
Seit kurzem ändert sich die Positionsangabe, wenn Sie sich umdrehen. Die Dokumentation dazu wurde bereits aktualisiert....
POSITIONSNUMMER
Die Positions-ID ist eine eindeutige Nummer, die jeder neu eröffneten Position zugewiesen wird und sich während ihrer Lebensdauer nicht ändert. Sie entspricht dem Ticket des Auftrags, mit dem die Position eröffnet wurde.
Die Positionskennung wird in jedem Auftrag (ORDER_POSITION_ID) und jedem Geschäft (DEAL_POSITION_ID) angegeben, mit dem er eröffnet, geändert oder geschlossen wurde. Verwenden Sie diese Eigenschaft, um nach Aufträgen und Geschäften zu suchen, die sich auf die Position beziehen.
Wird eine Position storniert, ändert sich ihre Kennung in das Orderticket, das zu der Stornierung geführt hat.
lang
Sie können sie mit der aktuellen Öffnung vergleichen. Aber es ist besser, die Geschichte der Position anhand der ID zu untersuchen, die sich während einer Umkehrung nicht ändert... Kauf-/Verkaufsvolumen als Hilfe.
Das ist überhaupt keine Option. Die vorherige Position könnte auch aufgrund einer Umkehrung usw. offen sein. Das könnte eine Option sein, ist aber eindeutig nicht optimal.
Seit kurzem ändert sich die Positionsangabe, wenn Sie sich umdrehen. Die Dokumentation dazu wurde bereits aktualisiert....
POSITIONSNUMMER
Die Positions-ID ist eine eindeutige Nummer, die jeder neu eröffneten Position zugewiesen wird und sich während ihrer Lebensdauer nicht ändert. Sie entspricht dem Ticket des Auftrags, mit dem die Position eröffnet wurde.
Die Positionskennung wird in jedem Auftrag (ORDER_POSITION_ID) und jedem Geschäft (DEAL_POSITION_ID) angegeben, mit dem er eröffnet, geändert oder geschlossen wurde. Verwenden Sie diese Eigenschaft, um nach Aufträgen und Geschäften zu suchen, die mit der Position verbunden sind.
Wird eine Position storniert, ändert sich ihre Kennung in das Orderticket, das zu der Stornierung geführt hat.
lang
So steht es zwar geschrieben, aber in Wirklichkeit ändert sich nichts.
Wenn Sie mögen, mein Code:
Dabei ist deal2_ticket das Ticket für die In/Out-Transaktion, deal1_ticket ist das Ticket vor der In/Out-Transaktion, deal3_ticket ist das Ticket nach der In/Out-Transaktion. In allen drei Fällen erhalte ich die gleiche Positions-ID.
Das steht da, aber in Wirklichkeit ändert sich nichts.
Wenn Sie mögen, mein Code:
Dabei ist deal2_ticket das Ticket für die In/Out-Transaktion, deal1_ticket ist das Ticket vor der In/Out-Transaktion, deal3_ticket ist das Ticket nach der In/Out-Transaktion. In allen drei Fällen erhalte ich die gleiche Positions-ID.
Und wie kann man bei einem In/Out-Handel feststellen, welches Volumen die vorherige Position geschlossen und welches die neue eröffnet hat?
Dieser Expert Advisor wird im Modus "Debugging on History" auf einem Netting-Konto ausgeführt. Das Beispiel ist etwas grob, da davon ausgegangen wird, dass es nur ein Geschäft vom Typ "IN/OUT" in der Geschäftshistorie gibt.
Zunächst werden nach allen getätigten Geschäften und vollständiger Schließung einer Position die Beschreibungen aller Geschäfte angezeigt(DEAL_POSITION_ID, DEAL_VOLUME, DEAL_ENTRY,DEAL_TYPE), dabei wird die DEAL_POSITION_ID für ein Geschäft vom Typ IN/OUT gespeichert.
Dann wird die Historie erneut durchlaufen und alle Einträge für Geschäfte mit DEAL_POSITION_ID summiert.
Wir erhalten etwa folgendes Ergebnis:
Das ändert sich für mich. Versuchen Sie es mit dem neuesten Build 1340.