بهینه سازی خودکار یک ربات معامله گر در معاملات واقعی

ساخت وبلاگ

فرض بر این است که یک مشاور متخصص با ورودی های تنظیم شده با تاریخچه، برای اولین بار (نسبتاً کوتاه) به سود معامله می کند. تأیید غیرمستقیم این پیشنهاد پس از تماشای مسابقات قهرمانی تجارت خودکار 2006 ظاهر شد. زمانی که مسابقات قهرمانی شروع شد، مشاوران متخصص بسیار سودآورتری نسبت به بعد وجود داشت که برخی از آنها غیررقابتی شدند. به همین دلیل است که گمان می کنم اکثر مشاوران متخصصی که به پایان نرسیده اند، با تاریخ تطبیق داده شده اند.

ایده بررسی این فرض در عمل در انجمن روسی این وب سایت، در بخش سیستم معاملات خودکار ایده آل متولد شد. ایده اصلی این است که بهینه سازی یک EA را یک بار در روز به طور خودکار شروع کنید و سپس نتایج بهینه سازی به دست آمده را تجزیه و تحلیل کنید و آنها را در متغیرهای EA ثبت کنید.

برای پیاده سازی این ایده، تصمیم گرفتیم که مشاور متخصص آماده، MACD Sample را از ترمینال مشتری MetaTrader 4 بگیریم و تابع بهینه سازی خودکار خود را در آن وارد کنیم. کمی بعد کد آن بهینه ساز خودکار آماده شد و در همان انجمن در قسمت Automated Optimizer آپلود شد. پس از مدتی، اولین تاییدات این ایده در شعبه Automated Optimizer ظاهر شد. بعداً، بهینه ساز برای استفاده بهتر به یک کتابخانه mqh تبدیل شد.

نصب بهینه ساز خودکار

کارهایی که برای انجام این کار باید انجام شود در زیر آمده است:

  • MACD Sample_1. mq4 را در پوشه "expert" ترمینال مشتری MetaTrader 4 کپی کنید که از قبل نصب شده و به اینترنت متصل شده است. و
  • پوشه را همراه با MetaTrader 4 Client Terminal نصب شده در یک مکان جدید کپی کنید.

برای استفاده بهتر، از این پس ترمینال اصلی را "Terminal" نام گذاری می کنیم، در حالی که نسخه کپی "Terminal-Tester" نامیده می شود. ما در بازه زمانی H1 با استفاده از Expert Advisor که ابتدا توسط ترمینال ارائه شده بود، اما کمی تغییر کرد - MACD Sample_1. mq4، یک آزمایش بررسی بر روی EURUSD انجام خواهیم داد.

راه اندازی ترمینال-تستر

لطفاً فراموش نکنید که MACD Sample_1. mq4 را در Terminal-Tester کامپایل کنید. بیایید ابتدا ترمینال مشتری و سپس تستر استراتژی را راه اندازی کنیم و آن را همانطور که در تصویر زیر نشان داده شده است تنظیم کنیم.

بهینه سازی به مدت سه روز انجام می شود. این برای بررسی بهینه ساز خودکار کاملاً کافی است. ما تاریخ بهینه سازی "از" را مطابق فرمول زیر انتخاب خواهیم کرد - تاریخ فعلی منهای سه روز. در حین بهینه سازی ، تاریخچه لازم برای نماد انتخاب شده (در مورد ما ، EURUSD است) باید بارگیری شود.

کسانی که برای اولین بار بهینه سازی را انجام می دهند می توانند توضیحات رویه های لازم را در منوی کمک ترمینال مشتری Metatrader 4 پیدا کنند :. یا آنها می توانند مقاله ای به نام تست مشاوران خبره در ترمینال مشتری Metatrader 4 را بخوانند: یک نگاه بیرونی.

سپس بیایید متغیرها را بهینه سازی کنیم همانطور که در تصویر زیر نشان داده شده است.

