IOC وFOK: الفرق بالأمثلة وقراءة التنفيذ الجزئي

قارن IOC وFOK بأمثلة طلب عشر وحدات، وافهم التنفيذ الجزئي والكامل وأثر حد السعر والرسوم وكيف تراجع الحالة قبل إعادة إرسال الأمر.

مراجعة المحتوى: 26 أكتوبر 2026.

IOC وFOK تعليمات تحدد كيف يُعامل الطلب الذي لا يمكن ملؤه فورًا، لكنها لا تختار السعر المناسب بدلًا عنك. تسمح الأولى بتنفيذ جزئي وإلغاء المتبقي، بينما تشترط الثانية تنفيذ الكمية كاملة فورًا أو عدم تنفيذها. سنثبت السعر والكمية في أمثلة افتراضية حتى ترى أثر هذا الاختلاف وحده، ثم نوضح كيف تقرأ الحالة النهائية دون الخلط بين انتهاء الأمر وفشل كل أجزائه.

إنفوجرافيك: IOC وFOK: الفرق بالأمثلة وقراءة التنفيذ الجزئي
ملخص بصري لأهم النقاط الواردة في المقالة.

ما الفرق بين IOC وFOK؟

IOC تعني «فوري أو إلغاء»: يحاول الأمر تنفيذ ما يمكن فورًا ضمن شروطه، ثم لا يترك الجزء غير المنفذ منتظرًا في الدفتر. FOK تعني «تنفيذ كامل أو إلغاء»: إذا تعذر تنفيذ الكمية كاملة فورًا وفق الشروط فلا تحصل على تعبئة جزئية من ذلك الطلب. يشرح مركز مساعدة Binance.US تعليمات الصلاحية الزمنية هذين السلوكين.

انتبه إلى كلمة «ضمن الشروط». في أمر شراء محدد، يجب أن تلائم الأسعار الحد الذي أدخلته، وليس مجرد وجود وحدات معروضة للبيع بأي سعر. الصلاحية لا توسع حد الشراء ولا تتجاوز قواعد السوق. قد تسمح بعض المنتجات بهذه التعليمات مع أنواع معينة فقط، ولذلك ابدأ بالتأكد من دعم نوع الطلب والتعليمة معًا في حسابك.

المثال الأول: تريد عشر وحدات والمتاح المناسب سبع

نفترض شراء عشر وحدات بحد أقصى 50 للوحدة. عند معالجة الطلب توجد أربع وحدات بسعر 49، وثلاث بسعر 50، ثم كمية أخرى بسعر 51. لا نعتبر وحدات 51 مناسبة لأنها تتجاوز حدك. نفترض ثبات هذه الكميات خلال المعالجة، وعدم وجود قيود أخرى أو رسوم في المرحلة الأولى من المثال.

مع IOC يمكن تنفيذ الوحدات السبع الملائمة: أربع عند 49 بقيمة 196، وثلاث عند 50 بقيمة 150. المجموع 346، ومتوسط الوحدة المنفذة نحو 49.4286. تنتهي محاولة الثلاث الباقية دون انتظار سيولة لاحقة. أنت اشتريت سبع وحدات فعلًا، وليس عشرًا، ولا صفرًا لمجرد أن الجزء المتبقي أُلغي.

مع FOK وبالفرضيات نفسها، لا تكفي السبع لتنفيذ طلب العشر كاملًا، فينتهي الطلب دون تعبئة. لا تشتري السبع أولًا ثم تتراجع عنها إذا لم تجد الثلاث؛ شرط الكمية الكاملة هو ما يميز النتيجة في هذا المثال. لم تدفع 346 لشراء جزئي، لكنك كذلك لم تحصل على أصل من هذا الطلب.

التعليمةالمطلوبالملائم فورًاالمنفذ في المثالما يبقى منتظرًا
IOC1077 وحداتصفر
FOK107صفرصفر
GTC للمقارنة107قد ينفذ 7قد يبقى 3 وفق القواعد

المثال الثاني: الكمية كاملة موزعة على مستويين

لنغير اللقطة وحدها: أربع وحدات بسعر 49، وست وحدات بسعر 50، مع بقاء حد الشراء 50 والكمية المطلوبة عشرًا. أصبحت الكمية الكاملة متاحة ضمن الحد. يمكن عند تحقق بقية الشروط أن ينفذ IOC وFOK العشر كلها، بقيمة 196 + 300 = 496، ومتوسط 49.6 للوحدة، قبل الرسوم.

