Ordereigenschaften

Befehlsanweisungen, Handelsoperationen durchzuführen, werden als Order formalisiert. Jede Order hat eine Menge der Eigenschaften für Lesen, die Information über die kann durch die Funktionen OrderGet...() und HistoryOrderGet...() erhalten werden.

für die Funktionen OrderGetInteger() und HistoryOrderGetInteger()

ENUM_ORDER_PROPERTY_INTEGER

Identifikator

Beschreibung

Typ

ORDER_TICKET

Das Ticket der Order. Das ist eine einmalige Nummer, die jeder Order zugewiesen wird.

long

ORDER_TIME_SETUP

Set-up Zeit des Orders

datetime

ORDER_TYPE

Ordertyp

ENUM_ORDER_TYPE

ORDER_STATE

Orderstatus

ENUM_ORDER_STATE

ORDER_TIME_EXPIRATION

Ablauffrist einer Order

datetime

ORDER_TIME_DONE

Durchführungszeit oder Annullieren einer Order

datetime

ORDER_TIME_SETUP_MSC

Zeitpunkt der Erstellung von Order in Millisekunden seit 01.01.1970

long

ORDER_TIME_DONE_MSC

Zeit der Ausführung/Abschiebung des Orders in Millisekunden seit 01.01.1970

long

ORDER_TYPE_FILLING

Durchführungstyp nach dem Rest

ENUM_ORDER_TYPE_FILLING

ORDER_TYPE_TIME

Lebenszeit des Orders

ENUM_ORDER_TYPE_TIME

ORDER_MAGIC

Identifikator des Experten, der Order gestellt hat (bestimmt dafür, dass jeder Expert seine eigene unikale Nummer stellt)

long

ORDER_REASON

Grund oder Quelle der Platzierung einer Order

ENUM_ORDER_REASON

ORDER_POSITION_ID

Identifikator der Position, den Order nach seine Durchführung erhält. Jede durchgeführte Order erzeugt einen Deal, das eine neue Position eroeffnet oder eine schon existierende Position verändert. Durchgeführte Order erhält eben diesen Identifikator dieser Position.

long

ORDER_POSITION_BY_ID

Der Identifikator der Gegenposition für die Orders vom Typ ORDER_TYPE_CLOSE_BY.

long

für die Funktionen OrderGetDouble() und HistoryOrderGetDouble()

ENUM_ORDER_PROPERTY_DOUBLE

Identifikator

Beschreibung

Typ

ORDER_VOLUME_INITIAL

Initialvolumen bei der Orderstellung

double

ORDER_VOLUME_CURRENT

eine nicht durchgeführte Order

double

ORDER_PRICE_OPEN

Preis angegeben in Order

double

ORDER_SL

Level Stop Loss

double

ORDER_TP

Level Take Profit

double

ORDER_PRICE_CURRENT

Laufender Preis des Ordersymbols

double

ORDER_PRICE_STOPLIMIT

Preis der Aufstellung der  Limit Order bei Auslösung von StopLimit Order

double

für die Funktionen OrderGetString() und HistoryOrderGetString()

ENUM_ORDER_PROPERTY_STRING

Identifikator

Beschreibung

Typ

ORDER_SYMBOL

Symbol der Order

string

ORDER_COMMENT

Orderkommentar

string

ORDER_EXTERNAL_ID

ID der Order im Außenhandelssystem (an der Börse)

string

 

Beim Senden einer Handelsanforderung durch die Funktion OrderSend() muss für einige Operationen Ordertyp angegeben werden. Ordertyp wird im Feld type der speziellen Struktur MqlTradeRequest angegeben, und kann verschiedene Werte aus der Enumeration ENUM_ORDER_TYPE annehmen.

ENUM_ORDER_TYPE

Identifikator

Beschreibung

ORDER_TYPE_BUY

Marktkauforder

ORDER_TYPE_SELL

Martverkauforder

ORDER_TYPE_BUY_LIMIT

Schwebende Order Buy Limit

ORDER_TYPE_SELL_LIMIT

Schwebende Order Sell Limit

ORDER_TYPE_BUY_STOP

Schwebende Order Buy Stop

ORDER_TYPE_SELL_STOP

Schwebende Order Sell Stop

ORDER_TYPE_BUY_STOP_LIMIT

