سازنده استراتژی بصری. ایجاد روبات های تجاری بدون برنامه نویسی

ساخت وبلاگ

algotrading و امکان بررسی ایده های تجارت در مورد داده های تاریخی در تستر استراتژی مهمترین کارکردهای پلت فرم معاملاتی Metatrader5 است.

اما برای استفاده از استراتژی معاملاتی در حالت معاملات خودکار در نمودار زمان واقعی یا در یک تستر استراتژی ، باید برنامه ریزی شود و به یک پرونده اجرایی تبدیل شود (پرونده مشاور متخصص - EA). هر معامله گر مهارت یا منابع برنامه نویسی برای تسلط بر آنها ندارد.

در این مقاله راه حلی برای این مشکل ارائه شده است - Mission Mission سازنده استراتژی بصری. با کمک خود ، هر کسی می تواند تجارت خود را خودکار کند و بدون نوشتن یک خط کد ، استراتژی را در مورد داده های تاریخی بررسی کند. پیوندها به نسخه های رایگان برنامه را می توان در زیر یافت. بر اساس استراتژی های مردمی 5 مشاور متخصص رایگان آماده وجود دارد. آنها به صورت قالب طراحی شده اند و می توانند به عنوان پایه ای برای سایر استراتژی ها استفاده شوند.

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

این سازنده استراتژی بصری برای "غیر برنامه نویسان" طراحی شده است و می تواند برای طیف گسترده ای از کاربران مفید باشد. هر معامله گر می تواند پس از گذراندن مدت زمان کمی برای آشنایی با آن و تسلط بر اصول کار خود ، روبات های تجاری کاملاً کاربردی ایجاد کند.

در این مقاله ، عملکرد کلی از سازنده استراتژی ارائه شده در مورد نمونه های ایجاد مشاوران تجارت واقعی زندگی ارائه شده است.

امکانات

Mission Automate Application به هر کسی اجازه می دهد تا ایده ها را به روبات های تجاری آماده تبدیل کند. یک رابط گرافیکی بصری با فناوری "کشیدن و رها کردن" این روند را آسان و لذت بخش می کند. به نظر می رسد ایجاد یک مشاور متخصص مانند مونتاژ یک طرح از بلوک های موجود (عناصر) و اتصال آنها با پیوندهای منطقی است. هنگامی که این طرح ایجاد شد ، می توان بلافاصله به صورت زنده اجرا شد یا به طور خودکار برای استفاده بیشتر در تستر استراتژی یا نمودارهای زمان واقعی به کد MQL5 تبدیل شد.

بخشی از عناصر موجود در زیر ذکر شده است.

  • تمام شاخص های استاندارد موجود در سکوی Metatrader.
  • شاخص های سفارشی
  • تجارت (گروه معاملات) باز / بستن / اصلاح.
  • تنظیم / لغو / اصلاح سفارش در انتظار (گروه سفارشات).
  • مدیریت معاملات: ماشین حساب تعداد زیادی ، یکنواخت ، توقف دنباله دار.
  • دسترسی به تاریخچه تجارت (اطلاعات مربوط به موقعیت های بسته).
  • عناصر برای به دست آوردن اطلاعات مختلف در مورد تاریخچه قیمت.
  • داده های آخرین کنه برای سازهای مختلف.
  • عملیات مختلف حسابی و تحولات قیمت.
  • عملیات منطقی
  • متغیرها / سوئیچ ها.
  • عملیات با زمان.
  • اطلاعات مختلف در مورد ابزارهای تجاری.
  • اطلاعات مربوط به حساب (تعادل ، عدالت ، حاشیه رایگان و غیره).
  • اعلان ها: هشدار ، ورود به سیستم ، فشار و اظهار نظر در مورد نمودار.
  • عناصر ایجاد پارامترهای ورودی مشاور خبره که در تنظیمات آن قابل مشاهده است و می تواند در تستر استراتژی بهینه شود.

