cTrader FIX motoru (Etkileşim Kuralları)¶
Giriş ¶
Kapsam ¶
Bu spesifikasyon, yazılım geliştiricilerine cTrader FIX motoru API'si için bir uygulama kılavuzu olarak hizmet etmeyi amaçlamaktadır.
FIX sürümü ¶
cTrader, FIX sürüm 4.4'ü destekler. Bu sürüm hakkında daha fazla bilgi için şu spesifikasyonlara bakın.
Bağlantı ¶
Bağlantı türü ¶
cTrader'ın FIX motoruna bağlantı, İnternet, bir VPN tüneli veya Birleşik Krallık'taki veri merkezi tesislerimize çapraz bağlantı yoluyla sağlanır. Daha fazla ayrıntı için bize ulaşın.
Sıra numarası sıfırlama ¶
Bir FIX oturumunun tüm tarafları, bir FIX oturumu kurarken sıra numaralarını sıfırlamalıdır. Oturum Açma mesajına bakın.
Mesajlar ¶
FIX protokolünde tanımlandığı gibi, cTrader FIX sunucusu iki farklı veri düzeyi (sistem ve uygulama) kullanır. Bunun, gerekli iş akışlarını desteklemek için gereken minimum mesaj kümesi olduğunu unutmayın. Hem iş ihtiyaçları hem de FIX standartları geliştikçe zaman içinde değişebilir.
cTrader FIX motoru ¶
Sistem mesajları¶
- Heartbeat (Client ↔ cTrader)
- Test Request (Client ↔ cTrader)
- Logon (Client → cTrader)
- Logout (Client → cTrader)
- Resend Request (Client ↔ cTrader)
- Reject (Client ↔ cTrader)
- Sequence Reset (Client ↔ cTrader)
Uygulama mesajları¶
- 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)
Standart başlık ¶
Her yönetim veya uygulama mesajından önce standart bir başlık gelir. Başlıklar bir mesaj türünü, uzunluğunu, hedefini, sıra numarasını, çıkış noktasını ve zamanını tanımlar.
cTrader'a gönderilen tüm mesajlar aşağıdaki alanlara sahip standart bir başlığa sahip olmalıdır:
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
| 8 | BeginString | Evet | FIX.4.4 | Dize | Her zaman şifrelenmemiş, bir mesajdaki ilk alan olmalıdır. |
| 9 | BodyLength | Evet | Herhangi bir geçerli değer | Tamsayı | Mesaj gövde uzunluğu. Her zaman şifrelenmemiş, mesajdaki ikinci alan olmalıdır. |
| 35 | MsgType | Evet | A | Dize | Bir mesaj türü. Her zaman şifrelenmemiş, bir mesajdaki üçüncü alan olmalıdır. |
| 49 | SenderCompID | Evet | Herhangi bir geçerli değer | Dize | Aşağıdaki biçimde işlem yapan tarafın kimliği: <Environment>.<BrokerUID>.<Trader Login>, burada Environment sunucunun bir belirlemesidir, örneğin demo veya canlı; BrokerUID, cTrader tarafından sağlanır ve Trader Login, trader hesabının sayısal bir tanımlayıcısıdır. |
| 56 | TargetCompID | Evet | CSERVER | Dize | Bir mesaj hedefi. The valid value is CSERVER. |
| 57 | TargetSubID | Evet | QUOTE veya TRADE | Dize | Ek bir oturum niteleyicisi. Olası değerler QUOTE ve TRADE'dir. |
| 50 | SenderSubID | Hayır | Herhangi bir geçerli değer | Dize | Belirli bir mesaj oluşturucuyu tanımlamak için kullanılan atanan değer. TargetSubID=QUOTE ise QUOTE olarak ayarlanmalıdır. |
| 34 | MsgSeqNum | Evet | 1 | Tamsayı | Mesajın sıra numarası. |
| 52 | SendingTime | Evet | 20131129-15:40:08.155 | UTCTimestamp | Mesajın gönderilme zamanı her zaman UTC (Eşgüdümlü Evrensel Zaman, GMT olarak da bilinir) olarak ifade edilir. |
Standart fragman ¶
Her mesaj, yönetimsel veya uygulama, standart bir fragman ile sonlandırılır. Fragman, mesajları ayırmak için kullanılır ve CheckSum (etiket=10) değerinin üç basamaklı bir gösterimini içerir.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
| 10 | CheckSum | Evet | 054 | Dize | Üç baytlık basit sağlama toplamı. Her zaman bir mesajdaki son alan (örneğin, sunucular), sondaki <SOH> mesaj sonu sınırlayıcısı olarak kullanılır. Üç karakter olarak tanımlanır (her zaman şifrelenmemiş). |
Oturum mesajları ¶
Heartbeat (MsgType(35)=0)¶
Bağlantının canlı olduğunu doğrulamak için hem cTrader hem de istemci uygulaması tarafından sinyal mesajları gönderilir.
Sağlayıcının istemci uygulaması, bir Logon mesajındaki HeartBtInt (etiket=108) alanı tarafından tanımlanan aralıkta veya bir Test İsteği mesajına yanıt olarak yinelenen bir sinyal gönderir.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 112 | TestReqID | Hayır | Herhangi bir geçerli değer | Dize | Bir sinyal, Test İsteği mesajının bir sonucuysa, TestReqID gereklidir. |
Standard Trailer | Evet |
Test Request (MsgType(35)=1)¶
Bir isteğin alıcısından bir sinyali zorlar. Alıcı sistemden TestReqID içeren bir Sinyal mesajı olarak bir yanıt gönderilir.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 112 | TestReqID | Evet | Herhangi bir geçerli değer | Dize | Bir sinyal mesajı kimliği. TestReqID artan olmalıdır. |
Standard Trailer | Evet |
Logon (bidirectional) (MsgType(35)=A)¶
Bir Logon mesajı, bir cTrader FIX oturumu başlatmak için istemci tarafı uygulamasından gönderilir ve bir yanıt, cTrader tarafından istemci tarafı uygulamasına gönderilir. Oturum tamamlandıktan sonra, oturumun yaşam döngüsü için kotasyon ve işlem akışları devam edebilir.
cTrader tarafından geçersiz bir Logon mesajı alınırsa (geçersiz alanlarla), cTrader yanıt olarak bir Logout mesajı gönderir.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 98 | EncryptMethod | Evet | 0 | Tamsayı | Bir mesaj şifreleme şemasını tanımlar. Şu anda yalnızca taşıma düzeyi güvenliği desteklenmektedir. Geçerli değer 0 = NONE_OTHER'dır (şifreleme kullanılmaz). |
| 108 | HeartBtInt | Evet | Herhangi bir geçerli değer | Tamsayı | Saniye cinsinden bir sinyal aralığı. Değer, config.properties dosyasında (istemci tarafı) SERVER.POLLING.INTERVAL olarak ayarlanır. Varsayılan aralık değeri 30 saniyedir. HeartBtInt 0 olarak ayarlanırsa, sinyal mesajı gerekmez. |
| 141 | ResetSeqNumFlag | Hayır | Y | Boole | FIX oturumunun tüm tarafları sıra numaralarını sıfırlamalıdır. Geçerli değer Y'dir (sıfırla). |
| 553 | Username | Hayır | Herhangi bir geçerli değer | Dize | Sayısal bir Kullanıcı Kimliği. Kullanıcı, SenderCompID değerine (kullanıcının kuruluşu, etiket=49) bağlanır. |
| 554 | Password | Hayır | Herhangi bir geçerli değer | Dize | Bir kullanıcı parolası. |
Standard Trailer | Evet |
Not
Username (etiket=553) alanı sayısal bir trader oturum açma değeri içermelidir, SenderCompID (etiket=49) ise bir ortam, BrokerUID ve bir nokta ile ayrılmış bir trader oturum açma değeri içermelidir (örneğin, live.theBroker.12345).
Aşağıdaki Logon mesajı örneklerine bakın.
İstek:
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|
Yanıt (başarılı):
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|
Yanıt (başarısız):
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)¶
Bir Logout mesajı, cTrader ile bir oturum sonu istemek için istemci uygulamasından ve cTrader tarafından bir yanıt olarak gönderilir. Bir oturum kapatma, bir Pazar Katılımcısının cTrader'a bir Logout mesajı göndermesine yanıt olarak gerçekleşir. Oturumu sonlandırmadan önce, cTrader, istekte bulunan tarafa hala aktif olarak yayınlanan tüm fiyatları iptal edecektir. cTrader tarafından geçersiz bir Logon mesajı alınırsa (geçersiz alanlarla), cTrader, Text (etiket=58) alanında hata ayrıntılarıyla birlikte yanıt olarak bir Logout mesajı gönderir.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 58 | Text | Hayır | Herhangi bir geçerli değer | Dize | Logon reddetme ayrıntıları. Yalnızca geçersiz bir Logon mesajı yanıtı olarak cTrader'dan istemciye mesajlar için kullanılır. |
Standard Trailer | Evet |
Aşağıdaki Logout mesajı örneklerine bakın.
İstek:
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|
Yanıt:
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)¶
Bir gelen/giden mesaj, genellikle sıra numaralandırmasında bir boşluk tespit edildiğinde, bir mesajı (veya mesajları) yeniden göndermek için kullanılır.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 7 | BeginSeqNo | Evet | Herhangi bir geçerli değer | Tamsayı | Yeniden gönderilecek aralıktaki ilk kaydın mesaj sıra numarası. |
| 16 | EndSeqNo | Evet | Herhangi bir geçerli değer | Tamsayı | Yeniden gönderilecek aralıktaki son kaydın mesaj sıra numarası. |
Standard Trailer | Evet |
Reject (bidirectional) (MsgType(35)=3)¶
Oturum düzeyi bir kural ihlali nedeniyle alınan mesaj işlenemediğinde gönderilir. Reddedilen mesajlar kaydedilmeli ve gelen sıra numarasına bir artış uygulanmalıdır.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 45 | RefSeqNum | Evet | Herhangi bir geçerli değer | SeqNum | Referans alınan mesajın sıra numarası. |
| 58 | Text | Hayır | Herhangi bir geçerli değer | Dize | Serbest biçimli bir metin dizesi. |
| 354 | EncodedTextLen | Hayır | Herhangi bir geçerli değer | Uzunluk | EncodedText (ASCII olmayan karakterler) alanının bayt cinsinden uzunluğu. |
| 355 | EncodedText | Hayır | Herhangi bir geçerli değer | Veri | MessageEncoding (etiket=347) alanında (standart başlıktan) belirtilen biçim kullanılarak kodlanmış Text (etiket=58) alanının bir gösterimi. ASCII gösterimi kullanılıyorsa, Text (etiket=58) alanında da belirtilmelidir. |
| 371 | RefTagID | Hayır | Herhangi bir geçerli değer | Tamsayı | Mesaj reddini başlatan FIX alanının etiket numarası. |
| 372 | RefMsgType | Hayır | Herhangi bir geçerli değer | Dize | Referans alınan FIX mesajının MsgType (etiket=35). |
| 373 | SessionRejectReason | Hayır | Herhangi bir geçerli değer | Tamsayı | Reddetmenin kodlanmış nedenleri. Geçerli değerler şunlardır: 0 = Geçersiz etiket numarası 1 = Gerekli etiket eksik 2 = Bu mesaj türü için tanımlanmış etiket yok 3 = Tanımsız Etiket 4 = Belirtilen etiket için değer yok 5 = Bu etiket için değer aralık dışında 6 = Değer için yanlış veri biçimi 7 = Şifre çözme sorunu 8 = İmza hatası 9 = CompID hatası 10 = SendingTime doğruluk hatası 11 = MsgType geçersiz 12 = XML Doğrulama hatası 13 = Etiket tekrarlanıyor 14 = Belirtilen etiket doğru sırada değil 15 = Tekrarlayan grup alanları doğru sırada değil 16 = Tekrarlayan grup için yanlış NumInGroup sayısı 17 = Veri dışı değerde alan sınırlayıcı (SOH karakteri) içeriyor |
Standard Trailer | Evet |
Sequence Reset (MsgType(35)=4)¶
Bir gelen/giden mesaj uygulama düzeyinde kullanılmamalıdır. Bir Sıra Sıfırlama mesajı yalnızca bir sıra numarasını artırabilir.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 123 | GapFillFlag | Hayır | Evet veya Hayır | Dize | Bir Sıra Sıfırlama mesajının, yeniden gönderilmeyecek olan yönetimsel veya uygulama mesajlarının yerini aldığını gösterir. |
| 36 | NewSeqNo | Evet | 1 | Tamsayı | Yeni bir sıra numarası. |
Standard Trailer | Evet |
Uygulama mesajları ¶
Market Data Request (MsgType(35)=V)¶
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 262 | MDReqID | Evet | Herhangi bir geçerli değer | Dize | Benzersiz bir kotasyon istek kimliği. Yeni bir abonelik için yeni bir kimlik, bir abonelik kaldırma için daha önce kullanılan kimliğin aynısı. |
| 263 | SubscriptionRequestType | Evet | 1veya2` | Karakter | 1 = Anlık görüntü artı güncellemeler (abone ol). 2 = Önceki anlık görüntü artı güncelleme isteğini devre dışı bırak (aboneliği iptal et). |
| 264 | MarketDepth | Evet | 0 veya 1 | Tamsayı | Tam bir defter sağlanacaktır. 0 = Derinlik aboneliği 1 = Spot aboneliği |
| 265 | MDUpdateType | Evet | Herhangi bir geçerli değer | Tamsayı | Yalnızca Artımlı Yenileme desteklenir. |
| 267 | NoMDEntryTypes | Evet | 2 | Tamsayı | Her zaman 2 olarak ayarlayın (hem alış hem de satış gönderilecektir). |
| 269 | MDEntryType | Evet | 0 veya 1 | Karakter | Bu tekrar eden grup, talep edenin almak istediği tüm Piyasa Verisi Girişleri türlerinin bir listesini içerir. 0 = Bid 1 = Offer |
| 146 | NoRelatedSym | Evet | Herhangi bir geçerli değer | Tamsayı | İstenen sembol sayısı. |
| 55 | Symbol | Evet | Herhangi bir geçerli değer | Uzun | Enstrüman tanımlayıcıları Spotware tarafından sağlanır. |
Standard Trailer | Evet |
Aşağıdaki Piyasa Verisi İsteği mesajı örneklerine bakın.
Spotlar İçin
İstek:
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|
Yanıt:
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|
Derinlikler İçin
İstek:
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|
Yanıtlar:
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)¶
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 262 | MDReqID | Evet | Herhangi bir geçerli değer | Dize | Daha önce gönderilen piyasa verisi isteğinin kimliği. |
| 55 | Symbol | Evet | Herhangi bir geçerli değer | Uzun | Enstrüman tanımlayıcıları Spotware tarafından sağlanır. |
| 268 | NoMDEntries | Evet | Herhangi bir geçerli değer | Tamsayı | Aşağıdaki girişlerin sayısı. |
| 269 | MDEntryType | Hayır | 0 veya 1 | Karakter | Geçerli değerler şunlardır: 0 = Satış 1 = Alış Yalnızca NoMDEntries (etiket=268) > 0 olduğunda gereklidir. |
| 299 | QuoteEntryID | Hayır | Herhangi bir geçerli değer | Dize | QuoteSet'in bir parçası olarak kotasyonun benzersiz bir tanımlaması. |
| 270 | MDEntryPx | Hayır | 1.2345 | Fiyat | Piyasa Verisi Girişinin fiyatı. Yalnızca NoMDEntries (etiket=268) > 0 olduğunda gereklidir. |
| 271 | MDEntrySize | Hayır | 500000 | Hacim | Piyasa Verisi Girişinin hacmi. Yalnızca NoMDEntries (etiket=268) > 0 olduğunda gereklidir. |
| 278 | MDEntryID | Hayır | Herhangi bir geçerli değer | Dize | Benzersiz bir Piyasa Verisi Girişi tanımlayıcısı. |
Standard Trailer | Evet |
Market Data Incremental Refresh (MsgType(35)=X)¶
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 262 | MDReqID | Evet | Herhangi bir geçerli değer | Dize | Daha önce gönderilen piyasa verisi isteğinin kimliği. |
| 268 | NoMDEntries | Evet | Herhangi bir geçerli değer | Tamsayı | Aşağıdaki girişlerin sayısı. Bu tekrar eden grup, talep edenin almak istediği tüm Piyasa Verisi Girişleri türlerinin bir listesini içerir. |
| 279 | MDUpdateAction | Evet | 0 veya 2 | Karakter | Piyasa Verisi güncelleme eyleminin türü. Geçerli değerler şunlardır: 0 = Yeni 2 = Sil |
| 269 | MDEntryType | Hayır | 0 veya 1 | Karakter | Geçerli değerler şunlardır: 0 = Satış 1 = Alış |
| 278 | MDEntryID | Evet | Herhangi bir geçerli değer | Dize | Piyasa Verisi Girişinin kimliği. |
| 55 | Symbol | Evet | Herhangi bir geçerli değer | Uzun | Enstrüman tanımlayıcıları Spotware tarafından sağlanır. |
| 270 | MDEntryPx | Hayır | 1.2345 | Fiyat | Yalnızca MDUpdateAction (etiket=279) = 0 olduğunda gereklidir. |
| 271 | MDEntrySize | Hayır | 10000 | Çift | Yalnızca MDUpdateAction (etiket=279) = 0 olduğunda gereklidir. |
Standard Trailer | Evet |
New Order Single (MsgType(35)=D)¶
Yeni Emir Tek mesajı aşağıdaki biçime sahiptir.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 11 | ClOrdID | Evet | Herhangi bir geçerli değer | Dize | İstemci tarafından tahsis edilen emrin benzersiz bir tanımlayıcısı. |
| 55 | Symbol | Evet | Herhangi bir geçerli değer | Uzun | Enstrüman tanımlayıcıları Spotware tarafından sağlanır. |
| 54 | Side | Evet | 1veya2` | Tamsayı | 1 = Buy 2 = Sell |
| 60 | TransactTime | Evet | Herhangi bir geçerli değer | Zaman damgası | İstemci tarafından oluşturulan istek zamanı. |
| 38 | OrderQty | Evet | Herhangi bir geçerli değer | Miktar | Sipariş edilen pay sayısı. Bu, hisse senetleri için pay sayısını veya normal uygulamaya göre opsiyonlar, vadeli işlemler, dönüştürülebilir tahviller vb. için sözleşme sayısını temsil eder. Maksimum hassasiyet 0,01'dir. FIX 4.2'den önce, bu alanın türü "Tamsayı" idi. |
| 40 | OrdType | Evet | 1, 2 veya 3 | Karakter | 1 = Piyasa, emir Anında veya İptal (IOC) şeması (TimeInForce, etiket=59) tarafından işlenecektir. 2 = Limitli, emir İptale Kadar Geçerli (GTC) şeması (TimeInForce, etiket=59) tarafından işlenecektir. 3 = Stop, emir İptale Kadar Geçerli (GTC) şeması (TimeInForce, etiket=59) tarafından işlenecektir. |
| 44 | Price | Hayır | Herhangi bir geçerli değer | Fiyat | İstemcinin kabul edeceği en kötü istemci fiyatı. Yalnızca OrdType (etiket=40) = 2 olduğunda gereklidir; bu durumda, bu fiyat karşılanmadıkça emir doldurulmayacaktır. |
| 99 | StopPx | Hayır | Herhangi bir geçerli değer | Fiyat | Stop emrini tetikleyen bir fiyat. Yalnızca OrdType (etiket=40) = 3 olduğunda gereklidir; bu durumda, bu fiyat karşılanmadıkça emir doldurulmayacaktır. |
| 59 | TimeInForce | Hayır | 1, 3 or 6 | Dize | Kullanımdan kaldırıldı, bu değer yok sayılacaktır. TimeInForce, OrdType (etiket=40) ve ExpireTime (etiket=126) değerlerine bağlı olarak otomatik olarak algılanacaktır: 1 = İptale Kadar Geçerli (GTC), yalnızca limitli ve stop emirleri (OrdType, etiket=40) için yalnızca ExpireTime (etiket=126) tanımlanmamışsa kullanılacaktır. 3 = Anında veya İptal (IOC), yalnızca piyasa emirleri (OrdType, etiket=40) için kullanılacaktır. 6 = Tarihe Kadar Geçerli (GTD), yalnızca limitli ve stop emirleri (OrdType, etiket=40) için yalnızca ExpireTime (etiket=126) tanımlanmışsa kullanılacaktır. |
| 126 | ExpireTime | Hayır | 20140215-07:24:55 | Zaman damgası | YYYYMMDD-HH:MM:SS biçiminde sona erme zamanı. Atanırsa, emir GTD şeması (TimeInForce: GTD) tarafından işlenecektir. |
| 721 | PosMaintRptID | Hayır | Herhangi bir geçerli değer | Dize | Bu emrin yerleştirileceği bir pozisyon numarası. Ayarlanmamışsa, yeni bir pozisyon oluşturulacak ve kimliği Execution Report mesajında döndürülecektir. Yalnızca hedging hesapları için belirtilebilir. |
| 494 | Designation | Hayır | Herhangi bir geçerli değer | Dize | Özel bir emir etiketi. |
Standard Trailer | Evet |
Aşağıdaki Yeni Emir Tek mesajı örneklerine bakın.
Yeni pozisyona piyasa emri
İstek:
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|
Yanıtlar:
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|
Mevcut pozisyona piyasa emri
İstek:
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|
Yanıtlar:
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
Mevcut pozisyona limitli emir
İstek:
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|
Yanıt:
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|
Yeni pozisyona stop emri
İstek:
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|
Yanıt:
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)¶
Bir Emir Durumu İsteği mesajı, bir kurum tarafından yatırımcıdan bir emir durumu mesajı geri oluşturmak için kullanılır. Doğru bir etkileşim için, tüm emirler için benzersiz istemci emir tanımlayıcılarına (ClOrdID) sahip olmak çok önemlidir.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 11 | ClOrdID | Evet | Herhangi bir geçerli değer | Dize | İstemci tarafından tahsis edilen emrin benzersiz bir tanımlayıcısı. |
| 54 | Side | Hayır | 1veya2` | Tamsayı | 1 = Buy 2 = Sell |
Standard Trailer | Evet |
Aşağıdaki Emir Durumu İsteği mesajı örneklerine bakın.
İstek:
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|
Yanıt:
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)¶
Bir Emir Toplu Durum İsteği mesajı, istek içinde belirtilen kriterlerle eşleşen emirlerin durumunu ister. Yanıt, bir dizi Execution Report mesajı (her emir için bir tane) veya hiçbir emir bulunamazsa bir Business Message Reject mesajı olarak döndürülecektir.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 584 | MassStatusReqID | Evet | Herhangi bir geçerli değer | Dize | İstemci tarafından atanan Toplu Durum İsteğinin benzersiz bir kimliği. |
| 585 | MassStatusReqType | Evet | Herhangi bir geçerli değer | Tamsayı | 7 = Tüm emirlerin durumu. Şu anda yalnızca 7 değeri desteklenmektedir. |
| 225 | IssueDate | Hayır | Herhangi bir geçerli değer | Dize | Ayarlanırsa, yanıt yalnızca bu tarihten önce oluşturulan emirleri içerecektir. |
Standard Trailer | Evet |
Aşağıdaki Emir Toplu Durum İsteği mesajı örneklerine bakın.
İstek:
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|
Yanıt:
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)¶
Kabul edilen bir emir için bir Execution Report mesajı aşağıdaki biçime sahiptir.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 37 | OrderID | Evet | Herhangi bir geçerli değer | Dize | Bir cTrader emir numarası. |
| 11 | ClOrdID | Hayır | Herhangi bir geçerli değer | Dize | İstemci tarafından tahsis edilen emrin benzersiz bir tanımlayıcısı. |
| 911 | TotNumReports | Hayır | Herhangi bir geçerli değer | Tamsayı | Order Mass Status Request mesajına yanıt olarak döndürülen toplam rapor sayısı. |
| 150 | ExecType | Evet | Herhangi bir geçerli değer | Karakter | 0 = New 4 = Canceled 5 = Replace 8 = Rejected C = Expired F = Trade I = Order Status |
| 39 | OrdStatus | Evet | Herhangi bir geçerli değer | Karakter | 0 = Yeni 1 = Kısmen dolduruldu 2 = Dolduruldu 8 = Reddedildi 4 = İptal edildi (emir kısmen doldurulduğunda, Canceled (tag=151) belirtilerek, LeavesQty iptal edilir ve daha sonra doldurulmaz). C = Süresi doldu |
| 55 | Symbol | Hayır | Herhangi bir geçerli değer | Uzun | Enstrüman tanımlayıcıları Spotware tarafından sağlanır. |
| 54 | Side | Hayır | 1veya2` | Tamsayı | 1 = Al 2 = Sat |
| 60 | TransactTime | Hayır | Herhangi bir geçerli değer | Zaman damgası | Execution Report mesajıyla temsil edilen bir işlemin yürütülme zamanı (UTC cinsinden). |
| 6 | AvgPx | Hayır | Herhangi bir geçerli değer | Tamsayı | İşlemin doldurulduğu fiyat. Bir IOC veya GTD emri için, bu, doldurulmuş emrin Hacim Ağırlıklı Ortalama Fiyatı (VWAP) olur. |
| 38 | OrderQty | Hayır | Herhangi bir geçerli değer | Miktar | Bu, hisse senetleri için pay sayısını veya normal uygulamaya göre opsiyonlar, vadeli işlemler, dönüştürülebilir tahviller vb. için sözleşme sayısını temsil eder. FIX 4.2'den önce, bu alanın türü "Tamsayı" idi. |
| 151 | LeavesQty | Hayır | Herhangi bir geçerli değer | Miktar | Hala doldurulması gereken emir sayısı. Olası değerler 0 (tamamen doldurulmuş) ile OrderQty (kısmen doldurulmuş) arasındadır. |
| 14 | CumQty | Hayır | Herhangi bir geçerli değer | Miktar | Doldurulmuş olan toplam emir sayısı. |
| 32 | LastQty | Hayır | Herhangi bir geçerli değer | Miktar | Bu (son) doldurmada doldurulmuş olan emirlerin alım/satım miktarı. |
| 40 | OrdType | Hayır | 1veya2` | Karakter | 1 = Piyasa 2 = Limit |
| 44 | Price | Hayır | Herhangi bir geçerli değer | Fiyat | New Order Single mesajında sağlanmışsa, bu Execution Report mesajında geri yansıtılır. |
| 99 | StopPx | Hayır | Herhangi bir geçerli değer | Fiyat | New Order Single mesajında sağlanmışsa, bu Execution Report mesajında geri yansıtılır. |
| 59 | TimeInForce | Hayır | 1, 3 veya 6 | Dize | 1 = İptal Edilene Kadar Geçerli (GTC) 3 = Hemen veya İptal (IOC) 6 = Belirli Bir Tarihe Kadar Geçerli (GTD) |
| 126 | ExpireTime | Hayır | 20140215-07:24:55 | Zaman damgası | New Order Single mesajında sağlanmışsa, bu Execution Report mesajında geri yansıtılır. |
| 58 | Text | Hayır | Herhangi bir geçerli değer | Dize | Mümkün olduğunda, bir mesaj Execution Report'u açıklayacaktır. |
| 103 | OrdRejReason | Hayır | 0 | Tamsayı | 0 = OrdRejReason.BROKER_EXCHANGE_OPTION |
| 721 | PosMaintRptID | Hayır | Herhangi bir geçerli değer | Dize | Bir pozisyon numarası. |
| 494 | Designation | Hayır | Herhangi bir geçerli değer | Dize | Müşterinin özel bir emir etiketi. |
| 584 | MassStatusReqID | Hayır | Herhangi bir geçerli değer | Dize | Müşteri tarafından atanan toplu durum isteğinin benzersiz bir numarası. |
| 1000 | AbsoluteTP | Hayır | Herhangi bir geçerli değer | Fiyat | Kâr al'ın tetikleneceği mutlak bir fiyat. |
| 1001 | RelativeTP | Hayır | Herhangi bir geçerli değer | Fiyat | Kâr al'ın tetikleneceği giriş fiyatından pip cinsinden mesafe. |
| 1002 | AbsoluteSL | Hayır | Herhangi bir geçerli değer | Fiyat | Zarar durdur'un tetikleneceği mutlak bir fiyat. |
| 1003 | RelativeSL | Hayır | Herhangi bir geçerli değer | Fiyat | Zarar durdur'un tetikleneceği giriş fiyatından pip cinsinden mesafe. |
| 1004 | TrailingSL | Hayır | N veya Y | Boole | Zarar durdur'un hareketli olup olmadığını gösterir. N = Zarar durdur hareketli değil. Y = Zarar durdur hareketli. |
| 1005 | TriggerMethodSL | Hayır | Herhangi bir geçerli değer | Tamsayı | Zarar durdur'un belirtilen bir tetikleme yöntemi. 1 = Zarar durdur, işlem tarafı tarafından tetiklenecektir. 2 = Zarar durdur, karşı taraf tarafından tetiklenecektir (alım pozisyonları için alış ve satım pozisyonları için satış). 3 = Zarar durdur, işlem tarafına göre iki ardışık tikten sonra tetiklenecektir. 4 = Zarar durdur, karşı tarafa göre iki ardışık tikten sonra tetiklenecektir (alım pozisyonları için ikinci alış tiki ve satım pozisyonları için ikinci satış tiki). |
| 1006 | GuaranteedSL | Hayır | N veya Y | Boole | Zarar durdur'un garantili olup olmadığını gösterir. N = Zarar durdur garantili değil. Y = Zarar durdur garantili. |
Standard Trailer | Evet |
Kılavuzun sonundaki Yeni Emir Tek örneğine bakın.
Business Message Reject (MsgType(35)=j)¶
Bu mesaj türü, sistem bir abonelik isteğini işleyemediğinde veya bir emir yürütülemediğinde gönderilir.
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 45 | RefSeqNum | Hayır | Herhangi bir geçerli değer | Tamsayı | Reddedilen mesajın MsgSeqNum (etiket=34). |
| 372 | RefMsgType | Hayır | Herhangi bir geçerli değer | Dize | Referans verilen FIX mesajının MsgType (etiket=35). |
| 379 | BusinessRejectRefID | Hayır | Herhangi bir geçerli değer | Dize | Referans verilen mesajdaki iş düzeyi numarası alanının değeri. Karşılık gelen numara alanı belirtilmemişse gereklidir. |
| 380 | BusinessRejectReason | Evet | 0 | Tamsayı | Bir İş Mesajı Reddetme mesajının nedenini tanımlayan bir kod. 0 = Diğer |
| 58 | Text | Hayır | Herhangi bir geçerli değer | Dize | Mümkün olduğunda, reddedilme nedenini açıklayan bir mesaj. |
Standard Trailer | Evet |
Aşağıda bir İş Mesajı Reddetme mesajı örneğine bakın.
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)¶
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 710 | PosReqID | Evet | Herhangi bir geçerli değer | Dize | Benzersiz bir istek numarası (müşteri tarafından ayarlanır). |
| 721 | PosMaintRptID | Hayır | Herhangi bir geçerli değer | Dize | İstenilecek bir pozisyon numarası. Ayarlanmamışsa, tüm açık pozisyonlar döndürülür. |
Standard Trailer | Evet |
Aşağıda Pozisyon İstekleri mesajlarının örneklerine bakın.
İstek:
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|
Yanıt:
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)¶
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 710 | PosReqID | Evet | Herhangi bir geçerli değer | Dize | Pozisyon İsteği mesajının bir numarası. |
| 721 | PosMaintRptID | Hayır | Herhangi bir geçerli değer | Dize | PosReqResult (etiket=728) VALID_REQUEST değilse ayarlanmayan bir pozisyon numarası. |
| 727 | TotalNumPosReports | Evet | Herhangi bir geçerli değer | Dize | PosReqResult (etiket=728) VALID_REQUEST olduğunda bir dizideki Pozisyon Raporlarının toplam sayısı, aksi takdirde = 0. |
| 728 | PosReqResult | Evet | 0 veya 2 | Dize | 0 = Geçerli istek 2 = Kriterlere uyan açık pozisyon bulunamadı. |
| 55 | Symbol | Hayır | Herhangi bir geçerli değer | Dize | Mevcut Pozisyon Raporunun hazırlandığı bir sembol. PosReqResult (etiket=728) VALID_REQUEST değilse ayarlanmaz. |
| 702 | NoPositions | Hayır | 1 | Dize | PosReqResult (etiket=728) VALID_REQUEST olduğunda 1, aksi takdirde ayarlanmaz. |
| 704 | LongQty | Hayır | Herhangi bir geçerli değer | Dize | Alım işlem tarafı durumunda pozisyonun açık hacmi, satım işlem tarafı durumunda 0'a eşittir. PosReqResult (etiket=728) VALID_REQUEST değilse ayarlanmaz. |
| 705 | ShortQty | Hayır | Herhangi bir geçerli değer | Dize | Satım işlem tarafı durumunda pozisyonun açık hacmi, alım işlem tarafı durumunda 0'a eşittir. PosReqResult (etiket=728) VALID_REQUEST değilse ayarlanmaz. |
| 730 | SettlPrice | Hayır | Herhangi bir geçerli değer | Dize | Mevcut Pozisyon Raporunda açılan hacmin ortalama fiyatı. |
| 1000 | AbsoluteTP | Hayır | Herhangi bir geçerli değer | Fiyat | Kâr al'ın tetikleneceği mutlak bir fiyat. |
| 1002 | AbsoluteSL | Hayır | Herhangi bir geçerli değer | Fiyat | Zarar durdur'un tetikleneceği mutlak bir fiyat. |
| 1004 | TrailingSL | Hayır | Herhangi bir geçerli değer | Boole | Zarar durdur'un hareketli olup olmadığını gösterir. N = Zarar durdur hareketli değil. Y = Zarar durdur hareketli. |
| 1005 | TriggerMethodSL | Hayır | Herhangi bir geçerli değer | Tamsayı | Zarar durdur'un belirtilen bir tetikleme yöntemi. 1 = Zarar durdur, işlem tarafı tarafından tetiklenecektir. 2 = Zarar durdur, karşı taraf tarafından tetiklenecektir (alım pozisyonları için alış ve satım pozisyonları için satış). 3 = Zarar durdur, işlem tarafına göre iki ardışık tikten sonra tetiklenecektir. 4 = Zarar durdur, karşı tarafa göre iki ardışık tikten sonra tetiklenecektir (alım pozisyonları için ikinci alış tiki ve satım pozisyonları için ikinci satış tiki). |
| 1006 | GuaranteedSL | Hayır | Herhangi bir geçerli değer | Boole | Zarar durdur'un garantili olup olmadığını gösterir. N = Zarar durdur garantili değil. Y = Zarar durdur garantili. |
Standard Trailer | Evet |
Order Cancel Request (MsgType(35)=F)¶
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 41 | OrigClOrdID | Evet | Herhangi bir geçerli değer | Dize | Müşteri tarafından tahsis edilen, iptal edilecek olan emrin benzersiz bir tanımlayıcısı. |
| 37 | OrderID | Hayır | Herhangi bir geçerli değer | Dize | cServer tarafından döndürülen emrin benzersiz bir numarası. |
| 11 | ClOrdID | Evet | Herhangi bir geçerli değer | Dize | Müşteri tarafından tahsis edilen iptal isteğinin benzersiz bir numarası. |
Standard Trailer | Evet |
Aşağıda Emir İptal İsteği mesajlarının örneklerine bakın.
İstek:
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|
Yanıt (başarılı):
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|
Yanıt (başarısız):
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)¶
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 37 | OrderID | Evet | Herhangi bir geçerli değer | Dize | Sistemin iptal edemediği emrin benzersiz bir tanımlayıcısı. |
| 11 | ClOrdID | Evet | Herhangi bir geçerli değer | Dize | Emir İptal İsteğinin benzersiz bir tanımlayıcısı. |
| 41 | OrigClOrdID | Hayır | Herhangi bir geçerli değer | Dize | Müşteri tarafından tahsis edilen, iptal edilmeye çalışılan emrin benzersiz bir tanımlayıcısı. |
| 39 | OrdStatus | Evet | Herhangi bir geçerli değer | Karakter | 0 = Yeni 1 = Kısmen dolduruldu 2 = Dolduruldu 8 = Reddedildi 4 = İptal edildi (emir kısmen doldurulduğunda, Canceled (etiket=151) belirtilerek, LeavesQty iptal edilir ve daha sonra doldurulmaz). C = Süresi doldu |
| 434 | CxlRejResponseTo | Evet | 1veya2` | Karakter | 1 = İptal emrini reddet. 2 = Başka bir terminalden düzeltme emrini reddet. |
| 58 | Text | Hayır | Herhangi bir geçerli değer | Dize | Bir emir yürütülüyor. |
Standard Trailer | Evet |
Aşağıda bir Emir İptal Reddetme mesajı örneğine bakın.
Yanıt:
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)¶
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 41 | OrigClOrdID | Evet | Any valid value | Dize | Müşteri tarafından tahsis edilen, düzeltilecek olan emrin benzersiz bir tanımlayıcısı. |
| 37 | OrderID | Hayır | Herhangi bir geçerli değer | Dize | Sunucu tarafından tahsis edilen, düzeltilecek olan orijinal emrin benzersiz bir numarası. Kullanılacak tercih edilen bir yöntem. |
| 11 | ClOrdID | Evet | Herhangi bir geçerli değer | Dize | Müşteri tarafından tahsis edilen düzeltme isteğinin benzersiz bir numarası. |
| 38 | OrderQty | Evet | Herhangi bir geçerli değer | Miktar | Eski değeri değiştirmek için mevcut veya yeni belirtilmiş miktar. |
| 44 | Price | Hayır | Herhangi bir geçerli değer | Fiyat | Eski değeri değiştirmek için mevcut veya yeni belirtilmiş limit fiyatı. Yalnızca limitli emirler için geçerlidir. |
| 99 | StopPx | Hayır | Herhangi bir geçerli değer | Fiyat | Eski değeri değiştirmek için mevcut veya yeni belirtilmiş durdurma fiyatı. Yalnızca stop emirleri için geçerlidir. |
| 126 | ExpireTime | Hayır | 20140215-07:24:55 | Zaman damgası | Mevcut veya yeni belirtilmiş sona erme zamanı. Yalnızca bekleyen emirler için geçerlidir. |
Standard Trailer | Evet |
Aşağıda Emir İptal/Değiştirme İsteği mesajı örneklerine bakın.
İstek:
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|
Yanıt (başarılı):
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|
Yanıt (başarısız):
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)¶
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 262 | MDReqID | Evet | Herhangi bir geçerli değer | Dize | İsteğin MDReqID (etiket=262) değerine başvurmalıdır. |
| 281 | MDReqRejReason | Hayır | Herhangi bir geçerli değer | Tamsayı | 0 = Bilinmeyen sembol 4 = Desteklenmeyen SubscriptionRequestType (etiket=263) 5 = Desteklenmeyen MarketDepth (etiket=264) |
Standard Trailer | Evet |
Aşağıda Piyasa Verisi İsteği Reddetme mesajı örneklerine bakın.
İstek:
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|
Reddet:
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|
İstek:
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|
Reddet:
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)¶
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 320 | SecurityReqID | Evet | Herhangi bir geçerli değer | Dize | Güvenlik Tanımı İsteğinin benzersiz kimliği. |
| 559 | SecurityListRequestType | Evet | 0 | Tamsayı | Yapılan Güvenlik Listesi İsteğinin türü. Yalnızca 0 = Sembol (etiket=55) desteklenir. |
| 55 | Symbol | Hayır | Herhangi bir geçerli değer | Tamsayı | Sembol adını çözümlemek için bir kimlik. |
Standard Trailer | Evet |
Aşağıda Güvenlik Listesi İsteği mesajı örneklerine bakın.
İstek:
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|
Yanıt:
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)¶
| Etiket | Alan adı | Gerekli | Değer | FIX formatı | Yorumlar |
|---|---|---|---|---|---|
Standard Header | Evet | ||||
| 320 | SecurityReqID | Evet | Herhangi bir geçerli değer | Dize | Güvenlik Tanımı İsteğinin benzersiz kimliği. |
| 322 | SecurityResponseID | Evet | Herhangi bir geçerli değer | Dize | Güvenlik Listesi yanıtının benzersiz kimliği. |
| 560 | SecurityRequestResult | Evet | 0 | Tamsayı | Güvenlik İsteği mesajına döndürülen sonuçlar. Geçerli değerler: 0 = Geçerli istek. 1 = Geçersiz veya desteklenmeyen istek. 2 = Seçim ölçütleriyle eşleşen hiçbir araç bulunamadı. 3 = Enstrüman verilerini alma yetkisi yok. 4 = Enstrüman verileri geçici olarak kullanılamıyor. 5 = Enstrüman verileri için istek desteklenmiyor. |
| 146 | NoRelatedSym | Hayır | Herhangi bir geçerli değer | Tamsayı | Tekrarlanan sembollerin (enstrümanların) sayısını belirtir. |
| 55 | Symbol | Hayır | Herhangi bir geçerli değer | Tamsayı | Enstrüman tanımlayıcıları Spotware tarafından sağlanır. |
| 1007 | SymbolName | Hayır | Herhangi bir geçerli değer | Dize | Bir sembol adı. |
| 1008 | SymbolDigits | Hayır | Herhangi bir geçerli değer | Tamsayı | Sembol basamakları. 0 ile 5 arasında olası değerler. |
Standard Trailer | Evet |
Aşağıda bir Güvenlik Listesi mesajı örneğine bakın.
Yanıt:
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|