بک تست چیست و چرا لازم است؟
بک تست (Backtest) یعنی اجرای قواعد یک استراتژی معاملاتی روی دادههای گذشته، تا ببینید اگر در آن دوره با همین قواعد معامله میکردید چه نتیجهای میگرفتید. خروجی یک بک تست خوب فقط «سود کرد یا نه» نیست؛ تعداد معاملهها، درصد معاملههای سودده، بزرگترین زیان، بیشینهٔ افت سرمایه و نسبت سود به زیان هم به همان اندازه مهماند.
بک تست پیش از آنکه پول واقعی را درگیر کند، نشان میدهد ایدهٔ شما در بازارهای صعودی، نزولی و خنثی چطور رفتار کرده است. اگر استراتژی روی گذشته جواب نداده، دلیلی ندارد که روی آینده جواب بدهد؛ و اگر جواب داده، تازه نوبت فوروارد تست است.
بک تست دستی با بازپخش کندل
بک تست در خط دستی است: به جای اینکه برنامهای قواعد را اجرا کند، خودتان مثل بازار واقعی کندل به کندل جلو میروید و تصمیم میگیرید. ابزار این کار «بازپخش کندل» است. نمودار به نقطهای در گذشته برمیگردد، کندلهای بعد از آن پنهان میشوند و با هر فشار دکمه دقیقاً یک کندل از تایمفریم همان نمودار رو میشود؛ روی نمودار روزانه یک روز و روی نمودار ماهانه یک ماه.

کندلهای آینده تا وقتی جلو نروید روی نمودار نمیآیند؛ نه با جابهجا کردن نمودار و نه با عوض کردن تایمفریم نمیتوان آنها را دید. حتی کندل هفتگی یا ماهانه فقط با روزهایی ساخته میشود که تا آن لحظه رو شدهاند و سقف و کف روزهای بعد را در خود ندارد. همین است که بک تست دستی را از مرور سادهٔ نمودار جدا میکند. به این ترتیب، همان نموداری که هر روز با آن تحلیل میکنید چارت بک تست شما هم هست و اندیکاتورها فقط با کندلهای روشده حساب میشوند.
آموزش قدمبهقدم بک تست در خط
- نماد و تایمفریم را انتخاب کنید. مثلاً فولاد روی نمودار روزانه یا انس طلا روی نمودار 1 ساعته.
- «بازپخش» را بزنید. این دکمه در نوار بالای نمودار است.
- نقطهٔ شروع را تعیین کنید. روی کندلی که میخواهید کلیک کنید، با «انتخاب تاریخ…» یک تاریخ شمسی بنویسید، یا با «کندل تصادفی» از نقطهای شروع کنید که از قبل انتخابش نکردهاید.
- کندلها را جلو ببرید. با «یک کندل جلو» (Shift + →) قدمبهقدم بروید یا پخش خودکار (Shift + ↓) را با سرعت دلخواه روشن کنید. «یک کندل عقب» هم هست.
- حساب تمرینی بسازید. «معاملهٔ تمرینی» را بزنید، سرمایهٔ شروع را وارد کنید و واحد آن را دلار، تومان یا ریال انتخاب کنید؛ این واحد فقط یک برچسب است و تبدیلی انجام نمیشود.
- معامله کنید. از پنل یککلیکی بخرید یا بفروشید، یا سفارش لیمیت و استاپ بگذارید. حد ضرر و حد سود را تایپ کنید یا با ماوس روی نمودار بکشید.
- نتیجه را بخوانید. در پایان دورهٔ آزمون، «خروجی گزارش» را بزنید و آمار معاملات را بررسی کنید.
معاملهٔ تمرینی داخل بازپخش
معاملهٔ تمرینی در خط برای بک تست جدی ساخته شده و تنظیمات کاملی دارد:
- خرید و فروش با یک کلیک، و سفارشهای معلق لیمیت و استاپ از پنل یا با راستکلیک روی نمودار: Buy Limit، Sell Limit، Buy Stop و Sell Stop؛
- چند معاملهٔ باز همزمان، و بستن بخشی از حجم هر معامله در چند پله؛
- تعیین اندازهٔ معامله بر اساس درصد ریسک، درصد کل سرمایه، مبلغ یا تعداد سهم (برای فارکس، لات)؛
- کارمزد روی ورود و خروج، اسپرد به پوینت، و برای فارکس اهرم با پیشفرض 1:100 و استاپاوت؛
- ترمینالی مثل متاتریدر با موجودی، ارزش حساب، مارجین، مارجین آزاد و سطح مارجین؛
- نمایش ورود و خروج معاملههای بسته روی خود نمودار، با گزینهٔ «تاریخچهٔ معاملات روی نمودار» در منوی راستکلیک.