مجموعه بزرگی از عناصر تعداد زیادی از ترکیبات ممکن را تشکیل می دهد که هر کسی را قادر می سازد انواع مختلفی از روبات ها و برنامه های تجاری را ایجاد کند. در زیر لیستی ناقص از آنچه می توان با استفاده از ابزار ساخت استراتژی Mission Automate ایجاد کرد.

  • مشاوران خبره مبتنی بر شاخص های فنی.
  • استراتژی های اقدام قیمت.
  • الگوهای شمع آسان است.
  • استراتژی های مبتنی بر سطح پشتیبانی و مقاومت.
  • انواع مختلفی از سیستم های G Rid.
  • سیستم هایی با استفاده از روش های Martingale.
  • خدمات مدیریت معاملات.
  • هشدارها و سیستم های اعلان ها.
  • ابزارهای مدیریت پول.

در سازنده استراتژی و در این مقاله از کلمات "تجارت" و "موقعیت" به عنوان مترادف استفاده می شود. تجارت / موقعیت می تواند فعلی باشد ، اما هنوز بسته نیست ، یا تاریخ ، یعنی در گذشته بسته شده است. کلمه "سفارش" در متن باید به عنوان "سفارش در انتظار" خوانده شود. یک دستور ممکن است بعداً به یک موقعیت تبدیل شود یا ممکن است لغو شود و به تاریخ منتقل شود.

بررسی اجمالی

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

  1. تشکیل یک استراتژی معاملاتی در رئیس یک معامله گر - کار خلاقانه.
  2. تغییر استراتژی به عنوان مجموعه ای از قوانین "روی کاغذ" - رسمی سازی استراتژی یا تهیه مشخصات EA.
  3. تبدیل این قوانین به کد دستگاه و پرونده اجرایی ربات تجارت - برنامه نویسی مشاور متخصص.

بیشتر معامله گران می توانند با موفقیت مراحل شماره 1 و شماره 2 را به تنهایی انجام دهند. محصول شرح داده شده در این مقاله امکان دستیابی به مرحله شماره 3 را فراهم می کند ، که باعث می شود تجارت الگوریتمی برای هر معامله گر در دسترس باشد.

Mission Automate Strategy Builder به شما امکان می دهد استراتژی های خود را از ابتدا یا از یکی از الگوهای / نمونه های آماده تهیه کنید ، که بسیار ساده تر است.

ویدیوی زیر کل روند ایجاد EA جدید از ابتدا را نشان می دهد. در این مثال ، یک استراتژی کلاسیک مبتنی بر دو میانگین متحرک ساخته شده است.

  • مونتاژ یک طرح از عناصر.
  • اتصال عناصر با پیوندهای منطقی.
  • تنظیم پارامترهای عناصر و پیوندها.
  • تولید خودکار پرونده . mq5 ea.
  • تهیه کد و دریافت پرونده اجرایی . ex5.
  • در حال اجرا و آزمایش مشاور متخصص در تستر استراتژی.

استراتژی ها از بلوک ها / ماژول ها مونتاژ می شوند. این بلوک ها عناصر نامیده می شوند.

تمام عناصر موجود در نوار عناصر قرار دارند.

عناصر را می توان با پیوندهای منطقی مرتبط کرد.

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

تمام قطعه های ایجاد شده در نوار قطعه قرار دارند.

عناصر با "کشیدن و رها کردن" منتقل می شوند.

گروهی از عناصر و پیوندها یک طرح را تشکیل می دهند.

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

تمام الگوهای موجود در نوار قالب قرار دارند.

Overview

یک طرح جدید را می توان از یکی از الگوهای موجود یا کاملاً از ابتدا ایجاد کرد.

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

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

برای افزودن عناصر جدید به این طرح ، آنها را باید از نوار عناصر بر روی آن بکشید.

اگر عنصری از نوار عناصر به یک فضای تمیز کشیده شود ، یک طرح جدید حاوی فقط این عنصر ایجاد می شود. به هر عنصر می توان یک نام اختصاص داد.

پس از کلیک بر روی یک عنصر ، پانل تنظیمات آن ظاهر می شود. می توانید مقادیر پارامترهای عنصر را تغییر داده یا آنها را به عنوان مقادیر پیش فرض تنظیم کنید. جدا از تنظیم پارامترها ، گزینه هایی برای کلون کردن یک عنصر ، حذف آن ، تنظیم مجدد تنظیمات و دسترسی به توضیحات کوتاه یک عنصر و پارامترهای آن نیز در دسترس است.

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

