مختبر الاستراتيجيات
يشرح هذا الدليل كيفية اختبار استراتيجية بأثر رجعي باستخدام مختبِر الاستراتيجية (Strategy Tester) في JForex4، ويغطي الإعداد وطرق الاختبار ومنطق تنفيذ الأوامر وكيفية قراءة النتائج.
فتح مختبِر الاستراتيجية
- انتقل إلى View في شريط القوائم العلوي واختر Strategy Tester.
- يفتح المختبِر كعلامة تبويب جديدة إلى جانب Orders و Positions و Messages.
- اختر استراتيجيتك من القائمة المنسدلة. إذا لم تكن قد أُضيفت إلى مساحة العمل بعد، انقر على Open لإضافتها أولاً.
- (اختياري) انقر على Edit لفتح الشيفرة المصدرية للاستراتيجية في محرر الشيفرة — متاح فقط إذا كان ملف المصدر بصيغة
.java موجودًا.
إعداد الاختبار
إعدادات الحساب
انقر على Account لتحديد الحساب التجريبي للتداول:
- الإيداع الأولي وعملة الحساب
- الرافعة المالية
- مستوى قطع الهامش (كنسبة مئوية من الرافعة المستخدمة)
- وقف الخسارة على حقوق الملكية (MC Equity) — يوقف الاختبار تلقائيًا إذا انخفضت حقوق الملكية دون هذا المستوى
الأدوات المالية
انقر على Instruments لاختيار الأدوات المالية التي يجب تنزيل بياناتها التاريخية. اختر جميع الأدوات التي تستخدمها الاستراتيجية في التداول أو في الحسابات.
ملاحظة: هذا ليس المكان الذي تختار فيه الأداة التي تتداولها الاستراتيجية فعليًا — يتم تحديد ذلك بشكل منفصل، إما بترميزها مباشرة داخل الاستراتيجية أو باختيارها لاحقًا في نافذة Define Parameters.
فترة العينة والإطار الزمني
اختر النطاق الزمني التاريخي (Sample Period) والإطار الزمني (Time Frame):
- Ticks (التكات) — يستخدم بيانات تكات تاريخية حقيقية (الأكثر دقة، والأبطأ).
- الشموع (Candles) (دقيقة واحدة / ساعة واحدة / يوم واحد) — أسرع، ويستخدم الاستيفاء لتوليد تكات من بيانات الشموع OHLC. كما يتيح اختيار Bid أو Ask كأساس.
الوضع المرئي
فعّل الوضع المرئي (Visual Mode) لمشاهدة المحاكاة تجري مباشرة على رسم بياني حي أثناء تنفيذها. عند تفعيله، يتيح زر Start أيضًا عناصر تحكم في التشغيل لإيقاف الاختبار مؤقتًا أو إبطاء سرعته.
التحسين
إذا كانت استراتيجيتك تحتوي على معاملات قابلة للتهيئة، فعّل التحسين (Optimization) لاختبار تركيبات متعددة من المعاملات في تشغيل واحد. لكل معامل (باستثناء الأداة المالية والفترة)، يمكنك تحديد قيمة دنيا وخطوة تدرج وقيمة قصوى — عندها تُختبر الاستراتيجية مرة واحدة لكل تركيبة من الخطوات.
تظهر نتائج كل تركيبة في الجزء السفلي من نافذة المختبِر. انقر بزر الفأرة الأيمن على أي صف لإلغائها أو نسخ إعداداتها أو عرض تقريرها أو إعادة استخدام معاملات الإدخال الخاصة بها.
عامل الربح (Profit Factor) = إجمالي الربح ÷ إجمالي الخسارة (كلاهما بقيم موجبة). على سبيل المثال، إجمالي ربح 1000 وإجمالي خسارة 250 → عامل الربح = 4.0. وهو دائمًا قيمة موجبة، وكلما ارتفع دلّ عمومًا على نسبة أكثر ملاءمة بين الصفقات الرابحة والخاسرة.
مرشِّحات التكات (لإطار Ticks الزمني فقط)
عند اختيار Ticks كإطار زمني، اختر كيفية ترشيح التكات:
| المرشِّح | السلوك |
|---|---|
| Process all ticks | الأكثر دقة لكنه الأبطأ — يعيد تشغيل كل تكة تم تسجيلها على الإطلاق. |
| Process all ticks with a different non-recurrent price | يتخطى التكات التي تكرر نفس السعر. |
| Process ticks on a market direction | يتخطى التكات ما لم تمثل نقطة انعكاس حقيقية في اتجاه السعر. |
| Process ticks on a predefined price range change | يتخطى التكات حتى يتحرك السعر بمقدار نطاق محدد. |
| Process ticks with the specified time interval | يتخطى التكات بناءً على فاصل زمني محدد. |
طرق الاستيفاء (لأطر الشموع الزمنية فقط)
متاحة عندما يكون الإطار الزمني فترة شموع (دقيقة واحدة، ساعة واحدة، يوم واحد). بدلاً من تنزيل بيانات تكات حقيقية، يولّد المختبِر تكات اصطناعية من بيانات الشموع OHLC — مما يسرّع الاختبار بشكل كبير.
| الطريقة | الوصف |
|---|---|
| Cubic Spline | الطريقة الأكثر دقة من بين الطرق القائمة على الشموع. تبني التكات باستخدام أسعار OHLC كنقاط أساس عبر الاستيفاء بالمنحنى التكعيبي. قد تولّد أحيانًا تكات أكثر مما ينتجه تدفق حقيقي في الفترات القصيرة جدًا (مثل 10 ثوانٍ). |
| 4 ticks at OHLC | الطريقة الأكثر موثوقية من بين طرق الاستيفاء المتاحة. تستوفي كل شمعة إلى 4 تكات سعرية بالضبط — الافتتاح (Open) والأعلى (High) والأدنى (Low) والإغلاق (Close). يعتمد ترتيب تكتي High وLow على أيهما أقرب إلى سعر الافتتاح: الأقرب إلى Open يُعالَج كالتكة الثانية، قبل الأخرى. |
| Tick on Open | يولّد تكة واحدة باستخدام سعر افتتاح الشمعة. |
| Tick on Close | يولّد تكة واحدة باستخدام سعر إغلاق الشمعة. |
مثال: إذا كانت استراتيجيتك تتداول على شموع دقيقة واحدة ولا تحتاج إلى دقة أدق، اختر 1 Min كإطار زمني و4 ticks at OHLC كطريقة استيفاء — عندها ستتلقى الاستراتيجية بالضبط 4 تكات في كل دقيقة (الافتتاح، ثم الأعلى/الأدنى حسب القرب، ثم الإغلاق).
الإعدادات المخصصة
- Save interpolated price data — الاحتفاظ ببيانات التكات المولَّدة بالاستيفاء أو تجاهلها.
- الوضع المرئي: إظهار/إخفاء حقوق الملكية (Equity) والرصيد (Balance) والربح/الخسارة (P/L)؛ اختيار قالب (Template) رسم بياني محفوظ؛ تحديد الفترة (Period) الافتراضية المعروضة أثناء الوضع المرئي.
- الرسائل: تفعيل Save Messages to لحفظها في ملف؛ تفعيل Save Reports to لحفظ التقارير في ملف؛ تفعيل Show Reports لفتح التقرير تلقائيًا بعد انتهاء الاختبار.
منطق معالجة الأوامر
فهم الطريقة الدقيقة التي يملأ بها المختبِر الأوامر أمر أساسي للثقة بنتائج الاختبار بأثر رجعي.
القاعدة العامة: تُنفَّذ الأوامر بسعرها الخاص — إلا عند وجود فجوة سوقية (مثلاً، عند إعادة فتح السوق بفجوة بعد انقطاع). في حالات الفجوة:
- تُنفَّذ أوامر LIMIT بسعر أفضل من سعر الأمر.
- تُنفَّذ أوامر STOP بدون إعداد MAX.SLIPPAGE بأول سعر متاح بعد الفجوة.
- أوامر STOP التي تحمل إعداد MAX.SLIPPAGE، إذا كان سعر التنفيذ سيقع خارج حد الانزلاق ذاك، تُعاد إرسالها تلقائيًا كـأوامر LIMIT بدلاً من ذلك.
منطق التنفيذ التفصيلي:
- تُقارَن الأوامر المُفعَّلة من جهة BID بأسعار شموع BID المستوفاة؛ وتُقارَن الأوامر المُفعَّلة من جهة ASK بأسعار شموع ASK المستوفاة.
- إذا فُعِّل أمر (أيًا كان نوعه) بواسطة تكة سعر CLOSE أو HIGH أو LOW، فيُنفَّذ بسعره الخاص، معدَّلاً حسب آخر فارق سعر (سبريد) معروف عند الضرورة (ينطبق هذا التعديل عندما يأتي التفعيل من الجهة المقابلة).
- إذا فُعِّل أمر بواسطة تكة سعر OPEN، فيُنفَّذ عند تكة سعر OPEN تلك على الجهة المقابلة — باستثناء أمر STOP الذي يحمل إعداد MAX.SLIPPAGE: إذا وقعت تكة OPEN خارج حد انزلاق STOP، يُحوَّل الأمر إلى أمر LIMIT بدلاً من ذلك.
تلميح: بما أن طريقة "4 ticks at OHLC" تتضمن دائمًا تكة Open لكل شمعة، فإن هذا المنطق الخاص بالتفعيل عبر OPEN (واستثناءه المتعلق بـ STOP/MAX.SLIPPAGE) ينطبق مباشرة كلما اختبرت باستخدام طريقة الاستيفاء هذه.
تشغيل الاختبار
- انقر على زر Start.
- تفتح نافذة Define Parameters — حدد فيها القيم القابلة للتهيئة الخاصة بالاستراتيجية (الأداة المالية، الكمية، الانزلاق، وقف الخسارة/جني الربح، إلخ). تعتمد الحقول المعروضة بالضبط على شيفرة استراتيجيتك.
- انقر على Run لبدء المحاكاة.
- إذا كان الوضع المرئي مفعّلاً، استخدم عناصر تحكم التشغيل لإيقاف الاختبار مؤقتًا أو إبطائه أثناء تنفيذه.
- عند الانتهاء (قد تستغرق الاختبارات الكبيرة القائمة على التكات بعض الوقت)، يفتح تقرير الاختبار تلقائيًا في متصفحك (إذا كان خيار Show Reports مفعّلاً).
مراجعة النتائج
يتضمن التقرير نتائج كل صفقة على حدة، ومنحنيات حقوق الملكية/الرصيد، وإحصاءات ملخّصة مثل عامل الربح الموضح أعلاه. إذا أجريت مسحًا بواسطة التحسين (Optimization)، قارن التقارير لكل تركيبة معاملات من قائمة النتائج أسفل نافذة المختبِر قبل اختيار التهيئة التي ستعتمدها.
أفضل الممارسات
- ابدأ بـ Ticks / "Process all ticks" لجولة التحقق النهائية — فهي أقرب محاكاة لظروف السوق الحقيقية، رغم كونها الأبطأ.
- استخدم استيفاء الشموع للتكرار السريع. أثناء تطوير الاستراتيجية أو ضبطها، توفر "4 ticks at OHLC" ملاحظات سريعة وموثوقة دون الحاجة إلى تنزيل سجل تكات كامل.
- طابِق اختيار طريقة الاستيفاء/مرشِّح التكات مع منطق استراتيجيتك. تتصرف الاستراتيجية التي تتفاعل مع أسعار OPEN بشكل مختلف تحت "4 ticks at OHLC" مقارنة بـ"Tick on Close" — تأكد من أن طريقة اختبارك تطابق ما يُفعِّل منطق استراتيجيتك في السوق الحقيقي.
- راقب تفاعلات MAX.SLIPPAGE. إذا كانت استراتيجيتك تعتمد على أوامر STOP، اختبر مع وبدون MAX.SLIPPAGE لفهم كيف يمكن لسيناريوهات الفجوة وتكة OPEN أن تحوّل أوامرك إلى تنفيذات LIMIT.
- تذكّر: الأداء السابق المعروض في المختبِر ليس مؤشرًا موثوقًا للأداء المستقبلي — تحقق دائمًا بشكل إضافي في بيئة تجريبية (demo) قبل التداول الفعلي.