اشتراط FOK تنفيذًا كاملًا لا يعني ضرورة أن تأتي الكمية من بائع واحد أو تعبئة واحدة أو سعر واحد. المثال يوضح إمكانية اكتمالها عبر مستويات مناسبة داخل الحد. لكن لقطة الدفتر التي شاهدتها لا تضمن بقاء هذه الحالة حتى وصول الطلب؛ إذا سُحبت كمية أو نُفذت لطرف آخر فقد تختلف النتيجة.

أما إذا لم توجد أي كمية عند 50 أو أقل، فنتيجة المثال لكلا التعليمين صفر منفذ. حين تقارن سجلاتك، افصل هذه الحالة عن مثال IOC الذي نفذ سبعًا. قد يشترك الطلبان في حالة نهائية تدل على الإلغاء أو الانتهاء بحسب تسمية المنصة، لكن كمية التنفيذ هي التي تحدد هل حدث شراء بالفعل.

الصلاحية لا تحل محل حد السعر

إذا رفعت حد الشراء من 50 إلى 51 لجعل FOK قادرًا على اكتمال الكمية، فقد غيرت شرطين في المقارنة: التعليمة والسعر المقبول. لا يصح بعدها نسبة اختلاف النتيجة إلى FOK وحدها. للمقارنة التعليمية، ثبّت الزوج والكمية والحد واللقطة، ثم غيّر تعليمات الصلاحية فقط، مع الاعتراف بأن السوق الحقيقي لا يبقى ثابتًا بين طلبين فعليين.

وبالعكس، لا يعني IOC أنه أمر سوق غير مقيد. توضح وثائق إنشاء الأوامر في Upbit تعليمات IOC وFOK تحت شروط تنفيذ الأمر المحدد، مع بيان الأنواع التي تدعمها. المرجع هنا مثال على ضرورة قراءة تعريف المنتج؛ فلا تضع خيارًا من واجهة في طلب API مختلف ثم تتوقع قبول التركيب تلقائيًا.

التنفيذ الكامل قبل الرسوم ليس دائمًا الكمية الصافية

لنكمل مثال العشر المنفذة بقيمة 496. نفترض عمولة تعليمية 0.1% تُخصم بعملة التسعير، فتساوي 0.496 ويصبح النقد الخارج 496.496، مع استلام عشر وحدات وفق هذا الافتراض. أما لو كانت العمولة تُخصم من الأصل المشترى بمقدار 0.01 وحدة مثلًا، فسيكون صافي الأصل 9.99 رغم تنفيذ كمية الأمر الكاملة.

لذلك لا تجعل كلمة FOK وحدها ضمانًا لوصول كمية صافية محددة إلى محفظتك بعد كل الخصومات. شرط الاكتمال يخص الأمر كما يعرّفه المنتج، ثم تحتاج إلى قراءة عملة العمولة والرصيد النهائي. وإذا كنت تريد سحب الأصل بعد الشراء، أضف قواعد ورسوم السحب في حساب منفصل باستخدام أداة تكلفة التحويل، دون اعتبارها جزءًا من شرط التعبئة.

كيف تقرأ الحالة النهائية والتعبئات؟

اقرأ ثلاثة أشياء معًا: الحالة، والكمية المنفذة، والكمية المتبقية النشطة. في مثال IOC الأول، المنفذ سبع، والباقي من أصل الطلب ثلاث لكنه لم يعد أمرًا نشطًا ينتظر. هذا يختلف عن GTC مفتوح بالكمية نفسها. وفي FOK غير المكتمل، المنفذ صفر، ولا توجد الثلاث أو العشر كطلب انتظار تابع لهذه المحاولة.

توضح تعريفات حالات أوامر Binance أن الانتهاء يمكن أن يرتبط بقواعد نوع الأمر، ولذلك لا تساوِ بين حالة نهائية وغياب التعبئات. لا تحتاج إلى ترجمة اسم الحالة من الذاكرة؛ افتح سجل التنفيذ وتحقق من مجموع الكمية والقيمة. هذا الفحص أكثر وضوحًا من الاعتماد على إشعار قصير مثل «لم يكتمل الطلب».