عناصر را می توان به سه گروه تقسیم کرد.

  1. عناصر برای انجام برخی اقدامات (باز کردن موقعیت های جدید ، اعلان ها ، اصلاح موقعیت های موجود و غیره) در صورت بروز شرایط خاص. شرایطی که برای انجام یک عمل لازم است ، ماشه نامیده می شود.
  2. عناصر شی (تیک ، نوار ، نماد ، موقعیت ، ترتیب در انتظار ، نشانگر). ابتدا باید یک شی ایجاد کنید و پارامترهای آن را پیکربندی کنید ، و فقط در این صورت می توانید اطلاعاتی در مورد آن کسب کنید.
  3. عناصر برای به دست آوردن اطلاعات در مورد شی (قیمت های فعلی ، اطلاعات مربوط به وضعیت حساب ، تاریخ تجارت و غیره).

داده های عناصر پارامترها و اشیاء می توانند از انواع مختلفی باشند. به عنوان مثال ، نرخ ارز نوع اعشار را دارد و نظر موقعیت به عنوان یک رشته مشخص می شود. شماره نوار دارای نوع عدد صحیح است و لحظه افتتاح آن نوع زمان دارد.

عناصر را می توان با پیوندهای منطقی مرتبط کرد. پیوند داده ها را از یک عنصر به عنصر دیگر منتقل می کند.

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

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

تصویر بالا نشان می دهد که ابزار "اطلاع رسانی هشدار جدید" به نظر می رسد.

پیوندها می توانند فقط عناصر و پارامترهایی از همان نوع یا انواع مختلفی را که بدون از دست دادن داده می توانند در هم تنیده شوند ، متصل کنند.

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

برای ایجاد گروهی از عناصر ، با نگه داشتن کلید CTRL ، بخش طرح را انتخاب کنید. تمام عناصری که در این منطقه قرار می گیرند انتخاب می شوند. همچنین ، اگر در هنگام نگه داشتن کلید CTRL روی آن کلیک کنید ، این عنصر برجسته می شود.

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

سایر ویژگی های این برنامه در نمونه هایی از ساخت مشاوران متخصص واقعی بررسی خواهد شد.

مثال شماره 1: مشاور خبره "حرکت میانگین های متقاطع"

یک استراتژی تجاری کلاسیک را بر اساس دو متقاطع میانگین متحرک در نظر بگیرید.

این استراتژی را می توان به طور خلاصه به شرح زیر توصیف کرد.

وقتی میانگین حرکت سریع (MA) از MA کند به سمت بالا عبور می کند ، خریداری می کنیم. ما می فروشیم وقتی MA Fast از آهسته به سمت پایین عبور می کند. ما وقتی سیگنال مخالف رخ می دهد ، و همچنین با از دست دادن توقف موقعیت ها را می بندیم و سود می بریم.

حال اجازه دهید استراتژی را به روشی رسمی تر به عنوان مجموعه ای از قوانین / شرایط توصیف کنیم.

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

این مجموعه از قوانین به اندازه کافی خوب است که به عنوان مشخصات EA خدمت کند. بیایید توسعه این ربات تجاری را با سازنده استراتژی بصری شروع کنیم.

دوره های میانگین حرکت باید به عنوان پارامترهای ورودی مشاور متخصص ایجاد شود.

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

دوره شاخص یک عدد صحیح است. ما از عنصر مربوطه استفاده خواهیم کرد. بیایید یک طرح جدید ایجاد کنیم و دو عنصر از این دست را در آن اضافه کنیم ، به آنها اسم بدهید و مقادیر آنها را تنظیم کنیم. برای MA Fast ، مقدار پیش فرض را روی 14 تنظیم می کنیم و برای آهسته MA = 28. این مقادیر می توانند در تستر استراتژی بیشتر بهینه شوند.

MAs Periods

استراتژی ما از یک شاخص استاندارد استفاده می کند ، اما با دو دوره مختلف.

ما به دو عنصر به نام میانگین متحرک نیاز داریم.

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

Indicators

به طور پیش فرض ، شاخص ها از نماد و چارچوب زمانی نمودار فعلی استفاده می کنند. این دقیقاً همان چیزی است که ما نیاز داریم. دوره محاسبه شاخص ها از عناصر مربوطه گرفته می شود.

