محرك cTrader FIX (قواعد الاشتباك)¶
مقدمة ¶
النطاق ¶
يهدف هذا المواصفات إلى خدمة مطوري البرمجيات كدليل تنفيذي لواجهة برمجة التطبيقات لمحرك cTrader FIX.
إصدار FIX ¶
يدعم cTrader الإصدار 4.4 من FIX. لمزيد من المعلومات حول هذا الإصدار، راجع هذه المواصفات.
الاتصال ¶
نوع الاتصال ¶
يتوفر الاتصال بمحرك cTrader FIX عبر الإنترنت، أو نفق VPN، أو اتصال متقاطع بمرافق مركز البيانات الخاصة بنا في المملكة المتحدة. اتصل بنا لمزيد من التفاصيل.
إعادة تعيين رقم التسلسل ¶
يجب إعادة تعيين أرقام التسلسل لجميع جوانب جلسة FIX عند إنشاء جلسة FIX. انظر رسالة تسجيل الدخول.
الرسائل ¶
كما هو محدد في بروتوكول FIX، يستخدم خادم cTrader FIX مستويين مختلفين من البيانات (النظام والتطبيق). لاحظ أن هذه هي الحد الأدنى من مجموعة الرسائل المطلوبة لدعم سير العمل الضروري. وهي عرضة للتغيير بمرور الوقت مع تطور كل من احتياجات الأعمال ومعايير FIX.
محرك cTrader FIX ¶
رسائل النظام¶
- نبض القلب (العميل ↔ cTrader)
- طلب الاختبار (العميل ↔ cTrader)
- تسجيل الدخول (العميل → cTrader)
- تسجيل الخروج (العميل → cTrader)
- طلب إعادة الإرسال (العميل ↔ cTrader)
- رفض (العميل ↔ cTrader)
- إعادة تعيين التسلسل (العميل ↔ cTrader)
رسائل التطبيق¶
- طلب بيانات السوق (العميل → cTrader)
- ملخص السوق/تحديث كامل (العميل ← cTrader)
- تحديث تدريجي لبيانات السوق (العميل ← cTrader)
- أمر جديد فردي (العميل → cTrader)
- طلب حالة الأمر (العميل → cTrader)
- طلب حالة الأوامر الجماعية (العميل → cTrader)
- تقرير التنفيذ (العميل ← cTrader)
- رفض رسالة العمل (العميل ← cTrader)
- طلب المراكز (العميل → cTrader)
- تقرير المركز (العميل ← cTrader)
- طلب إلغاء الأمر (العميل → cTrader)
- رفض إلغاء الأمر (العميل ← cTrader)
- طلب إلغاء/استبدال الأمر (العميل → cTrader)
- طلب قائمة الأوراق المالية (العميل → cTrader)
- قائمة الأوراق المالية (العميل ← cTrader)
الرأس القياسي ¶
يسبق كل رسالة إدارية أو تطبيقية رأس قياسي. تحدد الرؤوس نوع الرسالة وطولها ووجهتها ورقمها التسلسلي ونقطة المنشأ والوقت.
يجب أن تحتوي جميع الرسائل المرسلة إلى cTrader على رأس قياسي يحتوي على الحقول التالية:
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
| 8 | BeginString | نعم | FIX.4.4 | سلسلة نصية | دائمًا غير مشفرة، يجب أن تكون الحقل الأول في الرسالة. |
| 9 | BodyLength | نعم | أي قيمة صالحة | عدد صحيح | طول نص الرسالة. دائمًا غير مشفر، يجب أن يكون الحقل الثاني في الرسالة. |
| 35 | MsgType | نعم | A | سلسلة نصية | نوع الرسالة. دائمًا غير مشفرة، يجب أن تكون الحقل الثالث في الرسالة. |
| 49 | SenderCompID | نعم | أي قيمة صالحة | سلسلة نصية | معرف الطرف المتداول بالتنسيق التالي: <Environment>.<BrokerUID>.<Trader Login>، حيث Environment هو تحديد للخادم، مثل التجريبي أو الحي؛ BrokerUID يتم توفيره بواسطة cTrader و Trader Login هو معرف رقمي لحساب المتداول. |
| 56 | TargetCompID | نعم | CSERVER | سلسلة نصية | هدف الرسالة. The valid value is CSERVER. |
| 57 | TargetSubID | نعم | QUOTE أو TRADE | سلسلة نصية | مؤهل جلسة إضافي. القيم الممكنة هي QUOTE و TRADE. |
| 50 | SenderSubID | لا | أي قيمة صالحة | سلسلة نصية | القيمة المعينة المستخدمة لتحديد منشئ رسالة معين. يجب تعيينها إلى QUOTE إذا كان TargetSubID=QUOTE. |
| 34 | MsgSeqNum | نعم | 1 | عدد صحيح | الرقم التسلسلي للرسالة. |
| 52 | SendingTime | نعم | 20131129-15:40:08.155 | UTCTimestamp | وقت إرسال الرسالة معبر عنه دائمًا بتوقيت UTC (التوقيت العالمي المنسق، المعروف أيضًا باسم GMT). |
المقطع النهائي القياسي ¶
تنتهي كل رسالة، سواء كانت إدارية أو تطبيقية، بمقطع نهائي قياسي. يُستخدم المقطع النهائي لفصل الرسائل ويحتوي على تمثيل من ثلاثة أرقام لقيمة CheckSum (العلامة=10).
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
| 10 | CheckSum | نعم | 054 | سلسلة نصية | مجموع اختباري بسيط من ثلاثة بايت. دائمًا الحقل الأخير في الرسالة (على سبيل المثال، يخدم)، مع <SOH> النهائي كفاصل نهاية الرسالة. يتم تعريفه على أنه ثلاثة أحرف (دائمًا غير مشفرة). |
رسائل الجلسة ¶
Heartbeat (MsgType(35)=0)¶
يتم إرسال رسائل نبض القلب من قبل كل من cTrader وتطبيق العميل لتأكيد الاتصال النشط.
يرسل تطبيق العميل الخاص بالمزود نبضات قلب متكررة على فترات زمنية محددة بواسطة حقل HeartBtInt (العلامة=108) في رسالة تسجيل الدخول، أو كاستجابة لرسالة طلب اختبار.
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 112 | TestReqID | لا | أي قيمة صالحة | سلسلة نصية | إذا كانت نبضة القلب نتيجة لرسالة طلب الاختبار، فإن TestReqID مطلوب. |
Standard Trailer | نعم |
Test Request (MsgType(35)=1)¶
يفرض نبضة قلب من مستقبل الطلب. يتم إرسال الاستجابة من النظام المستقبل كرسالة نبض قلب تحتوي على TestReqID.
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 112 | TestReqID | نعم | أي قيمة صالحة | سلسلة نصية | معرف رسالة نبض القلب. يجب أن يكون TestReqID تصاعديًا. |
Standard Trailer | نعم |
Logon (bidirectional) (MsgType(35)=A)¶
يتم إرسال رسالة تسجيل الدخول من جانب تطبيق العميل لبدء جلسة cTrader FIX، ويتم إرسال استجابة من قبل cTrader إلى تطبيق جانب العميل. بمجرد اكتمال تسجيل الدخول، يمكن أن تستمر تدفقات الأسعار والتداول طوال دورة حياة الجلسة.
إذا تلقى cTrader رسالة تسجيل دخول غير صالحة (بحقول غير صالحة)، يرسل cTrader رسالة تسجيل خروج كاستجابة.
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 98 | EncryptMethod | نعم | 0 | عدد صحيح | يحدد مخطط تشفير الرسالة. حاليًا، يتم دعم أمان مستوى النقل فقط. القيمة الصالحة هي 0 = NONE_OTHER (لا يتم استخدام التشفير). |
| 108 | HeartBtInt | نعم | أي قيمة صالحة | عدد صحيح | فاصل زمني لنبضات القلب بالثواني. يتم تعيين القيمة في ملف config.properties (جانب العميل) كـ SERVER.POLLING.INTERVAL. القيمة الافتراضية للفاصل الزمني هي 30 ثانية. إذا تم تعيين HeartBtInt إلى 0، فلا تكون رسالة نبض القلب مطلوبة. |
| 141 | ResetSeqNumFlag | لا | Y | منطقي | يجب إعادة تعيين الأرقام التسلسلية لجميع جوانب جلسة FIX. القيمة الصالحة هي Y (إعادة تعيين). |
| 553 | Username | لا | أي قيمة صالحة | سلسلة نصية | معرف المستخدم الرقمي. يرتبط المستخدم بقيمة SenderCompID (منظمة المستخدم، العلامة=49). |
| 554 | Password | لا | أي قيمة صالحة | سلسلة نصية | كلمة مرور المستخدم. |
Standard Trailer | نعم |
ملاحظة
يجب أن يحتوي الحقل Username (العلامة=553) على قيمة تسجيل دخول المتداول الرقمية، بينما يجب أن يحتوي SenderCompID (العلامة=49) على البيئة و BrokerUID وتسجيل دخول المتداول مفصولة بنقطة (على سبيل المثال، live.theBroker.12345).
انظر أمثلة على رسائل تسجيل الدخول أدناه.
طلب:
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|
الاستجابة (نجاح):
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|
الاستجابة (فشل):
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)¶
يتم إرسال رسالة تسجيل الخروج من تطبيق العميل لطلب إنهاء الجلسة مع cTrader وكاستجابة من قبل cTrader. يحدث تسجيل الخروج من الجلسة استجابةً لإرسال المشارك في السوق رسالة تسجيل خروج إلى cTrader. قبل إنهاء الجلسة، سيقوم cTrader بإلغاء جميع الأسعار التي لا تزال تتدفق بنشاط إلى الطرف الطالب. إذا تلقى cTrader رسالة تسجيل دخول غير صالحة (بحقول غير صالحة)، يرسل cTrader رسالة تسجيل خروج كاستجابة مع تفاصيل الخطأ في حقل Text (العلامة=58).
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 58 | Text | لا | أي قيمة صالحة | سلسلة نصية | تفاصيل رفض تسجيل الدخول. تُستخدم فقط لرسائل cTrader إلى العميل كاستجابة لرسالة تسجيل دخول غير صالحة. |
Standard Trailer | نعم |
انظر أمثلة على رسائل تسجيل الخروج أدناه.
طلب:
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|
الاستجابة:
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)¶
تُستخدم رسالة واردة/صادرة لطلب إعادة إرسال رسالة (أو رسائل)، عادةً عند اكتشاف فجوة في ترقيم التسلسل.
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 7 | BeginSeqNo | نعم | أي قيمة صالحة | عدد صحيح | رقم تسلسل الرسالة للسجل الأول في النطاق المراد إعادة إرساله. |
| 16 | EndSeqNo | نعم | أي قيمة صالحة | عدد صحيح | رقم تسلسل الرسالة للسجل الأخير في النطاق المراد إعادة إرساله. |
Standard Trailer | نعم |
Reject (bidirectional) (MsgType(35)=3)¶
يتم إرسالها عندما لا يمكن معالجة الرسالة المستلمة بسبب انتهاك قاعدة على مستوى الجلسة. يجب تسجيل الرسائل المرفوضة وتطبيق زيادة على رقم التسلسل الوارد.
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 45 | RefSeqNum | نعم | أي قيمة صالحة | SeqNum | رقم تسلسل الرسالة المرجعية. |
| 58 | Text | لا | أي قيمة صالحة | سلسلة نصية | سلسلة نصية حرة التنسيق. |
| 354 | EncodedTextLen | لا | أي قيمة صالحة | المدة | طول حقل EncodedText (الأحرف غير ASCII) بالبايت. |
| 355 | EncodedText | لا | أي قيمة صالحة | البيانات | تمثيل لحقل Text (العلامة=58)، مشفر باستخدام التنسيق المحدد في حقل MessageEncoding (العلامة=347) (من الرأس القياسي). إذا تم استخدام تمثيل ASCII، يجب أيضًا تحديده في حقل Text (العلامة=58). |
| 371 | RefTagID | لا | أي قيمة صالحة | عدد صحيح | رقم علامة حقل FIX الذي بدأ رفض الرسالة. |
| 372 | RefMsgType | لا | أي قيمة صالحة | سلسلة نصية | MsgType (العلامة=35) للرسالة FIX المرجعية. |
| 373 | SessionRejectReason | لا | أي قيمة صالحة | عدد صحيح | أسباب مشفرة للرفض. القيم الصالحة هي: 0 = رقم علامة غير صالح 1 = علامة مطلوبة مفقودة 2 = لا توجد علامة محددة لهذا النوع من الرسائل 3 = علامة غير معرفة 4 = لا توجد قيمة للعلامة المحددة 5 = القيمة لهذه العلامة خارج النطاق 6 = تنسيق بيانات غير صحيح للقيمة 7 = مشكلة في فك التشفير 8 = خطأ في التوقيع 9 = خطأ في CompID 10 = خطأ في دقة SendingTime 11 = MsgType غير صالح 12 = خطأ في التحقق من صحة XML 13 = يتم تكرار العلامة 14 = العلامة المحددة ليست في الترتيب الصحيح 15 = حقول المجموعة المتكررة ليست في الترتيب الصحيح 16 = عدد NumInGroup غير صحيح للمجموعة المتكررة 17 = تم تضمين فاصل الحقول (حرف SOH) في قيمة غير البيانات |
Standard Trailer | نعم |
Sequence Reset (MsgType(35)=4)¶
لا ينبغي استخدام رسالة واردة/صادرة على مستوى التطبيق. يمكن لرسالة إعادة تعيين التسلسل فقط زيادة رقم التسلسل.
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 123 | GapFillFlag | لا | Yes أو No | سلسلة نصية | يشير إلى أن رسالة إعادة تعيين التسلسل تحل محل الرسائل الإدارية أو التطبيقية التي لن يتم إعادة إرسالها. |
| 36 | NewSeqNo | نعم | 1 | عدد صحيح | رقم تسلسل جديد. |
Standard Trailer | نعم |
رسائل التطبيق ¶
Market Data Request (MsgType(35)=V)¶
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 262 | MDReqID | نعم | أي قيمة صالحة | سلسلة نصية | معرف فريد لطلب الاقتباس. معرف جديد للاشتراك الجديد، نفس المعرف المستخدم سابقًا لإزالة الاشتراك. |
| 263 | SubscriptionRequestType | نعم | 1 أو 2 | حرف | 1 = لقطة زائد التحديثات (اشتراك). 2 = تعطيل طلب اللقطة السابقة زائد التحديث (إلغاء الاشتراك). |
| 264 | MarketDepth | نعم | 0 أو 1 | عدد صحيح | سيتم توفير كتاب كامل. 0 = اشتراك العمق 1 = اشتراك السبوت |
| 265 | MDUpdateType | نعم | أي قيمة صالحة | عدد صحيح | يتم دعم التحديث التدريجي فقط. |
| 267 | NoMDEntryTypes | نعم | 2 | عدد صحيح | دائمًا يتم تعيينه إلى 2 (سيتم إرسال كل من العرض والطلب). |
| 269 | MDEntryType | نعم | 0 أو 1 | حرف | تحتوي هذه المجموعة المتكررة على قائمة بجميع أنواع إدخالات بيانات السوق التي يريد الطالب استلامها. 0 = Bid 1 = Offer |
| 146 | NoRelatedSym | نعم | أي قيمة صالحة | عدد صحيح | عدد الرموز المطلوبة. |
| 55 | Symbol | نعم | أي قيمة صالحة | شراء | يتم توفير معرفات الأدوات من قبل Spotware. |
Standard Trailer | نعم |
انظر أمثلة على رسائل طلب بيانات السوق أدناه.
للسبوت
الطلب:
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|
الاستجابة:
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|
للأعماق
الطلب:
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|
الاستجابات:
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)¶
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 262 | MDReqID | نعم | أي قيمة صالحة | سلسلة نصية | معرف طلب بيانات السوق المرسل سابقًا. |
| 55 | Symbol | نعم | أي قيمة صالحة | شراء | يتم توفير معرفات الأدوات من قبل Spotware. |
| 268 | NoMDEntries | نعم | أي قيمة صالحة | عدد صحيح | عدد الإدخالات التالية. |
| 269 | MDEntryType | لا | 0 أو 1 | حرف | القيم الصالحة هي: 0 = عرض 1 = طلب مطلوب فقط عندما يكون NoMDEntries (العلامة=268) > 0. |
| 299 | QuoteEntryID | لا | أي قيمة صالحة | سلسلة نصية | تعريف فريد للاقتباس كجزء من QuoteSet. |
| 270 | MDEntryPx | لا | 1.2345 | السعر | سعر إدخال بيانات السوق. مطلوب فقط عندما يكون NoMDEntries (العلامة=268) > 0. |
| 271 | MDEntrySize | لا | 500000 | الحجم | حجم إدخال بيانات السوق. مطلوب فقط عندما يكون NoMDEntries (العلامة=268) > 0. |
| 278 | MDEntryID | لا | أي قيمة صالحة | سلسلة نصية | معرّف فريد لإدخال بيانات السوق. |
Standard Trailer | نعم |
Market Data Incremental Refresh (MsgType(35)=X)¶
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 262 | MDReqID | نعم | أي قيمة صالحة | سلسلة نصية | معرف طلب بيانات السوق المرسل سابقًا. |
| 268 | NoMDEntries | نعم | أي قيمة صالحة | عدد صحيح | عدد الإدخالات التالية. تحتوي هذه المجموعة المتكررة على قائمة بجميع أنواع إدخالات بيانات السوق التي يريد مقدم الطلب استلامها. |
| 279 | MDUpdateAction | نعم | 0 أو 2 | حرف | نوع إجراء تحديث بيانات السوق. القيم الصالحة هي: 0 = جديد 2 = حذف |
| 269 | MDEntryType | لا | 0 أو 1 | حرف | القيم الصالحة هي: 0 = عرض شراء 1 = عرض بيع |
| 278 | MDEntryID | نعم | أي قيمة صالحة | سلسلة نصية | معرّف إدخال بيانات السوق. |
| 55 | Symbol | نعم | أي قيمة صالحة | شراء | يتم توفير معرفات الأدوات من قبل Spotware. |
| 270 | MDEntryPx | لا | 1.2345 | السعر | مطلوب فقط عندما يكون MDUpdateAction (العلامة=279) = 0. |
| 271 | MDEntrySize | لا | 10000 | مضاعف | مطلوب فقط عندما يكون MDUpdateAction (العلامة=279) = 0. |
Standard Trailer | نعم |
New Order Single (MsgType(35)=D)¶
رسالة الأمر الفردي الجديد لها التنسيق التالي.
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 11 | ClOrdID | نعم | أي قيمة صالحة | سلسلة نصية | معرّف فريد للأمر مخصص من قبل العميل. |
| 55 | Symbol | نعم | أي قيمة صالحة | شراء | يتم توفير معرفات الأدوات من قبل Spotware. |
| 54 | Side | نعم | 1 أو 2 | عدد صحيح | 1 = Buy 2 = Sell |
| 60 | TransactTime | نعم | أي قيمة صالحة | الطابع الزمني | وقت الطلب الذي تم إنشاؤه بواسطة العميل. |
| 38 | OrderQty | نعم | أي قيمة صالحة | الكمية | عدد الأسهم المطلوبة. يمثل هذا عدد الأسهم للأسهم أو بناءً على الاتفاقية العادية عدد العقود للخيارات والعقود الآجلة والسندات القابلة للتحويل، إلخ. الدقة القصوى هي 0.01. قبل FIX 4.2، كان نوع هذا الحقل "عدد صحيح". |
| 40 | OrdType | نعم | 1، 2 أو 3 | حرف | 1 = السوق، سيتم معالجة الأمر بواسطة مخطط التنفيذ الفوري أو الإلغاء (IOC) (TimeInForce، العلامة=59). 2 = الحد، سيتم معالجة الأمر بواسطة مخطط صالح حتى الإلغاء (GTC) (TimeInForce، العلامة=59). 3 = الإيقاف، سيتم معالجة الأمر بواسطة مخطط صالح حتى الإلغاء (GTC) (TimeInForce، العلامة=59). |
| 44 | Price | لا | أي قيمة صالحة | سعر | أسوأ سعر للعميل سيقبله العميل. مطلوب فقط عندما يكون OrdType (العلامة=40) = 2، وفي هذه الحالة لن يتم تنفيذ الأمر ما لم يتم تلبية هذا السعر. |
| 99 | StopPx | لا | أي قيمة صالحة | سعر | السعر الذي يؤدي إلى تفعيل أمر الإيقاف. مطلوب فقط عندما يكون OrdType (العلامة=40) = 3، وفي هذه الحالة لن يتم تنفيذ الأمر ما لم يتم تلبية هذا السعر. |
| 59 | TimeInForce | لا | 1, 3 or 6 | سلسلة نصية | مهمل، سيتم تجاهل هذه القيمة. سيتم اكتشاف TimeInForce تلقائيًا اعتمادًا على OrdType (العلامة=40) و ExpireTime (العلامة=126): 1 = صالح حتى الإلغاء (GTC)، سيتم استخدامه فقط لأوامر الحد والإيقاف (OrdType، العلامة=40) فقط إذا لم يتم تحديد ExpireTime (العلامة=126). 3 = التنفيذ الفوري أو الإلغاء (IOC)، سيتم استخدامه فقط لأوامر السوق (OrdType، العلامة=40). 6 = صالح حتى التاريخ (GTD)، سيتم استخدامه فقط لأوامر الحد والإيقاف (OrdType، العلامة=40) فقط إذا تم تحديد ExpireTime (العلامة=126). |
| 126 | ExpireTime | لا | 20140215-07:24:55 | الطابع الزمني | وقت انتهاء الصلاحية بتنسيق "YYYYMMDD-HH:MM:SS". إذا تم تعيينه، سيتم معالجة الأمر بواسطة مخطط GTD (TimeInForce: GTD). |
| 721 | PosMaintRptID | لا | أي قيمة صالحة | سلسلة نصية | معرّف المركز حيث يجب وضع هذا الأمر. إذا لم يتم تعيينه، سيتم إنشاء مركز جديد وسيتم إرجاع معرّفه في رسالة تقرير التنفيذ. يمكن تحديده فقط للحسابات المحوطة. |
| 494 | Designation | لا | أي قيمة صالحة | سلسلة نصية | تسمية مخصصة للأمر. |
Standard Trailer | نعم |
انظر أمثلة على رسائل الأمر الفردي الجديد أدناه.
أمر السوق لمركز جديد
طلب:
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|
الاستجابات:
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|
أمر السوق لمركز موجود
طلب:
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|
الاستجابات:
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
أمر الحد لمركز موجود
طلب:
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|
الاستجابة:
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|
أمر الإيقاف لمركز جديد
طلب:
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|
الاستجابة:
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)¶
تُستخدم رسالة طلب حالة الأمر من قبل مؤسسة لإنشاء رسالة حالة الأمر مرة أخرى من المتداول. للتفاعل الصحيح، من المهم جدًا أن يكون هناك معرّفات أوامر فريدة للعميل (ClOrdID) لجميع الأوامر.
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 11 | ClOrdID | نعم | أي قيمة صالحة | سلسلة نصية | معرّف فريد للأمر مخصص من قبل العميل. |
| 54 | Side | لا | 1 أو 2 | عدد صحيح | 1 = Buy 2 = Sell |
Standard Trailer | نعم |
انظر أمثلة على رسائل طلب حالة الأمر أدناه.
طلب:
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|
الاستجابة:
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)¶
تطلب رسالة طلب حالة الأوامر الشاملة الحالة للأوامر التي تتطابق مع المعايير المحددة في الطلب. سيتم إرجاع الإجابة كعدد من رسائل تقرير التنفيذ (واحدة لكل أمر)، أو كرسالة رفض رسالة الأعمال إذا لم يتم العثور على أي أوامر.
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 584 | MassStatusReqID | نعم | أي قيمة صالحة | سلسلة نصية | معرّف فريد لطلب الحالة الجماعي كما تم تعيينه من قبل العميل. |
| 585 | MassStatusReqType | نعم | أي قيمة صالحة | عدد صحيح | 7 = الحالة لجميع الأوامر. فقط القيمة 7 مدعومة حاليًا. |
| 225 | IssueDate | لا | أي قيمة صالحة | سلسلة نصية | إذا تم تعيينها، سيحتوي الرد فقط على الأوامر التي تم إنشاؤها قبل هذا التاريخ. |
Standard Trailer | نعم |
انظر أمثلة على رسائل طلب الحالة الجماعية للأوامر أدناه.
طلب:
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|
الاستجابة:
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)¶
رسالة تقرير التنفيذ للأمر المقبول لها التنسيق التالي.
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 37 | OrderID | نعم | أي قيمة صالحة | سلسلة نصية | معرّف أمر cTrader. |
| 11 | ClOrdID | لا | أي قيمة صالحة | سلسلة نصية | معرّف فريد للأمر مخصص من قبل العميل. |
| 911 | TotNumReports | لا | أي قيمة صالحة | عدد صحيح | العدد الإجمالي للتقارير المُرجعة استجابةً لرسالة طلب الحالة الجماعية للأوامر. |
| 150 | ExecType | نعم | أي قيمة صالحة | حرف | 0 = New 4 = Canceled 5 = Replace 8 = Rejected C = Expired F = Trade I = Order Status |
| 39 | OrdStatus | نعم | أي قيمة صالحة | حرف | 0 = جديد 1 = تم التنفيذ جزئيًا 2 = تم التنفيذ بالكامل 8 = مرفوض 4 = ملغى (عندما يتم تنفيذ الأمر جزئيًا، يتم إرجاع ملغى للإشارة إلى (الوسم=151)، الكمية المتبقية تم إلغاؤها ولن يتم تنفيذها لاحقًا). C = منتهي الصلاحية |
| 55 | Symbol | لا | أي قيمة صالحة | شراء | يتم توفير معرفات الأدوات من قبل Spotware. |
| 54 | Side | لا | 1 أو 2 | عدد صحيح | 1 = شراء 2 = بيع |
| 60 | TransactTime | لا | أي قيمة صالحة | الطابع الزمني | وقت تنفيذ المعاملة الممثلة برسالة تقرير التنفيذ (بتوقيت UTC). |
| 6 | AvgPx | لا | أي قيمة صالحة | عدد صحيح | السعر الذي تم به تنفيذ الصفقة. بالنسبة لأمر IOC أو GTD، هذا هو متوسط السعر المرجح بالحجم (VWAP) للأمر المنفذ. |
| 38 | OrderQty | لا | أي قيمة صالحة | الكمية | يمثل هذا عدد الأسهم للأسهم أو بناءً على الاتفاقية العادية عدد العقود للخيارات والعقود الآجلة والسندات القابلة للتحويل، إلخ. قبل FIX 4.2، كان نوع هذا الحقل "عدد صحيح". |
| 151 | LeavesQty | لا | أي قيمة صالحة | الكمية | عدد الأوامر التي لا تزال بحاجة إلى التنفيذ. القيم الممكنة هي بين 0 (تم التنفيذ بالكامل) و كمية الأمر (تم التنفيذ جزئيًا). |
| 14 | CumQty | لا | أي قيمة صالحة | الكمية | العدد الإجمالي للأوامر التي تم تنفيذها. |
| 32 | LastQty | لا | أي قيمة صالحة | الكمية | الكمية المشتراة/المباعة من الأوامر التي تم تنفيذها في هذا التنفيذ (الأخير). |
| 40 | OrdType | لا | 1 أو 2 | حرف | 1 = السوق 2 = الحد |
| 44 | Price | لا | أي قيمة صالحة | سعر | إذا تم توفيره في رسالة أمر جديد فردي، يتم إرجاعه في رسالة تقرير التنفيذ هذه. |
| 99 | StopPx | لا | أي قيمة صالحة | السعر | إذا تم توفيره في رسالة أمر جديد فردي، يتم إرجاعه في رسالة تقرير التنفيذ هذه. |
| 59 | TimeInForce | لا | 1، 3 أو 6 | سلسلة نصية | 1 = صالح حتى الإلغاء (GTC) 3 = التنفيذ الفوري أو الإلغاء (IOC) 6 = صالح حتى تاريخ (GTD) |
| 126 | ExpireTime | لا | 20140215-07:24:55 | الطابع الزمني | إذا تم توفيره في رسالة أمر جديد فردي، يتم إرجاعه في رسالة تقرير التنفيذ هذه. |
| 58 | Text | لا | أي قيمة صالحة | سلسلة نصية | حيثما أمكن، ستشرح الرسالة تقرير التنفيذ. |
| 103 | OrdRejReason | لا | 0 | عدد صحيح | 0 = OrdRejReason.BROKER_EXCHANGE_OPTION |
| 721 | PosMaintRptID | لا | أي قيمة صالحة | سلسلة نصية | معرّف المركز. |
| 494 | Designation | لا | أي قيمة صالحة | سلسلة نصية | تسمية الأمر المخصصة للعميل. |
| 584 | MassStatusReqID | لا | أي قيمة صالحة | سلسلة نصية | معرّف فريد لطلب الحالة الجماعي كما تم تعيينه من قبل العميل. |
| 1000 | AbsoluteTP | لا | أي قيمة صالحة | سعر | السعر المطلق الذي سيتم عنده تفعيل جني الأرباح. |
| 1001 | RelativeTP | لا | أي قيمة صالحة | سعر | المسافة بالبيب من سعر الدخول التي سيتم عندها تفعيل جني الأرباح. |
| 1002 | AbsoluteSL | لا | أي قيمة صالحة | السعر | السعر المطلق الذي سيتم عنده تفعيل إيقاف الخسارة. |
| 1003 | RelativeSL | لا | أي قيمة صالحة | السعر | المسافة بالبيب من سعر الدخول التي سيتم عندها تفعيل إيقاف الخسارة. |
| 1004 | TrailingSL | لا | N أو Y | منطقي | يشير إلى ما إذا كان إيقاف الخسارة متحركًا. N = إيقاف الخسارة غير متحرك. Y = إيقاف الخسارة متحرك. |
| 1005 | TriggerMethodSL | لا | أي قيمة صالحة | عدد صحيح | طريقة التفعيل المشار إليها لإيقاف الخسارة. 1 = سيتم تفعيل وقف الخسارة من جانب التداول. 2 = سيتم تفعيل وقف الخسارة من الجانب المعاكس (سعر الطلب لمراكز الشراء وسعر العرض لمراكز البيع). 3 = سيتم تفعيل وقف الخسارة بعد تيكتين متتاليتين وفقًا لجانب التداول. 4 = سيتم تفعيل وقف الخسارة بعد تيكتين متتاليتين وفقًا للجانب المعاكس (التيك الثاني لسعر الطلب لمراكز الشراء والتيك الثاني لسعر العرض لمراكز البيع). |
| 1006 | GuaranteedSL | لا | N أو Y | منطقي | يشير إلى ما إذا كان وقف الخسارة مضمونًا. N = وقف الخسارة غير مضمون. Y = وقف الخسارة مضمون. |
Standard Trailer | نعم |
انظر مثال الأمر الجديد الفردي في نهاية الدليل.
Business Message Reject (MsgType(35)=j)¶
يتم إرسال هذا النوع من الرسائل عندما يتعذر على النظام معالجة طلب اشتراك أو لا يمكن تنفيذ أمر.
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 45 | RefSeqNum | لا | أي قيمة صالحة | عدد صحيح | MsgSeqNum (الوسم=34) للرسالة المرفوضة. |
| 372 | RefMsgType | لا | أي قيمة صالحة | سلسلة نصية | MsgType (الوسم=35) لرسالة FIX المشار إليها. |
| 379 | BusinessRejectRefID | لا | أي قيمة صالحة | سلسلة نصية | قيمة حقل المعرف على مستوى الأعمال في الرسالة المشار إليها. مطلوب ما لم يتم تحديد حقل المعرف المقابل. |
| 380 | BusinessRejectReason | نعم | 0 | عدد صحيح | رمز لتحديد سبب رسالة رفض رسالة الأعمال. 0 = أخرى |
| 58 | Text | لا | أي قيمة صالحة | سلسلة نصية | حيثما أمكن، رسالة لشرح سبب الرفض. |
Standard Trailer | نعم |
انظر مثال رسالة رفض رسالة الأعمال أدناه.
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)¶
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 710 | PosReqID | نعم | أي قيمة صالحة | سلسلة نصية | معرف طلب فريد (يحدده العميل). |
| 721 | PosMaintRptID | لا | أي قيمة صالحة | سلسلة نصية | معرف المركز المطلوب. إذا لم يتم تعيينه، سيتم إرجاع جميع المراكز المفتوحة. |
Standard Trailer | نعم |
انظر أمثلة رسائل طلب المراكز أدناه.
طلب:
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|
الاستجابة:
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)¶
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 710 | PosReqID | نعم | أي قيمة صالحة | سلسلة نصية | معرف رسالة طلب المراكز. |
| 721 | PosMaintRptID | لا | أي قيمة صالحة | سلسلة نصية | معرف المركز، والذي لا يتم تعيينه إذا كان PosReqResult (الوسم=728) ليس VALID_REQUEST. |
| 727 | TotalNumPosReports | نعم | أي قيمة صالحة | سلسلة نصية | العدد الإجمالي لتقارير المراكز في تسلسل عندما يكون PosReqResult (الوسم=728) هو VALID_REQUEST، وإلا = 0. |
| 728 | PosReqResult | نعم | 0 أو 2 | سلسلة نصية | 0 = طلب صالح 2 = لم يتم العثور على مراكز مفتوحة تطابق المعايير. |
| 55 | Symbol | لا | أي قيمة صالحة | سلسلة نصية | رمز الأداة التي تم إعداد تقرير المركز الحالي لها. لا يتم تعيينه إذا كان PosReqResult (الوسم=728) ليس VALID_REQUEST. |
| 702 | NoPositions | لا | 1 | سلسلة نصية | 1 عندما يكون PosReqResult (الوسم=728) هو VALID_REQUEST، وإلا لا يتم تعيينه. |
| 704 | LongQty | لا | أي قيمة صالحة | سلسلة نصية | الحجم المفتوح للمركز في حالة جانب تداول الشراء، يساوي 0 في حالة جانب تداول البيع. لا يتم تعيينه إذا كان PosReqResult (الوسم=728) ليس VALID_REQUEST. |
| 705 | ShortQty | لا | أي قيمة صالحة | سلسلة نصية | الحجم المفتوح للمركز في حالة جانب تداول البيع، يساوي 0 في حالة جانب تداول الشراء. لا يتم تعيينه إذا كان PosReqResult (الوسم=728) ليس VALID_REQUEST. |
| 730 | SettlPrice | لا | أي قيمة صالحة | سلسلة نصية | متوسط سعر الحجم المفتوح في تقرير المركز الحالي. |
| 1000 | AbsoluteTP | لا | أي قيمة صالحة | سعر | السعر المطلق الذي سيتم عنده تفعيل جني الأرباح. |
| 1002 | AbsoluteSL | لا | أي قيمة صالحة | سعر | السعر المطلق الذي سيتم عنده تفعيل إيقاف الخسارة. |
| 1004 | TrailingSL | لا | أي قيمة صالحة | منطقي | يشير إلى ما إذا كان إيقاف الخسارة متحركًا. N = إيقاف الخسارة غير متحرك. Y = إيقاف الخسارة متحرك. |
| 1005 | TriggerMethodSL | لا | أي قيمة صالحة | عدد صحيح | طريقة التفعيل المشار إليها لإيقاف الخسارة. 1 = سيتم تفعيل وقف الخسارة من جانب التداول. 2 = سيتم تفعيل وقف الخسارة من الجانب المعاكس (سعر الطلب لمراكز الشراء وسعر العرض لمراكز البيع). 3 = سيتم تفعيل وقف الخسارة بعد تيكتين متتاليتين وفقًا لجانب التداول. 4 = سيتم تفعيل وقف الخسارة بعد تيكتين متتاليتين وفقًا للجانب المعاكس (التيك الثاني لسعر الطلب لمراكز الشراء والتيك الثاني لسعر العرض لمراكز البيع). |
| 1006 | GuaranteedSL | لا | أي قيمة صالحة | منطقي | يشير إلى ما إذا كان وقف الخسارة مضمونًا. N = وقف الخسارة غير مضمون. Y = وقف الخسارة مضمون. |
Standard Trailer | نعم |
Order Cancel Request (MsgType(35)=F)¶
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 41 | OrigClOrdID | نعم | أي قيمة صالحة | سلسلة نصية | معرف فريد للأمر الذي سيتم إلغاؤه، يتم تخصيصه من قبل العميل. |
| 37 | OrderID | لا | أي قيمة صالحة | سلسلة نصية | معرف فريد للأمر تم إرجاعه بواسطة cServer. |
| 11 | ClOrdID | نعم | أي قيمة صالحة | سلسلة نصية | معرف فريد لطلب الإلغاء مخصص من قبل العميل. |
Standard Trailer | نعم |
انظر أمثلة على رسائل طلب إلغاء الأمر أدناه.
طلب:
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|
الاستجابة (نجاح):
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|
الاستجابة (فشل):
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)¶
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 37 | OrderID | نعم | أي قيمة صالحة | سلسلة نصية | معرف فريد للأمر الذي لم يتمكن النظام من إلغائه. |
| 11 | ClOrdID | نعم | أي قيمة صالحة | سلسلة نصية | معرف فريد لطلب إلغاء الأمر. |
| 41 | OrigClOrdID | لا | أي قيمة صالحة | سلسلة نصية | معرف فريد للأمر الذي تمت محاولة إلغائه، مخصص من قبل العميل. |
| 39 | OrdStatus | نعم | أي قيمة صالحة | حرف | 0 = جديد 1 = تم التنفيذ جزئيًا 2 = تم التنفيذ 8 = مرفوض 4 = ملغى (عندما يتم تنفيذ الأمر جزئيًا يتم إرجاع "ملغى" للإشارة إلى (العلامة=151)، LeavesQty تم إلغاؤها ولن يتم تنفيذها لاحقًا). C = منتهي الصلاحية |
| 434 | CxlRejResponseTo | نعم | 1 أو 2 | حرف | 1 = رفض إلغاء الأمر. 2 = رفض تعديل الأمر من طرف آخر. |
| 58 | Text | لا | أي قيمة صالحة | سلسلة نصية | الأمر قيد التنفيذ. |
Standard Trailer | نعم |
انظر مثالاً على رسالة رفض إلغاء الأمر أدناه.
الاستجابة:
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)¶
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 41 | OrigClOrdID | نعم | Any valid value | سلسلة نصية | معرف فريد للأمر الذي سيتم تعديله، مخصص من قبل العميل. |
| 37 | OrderID | لا | أي قيمة صالحة | سلسلة نصية | معرف فريد للأمر الأصلي الذي سيتم تعديله، مخصص من قبل الخادم. الطريقة المفضلة للاستخدام. |
| 11 | ClOrdID | نعم | أي قيمة صالحة | سلسلة نصية | معرف فريد لطلب التعديل مخصص من قبل العميل. |
| 38 | OrderQty | نعم | أي قيمة صالحة | الكمية | كمية موجودة أو محددة حديثًا لاستبدال القيمة القديمة. |
| 44 | Price | لا | أي قيمة صالحة | سعر | سعر حد موجود أو محدد حديثًا لاستبدال القيمة القديمة. صالح فقط لأوامر الحد. |
| 99 | StopPx | لا | أي قيمة صالحة | سعر | سعر إيقاف موجود أو محدد حديثًا لاستبدال القيمة القديمة. صالح فقط لأوامر الإيقاف. |
| 126 | ExpireTime | لا | 20140215-07:24:55 | الطابع الزمني | وقت انتهاء الصلاحية الموجود أو المحدد حديثًا. صالح فقط للأوامر المعلقة. |
Standard Trailer | نعم |
انظر أمثلة على رسائل طلب إلغاء/استبدال الأمر أدناه.
طلب:
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|
الاستجابة (نجاح):
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|
الاستجابة (فشل):
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)¶
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 262 | MDReqID | نعم | أي قيمة صالحة | سلسلة نصية | يجب أن يشير إلى MDReqID (العلامة=262) الخاص بالطلب. |
| 281 | MDReqRejReason | لا | أي قيمة صالحة | عدد صحيح | 0 = رمز غير معروف 4 = SubscriptionRequestType غير مدعوم (العلامة=263) 5 = MarketDepth غير مدعوم (العلامة=264) |
Standard Trailer | نعم |
انظر أمثلة على رسائل رفض طلب بيانات السوق أدناه.
طلب:
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|
رفض:
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|
طلب:
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|
رفض:
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)¶
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 320 | SecurityReqID | نعم | أي قيمة صالحة | سلسلة نصية | معرف فريد لطلب تعريف الأمان. |
| 559 | SecurityListRequestType | نعم | 0 | عدد صحيح | نوع طلب قائمة الأمان الذي يتم إجراؤه. مدعوم فقط 0 = Symbol (العلامة=55). |
| 55 | Symbol | لا | أي قيمة صالحة | عدد صحيح | معرف لحل اسم الرمز. |
Standard Trailer | نعم |
انظر أمثلة على رسائل طلب قائمة الأمان أدناه.
طلب:
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|
الاستجابة:
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)¶
| العلامة | اسم الحقل | مطلوب | القيمة | تنسيق FIX | التعليقات |
|---|---|---|---|---|---|
Standard Header | نعم | ||||
| 320 | SecurityReqID | نعم | أي قيمة صالحة | سلسلة نصية | معرف فريد لطلب تعريف الأمان. |
| 322 | SecurityResponseID | نعم | أي قيمة صالحة | سلسلة نصية | معرف فريد لاستجابة قائمة الأمان. |
| 560 | SecurityRequestResult | نعم | 0 | عدد صحيح | النتائج المُرجعة لرسالة طلب الأمان. القيم الصالحة هي: 0 = طلب صالح. 1 = طلب غير صالح أو غير مدعوم. 2 = لم يتم العثور على أدوات تطابق معايير الاختيار. 3 = غير مصرح باسترداد بيانات الأداة. 4 = بيانات الأداة غير متوفرة مؤقتًا. 5 = طلب بيانات الأداة غير مدعوم. |
| 146 | NoRelatedSym | لا | أي قيمة صالحة | عدد صحيح | يحدد عدد الرموز (الأدوات) المتكررة. |
| 55 | Symbol | لا | أي قيمة صالحة | عدد صحيح | يتم توفير معرفات الأدوات من قبل Spotware. |
| 1007 | SymbolName | لا | أي قيمة صالحة | سلسلة نصية | اسم الرمز. |
| 1008 | SymbolDigits | لا | أي قيمة صالحة | عدد صحيح | أرقام الرمز. القيم الممكنة من 0 إلى 5. |
Standard Trailer | نعم |
انظر مثالاً على رسالة قائمة الأمان أدناه.
الاستجابة:
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|