ایده کارفرما
الهام نوری با XAUUSD / EURUSD روی M15 کار میکند و دستور کار اولیه این بود: میخواهم معاملاتم با جزئیات کامل به یک فایل تمیز برود، نه عکس گرفتن از ترمینال.
پروژه و وضعیت اولیه
تحلیل معاملات دستی بود و هر معامله باید از ترمینال کپی میشد؛ خطای ورود داده نتیجه تحلیل را بیاعتبار میکرد.
معماری راهحل
ماژول خروجی که هر معامله را با فیلدهای لازم (سشن، فاصله حد ضرر، ماژول سیگنال) در CSV روزانه مینویسد و با گزارش ترمینال تطبیق میدهد.
فیلدها با کارفرما تعریف شد، چون سؤالهای تحلیل بعداً از همان فیلدها بیرون میآید. سازگار با روش کاری که روی XAUUSD / EURUSD استفاده میشود و قابل تست با داده تاریخی موجود.
دلیل این انتخاب
فیلدها با کارفرما تعریف شد، چون سؤالهای تحلیل بعداً از همان فیلدها بیرون میآید. سازگار با روش کاری که روی XAUUSD / EURUSD استفاده میشود و قابل تست با داده تاریخی موجود.
قابلیتهای پیادهسازیشده
ماژولها و بخشهای پیادهشده: CSV روزانه + فیلدهای سفارشی.
خروجی تحویلشده:
موتور خروجی ژورنال معاملات — XAUUSD / EURUSD (M15)
سند مشخصات و جدول تطبیق قوانین (Trade journal exporter engine)
سورس کامل MQL5 با کامنت
گزارش تست: مقایسه با گزارش ترمینال
مستند پارامترها و راهنمای نصب (۶ هفته)
پیشگیریها و کنترل ریسک
کد جدید در توابع خالص و بدون وابستگی به وضعیت سراسری نوشته میشود؛ خطاهای اجرای سفارش گرفته و لاگ میشوند.
روش بکتست و تست رو به جلو
روش تست: مقایسه با گزارش ترمینال.
تست در سه مرحله اجرا میشود: بکتست روی داده تاریخی، بهینهسازی محدود در محدودهٔ قرارداد، و اجرای رو به جلو با پارامترهای قفلشده.
ابزارها و پشته فنی: MQL5، CSV، اسکریپت تحلیل در پایتون.
هر عدد این پروژه همراه با شرایط اندازهگیریاش منتشر میشود: بازه داده، مدل تیک، اسپرد، کارمزد و نسخه فایل اجرایی. بدون این شرایط، عدد نهایی با هیچ چیز قابل مقایسه نیست.
نتایج قابل انتشار
زمان جمعآوری داده ماهانه از دو روز به چند دقیقه رسید و اختلاف عددی با گزارش ترمینال صفر گزارش شد.
محدودیتها و نکات احتیاطی
کد جدید در توابع خالص و بدون وابستگی به وضعیت سراسری نوشته میشود؛ خطاهای اجرای سفارش گرفته و لاگ میشوند.
نتایج هر تست به کیفیت داده تاریخی، اسپرد بروکر و شرایط بازار وابسته است و تضمینی برای آینده نیست. در گپ قیمتی شدید یا قطع ارتباط بروکر، حد ضرر قابل تضمین نیست و رفتار سیستم در آن شرایط باید جداگانه بررسی شود.
پیشنهاد ما برای مرحله بعد
گام بعدی، افزودن تستهای خودکار روی توابع محاسباتی و مستندسازی API داخلی است.
نمونهکارها
نتیجه اندازهگیریشده
اعداد همان چیزی است که در تست اندازهگیری شده؛ نه وعده عملکرد آینده.
- 12 پارامترهای قابل تنظیم
- 60 ms زمان پاسخ سفارش
- 1,480 معاملات بررسیشده
- 7 scenarios پوشش سناریوهای تست