اکنون ، برای تعیین شرایط برای سیگنال های خرید / فروش ، باید برای هر شاخص - برای نوار قبلی و برای نوار فعلی - دو مقدار دریافت کنیم.

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

میله ها از زمان حال به گذشته شماره گذاری می شوند. نوار ناقص فعلی دارای شماره 0 است. شماره 1 به نوار تشکیل شده قبلی ، شماره 2 به نوار قبل از آن و غیره اختصاص داده شده است.

فقط میله های تشکیل شده در استراتژی ما استفاده می شود. بنابراین ، برای نوار فعلی ما از مقدار = 1 استفاده می کنیم و برای نوار قبلی از مقدار = 2 استفاده می کنیم. مقادیر مربوطه برای هر چهار عنصر تنظیم شده است.

MAs values

اکنون باید مقادیر شاخص ها را مقایسه کنیم و بررسی کنیم که آیا شرایط ورود برآورده شده است یا خیر.

برای مقایسه اعداد ، از عنصر مقایسه استفاده کنید. این عنصر مقدار "درست" را در صورتی که دو عدد رابطه مشخص شده را برآورده کنند ، و اگر نه ، مقدار "نادرست" را برآورده می کند. بیایید دو عنصر از این دست را به طرح خود اضافه کنیم. در مرحله اول ، ما بررسی خواهیم کرد که آیا MA Fast بالاتر از آهسته در نوار قبلی بوده است یا خیر. در عنصر دوم ، ما بررسی می کنیم که آیا MA سریع از آهسته در نوار فعلی بالاتر شده است یا خیر. بیایید پیوندهای مناسب ایجاد کنیم و پارامترها را برای این عناصر مقایسه پیکربندی کنیم.

Values comparison

سیگنال خرید تحقق همزمان دو شرط است:

  • MA Fast در نوار قبلی بالاتر از MA کند نبود
  • MA Fast از MA کند در نوار فعلی بالاتر شده است

برای بررسی تحقق همزمان این شرایط ، از عنصر "منطقی و" استفاده کنید. اگر حداقل یکی از آنها برآورده نشود ، این عنصر مقدار "واقعی" را در صورت برآورده شدن همه شرایط و مقدار "نادرست" می کند.

دو عنصر از این دست را به این طرح اضافه کنید و هر دو عنصر را با هر یک از آنها وصل کنید.

هنگام انجام این کار ، ما باید برخی از پیوندها را "معکوس" کنیم. اگر MA سریعتر از MA کند در نوار قبلی باشد ، "True" بازده "درست" است ، اما باید بررسی کنیم که این بالاتر نیست. بنابراین ، ما با تنظیم پیوندهای مربوطه در پارامترهای عناصر ، مقدار خروجی را می چرخانیم. پیوندهای معکوس با رنگ قرمز روی این طرح ترسیم می شوند.

Signals

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

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

ما برای خرید و فروش نیاز به یک عنصر از این دست داریم. بیایید این دو عنصر را به طرح اضافه کنیم و بر این اساس آنها را پیکربندی کنیم:

Trades Groups

برای به دست آوردن اطلاعات در مورد یک گروه معاملات (ما باید تعداد معاملات موجود در آن را بدانیم) ، ما از عنصر اطلاعات گروه تجاری (Integer) استفاده خواهیم کرد. بیایید دو عنصر از این دست را به طرح خود اضافه کنیم. مقادیر خروجی آنها با استفاده از عناصر مقایسه با صفر مقایسه می شود.

Trades numbers

اکنون باید شرایط نهایی را تشکیل دهیم - محرک برای عملیات معاملاتی. هر ماشه شامل دو شرط است.

  1. ماشه برای باز کردن خرید - (1) هیچ معاملات خرید باز در لحظه وجود ندارد و (2) یک سیگنال خرید وجود دارد
  2. ماشه برای افتتاح فروش - (1) هیچ معاملات فروش باز در حال حاضر وجود ندارد و (2) سیگنال فروش وجود دارد
  3. ماشه برای بستن یک خرید - (1) موقعیت خرید باز وجود دارد و (2) یک سیگنال فروش وجود دارد
  4. ماشه برای بستن فروش - (1) یک موقعیت فروش باز وجود دارد و (2) در آنجا یک سیگنال خرید هستم

