ایده کارفرما
نگار بیات با EURUSD / XAUUSD روی M5 کار میکند و دستور کار اولیه این بود: معاملهام را قبل از خبر نبند؛ فقط اجازه نده ربات در بازه خبر وارد شود.
پروژه و وضعیت اولیه
ورودهای ناخواسته در دقیقههای اعلام نرخ بهره، بیشترین آسیب را به نتیجه معاملات میزد.
معماری راهحل
پنل فیلتر تقویمی که بازههای خبری را از فایل تقویم میخواند، در آن بازه ورود جدید را متوقف میکند و وضعیت سیستم را روی چارت نشان میدهد.
فایل تقویم بهصورت هفتگی بهروزرسانی میشود تا فیلتر مستقل از اتصال اینترنت ترمینال کار کند. سازگار با روش کاری که روی EURUSD / XAUUSD استفاده میشود و قابل تست با داده تاریخی موجود.
دلیل این انتخاب
فایل تقویم بهصورت هفتگی بهروزرسانی میشود تا فیلتر مستقل از اتصال اینترنت ترمینال کار کند. سازگار با روش کاری که روی EURUSD / XAUUSD استفاده میشود و قابل تست با داده تاریخی موجود.
قابلیتهای پیادهسازیشده
ماژولها و بخشهای پیادهشده: توقف زمانی + وضعیت لحظهای.
خروجی تحویلشده:
پنل فیلتر خبری و سشن — EURUSD / XAUUSD (M5)
سند مشخصات و جدول تطبیق قوانین (News and session filter panel)
سورس کامل MQL5 با کامنت
گزارش تست: تست روی یک سال داده خبری
مستند پارامترها و راهنمای نصب (۵ هفته)
پیشگیریها و کنترل ریسک
کد جدید در توابع خالص و بدون وابستگی به وضعیت سراسری نوشته میشود؛ خطاهای اجرای سفارش گرفته و لاگ میشوند.
روش بکتست و تست رو به جلو
روش تست: تست روی یک سال داده خبری.
تست در سه مرحله اجرا میشود: بکتست روی داده تاریخی، بهینهسازی محدود در محدودهٔ قرارداد، و اجرای رو به جلو با پارامترهای قفلشده.
ابزارها و پشته فنی: MQL5، فایل تقویم CSV، پنل چارت.
هر عدد این پروژه همراه با شرایط اندازهگیریاش منتشر میشود: بازه داده، مدل تیک، اسپرد، کارمزد و نسخه فایل اجرایی. بدون این شرایط، عدد نهایی با هیچ چیز قابل مقایسه نیست.
نتایج قابل انتشار
در یک سال داده، ورودهای داخل بازه خبری به صفر رسید و پنل وضعیت باعث شد کارفرما بداند سیستم فعال است یا در حال استراحت.
محدودیتها و نکات احتیاطی
کد جدید در توابع خالص و بدون وابستگی به وضعیت سراسری نوشته میشود؛ خطاهای اجرای سفارش گرفته و لاگ میشوند.
نتایج هر تست به کیفیت داده تاریخی، اسپرد بروکر و شرایط بازار وابسته است و تضمینی برای آینده نیست. در گپ قیمتی شدید یا قطع ارتباط بروکر، حد ضرر قابل تضمین نیست و رفتار سیستم در آن شرایط باید جداگانه بررسی شود.
پیشنهاد ما برای مرحله بعد
گام بعدی، افزودن تستهای خودکار روی توابع محاسباتی و مستندسازی API داخلی است.
نمونهکارها
نتیجه اندازهگیریشده
اعداد همان چیزی است که در تست اندازهگیری شده؛ نه وعده عملکرد آینده.
- 20 min بازه توقف اطراف خبر
- 3 سشنهای کنترلشده
- 14 پارامترهای قابل تنظیم
- 99.9 % پایداری اجرا در تست