درس 15: آزمایش در Strategy Lab
یک استراتژی را روی ماهها تاریخچه در Strategy Lab آزمایش کنید: باز کردنش، انتخاب داده و هزینهها، خواندن گزارش و معاملهها، و حدهای آن.
درس 15 از 18. نمودار معاملههای یک استراتژی را روی کندلهایی نشان میدهد که به آنها نگاه میکنید. Strategy Lab جلوتر میرود: استراتژی را روی بازهای که خودتان انتخاب میکنید آزمایش میکند، با مدل دقیقتری از حرکت قیمت درون هر کندل و با هزینههایی که تعیین میکنید، و یک گزارش کامل مینویسد. هر چیزی که نشان میدهد شبیهسازی روی قیمتهای گذشته است. هیچ سفارشی هرگز برای بروکر فرستاده نمیشود.
یک استراتژی برای آزمایش#
اول این استراتژی را در اسکریپتهای من ذخیره کنید. ورودی دارد، پس Strategy Lab میتواند ورودیها را نشان دهد و عوضشان کند.
strategy "Lab crossover"
edition = 1
display = price
setup:
capital = 10000
size = sizing.lots(0.1)
fees = fee.per_lot(3.5)
execution:
spread = 20 ticks
slippage = 2 ticks
input fast_length: int = 10, name = "Fast length", min = 1, max = 100
input slow_length: int = 30, name = "Slow length", min = 2, max = 300
input stop_atr: float = 2.0, name = "Stop (ATRs)", min = 0.5, step = 0.5
let fast = tech.ema(close, fast_length)
let slow = tech.ema(close, slow_length)
let atr = tech.atr(14)
if tech.crosses_above(fast, slow)
orders.enter("Long", side.long)
if tech.crosses_below(fast, slow)
orders.close("Long")
if position.size > 0
orders.exit("Stop", "Long", stop = position.avg_price - stop_atr * atr)
plot(fast, name = "Fast", color = color.green)
plot(slow, name = "Slow", color = color.red)باز کردن Strategy Lab#
سه راه برای ورود هست:
- دکمهٔ فلاسک Strategy Lab — بکتست استراتژی در نوار بالای نمودار (روی صفحهٔ باریک زیر بیشتر › Strategy Lab است)؛
- دکمهٔ تست در ویرایشگر اسکریپت، که وقتی اسکریپت استراتژی باشد دیده میشود: اسکریپت را ذخیره میکند و بیدرنگ در Strategy Lab اجرا میکند؛
- از خود Strategy Lab: دکمهٔ نوشتن استراتژی جدید ویرایشگر را با یک استراتژی کوچکِ آمادهٔ کار باز میکند.
Strategy Lab به شکل پنلی زیر نمودار باز میشود، روی نماد و تایمفریم همان نمودار. برای بلندتر کردنش لبهٔ بالایش را بکشید. زبانههایش تنظیمات، گزارش، معاملات، بهینهسازی، پایداری و ژورنال هستند.
تنظیمات#
| فیلد | چه چیزی را تعیین میکند |
|---|---|
| استراتژی | کدام اسکریپت شما آزمایش شود؛ اندیکاتورها جدا فهرست میشوند، چون سفارشی نمیگذارند |
| نماد، تایمفریم، بازه | چه چیزی و در چه تاریخهایی آزمایش شود (از یک ماه تا پنج سال، یا دلخواه با از – تا) |
| مدل قیمت | قیمت درون هر کندل چطور حرکت کند: فقط کندلها (سریعترین، با دورترین دسترسی به گذشته)، کندلهای 1 دقیقهای (هر دقیقهٔ درون کندل؛ پیشفرض)، همهٔ تیکها (بازسازیشده) (تیکهایی که از هر دقیقه ساخته میشوند) یا تیکهای واقعی (قیمت خرید و فروشِ ثبتشده، هر جا که وجود داشته باشد) |
| حد ضرر و حد سود در یک کندل | وقتی داده نمیتواند بگوید کدام اول رخ داد، چه فرض شود: قاعدهٔ کلاسیک (کندل صعودی اول پایین میرود)، بدترین حالت فرض شود (محتاطانه) یا بهترین حالت فرض شود (خوشبینانه) |
| سپرده (USD)، اهرم | حساب آزمایش (تا وقتی عوضشان نکنید 10,000 و 1:100) |
| حجم سفارش | طبق استراتژی، لات ثابت، درصدی از اکوییتی یا مبلغ هر معامله |
| اسپرد، کمیسیون، اسلیپیج، سواپ، تأخیر سفارش | هزینههای آزمایش |
| ورودیهای استراتژی | ورودیهای اسکریپت، فقط برای همین آزمایش |
تنظیمهای سرآیند اسکریپت برای هر هزینهای به کار میروند که در تنظیمات عوضش نکردهاید: اینجا آزمایش با اسپرد 20 تیک، اسلیپیج 2 تیک و 3.5 برای هر لات انجام میشود. فیلدی که در تنظیمات عوض کنید بر سرآیند مقدم است. مارجین از بلوک margin: سرآیند میآید. بعد اجرای تست را بزنید.
گزارش و معاملهها#
گزارش با یک خط شروع میشود: سود خالص و درصد آن. زیر آن ارقام اصلی میآیند (سود خالص، ضریب سود، نرخ برد، حداکثر افت سرمایه، معاملات، میانگین هر معامله، نسبت شارپ، ضریب بازیابی)، اکوییتی و افت سرمایه در طول آزمایش، جدولی از ماهها، نتیجه به تفکیک ساعت و روز هفته، و همهٔ ارقام. گزارش اینها را هم صریح میگوید:
- وقتی معاملهها برای قضاوت خیلی کماند (100 معامله یا بیشتر را هدف بگیرید)؛
- اینکه آیا میانگین هر معامله ممکن است از روی شانس باشد؛
- چند کندل هم به حد ضرر و هم به حد سود رسیدند، طوری که ترتیبشان حدس بوده، و چند معامله به آن حدس وابستهاند؛
- کدام سفارشها را مدل بروکر نپذیرفت (کمتر از کوچکترین لات، یا بیشتر از مارجین آزاد)؛
- وقتی کندلها از آرشیو یک فروشندهٔ داده آمدهاند و نه از قیمتهای خود بروکر.
معاملات هر معامله را با جهت، ورود، خروج، حجم، سود، مدت نگهداری و نحوهٔ پایانش فهرست میکند. آن را بر اساس بردها، باختها یا خروجهای حدسی فیلتر کنید و روی یک معامله کلیک کنید تا آن را روی نمودار ببینید. تا وقتی Strategy Lab باز است، نمودار معاملههای آخرین آزمایش را علامت میزند.
ژورنال بعد از هر آزمایش یادداشتهای اسکریپت و مدل بروکر را نگه میدارد.
بهینهسازی و پایداری#
بهینهسازی آزمایش را بارها با ورودیهایی که تیک میزنید اجرا میکند، هر کدام در یک دامنه (از، تا، گام)، و نتیجهها را رتبهبندی میکند. میتواند انتهای بازه را دیدهنشده نگه دارد (فوروارد تست) و هر تنظیمی را که پیدا کرده روی آن آزمایش کند، و تنظیمهایی را که معاملههای خیلی کمی دارند کنار میگذارد. ستون ثبات میگوید آیا تنظیمهای همسایه با هم همخوانی دارند، و یک یادداشت میگوید بعد از این همه امتحان، بهترین نتیجه چقدر ممکن است از شانس باشد.
پایداری میپرسد به یک نتیجه تا چه اندازه میشود اعتماد کرد: آزمون مونتکارلو (همان معاملهها با ترتیبهای دیگر، با نمونهگیری دوباره، یا با جا انداختن چند معامله)، بررسی چالش پراپ (آیا استراتژی قوانین یک چالش حساب تأمین سرمایه را پاس میکرد) و واکفوروارد (بهینهسازی، بعد معامله در تکهٔ دیدهنشدهٔ بعدی، و تکرار این کار).
پلن شما چه چیزهایی دارد#
| پلن رایگان نمودار | MillionChart Pro | |
|---|---|---|
| اجرای آزمایش | 10 بار در ماه | بدون محدودیت |
| تاریخچهای که آزمایش میتواند به آن برسد | 92 روز اخیر | بدون محدودیت |
| بهینهسازی، واکفوروارد، مونتکارلو | نه | بله |
هر اجرای تست، از جمله تست ویرایشگر، یک اجرا حساب میشود. وقتی اجراهای ماه تمام شود، Strategy Lab این را میگوید و به صفحهٔ پلنها اشاره میکند. مهمان نمیتواند آزمایش اجرا کند.
امتحان کنید#
- مدل قیمت را از کندلهای 1 دقیقهای به فقط کندلها تغییر دهید و دوباره اجرا کنید. بخش دادهها در گزارش میگوید چند حدس درون کندل اثر داشته است.
- اسپرد را روی یک مقدار ثابت دو برابر بگذارید و دوباره اجرا کنید. سود خالص را با آزمایش اول مقایسه کنید.
- بازه را روی ماه گذشته و بعد روی بازهای طولانیتر بگذارید (در پلن رایگان، آزمایش تا 92 روز عقب میرود). ببینید بازهٔ کوتاه چه معاملههای کمی میدهد.
- زیر ورودیهای استراتژی،
stop_atrرا از 2 به 1 تغییر دهید، دوباره اجرا کنید و در معاملات بشمارید چند معامله با حد ضرر بسته شدند.
نقطهٔ بررسی#
- میتوانید Strategy Lab را از سه راه باز کنید و استراتژی، نماد، تایمفریم و بازه را انتخاب کنید.
- میدانید کدام فیلدهای هزینه از سرآیند اسکریپت میآیند و فیلدی که خودتان عوض کنید مقدم است.
- میتوانید ارقام اصلی گزارش را بخوانید و یک معامله را روی نمودار پیدا کنید.
- میدانید پلن رایگان چه چیزهایی دارد و هر نتیجه یک شبیهسازی است.