از آنجا که ما باید تحقق چندین شرط را بررسی کنیم ، دوباره از عناصر منطقی و عناصر استفاده خواهیم کرد ، یکی برای هر ماشه. 4 عنصر چنین را به این طرح اضافه کرده و پیوندهای مربوطه را ایجاد کنید.

توجه داشته باشید که برای باز کردن موقعیت ها ، باید پیوندهای عناصر مقایسه ای معکوس شود.

Triggers

محرک ها آماده هستند. تنها چیزی که باقی مانده اضافه کردن عناصر تجاری است.

برای باز کردن موقعیت ، از عنصر تجارت باز استفاده کنید. ما برای افتتاح خرید و دیگری برای افتتاح فروش به یکی از آنها نیاز داریم.

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

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

Trading elements

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

تجارت با تعداد اعشاری ارائه می شود ، اظهار نظر تجارت یک رشته است ، در حالی که تعداد جادویی ، از دست دادن متوقف شده و سودآوری عدد صحیح است. این عناصر را به این طرح اضافه کرده و آنها را به پارامترهای مربوط به عناصر معاملاتی وصل کنید.

Ready scheme view

این طرح آماده است. اکنون باید یک فایل EA اجرایی ایجاد کنید.

اگر می خواهید پارامترهای ورودی EA به یک ترتیب خاص بروند ، می توانید از گزینه Arrange Inputs استفاده کنید. با این وجود تمام عناصری که مسئول پارامترهای ورودی هستند ، می توانند به بالا / پایین منتقل شوند و ترتیب ظاهر آنها را در پنجره تنظیمات EA مشخص کنند.

Arranging EA Input parameters

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

  1. تولید پرونده EA با استفاده از File Navigator از سازنده استراتژی.
  2. افتتاح پرونده کد منبع EA (. mq5) در برنامه متائیتور.
  3. تهیه مشاور متخصص و به دست آوردن پرونده EA اجرایی (. ex5).

پس از تدوین موفقیت آمیز ، یک فایل EA با پسوند . ex5 و همان نام پرونده کد منبع در همان پوشه ای که پرونده منبع (. mq5) در آن قرار دارد ظاهر می شود.

این پرونده EA باید در پوشه متخصصان ترمینال تجارت قرار گیرد و سپس برای استفاده در ترمینال معاملات در دسترس باشد.

اگر مشاور متخصص ایجاد شده را در تستر استراتژی اجرا کنیم ، تصویر زیر را خواهیم دید:

Checking in visual mode

EA آماده است و کاملاً مطابق با قوانین اصلی استراتژی تجارت است!

مثال شماره 2: مشاور متخصص "معکوس مارتینگاله"

بیایید یکی دیگر از استراتژی های تجارت بسیار محبوب را بر اساس سیستم Martingale در نظر بگیریم. این استراتژی را می توان به شرح زیر توصیف کرد.

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

مشخصات فنی برای چنین روبات ممکن است به این شکل باشد.

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

بیایید با استفاده از سازنده استراتژی بصری ، این مشاور متخصص را شروع کنیم.

برای اجرای استراتژی ، ما باید اطلاعاتی در مورد وضعیت فعلی (حضور موقعیت های باز) و تاریخچه تجارت داشته باشیم (باید جهت ، سود و اندازه تجارت قبلی را بدانیم).

فرم دو گروه معاملات: یکی با موقعیت های بسته (تاریخ) و دیگری با موقعیت های فعلی (فعلی). همچنین عنصر پارامتر ورودی را برای شماره جادویی اضافه کنید.

Trades groups

اگر موقعیت باز وجود نداشته باشد ، باید باز شود. همانطور که در مثال قبلی ، تعداد موقعیت های باز را با استفاده از عنصر اطلاعات گروه Trades تعیین کرده و مقدار به دست آمده را با صفر مقایسه کنید. اگر هیچ موقعیتی وجود نداشته باشد ، این محرک برای افتتاح تجارت جدید خواهد بود. در مورد ما ، این لینک باید معکوس شود.

