بهینه سازی اکسپرت معمولا یکی از اولینکارهایی است که فعالان بازارهای سرمایه پس از طراحی ربات معاملاتی یا اکسپرت (EA) به آن میپردازند. هدف از بهینهسازی، یافتن بهینهترین تنظیمات برای کسب بالاترین سود توسط استراتژی است. با این حال، بهینه سازی اکسپرت مانند یک شمشیر دو لبه، هم میتواند مفید و هم میتواند مرگبار باشد. پرداختن به ظرافتها و حساسیتهای بهینهسازی نیازمند بحثهایی گستردهتر است که آموزشهای تخصصی و مقالاتی مجزا و مفصل میطلبد. در این مقاله، به طور مقدماتی و به صورت گام به گام، روش بهینه سازی اکسپرت در متاتریدر ۴ را بررسی میکنیم.
مراحل بهینه سازی اکسپرت
۱. ابتدا اکسپرت خود را در پوشه Experts، واقع در پوشه متاتریدر کپی کنید. این پوشه را میتوانید از منوی File > Open Data Folder پیدا کنید.
۲- سپس وارد متاتریدر شده و با فشردن دکمههای Ctrl+R قسمت Strategy Tester را باز کنید. میتوانید از منوی view نیز برای فعال کردن این بخش استفاده کنید. در این پنجره، اکسپرت دلخواه را پیدا کرده و انتخاب کنید.
۳- نماد معاملاتی خود را انتخاب نمایید. ما در اینجا USDJPY را انتخاب کردهایم. توجه داشته باشید که دادهٔ با کیفیت، نقش حیاتی در اعتبار بکتست و بهینهسازی دارد. از این رو اطمینان حاصل کنید دادههای مورد استفاده شما، کیفیت لازم را دارا هستند. (در این ارتباط، حتما مقاله «اهمیت مدلینگ دقیق در تست استراتژی معاملاتی» را مطالعه فرمایید)
۴- در قسمت مدل، گزینه اول یعنی …Every Tick را انتخاب کنید. با این کار، متاتریدر به ازای هر تیک در بازار، محاسبات را به روز میکند. این گزینه، دقیقترین نتیجه را ارائه میدهد اما طبیعتا زمان بسیار زیادی صرف انجام محاسبات میشود.
۵- در قسمت Use date میتوانید بازه زمانی مورد نظرتان را انتخاب کنید. پیشنهاد میشود این بازه از یک روز بعد از اولین تاریخی که داده دارید تا یک روز قبل از آخرین روزی که داده دارید تعیین شود. مثلاً اگر دادههای شما از تاریخ ۲۰۰۱٫۰۱٫۰۸ شروع میشود، شما بهتر است تاریخ شروع (start) را ۲۰۰۱٫۰۱٫۰۹ تعیین کنید.
۶- گزینه مربوط به بهینهسازی (Optimization) را فعال کنید. سپس روی دکمه Expert Properties کلیک کنید تا پنجره خصوصیات اکسپرت ظاهر شود.
۷- این پنجره، دارای سه برگه یا TAB است. به جز برگه دوم (Inputs)، دو برگه دیگر برای همه اکسپرتها یکسان است.
۸- در تب Testing و در قسمت Initial deposit میزان سرمایه اولیه را مشخص کنید. در قسمت موقعیتها (Positions)، تعیین کنید که موقعیت buy یا sell یا هردو گرفته شوند. در قسمت Optimized parameter میتوانید مبنای قضاوت در خصوص بهینگی تنظیمات را تعیین کنید. مثلاً چنانچه balance را انتخاب کرده باشید، عمل بهینهسازی برای بدست آوردن بیشترین بالانس نهایی صورت خواهد پذیرفت.
با فعال کردن گزینه Genetic Algorithm، میتوانید طبق الگوریتم ژنتیک و هوش مصنوعی، تا از میان میلیونها بلکه میلیاردها حالت برای بهینهسازی، هزاران ترکیب هوشمندانه را مورد بررسی قرار دهید.
۹- با انتخاب برگه Inputs، سراغ پارامترهای اکسپرت میرویم:
۱۰- در این قسمت، پارامترهایی را که میخواهیم بهینه کنیم را انتخاب کرده و به صورت زیر مقداردهی میکنیم. مثلاٌ پارامتر tp (مربوط به حد سود) را در نظر بگیرید.
در ستونStart، حداقل مقدار مدنظر (فرضاً ۱۰ پیپ) و در ستون Stop، حداکثر مقدار مدنظر (مثلاً ۱۰۰۰ پیپ) را وارد میکنیم.
در ستون Step نیز، میزان گام افزایشی را مشخص میکنیم (در اینجا ۱۰). بطور خلاصه هنگام بهینه سازی اکسپرت ، بخش تستر متاتریدر مقدار tp=10 را ابتدا برای کل دیتای موجود (در اینجا ۸ سال) بررسی میکند.
در گام بعدی tp=20 را بررسی میکند، سپس ۳۰=tp، تا … tp=1000 تا ببینیم در این ۸ سال چه حد سودی میتوانسته نتایج بهتری تولید کند. در این اکسپرت، سه پارامتر مشخص شده در تصویر را برای بهینه سازی اکسپرت مشخص کرده و مقدار دادهایم.
۱۱- حال سراغ برگه سوم یعنی بهینهسازی یا Optimization میرویم:
۱۲- در این قسمت تعیین میکنید که بهینهسازی طبق چه شرایطی خروجی دهد:
حداقل بالانس | Balance minimum |
حداکثر سود | Profit maximum |
حداقل سطح مارجین (درصد) | %Minimal margin level |
حداکثر میزان افت سرمایه (درصد) | Maximal drawdown |
میزان زیانهای متوالی | Consecutive loss |
تعداد معاملات متوالی زیانده | Consecutive loss trades |
میزان سودهای متوالی | Consecutive win |
تعداد معاملات متوالی سودده | Consecutive win trades |
۱۳- فرض کنید میخواهیم از میان نتایج عملیات بهینهسازی، تنها آنهایی نشان داده شوند که میزان حداکثر افت سرمایه (Maximal drawdown) آنها، بالای ۶۰٪ نباشد. لذا گزینه مربوطه را انتخاب کرده و پس از وارد کردن مقدار مدنظر (۶۰) دکمه Enter را فشار دهید.
۱۴- در نهایت دکمه Ok را کلیک کرده تا همزمان با اعمال تنظیمات، پنجره بسته شود. در پنل Strategy Tester روی دکمه Start کلیک کنید تا عملیات بهینهسازی (Optimization) شروع شود.
شروع عملیات بهینهسازی اکسپرت (Optimization)
۱۵- همانطور که مشخص شده است، در حدود ۲۴۰۰ ترکیب اصلیتر بررسی خواهد شد. (بخاطر فعال کردن گزینه الگوریتم ژنتیک)
۱۶- در برگه Optimization Results، نتیجه بهینهسازی طبق شرایط تعیین شده در قبل، نمایش داده میشود. (تصویر: در طول ۷۱ ترکیب تست شده از میان ۲۴۰۰ ترکیب)
۱۷- در برگه Optimization Graph، میتوانید نمودار سودآوری نتایج بهینهسازی را مشاهده کنید.
۱۸- در انتها، نتایج بهینهسازی مشخص شده است:
(توجه: عمل بهینهسازی ممکن است تا چندین روز طول بکشد!)
۱۹- با کلیک بر روی ستون سود (Profit) در برگه Optimization Results، از میان نتایج بهینه شده، نتایج حاوی بالاترین بالانس موجود را گلچین میکنیم.
با دقت در مقادیر پارامترهای ورودی (Inputs)، میتوان فهمید برای اکسپرت مدنظر، بهترین مقدارها در یک بازه مثلاً ۸ ساله چیست.
نکته: در برگه Optimization Graph، با راست کلیک کردن روی نمودار و انتخاب گزینه ۲D Surface میتوان نمودار را در سطح دوبعدی مشاهده کرد.
جمعبندی
در این مقاله به صورت گام به گام، با روش بهینه سازی استراتژی اکسپرت در متاتریدر ۴ آشنا شدید. اما نکتهای که هرگز نباید از نظر دور داشته باشید این است که بهینهسازی استراتژی کاری به شدت پر خطر است.
اگر بهینه سازی اکسپرت به شیوه اصولی انجام نشود، بر خلاف تصور عموم نه تنها باعث افزایش سودآوری نمیشود بلکه استحکام استراتژی را کاسته و آن را نسبت به تغییرات آینده بازار به شدت شکننده میکند.
در مقالهای مجزا، به بحث در خصوص شیوه اجتناب از فرو افتادن در دام بهینهسازی صحبت خواهیم کرد. همچنین میتوانید با ثبتنام در دوره MQL-Master با بسیاری نکات حرفهای در طراحی، تست و بهینهسازی استراتژیهای معاملاتی آشنا شوید.
ما در مهد سرمایه با یک تیم برنامه نویسی حرفه ای اماده ارائه خدماتی از جمله طراحی اکسپرت تخصصی و طراحی اندیکاتور تخصصی به شما عزیزان هستیم.
2 پاسخ
ممنون عالی بود . اما برای تغییر تایم فریم توضیح نداده بودید . اگه تمام ویژگی های رباط رو ثابت نگه داریم و فقط تایم فریم رو تغییر بدیم ، اولا به کدام قسمت باید مراجعه کنیم ؟ ثانیا چقدر زمان برای بهینه سازی نیاز داریم ؟
ممنون .
برای تغییر تایمفریم، در همان پنجره استراتژی تستر، گزینهی Period در واقع همان تایمفریم است که میتوانید آن را تغییر دهید. بهینهسازی ممکن است تا 2 روز از شما زمان بگیرد.