Beim Erreichen des Orderpreises wird eine Warteorder Buy Limit zum Preis  StopLimit gestellt

ORDER_TYPE_SELL_STOP_LIMIT

Beim Erreichen des Orderpreises wird eine Warteorder Sell Limit zum Preis StopLimit gestellt

ORDER_TYPE_CLOSE_BY

Order zum Schließen zur Gegenposition

 

Jede Order hat einen Status, der seinen Stand beschreibt. Für die Erhaltung der Information verwenden Sie die Funktion OrderGetInteger() oder HistoryOrderGetInteger() mit dem Modifikator ORDER_STATE. Zulaessige Werte werden in der Enumeration  ENUM_ORDER_STATE aufbewahren.

ENUM_ORDER_STATE

Identifikator

Beschreibung

ORDER_STATE_STARTED

Order geprüft, aber vom Broker noch nicht angenommen

ORDER_STATE_PLACED

Order angenommen

ORDER_STATE_CANCELED

Order ist vom Kunden abgelehnt

ORDER_STATE_PARTIAL

Order ist teilweise durchgeführt

ORDER_STATE_FILLED

Order ist vollständig durchgeführt

ORDER_STATE_REJECTED

Order abgelehnt

ORDER_STATE_EXPIRED

Order ist nach Ablauffrist abgelehnt

ORDER_STATE_REQUEST_ADD

Order ist im Registrierungsstatus (Aussetzung in Handelssystem)

ORDER_STATE_REQUEST_MODIFY

Order ist im Änderungsstatus (Verändern von Parametern)

ORDER_STATE_REQUEST_CANCEL

Order ist im Löschungsstatus (Löschung aus dem Handelssystem)

 

Beim Senden einer Handelsanfrage für die Ausführung zur aktuellen Zeit (Time-In-Force) sollten der Preis und das gewünschte Kauf-/Verkaufsvolumen angegeben werden. Bedenken Sie aber, dass die Finanzmärkte keine Garantie dafür bieten, dass das gesamte angeforderte Volumen für ein bestimmtes Finanzinstrument zum gewünschten Preis verfügbar ist. Deshalb werden die Handelsoperationen in Echtzeit durch die Modi der Preis- und Volumenausführung geregelt. Die Modi, oder Ausführungsrichtlinien, definieren die Regeln für den Fall, dass der Preis sich geändert hat oder das angeforderte Volumen momentan nicht vollständig umgesetzt werden kann.

Der Preisausführungsmodus kann über die Symboleigenschaft SYMBOL_TRADE_EXEMODE erhalten werden, die die Kombination der Flags der Enumeration ENUM_SYMBOL_TRADE_EXECUTION enthält.

Ausführungsmodus

Beschreibung

Der Wert von ENUM_SYMBOL_TRADE_EXECUTION

Ausführungsmodus

 

(Anfrage zur Ausführung)

Ausführung einer Markt-Order zu dem zuvor vom Broker erhaltenen Preis.

 

Die Preise für eine bestimmte Markt-Order werden beim Broker angefordert, bevor die Order gesendet wird. Nach Erhalt der Preise kann die Auftragsausführung zu dem angegebenen Preis entweder bestätigt oder abgelehnt werden.

SYMBOL_TRADE_EXECUTION_REQUEST

Sofortige Ausführung

 

(Sofortige Ausführung)

Sofortige Ausführung einer Markt-Order zu dem angegebenen Preis.

 

Wenn eine Handelsanfrage zur Ausführung gesendet wird, fügt die Plattform automatisch die aktuellen Preise dem Auftrag hinzu.

  • Wenn der Broker den Preis akzeptiert, wird der Auftrag ausgeführt.
  • Wenn der Broker den angefragten Preis nicht akzeptiert, wird ein "Requote" gesendet — der Broker gibt Preise zurück, zu denen dieser Auftrag ausgeführt werden kann.

SYMBOL_TRADE_EXECUTION_INSTANT

Marktausführung

 

(Marktausführung)

Der Broker trifft eine Entscheidung über den Ausführungspreis des Auftrags ohne zusätzliche Diskussion mit dem Händler.

 

Das Absenden des Auftrags mit einem solchen Modus schließt die vorherige Zustimmung zu ihrer Ausführung zu diesem Preis ein.

SYMBOL_TRADE_EXECUTION_MARKET