Opening next trade

اگر موقعیت باز وجود داشته باشد ، ما باید ضرر متوقف کنیم و برای آن سود بگیریم.

در مثال قبلی ، این کار بلافاصله در زمان باز شدن تجارت انجام شد ، اما همه حالت های اعدام / کارگزاران اجازه این کار را نمی دهند. بنابراین ، مورد باز کردن موقعیت بدون SL و TP و قرار دادن آنها در آینده را در نظر بگیرید.

قرار دادن (اصلاح) سطح SL و TP توسط عنصر گروه Modify Trades انجام می شود.

علاوه بر این ، عناصر را برای پارامتر ورودی با نظر معاملات و پارامترهای ورودی با مقادیر SL و TP در نقاط اضافه کنید.

Setting stops

برای تعیین نوع تجارت بعدی ، باید جهت آخرین موقعیت بسته را بدانیم. برای دسترسی به اطلاعات در مورد موقعیت ، از عنصر اطلاعات تجارت استفاده کنید. برای انجام این کار ، ما باید بلیط آخرین تجارت را بدانیم. ما می توانیم آن را با استفاده از عنصر اطلاعات گروه Trades بدست آوریم.

Last trade

بیایید نوع آخرین تجارت را بدست آوریم و دریابیم که آیا این یک خرید است یا فروش. برای انجام این کار ، از عنصر برابر استفاده کنید. این امکان را می دهد تا اعداد را با انواع مختلفی از داده ها مقایسه کنید و در صورت مساوی بودن "درست" می شود.

Last trade type

با استفاده از عنصر متغیر ، یک نوع برای تجارت بعدی ایجاد کنید. این عنصر هنگام تحقق شرایط مختلف مقادیر مختلفی را تولید می کند و به عنوان نوعی سوئیچ عمل می کند.

اگر تجارت قبلی یک خرید باشد ، آنگاه مورد بعدی فروش خواهد بود و بالعکس. اگر نوع آخرین تجارت ناشناخته باشد (اگر هنوز موقعیتی باز نشده است) ، از نوع تنظیمات ورودی استفاده می شود. آن را با کمک عنصر مربوطه ایجاد کنید.

Next trade type

اکنون باید حجم معامله بعدی را محاسبه کنیم. برای این کار باید نتیجه آخرین موقعیت بسته و حجم آن را بدانیم. سود و حجم معامله با استفاده از عناصر اطلاعات تجارت به دست می آید. سود با صفر مقایسه می‌شود تا مشخص شود که معامله در سود یا زیان بسته شده است.

Last trade profit and volume

اگر این اولین معامله باشد یا اگر آخرین موقعیت در سود بسته شده باشد، چرخه جدیدی را با لات اولیه شروع می کنیم.

برای تعیین شرایط شروع چرخه جدید، از عنصر منطقی OR استفاده کنید. اگر حداقل یکی از شرایط وجود داشته باشد، "درست" و در صورت عدم رعایت همه شرایط "نادرست" را برمی‌گرداند. ما باید دو شرط را بررسی کنیم.(1) شرط بستن معامله در سود از عنصر مقایسه گرفته شده است که بررسی می کند آیا سود کمتر از صفر بوده است (این اتصال به عنصر OR باید معکوس شود).(2) برای بررسی اینکه آیا این اولین معامله است، از عنصر AND استفاده کنید، جایی که مقادیر معکوس را از عناصر Equal به هم وصل می کنیم. به هر حال، اگر معامله قبلی نه خرید و نه فروش باشد، به این معنی است که این وضعیت زمانی است که به سادگی موقعیت قبلی وجود ندارد.

New Cycle

اگر موقعیت قبلی وجود داشت، باید حجم معاملات بعدی را محاسبه کنیم. برای این کار از عنصر Arithmetic استفاده کنید. عملیات ریاضی مختلفی را با دو عدد انجام می دهد. در این حالت، لات معامله قبلی را در پارامتر Lot Multiplier که با استفاده از عنصر Input Parameter ایجاد شده است، ضرب می کنیم. برای استراتژی ما، مقدار پیش فرض آن را 2 قرار دهید.

Lot calculation

