چطور بک تست استراتژی معاملاتی را درست و اصولی انجام دهیم؟

یاد گرفتن بک تست استراتژی معاملاتی به این معنی نیست که چارت را به عقب ببرید تا بالاخره جایی پیدا کنید که ستاپ شما در آن جواب داده باشد. بک تست در فارکس، تست روی دادههای تاریخی و اعتبارسنجی یک استراتژی، همگی از مرحلهای زودتر شروع میشوند: باید قبل از دیدن نتیجه، قوانین را نوشته باشید. مثلاً یک استراتژی شکست محدوده بازگشایی یا واگرایی آراسآی فقط وقتی واقعاً قابل تست است که دو نفر با دیدن یک بخش یکسان از چارت تاریخی، معاملات یکسانی را بگیرند، رد کنند و به شکل مشابه مدیریت کنند.
یک بک تست مفید باید به یک سؤال محدود جواب بدهد: اگر قوانین دقیقاً همانطور که نوشته شدهاند و در شرایطی نزدیک به اجرای واقعی رعایت میشدند، استراتژی چه نتیجهای میداد؟ داده تاریخی میتواند رفتار یک روش را تخمین بزند، فرضهای ضعیف را آشکار کند و نشان دهد آیا مزیت استراتژی فقط به یک وضعیت خاص بازار وابسته است یا نه. اما عدم قطعیت را حذف نمیکند. چه روی حساب شخصی معامله کنید و چه در پراپ تریدینگ، هدف یک تست قابل تکرار و قابل نقد است، نه یک منحنی اکوئیتی صاف که فقط برای اسکرینشات خوب به نظر برسد.
پاسخ کوتاه: برای اینکه بک تست استراتژی معاملاتی را اصولی انجام دهید، همه قوانین را قبل از دیدن نتیجه مشخص کنید، از داده تاریخی متناسب با بازار و تایمفریم استفاده کنید، اسپرد، کمیسیون و اسلیپیج را وارد محاسبات کنید، تمام معاملات واجد شرایط را ثبت کنید، فقط به نرخ برد نگاه نکنید و امید ریاضی و دراودان را هم بسنجید؛ بعد نتیجه را روی داده خارج از نمونه و فوروارد تست به چالش بکشید.
بک تست استراتژی معاملاتی با قوانینی که واقعاً قابل اجرا هستند
اولین کار در بک تست استراتژی معاملاتی این است که یک ایده مبهم را به دستورالعملهایی تبدیل کنید که تا حد ممکن جای تفسیر بعد از دیدن نتیجه را ببندند. «روی حمایت بخر» قانون نیست. اما «بعد از برخورد قیمت به ناحیه حمایتی که از قبل مشخص شده، اولین کلوز صعودی در سشن لندن را بخر؛ به شرطی که فاصله نقطه ابطال تا ورود بیشتر از ۲۵ پیپ نباشد» خیلی به یک قانون قابل تست نزدیکتر است. اگر بعد از دیدن کندلهای آینده تعریف ستاپ را عوض کنید، تست از همان لحظه آلوده شده است.
استراتژی را طوری بنویسید که یک نفر دیگر بتواند بدون سؤال اضافه آن را اجرا کند. بازار، تایمفریم، سشن، تریگر ورود، نقطه ابطال، استاپ لاس، تارگت، اندازه پوزیشن، مدیریت معامله و شرایط لغو ستاپ باید روشن باشند. اگر روش شما از ساختار بازار استفاده میکند، قبل از واکنش قیمت مشخص کنید چه چیزی یک سطح معتبر محسوب میشود. همان دقتی که برای مشخص کردن نواحی حمایت و مقاومت یا رسم کانالهای قیمت لازم است، در بک تست اهمیت بیشتری پیدا میکند؛ چون دیدن گذشته، تعریفهای مبهم را بهطور مصنوعی بهتر از واقعیت نشان میدهد.
| بخش قانون | چیزی که قبل از تست باید مشخص شود | نسخه بد |
|---|---|---|
| بازار و تایمفریم | نماد دقیق، تایمفریم چارت و سشن | «جفتارزهای اصلی فارکس» |
| ورود | شرط قابل مشاهدهای که سفارش را فعال میکند | «وقتی مومنتوم قوی بود وارد شو» |
| استاپ | قانون ثابت بر اساس ساختار یا نوسان | استاپ را جایی بگذار که روی چارت امن به نظر برسد |
| خروج | تارگت، تریلینگ، خروج زمانی یا قانون ابطال | وقتی حرکت خسته شد سود بگیر |
| فیلترها | شرایط خبر، سشن، روند، نوسان و اسپرد | فقط بعد از دیدن ضررها فیلتر اضافه کن |
این برگه قوانین، سند کنترل کل تست است. اگر بعداً یک پارامتر را تغییر دادید و دوباره سراغ بک تست استراتژی معاملاتی رفتید، نسخه جدیدی از قوانین بسازید و یک تست جدید اجرا کنید؛ نه اینکه بیسروصدا نتیجه تست قبلی را با قانون جدید مخلوط کنید.
داده تاریخی را متناسب با استراتژی انتخاب کنید
داده بد فقط به این دلیل که حجم نمونه زیاد است، تبدیل به داده خوب نمیشود. یک اسکالپر یکدقیقهای به جزئیات اجرای بسیار بیشتری نسبت به یک سیستم سوئینگ روی تایمفریم روزانه نیاز دارد. استراتژی بازگشایی لندن به زمانبندی صحیح سشن وابسته است. سیستمی که روی کریپتو پوزیشن را آخر هفته باز نگه میدارد، به داده آخر هفته نیاز دارد. یک روش فارکس که نسبت به اسپرد حساس است هم نباید طوری تست شود که انگار قیمت بید و اسک اصلاً وجود ندارند.

