Zum Inhalt

cTrader FIX-Engine (Einsatzregeln)

Einführung

Umfang

Diese Spezifikation soll Softwareentwicklern als Implementierungsleitfaden für die cTrader FIX-Engine-API dienen.

FIX-Version

cTrader unterstützt FIX Version 4.4. Weitere Informationen zu dieser Version finden Sie in diesen Spezifikationen.

Konnektivität

Verbindungstyp

Eine Verbindung zur cTrader FIX-Engine ist über das Internet, einen VPN-Tunnel oder eine Direktverbindung zu unseren Rechenzentren in Großbritannien verfügbar. Kontaktieren Sie uns für weitere Details.

Zurücksetzen der Sequenznummer

Alle Seiten einer FIX-Sitzung sollten beim Aufbau einer FIX-Sitzung die Sequenznummern zurücksetzen. Siehe die Anmeldenachricht.

Nachrichten

Wie im FIX-Protokoll definiert, verwendet der cTrader FIX-Server zwei verschiedene Datenebenen (System und Anwendung). Beachten Sie, dass dies ein Mindestsatz von Nachrichten ist, der erforderlich ist, um die notwendigen Arbeitsabläufe zu unterstützen. Er kann sich im Laufe der Zeit ändern, da sich sowohl die geschäftlichen Anforderungen als auch die FIX-Standards weiterentwickeln.

cTrader FIX-Engine

Systemnachrichten

  • Heartbeat (Client ↔ cTrader)
  • Test Request (Client ↔ cTrader)
  • Logon (Client → cTrader)
  • Logout (Client → cTrader)
  • Resend Request (Client ↔ cTrader)
  • Reject (Client ↔ cTrader)
  • Sequence Reset (Client ↔ cTrader)

Anwendungsnachrichten

  • Market Data Request (Client → cTrader)
  • Market Data Snapshot/Full Refresh (Client ← cTrader)
  • Market Data Incremental Refresh (Client ← cTrader)
  • New Order Single (Client → cTrader)
  • Order Status Request (Client → cTrader)
  • Order Mass Status Request (Client → cTrader)
  • Execution Report (Client ← cTrader)
  • Business Message Reject (Client ← cTrader)
  • Request for Positions (Client → cTrader)
  • Position Report (Client ← cTrader)
  • Order Cancel Request (Client → cTrader)
  • Order Cancel Reject (Client ← cTrader)
  • Order Cancel/Replace Request (Client → cTrader)
  • Security List Request (Client → cTrader)
  • Security List (Client ← cTrader)

Standardkopf

Jeder administrativen oder Anwendungsnachricht geht ein Standardkopf voraus. Kopfzeilen identifizieren einen Nachrichtentyp, Länge, Ziel, Sequenznummer, Ursprungspunkt und Zeit.

Alle Nachrichten, die an cTrader gesendet werden, sollten einen Standardheader mit den folgenden Feldern haben:

Tag Feldname Erforderlich Wert FIX-Format Kommentare
8 BeginString Ja FIX.4.4 String Immer unverschlüsselt, muss das erste Feld in einer Nachricht sein.
9 BodyLength Ja Jeder gültige Wert Integer Nachrichtentextlänge. Immer unverschlüsselt, muss das zweite Feld in einer Nachricht sein.
35 MsgType Ja A String Ein Nachrichtentyp. Immer unverschlüsselt, muss das dritte Feld in einer Nachricht sein.
49 SenderCompID Ja Jeder gültige Wert String Eine ID der Handelspartei im folgenden Format: <Environment>.<BrokerUID>.<Trader Login>, wobei Environment eine Bestimmung des Servers ist, wie Demo oder Live; BrokerUID wird von cTrader bereitgestellt und Trader Login ist eine numerische Kennung des Händlerkontos.
56 TargetCompID Ja CSERVER String Ein Nachrichtenziel. The valid value is CSERVER.
57 TargetSubID Ja QUOTE oder TRADE String Ein zusätzlicher Sitzungsqualifikator. Mögliche Werte sind QUOTE und TRADE.
50 SenderSubID Nein Jeder gültige Wert String Der zugewiesene Wert zur Identifizierung eines spezifischen Nachrichtenabsenders. Muss auf QUOTE gesetzt werden, wenn TargetSubID=QUOTE.
34 MsgSeqNum Ja 1 Integer Eine Sequenznummer der Nachricht.
52 SendingTime Ja 20131129-15:40:08.155 UTCTimestamp Zeit der Nachrichtenübertragung, immer in UTC (Universal Time Coordinated, auch bekannt als GMT) ausgedrückt.

Standard-Trailer

Jede Nachricht, administrativ oder anwendungsbezogen, wird durch einen Standard-Trailer beendet. Der Trailer wird verwendet, um Nachrichten zu trennen und enthält eine dreistellige Darstellung des CheckSum-Wertes (tag=10).

Tag Feldname Erforderlich Wert FIX-Format Kommentare
10 CheckSum Ja 054 String Eine dreistellige einfache Prüfsumme. Immer das letzte Feld in einer Nachricht (zum Beispiel dient), mit dem abschließenden <SOH> als Nachrichtenende-Trennzeichen. Es ist als drei Zeichen definiert (immer unverschlüsselt).

Sitzungsnachrichten

Heartbeat (MsgType(35)=0)

Heartbeat-Nachrichten werden sowohl von cTrader als auch von der Client-Anwendung gesendet, um eine aktive Verbindung zu bestätigen.

Die Client-Anwendung des Anbieters überträgt einen wiederkehrenden Heartbeat in dem Intervall, das durch das Feld HeartBtInt (tag=108) in einer Logon-Nachricht definiert ist, oder als Antwort auf eine Test Request-Nachricht.

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
112 TestReqID Nein Jeder gültige Wert String Wenn ein Heartbeat das Ergebnis einer Test Request-Nachricht ist, ist TestReqID erforderlich.
Standard Trailer Ja

Test Request (MsgType(35)=1)

Es erzwingt einen Heartbeat vom Empfänger einer Anfrage. Eine Antwort wird vom empfangenden System als Heartbeat-Nachricht gesendet, die TestReqID enthält.

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
112 TestReqID Ja Jeder gültige Wert String Eine Heartbeat-Nachrichten-ID. TestReqID sollte inkrementell sein.
Standard Trailer Ja

Logon (bidirectional) (MsgType(35)=A)

Eine Logon-Nachricht wird von der clientseitigen Anwendung gesendet, um eine cTrader FIX-Sitzung zu beginnen, und eine Antwort wird von cTrader an die clientseitige Anwendung gesendet. Sobald die Anmeldung abgeschlossen ist, können Kurs- und Handelsströme für die Lebensdauer der Sitzung fortgesetzt werden.