Börsliche Ausführung

 

(Börsliche Ausführung)

Handelsgeschäfte werden zu den aktuellen Preisen des Marktes ausgeführt.

SYMBOL_TRADE_EXECUTION_EXCHANGE

Die Richtlinie der Volumenfüllung wird in der Auftragseigenschaft ORDER_TYPE_FILLING angegeben und darf nur die Werte aus der Enumeration ENUM_ORDER_TYPE_FILLING enthalten

Füllrichtlinie

Beschreibung

Die Wert von ENUM_ORDER_TYPE_FILLING

Alles oder Nichts (Fill or Kill, FOK)

Ein Auftrag wird nur mit dem angegebenen Volumen ausgeführt.

 

Wenn die angeforderte Volumen eines Finanzinstruments derzeit nicht auf dem Markt verfügbar ist, wird der Auftrag nicht ausgeführt.

 

Das gewünschte Volumen kann sich aus mehreren verfügbaren Angeboten zusammensetzen.

 

Die Möglichkeit der Verwendung von FOK wird durch den Handelsserver festgelegt.

ORDER_FILLING_FOK

Jetzt oder Nie (Immediate or Cancel, IOC)

Ein Händler akzeptiert, den Auftrag mit dem maximal am Markt verfügbaren Volumen innerhalb des in dem Auftrag angegebenen Volumens auszuführen.

 

Wenn die Anfrage nicht vollständig umgesetzt werden kann, wird ein Auftrag mit dem verfügbaren Volumen ausgeführt und das verbleibende Volumen wird annulliert.

 

Die Möglichkeit der Verwendung von IOC-Orders wird auf dem Handelsserver festgelegt.

 

ORDER_FILLING_IOC

Passiv (Buchen oder Stornieren, BoC)

Ein BoC-Auftrag setzt voraus, dass die Order nur in der Tiefe des Marktes platziert werden kann und nicht sofort ausgeführt werden kann. Wenn der Auftrag bei der Platzierung sofort ausgeführt werden könnte, dann würde er storniert werden.

 

Tatsächlich garantiert die BOC-Politik, dass der Preis des erteilten Auftrags schlechter sein wird als der aktuelle Markt. BoC-Aufträge werden zur Umsetzung des passiven Handels verwendet, damit der Auftrag nicht sofort bei der Platzierung ausgeführt und die aktuelle Liquidität nicht verändert wird.

 

Es werden nur Limit- und Stop-Limit-Orders unterstützt (ORDER_TYPE_BUY_LIMIT, ORDER_TYPE_SELL_LIMIT, ORDER_TYPE_BUY_STOP_LIMIT, ORDER_TYPE_SELL_STOP_LIMIT).

ORDER_FILLING_BOC

Rückkehren

Im Falle einer teilweisen Füllung wird ein Auftrag mit Restvolumen nicht storniert, sondern weiter bearbeitet.

 

Diese Form der Rückkehr nach einem gesendeten Auftrag sind im Modus der Marktausführung (Marktausführung - SYMBOL_TRADE_EXECUTION_MARKET) nicht zulässig.

ORDER_FILLING_RETURN

Beim Senden einer Handelsanfrage mit der Funktion OrderSend() kann im Feld type_filling die notwendige Volumenausführungspolitik eingestellt werden, und zwar in der speziellen Struktur MqlTradeRequest.Es stehen die Werte aus der Enumeration ENUM_ORDER_TYPE_FILLING zur Verfügung. Um den Eigenschaftswert in eines bestimmten aktiven/abgeschlossenen Auftrags zu erhalten, verwenden Sie die Funktion OrderGetInteger() oder HistoryOrderGetInteger() mit dem Modifikator ORDER_TYPE_FILLING.

Vor dem Senden eines Auftrags mit der aktuellen Ausführungszeit, für die korrekte Einstellung des Wertes von ORDER_TYPE_FILLING (Volumenausführungsart), können Sie die Funktion SymbolInfoInteger() mit jedem Finanzinstrument verwenden, um den Eigenschaftswert von SYMBOL_FILLING_MODE zu erhalten, der die Volumenausführungsarten, die für das Symbol erlaubt sind, als eine Kombination von Flags anzeigt. Der Fülltyp ORDER_FILLING_RETURN ist immer aktiviert, außer im Modus "Marktausführung" (SYMBOL_TRADE_EXECUTION_MARKET).