از همان ابزاری شروع کنید که واقعاً قصد معامله آن را دارید. جفتارزهای مختلف رفتار نوسانی، اسپرد و ویژگیهای متفاوتی در سشنها دارند؛ بنابراین نتیجه یک نماد را نباید بدون بررسی به نماد دیگر تعمیم داد. اگر هنوز در حال انتخاب بازار مناسب هستید، تفاوت رفتار جفتارزها بخشی از مسئله است، چون دیتاست عملاً جزئی از استراتژی محسوب میشود. همین موضوع برای استراتژیهایی که از زمان اخبار عبور میکنند هم صدق میکند؛ مثلاً نباید داده اطراف انتشار انافپی را فقط به این دلیل حذف کرد که کندلها نامرتب یا غیرعادی به نظر میرسند.
داده را از نظر کندلهای گمشده، زمانبندی اشتباه و قیمتهای تکراری بررسی کنید و دقیقاً بدانید پلتفرم چه چیزی را شبیهسازی میکند. استراتژی تستر متاتریدر ۵ میتواند از تاریخچه کندلی یا تیک واقعی استفاده کند و تریدینگویو هم اجرای سفارش را با فرضهایی قابل تنظیم شبیهسازی میکند. برای بک تست دستی، از ریپلی کندل استفاده کنید یا کندلهای آینده را پنهان نگه دارید. اگر هنگام تصمیمگیری درباره معتبر بودن ستاپ، نتیجه از قبل جلوی چشم شماست، در واقع همان استراتژیای را تست نمیکنید که در بازار زنده اجرا میشد. این اصل یکی از پایههای بک تست استراتژی معاملاتی است.
چطور بک تست استراتژی معاملاتی را بدون دیدن آینده انجام دهیم
تمیزترین روش دستی برای بک تست استراتژی معاملاتی عمداً باید کمی خستهکننده باشد. داده را به ترتیب زمانی جلو ببرید، در هر نقطه تصمیم متوقف شوید، قوانین نوشتهشده را اجرا کنید، معامله را ثبت کنید و بعد کندلهای بعدی را ببینید. بین برندهها و بازندهها عقب و جلو نروید. بعد از دیدن واکنش قیمت، سطحها را دوباره رسم نکنید. ستاپی را هم فقط چون حالا میدانید ضرر میکرد، حذف نکنید.
- قبل از جستوجوی معامله، تاریخ شروع تست را مشخص کنید.
- کندلهای آینده را مخفی کنید یا از ابزار ریپلی استفاده کنید.
- فقط اطلاعاتی را علامتگذاری کنید که در همان لحظه در دسترس بودهاند.
- قوانین ورود و فیلترها را دقیقاً طبق نسخه نوشتهشده اجرا کنید.
- قبل از دیدن داده بعدی، ورود، استاپ، تارگت و نوع سفارش را ثبت کنید.
- چارت را جلو ببرید تا معامله بسته شود یا ستاپ لغو شود.
- نتیجه را ثبت کنید و سراغ ستاپ واجد شرایط بعدی بروید.