Wenn eine ungültige Logon-Nachricht von cTrader empfangen wird (mit ungültigen Feldern), sendet cTrader als Antwort eine Logout-Nachricht.

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
98 EncryptMethod Ja 0 Integer Definiert ein Nachrichtenverschlüsselungsschema. Derzeit wird nur Transportsicherheit auf Ebene unterstützt. Der gültige Wert ist 0 = NONE_OTHER (Verschlüsselung wird nicht verwendet).
108 HeartBtInt Ja Jeder gültige Wert Integer Ein Heartbeat-Intervall in Sekunden. Der Wert wird in der Datei config.properties (clientseitig) als SERVER.POLLING.INTERVAL festgelegt. Der Standardintervallwert beträgt 30 Sekunden. Wenn HeartBtInt auf 0 gesetzt ist, ist keine Heartbeat-Nachricht erforderlich.
141 ResetSeqNumFlag Nein Y Boolean Alle Seiten der FIX-Sitzung sollten die Sequenznummern zurücksetzen. Der gültige Wert ist Y (zurücksetzen).
553 Username Nein Jeder gültige Wert String Eine numerische Benutzer-ID. Der Benutzer ist mit dem SenderCompID-Wert verknüpft (die Organisation des Benutzers, tag=49).
554 Password Nein Jeder gültige Wert String Ein Benutzerpasswort.
Standard Trailer Ja

Hinweis

Das Feld Username (tag=553) muss einen numerischen Händler-Login-Wert enthalten, während SenderCompID (tag=49) eine Umgebung, BrokerUID und einen Händler-Login enthalten muss, getrennt durch einen Punkt (zum Beispiel live.theBroker.12345).

Siehe Beispiele für Logon-Nachrichten unten.

Anfrage:

8=FIX.4.4|9=126|35=A|49=live.theBroker.12345|56=CSERVER|34=1|52=20170117-08:03:04|57=TRADE|50=any_string|98=0|108=30|141=Y|553=12345|554=passw0rd!|10=131|

Antwort (erfolgreich):

8=FIX.4.4|9=106|35=A|34=1|49=CSERVER|50=TRADE|52=20170117-08:03:04.509|56=live.theBroker.12345|57=any_string|98=0|108=30|141=Y|10=066|

Antwort (fehlgeschlagen):

8=FIX.4.4|9=109|35=5|34=1|49=CSERVER|50=TRADE|52=20170117-08:03:04.509|56=live.theBroker.12345|58=InternalError: RET_INVALID_DATA|10=033|

Logout (MsgType(35)=5)

Eine Logout-Nachricht wird von der Client-Anwendung gesendet, um eine Sitzungsbeendigung mit cTrader anzufordern und als Antwort von cTrader. Eine Sitzungsabmeldung erfolgt als Antwort darauf, dass ein Marktteilnehmer eine Logout-Nachricht an cTrader sendet. Bevor die Sitzung beendet wird, storniert cTrader alle Kurse, die noch aktiv an die anfragende Partei gestreamt werden. Wenn eine ungültige Logon-Nachricht von cTrader empfangen wird (mit ungültigen Feldern), sendet cTrader als Antwort eine Logout-Nachricht mit Fehlerdetails im Feld Text (tag=58).

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
58 Text Nein Jeder gültige Wert String Details zur Logon-Ablehnung. Wird nur für cTrader-zu-Client-Nachrichten als Antwort auf eine ungültige Logon-Nachricht verwendet.
Standard Trailer Ja

Siehe Beispiele für Logout-Nachrichten unten.

Anfrage:

8=FIX.4.4|9=86|35=5|49=live.theBroker.12345|56=CSERVER|34=161|52=20170117-09:22:33|57=TRADE|50=any_string|10=102|

Antwort:

8=FIX.4.4|9=90|35=5|34=160|49=CSERVER|50=TRADE|52=20170117-09:22:33.077|56=live.theBroker.12345|57=any_string|10=044|

Resend Request (MsgType(35)=2)

Eine eingehende/ausgehende Nachricht wird verwendet, um das erneute Senden einer Nachricht (oder mehrerer Nachrichten) anzufordern, typischerweise wenn eine Lücke in der Sequenznummerierung erkannt wird.

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
7 BeginSeqNo Ja Jeder gültige Wert Integer Eine Nachrichtensequenznummer des ersten Datensatzes im Bereich, der erneut gesendet werden soll.
16 EndSeqNo Ja Jeder gültige Wert Integer Eine Nachrichtensequenznummer des letzten Datensatzes im Bereich, der erneut gesendet werden soll.
Standard Trailer Ja

Reject (bidirectional) (MsgType(35)=3)

Wird gesendet, wenn die empfangene Nachricht aufgrund einer Verletzung einer Sitzungsregel nicht verarbeitet werden kann. Abgelehnte Nachrichten müssen aufgezeichnet werden und eine Erhöhung muss auf die eingehende Sequenznummer angewendet werden.

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
45 RefSeqNum Ja Jeder gültige Wert SeqNum Eine Sequenznummer der referenzierten Nachricht.
58 Text Nein Jeder gültige Wert String Eine Freitext-Zeichenfolge.
354 EncodedTextLen Nein Jeder gültige Wert Länge Länge des Feldes EncodedText (Nicht-ASCII-Zeichen) in Bytes.
355 EncodedText Nein Jeder gültige Wert Daten Eine Darstellung des Feldes Text (tag=58), kodiert unter Verwendung des im Feld MessageEncoding (tag=347) angegebenen Formats (aus dem Standardheader). Wenn die ASCII-Darstellung verwendet wird, sollte sie auch im Feld Text (tag=58) angegeben werden.
371 RefTagID Nein Jeder gültige Wert Integer Eine Tag-Nummer des FIX-Feldes, das die Nachrichtenablehnung ausgelöst hat.
372 RefMsgType Nein Jeder gültige Wert String MsgType (tag=35) der referenzierten FIX-Nachricht.
373 SessionRejectReason Nein Jeder gültige Wert Integer Kodierte Ursachen der Ablehnung. Die gültigen Werte sind:
0 = Ungültige Tag-Nummer
1 = Erforderlicher Tag fehlt
2 = Kein Tag für diesen Nachrichtentyp definiert
3 = Undefinierter Tag
4 = Kein Wert für angegebenen Tag
5 = Wert für diesen Tag ist außerhalb des gültigen Bereichs
6 = Falsches Datenformat für Wert
7 = Entschlüsselungsproblem
8 = Signaturfehler
9 = CompID-Fehler
10 = SendingTime-Genauigkeitsfehler
11 = MsgType ungültig
12 = XML-Validierungsfehler
13 = Tag wird wiederholt
14 = Angegebener Tag ist nicht in der richtigen Reihenfolge
15 = Wiederholende Gruppenfelder nicht in der richtigen Reihenfolge
16 = Falsche NumInGroup-Zählung für wiederholende Gruppe
17 = Feldtrennzeichen (SOH-Zeichen) in Nicht-Datenwert enthalten
Standard Trailer Ja

Sequence Reset (MsgType(35)=4)

Eine eingehende/ausgehende Nachricht sollte nicht auf Anwendungsebene verwendet werden. Eine Sequence Reset-Nachricht kann nur eine Sequenznummer erhöhen.

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
123 GapFillFlag Nein Yes oder No String Zeigt an, dass eine Sequence Reset-Nachricht administrative oder Anwendungsnachrichten ersetzt, die nicht erneut gesendet werden.
36 NewSeqNo Ja 1 Integer Eine neue Sequenznummer.
Standard Trailer Ja

