
ساخت خودکار پورتفوی (Automatic Portfolio Construction)
آوریل 3, 2025
بخش ساخت استراتژی (Builder)
آوریل 5, 2025فرآیند کالیبراسیون به این صورت عمل میکند:
- هر اندیکاتور با استفاده از مقادیر پیشفرض برای پارامترهایش مقداردهی اولیه میشود و سپس روی کل دادههای تاریخی (مطابق تنظیمات داده) اجرا میگردد.
- مقادیر محاسبهشده برای هر کندل در حافظه ذخیره میشوند و سپس حداقل و حداکثر مؤثر از میان تمام مقادیر محاسبه میگردند.
- مقدار حداقل به صورت میانگین – انحراف معیار و مقدار حداکثر به صورت میانگین + انحراف معیار محاسبه میشود.
- محاسبه مقدار گام به تنظیمات گام شما در پنجره کالیبرهکردن اندیکاتورها بستگی دارد.
میتوانید با کلیک روی دکمه Calibrate now کالیبراسیون را آغاز کنید یا گزینه calibrate before start را در تب تنظیمات Building blocks فعال نمایید تا کالیبراسیون در شروع هر پروژه بهصورت خودکار انجام شود.
پس از انجام فرآیند کالیبراسیون، نتایج در جدول اندیکاتورها در پایین نمایش داده میشوند. در صورت نیاز میتوانید مقادیر جدول را بهصورت دستی تنظیم کنید. پس از کلیک روی Save، مقادیر اندیکاتور در بلوکهای ساختاری تنظیم و ذخیره میشوند.
کالیبراسیون پیشفرض که فقط با استفاده از مقادیر پیشفرض برای هر اندیکاتور انجام میشود، ممکن است چندان مؤثر نباشد، زیرا محاسبه فقط با استفاده از یک تنظیم برای هر اندیکاتور انجام میشود و مقادیر خروجی به شدت به تنظیمات پارامترها بستگی دارند. به همین دلیل، ما یک فرآیند کالیبراسیون پیشرفتهتر معرفی کردهایم که قادر است چندین نمونه از یک اندیکاتور را با تنظیمات پارامتر متفاوت اجرا کند.
به این صورت، مقادیر خروجی بازتاب دقیقتری از مقادیر واقعی هستند که ممکن است در حین ساخت به آنها برخورد شود. الگوریتم محاسبه نتایج مانند کالیبراسیون پیشفرض تکنمونهای است که پیشتر توضیح داده شد. تنها تفاوت در این است که برای هر اندیکاتور چندین نمونه اجرا میشود و مقادیر خروجی هر یک در حافظه ذخیره میگردد.
برای اینکه بتوانید فرآیند کالیبراسیون پیشرفته را تنظیم کرده و تنظیمات سفارشی پارامترها را برای هر اندیکاتور تعریف کنید، ما یک فایل پیکربندی با نام calibrationSettings.txt در پوشه user/settings/ ایجاد کردهایم.
میتوانید این تنظیمات را متناسب با نیاز و کاربرد خود سفارشیسازی کنید. اگر هیچ تنظیماتی مشخص نکرده باشید، از مقادیر پیشفرض استفاده خواهد شد.
فرمت این فایل بسیار ساده است. میتوانید خطوط را با استفاده از # در ابتدای خط به صورت کامنت بنویسید. خطوط خالی بهصورت پیشفرض نادیده گرفته میشوند و نامگذاری پارامترها مانند نحوه استفاده در کدهای Java است.
میتوانید فقط برخی پارامترهای یک اندیکاتور را تنظیم کنید یا همه آنها را. این کاملاً به خودتان بستگی دارد. همچنین میتوانید محاسبه برخی بافرهای خروجی اندیکاتورها را غیرفعال کنید. این کار ممکن است فرآیند کالیبراسیون را کمی سریعتر کند. برای مثال، میتوانید خط اصلی اندیکاتور ADX را غیرفعال کنید، چون این خط در واقع میانگینی بین خطوط +DI و -DI است و بنابراین تأثیری در نتایج کالیبراسیون نخواهد داشت.
برای نمایش نحوه عملکرد، بیایید نگاهی به یک نمونه پیکربندی بیندازیم:
در اینجا ما در حال تنظیمات کالیبراسیون برای اندیکاتور QQE هستیم. میخواهیم از تنظیمات سفارشی برای پارامترهای RSIPeriod و sF استفاده کنیم. نمیخواهیم مقادیر خروجی بافر Value1 را محاسبه کنیم، پس آن را غیرفعال میکنیم. این تنظیمات در مجموع باعث ایجاد ۵ نمونه از اندیکاتور QQE در فرآیند کالیبراسیون خواهند شد. تنظیمات نهایی پارامترها به صورت زیر خواهد بود:
نمونه شماره | دوره RSI | sF | wF |
1 | 10 | 5 | 4.236 |
2 | 20 | 10 | 4.236 |
3 | 50 | 20 | 4.236 |
4 | 100 | 40 | 4.236 |
5 | 200 | 5 | 4.236 |
اعداد قرمز درون جدول مقادیر پیشفرض پارامترها هستند. مقدار پیشفرض sF برابر با 5 و مقدار پیشفرض wF برابر با 4.236 است.
ممکن است در نظرات داخل فایل پیکربندی نمونه، متوجه تنظیم دیگری به نام rounding=disabled شده باشید. بهصورت پیشفرض، ما نتایج کالیبراسیون ارائهشده را کمی زیباتر میکنیم. این کار با گرد کردن مختصر انجام میشود تا مقادیر بهتر دیده شوند و اعشار بیش از حد نداشته باشند. اما اگر میخواهید مقادیر دقیقتری دریافت کنید، میتوانید با حذف علامت کامنت از آن خط، گرد کردن را غیرفعال کنید. در ادامه، مثالی از تفاوت نتایج با و بدون گرد کردن را مشاهده میکنید:
اینها نتایج پیشفرض گرد شده برای پیکربندی ساخت من هستند:
و اینها همان نتایج هستند، اما بدون گرد کردن:
همانطور که میبینید، مقادیر در تصویر دوم کمی دقیقتر هستند. اینکه آیا گرد کردن را فعال بگذارید یا غیرفعال کنید، کاملاً به خودتان بستگی دارد.