وبلاگ
بک تست چیست؟ آموزش اصولی آزمایش استراتژی معاملاتی
بک تست چیست؟ بک تست یا Backtesting فرایند آزمایش قوانین یک استراتژی معاملاتی روی دادههای تاریخی بازار است تا مشخص شود اگر این قوانین در گذشته بدون تغییر اجرا میشدند، چه عملکرد، ریسک و افت سرمایهای ایجاد میکردند.
بک تست قرار نیست سود آینده را تضمین کند. وظیفه آن پاسخدادن به پرسشهایی عملیتر است: آیا قوانین استراتژی شفاف و قابلاجرا هستند؟ آیا پس از لحاظ کارمزد و لغزش هنوز مزیت آماری وجود دارد؟ بدترین افت سرمایه چقدر بوده و نتایج تا چه اندازه به یک بازار، بازه یا پارامتر خاص وابستهاند؟
یک بک تست معتبر فقط نمودار سود نهایی نیست؛ باید کیفیت داده، ترتیب زمانی اطلاعات، نحوه اجرای سفارشها، هزینه معاملات، تعداد نمونهها و عملکرد استراتژی روی دادههای دیدهنشده را نیز در نظر بگیرد.
فهرست مطالب
بک تست چیست و چه چیزی را اندازه میگیرد؟
در بک تست، معاملهگر یا نرمافزار دادههای گذشته را از ابتدا تا انتها بررسی میکند و هر زمان شرایط ازپیشتعریفشده استراتژی شکل گرفت، معاملهای شبیهسازیشده ثبت میشود.
برای مثال، یک استراتژی ساده ممکن است چنین قوانینی داشته باشد:
- فقط در جهت روند چهارساعته معامله شود؛
- ورود پس از شکست سقف نوسانی و بستهشدن کندل انجام شود؛
- حد ضرر زیر آخرین کف معتبر قرار بگیرد؛
- هدف برابر دو برابر ریسک اولیه باشد؛
- در هر معامله حداکثر یک درصد سرمایه ریسک شود؛
- هنگام انتشار خبر مشخصی معاملهای باز نشود.
بک تست نشان میدهد این قوانین در نمونه تاریخی انتخابشده چند بار فعال شدهاند، چند معامله سودده یا زیانده بوده، بیشترین افت حساب چه مقدار بوده و مسیر رشد یا کاهش سرمایه چگونه شکل گرفته است.
اما نتیجه فقط درباره همان قوانین، دادهها و فرضیات اجرا معتبر است. تغییر کوچک در نقطه ورود، کارمزد، اسپرد یا کیفیت داده میتواند خروجی را تغییر دهد.
چرا باید استراتژی معاملاتی را بک تست کنیم؟
بک تست پیش از ورود به حساب واقعی چند فایده مهم دارد:
- قوانین مبهم استراتژی را آشکار میکند؛
- نشان میدهد ستاپ چند بار تکرار شده است؛
- نرخ برد و میانگین سود و زیان را تخمین میزند؛
- دورههای افت سرمایه را مشخص میکند؛
- تأثیر هزینه معاملات را نشان میدهد؛
- شرایط مناسب و نامناسب بازار برای سیستم را جدا میکند؛
- انتظارات غیرواقعی معاملهگر را اصلاح میکند؛
- امکان مقایسه نسخههای مختلف یک استراتژی را فراهم میسازد؛
- داده لازم برای تعیین حجم و محدودیت ریسک ایجاد میکند.
برای مثال، اگر بک تست نشان دهد استراتژی در گذشته ۹ زیان متوالی داشته است، معاملهگر نباید پس از سه معامله ناموفق تصور کند سیستم حتماً از کار افتاده است. البته این داده نیز تضمین نمیکند که رشته زیان آینده از ۹ معامله بیشتر نخواهد شد.
بک تست چه چیزی را ثابت نمیکند؟
حتی یک بک تست ظاهراً عالی موارد زیر را ثابت نمیکند:
- استراتژی در آینده سودده خواهد بود؛
- تمام سفارشها با قیمت شبیهسازیشده اجرا میشوند؛
- اسپرد و نقدشوندگی ثابت میمانند؛
- رفتار بازار تغییر نخواهد کرد؛
- معاملهگر قوانین را بدون خطای روانی اجرا میکند؛
- کارگزاری، بروکر یا صرافی همیشه در دسترس خواهد بود؛
- استراتژی ظرفیت نامحدودی برای افزایش سرمایه دارد.
نتایج گذشته فقط شواهدی درباره رفتار استراتژی در شرایط تاریخی ارائه میکنند. اعتبار یک سیستم به ترکیب بک تست، آزمون خارج از نمونه، فوروارد تست و کنترل ریسک وابسته است.
تفاوت بک تست دستی و خودکار
بک تست دستی
در بک تست دستی، معاملهگر نمودار را به گذشته میبرد و کندلها را مرحلهبهمرحله جلو میبرد. هر ستاپ مطابق قوانین ثبت میشود و نتیجه در ژورنال قرار میگیرد.
این روش برای استراتژیهایی مناسب است که شامل تفسیر بصریاند؛ مانند:
- ساختار بازار؛
- حمایت و مقاومت؛
- پرایس اکشن؛
- شکست و پولبک؛
- الگوهای کندلی؛
- شرایطی که هنوز به قواعد کاملاً قابلکدنویسی تبدیل نشدهاند.
مزیت بک تست دستی، مشاهده مستقیم رفتار بازار است. ضعف آن، سرعت پایین و احتمال دخالت سلیقه یا اطلاع از آینده نمودار است.
بک تست خودکار
در روش خودکار، قوانین استراتژی به زبان قابلفهم برای نرمافزار نوشته میشوند. برنامه تمام دادهها را بررسی و معاملات فرضی را با سرعت بالا اجرا میکند.
این روش برای سیستمهایی مناسب است که شرایط ورود و خروج آنها دقیق و کمی هستند؛ مانند:
- تقاطع میانگینهای متحرک؛
- شکست یک محدوده عددی؛
- ورود بر اساس اندیکاتورها؛
- مدیریت معامله الگوریتمی؛
- استراتژیهای چندنمادی؛
- اکسپرتهای معاملاتی.
🔗 Strategy Tester رسمی متاتریدر ۵ امکان ارزیابی عملکرد اکسپرتها، آزمایش پارامترها و مشاهده نتایج پیش از اجرای ربات روی حساب واقعی را فراهم میکند.
ویژگی | بک تست دستی | بک تست خودکار |
|---|---|---|
| سرعت | پایین | بالا |
| نیاز به برنامهنویسی | ندارد | معمولاً دارد |
| مناسب برای تحلیل بصری | بسیار مناسب | محدودتر |
| احتمال قضاوت سلیقهای | بیشتر | کمتر، اگر کد صحیح باشد |
| تعداد معاملات قابلآزمایش | محدود | بسیار زیاد |
| امکان بهینهسازی پارامترها | دشوار | آسان |
| خطر بیشبرازش | متوسط | بالا |
| کشف خطای کدنویسی | مطرح نیست | ضروری است |
هیچیک ذاتاً برتر نیست. یک روش کاربردی این است که ابتدا استراتژی بهصورت دستی فهمیده و قوانین آن تثبیت شود، سپس برای آزمایش گستردهتر به کد تبدیل شود.
چگونه بک تست دستی بگیریم؟
مرحله اول: قوانین استراتژی را دقیق بنویسید
پیش از بازکردن نمودار باید موارد زیر مشخص باشند:
- بازار و نمادهای مجاز؛
- تایمفریم تحلیل و ورود؛
- ساعت و روزهای معامله؛
- تعریف دقیق روند یا شرایط بازار؛
- ستاپ ورود؛
- قیمت اجرای فرضی؛
- محل حد ضرر؛
- شیوه تعیین حد سود؛
- قانون خروج زودتر از هدف؛
- درصد ریسک هر معامله؛
- تعداد معاملات همزمان؛
- شرایط ممنوعیت معامله.
عبارتهایی مانند «ورود روی حمایت خوب» یا «کندل قوی» قابلبکتست نیستند، مگر اینکه تعریف قابلتکراری برای «خوب» و «قوی» ارائه شود.
مرحله دوم: بازه و داده مناسب انتخاب کنید
بازه آزمایش باید شرایط متفاوت بازار را شامل شود:
- روند صعودی؛
- روند نزولی؛
- بازار رنج؛
- نوسان بالا و پایین؛
- دورههای انتشار اخبار مهم؛
- شرایط کمنقدشونده.
انتخاب فقط بازهای که استراتژی در آن خوب کار کرده، نتیجه را منحرف میکند.
مرحله سوم: آینده نمودار را مخفی کنید
نمودار را کندلبهکندل جلو ببرید. هنگام تصمیمگیری فقط اطلاعاتی را ببینید که تا همان لحظه در دسترس معاملهگر بوده است.
اگر سقف، کف یا بستهشدن کندلی را ببینید که در لحظه تصمیم هنوز شکل نگرفته بود، دچار خطای نگاه به آینده شدهاید.
مرحله چهارم: تمام ستاپها را ثبت کنید
انتخابکردن فقط معاملات جذاب نتیجه را غیرواقعی میکند. هر معاملهای که با قوانین مطابقت دارد باید ثبت شود؛ حتی اگر از قبل میدانید زیانده بوده است.
مرحله پنجم: هزینهها را لحاظ کنید
در هر معامله موارد زیر را در نظر بگیرید:
- کارمزد ورود و خروج؛
- اسپرد؛
- لغزش قیمت؛
- سواپ یا هزینه نگهداری؛
- فاندینگ معاملات دائمی؛
- مالیات یا هزینههای بازار مربوط؛
- اختلاف احتمالی قیمت ماشه و قیمت اجرا.
مرحله ششم: نتایج را با واحد R ثبت کنید
اگر حد ضرر اولیه یک معامله معادل ۱۰۰ دلار باشد، همان ۱۰۰ دلار برابر یک واحد R است.
- زیان کامل تا حد ضرر: منفی یک R؛
- سود دو برابر ریسک: مثبت دو R؛
- خروج با نصف زیان برنامهریزیشده: منفی ۰٫۵R.
استفاده از R امکان مقایسه معاملات با اندازه حسابها و حد ضررهای متفاوت را فراهم میکند.
جدول پیشنهادی ژورنال بک تست
ستون | اطلاعات موردنیاز |
|---|---|
| تاریخ و ساعت | زمان تشکیل ستاپ |
| بازار و نماد | دارایی آزمایششده |
| تایمفریم | تایمفریم تحلیل و ورود |
| وضعیت بازار | روند، رنج یا نامنظم |
| جهت معامله | خرید یا فروش |
| دلیل ورود | قوانین فعالشده |
| قیمت ورود | قیمت فرضی پس از اسپرد |
| حد ضرر | قیمت ابطال سناریو |
| هدف | قیمت یا قانون خروج |
| نتیجه | سود یا زیان پولی |
| نتیجه برحسب R | خروجی استانداردشده |
| هزینه معامله | کارمزد، اسپرد و سایر هزینهها |
| بیشترین حرکت موافق | MFE |
| بیشترین حرکت مخالف | MAE |
| تصویر نمودار | مستند بصری معامله |
| توضیحات | خطاها یا شرایط خاص |
MFE بیشترین حرکت قیمت در جهت سود و MAE بیشترین حرکت خلاف معامله پیش از بستهشدن آن است. این دو معیار میتوانند برای ارزیابی حد سود و حد ضرر مفید باشند.
چگونه در متاتریدر ۵ بک تست بگیریم؟
برای بک تست خودکار در متاتریدر ۵ به یک Expert Advisor یا استراتژی کدنویسیشده نیاز دارید.
مسیر کلی در نسخه دسکتاپ:
1. پنجره Strategy Tester را باز کنید.
2. اکسپرت موردنظر را انتخاب کنید.
3. نماد معاملاتی را مشخص کنید.
4. تایمفریم را انتخاب کنید.
5. بازه تاریخی را تعیین کنید.
6. حالت مدلسازی داده را انتخاب کنید.
7. سرمایه اولیه، ارز حساب و لوریج را تنظیم کنید.
8. پارامترهای اکسپرت را وارد کنید.
9. اسپرد، کمیسیون و سایر فرضیات را بررسی کنید.
10. آزمایش را اجرا و گزارش را تحلیل کنید.
11. در صورت نیاز، حالت Visual Mode را برای کنترل معاملات فعال کنید.
مستندات رسمی 🔗 آزمایش استراتژی در MetaTrader 5 توضیح میدهد که تستر میتواند تاریخچه نمادهای موردنیاز را دریافت کرده و حتی اکسپرتهای چندنمادی را آزمایش کند.
برای یادگیری محیط پلتفرم و بخشهای معاملاتی میتوانید از 🔗 آموزش ویدیویی کار با متاتریدر ۵ استفاده کنید.
چرا حالت Visual Mode مهم است؟
گزارش عددی ممکن است عالی باشد، درحالیکه اکسپرت معاملات غیرمنطقی انجام داده است. حالت تصویری کمک میکند موارد زیر کنترل شوند:
- زمان واقعی ورود؛
- محل حد ضرر و هدف؛
- معاملات تکراری؛
- استفاده احتمالی از داده آینده؛
- ورود پیش از بستهشدن کندل؛
- رفتار استراتژی هنگام گپ؛
- تفاوت اجرای کد با منطق موردنظر.
متاتریدر در 🔗 راهنمای رسمی Testing Visualization امکان مشاهده عملکرد اکسپرت و اندیکاتور روی نمودار تاریخی را توضیح داده است.
چگونه در تریدینگ ویو بک تست بگیریم؟
در تریدینگ ویو دو مسیر عمومی وجود دارد:
بازپخش نمودار برای بک تست دستی
با قابلیت بازپخش، نمودار از یک نقطه تاریخی بهتدریج جلو برده میشود. معاملهگر ستاپها را مطابق قوانین ثبت میکند و آینده نمودار را نمیبیند.
Strategy Tester برای استراتژیهای Pine Script
اگر قوانین بهصورت Strategy در Pine Script نوشته شده باشند، بخش Strategy Tester میتواند معاملات فرضی و گزارش عملکرد را نمایش دهد.
در تنظیمات استراتژی باید مواردی مانند اینها کنترل شوند:
- سرمایه اولیه؛
- اندازه سفارش؛
- کارمزد؛
- لغزش؛
- مارجین و لوریج فرضی؛
- روش اجرای سفارش؛
- بازه آزمایش؛
- منطق محاسبه روی کندل.
قابلیت Bar Magnifier از داده تایمفریم پایینتر برای شبیهسازی دقیقتر حرکت داخل کندل استفاده میکند. 🔗 راهنمای رسمی TradingView درباره Bar Magnifier توضیح میدهد که این ابزار میتواند دقت قیمتهای اجرای شبیهسازیشده را افزایش دهد.
این قابلیت نیز محدودیت شبیهسازی را بهطور کامل حذف نمیکند؛ بهخصوص در بازارهای کمنقدشونده یا سفارشهای بزرگ.
مهمترین معیارهای ارزیابی بک تست
تعداد معاملات
نتیجه پنج یا ده معامله برای قضاوت درباره یک سیستم معمولاً شکننده است. تعداد نمونه باید بهاندازهای باشد که شرایط متفاوت بازار را پوشش دهد.
عدد جادویی و یکسانی برای تمام استراتژیها وجود ندارد. کیفیت، استقلال و تنوع نمونهها مهمتر از رسیدن صرف به یک عدد ثابت است.
نرخ برد
نرخ برد = تعداد معاملات سودده ÷ کل معاملات × ۱۰۰
نرخ برد بالا بهتنهایی نشانه سودآوری نیست. سیستمی با نرخ برد ۸۰ درصد ممکن است بهدلیل چند زیان بزرگ، در مجموع زیانده باشد.
میانگین سود و میانگین زیان
این معیار نشان میدهد معامله سودده معمولاً چند برابر یا چند درصد سود و معامله ناموفق چه مقدار زیان ایجاد کرده است.
نسبت سود به زیان میانگین
Payoff Ratio = میانگین سود معاملات برنده ÷ میانگین زیان معاملات بازنده
یک سیستم با نرخ برد پایین میتواند به کمک میانگین سود بزرگتر از میانگین زیان، امید ریاضی مثبت داشته باشد.
امید ریاضی
امید ریاضی = (نرخ برد × میانگین سود) − (نرخ باخت × میانگین زیان)
اگر نتایج با R ثبت شده باشند، امید ریاضی نیز برحسب R بیان میشود.
مثلاً اگر:
- نرخ برد ۴۰ درصد؛
- میانگین سود ۲R؛
- نرخ باخت ۶۰ درصد؛
- میانگین زیان ۱R باشد؛
امید ریاضی برابر است با:
(۰٫۴ × ۲) − (۰٫۶ × ۱) = ۰٫۲R
یعنی هر معامله در نمونه بک تست بهطور متوسط ۰٫۲R بازده داشته است. این فقط میانگین تاریخی است، نه تضمین معامله بعدی.
Profit Factor
Profit Factor = مجموع سود معاملات برنده ÷ قدرمطلق مجموع زیان معاملات بازنده
عدد بالاتر از یک نشان میدهد سود ناخالص در نمونه بیشتر از زیان ناخالص بوده است. اما بدون بررسی تعداد معاملات و افت سرمایه، این معیار نیز کافی نیست.
حداکثر افت سرمایه
Maximum Drawdown بیشترین کاهش سرمایه از یک قله تا کف بعدی است. افت سرمایه باید هم بهصورت مبلغ و هم درصد بررسی شود.
دو سیستم با سود نهایی یکسان ممکن است افت سرمایه کاملاً متفاوتی داشته باشند. معمولاً سیستمی که مسیر کنترلشدهتری دارد، از نظر روانی و مدیریت سرمایه عملیتر است.
بیشترین زیان متوالی
این معیار برای تعیین انتظار واقعبینانه و تحمل روانی معاملهگر مهم است. رشته زیان آینده میتواند از نمونه گذشته طولانیتر باشد؛ بنابراین نباید حجم را دقیقاً بر اساس بدترین گذشته تنظیم کرد.
بازده تعدیلشده با ریسک
سود خالص باید در کنار افت سرمایه، نوسان نتایج و زمان درگیرشدن سرمایه تحلیل شود. بیشترین سود لزوماً بهترین استراتژی نیست.
معیار | چه چیزی را نشان میدهد؟ | محدودیت |
|---|---|---|
| نرخ برد | درصد معاملات برنده | اندازه برد و باخت را نشان نمیدهد |
| میانگین R | خروجی متوسط هر معامله | توالی نتایج را پنهان میکند |
| Profit Factor | نسبت سود ناخالص به زیان ناخالص | به تعداد نمونه حساس است |
| Max Drawdown | بدترین افت تاریخی | افت آینده ممکن است بزرگتر باشد |
| سود خالص | نتیجه نهایی نمونه | مسیر و ریسک را نشان نمیدهد |
| زیان متوالی | فشار احتمالی سیستم | به ترتیب تاریخی نمونه وابسته است |
هزینههای واقعی را چگونه وارد بک تست کنیم؟
نادیدهگرفتن هزینهها یکی از دلایل اصلی تفاوت بک تست و معامله واقعی است.
کارمزد
کارمزد ورود و خروج باید بر اساس ساختار بازار و نوع سفارش محاسبه شود. اگر استراتژی تعداد معاملات زیادی دارد، هزینه کوچک هر سفارش میتواند بخش قابلتوجهی از مزیت سیستم را حذف کند.
اسپرد
در فارکس و CFD، ورود خرید معمولاً روی Ask و فروش روی Bid انجام میشود. بررسی نمودار Mid یا Bid بدون شبیهسازی صحیح اسپرد میتواند ورود و فعالشدن حد ضرر را غیرواقعی نشان دهد.
لغزش قیمت
سفارش همیشه دقیقاً در قیمت درخواستی اجرا نمیشود. لغزش هنگام اخبار، گپ، کمبود نقدشوندگی و سفارشهای Stop اهمیت بیشتری دارد.
هزینه نگهداری و فاندینگ
معاملات چندروزه ممکن است مشمول سواپ باشند. در قراردادهای دائمی ارز دیجیتال نیز پرداخت یا دریافت فاندینگ باید لحاظ شود.
تأثیر اندازه سفارش
بک تست معمولاً فرض میکند تمام حجم در قیمت موردنظر اجرا شده است. این فرض برای بازار کمعمق یا سرمایه بزرگ ممکن است واقعبینانه نباشد.
خطاهای رایج در بک تست چیست؟
خطای نگاه به آینده
Lookahead Bias زمانی رخ میدهد که استراتژی از اطلاعاتی استفاده کند که در لحظه معامله هنوز در دسترس نبوده است.
مثالها:
- استفاده از قیمت بستهشدن کندل پیش از پایان آن؛
- تشخیص یک کف نوسانی با کندلهای آینده؛
- ورود در همان قیمتی که سیگنال فقط پس از بستهشدن آن مشخص شده است؛
- دریافت داده تایمفریم بالاتر پیش از تکمیل کندل مربوط.
مستندات رسمی 🔗 TradingView درباره Lookahead Bias آن را یکی از عوامل اصلی ایجاد نتایج غیرواقعی و بازنویسیشدن سیگنالها معرفی میکند.
بیشبرازش یا Overfitting
در بیشبرازش، پارامترهای استراتژی آنقدر برای داده گذشته تنظیم میشوند که سیستم بهجای یادگیری یک رابطه پایدار، نوسانهای تصادفی همان نمونه را حفظ میکند.
نشانههای احتمالی:
- تعداد زیاد پارامترها؛
- عملکرد عالی فقط روی یک نماد؛
- افت شدید نتیجه با تغییر کوچک تنظیمات؛
- بهینهسازی مداوم تا رسیدن به سود دلخواه؛
- عملکرد ضعیف روی داده جدید.
سوگیری انتخاب بازه
اگر فقط دورههای مطلوب انتخاب شوند، بک تست تصویری غیرواقعی میسازد. دورههای رنج، بحران، نوسان کم و حرکات سریع نیز باید بررسی شوند.
سوگیری بقا
آزمایش فقط روی داراییهایی که امروز موفق و فعالاند، پروژههای شکستخورده، نمادهای حذفشده یا شرکتهای ورشکسته را از نمونه حذف میکند. نتیجه در این حالت بهتر از واقعیت دیده میشود.
استفاده از داده نامناسب
داده ناقص، کندلهای اشتباه، نبود قیمت Bid و Ask، تعدیل نادرست سهام یا تاریخچه محدود میتواند خروجی را منحرف کند.
فرض اجرای کامل سفارش
برخورد ظاهری قیمت با حد سفارش تضمین نمیکند تمام حجم در همان قیمت اجرا میشد؛ بهخصوص اگر در یک کندل هم حد سود و هم حد ضرر لمس شده باشند.
تغییر قوانین حین آزمایش
اگر پس از هر زیان، قانون جدیدی برای حذف همان معامله اضافه شود، بک تست دیگر آزمون بیطرفانه نیست.
داده درون نمونه و خارج از نمونه چیست؟
برای کاهش بیشبرازش، دادهها را به دو بخش تقسیم کنید:
In-Sample
بخشی از داده که برای طراحی و تنظیم اولیه استراتژی استفاده میشود.
Out-of-Sample
بخشی که هنگام طراحی دیده نشده و فقط پس از نهاییشدن قوانین برای ارزیابی استفاده میشود.
اگر استراتژی در داده آموزش عالی و در داده خارج از نمونه ضعیف باشد، احتمالاً بیشازحد با گذشته تنظیم شده است.
تقسیم باید زمانی باشد، نه تصادفی. در بازارهای مالی ترتیب رویدادها اهمیت دارد؛ بنابراین، داده قدیمیتر معمولاً برای توسعه و داده جدیدتر برای آزمون نگه داشته میشود.
Walk-Forward Analysis چیست؟
در تحلیل Walk Forward، فرایند توسعه و آزمایش چند بار روی پنجرههای زمانی متوالی تکرار میشود:
1. استراتژی روی یک دوره تنظیم میشود.
2. روی دوره بعدی بدون تغییر آزمایش میشود.
3. پنجره زمانی جلو میرود.
4. تنظیم و آزمایش دوباره تکرار میشوند.
5. نتایج بخشهای آزمایشی به یکدیگر متصل میشوند.
این روش نشان میدهد سیستم در مواجهه با تغییر شرایط بازار و بهروزرسانی دورهای چه رفتاری داشته است. بااینحال، Walk Forward نیز در صورت بهینهسازی افراطی میتواند گمراهکننده شود.
تست پایداری استراتژی
یک استراتژی معتبر نباید فقط با یک تنظیم بسیار دقیق کار کند. برای سنجش پایداری میتوان این آزمایشها را انجام داد:
- کمی افزایشدادن کارمزد و اسپرد؛
- افزودن لغزش بدبینانه؛
- تغییر جزئی پارامترها؛
- جابهجایی کوچک زمان ورود؛
- حذف تصادفی تعدادی از بهترین معاملات؛
- آزمایش روی نمادهای مشابه؛
- آزمایش در رژیمهای مختلف بازار؛
- تغییر ترتیب معاملات با شبیهسازی مونتکارلو.
اگر تغییر کوچک تمام مزیت سیستم را از بین ببرد، استراتژی احتمالاً شکننده است.
تفاوت بک تست و فوروارد تست
ویژگی | بک تست | فوروارد تست |
|---|---|---|
| داده | تاریخی | زنده و آینده |
| سرعت | بالا | مطابق زمان واقعی |
| ریسک مالی | ندارد | در دمو ندارد؛ در حساب واقعی وجود دارد |
| خطای نگاه به آینده | ممکن است | بسیار کمتر |
| شرایط اجرای واقعی | شبیهسازیشده | واقعیتر |
| تأثیر روانشناسی | محدود | بیشتر |
| هدف | ارزیابی اولیه و آماری | تأیید رفتار در بازار جاری |
پس از بک تست، استراتژی بهتر است در حساب دمو یا با کمترین اندازه عملی فوروارد تست شود.
کاربران فارکس میتوانند برای آشنایی با حساب آزمایشی، محیط بروکر و اجرای سفارشها از 🔗 آموزش ویدیویی و کامل بروکر ePlanet استفاده کنند. شرایط اسپرد، نمادها و اجرای هر حساب باید مستقیماً از بروکر بررسی شود.
بک تست در بازارهای مختلف چه تفاوتی دارد؟
ارز دیجیتال
در بک تست کریپتو باید این موارد لحاظ شوند:
- معامله شبانهروزی؛
- کارمزد Maker و Taker؛
- فاندینگ معاملات دائمی؛
- تفاوت قیمت و نقدشوندگی صرافیها؛
- سابقه کوتاه بعضی توکنها؛
- حذف یا اضافهشدن جفتهای معاملاتی؛
- لیکوییدشدن در معاملات اهرمی؛
- اختلال یا محدودیت صرافی.
برای شناخت سازوکار سفارشها و محیط یک صرافی میتوانید 🔗 آموزش رایگان کامل ویدیویی صرافی Toobit را ببینید؛ اما نرخ کارمزد و مشخصات قراردادها را هنگام آزمایش دوباره از صفحه رسمی صرافی دریافت کنید.
فارکس و CFD
در فارکس، این عوامل اهمیت بیشتری دارند:
- اسپرد متغیر؛
- قیمتهای Bid و Ask؛
- سواپ؛
- تفاوت داده بروکرها؛
- لوریج و مارجین؛
- گپ ابتدای هفته؛
- تغییر مشخصات قرارداد؛
- افزایش اسپرد هنگام خبر.
بورس ایران
بک تست بورس ایران باید محدودیتهای واقعی بازار را شبیهسازی کند:
- دامنه نوسان؛
- صف خرید و فروش؛
- حجم مبنا در دورههای مربوط؛
- توقف و بازگشایی نماد؛
- افزایش سرمایه و سود نقدی؛
- تعدیل صحیح قیمت؛
- نقدشوندگی نماد؛
- امکانناپذیری فروش در بعضی صفها؛
- تغییر مقررات بازار در طول نمونه.
فرض فروش در قیمت پایانی روزی که سهم در صف فروش بدون معامله کافی بوده، میتواند نتیجه را غیرواقعی کند.
چند معامله برای بک تست کافی است؟
پاسخ واحدی وجود ندارد. تعداد مناسب به فراوانی ستاپ، پراکندگی نتایج، بازار و هدف آزمون بستگی دارد.
بهجای تکیه بر عدد ثابت، بررسی کنید که نمونه:
- چند چرخه متفاوت بازار را شامل شده باشد؛
- معاملات آن فقط از یک ماه یا یک روند نیامده باشند؛
- تعداد برد و باخت برای محاسبه میانگین معنادار باشد؛
- نتایج به چند معامله استثنایی وابسته نباشد؛
- بخش جداگانهای برای آزمون خارج از نمونه باقی گذاشته باشد.
اگر حذف دو معامله برتر، کل سیستم را زیانده میکند، نتیجه هنوز شکننده است؛ حتی اگر تعداد معاملات ظاهراً زیاد باشد.
چکلیست بک تست معتبر
پیش از پذیرش نتیجه، این موارد را کنترل کنید:
- قوانین ورود و خروج پیش از آزمایش نوشته شدهاند؟
- تمام ستاپهای منطبق ثبت شدهاند؟
- اطلاعات آینده وارد تصمیم نشده است؟
- داده تاریخی کافی و قابلاعتماد است؟
- دورههای مختلف بازار آزمایش شدهاند؟
- کارمزد، اسپرد و لغزش لحاظ شدهاند؟
- اندازه موقعیت در تمام معاملات درست محاسبه شده است؟
- حد سود و حد ضرر داخل کندل واقعبینانه شبیهسازی شدهاند؟
- تعداد نمونه برای تحلیل کافی است؟
- حداکثر افت سرمایه قابلتحمل است؟
- عملکرد خارج از نمونه بررسی شده است؟
- استراتژی با تغییر جزئی پارامترها همچنان پایدار است؟
- نتیجه در فوروارد تست نیز بررسی شده است؟
- اجرای واقعی استراتژی از نظر زمانی و روانی ممکن است؟
اگر چند پاسخ مهم منفی است، نتیجه بک تست هنوز برای ورود به حساب واقعی کافی نیست.
اشتباهات رایج در استفاده از نتایج بک تست
انتخاب استراتژی فقط بر اساس سود خالص
سیستم پرریسک ممکن است سود بیشتری ایجاد کند اما افت سرمایه و احتمال نابودی حساب آن نیز بسیار بالاتر باشد.
افزایش حجم بهدلیل یک بک تست خوب
بک تست خوب مجوز حذف مدیریت ریسک نیست. آینده میتواند شامل زیانهایی بزرگتر از نمونه تاریخی باشد.
مقایسه سیستمها با فرضیات متفاوت
دو بک تست زمانی قابلمقایسهاند که سرمایه، کارمزد، اندازه موقعیت، بازه زمانی و روش اجرا مشابه باشند.
نادیدهگرفتن اجرای انسانی
استراتژیای که نیازمند حضور دائمی یا تصمیمگیری سریع است، ممکن است روی کاغذ سودده اما برای معاملهگر غیرقابلاجرا باشد.
توقف سیستم پس از چند زیان طبیعی
اگر رشته زیان مشاهدهشده در محدوده موردانتظار بک تست باشد، چند استاپ لزوماً به معنای خرابشدن سیستم نیست. در مقابل، ادامه کورکورانه نیز درست نیست؛ عملکرد زنده باید با حدود آماری ازپیشتعیینشده مقایسه شود.
برای تبدیل ستاپهای معاملاتی به قوانین قابلاندازهگیری، مسیر 🔗 دوره آموزش جامع حرفهای ترید ارز دیجیتال میتواند چارچوب منظمتری برای طراحی سیستم، مدیریت ریسک و ارزیابی عملکرد فراهم کند.
سوالات متداول
بک تست چیست؟
بک تست آزمایش قوانین یک استراتژی معاملاتی روی دادههای گذشته برای ارزیابی سود، زیان، افت سرمایه و پایداری آن است.
آیا بک تست سود آینده را تضمین میکند؟
خیر. بک تست فقط عملکرد تاریخی را با فرضیات مشخص نشان میدهد و شرایط آینده، هزینه اجرا و رفتار بازار میتوانند متفاوت باشند.
بک تست دستی بهتر است یا خودکار؟
برای استراتژیهای بصری، بک تست دستی مناسبتر است؛ برای قوانین کاملاً عددی و نمونههای بزرگ، روش خودکار کارآمدتر خواهد بود.
مهمترین معیار بک تست چیست؟
یک معیار بهتنهایی کافی نیست. امید ریاضی، تعداد معاملات، حداکثر افت سرمایه، Profit Factor، میانگین سود و زیان و رشته باخت باید کنار هم بررسی شوند.
چرا نتیجه بک تست با حساب واقعی فرق میکند؟
کارمزد، اسپرد، لغزش، کیفیت داده، خطای کدنویسی، اجرای سفارش، تغییر بازار و رفتار روانی معاملهگر از دلایل اصلی تفاوتاند.
فوروارد تست چیست؟
فوروارد تست اجرای استراتژی روی دادههای زنده و آینده، معمولاً در حساب دمو یا با حجم بسیار کم، برای بررسی عملکرد واقعیتر است.
Overfitting در بک تست چیست؟
بیشبرازش زمانی رخ میدهد که استراتژی بیشازحد با جزئیات داده گذشته تنظیم شود و روی داده جدید عملکرد مناسبی نداشته باشد.
آیا میتوان در متاتریدر ۵ بک تست گرفت؟
بله. Strategy Tester متاتریدر ۵ برای آزمایش اکسپرتها و استراتژیهای کدنویسیشده روی داده تاریخی استفاده میشود.
جمعبندی
بک تست چیست؟ بک تست آزمایش منظم یک استراتژی معاملاتی روی دادههای تاریخی است تا مزیت احتمالی، میزان ریسک، افت سرمایه و محدودیتهای آن پیش از استفاده واقعی مشخص شوند.
برای یک بک تست معتبر باید قوانین قبل از مشاهده نتایج نوشته شوند، آینده نمودار مخفی بماند، تمام معاملات منطبق ثبت شوند و هزینههایی مانند کارمزد، اسپرد، لغزش و فاندینگ لحاظ شوند.
وین ریت یا سود خالص بهتنهایی کافی نیست. امید ریاضی، حداکثر افت سرمایه، Profit Factor، تعداد نمونه، زیانهای متوالی و عملکرد خارج از نمونه باید همزمان بررسی شوند.
مسیر اصولی از طراحی قوانین، بک تست، تست پایداری و فوروارد تست عبور میکند. حتی پس از موفقیت در تمام این مراحل نیز معامله واقعی باید با ریسک محدود آغاز شود؛ زیرا هیچ نتیجه تاریخی آینده بازار را تضمین نمیکند.