ایده کارفرما
تیم مدیریت حساب مهرآور با EURUSD / GBPUSD روی M5 کار میکند و دستور کار اولیه این بود: یک پنل که معاملات حساب اصلی را با نسبت حجم درست به حسابهای مشتریان برساند.
پروژه و وضعیت اولیه
کپی دستی معاملات بین شش حساب، در روزهای شلوغ با خطای حجم و تأخیر همراه بود.
معماری راهحل
پنل کپی با صف سفارش، نسبت حجم قابل تنظیم برای هر حساب، سقف مواجهه هر مشتری و ثبت لاگ کامل برای پیگیری.
صف سفارش اجازه میدهد تاخیر یک حساب، بقیه را متوقف نکند. سازگار با روش کاری که روی EURUSD / GBPUSD استفاده میشود و قابل تست با داده تاریخی موجود.
دلیل این انتخاب
صف سفارش اجازه میدهد تاخیر یک حساب، بقیه را متوقف نکند. سازگار با روش کاری که روی EURUSD / GBPUSD استفاده میشود و قابل تست با داده تاریخی موجود.
قابلیتهای پیادهسازیشده
ماژولها و بخشهای پیادهشده: صف سفارش + تخصیص حجم.
خروجی تحویلشده:
پنل کپی معاملات — EURUSD / GBPUSD (M5)
سند مشخصات و جدول تطبیق قوانین (Trade copier panel)
سورس کامل MQL5 با کامنت
گزارش تست: تست همزمانی روی چهار حساب
مستند پارامترها و راهنمای نصب (۸ هفته)
پیشگیریها و کنترل ریسک
کد جدید در توابع خالص و بدون وابستگی به وضعیت سراسری نوشته میشود؛ خطاهای اجرای سفارش گرفته و لاگ میشوند.
روش بکتست و تست رو به جلو
روش تست: تست همزمانی روی چهار حساب.
تست در سه مرحله اجرا میشود: بکتست روی داده تاریخی، بهینهسازی محدود در محدودهٔ قرارداد، و اجرای رو به جلو با پارامترهای قفلشده.
ابزارها و پشته فنی: MQL5، فایل اشتراکی، لاگ همزمانی.
هر عدد این پروژه همراه با شرایط اندازهگیریاش منتشر میشود: بازه داده، مدل تیک، اسپرد، کارمزد و نسخه فایل اجرایی. بدون این شرایط، عدد نهایی با هیچ چیز قابل مقایسه نیست.
نتایج قابل انتشار
اختلاف حجم بین حسابها به صفر رسید و تیم توانست تعداد حسابهای تحت مدیریت را دو برابر کند.
محدودیتها و نکات احتیاطی
کد جدید در توابع خالص و بدون وابستگی به وضعیت سراسری نوشته میشود؛ خطاهای اجرای سفارش گرفته و لاگ میشوند.
نتایج هر تست به کیفیت داده تاریخی، اسپرد بروکر و شرایط بازار وابسته است و تضمینی برای آینده نیست. در گپ قیمتی شدید یا قطع ارتباط بروکر، حد ضرر قابل تضمین نیست و رفتار سیستم در آن شرایط باید جداگانه بررسی شود.
پیشنهاد ما برای مرحله بعد
گام بعدی، افزودن تستهای خودکار روی توابع محاسباتی و مستندسازی API داخلی است.
نمونهکارها
نتیجه اندازهگیریشده
اعداد همان چیزی است که در تست اندازهگیری شده؛ نه وعده عملکرد آینده.
- 120 ms زمان پاسخ سفارش
- 100 % تطابق نتیجه با نسخه قبلی
- 99.6 % پایداری اجرا در تست
- 8 scenarios پوشش سناریوهای تست