Anwendungsnachrichten

Market Data Request (MsgType(35)=V)

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
262 MDReqID Ja Jeder gültige Wert String Eine eindeutige Kursanfrage-ID. Eine neue ID für ein neues Abonnement, die gleiche ID wie zuvor für eine Abonnement-Entfernung.
263 SubscriptionRequestType Ja 1 oder 2 Char 1 = Momentaufnahme plus Updates (abonnieren).
2 = Vorherige Momentaufnahme plus Update-Anfrage deaktivieren (abbestellen).
264 MarketDepth Ja 0 oder 1 Integer Ein vollständiges Orderbuch wird bereitgestellt.
0 = Tiefenabonnement
1 = Spot-Abonnement
265 MDUpdateType Ja Jeder gültige Wert Integer Nur das inkrementelle Refresh wird unterstützt.
267 NoMDEntryTypes Ja 2 Integer Immer auf 2 gesetzt (sowohl Geld- als auch Briefkurs werden gesendet).
269 MDEntryType Ja 0 oder 1 Char Diese sich wiederholende Gruppe enthält eine Liste aller Arten von Marktdateneinträgen, die der Anforderer erhalten möchte.
0 = Bid
1 = Offer
146 NoRelatedSym Ja Jeder gültige Wert Integer Die Anzahl der angeforderten Symbole.
55 Symbol Ja Jeder gültige Wert Long Instrumentenkennungen werden von Spotware bereitgestellt.
Standard Trailer Ja

Siehe Beispiele für Marktdatenanfrage-Nachrichten unten.

Für Spots

Anfrage:

8=FIX.4.4|9=131|35=V|49=live.theBroker.12345|56=CSERVER|34=3|52=20170117-10:26:54|50=QUOTE|262=876316403|263=1|264=1|265=1|146=1|55=1|267=2|269=0|269=1|10=094|

Antwort:

8=FIX.4.4|9=134|35=W|34=2|49=CSERVER|50=QUOTE|52=20170117-10:26:54.630|56=live.theBroker.12345|57=any_string|55=1|268=2|269=0|270=1.06625|269=1|270=1.0663|10=118|

Für Tiefen

Anfrage:

8=FIX.4.4|9=131|35=V|49=live.theBroker.12345|56=CSERVER|34=2|52=20170117-11:13:44|50=QUOTE|262=876316411|263=1|264=0|265=1|146=1|55=1|267=2|269=0|269=1|10=087|

Antworten:

8=FIX.4.4|9=310|35=W|34=2|49=CSERVER|50=QUOTE|52=20180925-12:05:28.284|56=live.theBroker.12345|57=Quote|55=1|268=6|269=1|270=1.11132|271=3000000|278=16|269=1|270=1.11134|271=5000000|278=17|269=1|270=1.11133|271=3000000|278=15|269=0|270=1.1112|271=2000000|278=12|269=0|270=1.11121|271=1000000|278=13|269=0|270=1.11122|271=3000000|278=14|10=247|
8=FIX.4.4|9=693|35=X|34=2|49=CSERVER|50=QUOTE|52=20170117-11:13:44.461|56=live.theBroker.12345|57=any_string|268=12|279=0|269=1|278=7475|55=1|270=1.0691|271=2000000|279=0|269=1|278=7476|55=1|270=1.06911|271=3000000|279=0|269=1|278=7484|55=1|270=1.06931|271=34579000|279=0|269=1|278=7485|55=1|270=1.06908|271=1000000|279=0|269=1|278=7483|55=1|270=1.06906|271=500000|279=0|269=1|278=7482|55=1|270=1.06907|271=500000|279=0|269=1|278=7488|55=1|270=1.06909|271=3000000|279=0|269=0|278=7468|55=1|270=1.06898|271=500000|279=0|269=0|278=7467|55=1|270=1.06874|271=32371000|279=0|269=0|278=7457|55=1|270=1.06899|271=1000000|279=0|269=0|278=7478|55=1|270=1.06896|271=7000000|279=0|269=0|278=7477|55=1|270=1.06897|271=1500000|10=111|
8=FIX.4.4|9=376|35=X|34=3|49=CSERVER|50=QUOTE|52=20170117-11:13:44.555|56=live.theBroker.12345|57=any_string|268=8|279=0|269=0|278=7491|55=1|270=1.06897|271=1000000|279=0|269=0|278=7490|55=1|270=1.06898|271=1000000|279=0|269=0|278=7489|55=1|270=1.06874|271=32373000|279=0|269=1|278=7496|55=1|270=1.06931|271=34580000|279=2|278=7477|55=1|279=2|278=7468|55=1|279=2|278=7467|55=1|279=2|278=7484|55=1|10=192|

Market Data Snapshot/Full Refresh (MsgType(35)=W)

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
262 MDReqID Ja Jeder gültige Wert String Die ID der zuvor gesendeten Marktdatenanfrage.
55 Symbol Ja Jeder gültige Wert Long Instrumentenkennungen werden von Spotware bereitgestellt.
268 NoMDEntries Ja Jeder gültige Wert Integer Die Anzahl der folgenden Einträge.
269 MDEntryType Nein 0 oder 1 Char Die gültigen Werte sind:
0 = Geld
1 = Brief
Nur erforderlich, wenn NoMDEntries (Tag=268) > 0.
299 QuoteEntryID Nein Jeder gültige Wert String Eine eindeutige Identifikation des Kurses als Teil des QuoteSet.
270 MDEntryPx Nein 1.2345 Kurs Ein Kurs des Marktdateneintrags. Nur erforderlich, wenn NoMDEntries (Tag=268) > 0.
271 MDEntrySize Nein 500000 Volumen Volumen des Marktdateneintrags. Nur erforderlich, wenn NoMDEntries (Tag=268) > 0.
278 MDEntryID Nein Jeder gültige Wert String Eine eindeutige Marktdateneintrag-Kennung.
Standard Trailer Ja

Market Data Incremental Refresh (MsgType(35)=X)

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
262 MDReqID Ja Jeder gültige Wert String Die ID der zuvor gesendeten Marktdatenanfrage.
268 NoMDEntries Ja Jeder gültige Wert Integer Die Anzahl der folgenden Einträge. Diese sich wiederholende Gruppe enthält eine Liste aller Arten von Marktdateneinträgen, die der Anforderer erhalten möchte.
279 MDUpdateAction Ja 0 oder 2 Char Ein Typ der Marktdaten-Update-Aktion. Die gültigen Werte sind:
0 = Neu
2 = Löschen
269 MDEntryType Nein 0 oder 1 Char Die gültigen Werte sind:
0 = Geld
1 = Brief
278 MDEntryID Ja Jeder gültige Wert String Eine ID des Marktdateneintrags.
55 Symbol Ja Jeder gültige Wert Long Instrumentenkennungen werden von Spotware bereitgestellt.
270 MDEntryPx Nein 1.2345 Kurs Nur erforderlich, wenn MDUpdateAction (Tag=279) = 0.
271 MDEntrySize Nein 10000 Double Nur erforderlich, wenn MDUpdateAction (Tag=279) = 0.
Standard Trailer Ja

