مشخصات فنی پروژه
- بازار
- EURUSD / XAUUSD
- تایمفریم
- H1
- پلتفرم
- MT5
- نوع مشتری
- دارنده اکسپرت موجود
- بازه اجرا
- ۹ هفته
- ساختار و ابزار
- MQL5، کد قدیمی، لاگ فراخوانی توابع
- استراتژی
- بازنویسی توابع DLL در MQL5
- ماژولها
- توابع جایگزین + تست تطابق
- تست
- مقایسه خروجی پیش و پس از حذف
کارفرما این پروژه
تیم توسعه بازارخوان
- نقش
- تیم توسعه داخلی
- شهر
- Tehran
- کد پروژه
- TBT-1407-25
ایده کارفرما
تیم توسعه بازارخوان با EURUSD / XAUUSD روی H1 کار میکند و دستور کار اولیه این بود: اکسپرت به یک DLL قدیمی وصل است و روی سرور جدید کار نمیکند؛ همان کار را داخل خود کد انجام بده.
مسئله اولیه
کتابخانه DLL روی سرور جدید قابل استفاده نبود و هیچ مستندی از منطق داخلی آن وجود نداشت.
راهحل
بازسازی منطق کتابخانه از رفتار مشاهدهشده، پیادهسازی توابع جایگزین در MQL5 و مقایسه خروجی هر تابع پیش و پس از حذف وابستگی.
دلیل این انتخاب
هر تابع جایگزین یک تست تطابق دارد تا حذف وابستگی به تغییر نتیجه منجر نشود. سازگار با روش کاری که روی EURUSD / XAUUSD استفاده میشود و قابل تست با داده تاریخی موجود.
پیشگیریها و کنترل ریسک
تا زمانی که نتیجه نسخه MT5 با MT4 تطبیق داده نشود، نسخه قدیمی از حساب واقعی حذف نمیشود.
پیشنهاد ما برای مرحله بعد
پیشنهاد بعدی، بازبینی رفتار در شرایط داده ناقص و اتصال مجدد سرور است.
نمونهکارها
نتیجه اندازهگیریشده
اعداد همان چیزی است که در تست اندازهگیری شده؛ نه وعده عملکرد آینده.
- 99 % تطابق نتیجه با نسخه قبلی
- 2 رگرسیونهای شناساییشده
- 70 ms زمان پاسخ سفارش
- 10 scenarios پوشش سناریوهای تست
نمونهکارها
روند پیشرفت پروژه
هر پروژه از همین پنج مرحله عبور میکند و بازه هر مرحله در سند مشخصات مشخص است.
-
کشف و صورتبندی مسئله
انجامشدهفهرستبرداری از تفاوتهای MT4 و MT5 در این پروژه: سفارش، پوزیشن و حساب.
روز ۲–۷
-
سند مشخصات اجرایی
انجامشدهنقشه مهاجرت برای هر فایل و تعیین رفتار معادل برای مفاهیمی که در MT5 وجود ندارند.
روز ۸–۱۹
-
پیادهسازی
انجامشدهبازنویسی لایه سفارش و نگاشت مجیکنامبرها بدون تغییر منطق استراتژی.
روز ۲۰–۴۱
-
تست و اعتبارسنجی
انجامشدهاجرای همان داده روی هر دو نسخه و مقایسه نتیجه معاملهبهمعامله.
روز ۴۲–۵۵
-
تحویل و پشتیبانی
انجامشدهتحویل نسخه MT5 همراه گزارش تفاوتها و نسخه پشتیبان MT4.
روز ۵۶–۵۹