اجرای حد ضرر و حد سود هم واقعبینانه است. دو قاعده دارید: «با لمس»، که معامله همانجا بسته میشود که سایهٔ کندل به خط برسد، و «با بستهشدن کندل»، که فقط قیمت بسته شدن را میسنجد و روی همان قیمت اجرا میکند. در حالت «با لمس»، اگر کندلی با گپ از حد ضرر رد شود، معامله روی قیمت باز شدن همان کندل بسته میشود، نه روی خط حد ضرر؛ و اگر یک کندل هم حد ضرر و هم حد سود را لمس کند، حد ضرر اجرا میشود، چون ترتیب حرکت قیمت درون کندل معلوم نیست.
گزارش معاملات به سبک متاتریدر
«خروجی گزارش» در پنل معاملهٔ تمرینی، گزارشی شبیه گزارش تاریخچهٔ معاملات متاتریدر میسازد که در برگهٔ جدید باز میشود یا بهصورت فایل HTML دانلود میشود. گزارش شامل فهرست معاملات، سفارشها، ریزمعاملات و معاملات باز، نمودار موجودی و بخش نتایج است؛ از جمله:
- سود خالص کل، سود و زیان ناخالص، ضریب سود، بازده مورد انتظار و ضریب بازیابی؛
- بیشینهٔ افت موجودی، به مبلغ و درصد؛
- تعداد معاملات، درصد معاملات سودده و زیانده، و درصد برد معاملات خرید و فروش بهطور جدا؛
- بزرگترین و میانگین معاملهٔ سودده و زیانده، و بیشترین بردها و باختهای پیاپی.
با این اعداد میتوانید دو نسخه از یک استراتژی را منصفانه مقایسه کنید؛ مثلاً حد ضرر نزدیکتر یا دورتر، یا ورود فقط در جهت روند تایمفریم بزرگتر.
بک تست چند تایمفریمی
بسیاری از استراتژیها جهت را از تایمفریم بزرگتر میگیرند و نقطهٔ ورود را در تایمفریم کوچکتر پیدا میکنند. اگر بازپخش را در چیدمان چندنموداری شروع کنید، همهٔ نمودارها با یک ساعت جلو میروند؛ مثلاً 1 ساعته و 4 ساعتهٔ یک جفتارز، روزانه و هفتگی یک سهم، یا چند نماد مختلف در یک تاریخ.
با هر گام، کندل تایمفریم بزرگتر هم جلوی چشمتان شکل میگیرد: قیمت باز شدن آن ثابت میماند و سقف، کف و قیمت بسته شدنش با هر کندل کوچکتر بهروز میشود، درست مثل بازار زنده. روی هر نموداری که کلیک کنید، دکمههای بازپخش همان نمودار را یک کندل از تایمفریم خودش جلو میبرند و بقیهٔ نمودارها همراهش میآیند.
بک تست بورس با قیمت تعدیلشده
بک تست سهام بورس تهران یک دام بزرگ دارد: افزایش سرمایه و سود نقدی. روی نمودار خام، قیمت سهم بعد از هر مجمع یکباره پایین میآید. بک تستی که روی چنین نموداری انجام شود، این افت را ریزش واقعی میبیند، حد ضرر معاملههای خرید را بیدلیل فعال میکند و سیگنالهای فروش ساختگی میسازد.
در خط، قیمت و حجم تعدیلشده بهطور پیشفرض روشناند؛ پس بازپخش از همان ابتدا روی سری تعدیلشده انجام میشود و اثر مجمعها از گذشتهٔ نمودار برداشته شده است. در این حالت قیمتهای قدیمی با قیمت تابلوی همان روز فرق دارند، اما درصد تغییرها و سود و زیان نسبی معاملهها واقعیاند. روزهای توقف نماد هم در نمودار نیستند، پس بک تست روی کندلهای ساختگی و صاف دوران توقف انجام نمیشود.
تاریخچهٔ روزانهٔ نمادها تا سال 1380 میرسد. روی نمودار هفتگی و ماهانهٔ سهام هم، حد ضرر و حد سود روی تکتک جلسههای معاملاتی بررسی میشوند؛ پس معامله به ترتیب واقعی روزها اجرا میشود، نه بر اساس سقف و کف یک کندل بزرگ. برای آشنایی بیشتر با دادهها، صفحهٔ چارت بورس را ببینید.
بک تست فارکس
برای نمادهای فارکس، بازپخش روی همهٔ تایمفریمها از 1 دقیقه تا ماهانه کار میکند. تاریخچهٔ یکدقیقهای جفتارزهای اصلی از سال 2002 و انس طلا، نزدک 100 و داوجونز از سال 2016 میلادی در دسترس است. در معاملهٔ تمرینی، حجم به لات است، اهرم پیشفرض 1:100 است و اسپرد را مثل متاتریدر به پوینت وارد میکنید؛ خرید روی Ask و فروش روی Bid انجام میشود. اندیکاتور سشنهای معاملاتی هم کمک میکند استراتژیهایی را که فقط در سشن لندن یا نیویورک معامله میکنند درست بیازمایید. جزئیات بیشتر در صفحهٔ چارت فارکس آمده است.
اشتباههای رایج در بک تست، و راه پرهیز از آنها
نگاه به آینده (Look-ahead bias)
بزرگترین خطای بک تست دستی این است که معاملهگر ناخواسته از آینده خبر دارد؛ چون پیشتر نمودار را دیده یا ادامهٔ آن را به خاطر دارد. در بازپخش خط، کندلهای آینده روی نمودار نمیآیند و کندلهای هفتگی و ماهانه فقط با روزهای روشده ساخته میشوند. برای اینکه حافظهٔ خودتان هم نتیجه را لو ندهد، از «کندل تصادفی» شروع کنید یا دورهای را انتخاب کنید که پیشتر بررسی نکردهاید.
تعداد کم معامله
پنج یا ده معامله برای قضاوت دربارهٔ یک استراتژی کافی نیست؛ چند معاملهٔ خوششانس میتواند نتیجه را گمراهکننده کند. دهها معامله در شرایط مختلف بازار، از روند صعودی و نزولی تا بازار خنثی، تصویر واقعیتری میدهند. گزارش معاملات تعداد کل معاملهها را کنار درصد برد نشان میدهد تا این دو را همیشه با هم بخوانید.
نادیده گرفتن کارمزد و اسپرد
استراتژیای که معاملههای زیاد و سود کوچک دارد، ممکن است بدون هزینهها سودده و با هزینهها زیانده باشد. کارمزد معاملات را مطابق کارگزار خودتان وارد کنید تا روی ورود و خروج هر دو کسر شود، و برای فارکس اسپرد را به پوینت تنظیم کنید.
بهینهسازی بیش از حد (Curve fitting)
اگر قواعد را آنقدر دستکاری کنید که روی یک دورهٔ خاص بینقص شود، احتمالاً استراتژی را با نویز همان دوره جور کردهاید، نه با رفتار بازار. بخشی از تاریخچه را برای آزمون نهایی کنار بگذارید و تا پایان طراحی سراغش نروید؛ بعد قواعد را بدون تغییر روی آن بیازمایید. قدم بعدی، فوروارد تست روی دادههایی است که استراتژی هرگز ندیده است.