New Order Single (MsgType(35)=D)

Eine New Order Single-Nachricht hat das folgende Format.

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
11 ClOrdID Ja Jeder gültige Wert String Eine eindeutige Kennung der Order, die vom Kunden zugewiesen wurde.
55 Symbol Ja Jeder gültige Wert Long Instrumentenkennungen werden von Spotware bereitgestellt.
54 Side Ja 1 oder 2 Integer 1 = Buy
2 = Sell
60 TransactTime Ja Jeder gültige Wert Zeitstempel Anfragezeitpunkt, der vom Kunden generiert wurde.
38 OrderQty Ja Jeder gültige Wert Menge Die Anzahl der bestellten Aktien. Dies repräsentiert die Anzahl der Aktien für Aktien oder basierend auf der üblichen Konvention die Anzahl der Kontrakte für Optionen, Futures, Wandelanleihen usw. Eine maximale Präzision ist 0,01. Vor FIX 4.2 war der Typ dieses Feldes "Integer".
40 OrdType Ja 1, 2 oder 3 Char 1 = Market, die Order wird nach dem Immediate or Cancel (IOC) Schema verarbeitet (TimeInForce, Tag=59).
2 = Limit, die Order wird nach dem Good Till Cancel (GTC) Schema verarbeitet (TimeInForce, Tag=59).
3 = Stop, die Order wird nach dem Good Till Cancel (GTC) Schema verarbeitet (TimeInForce, Tag=59).
44 Price Nein Jeder gültige Wert Kurs Der schlechteste Kundenpreis, den der Kunde akzeptieren wird. Nur erforderlich, wenn OrdType (Tag=40) = 2, in diesem Fall wird die Order nicht ausgeführt, es sei denn, dieser Preis kann erreicht werden.
99 StopPx Nein Jeder gültige Wert Kurs Ein Kurs, der die Stop-Order auslöst. Nur erforderlich, wenn OrdType (Tag=40) = 3, in diesem Fall wird die Order nicht ausgeführt, es sei denn, dieser Preis kann erreicht werden.
59 TimeInForce Nein 1, 3 or 6 String Veraltet, dieser Wert wird ignoriert. TimeInForce wird automatisch erkannt, abhängig von OrdType (Tag=40) und ExpireTime (Tag=126):
1 = Good Till Cancel (GTC), wird nur für Limit- und Stop-Orders (OrdType, Tag=40) verwendet, nur wenn ExpireTime (Tag=126) nicht definiert ist.
3 = Immediate or Cancel (IOC), wird nur für Market-Orders verwendet (OrdType, Tag=40).
6 = Good Till Date (GTD), wird nur für Limit- und Stop-Orders (OrdType, Tag=40) verwendet, nur wenn ExpireTime (Tag=126) definiert ist.
126 ExpireTime Nein 20140215-07:24:55 Zeitstempel Ablaufzeit im Format "YYYYMMDD-HH:MM:SS". Wenn zugewiesen, wird die Order nach dem GTD-Schema verarbeitet (TimeInForce: GTD).
721 PosMaintRptID Nein Jeder gültige Wert String Eine Positions-ID, wo diese Order platziert werden soll. Wenn nicht festgelegt, wird eine neue Position erstellt und deren ID in der Execution Report-Nachricht zurückgegeben. Dies kann nur für Hedged-Konten angegeben werden.
494 Designation Nein Jeder gültige Wert String Eine benutzerdefinierte Order-Bezeichnung.
Standard Trailer Ja

Siehe unten Beispiele für New Order Single-Nachrichten.

Market-Order für neue Position

Anfrage:

8=FIX.4.4|9=143|35=D|49=live.theBroker.12345|56=CSERVER|34=77|52=20170117-10:02:14|50=any_string|57=TRADE|11=876316397|55=1|54=1|60=20170117-10:02:14|40=1|38=10000|10=010|

Antworten:

8=FIX.4.4|9=197|35=8|34=77|49=CSERVER|50=TRADE|52=20170117-10:02:14.720|56=live.theBroker.12345|57=any_string|11=876316397|14=0|37=101|38=10000|39=0|40=1|54=1|55=1|59=3|60=20170117-10:02:14.591|150=0|151=10000|721=101|10=149|
8=FIX.4.4|9=206|35=8|34=78|49=CSERVER|50=TRADE|52=20170117-10:02:15.045|56=live.theBroker.12345|57=any_string|6=1.0674|11=876316397|14=10000|32=10000|37=101|38=10000|39=2|40=1|54=1|55=1|59=3|60=20170117-10:02:14.963|150=F|151=0|721=101|10=077|

Market-Order für bestehende Position

Anfrage:

8=FIX.4.4|9=151|35=D|49=live.theBroker.12345|56=CSERVER|34=80|52=20170117-10:02:55|50=any_string|57=TRADE|11=876316398|55=1|54=1|60=20170117-10:02:55|40=1|38=10000|721=101|10=120|

Antworten:

8=FIX.4.4|9=197|35=8|34=80|49=CSERVER|50=TRADE|52=20170117-10:02:56.003|56=live.theBroker.12345|57=any_string|11=876316398|14=0|37=102|38=10000|39=0|40=1|54=1|55=1|59=3|60=20170117-10:02:55.984|150=0|151=10000|721=101|10=156|
8=FIX.4.4|9=207|35=8|34=81|49=CSERVER|50=TRADE|52=20170117-10:02:56.239|56=live.theBroker.12345|57=any_string|6=1.06735|11=876316398|14=10000|32=10000|37=102|38=10000|39=2|40=1|54=1|55=1|59=3|60=20170117-10:02:56.210|150=F|151=0|721=101|10=127

Limit-Order für bestehende Position

Anfrage:

8=FIX.4.4|9=162|35=D|49=live.theBroker.12345|56=CSERVER|34=89|52=20170117-10:06:22|50=any_string|57=TRADE|11=876316400|55=1|54=2|60=20170117-10:06:22|40=2|44=1.07162|38=50000|721=101|10=122|

Antwort:

8=FIX.4.4|9=208|35=8|34=90|49=CSERVER|50=TRADE|52=20170117-10:06:22.466|56=live.theBroker.12345|57=any_string|11=876316400|14=0|37=104|38=50000|39=0|40=2|44=1.07162|54=2|55=1|59=1|60=20170117-10:06:22.436|150=0|151=50000|721=101|10=149|

Stop-Order für neue Position

Anfrage:

8=FIX.4.4|9=153|35=D|49=live.theBroker.12345|56=CSERVER|34=9|52=20170117-12:10:48|57=TRADE|50=any_string|11=876316418|55=1|54=1|60=20170117-12:10:48|40=3|38=50000|99=1.07148|10=249|