برای محاسبه نهایی اندازه لات معامله بعدی، از عنصر Variable مشابه تعیین نوع معامله بعدی استفاده کنید. زیرا اگر چرخه جدیدی را شروع کنیم، باید از لات اولیه استفاده کنیم، اما اگر چرخه را پس از یک معامله بازنده ادامه دهیم، باید از اندازه لات معامله بعدی که در مرحله قبل محاسبه شده است استفاده کنیم.

علاوه بر این، یک عنصر برای اندازه لات اولیه (پارامتر ورودی) اضافه کنید. طرح تکمیل شده به شکل زیر خواهد بود:

Next trade lot

برای مشاهده اجمالی سریع پارامترهای همه عناصر طرح / استراتژی، می توانید از تابع نمای Parameters Layout استفاده کنید.

در این صورت، طرح ظاهر خود را تغییر داده و به دو منطقه تقسیم می شود. اولی تمام پارامترهای موجود در طرح را لیست می کند و قسمت دوم تمام عناصری را که هر یک از پارامترها را شامل می شوند لیست می کند. در این طرح می توانیم تنظیمات هر یک از پارامترها را در همه عناصر بررسی کنیم.

بیایید اطمینان حاصل کنیم که همه عناصر از نماد فعلی نمودار که متخصص در حال اجرا است استفاده می کنند. برای انجام این کار ، طرح را به حالت چیدمان پارامتر تغییر دهید و پارامتر Symbol Name را در لیست سمت چپ انتخاب کنید. سپس ، در قسمت سمت راست سمت راست ، می بینید که این پارامتر در سه عنصر طرح وجود دارد و در هر یک از آنها روی نماد فعلی قرار گرفته است ، این به معنای استفاده از ابزار نمودار فعلی است. در صورت لزوم ، این مقدار را می توان به نام هر جفت ارز دیگر از ساعت بازار تغییر داد.

Parameters Layout view

بیایید مشاور متخصص تکمیل شده خود را در تست استراتژی بررسی کنیم. برای انجام این کار ، مانند مثال قبلی ، ما باید یک پرونده کد منبع تولید کنیم و آن را در برنامه متائیدر کامپایل کنیم.

Checking in the tester

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

مثال شماره 3: "بستن یک گروه معاملات در کل سود"

با استفاده از این سازنده استراتژی بصری ، می توان نه تنها استراتژی های معاملاتی ، بلکه ابزارهای ساده تر - خدمات تجاری ایجاد کرد.

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

ابزار باید شرایط زیر را برآورده کند.

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

آخرین نکته مورد نیاز این است که این واقعیت است که همیشه می توان موقعیت را در اولین تلاش بستن. دلایل این امر ممکن است متفاوت باشد. شایع ترین انقضاء قیمت درخواست شده (مورد نیاز) است. هرچه تعداد موقعیت های یک گروه بسته بیشتر باشد ، احتمال اینکه یکی از آنها در اولین تلاش ، به ویژه در مواقع افزایش نوسانات ، بسته نشود.

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

با شماره جادویی مشخص شده (عنصر پارامتر ورودی) یک گروه معاملات (عنصر گروه تجاری) ایجاد کنید ، تعداد معاملات موجود در آن را پیدا کرده و مقدار به دست آمده را با صفر مقایسه کنید تا تعیین کنید حداقل یک موقعیت وجود دارد.

Trades group

سود کل این گروه Trades (عنصر اطلاعات گروه تجاری) را دریافت کرده و این مقدار را با سطح سود داده شده برای بسته شدن (عنصر پارامتر ورودی) مقایسه کنید.

Trades group profit

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

راه حل این است که "به خاطر بسپار" واقعیت تحقق شرط بستن کل گروه در عنصر متغیر است. اگر این متغیر مقدار "درست" را در اختیار داشته باشد ، EA تمام معاملات را در کنه های زیر می بندد ، تا زمانی که همه آنها با موفقیت بسته شوند. پس از بسته شدن همه معاملات ، شرایط بسته شدن را مجدداً تنظیم کنید (مقدار را روی "کاذب" تنظیم کنید) و صبر کنید تا ماشه جدید بسته شود.

بسته شدن موقعیت ها با عنصر گروه Trades Close اجرا می شود.

Closing a trades group

