الاختبار الرجعي التلقائي: تشغيل استراتيجية مكتوبة على الشموع المخزَّنة
يشغّل وضع Automatic backtest في شاشة Replay استراتيجيةً محفوظة على أسابيع أو سنوات من الشموع المخزَّنة محليًا، بتكاليف صفقات إلزامية، وبقواعد التنفيذ المتحفّظة نفسها المستعملة في محرك البحث الرجعي، ثم يسجّل النتيجة في لوحة الأداء.
Senzoukria · التوثيق · آخر تحديث: سبتمبر 2026
أين تجده
- الموضع
- Replay ← Prepare ← الوضع 'Automatic backtest' ('Months of bars — your strategy runs on its own')
- القيم الافتراضية
- المدة شهر، والحبيبة 15 دقيقة، وقيمة النقطة دولاران، ورسم الذهاب والإياب 1.24 دولار، والانزلاق السعري تيك واحد
- قواعد التنفيذ
- الدخول عند افتتاح الشمعة التالية زائد الانزلاق، والخروج على الذيول، ووقف الخسارة يفوز في الشمعة الملتبسة، ورسوم على كل صفقة
- نافذة النظر للخلف
- ترى الاستراتيجية آخر 500 شمعة عند كل قرار
ما الذي يفعله
حيث تشغّل الإعادة اليدوية يومًا واحدًا تيكًا بتيك، يشغّل الاختبار الرجعي التلقائي استراتيجيةً مكتوبة في صفحة Scripting على الشموع المخزَّنة في الذاكرة المحلية. وتعرض الاستراتيجية الدالةَ decide(bars, params, ctx, state) مع ترتيب الشموع من الأحدث، وتعيد إجراءً: buy أو sell أو close، مع qty وstopTicks وtargetTicks اختيارية. وتعمل الحلقة كلها في عامل الصندوق الرملي (بروتوكول ofsandbox، وهو يحمل سياسة أمن المحتوى الخاصة به) بخطوات من 300 ميلي ثانية حتى تبقى الواجهة مستجيبة؛ ويعمل نص الحلقة نفسه في عامل blob للاختبارات وللموقع، وهو ما يضمن نتائج متطابقة.
وتقرأ اللوحة أولًا الذاكرةَ المحلية للعقد والحبيبة المختارين وتبلّغ عن التغطية ('{n} sessions cached out of {n} requested'). ويمكن تنزيل الجلسات الناقصة من الوسيط (شموعًا، أو تاريخ تيكات البصمة حين تقرأ الاستراتيجية الاختلالات عند كل مستوى)، ويمكن استيراد ملف ohlcv-1m من Databento. وشموع الخادم تحمل OHLC والحجم والدلتا لكن بلا مستويات بصمة، والشموع المستورَدة لا تحمل دلتا أصلًا.
الإعدادات
| الإعداد | القيمة الافتراضية | ما الذي يغيّره |
|---|---|---|
| الاستراتيجية | 'Choose…' | استراتيجية محفوظة من صفحة Scripting؛ و'Edit the strategy' يفتح الشيفرة، والمسودة المعدَّلة تعمل بلا حفظ، وCtrl+Enter يعيد التشغيل. |
| Period | شهر واحد | أسبوع، شهر، 3 أشهر، 6 أشهر، سنة، سنتان، 5 سنوات (من 7 إلى 1 825 يومًا). |
| Granularity | 15 دقيقة | دقيقة، 5 دقائق، 15 دقيقة، ساعة. وستة أشهر من شموع الدقيقة نحو 250 ألف شمعة وتستغرق دقائق لكل تهيئة. |
| Point value ($) | 2 (لـ MNQ) | قيمة النقطة الكاملة بالدولار لكل عقد؛ والحد الأدنى 0.01. |
| رسم الذهاب والإياب لكل عقد ($) | 1.24 | يُخصم من كل صفقة؛ والحد الأدنى 0. |
| الانزلاق السعري (تيكات) | 1 | يعاقب الدخول دائمًا: فالشراء يُنفَّذ أعلى والبيع أدنى؛ والحد الأدنى 0. |
| Walk-forward | معطَّل | يفعّل الشرائح ونسبة التدريب ومعيار الاختيار ومحاور المعاملات (انظر صفحة Walk-Forward). |
| Run the backtest | — | يبدأ التشغيلة؛ و'Interrupt' يقطعها. وترويسة النتيجة نصها 'Result · {n} bars'. |
قواعد المحاكاة
- يُتَّخذ القرار على شمعة مغلقة ويُطبَّق عند افتتاح الشمعة التالية: فلا تنفيذ عند سعر كان قد مضى حين وُجد القرار.
- تُختبر أوامر وقف الخسارة وجني الأرباح في مواجهة أعلى الشمعة وأدناها، لا إغلاقها.
- وحين تلمس شمعة واحدة وقف الخسارة والهدف معًا، يفوز وقف الخسارة: فبلا تيكات يبقى الترتيب مجهولًا، والمحرك يحكم ضدك.
- تُطبَّق الرسوم على كل صفقة؛ ويذكّر تلميح التكاليف بأن تصفير التكاليف يحوّل استراتيجيةً خاسرة إلى رابحة ما إن تتداول كثيرًا.
- الإشارة المعاكسة تغلق المركز الجاري أولًا (والسبب 'reverse')؛ وإجراء close يسوّي المركز (والسبب 'flatten').
- تُسجَّل MAE وMFE والمخاطرة عند الدخول (مسافة وقف الخسارة × الكمية × قيمة النقطة) لكل صفقة، من أجل مخططات الانحراف ومضاعفات R.
- تُحفَظ سجلات النصوص حتى 200 سطر؛ وتعمل استراتيجية Python عبر المفسّر المثبَّت من صفحة Scripting؛ أما استراتيجيات C++ فلا يمكن اختبارها رجعيًا بعد.
الحدود والمزالق
تُسجَّل النتيجة في لوحة الأداء تشغيلةً 'auto' مع الأيام المغطّاة فعلًا، وتعرض القائمة '{n} d of {req} asked' حين تكون التغطية تحت 90 % من النافذة المطلوبة. والاختبار الرجعي على تغطية جزئية لا يغطي إلا تلك النافذة، واللوحة تقول ذلك.
والشموع التاريخية صلاحية عند الوسيط: فاللوحة تميّز 'permission denied' (rp_code 13، أي أن الشموع غير مفعّلة على الحساب) من أرشيف لا يبلغ ذلك البعد في الماضي. ولا يرسل الاختبار الرجعي أي أمر؛ والاستراتيجيات الآلية لا تقود أبدًا إلا حساب التقييم المحاكى.
صفحات ذات صلة
- تحليل Walk-Forward
- مساعد الاختبار الرجعي (ذكاء اصطناعي)
- لوحة الأداء (الجلسات السابقة)
- دليل الاختبار الرجعي للعقود الآجلة
- التداول الكمّي للمبتدئين
هذه الصفحة بلغات أخرى
أسئلة شائعة
- لماذا يُنفَّذ الاختبار الرجعي عند افتتاح الشمعة التالية؟
- لأن القرار لا يوجد إلا بعد إغلاق الشمعة. والدخول بسعر من تلك الشمعة نفسها كان سيستعمل معلومة لم تكن عندك بعد، وهو أول عيوب محركات الاختبار الرجعي الساذجة.
- هل أستطيع تصفير الرسوم؟
- يقبل الحقل القيمة 0، لكن التلميح يحذّر من أن اختبارًا رجعيًا بلا تكلفة يكذب ما إن تتداول الاستراتيجية كثيرًا. والقيمة الافتراضية 1.24 دولار رتبةُ قدرٍ لذهاب وإياب لدى شركة تمويل.
- لماذا لا يوجد شيء مخزَّن لعقدي؟
- تمتلئ الذاكرة المحلية حين تفتح العقد في المخطط عند تلك الحبيبة، أو حين تنزّل التاريخ الناقص من لوحة الاختبار الرجعي. ويمكن أيضًا استيراد ملف ohlcv-1m من Databento.