Antwort:

8=FIX.4.4|9=207|35=8|34=8|49=CSERVER|50=TRADE|52=20170117-12:10:48.400|56=live.theBroker.12345|57=any_string|11=876316418|14=0|37=205|38=50000|39=0|40=3|54=1|55=1|59=1|60=20170117-12:10:48.362|99=1.07148|150=0|151=50000|721=202|10=122|

Order Status Request (MsgType(35)=H)

Eine Order Status Request-Nachricht wird von einer Institution verwendet, um eine Order-Status-Nachricht vom Händler zurückzuerhalten. Für eine korrekte Interaktion ist es sehr wichtig, eindeutige Kunden-Order-Kennungen (ClOrdID) für alle Orders zu haben.

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
11 ClOrdID Ja Jeder gültige Wert String Eine eindeutige Kennung der Order, die vom Kunden zugewiesen wurde.
54 Side Nein 1 oder 2 Integer 1 = Buy
2 = Sell
Standard Trailer Ja

Siehe unten Beispiele für Order Status Request-Nachrichten.

Anfrage:

8=FIX.4.4|9=98|35=H|49=live.theBroker.12345|56=CSERVER|34=95|52=20170117-10:08:31|50=any_string|57=TRADE|11=876316400|10=191|

Antwort:

8=FIX.4.4|9=208|35=8|34=95|49=CSERVER|50=TRADE|52=20170117-10:08:31.819|56=live.theBroker.12345|57=any_string|11=876316400|14=0|37=104|38=50000|39=0|40=2|44=1.07162|54=2|55=1|59=1|60=20170117-10:06:22.436|150=0|151=50000|721=101|10=158|

Order Mass Status Request (MsgType(35)=AF)

Eine Order Mass Status Request-Nachricht fordert den Status für Orders an, die den in der Anfrage angegebenen Kriterien entsprechen. Die Antwort wird als eine Reihe von Execution Report-Nachrichten (eine für jede Order) zurückgegeben, oder als Business Message Reject-Nachricht, wenn keine Orders gefunden werden.

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
584 MassStatusReqID Ja Jeder gültige Wert String Eine eindeutige ID des Mass Status Request, die vom Kunden zugewiesen wurde.
585 MassStatusReqType Ja Jeder gültige Wert Integer 7 = Status für alle Orders.
Derzeit wird nur der Wert 7 unterstützt.
225 IssueDate Nein Jeder gültige Wert String Wenn festgelegt, enthält die Antwort nur Orders, die vor diesem Datum erstellt wurden.
Standard Trailer Ja

Siehe unten Beispiele für Order Mass Status Request-Nachrichten.

Anfrage:

8=FIX.4.4|9=117|35=AF|34=3|49=live.theBroker.12345|52=20170404-07:20:55.325|56=CSERVER|57=TRADE|225=20170404-07:20:44.582|584=mZzEY|585=7|10=065|

Antwort:

8=FIX.4.4|9=199|35=8|34=13|49=CSERVER|50=TRADE|52=20170404-07:20:55.333|56=live.theBroker.12345|14=0|37=635|38=100000|39=0|40=2|44=1.35265|54=2|55=1|59=1|60=20170404-07:20:44.582|150=I|151=100000|584=mZzEY|721=617|911=1|10=152|

Execution Report (MsgType(35)=8)

Eine Execution Report-Nachricht für eine akzeptierte Order hat das folgende Format.

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
37 OrderID Ja Jeder gültige Wert String Eine cTrader-Order-ID.
11 ClOrdID Nein Jeder gültige Wert String Eine eindeutige Kennung der Order, die vom Kunden zugewiesen wurde.
911 TotNumReports Nein Jeder gültige Wert Integer Die Gesamtzahl der Berichte, die als Antwort auf die Order Mass Status Request-Nachricht zurückgegeben wurden.
150 ExecType Ja Jeder gültige Wert Char 0 = New
4 = Canceled
5 = Replace
8 = Rejected
C = Expired
F = Trade
I = Order Status
39 OrdStatus Ja Jeder gültige Wert Char 0 = Neu
1 = Teilweise ausgeführt
2 = Vollständig ausgeführt
8 = Abgelehnt
4 = Storniert (wenn die Order teilweise ausgeführt ist, wird Canceled zurückgegeben, was bedeutet (tag=151), LeavesQty ist storniert und wird nicht nachträglich ausgeführt).
C = Abgelaufen
55 Symbol Nein Jeder gültige Wert Long Instrumentenkennungen werden von Spotware bereitgestellt.
54 Side Nein 1 oder 2 Integer 1 = Kaufen
2 = Verkaufen
60 TransactTime Nein Jeder gültige Wert Zeitstempel Ausführungszeit einer Transaktion, die durch die Execution Report-Nachricht dargestellt wird (in UTC).
6 AvgPx Nein Jeder gültige Wert Integer Ein Kurs, zu dem das Geschäft ausgeführt wurde. Für eine IOC- oder GTD-Order ist dies der volumengewichtete Durchschnittskurs (VWAP) der ausgeführten Order.
38 OrderQty Nein Jeder gültige Wert Menge Dies repräsentiert die Anzahl der Aktien für Aktien oder basierend auf der üblichen Konvention die Anzahl der Kontrakte für Optionen, Futures, Wandelanleihen usw. Vor FIX 4.2 war der Typ dieses Feldes "Integer".
151 LeavesQty Nein Jeder gültige Wert Menge Die Anzahl der noch auszuführenden Orders. Mögliche Werte liegen zwischen 0 (vollständig ausgeführt) und OrderQty (teilweise ausgeführt).
14 CumQty Nein Jeder gültige Wert Menge Die Gesamtzahl der Orders, die ausgeführt wurden.
32 LastQty Nein Jeder gültige Wert Menge Die gekaufte/verkaufte Menge von Orders, die bei dieser (letzten) Ausführung ausgeführt wurden.
40 OrdType Nein 1 oder 2 Char 1 = Market
2 = Limit
44 Price Nein Jeder gültige Wert Kurs Wenn in einer New Order Single-Nachricht angegeben, wird es in dieser Execution Report-Nachricht zurückgegeben.
99 StopPx Nein Jeder gültige Wert Kurs Wenn in einer New Order Single-Nachricht angegeben, wird es in dieser Execution Report-Nachricht zurückgegeben.
59 TimeInForce Nein 1, 3 oder 6 String 1 = Good Till Cancel (GTC)
3 = Immediate or Cancel (IOC)
6 = Good Till Date (GTD)
126 ExpireTime Nein 20140215-07:24:55 Zeitstempel Wenn in einer New Order Single-Nachricht angegeben, wird es in dieser Execution Report-Nachricht zurückgegeben.
58 Text Nein Jeder gültige Wert String Wenn möglich, wird eine Nachricht den Execution Report erklären.
103 OrdRejReason Nein 0 Integer 0 = OrdRejReason.BROKER_EXCHANGE_OPTION
721 PosMaintRptID Nein Jeder gültige Wert String Eine Positions-ID.
494 Designation Nein Jeder gültige Wert String Eine benutzerdefinierte Order-Bezeichnung des Kunden.
584 MassStatusReqID Nein Jeder gültige Wert String Eine eindeutige ID der Mass Status-Anfrage, die vom Kunden zugewiesen wurde.
1000 AbsoluteTP Nein Jeder gültige Wert Kurs Ein absoluter Kurs, bei dem der Take-Profit ausgelöst wird.
1001 RelativeTP Nein Jeder gültige Wert Kurs Ein Abstand in Pips vom Einstiegskurs, bei dem der Take-Profit ausgelöst wird.
1002 AbsoluteSL Nein Jeder gültige Wert Kurs Ein absoluter Kurs, bei dem der Stop-Loss ausgelöst wird.
1003 RelativeSL Nein Jeder gültige Wert Kurs Ein Abstand in Pips vom Einstiegskurs, bei dem der Stop-Loss ausgelöst wird.
1004 TrailingSL Nein N oder Y Boolean Gibt an, ob der Stop-Loss trailing ist.
N = Stop-Loss ist nicht trailing.
Y = Stop-Loss ist trailing.
1005 TriggerMethodSL Nein Jeder gültige Wert Integer Eine angegebene Auslösemethode des Stop-Loss.
1 = Stop-Loss wird durch die Handelsseite ausgelöst.
2 = Stop-Loss wird durch die entgegengesetzte Seite ausgelöst (Ask für Kaufpositionen und Bid für Verkaufspositionen).
3 = Stop-Loss wird nach zwei aufeinanderfolgenden Ticks gemäß der Handelsseite ausgelöst.
4 = Stop-Loss wird nach zwei aufeinanderfolgenden Ticks gemäß der entgegengesetzten Seite ausgelöst (der zweite Ask-Tick für Kaufpositionen und der zweite Bid-Tick für Verkaufspositionen).
1006 GuaranteedSL Nein N oder Y Boolean Gibt an, ob der Stop-Loss garantiert ist.
N = Stop-Loss ist nicht garantiert.
Y = Stop-Loss ist garantiert.
Standard Trailer Ja

