ZIMZIR GUIDE · BACKTESTING · MT5

الباك تست في MT5: كيف تختبر استراتيجية التداول وتتحقق من موثوقية النتائج؟

الـBacktesting أو الاختبار التاريخي يساعدك على دراسة كيفية تصرف مجموعة محددة من قواعد التداول على بيانات سابقة. لكن ظهور نتيجة قوية في Strategy Tester لا يعني تلقائيًا أن الاستراتيجية ستنتج النتيجة نفسها مستقبلًا.

القاعدة الأساسية

الـBacktest لا يسأل: هل هذه الاستراتيجية ستربح مستقبلًا؟

بل يدرس ماذا كان سيحدث لهذه القواعد، بهذه الإعدادات، على هذه البيانات، وتحت شروط المحاكاة المحددة.

ما هو Backtesting؟

اختبار القواعد على الماضي، لا التنبؤ بالمستقبل

عند اختبار Expert Advisor في MetaTrader 5، يقوم Strategy Tester بتشغيل منطق النظام على فترة تاريخية وفق الإعدادات وظروف الاختبار التي تحددها.

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

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

قبل الضغط على Start

سجّل إعدادات الاختبار أولًا

لقطة شاشة للنتيجة النهائية وحدها لا تكفي لفهم الاختبار. الاحتفاظ ببطاقة واضحة للإعدادات يجعل النتيجة أكثر قابلية للمراجعة وإعادة الاختبار والمقارنة.

EA Version
Symbol
Timeframe
Test Period
Broker / Data Source
Testing Model
Initial Deposit
Leverage
Execution Delay
Commission
Input Set

كلما تغيرت البيانات أو الفترة أو نموذج الاختبار أو إعدادات EA أو شروط الحساب، فقد تتغير النتيجة أيضًا. لذلك تساعد هذه البطاقة على معرفة ما الذي تتم مقارنته فعلًا.

Strategy Tester

ليست كل طرق الاختبار في MT5 متساوية

اختيار نموذج الاختبار يؤثر في مقدار التفاصيل التي يحاول Strategy Tester تمثيلها. النمط الأسرع ليس بالضرورة الأنسب لكل استراتيجية.

Every tick based on real ticks

يعتمد على بيانات الـTicks الحقيقية المتاحة في السجل التاريخي بدل توليد حركة داخل الشموع.

الاستخدام: مفيد عندما تحتاج إلى اختبار أكثر تفصيلًا، خصوصًا للاستراتيجيات الحساسة للحركة داخل الشمعة.

انتبه: يعتمد على توفر البيانات التاريخية المناسبة، وقد يستغرق وقتًا أطول من الأنماط الأسرع.

Every tick

يحاكي حركة السعر داخل الشموع باستخدام Ticks مولّدة اعتمادًا على البيانات التاريخية المتاحة.

الاستخدام: مفيد للاختبارات التفصيلية عندما لا تكون بيانات Real Ticks هي الأساس المستخدم.

انتبه: الـTicks المولّدة ليست الشيء نفسه الذي حدث فعليًا في السوق.

1 Minute OHLC

يستخدم أسعار Open وHigh وLow وClose لكل شمعة دقيقة أثناء الاختبار.

الاستخدام: يوفر اختبارًا أسرع لبعض الاستراتيجيات التي لا تعتمد بشدة على تسلسل كل Tick.

انتبه: لا يحتفظ بالتسلسل الكامل للحركة التي حدثت داخل الدقيقة.

Open Prices Only

يركز الاختبار على أسعار افتتاح الشموع بدل محاكاة جميع التحركات داخلها.

الاستخدام: قد يكون مناسبًا للفحص السريع عندما يكون منطق الاستراتيجية مصممًا للعمل عند افتتاح شمعة جديدة.

انتبه: ليس بديلًا عامًا عن الاختبار الأكثر تفصيلًا، خصوصًا عندما يعتمد المنطق على الحركة داخل الشمعة.

شروط المحاكاة

لا تختبر السعر فقط؛ اختبر بيئة التنفيذ أيضًا

قد تتغير نتيجة النظام عندما تتغير تكاليف التداول أو ظروف التنفيذ. لذلك يجب ألا يُفصل تحليل الاستراتيجية عن الافتراضات التي استخدمت أثناء الاختبار.

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

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

سؤال مهم

هل تستطيع الاستراتيجية تحمّل ظروف أقل مثالية؟

إذا انهارت النتيجة بمجرد تغير بسيط في تكاليف التداول أو التنفيذ، فهذه معلومة مهمة عن حساسية النظام وليست مجرد مشكلة تجميلية في تقرير الاختبار.

قراءة تقرير MT5

لا تسأل فقط: كم ربح الاختبار؟

اسأل أيضًا: كيف صنع هذه النتيجة، وبأي تراجع، وعلى كم صفقة، وتحت أي افتراضات؟

Net Profit

يوضح النتيجة المالية الصافية للاختبار، لكنه لا يوضح وحده مقدار المخاطرة التي تحمّلها الحساب للوصول إليها.

Equity Drawdown

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

Balance Drawdown

يقيس التراجع اعتمادًا على الرصيد الناتج عن الصفقات المغلقة، ولذلك قد تختلف صورته عن Equity Drawdown.

Profit Factor

يقارن إجمالي الأرباح بإجمالي الخسائر. يجب قراءته مع عدد الصفقات والفترة والتراجع، لا كرقم منفرد.

