- Information über historische Daten des Instrumentes
- Ordereigenschaften
- Eigenschaften der Positionen
- Eigenschaften der Deals
- Typen der Handelsoperationen
- Types of Trade Transactions
- Handelsordern in DOM
- Eingenschaften von Signalen
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()
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 |
|
ORDER_STATE |
Orderstatus |
|
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 |
|
ORDER_TYPE_TIME |
Lebenszeit des Orders |
|
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 |
|
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()
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()
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.
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.
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.
|
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.
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.
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 |