Siehe ein Beispiel für eine neue Einzelorder am Ende des Leitfadens.

Business Message Reject (MsgType(35)=j)

Dieser Nachrichtentyp wird gesendet, wenn das System eine Abonnementanfrage nicht verarbeiten kann oder eine Order nicht ausgeführt werden kann.

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
45 RefSeqNum Nein Jeder gültige Wert Integer MsgSeqNum (Tag=34) der abgelehnten Nachricht.
372 RefMsgType Nein Jeder gültige Wert String MsgType (Tag=35) der referenzierten FIX-Nachricht.
379 BusinessRejectRefID Nein Jeder gültige Wert String Wert des Business-Level-ID-Feldes in der referenzierten Nachricht. Erforderlich, es sei denn, das entsprechende ID-Feld wurde nicht angegeben.
380 BusinessRejectReason Ja 0 Integer Ein Code zur Identifizierung des Grundes für eine Business Message Reject-Nachricht.
0 = Sonstiges
58 Text Nein Jeder gültige Wert String Wenn möglich, eine Nachricht zur Erklärung des Ablehnungsgrundes.
Standard Trailer Ja

Siehe unten ein Beispiel für eine Business Message Reject-Nachricht.

8=FIX.4.4|9=149|35=j|34=2|49=CSERVER|52=20170105-06:36:00.912|56=live.theBroker.12345|57=any_string|58=Message to explain reason for rejection|379=u4Jr7Rr5t2VS7HSP|380=0|10=123|

Request for Positions (MsgType(35)=AN)

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
710 PosReqID Ja Jeder gültige Wert String Eine eindeutige Anfrage-ID (vom Client festgelegt).
721 PosMaintRptID Nein Jeder gültige Wert String Eine anzufordernde Positions-ID. Wenn nicht festgelegt, werden alle offenen Positionen zurückgegeben.
Standard Trailer Ja

Siehe unten Beispiele für Request for Positions-Nachrichten.

Anfrage:

8=FIX.4.4|9=100|35=AN|49=live.theBroker.12345|56=CSERVER|34=99|52=20170117-10:09:54|50=any_string|57=TRADE|710=876316401|10=103|

Antwort:

8=FIX.4.4|9=163|35=AP|34=98|49=CSERVER|50=TRADE|52=20170117-10:09:54.076|56=live.theBroker.12345|57=any_string|55=1|710=876316401|721=101|727=1|728=0|730=1.06671|702=1|704=0|705=30000|10=182|

Position Report (MsgType(35)=AP)

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
710 PosReqID Ja Jeder gültige Wert String Eine ID der Request for Positions-Nachricht.
721 PosMaintRptID Nein Jeder gültige Wert String Eine Positions-ID, die nicht festgelegt ist, wenn PosReqResult (Tag=728) nicht VALID_REQUEST ist.
727 TotalNumPosReports Ja Jeder gültige Wert String Die Gesamtzahl der Positionsberichte in einer Sequenz, wenn PosReqResult (Tag=728) VALID_REQUEST ist, andernfalls = 0.
728 PosReqResult Ja 0 oder 2 String 0 = Gültige Anfrage
2 = Es wurden keine offenen Positionen gefunden, die den Kriterien entsprechen.
55 Symbol Nein Jeder gültige Wert String Ein Symbol, für das der aktuelle Positionsbericht erstellt wird. Es wird nicht festgelegt, wenn PosReqResult (Tag=728) nicht VALID_REQUEST ist.
702 NoPositions Nein 1 String 1 wenn PosReqResult (Tag=728) VALID_REQUEST ist, andernfalls nicht festgelegt.
704 LongQty Nein Jeder gültige Wert String Offenes Volumen der Position im Falle der Kauf-Handelsseite, gleich 0 im Falle der Verkauf-Handelsseite. Nicht festgelegt, wenn PosReqResult (Tag=728) nicht VALID_REQUEST ist.
705 ShortQty Nein Jeder gültige Wert String Offenes Volumen der Position im Falle der Verkauf-Handelsseite, gleich 0 im Falle der Kauf-Handelsseite. Nicht festgelegt, wenn PosReqResult (Tag=728) nicht VALID_REQUEST ist.
730 SettlPrice Nein Jeder gültige Wert String Ein Durchschnittspreis des eröffneten Volumens im aktuellen Positionsbericht.
1000 AbsoluteTP Nein Jeder gültige Wert Kurs Ein absoluter Kurs, bei dem der Take-Profit ausgelöst wird.
1002 AbsoluteSL Nein Jeder gültige Wert Kurs Ein absoluter Kurs, bei dem der Stop-Loss ausgelöst wird.
1004 TrailingSL Nein Jeder gültige Wert Boolean Gibt an, ob der Stop-Loss trailing ist.
N = Stop-Loss ist nicht trailing.
Y = Stop-Loss ist trailing.
1005 TriggerMethodSL Nein Jeder gültige Wert Integer Eine angegebene Auslösemethode des Stop-Loss.
1 = Stop-Loss wird durch die Handelsseite ausgelöst.
2 = Stop-Loss wird durch die entgegengesetzte Seite ausgelöst (Ask für Kaufpositionen und Bid für Verkaufspositionen).
3 = Stop-Loss wird nach zwei aufeinanderfolgenden Ticks gemäß der Handelsseite ausgelöst.
4 = Stop-Loss wird nach zwei aufeinanderfolgenden Ticks gemäß der entgegengesetzten Seite ausgelöst (zweiter Ask-Tick für Kaufpositionen und zweiter Bid-Tick für Verkaufspositionen).
1006 GuaranteedSL Nein Jeder gültige Wert Boolean Gibt an, ob der Stop-Loss garantiert ist.
N = Stop-Loss ist nicht garantiert.
Y = Stop-Loss ist garantiert.
Standard Trailer Ja

