الاختبار الرجعي للعقود الآجلة: التكاليف والإعادة واختبار Walk-Forward

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

Senzoukria · الأدلة · آخر تحديث: سبتمبر 2026


حدّد القاعدة قبل اختيار المعاملات

سجّل الأداة والعقد والمنطقة الزمنية للجلسة وطريقة بناء الشموع وتوقيت الإشارة. تحتاج قاعدة التداول بالفوتبرينت إلى عمليات منفَّذة مرصودة على Bid وAsk، وتحتاج قاعدة الخريطة الحرارية إلى العمق التاريخي. ولا يمكن إعادة إنشاء أيٍّ منهما من الشموع العادية.

احفظ سياسة التدوير (Roll) وتقرير التغطية. الفجوة في البيانات ليست سوقًا ساكنة. ولا يمكن نقل مستوى من عقد آجل إلى استحقاق آخر دون معالجة فرق السعر بينهما.

اختبارات الشموع وإعادة تشغيل الصفقات وإعادة تشغيل الدفتر

النموذجيمكنه تقييملا يثبت
شموع OHLCقواعد الشمعة المغلقةالتسلسل داخل الشمعة، والتنفيذ في الطابور
إعادة تشغيل الصفقاتعمليات التنفيذ المسجّلةالعمق التاريخي المفقود
إعادة تشغيل الدفترأحداث العمق ضمن التغطيةتنفيذك الافتراضي بيقين

إذا وقع وقف الخسارة والهدف كلاهما داخل الشمعة نفسها، فلا تحدّد بيانات OHLC أيّهما تحقّق أولًا. صرّح بسياسة المحرّك. ولا يثبت وصولُ صفقةٍ إلى سعر محدّد أن أمرك أنت كان سيُنفَّذ.

التكاليف قد تقلب النتيجة

مثال توضيحي: توقّع إجمالي قدره 2.5 تيك، ناقص 0.5 تيك انزلاق عند الدخول و0.5 عند الخروج و0.8 تيك ما يعادل عمولات الذهاب والإياب، يترك 0.7 تيك صافيًا. وتيك إضافي واحد من الانزلاق الإجمالي يعطي −0.3 تيك. هذه مدخلات افتراضية، وليست أداءً مقيسًا للمنصّة.

حوّل العمولات باستخدام القيمة الفعلية لتيك الأداة. افصل العمولات لكل عقد عن العمولات لكل أمر، وتجنّب إغفال الفارق السعري (Spread) أو احتسابه مرتين.

اختبار Walk-Forward دون تسرّب للمعلومات

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

إن اختيار الفائز من بين إعدادات كثيرة يُدخل انحياز الاختيار. وتدرس ورقة The Probability of Backtest Overfitting هذه المشكلة. تحليل المتانة يختبر النتائج، لكنه لا يضمن أرباحًا مستقبلية.

سجلّ التجربة

  • إصدار القاعدة والمعاملات وعدد الإعدادات التي جُرّبت.
  • المصدر والعقد والتواريخ والجلسة والفترات المفقودة.
  • توقيت الدخول وسياسة الشموع الملتبسة والعمولات والانزلاق.
  • تقسيمات التدريب/الاختبار والنتائج الصافية والتراجع (Drawdown) لكل نافذة.
  • معيار للرفض ومدى الحساسية لتكاليف أعلى.

قد يوحي تقدير أُسّ هيرست أو نظام GEX بفرضية، لكنه لا يحلّ محلّ سجلّ لما كان معروفًا لحظة اتخاذ القرار.

البحث في Senzoukria

استخدم البرمجة النصية للمؤشرات والقواعد، ثم الاختبار الرجعي التاريخي لاستراتيجيات JavaScript وPython المدعومة. نموذج التنفيذ التاريخي قائم على الشموع، ولا يعيد بناء الأولوية في الطابور. ولغة C++ لها بيئة تشغيل منفصلة ولا يتوفّر لها اختبار رجعي تاريخي.

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

ابدأ بالتداول الكمّي للمبتدئين.

أسئلة شائعة

هل يمكن إجراء اختبار رجعي لاستراتيجية تدفق الأوامر؟
نعم، إذا احتوت البيانات التاريخية على المدخلات المطلوبة. تحتاج قواعد الفوتبرينت إلى الحجم المنفَّذ على Bid وAsk، وتحتاج قواعد العمق إلى تاريخ دفتر الأوامر. ولا تستطيع شموع OHLC استعادة التيكات أو العمق المفقود.
ما هو اختبار Walk-Forward؟
تختار المعاملات على نافذة تدريب، ثم تثبّتها لنافذة اختبار لاحقة، ثم تتقدّم زمنيًا. تبقى قاعدة الاختيار ثابتة، ويُمنع دخول أي معلومة مستقبلية إلى التدريب.
هل يثبت اختبار رجعي رابح وجود أفضلية؟
لا. قد تُبطل النتيجةَ افتراضاتُ التنفيذ والتكاليف وفجوات البيانات وانحياز الاختيار وتغيّر ظروف السوق. انشر النتائج خارج العيّنة والإعدادات التي فشلت.
ما اللغات التي تدعم الاختبار الرجعي التاريخي؟
يدعم Senzoukria الاختبار الرجعي التاريخي لاستراتيجيات JavaScript وPython في تطبيق سطح المكتب. أما البرمجة بلغة C++ فتعمل في بيئة WebAssembly منفصلة ولا توفّر اختبارًا رجعيًا تاريخيًا.