جزئیات اجرای سفارش مهماند. اینکه یک سفارش لیمیت با یک سایه کندل لمس شده، بهطور خودکار به معنی اجرای کامل و بینقص نیست؛ سفارش استاپ هم ممکن است بدتر از قیمت درخواستی اجرا شود. نوع سفارش، از جمله پندینگ اردر در فارکس، باید از ابتدا در قوانین باشد. اگر استراتژی به خطوط و سطوح ترسیمی وابسته است، یک روش ثابت برای رسم آنها داشته باشید و هندسه چارت را برای هر نتیجه تغییر ندهید. در تستهای خودکار هم هر محاسبه باید فقط از اطلاعاتی استفاده کند که در همان نقطه زمانی واقعاً قابل دسترس بوده است.
اسپرد، کمیسیون، اسلیپیج و هزینه نگهداری را وارد تست کنید
بک تست ناخالص، نتیجه معاملاتی واقعی نیست. بازار در زمان ورود و خروج، عبور از اسپرد، نگهداری شبانه یا اجرای سفارش در قیمتی متفاوت از انتظار، هزینه ایجاد میکند. استراتژیای که مزیت متوسط و کوچکی دارد، قبل از هزینهها ممکن است عالی دیده شود و بعد از هزینهها کاملاً معمولی یا حتی ضعیف باشد.
حداقل باید اسپرد، کمیسیون و اسلیپیج متناسب با نماد و نوع سفارش را شبیهسازی کنید. برای پوزیشنهایی که شب باز میمانند، سواپ، فاندینگ یا هزینه نگهداری مرتبط را هم لحاظ کنید. اگر روی خبر یا شکستهای سریع معامله میکنید، فرض اجرای شما باید محافظهکارانهتر باشد؛ چون دقیقاً همان لحظهای که سیگنال ایجاد میشود میتواند با اسپرد بازتر و اجرای بدتر همراه باشد. اسلیپیج و شرایط اجرای معامله هنگام خبر، موضوع جداگانهای از بک تست نیستند؛ مستقیماً تعیین میکنند ورودی که در تست ثبت کردهاید چقدر واقعی بوده است.
تریدینگویو میتواند کمیسیون و اسلیپیج را وارد شبیهسازی کند و برای اجرای سفارش لیمیت هم فرضهای سختگیرانهتری داشته باشد. متاتریدر ۵ نیز امکان تست با تیک واقعی را دارد. با این حال، نرمافزار پیچیدهای که هزینه را صفر فرض میکند همچنان یک مدل خوشبینانه است. وقتی در بک تست استراتژی معاملاتی مقدار واقعی اصطکاک بازار دقیق نیست، چند سناریوی هزینه اجرا کنید. اگر مزیت استراتژی با کمی افزایش اسپرد یا اسلیپیج ناپدید میشود، همین شکنندگی بخشی از نتیجه است.
در بک تست استراتژی معاملاتی همه معاملات را ثبت کنید
در بک تست استراتژی معاملاتی، لاگ معاملات به اندازه منحنی اکوئیتی مهم است؛ چون چیزی که بعداً امکان بررسی و ممیزی نتیجه را میدهد همین لاگ است. موجودی نهایی حساب به شما نمیگوید ضررها از یک سشن خاص آمدهاند، مربوط به یک نماد بودهاند، از یک نوع ورود ایجاد شدهاند یا نتیجه اجرای ناهماهنگ قوانین بودهاند.