Order Cancel Request (MsgType(35)=F)

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
41 OrigClOrdID Ja Jeder gültige Wert String Eine eindeutige Kennung der zu stornierenden Order, die vom Client zugewiesen wurde.
37 OrderID Nein Jeder gültige Wert String Eine eindeutige ID der Order, die vom cServer zurückgegeben wurde.
11 ClOrdID Ja Jeder gültige Wert String Eine eindeutige ID der Stornierungsanfrage, die vom Client zugewiesen wurde.
Standard Trailer Ja

Siehe unten Beispiele für Order Cancel Request-Nachrichten.

Anfrage:

8=FIX.4.4|9=115|35=F|34=2|49=live.theBroker.12345|50=Trade|52=20170721-13:41:21.694|56=CSERVER|57=TRADE|11=jR8dBPcZEQa9|41=n9Tm8x1AavO5|10=182|

Antwort (erfolgreich):

8=FIX.4.4|9=221|35=8|34=3|49=CSERVER|50=TRADE|52=20170721-13:41:21.784|56=live.theBroker.12345|57=Trade|11=jR8dBPcZEQa9|14=0|37=641|38=100000|39=4|40=2|41=n9Tm8x1AavO5|44=1.499|54=1|55=1|59=1|60=20170721-13:41:21.760|150=4|151=100000|721=624|10=180|

Antwort (fehlgeschlagen):

8=FIX.4.4|9=174|35=j|34=3|49=CSERVER|50=TRADE|52=20170721-13:41:21.856|56=live.theBroker.12345|57=Trade|58=ORDER_NOT_FOUND:Order with clientOrderId=n9Tm8x1AavO5 not found.|379=jR8dBPcZEQa9|380=0|10=075|

Order Cancel Reject (MsgType(35)=9)

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
37 OrderID Ja Jeder gültige Wert String Eine eindeutige Kennung der Order, die das System nicht stornieren konnte.
11 ClOrdID Ja Jeder gültige Wert String Eine eindeutige Kennung der Order Cancel Request.
41 OrigClOrdID Nein Jeder gültige Wert String Eine eindeutige Kennung der Order, deren Stornierung versucht wurde, zugewiesen vom Client.
39 OrdStatus Ja Jeder gültige Wert Char 0 = Neu
1 = Teilweise ausgeführt
2 = Ausgeführt
8 = Abgelehnt
4 = Storniert (wenn die Order teilweise ausgeführt wurde, wird Canceled zurückgegeben, was bedeutet (Tag=151), LeavesQty ist storniert und wird nicht nachträglich ausgeführt).
C = Abgelaufen
434 CxlRejResponseTo Ja 1 oder 2 Char 1 = Stornierung der Order ablehnen.
2 = Änderung der Order von einem anderen Terminal ablehnen.
58 Text Nein Jeder gültige Wert String Eine Order wird gerade ausgeführt.
Standard Trailer Ja

Siehe unten ein Beispiel für eine Order Cancel Reject-Nachricht.

Antwort:

8=FIX.4.4|9=156|35=9|34=3|49=CSERVER|50=TRADE|52=20181024-12:35:02.896|56=live.theBroker.12345|57=Trade|11=gBljx7YOg5jY|37=629|39=0|41=FdXLfS0tTyUL|58=Order is under execution|434=1|10=109|

Order Cancel/Replace Request (MsgType(35)=G)

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
41 OrigClOrdID Ja Any valid value String Eine eindeutige Kennung der zu ändernden Order, die vom Client zugewiesen wurde.
37 OrderID Nein Jeder gültige Wert String Eine eindeutige ID der ursprünglichen Order, die geändert werden soll, zugewiesen vom Server. Eine bevorzugte Methode zur Verwendung.
11 ClOrdID Ja Jeder gültige Wert String Eine eindeutige ID der Änderungsanfrage, die vom Client zugewiesen wurde.
38 OrderQty Ja Jeder gültige Wert Menge Eine bestehende oder neu angegebene Menge zum Ersetzen des alten Wertes.
44 Price Nein Jeder gültige Wert Kurs Ein bestehender oder neu angegebener Limitkurs zum Ersetzen des alten Wertes. Nur für Limit-Orders gültig.
99 StopPx Nein Jeder gültige Wert Kurs Ein bestehender oder neu angegebener Stoppkurs zum Ersetzen des alten Wertes. Nur für Stop-Orders gültig.
126 ExpireTime Nein 20140215-07:24:55 Zeitstempel Bestehende oder neu angegebene Ablaufzeit. Nur für ausstehende Orders gültig.
Standard Trailer Ja

Siehe unten Beispiele für Order Cancel/Replace Request-Nachrichten.

Anfrage:

8=FIX.4.4|9=123|35=G|34=3|49=live.theBroker.12345|50=Trade|52=20170721-13:42:17.680|56=CSERVER|57=TRADE|11=Is03AvsknNYK|38=5000|41=n9Tm8x1AavO5|44=1.1|10=010|

Antwort (erfolgreich):

8=FIX.4.4|9=192|35=8|34=3|49=CSERVER|50=TRADE|52=20170721-13:42:18.784|56=live.theBroker.12345|57=Trade|11=Is03AvsknNYK|14=0|37=629|38=5000|39=0|40=2|44=1.1|54=1|55=1|59=1|60=20170721-13:42:18.760|150=5|151=5000|721=624|10=150|

Antwort (fehlgeschlagen):

8=FIX.4.4|9=171|35=j|34=3|49=CSERVER|50=TRADE|52=20170721-13:42:18.784|56=live.theBroker.12345|57=Trade|58=ORDER_NOT_FOUND:Order with orderId:4429421711699105367 isn't found|379=NXek3EzJvMme|380=0|10=245|

Market Data Request Reject (MsgType(35)=Y)

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
262 MDReqID Ja Jeder gültige Wert String Muss sich auf MDReqID (Tag=262) der Anfrage beziehen.
281 MDReqRejReason Nein Jeder gültige Wert Integer 0 = Unbekanntes Symbol
4 = Nicht unterstützter SubscriptionRequestType (Tag=263)
5 = Nicht unterstützte MarketDepth (Tag=264)
Standard Trailer Ja

