جدول محتوایی
یکی از مهمترین مراحل فرایند ساخت ربات معاملهگر یا معاملات الگوریتمی، بک تست ربات است. بک تست کمک میکند به سرعت ظرف چند ساعت نتیجه عملکرد ربات تریدینگ خود را در چند سال گذشته بازار تست کنید. ما در این مقاله به بررسی روش بک تست گیری نحوه عملکرد و اهمیتان خواهیم پرداخت. با ما همراه شوید.
اهمیت بک تست در معاملات الگوریتمی
بک تست به نوعی شبیهسازی معامله در گذشته بازار گفته میشود، بک تست ربات در فارکس بعد از ایجاد و کد نویسی رباتهای معاملهگر انجام میشود تا از طریق بک تست گیری در گذشته ببینند که آیا ربات درست عمل میکند، آیا نقاط ورود و خروج درست هستند و اصلاً استراتژی درست اجرا میشود و نتیجه مثبتی دارد یا خیر. اهمیت بک تست در ان است که شما میتوانید استراتژی خود را یک باره روی چند سال گذشته بازار تست کنید. اگر بک تست ربات نباشد، شما باید حداقل 6 ماه در بازار لایو ربات خود را تست کنید و سپس به اصلاح آن بپردازید که این مسئله بسیار زمانبر است. حداقل ویژگیهای مثبت بک تست ربات شامل موارد زیر است:
- ارزیابی عملکرد استراتژی
- بهینه سازی استراتژی
- کاهش ریسک
- ورود به معاملات با اطمینان بیشتر
- سرعت بالای تست کردن استراتژی
نحوه بک تست و ارزیابی عملکرد الگوریتمها
ما در ادامه این پاراگراف روش بک تست گیری ربات در متاتریدر 5 را آموزش میدهیم. دلیل استفاده از متاتریدر 5 این است که بیشتر معاملهگرانی که میخواهند از طریق معاملات الگوریتمی ترید کنند از این نسخه استفاده میکنند. زیرا متاتریدر 5 به شدت برای نوشتن ربات بهینه شده است
.
در قدم اول متاتریدر را باز کنید، سپس از منوی بالا روی دکمه View بزنید و بعد از ان روی گزینه Strategy Tester کلیک کنید
همانطور که روی عکس مشاهده میکنید، هرکدام از تنظیمات قسمت تست استراتژی شمارهگذاری و در زیر عکس توضیح داده شده است تا بتوانید به بهترین شکل ممکن با بخشها آشنا شوید و آنها را بر اساس نوع بک تستی که میخواهید بگیرید تنظیم کنید
.
- انتخاب نوع تست:
در منوی بازشده، گزینهی Expert Advisor testing را انتخاب کنید (در صورت تمایل میتوانید اندیکاتور را نیز تست کنید). - انتخاب اکسپرت (Adviser): اکسپرت ادوایزری را که قصد تست آن را دارید، انتخاب کنید.
- انتخاب جفتارز:
جفتارزی را انتخاب کنید که دادههای تاریخی آن توسط تستر تحلیل خواهد شد.
اگر ابزار معاملاتی مورد نظر خود را پیدا نکردید، روی پنجرهی Market Overview راست کلیک کرده و گزینهی Show all را فعال کنید تا تمام نمادها نمایش داده شوند. - انتخاب تایم فریم:
در MT5 بیستویک تایم فریم وجود دارد — از یک دقیقه تا یک ماه. - انتخاب بازه زمانی تست:
یکی از گزینههای زیر را انتخاب کنید:
All History (تمام تاریخ)، Last Month (ماه گذشته)، Last Year (سال گذشته)، یا Selected Period (بازه انتخابی). - تعیین بازه انتخابی:
در صورت انتخاب گزینهی Selected Period، بازه زمانی مورد نظر خود را در این قسمت مشخص کنید. - تقسیم تست به دو بخش (Back و Forward):
فرض کنید پارامترهای تست را برای سال جاری تنظیم کردهاید. ممکن است این تنظیمات فقط برای همین دوره معتبر باشند و در آینده نتایج متفاوتی بدهند.
در این حالت میتوان تست را به دو بخش تقسیم کرد — Back و Forward.
بخش Forward بازهای مجدد از دادهها را برای تست مجدد فعال میکند (مثلاً نصف، یکسوم یا یکچهارم دوره).
ابتدا تستر دادههای دورهٔ Back را بررسی میکند، سپس همان پارامترها را در بازهٔ Forward میسنجد.
اگر نتایج دو تست تفاوت قابلتوجهی داشته باشند، پارامترها ناپایدارند و استفاده از آن اکسپرت در حساب واقعی توصیه نمیشود. - انتخاب حالت اجرای معاملات:
- Ordinary: اجرای کامل سفارشها بدون لغزش قیمتی (slippage).
- With Arbitrary Delay: شامل تأخیر در اجرای سفارشها، شبیه به شرایط واقعی بازار.
- انتخاب روش تولید تیکها (Tick Generation):
- All Ticks: استفاده از دادههای یکدقیقهای (M1) — دقت بالا.
- Each Tick based on Real Ticks: تست بر اساس دادههای واقعی تیک که توسط برو کر ارائه میشوند؛ دقیقترین حالت با در نظر گرفتن اسپرد شناور و قیمتهای واقعی.
- OHLC on M1: تست با استفاده از دادههای یکدقیقهای شامل فقط قیمتهای باز، بیشینه، کمینه و بسته شدن.
- Opening Price Only: فقط بر اساس قیمت باز شدن هر کندل تست میکند.
- Mathematical Calculations: در این حالت بارگذاری خودکار دادهها و تیکها غیرفعال است و معمولاً برای تنظیم پارامترهای اکسپرت استفاده میشود.
- میزان سرمایه اولیه (Deposit):
معادل موجودی واقعی شما در حساب تست. - تعیین ضریب اهرم (Leverage):
سطح لوریجی را که مایلید برای تست استفاده شود، انتخاب کنید. - فعالسازی حالت تصویری (Visualization Mode):
با فعال کردن این گزینه میتوانید عملکرد اکسپرت را بهصورت دیداری روی نمودار مشاهده کنید و نحوهی انجام معاملات را ببینید. - شروع تست:
در نهایت، روی دکمهی Start کلیک کنید تا تست آغاز شود.
نکات مهم در مورد دادههای بک تست
اما مسئله مهم بعد از بک تست ربات شروع میشود، زمانی که دیتا و دادههای زیادی را به صورت آمار و ارقام در اختیار شما قرار میدهد. شما باید توانید این دادهها را به بهترین شکل ممکن آنالیز کرده و وضعیت ربات و استراتژی معاملاتی خود را ارزیابی کنید. در ادامه تصویر از خروجی نهایی بک تست را مشاهده میکنید، باکسهای زرد رنگ موارد مهم هستند که هرکدام را توضیح خواهیم داد