برای هر ستاپ واجد شرایط، تاریخ و ساعت، بازار، برچسب ستاپ، ورود، استاپ، تارگت، فرض اجرای سفارش، اندازه پوزیشن، هزینهها، نتیجه پولی و نتیجه بر حسب آر را ثبت کنید. اگر ابزار شما امکانش را دارد، بیشترین حرکت قیمت علیه معامله و بیشترین حرکت موافق معامله را هم بنویسید و یک فیلد ساده «قانون رعایت شد: بله/خیر» داشته باشید. اینجاست که ژورنال معاملاتی از یک دفتر ثبت احساسات به ابزار تحقیق تبدیل میشود. در تست دستی، از لحظه ورود اسکرینشات ذخیره کنید و چیدمان تریدینگویو را ثابت نگه دارید تا مرور بعدی واقعاً قابل مقایسه باشد.
| فیلد | چرا مهم است |
|---|---|
| برچسب ستاپ | الگوهای مختلف را از هم جدا میکند |
| ورود و خروج | نشان میدهد اجرای ثبتشده با قوانین نوشتهشده یکی بوده یا نه |
| ریسک بر حسب آر | نتایج را بین اندازه پوزیشنهای مختلف قابل مقایسه میکند |
| هزینهها | مزیت ناخالص را از نتیجه خالص جدا میکند |
| بیشترین حرکت مخالف و موافق | نشان میدهد قیمت قبل از خروج چقدر علیه یا در جهت معامله حرکت کرده است |
| انحراف از قانون | دخالت سلیقه و خطاهای اجرای تست را آشکار میکند |
اگر نتوانید فقط با نگاه به لاگ توضیح دهید چرا یک معامله در تست وجود دارد، هنوز بک تست استراتژی معاملاتی را به شکل قابل تکرار انجام ندادهاید.
نتایج را فراتر از نرخ برد بخوانید
نرخ برد فقط یک عدد داخل توزیع نتایج است، نه حکم نهایی درباره کیفیت سیستم. یک روش میتواند دفعات زیادی برنده شود اما چون ضررهایش خیلی بزرگتر از سودهایش هستند، در مجموع زیانده باشد. سیستم دیگری ممکن است نرخ برد پایینتری داشته باشد اما به دلیل میانگین سود بزرگتر، نتیجه مثبتی تولید کند. امید ریاضی، میانگین سود، میانگین ضرر، فاکتور سود، حداکثر دراودان، طولانیترین زنجیره ضرر، تعداد معاملات و بازده خالص بعد از هزینهها را کنار هم ببینید.
ریاضیات ریوارد به ریسک این موضوع را واضح میکند. اگر استراتژی استاپ ۲۰ پیپی و تارگت ۶۰ پیپی داشته باشد، نسبت ریوارد به ریسک آن ۱ به ۳ است. پیش از هزینهها، نرخ برد سربهسر نظری ۲۵٪ خواهد بود. اسپرد، کمیسیون و اسلیپیج را اضافه کنید و نرخ سربهسر واقعی بالاتر از ۲۵٪ میرود. محاسبه درست حجم معامله و ارزش پیپ کمک میکند ریسک پولی ثابت بماند، اما هیچکدام نمیتوانند امید ریاضی منفی را به یک مزیت مثبت تبدیل کنند.
نتایج را به زیرمجموعههای مفید تقسیم کنید، بدون اینکه دنبال زیباتر کردن خروجی باشید: لانگ در برابر شورت، لندن در برابر نیویورک، بازار رونددار در برابر رنج، روزهای معمولی در برابر روزهای پرنوسان. اگر تقریباً تمام نتیجه مثبت از یک زیرمجموعه آمده باشد، این اطلاعات مهمی درباره محل واقعی مزیت استراتژی است. اندازه نمونه مهم است، اما هیچ تعداد جادویی از معامله وجود ندارد که یک تست را خودکار معتبر کند؛ تنوع شرایط بازار هم مهم است. در بک تست استراتژی معاملاتی باید از خودتان بپرسید آیا تاریخچه به اندازه کافی فرصت مستقل برای به چالش کشیدن قوانین داشته یا نه.
اگر استراتژی قرار است داخل یک ارزیابی قانونمحور اجرا شود، محدودیتهای حساب را هم همراه عملکرد تکمعاملهای تست کنید. برای مثال پراپ لینک در چالنج دو مرحلهای خود حد ضرر روزانه ۵٪ و حداکثر دراودان ۱۰٪ دارد. بک تستی که در مجموع سود میسازد اما مرتب از این محدودیتها عبور میکند، برای چنین محیطی مناسب نیست.
چطور در بک تست استراتژی معاملاتی از اورفیتینگ جلوگیری کنیم
بخش خطرناک بک تست استراتژی معاملاتی معمولاً زمانی شروع میشود که نتیجه اولیه ناامیدکننده است و دست به تغییر پارامترها میزنید. بهینهسازی ذاتاً اشتباه نیست. مشکل وقتی ایجاد میشود که ترکیبهای زیادی را امتحان کنید تا بالاخره یکی روی گذشته خوب دیده شود و بعد همان نسخه برنده را طوری تفسیر کنید که انگار از ابتدا فرضیه اصلی شما بوده است.
مشکل اورفیتینگ در عمل ساده است: هرچه گزینههای بیشتری امتحان کنید و بعد بهترین را انتخاب کنید، احتمال اینکه نتیجه منتخب بخشی از عملکردش را فقط مدیون انتخاب از بین تعداد زیادی حالت باشد بیشتر میشود. یک بازه خارج از نمونه را تا زمان نهایی شدن قوانین دستنخورده نگه دارید، یا از تست واکفوروارد استفاده کنید که در آن استراتژی روی یک پنجره توسعه داده میشود و روی پنجره بعدی بررسی میشود. اگر مثلاً یک استراتژی فشردگی باند بولینگر فقط با یک مقدار بسیار دقیق از پارامترها زنده میماند، مقادیر نزدیک را هم امتحان کنید؛ حساسیت شدید هشدار مهمی است.

