تلهی سودِ بالا؛ چرا فقط نباید به سود نهایی نگاه کرد؟
وقتی یک ربات فارکس بررسی میشود، معمولاً اولین چیزی که توجه را جلب میکند عدد سود نهایی است.
اگر سود بالا باشد، نتیجه در نگاه اول خوب به نظر میرسد. اگر نمودار بکتست صعودی باشد، ممکن است ربات آماده اجرا تصور شود.
اما در ارزیابی یک اکسپرت، سود نهایی فقط بخشی از ماجراست؛ نه تمام آن.
یک ربات میتواند سود قابل توجهی ساخته باشد، اما برای رسیدن به آن سود، حساب را از مسیر پرتنشی عبور داده باشد. در چنین شرایطی، نتیجه روی گزارش جذاب دیده میشود؛ اما در حساب واقعی ممکن است فشار مالی و روانی آن، تصمیمگیری را سخت کند.
برای بررسی دقیقتر یک ربات، بهتر است سود را کنار چند عامل دیگر ببینید:
- دراودان یا افت سرمایه
- حجم معاملات
- ریکاوری فاکتور
- کیفیت بکتست
- روش بهینهسازی
- منطقی بودن تنظیمات
- قابل تحمل بودن نتیجه در حساب واقعی
هدف این مسترکلاس این است که نگاه شما به خروجی ربات دقیقتر شود:
تا بتوانید پشت یک بکتست ظاهراً جذاب را ببینید، ریسکهای پنهان آن را بهتر تشخیص دهید و قبل از اجرای ربات روی حساب واقعی، تصمیمی منطقیتر و آگاهانهتر بگیرید.

4 دیدگاه ها
بسیارعالی وجامع و تشکر از پشتیبانی🙏
سپاسگزاریم از لطف و اعتماد شما 🙏🌹
اگر سؤال، ابهام یا موضوعی درباره دوره داشتید، حتماً در بخش کامنتها بنویسید تا در جلسات بعدی بر اساس نیازها و سؤالات شما به آنها بپردازیم.
ممنون از تیم بورس نود بابت آموزشهای مفید.
چند سؤال برام پیش آمده که ممنون میشوم راهنمایی بفرمایید.
۱. برای اکسپرتهای Multi Time Frame، هنگام بکتست بهتر است تایمفریم Strategy Tester را روی تایمفریم کوچکتر قرار دهیم یا تایمفریم بزرگ اکسپرت؟ همچنین در این حالت برای بخش Modeling، استفاده از Every Tick مناسبتر است یا حالتهای دیگر؟
۲. پس از بهینهسازی و بررسی عملکرد اکسپرت در گذشته و Forward Test، اگر نقاط ضعف آن را شناسایی و بر اساس آن مشاهدات ، اکسپرت را اصلاح کنیم و این چرخه را چند بار تکرار کنیم، از کجا تشخیص دهیم که این اصلاحات صرفاً بهبود استراتژی است و نه Overfitting؟ مرز بین این دو دقیقا کجاست؟
با تشکر از گروه بورس ۹۰
سلام آقای عظیمی عزیز، وقت بخیر.
ممنون از لطف شما و سؤالهای دقیق و حرفهایتان 🌱
۱. تنظیمات تستر برای اکسپرتهای Multi Time Frame
در متاتریدر ۵، اگر تایمفریمها داخل کد اکسپرت بهصورت مشخص تعریف شده باشند، انتخاب تایمفریم پایه در Strategy Tester معمولاً محدودیت جدی ایجاد نمیکند؛ چون MT5 دیتای تایمفریمهای موردنیاز را برای اکسپرت فراهم میکند.
مثلاً اگر منطق اکسپرت بر اساس دو تایمفریم H1 و M15 باشد، متاتریدر میتواند دیتای هر دو تایمفریم را برای محاسبات در اختیار اکسپرت قرار دهد. حتی در حالت Visual Mode هم ممکن است چارتهای مربوط به تایمفریمهای استفادهشده را مشاهده کنید.
البته یک نکته مهم وجود دارد:
اگر در کد از مواردی مثل PERIOD_CURRENT یا _Period استفاده شده باشد، تایمفریمی که در Strategy Tester انتخاب میکنید روی منطق اکسپرت اثر میگذارد. در این حالت باید تایمفریم تستر را مطابق منطق اصلی اکسپرت انتخاب کرد.
در مورد Modeling هم بستگی به هدف تست دارد:
اگر فقط میخواهید منطق کلی اکسپرت را سریع بررسی کنید، حالت 1 Minute OHLC میتواند برای بررسی اولیه مناسب باشد.
اما برای تست نهایی و دقیقتر، مخصوصاً اگر اکسپرت ورود و خروج درونکندلی، حد ضرر، حد سود، تریلینگ یا مدیریت پوزیشن دارد، بهتر است از Every tick استفاده شود.
اگر دیتای باکیفیت در دسترس باشد، حالت Every tick based on real ticks از نظر دقت گزینه بهتری است.
۲. مرز بین بهبود استراتژی و Overfitting
مرز اصلی، منطق معاملاتی است.
هیچ استراتژی واقعیای وجود ندارد که همیشه TP بخورد و هیچوقت SL نخورد. ضرر بخشی از هر سیستم معاملاتی است. بنابراین هدف ما نباید حذف تمام ضررهای گذشته باشد؛ بلکه باید سیستم را منطقیتر، پایدارتر و قابلاجراتر کنیم.
Overfitting زمانی اتفاق میافتد که فقط برای حذف چند ضرر در گذشته، شرطهایی به اکسپرت اضافه کنیم که منطق معاملاتی مشخصی ندارند.
اما بهبود واقعی زمانی است که اصلاحات بر اساس منطق بازار انجام شود؛ مثل بهبود مدیریت سرمایه، کنترل حجم، مدیریت پوزیشن یا فیلتر کردن شرایط نامناسب بازار.
برای کاهش احتمال اورفیتینگ بهتر است از روشهایی مثل Out-of-Sample و Walk-Forward Test استفاده شود.
مثلاً اگر ۱۰ سال دیتای گذشته داریم:
۲.۵ سال اول: طراحی و بهینهسازی اکسپرت
۲.۵ سال دوم: تست تنظیمات و در صورت نیاز، اصلاح منطقی
۵ سال آخر: تست نهایی یا Blind Test
در مرحله نهایی بهتر است دیگر بر اساس همان نتیجه، کد یا تنظیمات را تغییر ندهیم؛ چون در این صورت آن بخش هم وارد فرآیند بهینهسازی میشود و دیگر تست مستقل محسوب نمیشود.
اگر اکسپرت روی دیتای نهاییِ دستنخورده هم عملکرد منطقی و قابلقبول داشته باشد، احتمال Overfitting کمتر میشود؛ هرچند باز هم هیچ تستی تضمینکننده عملکرد آینده بازار نیست.
موفق باشید 🌱