- Datenstruktur
- Struktur der Eingabeparameter des Anzeigers
- Struktur der historischen Daten
- DOM Struktur
- Struktur der Handelsanforderung
- Struktur der Ergebnisse der Prüfung der Handelsanforderung
- Struktur des Ergebnisses der Handelsanfoderung
- Struktur der Handelstransaktion
- Struktur fuer Erfassung der laufenden Preise
- Struktur des Wirtschaftskalenders
Struktur der Handelsanforderung (MqlTradeRequest)
Interaktion von Client-Terminal und Handelsserverfür Durchführung für Operation der Orderstellung wird mittels Handelanforderungen durchgeführt. Anforderung ist durch die spezielle vorbestimmte Struktur MqlTradeRequest dargestellt, die alle erforderlichen Felder für Abschluss der Handelsorder enthält. Ergebnis der Verarbeitung von Anforderung ist durch die Struktur MqlTradeResult repraesentiert.
struct MqlTradeRequest
|
Beschreibung der Felder
Feld |
Beschreibung |
---|---|
action |
Typ der Handelsoperation. Wert kann einer der Enumerationswerte ENUM_TRADE_REQUEST_ACTIONS sein |
magic |
Identifikator des Experten. Ermoeglicht, analytische Verabeitung der Handelsordern zu gestalten. Jeder Experte kann seinen unikalen Identifikator beim Senden der Handelanforderung stellen |
order |
Ticket der Order. Für Modifikation der Warteordern erforderlich. |
symbol |
Symbolname der Order. Nicht erforderlich bei Modifikation der Ordern und Schliessen der Positionen. |
volume |
Angefordertes Dealvolumen in Lots. Realwert des Volumens wird vom Durchführungstyp der Order abhängen |
price |
Preis, bei dem Order ausgeführt werden muss, für Marktordern mit dem Durchführungstyp "Market Execution" (SYMBOL_TRADE_EXECUTION_MARKET), die den Typ TRADE_ACTION_DEAL haben, ist es nicht erforderlich, Preis anzugeben |
stoplimit |
Preis, bei dem Warteorder Limit gestellt wird, wenn der Preis den Wert price reicht( diese Bedingung ist obligatorisch). Bis dahin wird Warteorder ins Handelssystem nicht ausgegeben |
sl |
Stop Loss des Preises bei unguenstiger Bewegung des Preises |
tp |
Take Profit des Preises bei guenstiger Bewegung des Preises |
deviation |
Maximal moefliche Abweichung vom angeforderten Preis vorgegeben in Punkten |
type |
Ordertyp. Wert kann einer der Enumerationswerte ENUM_ORDER_TYPE sein |
type_filling |
Durchführungstyp der Order. Kann einer der Enumerationswerte ENUM_ORDER_TYPE_FILLING sein |
type_time |
Ablauftyp der Order. Kann einer der Enumerationswerte ENUM_ORDER_TYPE_TIME sein |
expiration |
Ablauffrist der Warteordern (für Ordern des Typs ORDER_TIME_SPECIFIED) |
comment |
Kommentar zur Order |
Beim Modifizieren oder Schließen einer Position im Hedging-Modus müssen Sie ihr Ticket (MqlTradeRequest::position) angeben. Im Netting-Modus können Sie das Ticket auch angeben, aber die Identifikation erfolgt anhand des Symbolnamens. |
für Senden der Order Handelsoperationen durchzuführen, muss die Funktion OrderSend() verwendet werden. Für jede Handelsoperation muessen obligatorische Felde angegeben werden und können optionale Felder ausgefuellt werden. Insgesamt werden 7 Varianten des Sendens der Handelsanforderung vorausgesehen:
Request Execution
Handelsorder, Positionen im Request Execution Mode zu oeffnen (Handelsmode bei der Anforderung der laufenden Preise). Man muss 9 Felder spezifizieren:
- action
- symbol
- volume
- price
- sl
- tp
- deviation
- type
- type_filling
Man kann auch Feldwerte magic und comment vorgeben.
Instant Execution
Handelsorder, Positionen im Instant Execution Mode zu oeffnen (Handel mit Flowpreisen). Man muss 9 Felder spezifizieren:
- action
- symbol
- volume
- price
- sl
- tp
- deviation
- type
- type_filling
Man kann auch Feldwerte magic und comment vorgeben.
Market Execution
Handelsorder, Positionen im Market Execution Mode zu oeffnen (Durchführung der Handelsorder im Mark). Man muss 5 Felder spezifizieren:
- action
- symbol
- volume
- type
- type_filling
Man kann auch Feldwerte magic und comment vorgeben.
Exchange Execution
Handelsorder, Positionen im Exchange Execution Modus zu öffnen (Börse-Modus der Ausführung von Handelsordern). Man muss 5 Felder angeben:
- action
- symbol
- volume
- type
- type_filling
Man kann auch Feldwerte magic und comment vorgeben.
Ein Beispiel der Transaktion TRADE_ACTION_DEAL für das Eröffnen einer Buy-Position:
#define EXPERT_MAGIC 123456 // MagicNumber des EAs |
Ein Beispiel der Transaktion TRADE_ACTION_DEAL für das Eröffnen einer Sell-Position:
#define EXPERT_MAGIC 123456 // MagicNumber des EAs |
Ein Beispiel der Transaktion TRADE_ACTION_DEAL für das Schließen von Positionen:
#define EXPERT_MAGIC 123456 // MagicNumber des EAs |
SL & TP Modification
Handelsorder, Levels StopLoss und/oder TakeProfit zu modifizieren. Man muss 4 Felder angeben:
- action
- symbol
- sl
- tp
Ein Beispiel für die Transaktion TRADE_ACTION_SLTP für die Änderung von Stop Loss und Take Profit bei einer offenen Position:
#define EXPERT_MAGIC 123456 // MagicNumber des EAs |
Pending Order
Handelsorder, eine Handelsorder einzustellen. Man muss 11 Felder angeben:
- action
- symbol
- volume
- price
- stoplimit
- sl
- tp
- type
- type_filling
- type_time
- expiration
Man kann auch Feldwerte magic und comment vorgeben.
Ein Beispiel der Transaktion TRADE_ACTION_PENDING für das Setzen einer Pending Order:
#property description "Ein Beispiel für das Platzieren von Pending Orders" |
Modify Pending Order
Handelsorder, Preislevels der Warteorder zu modifizieren. Man muss 7 Felder spezifizieren:
- action
- order
- price
- sl
- tp
- type_time
- expiration
Ein Beispiel der Transaktion TRADE_ACTION_MODIFY für das Modifizieren von Preis-Levels von Pending Orders:
#define EXPERT_MAGIC 123456 // MagicNumber des EAs |
Delete Pending Order
Handelsorder, eine Warteorder zu entfernen. Man muss 2 Felder spezifizieren:
- action
- order
Ein Beispiel der Transaktion TRADE_ACTION_REMOVE für das Löschen von Pending Orders:
#define EXPERT_MAGIC 123456 // MagicNumber des Expert Advisors
|
Sehen Sie auch
Strukturen und Klassen, Handelsfunktionen, Ordereigenschaften