تغییرات پنهان قوانین را هم جدی بگیرید. اگر چون در یک بازه پولبکها عمیقتر بودهاند استاپ را زودتر جابهجا میکنید، یا چون سه ضرر در یک ساعت خاص دیدهاید فیلتر سشن اضافه میکنید، همچنان در حال بهینهسازی هستید. این تغییر باید ثبت و به عنوان نسخه جدید دوباره تست شود. همین موضوع برای مدیریت معامله، مثل انتقال استاپ به نقطه سربهسر، صدق میکند. بلد بودن بک تست استراتژی معاملاتی یعنی بتوانید مشخص کنید هر تصمیم قبل از مشاهده شواهد گرفته شده یا بعد از آن.
قبل از اعتماد به بک تست، فوروارد تست بگیرید
بک تست تاریخی یک ابزار غربالگری است. فوروارد تست بررسی میکند آیا همان قوانین وقتی داده جدید کندلبهکندل وارد میشود، با اسپرد زنده، رفتار واقعی پلتفرم و فشار روانی ناشی از نامعلوم بودن نتیجه هم دوام میآورند یا نه. این مرحله پل بین تحقیق استراتژی و پذیرش ریسک واقعی است.
نسخه نهایی و فریزشده استراتژی را روی حساب دمو یا پیپر تریدینگ اجرا کنید و فقط چون هفته اول سخت بوده قوانین را تغییر ندهید. تعداد معاملات، اسپرد، اسلیپیج، سفارشهای اجرا نشده، میانگین آر، دراودان و میزان پایبندی به قوانین را با تست تاریخی مقایسه کنید. اختلاف بزرگ معمولاً به یکی از سه چیز اشاره دارد: فرضهای اجرای غیرواقعی، اشکال در پیادهسازی یا تغییر رژیم بازار.
فرضهای مارجین و لوریج هم باید با محیط واقعی سازگار باشند. ممکن است یک بک تست بازده جذابی نشان دهد اما در سکوت از اندازه پوزیشنهایی استفاده کرده باشد که روی حساب واقعی غیرممکن یا بسیار پرریسک هستند. لوریج حتی وقتی سیگنال ورود عوض نشده، مصرف سرمایه و ریسک لیکویید شدن را تغییر میدهد. اگر روش شما زیر محدودیتهای سطح حساب اجرا میشود، بررسی کنید دراودان ثابت و دراودان تریلینگ همان مسیر اکوئیتی را چگونه متفاوت تفسیر میکنند.
فقط بعد از این مرحله است که بک تست استراتژی معاملاتی به سؤال «آیا آماده اجراست؟» تبدیل میشود. اگر روش برای یک پراپ فرم طراحی شده، فوروارد تست هم باید تا جای ممکن همان نمادها، لوریج، روش محاسبه دراودان و قوانین معاملاتی آن محیط را بازتاب دهد.
بک تست استراتژی معاملاتی؛ چکلیست نهایی
یک فرایند قابل تکرار برای بک تست استراتژی معاملاتی باید از ایده اولیه تا تصمیم نهایی ردپا داشته باشد. همین ردپا است که تفاوت بین اندازهگیری یک مزیت و حدس زدن را مشخص میکند؛ همان مرزی که در بحث آیا فارکس قمار است هم اهمیت دارد. قبل از اینکه نتیجه را بپذیرید، این موارد را بررسی کنید:
- فرضیه را فریز کنید. ستاپ، ورود، استاپ، خروج، فیلترها و قوانین تعیین حجم را قبل از دیدن نتایج بنویسید.
- داده نماینده انتخاب کنید. نماد، تایمفریم، سشن و دقت داده باید با شیوه واقعی معامله هماهنگ باشند.
- دیدن آینده را حذف کنید. داده را به ترتیب زمانی جلو ببرید و از اطلاعاتی که در لحظه تصمیم وجود نداشتهاند استفاده نکنید.
- اجرای واقعی را مدل کنید. اسپرد، کمیسیون، اسلیپیج، هزینه نگهداری و فرض واقعبینانه برای اجرای سفارش را وارد کنید.
- همه معاملات واجد شرایط را ثبت کنید. معاملات زشت را حذف نکنید و فقط نمونههای کتابی را نگه ندارید.
- توزیع نتایج را بسنجید. امید ریاضی، نسبت سود به ضرر، دراودان، زنجیره ضرر، تعداد معاملات و وابستگی به رژیم بازار را بررسی کنید.
- از داده دیدهنشده محافظت کنید. یک بازه خارج از نمونه نگه دارید یا قبل از اعتماد به تنظیمات بهینهشده از واکفوروارد استفاده کنید.
- قوانین فریزشده را فوروارد تست کنید. اجرای زنده را با فرضهای تاریخی مقایسه کنید، قبل از اینکه سرمایه معناداری را درگیر کنید.
- هر تغییر را نسخهبندی کنید. تغییر قانون یعنی یک تست جدید؛ نه ویرایش نتیجه گذشته.
هدف از یاد گرفتن بک تست استراتژی معاملاتی این نیست که ثابت کنید ایده شما حتماً کار میکند. هدف این است که ایده را آنقدر دقیق کنید که بتواند صادقانه شکست بخورد. اگر یک روش بعد از قوانین عینی، داده نماینده، هزینههای واقعی، تاریخچه دیدهنشده و فوروارد تست همچنان دوام آورد، شواهدی دارید که ارزش جدی گرفتن دارند. اگر هم شکست خورد، بک تست وظیفهاش را قبل از اینکه پول واقعی مجبور باشد هزینه آن را بدهد انجام داده است.
کیان پارسا
من کیان پارسا، سرپرست تیم تحلیلگران فارسی و پژوهش بازار در پراپ لینک هستم. تمرکز اصلیام بر تحلیل بازار، مدیریت ریسک، آموزش معاملهگران فارسیزبان و تولید محتوایی است که مفاهیم پیچیده ترید و پراپ تریدینگ را به شکلی روشن، کاربردی و حرفهای منتقل کند. در سالهایی که در فضای بازارهای مالی فعالیت داشتهام، همواره به این باور رسیدهام که موفقیت پایدار در معاملهگری فقط به تحلیل خوب وابسته نیست، بلکه به انضباط، کنترل احساسات، مدیریت سرمایه و پایبندی به یک فرایند مشخص نیاز دارد، به همین دلیل در نوشتهها و تحلیلهایم بیشتر روی موضوعاتی مثل ساختار بازار، قوانین حسابهای پراپ، کنترل دراودان، طراحی پلن معاملاتی و توسعه ذهنیت حرفهای تمرکز میکنم
بینشهای هفتگی معاملهگری
تحلیل بازار و نکات معاملهگری هر دوشنبه برای شما ارسال میشود. بدون اسپم، هر زمان خواستید لغو کنید.
نظرات
هنوز نظری ثبت نشده — اولین نفر باشید.