وإذا استوردت سجلًا إلى جدول، لا تجمع الكمية المنفذة التراكمية في كل تحديث. لو أظهر تحديث أول أربعًا ثم آخر سبعًا، فقد تكون السبع تشمل الأربع السابقة، وليس مجموعهما إحدى عشرة. حدّد هل الحقل يصف تعبئة جديدة أم إجماليًا تراكميًا. استخدم معرّفات التعبئات لمنع التكرار عند مطابقة النتائج.

إعادة الإرسال بعد انقطاع الاتصال

قد لا تصل نتيجة الطلب إلى جهازك رغم أن المنصة عالجته. في هذه الحالة، لا ترسل عشر وحدات جديدة فورًا. تحقق من معرّف الطلب وسجله وحصيلته أولًا. إذا كان IOC السابق قد اشترى سبعًا وكان هدفك الإجمالي عشرًا، فإن المتبقي من الهدف ثلاث، لا عشر، ما لم تكن قد غيرت هدفك صراحة.

حتى في FOK، لا تجعل عدم وصول الاستجابة دليلًا على صفر تنفيذ؛ قد يكون الطلب قد اكتمل بالكامل. راجع الحالة قبل التكرار، واقرأ قواعد معرّفات العميل إذا استخدمت API؛ لا تفترض أن كل منصة تمنع التكرار تلقائيًا بالطريقة نفسها. الاختصار يصف التنفيذ عند المعالجة، ولا يلغي احتمال فقدان الرد في طريقه إلى جهازك.

كيف تختار الشرط التشغيلي الذي تقصده؟

اسأل أولًا هل قبول جزء من الكمية يخدم المهمة التي تقوم بها. إذا كانت لديك عملية لاحقة تحتاج إلى كمية كاملة، فاشرح كيف ستتعامل مع نقص الناتج والرسوم قبل اختيار التعليمة. وإذا كان الجزء مقبولًا، فاكتب آلية مراجعة ما نُفذ ومصير الباقي. هذا تحديد للمتطلبات، وليس توصية بشراء أصل أو استخدام نوع أمر في كل الحالات.

  1. حدد الزوج والاتجاه والكمية والحد السعري قبل النظر إلى خيار الصلاحية.
  2. تحقق من دعم المنتج للتركيب، ومن قواعد الدقة والحد الأدنى والرصيد.
  3. قرر هل تقبل تعبئة جزئية أم تشترط اكتمال الكمية فورًا.
  4. بعد المعالجة، اقرأ الحالة والتعبئات والمتبقي النشط معًا.
  5. أعد حساب الهدف المتبقي قبل أي إرسال جديد، مع فصل الرسوم عن الكمية المنفذة.

وإذا كان هدفك تعليميًا فقط، ابدأ بحسابات ورقية أو بيئة اختبار موثقة بدل استخدام أمر حقيقي لاختبار معنى الاختصار. يمكن الاستعانة بـقائمة المتابعة لمراقبة الأصول، مع إدراك أن متابعة السعر لا تمثل تجربة مطابقة أمر ولا تثبت سيولة متاحة لكمية معينة.

سؤالان شائعان قبل استخدام التعليمات الفورية

هل FOK أسرع من IOC؟

كلاهما يتضمن شرطًا فوريًا في معالجة التنفيذ، والاختلاف الرئيسي هو قبول الجزء من عدمه. سرعة إرسال التطبيق أو الشبكة أو استجابة الخادم مسألة أخرى. لا تستخدم FOK بوصفها إعدادًا لتسريع الاتصال، ولا تفسر تأخر ظهور الرد على أنه بقاء أمر منتظر في الدفتر.

هل IOC ينفذ دائمًا شيئًا؟

لا؛ إذا لم توجد كمية مناسبة عند المعالجة فقد ينتهي دون أي تعبئة. وإذا وجدت كمية تناسب كامل الطلب فقد يكتمل كله. تعلم قراءة الحالات الثلاث: صفر أو جزء أو كامل، ثم طابق كل حالة مع رصيدك وسجل التعبئات. بهذه الطريقة تعرف ما حصلت عليه فعلًا وما بقي من هدفك دون الاعتماد على اسم التعليمة وحده.

تامر طعمه
تامر طعمه

صاحب موقع بتكوين، يشارك تجربته مع منصات التداول منذ 2016 ويقدّم شروحًا عربية عن العملات الرقمية والمحافظ والتكاليف. المحتوى تعليمي عام، ولا يمثل توصية استثمارية شخصية.

المقالات: 237