Enjin FIX cTrader (Peraturan Penglibatan)¶
Pengenalan ¶
Skop ¶
Spesifikasi ini bertujuan untuk menjadi panduan pelaksanaan bagi pembangun perisian untuk API enjin FIX cTrader.
Versi FIX ¶
cTrader menyokong FIX versi 4.4. Untuk maklumat lanjut tentang versi ini, rujuk spesifikasi ini.
Sambungan ¶
Jenis sambungan ¶
Sambungan ke enjin FIX cTrader tersedia melalui Internet, terowong VPN atau sambungan silang ke kemudahan pusat data kami di UK. Hubungi kami untuk maklumat lanjut.
Penetapan semula nombor urutan ¶
Semua pihak dalam sesi FIX harus menetapkan semula nombor urutan apabila menubuhkan sesi FIX. Lihat mesej Log masuk.
Mesej ¶
Seperti yang ditakrifkan dalam protokol FIX, pelayan FIX cTrader menggunakan dua tahap data yang berbeza (sistem dan aplikasi). Perhatikan bahawa ini adalah set minimum mesej yang diperlukan untuk menyokong aliran kerja yang diperlukan. Ia tertakluk kepada perubahan dari semasa ke semasa kerana keperluan perniagaan dan standard FIX berkembang.
Enjin FIX cTrader ¶
Mesej sistem¶
- Denyutan Jantung (Pelanggan ↔ cTrader)
- Permintaan Ujian (Pelanggan ↔ cTrader)
- Log Masuk (Pelanggan → cTrader)
- Log Keluar (Pelanggan → cTrader)
- Permintaan Hantar Semula (Pelanggan ↔ cTrader)
- Tolak (Pelanggan ↔ cTrader)
- Tetapan Semula Urutan (Pelanggan ↔ cTrader)
Mesej aplikasi¶
- Permintaan Data Pasaran (Pelanggan → cTrader)
- Petikan Pasaran/Penyegaran Penuh (Pelanggan ← cTrader)
- Penyegaran Tambahan Data Pasaran (Pelanggan ← cTrader)
- Pesanan Tunggal Baharu (Pelanggan → cTrader)
- Permintaan Status Pesanan (Pelanggan → cTrader)
- Permintaan Status Pesanan Massa (Pelanggan → cTrader)
- Laporan Pelaksanaan (Pelanggan ← cTrader)
- Penolakan Mesej Perniagaan (Pelanggan ← cTrader)
- Permintaan untuk Kedudukan (Pelanggan → cTrader)
- Laporan Kedudukan (Pelanggan ← cTrader)
- Permintaan Pembatalan Pesanan (Pelanggan → cTrader)
- Penolakan Pembatalan Pesanan (Pelanggan ← cTrader)
- Permintaan Pembatalan/Penggantian Pesanan (Pelanggan → cTrader)
- Permintaan Senarai Sekuriti (Pelanggan → cTrader)
- Senarai Sekuriti (Pelanggan ← cTrader)
Pengepala standard ¶
Setiap mesej pentadbiran atau aplikasi didahului oleh pengepala standard. Pengepala mengenal pasti jenis mesej, panjang, destinasi, nombor urutan, titik asal dan masa.
Semua mesej yang dihantar ke cTrader harus mempunyai pengepala standard dengan medan berikut:
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
| 8 | BeginString | Ya | FIX.4.4 | String | Sentiasa tidak disulitkan, mesti menjadi medan pertama dalam mesej. |
| 9 | BodyLength | Ya | Sebarang nilai yang sah | Integer | Panjang badan mesej. Sentiasa tidak disulitkan, mesti menjadi medan kedua dalam mesej. |
| 35 | MsgType | Ya | A | String | Jenis mesej. Sentiasa tidak disulitkan, mesti menjadi medan ketiga dalam mesej. |
| 49 | SenderCompID | Ya | Sebarang nilai yang sah | String | ID pihak dagangan dalam format berikut: <Environment>.<BrokerUID>.<Trader Login>, di mana Environment adalah penentuan pelayan, seperti demo atau langsung; BrokerUID disediakan oleh cTrader dan Trader Login adalah pengecam numerik akaun pedagang. |
| 56 | TargetCompID | Ya | CSERVER | String | Sasaran mesej. The valid value is CSERVER. |
| 57 | TargetSubID | Ya | QUOTE atau TRADE | String | Pengecam sesi tambahan. Nilai yang mungkin adalah QUOTE dan TRADE. |
| 50 | SenderSubID | Tidak | Sebarang nilai yang sah | String | Nilai yang ditetapkan digunakan untuk mengenal pasti pemula mesej tertentu. Mesti ditetapkan kepada QUOTE jika TargetSubID=QUOTE. |
| 34 | MsgSeqNum | Ya | 1 | Integer | Nombor urutan mesej. |
| 52 | SendingTime | Ya | 20131129-15:40:08.155 | UTCTimestamp | Masa penghantaran mesej sentiasa dinyatakan dalam UTC (Universal Time Coordinated, juga dikenali sebagai GMT). |
Trailer standard ¶
Setiap mesej, pentadbiran atau aplikasi, ditamatkan oleh trailer standard. Trailer digunakan untuk memisahkan mesej dan mengandungi perwakilan tiga digit nilai CheckSum (tag=10).
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
| 10 | CheckSum | Ya | 054 | String | Checksum ringkas tiga bait. Sentiasa medan terakhir dalam mesej (contohnya, berfungsi), dengan <SOH> mengekor sebagai pemisah akhir mesej. Ia ditakrifkan sebagai tiga aksara (sentiasa tidak disulitkan). |
Mesej sesi ¶
Heartbeat (MsgType(35)=0)¶
Mesej denyutan jantung dihantar oleh kedua-dua cTrader dan aplikasi pelanggan untuk mengesahkan sambungan langsung.
Aplikasi pelanggan pembekal menghantar denyutan jantung berulang pada selang masa yang ditakrifkan oleh medan HeartBtInt (tag=108) dalam mesej Log Masuk, atau sebagai respons kepada mesej Permintaan Ujian.
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 112 | TestReqID | Tidak | Sebarang nilai yang sah | String | Jika denyutan jantung adalah hasil daripada mesej Permintaan Ujian, TestReqID diperlukan. |
Standard Trailer | Ya |
Test Request (MsgType(35)=1)¶
Ia memaksa denyutan jantung daripada penerima permintaan. Respons dihantar dari sistem penerima sebagai mesej Denyutan Jantung yang mengandungi TestReqID.
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 112 | TestReqID | Ya | Sebarang nilai yang sah | String | ID mesej denyutan jantung. TestReqID harus meningkat. |
Standard Trailer | Ya |
Logon (bidirectional) (MsgType(35)=A)¶
Mesej Log Masuk dihantar dari aplikasi sisi pelanggan untuk memulakan sesi FIX cTrader, dan respons dihantar oleh cTrader kepada aplikasi sisi pelanggan. Sebaik sahaja log masuk selesai, aliran sebut harga dan dagangan boleh diteruskan untuk kitaran hayat sesi.
Jika mesej Log Masuk yang tidak sah diterima oleh cTrader (dengan medan yang tidak sah), cTrader menghantar mesej Log Keluar sebagai respons.
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 98 | EncryptMethod | Ya | 0 | Integer | Menentukan skema penyulitan mesej. Pada masa ini, hanya keselamatan peringkat pengangkutan disokong. Nilai yang sah ialah 0 = NONE_OTHER (penyulitan tidak digunakan). |
| 108 | HeartBtInt | Ya | Sebarang nilai yang sah | Integer | Selang denyutan jantung dalam saat. Nilai ditetapkan dalam fail config.properties (sisi pelanggan) sebagai SERVER.POLLING.INTERVAL. Nilai selang lalai ialah 30 saat. Jika HeartBtInt ditetapkan kepada 0, tiada mesej denyutan jantung diperlukan. |
| 141 | ResetSeqNumFlag | Tidak | Y | Boolean | Semua pihak sesi FIX harus menetapkan semula nombor urutan. Nilai yang sah ialah Y (tetapkan semula). |
| 553 | Username | Tidak | Sebarang nilai yang sah | String | ID Pengguna numerik. Pengguna dikaitkan dengan nilai SenderCompID (organisasi pengguna, tag=49). |
| 554 | Password | Tidak | Sebarang nilai yang sah | String | Kata laluan pengguna. |
Standard Trailer | Ya |
Nota
Medan Username (tag=553) mesti mengandungi nilai log masuk pedagang numerik, manakala SenderCompID (tag=49) mesti mengandungi persekitaran, BrokerUID dan log masuk pedagang yang dipisahkan oleh titik (contohnya, live.theBroker.12345).
Lihat contoh mesej Log Masuk di bawah.
Permintaan:
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|
Respons (berjaya):
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|
Respons (gagal):
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)¶
Mesej Log Keluar dihantar dari aplikasi pelanggan untuk meminta tamat sesi dengan cTrader dan sebagai respons oleh cTrader. Log keluar sesi berlaku sebagai respons kepada Peserta Pasaran menghantar mesej Log Keluar kepada cTrader. Sebelum menamatkan sesi, cTrader akan membatalkan semua harga yang masih aktif mengalir keluar kepada pihak yang meminta. Jika mesej Log Masuk yang tidak sah diterima oleh cTrader (dengan medan yang tidak sah), cTrader menghantar mesej Log Keluar sebagai respons dengan butiran ralat dalam medan Text (tag=58).
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 58 | Text | Tidak | Sebarang nilai yang sah | String | Butiran penolakan Log Masuk. Digunakan hanya untuk mesej cTrader-ke-pelanggan sebagai respons mesej Log Masuk yang tidak sah. |
Standard Trailer | Ya |
Lihat contoh mesej Logout di bawah.
Permintaan:
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|
Respons:
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)¶
Mesej masuk/keluar digunakan untuk meminta penghantaran semula mesej (atau mesej-mesej), biasanya apabila jurang dikesan dalam penomboran urutan.
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 7 | BeginSeqNo | Ya | Sebarang nilai yang sah | Integer | Nombor urutan mesej rekod pertama dalam julat yang akan dihantar semula. |
| 16 | EndSeqNo | Ya | Sebarang nilai yang sah | Integer | Nombor urutan mesej rekod terakhir dalam julat yang akan dihantar semula. |
Standard Trailer | Ya |
Reject (bidirectional) (MsgType(35)=3)¶
Dihantar apabila mesej yang diterima tidak dapat diproses kerana pelanggaran peraturan peringkat sesi. Mesej yang ditolak mesti direkodkan dan penambahan mesti dikenakan pada nombor urutan yang masuk.
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 45 | RefSeqNum | Ya | Sebarang nilai yang sah | SeqNum | Nombor urutan mesej yang dirujuk. |
| 58 | Text | Tidak | Sebarang nilai yang sah | String | Rentetan teks format bebas. |
| 354 | EncodedTextLen | Tidak | Sebarang nilai yang sah | Panjang | Panjang medan EncodedText (aksara bukan ASCII) dalam bait. |
| 355 | EncodedText | Tidak | Sebarang nilai yang sah | Data | Perwakilan medan Text (tag=58), dikodkan menggunakan format yang dinyatakan dalam medan MessageEncoding (tag=347) (dari pengepala standard). Jika perwakilan ASCII digunakan, ia juga harus dinyatakan dalam medan Text (tag=58). |
| 371 | RefTagID | Tidak | Sebarang nilai yang sah | Integer | Nombor tag medan FIX yang memulakan penolakan mesej. |
| 372 | RefMsgType | Tidak | Sebarang nilai yang sah | String | MsgType (tag=35) mesej FIX yang dirujuk. |
| 373 | SessionRejectReason | Tidak | Sebarang nilai yang sah | Integer | Sebab-sebab penolakan yang dikodkan. Nilai-nilai yang sah adalah: 0 = Nombor tag tidak sah 1 = Tag yang diperlukan hilang 2 = Tiada tag ditakrifkan untuk jenis mesej ini 3 = Tag tidak ditakrifkan 4 = Tiada nilai untuk tag yang dinyatakan 5 = Nilai untuk tag ini di luar julat 6 = Format data tidak betul untuk nilai 7 = Masalah penyahsulitan 8 = Ralat tandatangan 9 = Ralat CompID 10 = Ralat ketepatan SendingTime 11 = MsgType tidak sah 12 = Ralat pengesahan XML 13 = Tag sedang diulang 14 = Tag yang dinyatakan tidak dalam urutan yang betul 15 = Medan kumpulan berulang tidak dalam urutan yang betul 16 = Kiraan NumInGroup tidak betul untuk kumpulan berulang 17 = Pemisah medan (aksara SOH) termasuk dalam nilai bukan data |
Standard Trailer | Ya |
Sequence Reset (MsgType(35)=4)¶
Mesej masuk/keluar tidak boleh digunakan pada peringkat aplikasi. Mesej Tetapan Semula Urutan hanya boleh meningkatkan nombor urutan.
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 123 | GapFillFlag | Tidak | Yes atau No | String | Menunjukkan bahawa mesej Tetapan Semula Urutan menggantikan mesej pentadbiran atau aplikasi yang tidak akan dihantar semula. |
| 36 | NewSeqNo | Ya | 1 | Integer | Nombor urutan baharu. |
Standard Trailer | Ya |
Mesej aplikasi ¶
Market Data Request (MsgType(35)=V)¶
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 262 | MDReqID | Ya | Sebarang nilai yang sah | String | ID permintaan sebut harga yang unik. ID baharu untuk langganan baharu, ID yang sama seperti yang digunakan sebelum ini untuk pembuangan langganan. |
| 263 | SubscriptionRequestType | Ya | 1 atau 2 | Char | 1 = Snapshot tambah kemas kini (melanggan). 2 = Nyahaktifkan permintaan snapshot tambah kemas kini sebelumnya (berhenti melanggan). |
| 264 | MarketDepth | Ya | 0 atau 1 | Integer | Buku penuh akan disediakan. 0 = Langganan kedalaman 1 = Langganan spot |
| 265 | MDUpdateType | Ya | Sebarang nilai yang sah | Integer | Hanya Penyegaran Tambahan yang disokong. |
| 267 | NoMDEntryTypes | Ya | 2 | Integer | Sentiasa ditetapkan kepada 2 (kedua-dua bidaan dan tawaran akan dihantar). |
| 269 | MDEntryType | Ya | 0 atau 1 | Char | Kumpulan berulang ini mengandungi senarai semua jenis Entri Data Pasaran yang peminta ingin terima. 0 = Bid 1 = Offer |
| 146 | NoRelatedSym | Ya | Sebarang nilai yang sah | Integer | Bilangan simbol yang diminta. |
| 55 | Symbol | Ya | Sebarang nilai yang sah | Long | Pengecam instrumen disediakan oleh Spotware. |
Standard Trailer | Ya |
Lihat contoh mesej Permintaan Data Pasaran di bawah.
Untuk Spot
Permintaan:
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|
Respons:
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|
Untuk Kedalaman
Permintaan:
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|
Respons:
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 | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 262 | MDReqID | Ya | Sebarang nilai yang sah | String | ID permintaan data pasaran yang dihantar sebelum ini. |
| 55 | Symbol | Ya | Sebarang nilai yang sah | Long | Pengecam instrumen disediakan oleh Spotware. |
| 268 | NoMDEntries | Ya | Sebarang nilai yang sah | Integer | Bilangan entri berikutnya. |
| 269 | MDEntryType | Tidak | 0 atau 1 | Char | Nilai-nilai yang sah adalah: 0 = Bidaan 1 = Tawaran Diperlukan hanya apabila NoMDEntries (tag=268) > 0. |
| 299 | QuoteEntryID | Tidak | Sebarang nilai yang sah | String | Pengenalan unik sebut harga sebagai sebahagian daripada QuoteSet. |
| 270 | MDEntryPx | Tidak | 1.2345 | Harga | Harga Entri Data Pasaran. Diperlukan hanya apabila NoMDEntries (tag=268) > 0. |
| 271 | MDEntrySize | Tidak | 500000 | Volum | Volum Entri Data Pasaran. Diperlukan hanya apabila NoMDEntries (tag=268) > 0. |
| 278 | MDEntryID | Tidak | Sebarang nilai yang sah | String | Pengecam unik Entri Data Pasaran. |
Standard Trailer | Ya |
Market Data Incremental Refresh (MsgType(35)=X)¶
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 262 | MDReqID | Ya | Sebarang nilai yang sah | String | ID permintaan data pasaran yang dihantar sebelum ini. |
| 268 | NoMDEntries | Ya | Sebarang nilai yang sah | Integer | Bilangan entri berikutnya. Kumpulan berulang ini mengandungi senarai semua jenis Entri Data Pasaran yang peminta ingin terima. |
| 279 | MDUpdateAction | Ya | 0 atau 2 | Char | Jenis tindakan kemas kini Data Pasaran. Nilai yang sah ialah: 0 = Baharu 2 = Padam |
| 269 | MDEntryType | Tidak | 0 atau 1 | Char | Nilai yang sah ialah: 0 = Bida 1 = Tawaran |
| 278 | MDEntryID | Ya | Sebarang nilai yang sah | String | ID Entri Data Pasaran. |
| 55 | Symbol | Ya | Sebarang nilai yang sah | Long | Pengecam instrumen disediakan oleh Spotware. |
| 270 | MDEntryPx | Tidak | 1.2345 | Harga | Diperlukan hanya apabila MDUpdateAction (tag=279) = 0. |
| 271 | MDEntrySize | Tidak | 10000 | Berganda | Diperlukan hanya apabila MDUpdateAction (tag=279) = 0. |
Standard Trailer | Ya |
New Order Single (MsgType(35)=D)¶
Mesej Pesanan Tunggal Baharu mempunyai format berikut.
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 11 | ClOrdID | Ya | Sebarang nilai yang sah | String | Pengecam unik pesanan yang diperuntukkan oleh pelanggan. |
| 55 | Symbol | Ya | Sebarang nilai yang sah | Long | Pengecam instrumen disediakan oleh Spotware. |
| 54 | Side | Ya | 1 atau 2 | Integer | 1 = Buy 2 = Sell |
| 60 | TransactTime | Ya | Sebarang nilai yang sah | Cap masa | Masa permintaan yang dijana oleh pelanggan. |
| 38 | OrderQty | Ya | Sebarang nilai yang sah | Qty | Bilangan saham yang dipesan. Ini mewakili bilangan saham untuk ekuiti atau berdasarkan konvensyen biasa bilangan kontrak untuk opsyen, niaga hadapan, bon boleh tukar, dan lain-lain. Ketepatan maksimum ialah 0.01. Sebelum FIX 4.2, jenis medan ini ialah "Integer". |
| 40 | OrdType | Ya | 1, 2 atau 3 | Char | 1 = Pasaran, pesanan akan diproses mengikut skim Serta-merta atau Batal (IOC) (TimeInForce, tag=59). 2 = Had, pesanan akan diproses mengikut skim Sah Sehingga Dibatalkan (GTC) (TimeInForce, tag=59). 3 = Henti, pesanan akan diproses mengikut skim Sah Sehingga Dibatalkan (GTC) (TimeInForce, tag=59). |
| 44 | Price | Tidak | Sebarang nilai yang sah | Harga | Harga pelanggan terburuk yang akan diterima oleh pelanggan. Diperlukan hanya apabila OrdType (tag=40) = 2, dalam kes ini pesanan tidak akan diisi melainkan harga ini boleh dipenuhi. |
| 99 | StopPx | Tidak | Sebarang nilai yang sah | Harga | Harga yang mencetuskan pesanan henti. Diperlukan hanya apabila OrdType (tag=40) = 3, dalam kes ini pesanan tidak akan diisi melainkan harga ini boleh dipenuhi. |
| 59 | TimeInForce | Tidak | 1, 3 or 6 | String | Usang, nilai ini akan diabaikan. TimeInForce akan dikesan secara automatik bergantung pada OrdType (tag=40) dan ExpireTime (tag=126): 1 = Sah Sehingga Dibatalkan (GTC), akan digunakan hanya untuk pesanan had dan henti (OrdType, tag=40) hanya jika ExpireTime (tag=126) tidak ditakrifkan. 3 = Serta-merta atau Batal (IOC), akan digunakan hanya untuk pesanan pasaran (OrdType, tag=40). 6 = Sah Sehingga Tarikh (GTD), akan digunakan hanya untuk pesanan had dan henti (OrdType, tag=40) hanya jika ExpireTime (tag=126) ditakrifkan. |
| 126 | ExpireTime | Tidak | 20140215-07:24:55 | Cap masa | Masa tamat dalam format "YYYYMMDD-HH:MM:SS". Jika ditetapkan, pesanan akan diproses mengikut skim GTD (TimeInForce: GTD). |
| 721 | PosMaintRptID | Tidak | Sebarang nilai yang sah | String | ID posisi di mana pesanan ini harus diletakkan. Jika tidak ditetapkan, posisi baharu akan dicipta dan ID-nya akan dikembalikan dalam mesej Laporan Pelaksanaan. Ia hanya boleh dinyatakan untuk akaun yang dilindung nilai. |
| 494 | Designation | Tidak | Sebarang nilai yang sah | String | Label pesanan tersuai. |
Standard Trailer | Ya |
Lihat contoh mesej Pesanan Tunggal Baharu di bawah.
Pesanan pasaran ke posisi baharu
Permintaan:
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|
Respons:
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|
Pesanan pasaran ke posisi sedia ada
Permintaan:
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|
Respons:
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
Pesanan had ke posisi sedia ada
Permintaan:
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|
Respons:
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|
Pesanan henti ke posisi baharu
Permintaan:
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|
Respons:
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)¶
Mesej Permintaan Status Pesanan digunakan oleh institusi untuk menjana mesej status pesanan kembali daripada peniaga. Untuk interaksi yang betul, adalah sangat penting untuk mempunyai pengecam pesanan pelanggan yang unik (ClOrdID) untuk semua pesanan.
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 11 | ClOrdID | Ya | Sebarang nilai yang sah | String | Pengecam unik pesanan yang diperuntukkan oleh pelanggan. |
| 54 | Side | Tidak | 1 atau 2 | Integer | 1 = Buy 2 = Sell |
Standard Trailer | Ya |
Lihat contoh mesej Permintaan Status Pesanan di bawah.
Permintaan:
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|
Respons:
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)¶
Mesej Permintaan Status Massa Pesanan meminta status untuk pesanan yang memenuhi kriteria yang dinyatakan dalam permintaan. Jawapan akan dikembalikan sebagai beberapa mesej Laporan Pelaksanaan (satu untuk setiap pesanan), atau sebagai mesej Penolakan Mesej Perniagaan jika tiada pesanan ditemui.
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 584 | MassStatusReqID | Ya | Sebarang nilai yang sah | String | ID unik bagi Permintaan Status Massa yang ditetapkan oleh pelanggan. |
| 585 | MassStatusReqType | Ya | Sebarang nilai yang sah | Integer | 7 = Status untuk semua pesanan. Hanya nilai 7 yang disokong pada masa ini. |
| 225 | IssueDate | Tidak | Sebarang nilai yang sah | String | Jika ditetapkan, respons akan mengandungi hanya pesanan yang dibuat sebelum tarikh ini. |
Standard Trailer | Ya |
Lihat contoh mesej Permintaan Status Massa Pesanan di bawah.
Permintaan:
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|
Respons:
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)¶
Mesej Laporan Pelaksanaan untuk pesanan yang diterima mempunyai format berikut.
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 37 | OrderID | Ya | Sebarang nilai yang sah | String | ID pesanan cTrader. |
| 11 | ClOrdID | Tidak | Sebarang nilai yang sah | String | Pengecam unik pesanan yang diperuntukkan oleh pelanggan. |
| 911 | TotNumReports | Tidak | Sebarang nilai yang sah | Integer | Jumlah bilangan laporan yang dikembalikan sebagai respons kepada mesej Permintaan Status Massa Pesanan. |
| 150 | ExecType | Ya | Sebarang nilai yang sah | Char | 0 = New 4 = Canceled 5 = Replace 8 = Rejected C = Expired F = Trade I = Order Status |
| 39 | OrdStatus | Ya | Sebarang nilai yang sah | Char | 0 = Baharu 1 = Diisi sebahagian 2 = Diisi 8 = Ditolak 4 = Dibatalkan (apabila pesanan diisi sebahagian, Canceled dikembalikan menandakan (tag=151), LeavesQty dibatalkan dan tidak akan diisi kemudiannya). C = Tamat tempoh |
| 55 | Symbol | Tidak | Sebarang nilai yang sah | Long | Pengecam instrumen disediakan oleh Spotware. |
| 54 | Side | Tidak | 1 atau 2 | Integer | 1 = Beli 2 = Jual |
| 60 | TransactTime | Tidak | Sebarang nilai yang sah | Cap masa | Masa pelaksanaan transaksi yang diwakili oleh mesej Laporan Pelaksanaan (dalam UTC). |
| 6 | AvgPx | Tidak | Sebarang nilai yang sah | Integer | Harga di mana dagangan diisi. Untuk pesanan IOC atau GTD, ini adalah Harga Purata Berwajaran Volum (VWAP) bagi pesanan yang diisi. |
| 38 | OrderQty | Tidak | Sebarang nilai yang sah | Qty | Ini mewakili bilangan saham untuk ekuiti atau berdasarkan konvensyen biasa bilangan kontrak untuk opsyen, niaga hadapan, bon boleh tukar, dan lain-lain. Sebelum FIX 4.2, jenis medan ini ialah "Integer". |
| 151 | LeavesQty | Tidak | Sebarang nilai yang sah | Qty | Bilangan pesanan yang masih perlu diisi. Nilai yang mungkin adalah antara 0 (diisi sepenuhnya) dan OrderQty (diisi sebahagian). |
| 14 | CumQty | Tidak | Sebarang nilai yang sah | Qty | Jumlah bilangan pesanan yang telah diisi. |
| 32 | LastQty | Tidak | Sebarang nilai yang sah | Qty | Kuantiti pesanan yang dibeli/dijual yang telah diisi pada pengisian (terakhir) ini. |
| 40 | OrdType | Tidak | 1 atau 2 | Char | 1 = Pasaran 2 = Had |
| 44 | Price | Tidak | Sebarang nilai yang sah | Harga | Jika dibekalkan dalam mesej Pesanan Tunggal Baharu, ia akan diulang semula dalam mesej Laporan Pelaksanaan ini. |
| 99 | StopPx | Tidak | Sebarang nilai yang sah | Harga | Jika dibekalkan dalam mesej Pesanan Tunggal Baharu, ia akan diulang semula dalam mesej Laporan Pelaksanaan ini. |
| 59 | TimeInForce | Tidak | 1, 3 atau 6 | String | 1 = Sah Sehingga Dibatalkan (GTC) 3 = Serta-merta atau Batal (IOC) 6 = Sah Sehingga Tarikh (GTD) |
| 126 | ExpireTime | Tidak | 20140215-07:24:55 | Cap masa | Jika dibekalkan dalam mesej Pesanan Tunggal Baharu, ia akan diulang semula dalam mesej Laporan Pelaksanaan ini. |
| 58 | Text | Tidak | Sebarang nilai yang sah | String | Jika boleh, mesej akan menerangkan Laporan Pelaksanaan. |
| 103 | OrdRejReason | Tidak | 0 | Integer | 0 = OrdRejReason.BROKER_EXCHANGE_OPTION |
| 721 | PosMaintRptID | Tidak | Sebarang nilai yang sah | String | ID posisi. |
| 494 | Designation | Tidak | Sebarang nilai yang sah | String | Label pesanan tersuai pelanggan. |
| 584 | MassStatusReqID | Tidak | Sebarang nilai yang sah | String | ID unik bagi permintaan status massa yang ditetapkan oleh pelanggan. |
| 1000 | AbsoluteTP | Tidak | Sebarang nilai yang sah | Harga | Harga mutlak di mana ambilan untung akan dicetuskan. |
| 1001 | RelativeTP | Tidak | Sebarang nilai yang sah | Harga | Jarak dalam pip dari harga kemasukan di mana ambilan untung akan dicetuskan. |
| 1002 | AbsoluteSL | Tidak | Sebarang nilai yang sah | Harga | Harga mutlak di mana henti rugi akan dicetuskan. |
| 1003 | RelativeSL | Tidak | Sebarang nilai yang sah | Harga | Jarak dalam pip dari harga kemasukan di mana henti rugi akan dicetuskan. |
| 1004 | TrailingSL | Tidak | N atau Y | Boolean | Menunjukkan sama ada henti rugi adalah trailing. N = Henti rugi bukan trailing. Y = Henti rugi adalah trailing. |
| 1005 | TriggerMethodSL | Tidak | Sebarang nilai yang sah | Integer | Kaedah pencetus yang ditunjukkan bagi henti rugi. 1 = Henti rugi akan dicetuskan oleh bahagian dagangan. 2 = Henti rugi akan dicetuskan oleh bahagian bertentangan (tawaran untuk posisi beli dan bidaan untuk posisi jual). 3 = Henti rugi akan dicetuskan selepas dua tik berturut-turut mengikut bahagian dagangan. 4 = Henti rugi akan dicetuskan selepas dua tik berturut-turut mengikut bahagian bertentangan (tik tawaran kedua untuk posisi beli dan tik bidaan kedua untuk posisi jual). |
| 1006 | GuaranteedSL | Tidak | N atau Y | Boolean | Menunjukkan sama ada henti rugi adalah terjamin. N = Henti rugi tidak terjamin. Y = Henti rugi terjamin. |
Standard Trailer | Ya |
Lihat contoh Pesanan Baru Tunggal di akhir panduan.
Business Message Reject (MsgType(35)=j)¶
Jenis mesej ini dihantar apabila sistem tidak dapat memproses permintaan langganan atau pesanan tidak dapat dilaksanakan.
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 45 | RefSeqNum | Tidak | Sebarang nilai yang sah | Integer | MsgSeqNum (tag=34) bagi mesej yang ditolak. |
| 372 | RefMsgType | Tidak | Sebarang nilai yang sah | String | MsgType (tag=35) bagi mesej FIX yang dirujuk. |
| 379 | BusinessRejectRefID | Tidak | Sebarang nilai yang sah | String | Nilai medan ID peringkat perniagaan dalam mesej yang dirujuk. Diperlukan melainkan medan ID yang sepadan tidak dinyatakan. |
| 380 | BusinessRejectReason | Ya | 0 | Integer | Kod untuk mengenal pasti sebab mesej Penolakan Mesej Perniagaan. 0 = Lain-lain |
| 58 | Text | Tidak | Sebarang nilai yang sah | String | Jika boleh, mesej untuk menjelaskan sebab penolakan. |
Standard Trailer | Ya |
Lihat contoh mesej Penolakan Mesej Perniagaan di bawah.
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 | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 710 | PosReqID | Ya | Sebarang nilai yang sah | String | ID permintaan unik (ditetapkan oleh pelanggan). |
| 721 | PosMaintRptID | Tidak | Sebarang nilai yang sah | String | ID posisi untuk diminta. Jika tidak ditetapkan, semua posisi terbuka akan dikembalikan. |
Standard Trailer | Ya |
Lihat contoh mesej Permintaan untuk Posisi di bawah.
Permintaan:
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|
Respons:
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 | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 710 | PosReqID | Ya | Sebarang nilai yang sah | String | ID bagi mesej Permintaan untuk Posisi. |
| 721 | PosMaintRptID | Tidak | Sebarang nilai yang sah | String | ID posisi, yang tidak ditetapkan jika PosReqResult (tag=728) bukan VALID_REQUEST. |
| 727 | TotalNumPosReports | Ya | Sebarang nilai yang sah | String | Jumlah kiraan Laporan Posisi dalam urutan apabila PosReqResult (tag=728) ialah VALID_REQUEST, jika tidak = 0. |
| 728 | PosReqResult | Ya | 0 atau 2 | String | 0 = Permintaan sah 2 = Tiada posisi terbuka yang memenuhi kriteria ditemui. |
| 55 | Symbol | Tidak | Sebarang nilai yang sah | String | Simbol yang mana Laporan Posisi semasa disediakan. Ia tidak ditetapkan jika PosReqResult (tag=728) bukan VALID_REQUEST. |
| 702 | NoPositions | Tidak | 1 | String | 1 apabila PosReqResult (tag=728) ialah VALID_REQUEST, jika tidak tidak ditetapkan. |
| 704 | LongQty | Tidak | Sebarang nilai yang sah | String | Volum terbuka bagi posisi dalam kes bahagian dagangan beli, sama dengan 0 dalam kes bahagian dagangan jual. Tidak ditetapkan jika PosReqResult (tag=728) bukan VALID_REQUEST. |
| 705 | ShortQty | Tidak | Sebarang nilai yang sah | String | Volum terbuka bagi posisi dalam kes bahagian dagangan jual, sama dengan 0 dalam kes bahagian dagangan beli. Tidak ditetapkan jika PosReqResult (tag=728) bukan VALID_REQUEST. |
| 730 | SettlPrice | Tidak | Sebarang nilai yang sah | String | Harga purata bagi volum yang dibuka dalam Laporan Posisi semasa. |
| 1000 | AbsoluteTP | Tidak | Sebarang nilai yang sah | Harga | Harga mutlak di mana ambilan untung akan dicetuskan. |
| 1002 | AbsoluteSL | Tidak | Sebarang nilai yang sah | Harga | Harga mutlak di mana henti rugi akan dicetuskan. |
| 1004 | TrailingSL | Tidak | Sebarang nilai yang sah | Boolean | Menunjukkan sama ada henti rugi adalah trailing. N = Henti rugi bukan trailing. Y = Henti rugi adalah trailing. |
| 1005 | TriggerMethodSL | Tidak | Sebarang nilai yang sah | Integer | Kaedah pencetus yang ditunjukkan bagi henti rugi. 1 = Henti rugi akan dicetuskan oleh bahagian dagangan. 2 = Henti rugi akan dicetuskan oleh bahagian bertentangan (tawaran untuk posisi beli dan bidaan untuk posisi jual). 3 = Henti rugi akan dicetuskan selepas dua tik berturut-turut mengikut bahagian dagangan. 4 = Henti rugi akan dicetuskan selepas dua tik berturut-turut mengikut bahagian bertentangan (tik tawaran kedua untuk posisi beli dan tik bidaan kedua untuk posisi jual). |
| 1006 | GuaranteedSL | Tidak | Sebarang nilai yang sah | Boolean | Menunjukkan sama ada henti rugi adalah terjamin. N = Henti rugi tidak terjamin. Y = Henti rugi terjamin. |
Standard Trailer | Ya |
Order Cancel Request (MsgType(35)=F)¶
| Tag | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 41 | OrigClOrdID | Ya | Sebarang nilai yang sah | String | Pengecam unik pesanan yang akan dibatalkan, yang diperuntukkan oleh pelanggan. |
| 37 | OrderID | Tidak | Sebarang nilai yang sah | String | ID unik pesanan yang dikembalikan oleh cServer. |
| 11 | ClOrdID | Ya | Sebarang nilai yang sah | String | ID unik permintaan pembatalan yang diperuntukkan oleh pelanggan. |
Standard Trailer | Ya |
Lihat contoh mesej Permintaan Pembatalan Pesanan di bawah.
Permintaan:
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|
Respons (berjaya):
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|
Respons (gagal):
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 | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 37 | OrderID | Ya | Sebarang nilai yang sah | String | Pengecam unik pesanan yang tidak dapat dibatalkan oleh sistem. |
| 11 | ClOrdID | Ya | Sebarang nilai yang sah | String | Pengecam unik Permintaan Pembatalan Pesanan. |
| 41 | OrigClOrdID | Tidak | Sebarang nilai yang sah | String | Pengecam unik pesanan yang cuba dibatalkan, yang diperuntukkan oleh pelanggan. |
| 39 | OrdStatus | Ya | Sebarang nilai yang sah | Char | 0 = Baharu 1 = Sebahagiannya diisi 2 = Diisi 8 = Ditolak 4 = Dibatalkan (apabila pesanan sebahagiannya diisi Canceled dikembalikan menandakan (tag=151), LeavesQty dibatalkan dan tidak akan diisi kemudiannya). C = Tamat tempoh |
| 434 | CxlRejResponseTo | Ya | 1 atau 2 | Char | 1 = Tolak pembatalan pesanan. 2 = Tolak pindaan pesanan dari terminal lain. |
| 58 | Text | Tidak | Sebarang nilai yang sah | String | Pesanan sedang dilaksanakan. |
Standard Trailer | Ya |
Lihat contoh mesej Penolakan Pembatalan Pesanan di bawah.
Respons:
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 | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 41 | OrigClOrdID | Ya | Any valid value | String | Pengecam unik pesanan yang akan dipinda, yang diperuntukkan oleh pelanggan. |
| 37 | OrderID | Tidak | Sebarang nilai yang sah | String | ID unik pesanan asal yang akan dipinda, yang diperuntukkan oleh pelayan. Kaedah yang lebih diutamakan untuk digunakan. |
| 11 | ClOrdID | Ya | Sebarang nilai yang sah | String | ID unik permintaan pindaan yang diperuntukkan oleh pelanggan. |
| 38 | OrderQty | Ya | Sebarang nilai yang sah | Qty | Kuantiti sedia ada atau yang baru ditetapkan untuk menggantikan nilai lama. |
| 44 | Price | Tidak | Sebarang nilai yang sah | Harga | Harga had sedia ada atau yang baru ditetapkan untuk menggantikan nilai lama. Sah hanya untuk pesanan had. |
| 99 | StopPx | Tidak | Sebarang nilai yang sah | Harga | Harga henti sedia ada atau yang baru ditetapkan untuk menggantikan nilai lama. Sah hanya untuk pesanan henti. |
| 126 | ExpireTime | Tidak | 20140215-07:24:55 | Cap masa | Masa tamat tempoh sedia ada atau yang baru ditetapkan. Sah hanya untuk pesanan tertangguh. |
Standard Trailer | Ya |
Lihat contoh mesej Permintaan Pembatalan/Penggantian Pesanan di bawah.
Permintaan:
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|
Respons (berjaya):
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|
Respons (gagal):
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 | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 262 | MDReqID | Ya | Sebarang nilai yang sah | String | Mesti merujuk kepada MDReqID (tag=262) permintaan. |
| 281 | MDReqRejReason | Tidak | Sebarang nilai yang sah | Integer | 0 = Simbol tidak dikenali 4 = SubscriptionRequestType (tag=263) tidak disokong 5 = MarketDepth (tag=264) tidak disokong |
Standard Trailer | Ya |
Lihat contoh mesej Penolakan Permintaan Data Pasaran di bawah.
Permintaan:
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|
Tolak:
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|
Permintaan:
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|
Tolak:
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 | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 320 | SecurityReqID | Ya | Sebarang nilai yang sah | String | ID unik Permintaan Definisi Keselamatan. |
| 559 | SecurityListRequestType | Ya | 0 | Integer | Jenis Permintaan Senarai Keselamatan yang dibuat. Hanya menyokong 0 = Symbol (tag=55). |
| 55 | Symbol | Tidak | Sebarang nilai yang sah | Integer | ID untuk menyelesaikan nama simbol. |
Standard Trailer | Ya |
Lihat contoh mesej Permintaan Senarai Keselamatan di bawah.
Permintaan:
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|
Respons:
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 | Nama medan | Diperlukan | Nilai | Format FIX | Ulasan |
|---|---|---|---|---|---|
Standard Header | Ya | ||||
| 320 | SecurityReqID | Ya | Sebarang nilai yang sah | String | ID unik Permintaan Definisi Keselamatan. |
| 322 | SecurityResponseID | Ya | Sebarang nilai yang sah | String | ID unik respons Senarai Keselamatan. |
| 560 | SecurityRequestResult | Ya | 0 | Integer | Keputusan yang dikembalikan kepada mesej Permintaan Keselamatan. Nilai yang sah adalah: 0 = Permintaan sah. 1 = Permintaan tidak sah atau tidak disokong. 2 = Tiada instrumen yang sepadan dengan kriteria pemilihan ditemui. 3 = Tidak dibenarkan untuk mendapatkan data instrumen. 4 = Data instrumen tidak tersedia buat sementara waktu. 5 = Permintaan untuk data instrumen tidak disokong. |
| 146 | NoRelatedSym | Tidak | Sebarang nilai yang sah | Integer | Menentukan bilangan simbol (instrumen) yang berulang. |
| 55 | Symbol | Tidak | Sebarang nilai yang sah | Integer | Pengecam instrumen disediakan oleh Spotware. |
| 1007 | SymbolName | Tidak | Sebarang nilai yang sah | String | Nama simbol. |
| 1008 | SymbolDigits | Tidak | Sebarang nilai yang sah | Integer | Digit simbol. Nilai yang mungkin dari 0 hingga 5. |
Standard Trailer | Ya |
Lihat contoh mesej Senarai Keselamatan di bawah.
Respons:
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|