منطق معاملاتی ابزار آماده است و از قبل می تواند کاملاً عملکردی داشته باشد. اکنون ما عملکردی را برای شمارش تلاش برای بستن یک گروه معاملات اضافه می کنیم.

برای انجام این کار ، ما دوباره از عنصر متغیر استفاده می کنیم ، اما این بار به عنوان پیشخوان عمل می کند. ما در صورت عدم تجارت باز در گروه ، مقدار را به 0 تنظیم می کنیم و هر بار که سعی می کنیم گروهی از موقعیت ها را ببندیم ، مقدار 1 (با استفاده از عنصر حسابی) را افزایش می دهیم.

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

عناصر را به نمودار اضافه کرده و همانطور که در زیر آمده است ، آنها را پیکربندی کنید:

Attempts counter

تنها چیزی که باقی مانده است ، تشکیل متن پیام و ایجاد هشدار با آن در لحظه بسته شدن موقعیت ها است. متن پیام را می توان با استفاده از عنصر Combine String تشکیل داد ، که قطعات پیام را در یک رشته واحد ترکیب می کند.

عملکرد هشدار استاندارد Metatrader5 با استفاده از عنصر هشدار اجرا می شود.

Alert

بیایید یک عملکرد دیگر را در این مثال مرور کنیم. هر طرح ممکن است حاوی چندین انتها باشد - اقداماتی که باید در نتیجه اجرای طرح انجام شود و هیچ اقدامات دیگری را ایجاد نمی کند. در این طرح ، یک گروه هشدار و بسته شدن گروه است.

اگر می خواهید این اقدامات به ترتیب خاصی انجام شود ، به عنوان مثالبرای ایجاد هشدار قبل از بسته شدن معاملات - باید از گزینه Arrange Ends استفاده کنید. سپس یک کادر گفتگو ظاهر می شود ، همانطور که در مورد تنظیم پارامترهای ورودی ، جایی که می توانید عناصر را به سمت بالا و پایین حرکت دهید و دنباله اجرای آنها را مشخص کنید.

Arranging Ends

ابزار ما کاملاً آماده است. از آنجا که این مشاور متخصص هیچ سفارش را باز نمی کند و فقط یک دستیار بازرگانی است ، دیگر نیازی به آزمایش آن در تستر استراتژی نیست.

این طرح می تواند بلافاصله به صورت زنده اجرا شود ، حتی بدون ایجاد کد منبع و ایجاد یک فایل EA (اگرچه این کار را می توان انجام داد و EA آماده را می توان در یک نمودار جداگانه در ترمینال اجرا کرد). برای شروع عملیات زنده این طرح ، دکمه شروع / توقف را فشار دهید. هنگامی که کلیک می شود ، این طرح به همان روشی که انگار پرونده EA در یک نمودار جداگانه راه اندازی شده است ، اجرا می شود. این گزینه می تواند برای اجرای همزمان چندین برنامه ساده و بدون نیاز به تولید کد منبع برای آنها و بدون اجرای آنها در نمودارهای جداگانه استفاده شود.

Live scheme execution

نتیجه

این مقاله حاوی مروری بر Automate Mission Builder Visual Grate GrateL است. با استفاده از مثالها ، نشان می دهد که چگونه هر کسی می تواند بدون برنامه نویسی روبات های تجاری ایجاد کند.

بارگیری برنامه در بازار و امتحان کردن آن در عمل رایگان و آسان است. شامل 5 مشاور متخصص آماده بر اساس استراتژی های محبوب است.

من برنامه های بزرگی برای توسعه بیشتر این پروژه دارم ، بنابراین من واقعاً از هرگونه اظهار نظر و پیشنهادات برای بهبود برنامه قدردانی می کنم.

بیایید algotrading را در دسترس همه قرار دهیم!

هشدار: کلیه حقوق این مواد توسط Metaquotes Ltd. کپی یا چاپ مجدد این مواد به طور کامل یا جزئی محفوظ است.

کتاب آموزش بورس...
ما را در سایت کتاب آموزش بورس دنبال می کنید

برچسب : نویسنده : ژیلا توفیقی بازدید : 53 تاريخ : سه شنبه 1 فروردين 1402 ساعت: 0:08