بهینه سازی خودکار به چهار متغیر محدود می شود ، اما کافی خواهد بود که فقط برای اهداف ما سه داشته باشیم و برای صرفه جویی در وقت. پس از انتخاب متغیرها ، اجازه دهید تنظیمات بهینه سازی را در پرونده تنظیم شده به نام MACD SAMPL_1. SET ذخیره کنیم. این پرونده باید در پوشه "تستر" ترمینال ترمینال ذخیره شود. سپس قبل از بهینه سازی را راه اندازی کرده و زمان شروع را به خاطر بسپارید. این برای محاسبه دوره زمانی مورد نیاز برای بهینه سازی خودکار با پارامترهای از پیش تعیین شده ضروری است. پس از اتمام بهینه سازی ، زمان انتظار لازم را محاسبه خواهیم کرد. سپس ما باید این ترمینال را ببندیم ، زیرا در غیر این صورت نمی توانیم آن را به صورت برنامه ای شروع کنیم.

راه اندازی مشاور خبره واقع در ترمینال

برای این کار ، بیایید مشاور متخصص آزمون MACD SAMPL_1. MQ4 را در متائیتور باز کنیم و موارد زیر را انجام دهیم:

- زمان شروع را برای بهینه سازی خودکار ، به عنوان مثال ، در 00:01 هر روز تنظیم کنید:

- مقدار روزها را برای بهینه سازی تعیین کنید (باید همان چیزی باشد که برای قبل از بهینه سازی):

- زمان انتظار پایان بهینه سازی ، در چند دقیقه ، که قبلاً محاسبه کرده ایم ، به عنوان مثال 4 دقیقه:

- در نام مشاور خبره تایپ کنید:

- نام پرونده تنظیم شده را با تنظیمات تایپ کنید:

- به عنوان مثال در مسیر پوشه حاوی ترمینال ترمینال نصب شده را تایپ کنید:

- اولویت را برای فیلتر تنظیم کنید:

- برای بهینه سازی نامهای متغیر بنویسید:

- کپی پرونده ضمیمه شده auto_optimization. mqh را به "پوشه" شامل شود.

- پرونده کتابخانه را در مشاور متخصص قرار دهید:

- فقط کپی کردن کد زیر تا ابتدای عملکرد شروع () مشاور متخصص خود باقی مانده است. macd sample_1. mq4 در حال حاضر آن را دارد.

این همه استپس از بازخوانی خودکار بهینه ساز ، می توان آن را راه اندازی کرد ، اما ممکن است فقط برای همان نماد و بازه زمانی استفاده شود ، که برای آن قبل از بهینه سازی انجام شده است. در مورد ما ، EURUSD در H1 است. برای بررسی بهینه ساز خودکار ، می توانید کد ذکر شده در زیر را در عملکرد INT init () وارد کنید ، سپس بهینه ساز اتومبیل با شروع مشاور متخصص راه اندازی می شود.

بهینه ساز خودکار چگونه کار می کند

بهینه ساز خودکار بر اساس استفاده از ترمینال ترمینال برای بهینه سازی پارامترهای مشاور متخصص متصل به نمودار در ترمینال کار می کند. برای این کار ، این برنامه پرونده ای را که حاوی پارامترهای بهینه سازی (Optimise. ini) است ، به ترمینال ارسال می کند و تستر ترمینال را در حالت بهینه سازی راه اندازی می کند. سپس نتایج به دست آمده از "Filereport. HTM" را به ترمینال بازگرداند و بهترین مقادیر را از نتایج به دست آمده فیلتر می کند.

جزئیات بیشتر در مورد نحوه عملکرد بهینه ساز خودکار

در زمان از پیش تعیین شده ، به عنوان مثال ، در 00. 01 ، بهینه ساز خودکار باید راه اندازی شود. متغیرها باید با مقادیر پر شوند.

سپس پارامترهای پرونده INI در آرایه رشته نوشته شده است:

پارامترهای بهینه سازی از آرایه در پرونده INI ثبت می شوند. همچنین می توانید در مورد نحوه ایجاد یک فایل INI در کمک ترمینال مشتری Metatrader 4 بخوانید ، ببینید.

پس از ثبت پارامترها در پرونده INI ، Shell32. DLL موجود در تحویل استاندارد ویندوز متصل شده و عملکرد Shellexteacea راه اندازی می شود.

فایل حاوی پارامترها به پوشه تستر تستر ارسال می شود.

سپس تستر راه اندازی می شود و شروع به بهینه سازی متغیرهای از پیش تعریف شده می کند. مشاور خبره در هنگام بهینه سازی در حالت متوقف شده قرار دارد.

پس از اتمام بهینه سازی ، تستر به طور خودکار نتایج موجود در پرونده گزارش را ضبط می کند. این پرونده در پوشه ای که حاوی ترمینال است کپی می شود.

سپس داده های پرونده گزارش برای پردازش بیشتر در آرایه رشته قرار می گیرند.

سپس مقادیر لازم در آرایه انتخاب می شوند:

پس از آن ، نتایج به دست آمده ، قبل از تبدیل شدن به قالب شماره ، توسط حداقل و حداکثر میزان معاملات فیلتر شده است. صفر در ارزش Proffect_Factor برای مرتب سازی صحیح و غربال های بعدی با 1000 جایگزین می شود.

سپس مقادیر برای کپی ها بررسی می شوند و فیلتر می شوند.

سپس مقادیر تهیه شده برای مرتب سازی در آرایه نوشته شده است.

سپس داده ها شروع به تجزیه و تحلیل در ترتیب اولویت از پیش تعیین شده می کنند. تجزیه و تحلیل به شرح زیر انجام می شود:

  • حلقه راه اندازی می شود و در اولین پاس ، مقادیر توسط اولین پارامتر ، به عنوان مثال ، با حداکثر سود طبقه بندی می شوند. چندین مقدار بهترین انتخاب شده است (12 ، به طور پیش فرض) ، برخی دیگر قطع می شوند.
  • در پاس دوم ، مقادیر توسط پارامتر دوم ، به عنوان مثال ، توسط فاکتور سود طبقه بندی می شوند. برخی از بهترین مقادیر انتخاب شده اند ، نیمی از مرتب سازی ، برخی دیگر قطع می شوند.
  • در پاس سوم ، آخرین مرتب سازی برای پارامتر سوم ، به عنوان مثال ، توسط بازپرداخت مورد انتظار انجام می شود. نیمی از مقادیر پس از مرتب سازی دوم ، دیگران قطع می شوند.

مقادیر فیلتر شده به این روش در متغیرهای جهانی نوشته شده است. مقادیر متغیرهای جهانی در EA جایگزین می شوند.

نتایج عملکرد بهینه ساز خودکار

نتایج عملکرد بهینه ساز خودکار با استفاده از پیام هایی که در گوشه سمت چپ بالایی نمودار ظاهر می شوند ، همانطور که در تصویر زیر نشان داده شده است ، مشاهده می شود:

زمان مرجع کامل بهینه سازی.

تجزیه و تحلیل مقادیر به دست آمده پس از بهینه سازی.

مقادیر حاصل از متغیرها.

اگر نتایج بهینه سازی در پیام ظاهر شود ، به این معنی است که بهینه سازی کامل است و داده ها دریافت شده اند.

برای برآورد کار بهینه ساز خودکار به طور مستقل ، ممکن است تمام پرونده های حاوی داده های میانی را جستجو کرده و در طی فرآیند کار ذخیره شود. تستر داده ها را در پرونده "filereport_eurusd_2007. 03. 03. 12. htm" که در آن نماد و تاریخ در نام پرونده مطابق با نماد انتخاب شده و تاریخ فعلی بهینه سازی جایگزین می شود ، ذخیره می کند. این پرونده را می توان در پوشه ترمینال تستر یافت. این پرونده ها با گزارش ها به طور خودکار حذف نمی شوند ، بنابراین ممکن است از آنها برای بررسی تغییرات پارامترها استفاده کند.