۱ – سود خالص کل (Total net profit)
این عدد، نتیجه نهایی تمام معاملاتی که استراتژی شما در گذشته سیگنال گیری میکرد و باز میکرده. این پارامتر نشان میدهد که این ربات بهدرستی کارکرده یا خیر، سودآور هست یا خیر. هرچند که سودآوری آن تضمینی برای موفقیت در آینده نیست.
۲ – بیشترین افت سرمایه (Maximal drawdown)
این بخش که با شماره 2 نشان داده میشود، بیشترین افت حساب یا دراودان را به شما نمایش میدهد. همانطور که میدانید دراودان یا ضرر شناور، یکی از مهمترین فاکتورهایی است که میزان ریسک یک حساب را مشخص میکند. اگر عدد دراودان شما بزرگ باشد، ریسک مالی استراتژی شما بالاست و باید مقدار آن را کاهش دهید.
۳ – تعداد کل معاملات (Total trades)
در این بخش تعداد کل معاملات انجام شده به شما نمایش داده میشود. در اینجا میبینید که نسبت به بازه زمانی بک تست که برای سیستم خود مشخص کردهاید، چند معامله یا چند سیگنال معاملاتی استراتژی شما ایجاد میکند. تعداد میانگین معاملات بر تنظیم بسیاری از موارد مانند حجم، دراودان، ریسک به ریوارد، حد ضرر روزانه و کلی و بسیاری از آیتمهای دیگر اثر گذار است.
۴ – معاملات سودده (Profit trades)
این بخش نیز تعداد معاملات سودده را نسبت به کل معاملات به صورت درصدی نشان میدهد. یعنی شما نرخ موفقیت یا Win Rate خود را میتوانید در این بخش متوجه شوید. هرچقدر که نرخ وین رییت شما بهتر باشد، یعنی وضعیت استراتژی معاملاتی که ایجاد کردهاید در بک تستها بهتر بوده است.
چالشهای بک تست ربات
هرچند که بک تست ربات و استفاده از استراتژی تستر متاتریدر مزایای زیادی دارد، اما اشکالاتی هم در ان وجود دارد. تکیه بر دادههای تاریخی میتواند مفید باشد اما نمیتواند همان شرایط لحظهای بازار را بازسازی کند. گاهی اوقات در لحظاتی از بازار گپها و تأخیرها و اسپردهای واید اتفاق میافتد که در بک آزمودنها به خوبی نشان داده نمیشود.
مسئله بعدی ریسک بیش پردازش یا Overfitting است. این مدل به این معناست که هرچقدر هم استراتژی را دقیق مشخص کرده باشید، قطعاً نتایجی که بک تست به دست میآورید افت محسوسی نسبت به بازار لایو خواهید داشت. مسئله سرعت عملکرد ربات در لحظه نقض دادهها در بازار لایو، خطاها، و … همگی باعث میشود که بک تستها تا حدی گمراه کننده باشد. بنابراین نباید به بک تست ربات به چشم یک مسئله کامل و بدون خطا نگاه کرد. بک تست برای این است که شما تا حد زیادی نزدیک به نتایج مد نظر شوید و اشکالات استراتژی خود را به سرعت پیدا کنید.
جمع بندی
همانطور که گفته شد، بک تست ربات هرچند که کمک میکند تا از وضعیت استراتژی معاملاتی خودآگاهتر شویم و سریعتر عملکردان را بسنجیم. اما برای اینکه نتیجه واقعیتری از استراتژی معاملاتی خود داشته باشیم، باید حتماً ربات یا استراتژی را روی بازار زنده در یک حساب دمو تست کنیم. همانطور که گفتیم بک تست ممکن است دچار Overfitting شود و دادههای آن تا حد زیادی واقعی نباشد.