Die Verwendung der Fülltypen in Abhängigkeit vom Ausführungsmodus ist in der folgenden Tabelle dargestellt:

Ausführungsart

Alles oder Nichts (FOK, ORDER_FILLING_FOK)

Jetzt oder Nie (IOC, IOC ORDER_FILLING_IOC)

Rückkehren (Return, ORDER_FILLING_RETURN)

Sofortige Ausführung

 

(SYMBOL_TRADE_EXECUTION_INSTANT)

+ (unabhängig von der Einstellung eines Symbols)

+ (unabhängig von der Einstellung eines Symbols)

+ (immer)

Ausführungsanfrage

 

SYMBOL_TRADE_EXECUTION_REQUEST

+ (unabhängig von der Einstellung eines Symbols)

 

+ (unabhängig von der Einstellung eines Symbols)

+ (immer)

Marktausführung

 

SYMBOL_TRADE_EXECUTION_MARKET

+ (definiert den Symboleinstellungen)

+ (definiert den Symboleinstellungen)

- (deaktiviert, unabhängig von den Symboleinstellungen)

Börsliche Ausführung

 

SYMBOL_TRADE_EXECUTION_EXCHANGE

+ (definiert den Symboleinstellungen)

+ (definiert den Symboleinstellungen)

+ (immer)

Bei Pending-Orders (schwebenden Aufträgen) sollte unabhängig von der Ausführungsart (SYMBOL_TRADE_EXEMODE) die Ausführungsart ORDER_FILLING_RETURN verwendet werden, da solche Aufträge zum Zeitpunkt des Absendens nicht zur Ausführung vorgesehen sind. Bei der Verwendung von Pending-Orders (schwebenden Aufträgen) akzeptiert ein Händler im Voraus, dass der Broker, wenn die Bedingungen für ein Geschäft mit diesem Auftrag erfüllt sind, die von der Börse unterstützte Ausführungsart verwendet.

 

Gültigkeitsfrist einer Order kann im Feld type_time der speziellen Struktur MqlTradeRequest angegeben werden beim Senden der Handelsanforderung durch die Funktion OrderSend(). Zulässig sind Werte aus der Enumeration  ENUM_ORDER_TYPE_TIME. Für die Erhaltung des Wertes dieser Eigenschaft verwenden Sie die Funktion OrderGetInteger() oder HistoryOrderGetInteger() mit dem Modifikator ORDER_TYPE_TIME.

ENUM_ORDER_TYPE_TIME

Identifikator

Beschreibung

ORDER_TIME_GTC

Pending-Order bleibt gültig, bis sie manuell gelöscht wird (Good Till Cancel)

ORDER_TIME_DAY

Order wird nur innerhalb des Handelstages gültig

ORDER_TIME_SPECIFIED

Order wird bis zum Ablauffrist gültig

ORDER_TIME_SPECIFIED_DAY

Order wird bis 23:59:59 Uhr am angegebenen Datum gültig. Wird diese Zeit nicht auf dem Handelszeit fallen, wird der Ablauf in naher den Handelszeit auftreten.

 

Die Eigenschaft ORDER_REASON beinhaltet den Grund der Platzierung einer Order. Eine Order kann mithilfe eines MQL5-Programms, in einer mobilen Anwendung oder infolge eines StopOut Ereignisses usw. platziert werden. Die möglichen Werte von ORDER_REASON sind in der Aufzählung ENUM_ORDER_REASON beschrieben.

ENUM_ORDER_REASON

Identifier

Beschreibung

ORDER_REASON_CLIENT

Die Order wurde in einem Desktop-Terminal platziert

ORDER_REASON_MOBILE

Die Order wurde in einer mobilen Anwendung platziert

ORDER_REASON_WEB

Die Order wurde auf der Webplattform platziert

ORDER_REASON_EXPERT

Die Order wurde durch ein MQL5-Programm platziert - einen Expert Advisor oder Script

ORDER_REASON_SL

Die Order wurde infolge der Auslösung von Stop Loss platziert

ORDER_REASON_TP

Die Order wurde infolge der Auslösung von Take Profit platziert

ORDER_REASON_SO

Die Order wurde infolge des Ereginisses Stop Out platziert