كيف تعمل Order API في الفوركس
ماذا يعني Order API في الفوركس
Order API هي واجهة برمجية تُستخدم لإرسال أوامر التداول وإدارتها. في الفوركس، عادةً ما تربط نظامًا آليًا بجهة تداول أو منصة وسيط، بحيث يمكن للنظام إنشاء أمر، ومتابعة حالته، واستلام عمليات التنفيذ أو تقارير الأخطاء.
يمكنك التفكير فيها كاتجاهين للتواصل:
- أنت ترسل طلب أمر (ما تريد تداوله وكيف).
- المنصة ترسل ردودًا (ما حدث، مثل القبول أو الرفض أو التنفيذ الجزئي أو التنفيذ الكامل).
يركز هذا الشرح على الآلية العامة. أسماء الحقول المحددة ونقاط النهاية وأكواد الحالة الدقيقة تختلف حسب المزود.
النموذج الأساسي: النية والطلب ودورة حياة التنفيذ
غالبًا ما تُنمذج عملية عمل Order API العملية كسلسلة:
-
بناء أمر يقوم العميل بإنشاء كائن أمر يحتوي على التفاصيل المطلوبة لدى جهة التداول. تشمل العناصر الشائعة:
- الأداة (زوج العملات أو رمز الفوركس)
- الاتجاه (شراء أو بيع)
- الكمية أو الوحدات (حجم المركز)
- نوع الأمر (على سبيل المثال، أمر شبيه بالسوق مقابل أمر شبيه بالحد)
- حقول سعر اختيارية (إذا كان نوع الأمر يتطلبها)
- قيود زمنية (مثل مدة بقاء الأمر نشطًا)
-
إرسال طلب الأمر يرسل العميل طلب الأمر عبر الـ API. غالبًا ما يتم التحقق من صحة الطلب من حيث التنسيق واكتماله قبل قبوله لمزيد من المعالجة.
-
استلام رد فوري (إقرار) غالبًا ما تُرجع الـ API إقرارًا قد يشير إلى أحد هذه النتائج العامة:
- تم قبوله للمعالجة
- تم رفضه بسبب التحقق من الصحة أو الصلاحيات أو قيود التداول
- تم وضعه في قائمة انتظار أو معلّق ضمن خط أنابيب داخلي ما
-
متابعة تغيّرات الحالة بعد القبول، يمكن أن تحدث تحديثات الحالة بمرور الوقت. تشمل أمثلة انتقالات الحالة “مفتوح”، “منفذ جزئيًا”، “منفذ بالكامل”، أو “ملغي”.
-
استلام عمليات التنفيذ وإنهاء التسوية المحاسبية يستلم النظام تفاصيل التنفيذ التي تمثل ما تم تداوله فعليًا (fills). تُشتق نتيجة التداول من عمليات التنفيذ هذه، وليس من طلب الأمر الأصلي.
الفكرة الأساسية: تسجل الـ API ما تم تنفيذه، بينما يكون الأمر الأصلي مجرد تعليمات مع افتراضات (على سبيل المثال، أن المنصة يمكنها التنفيذ وفق الشروط المقصودة).
المدخلات والمخرجات: ما الذي ترسله عادةً وما الذي تستلمه عادةً
المدخلات المعتادة
عادةً ما يرسل عميل Order API بيانات منظمة مثل:
- معرّفات الأوامر: مرجع يولده العميل و/أو معرّف أمر من المزود
- تفاصيل الأداة: رمز أو كود الزوج
- اتجاه الصفقة: شراء/بيع
- الحجم: كمية/وحدات وأحيانًا نوع كمية الأمر
- نوع الأمر والقيود: حدود سعر إذا كانت مطبقة، وقواعد time-in-force
- قيود المخاطر أو الامتثال (حسب المزود): على سبيل المثال، الحد الأدنى للحجم أو الأدوات المسموح بها
افتراض للأمثلة أدناه: بما أنه لا يتم تقديم مخطط خاص بالمزود هنا، اعتبر هذه الحقول مجرد تمثيل مفاهيمي تتضمنه العديد من الأنظمة.
المخرجات المعتادة
عادةً ما تُرجع الـ API:
- حالة الأمر/التأكيد: تم قبوله، تم رفضه، تم إلغاؤه، تم تنفيذه بالكامل، إلخ.
- تقارير التنفيذ لعمليات التنفيذ (fills): الكمية المنفذة، وسعر التنفيذ (أو المتوسط)، والطوابع الزمنية
- معلومات الأخطاء عند حالات الفشل: أكواد الأسباب والرسائل
- توفر الحساب أو الهامش غالبًا ما يكون ضمنيًا عبر ما إذا تم قبول الأمر أو رفضه، لكن السلوك الدقيق يعتمد على جهة التداول
مثال تسلسلي ملموس (مع افتراضات مذكورة)
افترض أن الهدف هو تداول أداة فوركس باستخدام نوع أمر إما ينفذ فورًا (شبيه بالسوق) أو عند حد محدد (شبيه بالحد). يمكن أن يبدو التسلسل مثل هذا مفاهيميًا:
-
يقوم العميل بإنشاء طلب أمر مع:
- الأداة: رمز زوج عملة مختار
- الاتجاه: شراء
- الحجم: كمية مختارة
- نوع الأمر: شبيه بالحد (يتضمن سعر حد)
- قاعدة الوقت: يبقى نشطًا لمدة محددة
-
يرسل العميل الطلب ويستلم:
- إقرارًا بأن الأمر تم قبوله.
-
مع مرور الوقت، تقوم المنصة بتحديث:
- انتقالات الحالة إلى مفتوح.
- إذا سمحت الظروف بالمطابقة، تُصدر المنصة تقارير تنفيذ.
-
يقوم العميل بتجميع تقارير التنفيذ لحساب:
- إجمالي الحجم المنفذ
- الأسعار الفعلية المتداولة من عمليات التنفيذ (غالبًا بما في ذلك متوسط أو أسعار لكل عملية تنفيذ)
-
إذا لم يتم التنفيذ بالكامل قبل انتهاء قاعدة الوقت، تُصدر المنصة حالة نهائية مثل ملغي/منتهي الصلاحية، ويسجل العميل أن جزءًا فقط من النية تم تنفيذه.
قيد مهم: بدون بيانات تسعير مباشرة أو آليات محددة لدى مزود بعينه، لا يمكنك افتراض أن سعر التنفيذ يساوي سعر الحد المطلوب، ولا أن الكمية المطلوبة بالكامل سيتم تنفيذها.
القيود وأنماط الفشل التي يجب توقعها
لا تُزيل Order APIs عدم اليقين. حتى مع كود صحيح، قد يختلف التنفيذ عن النية بسبب عدة فئات من القيود:
1) الرفض في مرحلة التحقق من الصحة
قد يتم رفض الأوامر بسبب:
- حقول مفقودة أو غير صالحة (التنسيق)
- الصلاحيات (حقوق الوصول)
- عدم تطابق رموز الأداة
- مخالفة قيود المزود (الحد الأدنى للحجم، أو نوع أمر غير مدعوم)
النتيجة: قد ترى أن نظامك يواجه رفضًا فوريًا بدل أي عمليات تنفيذ لاحقة.
2) التنفيذ الجزئي وعدم تطابق “النية مقابل التنفيذ”
حتى عند القبول، قد يتم تنفيذ الأمر جزئيًا فقط. قد تشمل الأسباب:
- توفر المطابقة ضمن القيود
- تغيّرات السيولة
- حدود التنفيذ
النتيجة: يجب أن تعتمد محاسبتك على عمليات التنفيذ، وليس على الحجم المطلوب الأصلي.
3) الانزلاق وتباعد السعر
إذا كان نوع الأمر يسمح بالتنفيذ بالقرب من—لكن ليس بالضبط—السعر المقصود، فقد يختلف سعر التنفيذ الفعلي عن الطلب. يمكن أن يحدث ذلك حتى عندما يزوّد العميل معاملات “متوقعة”.
النتيجة: لا تُساوِ بين الشروط المطلوبة ونتائج تنفيذ مضمونة.
4) مشكلات الشبكة وزمن الاستجابة والتسوية
تتطلب الـ APIs تواصلًا موثوقًا. تشمل أنماط الفشل:
- حالات انتهاء المهلة (timeouts)
- محاولات إعادة (retries) قد تسبب تكرارات إذا لم يتم التعامل مع idempotency
- تأكيدات متأخرة
- أحداث خارج الترتيب
النتيجة: يجب أن يتتبع العميل القوي حالة الأمر ويستخدم مفاتيح idempotency أو مراجع أوامر العميل حيثما يكون مدعومًا.
5) قواعد الاختصاص والجهة الخاصة
قد تختلف أهلية التداول والأدوات المسموح بها وقيود الأوامر حسب جهة التداول والبيئة التنظيمية. يؤثر ذلك على ما تسمح به الـ API وكيف تتصرف تحت القيود.
النتيجة: يجب التحقق من السلوك مقابل وثائق المزود المحدد وإعدادات الحساب.
كيفية التحقق من سلوك Order API بشكل مستقل
يعني التحقق المستقل فحص الحقائق من ردود المزود وسجلاتك الخاصة، بدل افتراض النتائج من الحدس بالسوق.
تشمل خطوات التحقق العملية مفاهيميًا:
- تأكيد انتقالات حالة الأمر الدقيقة التي تستلمها بعد وضع أمر
- تسوية عمليات التنفيذ مقابل النية عبر جمع الكميات المنفذة من تقارير التنفيذ
- مقارنة الطوابع الزمنية للطلب مع إقرارات المزود لفهم تأثير زمن الاستجابة
- تسجيل وفحص ردود الأخطاء لمعرفة سبب رفض الأوامر أو عدم تنفيذها بالكامل
إذا كنت تقارن بين مزودين أو تدمج عدة أنظمة، تحقق من أن لديهم اتفاقًا حول:
- هوية الأمر وحقول التتبع
- تنسيقات تقارير التنفيذ
- دلالات الحالة (على سبيل المثال، متى يتم إصدار حالة “filled”)