Expected Payoff

يعرض متوسط النتيجة المحسوبة لكل صفقة في الاختبار، لكنه يبقى وصفًا للعينة التاريخية المستخدمة.

Recovery Factor

يربط نتيجة الاختبار بمقدار التراجع، ويساعد على إضافة سياق للمقارنة بين العائد والمخاطرة داخل الاختبار.

Balance Drawdown

ما الذي حدث للصفقات المغلقة؟

يعتمد Balance على النتائج التي انعكست بالفعل على رصيد الحساب بعد إغلاق الصفقات. لذلك فهو يصف جانبًا مهمًا من التراجع، لكنه ليس الصورة الوحيدة.

Equity Drawdown

ماذا كان يحدث أثناء بقاء المراكز مفتوحة؟

Equity يعكس أيضًا الربح والخسارة العائمة. لذلك قد يكشف ضغطًا على الحساب لم يظهر بالطريقة نفسها في منحنى Balance.

الخلاصة: قراءة أحدهما وإهمال الآخر قد تخفي جزءًا من سلوك الاستراتيجية أثناء الاختبار.

Optimization & Overfitting

عندما يصبح الاختبار أجمل بينما تصبح الثقة فيه أضعف

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

المشكلة تظهر عندما يتم اختبار أعداد كبيرة من التركيبات ثم اختيار النتيجة التاريخية الأجمل وكأنها اكتشاف مستقل. قد تكون بعض النتائج متوافقة بدرجة كبيرة مع تفاصيل العينة الماضية بدل أن تمثل سلوكًا أكثر ثباتًا.

يُعرف هذا الخطر باسم Overfitting أو الإفراط في ملاءمة البيانات التاريخية.

نتيجة تاريخية أفضل لا تعني بالضرورة استراتيجية أكثر قوة.

كلما زادت القرارات التي اتخذتها بعد النظر إلى البيانات نفسها، أصبح من المهم اختبار ما إذا كانت النتيجة تستمر خارج العينة التي ساعدت على اختيار تلك القرارات.

Out-of-Sample & Forward Testing

لا تجعل البيانات نفسها تكتب الامتحان وتجيب عنه

01

In-Sample

بيانات تستخدم أثناء البحث أو الضبط أو اختيار الإعدادات. الأداء عليها يجب تفسيره مع معرفة أن الاستراتيجية تأثرت بهذه العينة.

02

Out-of-Sample

بيانات منفصلة لم تستخدم بالطريقة نفسها في اختيار الإعدادات، وتساعد على فحص كيفية تصرف النظام خارج عينة الضبط.

03

Forward Testing

يوفر Strategy Tester في MT5 إمكانية استخدام جزء لاحق من الفترة للتحقق من نتائج الإعدادات بعد مرحلة الاختبار أو التحسين.

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

ZIMZIR Backtest Integrity Check

خمس أسئلة قبل أن تأخذ نتيجة الـBacktest بجدية

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

01

البيانات

ما الفترة التي تم اختبارها؟ وما مصدر البيانات؟ وهل توجد فجوات أو اختلافات قد تؤثر في النتيجة؟

02

النمذجة

هل استخدمت Real Ticks أم Ticks مولّدة أم 1 Minute OHLC أم Open Prices Only؟

03

التنفيذ

هل تعكس إعدادات Spread والعمولة والتأخير وشروط الحساب بيئة تشغيل معقولة للاستراتيجية؟

04

القواعد

هل كانت قواعد وإعدادات الاستراتيجية محددة بوضوح، أم جرى تعديلها مرارًا بعد رؤية النتائج التاريخية؟

05

التحقق

هل تم فحص الاستراتيجية على بيانات لم تستخدم أصلًا في ضبط الإعدادات أو اختيارها؟

أخطاء شائعة

Backtest قد يعمل بلا Errors ومع ذلك يكون مضللًا

01

الحكم على الاستراتيجية من Net Profit وحده.

02

اختيار أسرع نمط اختبار ثم التعامل معه وكأنه يمثل جميع تفاصيل التنفيذ.

03

تجاهل عدد الصفقات أو الاعتماد على عينة قصيرة لا تمثل ظروفًا متنوعة.

04

تعديل الإعدادات مرارًا حتى تبدو البيانات التاريخية ممتازة ثم اعتبار النتيجة دليلًا على المستقبل.

05

إهمال Spread والعمولات والتأخير أو افتراض ظروف تنفيذ أفضل من البيئة التي ستعمل فيها الاستراتيجية.

06

مقارنة نتائج اختبارات مختلفة دون التأكد من أن البيانات والفترة والإعدادات وظروف الحساب متقاربة.

ماذا بعد Backtesting؟

الاختبار التاريخي بداية عملية التحقق، وليس نهايتها

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

الخلاصة

لا تبحث عن Backtest مثالي؛ ابحث عن اختبار تستطيع فهمه والتحقق من افتراضاته.

قوة الاختبار لا تأتي من رقم ربح كبير أو منحنى سلس وحده، بل من وضوح البيانات والقواعد وظروف المحاكاة والمخاطر وطريقة التحقق من النتيجة خارج العينة التي ساعدت على بنائها.

هذا المحتوى تعليمي عام ولا يمثل توصية استثمارية أو وعدًا بنتائج مستقبلية. الأداء التاريخي ونتائج الاختبارات والمحاكاة لا تضمن الأداء المستقبلي.