في هذا المقال
بعد قراءة المقال ستتمكن من…
- تميز قاعدة FIFO لحساب فعلي من اصطلاح إسناد دفتر أو ضريبة.
- تنشئ قائمة للرمز نفسه وتراجع التأكيد والحماية والحجم الباقي.
- تحسب المحقق والعائم بعد إغلاق كامل أو جزء مؤكد تحت فرضيات واضحة.
شرح المصطلحات داخل المقال
التحوّط (Hedging) تنفيذ الأمر أمر وقف الخسارةرفض إغلاق بسبب FIFO في MT5 يستدعي فحص ترتيب المراكز المسموح في الحساب الفعلي. «الأول دخولاً أول خروجاً» قد يكون قيد خادم لا طريقة اخترتها لتوزيع النتائج في الدفتر. لا تكرر الطلب تلقائياً ولا تغلق مركزاً أقدم دون مراجعة الخطة؛ احفظ الرد ونمط الحساب والمراكز الحالية في الرمز نفسه أولاً. لا تطبق القاعدة تلقائياً على كل مستخدم أو بلد.
قاعدة الحساب أم طريقة التحليل؟
تعرض MT5 الخاصية ACCOUNT_FIFO_CLOSE. إذا كانت true تصف إغلاق مراكز الرمز بترتيب فتحها بدءاً من الأقدم. وخارج نمط محاسبة المراكز hedging تكون false وفق المرجع. القراءة للحساب الفعلي لا البلد المختار للغة الواجهة؛ افحص المزود وشروط الحساب بدلاً من افتراض FIFO على كل MT5.
قد يكون FIFO أيضاً اصطلاحاً تحليلياً يسند التخفيض إلى المداخل الأقدم، حتى عند تحليل مركز netting مشترك. لكن جدولك لا يغير ما يقبله الخادم. راجع إسناد نتائج الاستراتيجيات في netting وافصل سجل التنفيذ من سياسة الإسناد؛ موضوعنا هنا ترتيب إغلاق مراكز الحساب الحقيقية لا قاعدة ضريبة محلية.
ماذا تفحص بعد الرفض؟
اقرأ الرد كاملاً. الرمز 10045 مع TRADE_RETCODE_FIFO_CLOSE يحدد رفضاً مرتبطاً بإعداد FIFO للحساب. عنوان خطأ عام لا يميز ترتيباً من سعر أو حجم أو انقطاع. ولا تخلطه مع منع مراكز متعاكسة 10046 أو وضع الأداة للإغلاق فقط 10044 ؛ المعنى يأتي من الرد والخاصية لا من تخمين.
احفظ الخادم واسم حساب مستعاراً والرمز الكامل والتذكرة ووقت الفتح والحجم الحالي، دون كلمة مرور أو بيانات شخصية. رتب مراكز تلك الأداة وحدها بوقت الفتح لا الربح. ترتيب نافذة بحسب عمود آخر لا يثبت الأسبقية. إذا تساوت أوقات ظاهرة بدقة العرض فاحفظ المعرفات واستوضح ترتيب المزود؛ لا تخترع قاعدة رقم تذكرة أصغر.
نموذج المراكز الثلاثة
حساب hedging مختلق وله FIFO=true وثلاثة مراكز شراء في رمز EUR/USD نفسه، وعقد 100000 EUR لكل لوت. الأسعار والأوقات اصطناعية و Bid ثابت 1.1030 ؛ نستبعد التكلفة والانزلاق وكل حدث آخر. النموذج يخص طلبات إغلاق كامل، لا كل قاعدة جزئية محتملة. الأوقات ترتيب واحد معلن لا مقارنة بين ساعات أجهزة مختلفة.
| المركز | الفتح | الحجم | سعر الفتح | النتيجة على Bid 1.1030 |
|---|---|---|---|---|
| P1 | 08:00 | 0.10 لوت | 1.1000 | 30 USD |
| P2 | 08:05 | 0.20 لوت | 1.1010 | 40 USD |
| P3 | 08:10 | 0.10 لوت | 1.1020 | 10 USD |
طلب إغلاق P3 قبل P1 يخالف التسلسل في النموذج. بعد تأكيد إغلاق P1 كاملاً يصبح P2 التالي لا P3. لدى P2 أكبر ربح لكنه لم يكن الأقدم أولاً؛ ولا يحدد الحجم الأصغر المركز التالي. اقرأ الحالة بعد كل تنفيذ لتعرف رأس القائمة الباقي.
ترتيب الفتح لا ترتيب الربح
مرّر أفقيا لعرض الرسم كاملا.
المجموع قبل الإغلاق 80 USD. عند السعر الثابت، إغلاق P1 ينقل 30 إلى النتيجة المحققة ويترك 50 عائمة في P2 و P3. بعد إغلاق P2 أيضاً تصبح 70 محققة و 10 عائمة. يبقى مجموع النموذج 80 لا ربح إضافي خلقه ترتيب العرض؛ قد تغير الرسوم والأسعار الأرقام الفعلية.
لماذا لا تستبدل الطلب بأقدم مركز تلقائياً؟
ربما تريد إغلاق مركز لخطة أو EA محدد. إغلاق غيره يغير الخطة ولو وافق قيد الحساب. تحقق من الرمز والاتجاه والكمية وأثرها على التعرض الإجمالي؛ إذا تعارضت شروط الحساب مع خطتك فقد تحتاج إعادة تنظيم العملية لا معاملة بديلة فوراً.
لا تحاول الالتفاف بفتح مركز معاكس؛ قد ينشئ نمط المراكز المنفصلة تعرضاً جديداً وقد يمنع الحساب المراكز المتعاكسة أيضاً. وبعد إغلاق جزئي اقرأ الحجم والترتيب مجدداً؛ الإرسال لا يثبت اختفاء الأقدم كاملاً. راجع تشخيص ردود الأوامر عند نتيجة غير مؤكدة.
القائمة المعدة قبل الإرسال خطة فقط؛ عملية مقبولة من جهة أخرى قد تغيرها قبل طلبك التالي. افصل التسلسل المخطط من سجل التنفيذ المؤكد، واحفظ الفشل وأعد قراءة الحالة بدلاً من متابعة تذاكر جدول قديم. سجل هل بدأ الحدث شخص أو EA أو آلية خادم؛ الرمز وحده لا يحدد مصدر الطلب، ولا يثبت تزامن حدث آخر أن نقرتك سببته.
إضافة عملية: إغلاق جزء لا يزيل رأس القائمة
تجربة مستقلة تنطلق من أرقام المراكز السابقة، مع افتراض صريح أن الحساب يسمح بهذا الإغلاق الجزئي وخطوة الحجم 0.01 وأن التنفيذ تأكد بالسعر الثابت. يغلق P1 مقدار 0.04 من أصل 0.10 ، فيبقى 0.06. لا نفترض اختفاء P1 أو أن P2 أصبح الأقدم؛ لا تواصل خطة إغلاقات كاملة كأن الجزء المغلق كان المركز كله.
| القياس | بعد الجزء المؤكد |
|---|---|
| حجم P1 المتبقي | 0.10 − 0.04 = 0.06 لوت |
| المحقق | 0.04 × 100000 × (1.1030 − 1.1000) = 12 USD |
| العائم في P1 | 18 USD |
| العائم الكلي | 18 + 40 + 10 = 68 USD |
| المحقق والعائم معاً | 12 + 68 = 80 USD |
تتغير قسمة النتيجة لا مجموعها في فرضية السعر والتكلفة الثابتين. احتفظ بمعرف مركز متبق وحجمه ووقته وفق السجل الفعلي؛ هذا المثال لا يفرض قواعد جزئية على كل حساب أو يبرر طلباً لاحقاً دون فحص. إذا لم يتأكد التنفيذ فهذه ليست الحالة التي حسبناها، ولا تملأ جدولها من مقدار الطلب وحده.
الوقف والإغلاق الجماعي لهما تحقق مستقل
تصف مساعدة MT5 لحسابات FIFO ربط مستويات وقف الخسارة وجني الربح لمراكز الأداة نفسها حفاظاً على الترتيب. لا تفترض حماية مستقلة تماماً لكل مركز في هذا الحساب. بعد تغيير مستوى افحص القيم المقبولة لكل مركز مرتبط؛ الطلب في نموذج لا يثبت تطبيقه على المجموعة.
وتصف الوثائق إغلاقات FIFO المتسلسلة وتوقف العملية عند خطأ. أمر جماعي لا يثبت تصفية الكل؛ قد تبقى مراكز مفتوحة. احفظ الردود واطلب الحالة الحالية، ولا تعاود إرسال المجموعة كلها لأن العرض لم يتغير فوراً. لبعض العمليات الجماعية قيود مختلفة حسب الحساب؛ افحص المتاح لا قائمة برنامج آخر.
تصف الوثيقة أيضاً آلية Stop Out مع FIFO ، لكن التصفية القسرية تحتاج فحص شروط حسابك وآلية المزود الخاصة. نموذج الإغلاقات الاختيارية هنا لا يفرض ترتيب تصفية جبرياً على كل مزود، ولا يغير خاصية الهامش أو يجعل الوقف العادي ضمان سعر.
المركز الأقدم يبقى بعد إغلاق بعضه
راجع معرف الباقي وحجمه؛ طلب أو جزء منفذ لا يساوي اختفاء المركز كله.
على الشاشات الصغيرة، مرّر الرسم أفقيا أو كبّره. تجد القيم والخلاصة أيضا في النص أدناه.
- باقي P1
- 0.06 لوت – 0.10−0.04 ؛ لا يفترض انتقال رأس القائمة إلى P2.
- النتيجة المحققة
- 12 USD – 0.04×100000×0.0030 ، دون تكلفة.
- النتيجة العائمة
- 68 USD – 18 في P1 و 40 في P2 و 10 في P3 ؛ المجموع مع المحقق 80.
ماذا تفعل الآن؟
- احفظ الرد الكامل والرمز الدقيق وقراءة ACCOUNT_FIFO_CLOSE للحساب المعني، وافصلها عن اختيارك التحليلي. لا كلمات مرور أو بيانات حساسة في ملف تشخيص مشارك.
- أنشئ من الحالة الفعلية جدول معرف ووقت واتجاه وحجم وحماية مقبولة للرمز نفسه. ميز الأقدم والرد المجهول وطابق التاريخ قبل طلب جديد، لا ترتب بالربح.
- أعد حساب P1 و P2 و P3 وتقسيم 30 محققة/50 عائمة بعد الأول، ثم مثال الجزء 12/68. لتجربة السلوك البرمجي استعمل ديمو مطابقاً وافحص كل نتيجة؛ لا نوصي بإغلاق مركز معين أو تبديل معاملة.
اختبر فهمك
الوقت التقديري للتمرين: نحو 3 د.
عرض الإجابة والشرح
صحيح؛ أعد قراءة المراكز الباقية بعد تأكيد إغلاقه كاملاً، ولا تعامل جزءاً مؤكداً كإغلاق كامل.
الأسئلة الشائعة
هل FIFO يعني منع التحوط في كل حساب MT5 ؟
هل FIFO في جدول netting يغير قاعدة الخادم؟
هل أفتح أمراً معاكساً بدل الإغلاق المرفوض؟
هل أمر إغلاق الكل يثبت خلو الحساب؟
المصادر والتحقق
- MQL5: خصائص الحساب
ACCOUNT_FIFO_CLOSE و ACCOUNT_HEDGE_ALLOWED ونمط المحاسبة؛ الخاصية false خارج hedging وفق المرجع.
- MQL5: رموز رد الخادم
10045 FIFO مختلف عن 10046 منع المعاكس و 10044 إغلاق فقط؛ الرد الكامل يسبق التشخيص.
- MT5: تنفيذ العمليات وإغلاق FIFO
ترتيب المراكز وربط مستويات الحماية وإيقاف التسلسل عند خطأ على حساب FIFO ، مع تحقق من الباقي.
تُذكر افتراضات الأمثلة الحسابية بوضوح. وهي لا تحل محل بيانات السوق الحالية أو شروط مزوّد الخدمة.