Siehe unten Beispiele für Market Data Request Reject-Nachrichten.

Anfrage:

8=FIX.4.4|9=148|35=V|34=2|49=live.theBroker.12345|50=Quote|52=20170920-09:52:13.032|56=CSERVER|57=QUOTE|262=CS8260:sXlXex|263=1|264=0|265=1|146=1|55=CS8260|267=2|269=0|269=1|10=129|

Ablehnung:

8=FIX.4.4|9=164|35=Y|34=2|49=CSERVER|50=QUOTE|52=20170920-09:52:13.036|56=live.theBroker.12345|57=Quote|58=INVALID_REQUEST: Expected numeric symbolId, but got CS8260|262=CS8260:sXlXex|281=0|10=236|

Anfrage:

8=FIX.4.4|9=136|35=V|34=6|49=live.theBroker.12345|50=Quote|52=20170920-09:52:13.199|56=CSERVER|57=QUOTE|262=EwOhiWvMdCpc|263=1|264=3|146=1|55=1|267=2|269=0|269=1|10=182|

Ablehnung:

8=FIX.4.4|9=157|35=Y|34=6|49=CSERVER|50=QUOTE|52=20170920-09:52:13.201|56=live.theBroker.12345|57=Quote|58=INVALID_REQUEST: MarketDepth should be either 0 or 1|262=EwOhiWvMdCpc|281=5|10=088|

Security List Request (MsgType(35)=x)

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
320 SecurityReqID Ja Jeder gültige Wert String Eine eindeutige ID der Security Definition Request.
559 SecurityListRequestType Ja 0 Integer Der Typ der Security List Request, die gestellt wird. Nur 0 = Symbol (Tag=55) wird unterstützt.
55 Symbol Nein Jeder gültige Wert Integer Eine ID zur Auflösung des Symbolnamens.
Standard Trailer Ja

Siehe unten Beispiele für Security List Request-Nachrichten.

Anfrage:

8=FIX.4.4|9=107|35=x|34=3|49=live.theBroker.12345|50=Trade|52=20180427-12:24:27.106|56=CSERVER|57=TRADE|55=39|320=ILCea0JkdQEm|559=0|10=248|

Antwort:

8=FIX.4.4|9=158|35=y|34=3|49=CSERVER|50=TRADE|52=20180427-12:24:27.107|56=live.theBroker.12345|57=Trade|320=ILCea0JkdQEm|322=responce:ILCea0JkdQEm|560=0|146=1|55=39|1007=NZDCHF|1008=4|10=088|

Security List (MsgType(35)=y)

Tag Feldname Erforderlich Wert FIX-Format Kommentare
Standard Header Ja
320 SecurityReqID Ja Jeder gültige Wert String Eine eindeutige ID der Security Definition Request.
322 SecurityResponseID Ja Jeder gültige Wert String Eine eindeutige ID der Security List-Antwort.
560 SecurityRequestResult Ja 0 Integer Ergebnisse, die auf die Security Request-Nachricht zurückgegeben werden. Die gültigen Werte sind:
0 = Gültige Anfrage.
1 = Ungültige oder nicht unterstützte Anfrage.
2 = Es wurden keine Instrumente gefunden, die den Auswahlkriterien entsprechen.
3 = Nicht autorisiert, Instrumentendaten abzurufen.
4 = Instrumentendaten vorübergehend nicht verfügbar.
5 = Anfrage für Instrumentendaten nicht unterstützt.
146 NoRelatedSym Nein Jeder gültige Wert Integer Gibt die Anzahl der sich wiederholenden Symbole (Instrumente) an.
55 Symbol Nein Jeder gültige Wert Integer Instrumentenkennungen werden von Spotware bereitgestellt.
1007 SymbolName Nein Jeder gültige Wert String Ein Symbolname.
1008 SymbolDigits Nein Jeder gültige Wert Integer Symbol-Stellen. Mögliche Werte von 0 bis 5.
Standard Trailer Ja

Siehe unten ein Beispiel für eine Security List-Nachricht.

Antwort:

8=FIX.4.4|9=3977|35=y|34=2|49=CSERVER|50=TRADE|52=20180426-12:07:37.816|56=live.theBroker.12345|57=Trade|320=Sxo2Xlb1jzJC|322=responce:Sxo2Xlb1jzJC|560=0|146=143|55=1|1007=EURUSD|1008=5|55=2|1007=GBPUSD|1008=5|55=3|1007=EURJPY|1008=3|55=4|1007=USDJPY|1008=3|55=5|1007=AUDUSD|1008=5|55=6|1007=USDCHF|1008=5|55=7|1007=GBPJPY|1008=3|55=8|1007=USDCAD|1008=5|55=9|1007=EURGBP|1008=5|55=10|1007=EURCHF|1008=5|55=11|1007=AUDJPY|1008=2|55=12|1007=NZDUSD|1008=5|55=13|1007=CHFJPY|1008=2|55=14|1007=EURAUD|1008=4|55=15|1007=CADJPY|1008=2|55=16|1007=GBPAUD|1008=4|55=17|1007=EURCAD|1008=4|55=10001|1007=USDCFDSAX|1008=5|55=18|1007=AUDCAD|1008=4|55=10002|1007=CD3295|1008=5|55=19|1007=GBPCAD|1008=4|55=10003|1007=DU3295|1008=5|55=20|1007=AUDNZD|1008=4|55=10004|1007=CS5965|1008=2|55=21|1007=NZDJPY|1008=2|55=10005|1007=CS6014_3|1008=5|55=22|1007=USDNOK|1008=4|55=10006|1007=DU6014_3|1008=5|55=23|1007=AUDCHF|1008=4|55=10007|1007=CS6014_4|1008=5|55=24|1007=USDMXN|1008=4|55=10008|1007=DU6014_4|1008=5|55=25|1007=GBPNZD|1008=4|55=10009|1007=CS5953|1008=5|55=26|1007=EURNZD|1008=4|55=10010|1007=CS6407_01_EURUSD|1008=5|55=27|1007=CADCHF|1008=4|55=10011|1007=CS6407_01_GBPUSD|1008=5|55=28|1007=USDSGD|1008=5|55=10012|1007=CS6407_02_EURUSD|1008=5|55=29|1007=USDSEK|1008=4|55=10013|1007=CS6407_03_EURUSD|1008=5|55=30|1007=NZDCAD|1008=4|55=31|1007=EURSEK|1008=4|55=10015|1007=CS7847_01_EURUSD|1008=5|55=32|1007=GBPSGD|1008=4|55=10016|1007=CS7847_01_GBPUSD|1008=5|55=33|1007=EURNOK|1008=4|55=10017|1007=CS7847_02_EURUSD|1008=5|55=34|1007=EURHUF|1008=2|55=10018|1007=CS7847_03_EURUSD|1008=5|55=35|1007=USDPLN|1008=4|55=10019|1007=CS7847_04_GBPUSD|1008=5|55=36|1007=USDDKK|1008=4|55=10020|1007=CS9004S|1008=2|10=096|