پرونده بعدی ، FileTest1. csv ، پس از فیلتر شدن مقادیر توسط میزان معاملات و حذف نسخه ها ذخیره می شود. پرونده در: D: Files Program terminal_folder_ame متخصصان Files ذخیره می شود

سپس مقادیر به دست آمده پس از هر مرحله از غربال در FileTest2. csv ذخیره می شوند. پرونده در این پوشه نیز ذخیره می شود: D: Files Program terminal_folder_name متخصصان پرونده ها

جداول بالا نشان می دهد که چگونه مقادیر به دست آمده فیلتر می شوند. سفارش فیلتر به طور پیش فرض تنظیم شده است: 1- GROSS_PROFIT ، 2- PROFE_FACTOR ، 3- انتظار_پایوف.

کد بهینه ساز خودکار حاوی نظرات دقیق است و در صورت لزوم می توانید مناسب ترین پارامترهای متغیر را در نظر بگیرید. به عنوان مثال، شما می خواهید EA خود را برای مدت زمانی غیر از آخرین روزها بهینه کنید، یا قصد دارید میزان معاملات را در دوره بهینه سازی افزایش یا کاهش دهید. برای این کار، فقط باید متغیرهای مربوطه را مستقیماً در auto_optimization. mqh تغییر دهید.

نتیجه

هدف این مقاله آموزش عناصر بهینه سازی به افراد تازه کار نیست، بنابراین به شدت توصیه می شود قبل از تنظیم بهینه سازی خودکار Expert Advisor خود، بهینه سازی معمولی را یاد بگیرید. بهتر است پس از انتخاب متغیرهای اساسی که در زمان های مختلف تأثیر متفاوتی بر اکسپرت ادوایزر شما خواهند داشت، از بهینه ساز خودکار استفاده کنید. به عنوان مثال، بهتر است از این بهینه ساز خودکار برای تناسب پارامترهای متغیرها استفاده شود، تغییراتی که در آنها بر عملکرد EA بیشتر از سایر متغیرها تأثیر می گذارد، بسته به نوسانات بازار.

علاوه بر این، بهتر است یک دوره بهینه سازی خودکار بسیار بزرگ تنظیم نکنید. فرض کنید Expert Advisor برای 6-12 ساعت هر روز بهینه شده است. سپس یک سوال پیش می آید: چه زمانی معامله می شود؟به عبارت دیگر، بهینه سازی به خودی خود ضروری نیست. توصیه می شود تناوب بهینه سازی را با در نظر گرفتن بازه زمانی که EA قرار است در آن معامله کند تنظیم کنید (منظور تناوب راه اندازی بهینه ساز است). این به این معنی است که باید در نظر داشت که داده های تاریخی هنگام راه اندازی Tester-Terminal پمپ می شوند و این امکان وجود دارد که کارگزار فقط داده های تاریخی لازم را برای مدت زمان مشخص در اختیار نداشته باشد. برای تایید فرضیه توضیح داده شده در ابتدای این مقاله، به اتصال به اینترنت 24 ساعته و پایدار نیاز دارید.

برنامه های بهینه سازی خودکار توسعه یافته در فایل های پیوست قرار دارند: auto_optimization. mqh - خود کتابخانه، MACD Sample_1. mq4 - کمی تغییر یافته Expert Advisor موجود در مجموعه تحویل استاندارد MetaTrader 4 Client Terminal.

نرم افزار مفید تریدر...
ما را در سایت نرم افزار مفید تریدر دنبال می کنید

برچسب : نویسنده : احمد شاملو بازدید : 48 تاريخ : چهارشنبه 23 فروردين 1402 ساعت: 19:39