Rückgabecodes des Handelsservers

Alle Befehlsanweisungen, Handelsoperationen durchzuführen, werden als Struktur der Handelsanforderung MqlTradeRequest mittels der Funktion OrderSend() gesendet. Das Ergebnis der Erfüllung dieser Funktion wird in die Struktur MqlTradeResult eingetragen, deren Feld retcode Rückkehrkode des Handelsservers enthält.

Kode

Identifikator

Beschreibung

10004

TRADE_RETCODE_REQUOTE

Requote

10006

TRADE_RETCODE_REJECT

Anforderung ist abgelehnt

10007

TRADE_RETCODE_CANCEL

Anforderung ist vom Trader aufgehoben

10008

TRADE_RETCODE_PLACED

Order ist platziert

10009

TRADE_RETCODE_DONE

Anforderung ist erfüllt

10010

TRADE_RETCODE_DONE_PARTIAL

Anforderung ist partiell erfüllt

10011

TRADE_RETCODE_ERROR

Fehler der Anforderung Verarbeitung

10012

TRADE_RETCODE_TIMEOUT

Anforderung abgelehnt nach Zeitablaufs

10013

TRADE_RETCODE_INVALID

Ungültige Anforderung

10014

TRADE_RETCODE_INVALID_VOLUME

Ungültiges Volumen in der Anforderung

10015

TRADE_RETCODE_INVALID_PRICE

Ungültiger Preis in der Anforderung

10016

TRADE_RETCODE_INVALID_STOPS

Ungültige Stops in der Anforderung

10017

TRADE_RETCODE_TRADE_DISABLED

Handel ist verboten

10018

TRADE_RETCODE_MARKET_CLOSED

Markt ist geschlossen

10019

TRADE_RETCODE_NO_MONEY

Nicht genug Geld, um Anforderung zu erfüllen

10020

TRADE_RETCODE_PRICE_CHANGED

Preise haben sich verändert

10021

TRADE_RETCODE_PRICE_OFF

Es gibt keine Quotationen für die Verarbeitung der Anforderung

10022

TRADE_RETCODE_INVALID_EXPIRATION

Ungültiges Datum des Orderablaufs in der Anforderung

10023

TRADE_RETCODE_ORDER_CHANGED

Order Status hat sich verändert

10024

TRADE_RETCODE_TOO_MANY_REQUESTS

Sehr offene Anforderungen

10025

TRADE_RETCODE_NO_CHANGES

Keine Veränderungen in der Anforderung

10026

TRADE_RETCODE_SERVER_DISABLES_AT

Autotrading ist vom Server untersagt

10027

TRADE_RETCODE_CLIENT_DISABLES_AT

Autotrading ist vom Client-Terminal untersagt

10028

TRADE_RETCODE_LOCKED

Anforderung ist für Verarbeitung blockiert

10029

TRADE_RETCODE_FROZEN

Order oder Position sind eingefroren

10030

TRADE_RETCODE_INVALID_FILL

Nicht unterstützter Durchführungstyp der Order nach dem Rest

10031

TRADE_RETCODE_CONNECTION

keine Verbindung mit dem Handelsserver

10032

TRADE_RETCODE_ONLY_REAL

Operation ist nur für reelle Kontos erlaubt

10033

TRADE_RETCODE_LIMIT_ORDERS

Limit für Anzahl der Warteordern ist erreicht

10034

TRADE_RETCODE_LIMIT_VOLUME

Limit für Volumen der Ordern und Positionen für dieses Symbol ist erreicht

10035

TRADE_RETCODE_INVALID_ORDER

Ungültiger oder verbotener Ordertyp

10036

TRADE_RETCODE_POSITION_CLOSED

Die Position mit dem angegebenen POSITION_IDENTIFIER wurde bereits geschlossen

10038

TRADE_RETCODE_INVALID_CLOSE_VOLUME

Das zu schließende Volumen übersteigt das aktuelle Volumen der Position

10039

TRADE_RETCODE_CLOSE_ORDER_EXIST

Für die angegebene Position ist bereits eine Verkaufsorder vorhanden. Kann im Hedging Modus auftreten:

  • beim Versuch, eine Position zur Gegenposition zu schließen, wenn es bereits Orders zum Schließen dieser Position gibt
  • beim Versuch, eine Position ganz oder teilweise zu schließen, wenn das Gesamtvolumen der vorhandenen Verkaufsorders und der zu platzierenden Order das aktuelle Volumen der Position übersteigt

10040

TRADE_RETCODE_LIMIT_POSITIONS

Die Anzahl offener Positionen, die man zur gleichen Zeit auf einem Konto haben kann, kann durch die Einstellungen des Servers beschränkt werden. Wenn ein Limit erreicht ist, gibt der Server beim Versuch, eine Order zu platzieren, den Fehler TRADE_RETCODE_LIMIT_POSITIONS zurück. Die Beschränkung funktioniert je nach dem Modus der Verrechnung von Positionen auf dem Konto:

  • Netting-Modus — die Anzahl offener Positionen wird berücksichtigt. Wenn ein Limit erreicht ist, lässt die Plattform keine weiteren Orders platzieren, deren Ausführung die Erhöhung der Anzahl offener Positionen verursachen kann. In Wirklichkeit lässt die Plattform Orders nur für die Symbole platzieren, für welche es offene Positionen bereits gibt. Im Netting-Modus werden aktuelle Pending Orders nicht berücksichtigt, denn die Ausführung einer Pending Order kann zur Änderung aktueller Positionen und nicht zur Erhöhung ihrer Anzahl führen.
  • Hedging-Modus — Pending Orders werden zusammen mit offenen Positionen berücksichtigt, denn die Auslösung einer Pending Order führt immer zur Eröffnung einer neuen Position. Wenn ein Limit erreicht ist, lässt die Plattform keine Marktorders für Eröffnung von Positionen sowie keine Pending Orders platzieren.

10041

TRADE_RETCODE_REJECT_CANCEL

Die Anfrage auf die Aktivierung der Pending Order wurde abgelehnt, die Order wurde abgebrochen

10042

TRADE_RETCODE_LONG_ONLY

Die Anfrage wurde abgelehnt, weil für das Symbol die Regel "Nur Long-Positionen erlaubt" (POSITION_TYPE_BUY) festgelegt wurde

10043

TRADE_RETCODE_SHORT_ONLY

Die Anfrage wurde abgelehnt, weil für das Symbol die Regel "Nur Short-Positionen erlaubt" (POSITION_TYPE_SELL) festgelegt wurde

10044

TRADE_RETCODE_CLOSE_ONLY

Die Anfrage wurde abgelehnt, weil für das Symbol die Regel "Nur das Schließen vorhandener Postionen erlaubt" festgelegt wurde

10045

TRADE_RETCODE_FIFO_CLOSE

Der Auftrag wurde zurückgewiesen, weil das Flag "Positionsschließung nur nach FIFO-Regel erlaubt" für das Handelskonto gesetzt ist (ACCOUNT_FIFO_CLOSE=true)

10046

TRADE_RETCODE_HEDGE_PROHIBITED

Die Anfrage wurde abgelehnt, weil für das Handelskonto die Regel festgelegt wurde "Gegensätzliche Positionen ein und desselben Symbols ist deaktiviert". Wenn das Konto z.B. eine Kaufposition hat, kann ein Nutzer keine Verkaufsposition eröffnen oder einen schwebenden Verkaufsauftrag platzieren. Die Regel wird nur auf Konten mit Hedging-Buchhaltungssystem angewendet (ACCOUNT_MARGIN_MODE=ACCOUNT_MARGIN_MODE_RETAIL_HEDGING).