
به استفاده از کوکی ها برای ورود به وب سایت MQL5. com اجازه دهید.
لطفاً تنظیمات لازم را در مرورگر خود فعال کنید، در غیر این صورت نمی توانید وارد شوید.
جادوگر MQL5 امکان ایجاد مشاوران خبره آماده بر اساس کلاس های کتابخانه استاندارد ارائه شده همراه با ترمینال مشتری را فراهم می کند (برای جزئیات به ایجاد مشاوران خبره آماده در MQL5 Wizard مراجعه کنید). این اجازه می دهد تا ایده های تجاری خود را به سرعت بررسی کنید، تنها چیزی که نیاز دارید این است که کلاس سیگنال های تجاری خود را ایجاد کنید. ساختار این کلاس و مثال را می توان در مقاله MQL5 Wizard: How to Create a Module of Trading Signals مشاهده کرد.
ایده کلی به شرح زیر است: کلاس سیگنال های معاملاتی از CExpertSignal مشتق شده است، در مرحله بعد، لازم است که روش های مجازی LongCondition() و ShortCondition() را با متدهای خود نادیده بگیرید.
کتاب "استراتژی های بهترین معامله گران" (به زبان روسی) وجود دارد، استراتژی های معاملاتی زیادی در آنجا در نظر گرفته شده است، ما بر روی الگوهای کندل معکوس تمرکز خواهیم کرد که توسط نوسانگرهای Stochastic، CCI، MFI و RSI تایید شده است.
بهترین راه ایجاد کلاس جداگانه است که از CExpertSignal برای بررسی شکل گیری الگوهای کندل استیک مشتق شده است. برای تأیید سیگنال های تجاری، تولید شده توسط الگوهای کندل، کافی است کلاسی را که از CCandlePatte مشتق شده است بنویسید و ویژگی های لازم (مثلاً تأیید توسط نوسانگرها) را در آنجا اضافه کنید.
در اینجا سیگنال ها را بر اساس الگوی کندل معکوس «حرامی صعودی/حرامی نزولی» که توسط نشانگر CCI تأیید شده است، در نظر خواهیم گرفت. ماژول سیگنال های تجاری بر اساس کلاس CCandlePatte است، این یک مثال ساده از استفاده از آن برای ایجاد سیگنال های تجاری با الگوهای کندل است.
1. الگوهای شمعدانی معکوس "Bullish Harami" و "Bearish Harami".
1. 1. حرامی صعودی
الگوی معکوس حرامی صعودی در روند نزولی شکل می گیرد که شمعدان بزرگ به دنبال شمعدان کوچکتری قرار می گیرد که بدنه آن در محدوده عمودی بدنه بزرگتر قرار دارد. این الگو نشان می دهد که روند نزولی (روند نزولی) ممکن است معکوس شود، این نشان می دهد که زمان خوبی برای ورود به یک موقعیت طولانی است. شمعدان دوم با یک شکاف به بالا باز می شود. هر چه شمعدان دوم (سفید) کوچکتر باشد، احتمال برگشت بیشتر است.

شکل 1. الگوی شمعدانی "بالش حرامی".
تشخیص الگوی "Bullish Harami" در روش CheckPatteBullishHarami() از کلاس CCandlePatte پیاده سازی شده است:
//+------------------------------------------------------------------+ // |بررسی الگوی شمعدان "صعودی هارامی" | //+------------------------------------------------------------------+ بولccandlepatte :: checkpattebullishharami ()<// --- صعودی هارامی if((بستن(1)>باز کن(1)) && // آخرین نوار تکمیل شده صعودی است (روز سفید)((باز کن(2)-بستن(2))>avgbody (1)) && // شمع قبلی نزولی است ، بدن آن بیشتر از حد متوسط است (سیاه بلند)((بستن(1)2)) && // قیمت نزدیک شمع صعودی پایین تر از قیمت باز شمع نزولی است(باز کن(1)>بستن(2))) && // قیمت باز شمع صعودی بالاتر از قیمت نزدیک شمع نزولی است(نقطه میانی (2)2))) // روند پایین برگشت(درست است، واقعی); //--- برگشت(دروغ);>
روش CheckCandLestickPatte (candle_patte_bullish_harami) از کلاس ccandlepatte برای بررسی شکل گیری الگوی شمعدان "صعودی" استفاده می شود.
1. 2هرمی
الگوی معکوس حراجی نزولی در روند صعودی شکل می گیرد که شمعدان بزرگ توسط یک شمعدان کوچکتر دنبال می شود که بدن آن در محدوده عمودی بدن بزرگتر قرار دارد. این الگوی نشان می دهد که روند رو به رشد (صعود) ممکن است معکوس باشد ، نشان می دهد که زمان خوبی برای ورود به یک موقعیت کوتاه است. شمعدان دوم با شکاف پایین باز می شود.
هرچه شمعدان دوم (سیاه) کوچکتر باشد ، احتمال وارونگی بیشتر خواهد بود.

شکل 2. الگوی شمعدان "Harish Harish"
به رسمیت شناختن الگوی "Harish Harami" در روش CheckPatteebearishharami () کلاس CCANDLEPATTERN کلاس اجرا شده است:
//+------------------------------------------------------------------+ // |بررسی الگوی شمعدان "Harish Harish" | //+------------------------------------------------------------------+ بولccandlepatte :: checkpatteebearishharami ()<// --- حراجی نزولی if((بستن(1)1)) && // آخرین نوار تکمیل شده نزولی است (روز سیاه)((بستن(2)-باز کن(2))>avgbody (1)) && // شمع قبلی صعودی است ، بدن آن بیشتر از حد متوسط است (سفید بلند)((بستن(1)>باز کن(2)) && // قیمت نزدیک شمع نزولی بالاتر از قیمت باز شمع صعودی است(باز کن(1)2))) && // قیمت باز شمع نزولی پایین تر از قیمت نزدیک شمع صعودی است(نقطه میانی (2)>cloineavg (2))) // روند بالا برگشت(درست است، واقعی); //--- برگشت(دروغ);>
روش CheckCandLestickPatte (candle_patte_bearish_harami) از کلاس ccandlepatte برای بررسی شکل گیری الگوی شمعدانی "هرمی هرمی" استفاده می شود.
2. سیگنال های تجاری ، که توسط نشانگر CCI تأیید شده است
سیگنال های معاملاتی برای باز کردن موقعیت طولانی یا کوتاه باید توسط نشانگر CCI تأیید شود. مقدار CCI باید بیشتر/پایین تر از سطح بحرانی باشد (-50 برای موقعیت طولانی و 50 برای موقعیت کوتاه).
بسته شدن موقعیت باز شده به مقادیر CCI بستگی دارد. در 2 مورد قابل انجام است:
- اگر خط CCI به سطح بحرانی مخالف رسیده باشد (80 برای موقعیت طولانی و-80 برای موقعیت کوتاه)
- اگر سیگنال معکوس تأیید نشود (وقتی CCI به سطوح زیر می رسد: -80 برای موقعیت طولانی و 80 برای موقعیت کوتاه)

شکل 3. الگوی "صعودی هارامی" ، که توسط نشانگر CCI تأیید شده است
- int cbh_bh_cci :: longcondition () - شرایط را برای باز کردن موقعیت طولانی (بازگشت 80) و نزدیک به موقعیت کوتاه بررسی می کند (بازگشت 40).
- int cbh_bh_cci :: کوتاه مدت () - شرایط را برای باز کردن موقعیت کوتاه (بازگشت 80) و نزدیک به موقعیت طولانی (بازگشت 40) بررسی می کند.
2. 1موقعیت طولانی/موقعیت کوتاه نزدیک را باز کنید
- شکل گیری الگوی "صعودی حرام" باید توسط نشانگر CCI تأیید شود: CCI (1)
- اگر نشانگر CCI از سطح بحران ی-80 عبور کند یا از سطح بحرانی 80 عبور کند ، باید موقعیت کوتاه بسته شود.
//+------------------------------------------------------------------+ // |شرایط ورود و خروج از بازار را بررسی می کند | // |1) ورود به بازار (موقعیت طولانی باز ، نتیجه = 80) | // |2) خروج از بازار (موقعیت کوتاه نزدیک ، نتیجه = 40) | //+------------------------------------------------------------------+ در نظر گرفتنCBH_BH_CCI :: LONGCONDITION ()<در نظر گرفتننتیجه =0; // --- IDX می تواند برای تعیین حالت کار مشاور متخصص استفاده شود // --- idx = 0- در این حالت EA شرایط تجارت را در هر تیک بررسی می کند // --- idx = 1- در این حالت EA فقط در میله های خبری موافقت تجارت را بررسی می کند در نظر گرفتنidx = startIndex () ؛// --- بررسی شرایط برای باز کردن موقعیت طولانی // --- شکل گیری الگوی صعودی حراجی و CCIif(checkcandlestickpatte (candle_patte_bullish_harami) && (CCI (1) 50)) نتیجه =80; // --- بررسی شرایط برای بستن موقعیت کوتاه // --- خط خط سیگنال از سطح بیش از حد/Oversold (رو به پایی ن-80 ، رو به پایی ن-80) if(((CCI (1)>-80) && (CCI (2) 80)) ||((CCI (1) 80) && (CCI (2)>80))) نتیجه =40; // --- نتیجه بازگشت برگشت(result);>
2. 2موقعیت کوتاه را باز کنید/موقعیت طولانی را نزدیک کنید
- The formation of "Bearish Harami" patte must be confirmed by CCI indicator: CCI(1)>50 (مقدار شاخص CCI آخرین نوار تکمیل شده باید بیشتر از 50 باشد).
- اگر نشانگر CCI از سطح پایی ن-80 یا 80 عبور کند ، موقعیت طولانی باید بسته شود.
//+------------------------------------------------------------------+ // |شرایط ورود و خروج از بازار را بررسی می کند | // |1) ورود به بازار (موقعیت کوتاه باز ، نتیجه = 80) | // |2) خروج از بازار (موقعیت طولانی نزدیک ، نتیجه = 40) | //+------------------------------------------------------------------+ در نظر گرفتنCBH_BH_CCI :: کوتاه مدت ()<در نظر گرفتننتیجه =0; // --- IDX می تواند برای تعیین حالت کار مشاور متخصص استفاده شود // --- idx = 0- در این حالت EA شرایط تجارت را در هر تیک بررسی می کند // --- idx = 1- در این حالت EA فقط در میله های خبری موافقت تجارت را بررسی می کند در نظر گرفتنidx = startIndex () ؛// --- بررسی شرایط برای باز کردن موقعیت کوتاه //--- formation of Bearish Harami patte and CCI>50 if(checkcandlestickpatte (candle_patte_bearish_harami) && (CCI (1)>50)) نتیجه =80; // --- بررسی شرایط برای بستن موقعیت طولانی // --- خط خط سیگنال از سطح بیش از حد/بیش از حد (رو به پایی ن-80 ، 80 رو به پایین) if(((CCI (1) 80) && (CCI (2)>80)) ||((CCI (1) 80) && (CCI (2)>-80))) نتیجه =40; // --- نتیجه بازگشت برگشت(result);>
2. 3ایجاد مشاور متخصص با استفاده از جادوگر MQL5
کلاس CBH_BH_CCI در کلاسهای استاندارد کتابخانه گنجانده نشده است ، برای استفاده از آن ، لازم است پرونده ACBH_BH_CCI. MQH را بارگیری کنید (به پیوست ها مراجعه کنید) و آن را در Client_Terminal_Data پوشه MQL5 شامل Expert Signal MySignals ذخیره کنید. همین کار را باید با پرونده CandlePattes. mqh انجام داد. می توانید پس از شروع مجدد متائیت ، از آن در جادوگر MQL5 استفاده کنید.
برای ایجاد یک مشاور خبره راه اندازی جادوگر MQL5:

شکل 4. ایجاد مشاور متخصص با استفاده از جادوگر MQL5
بیایید نام مشاور متخصص را مشخص کنیم:

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

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

شکل 7. خصوصیات سیگنال مشاور متخصص
ماژول سیگنال های تجاری اضافه شده است:

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

شکل 9. خصوصیات پیگیری مشاور خبره
در مورد ویژگی های مدیریت پول ، ما از "تجارت با حجم تجارت ثابت" استفاده خواهیم کرد:

شکل 10. ویژگی های مدیریت پول مشاور خبره
با فشار دادن دکمه "پایان" ، ما کد مشاور متخصص تولید شده را که در Expert_ABH_BH_CCI. MQ5 واقع شده است ، دریافت خواهیم کرد ، آن را در terminal_data_folder mql5 کارشناسان ذخیره می کند.
پارامترهای ورودی پیش فرض مشاور متخصص تولید شده:
// --- ورودی برای سیگنال اصلی ورودی در نظر گرفتنsignal_thresholdopen =10; // مقدار آستانه سیگنال برای باز کردن [0. 100] ورودی در نظر گرفتنsignal_thresholdclose =10; // مقدار آستانه سیگنال برای بستن [0. 100] ورودی دو برابرsignal_pricelevel =0.0; // سطح قیمت برای اجرای معامله ورودی دو برابرSIGNAL_STOPLEVEL =50. 0; // متوقف کردن سطح از دست دادن (در امتیاز) ورودی دو برابرSIGNAL_TAKELEVEL =50. 0; // سطح سود را بگیرید (در امتیاز)
باید جایگزین شود:
// --- ورودی برای سیگنال اصلی ورودی در نظر گرفتنsignal_thresholdopen =40; // مقدار آستانه سیگنال برای باز کردن [0. 100] ورودی در نظر گرفتنsignal_thresholdclose =20; // مقدار آستانه سیگنال برای بستن [0. 100] ورودی دو برابرsignal_pricelevel =0.0; // سطح قیمت برای اجرای معامله ورودی دو برابرSIGNAL_STOPLEVEL =0.0; // متوقف کردن سطح از دست دادن (در امتیاز) ورودی دو برابرSIGNAL_TAKELEVEL =0.0; // سطح سود را بگیرید (در امتیاز)
پارامترهای ورودی SIGNAL_THRESHOLDOPEN/SIGNAL_THRESHOLDCLOSE امکان مشخص کردن سطح آستانه برای باز و بسته شدن موقعیت ها را فراهم می کند.
در کد روشهای طولانی مدت () و کوتاه مدت () کلاس سیگنال های تجاری مقادیر ثابت آستانه را مشخص کرده ایم:
- موقعیت باز: 80 ؛
- موقعیت نزدیک: 40.
مشاور خبره ، که توسط "MQL5 Wizard" با استفاده از "آرا" از ماژول های سیگنال های تجاری ایجاد شده است. رأی ماژول اصلی (به عنوان کانتینر ، از تمام ماژول های اضافه شده نیز استفاده می شود) نیز استفاده می شود ، اما روشهای طولانی مدت آن () و کوتاه مدت () همیشه 0 باز می گردد.
نتایج رأی ماژول اصلی نیز در "آرا" به طور متوسط استفاده می شود. در مورد ما: ماژول اصلی + 1 ماژول سیگنال های تجاری ، بنابراین باید هنگام تنظیم مقادیر آستانه ، این واقعیت را در نظر بگیریم. به دلیل این واقعیت ، آستانه و آستانه باید به صورت 40 = (0+80)/2 و 20 = (0+40)/2 تنظیم شود.
مقادیر پارامترهای ورودی SIGNAL_STOPLEVEL و SIGNAL_TAKELEVE بر روی 0 تنظیم شده است ، این بدان معنی است که بسته شدن موقعیت ها فقط در شرایطی انجام می شود که شرایط بسته شود.
2. 4نتایج برگشتی تاریخ
بیایید پشتوانه مشاور خبره در مورد داده های تاریخی را در نظر بگیریم (EURUSD H1 ، دوره آزمایش: 2010. 01. 01-2011. 03. 16 ، perialcci = 11 ، ma_period = 5).
در ایجاد مشاور خبره ما از حجم ثابت (تجارت ثابت ، 0. 1) استفاده کردیم ، از الگوریتم توقف دنباله دار استفاده نمی شود (دنباله استفاده نمی شود).

شکل 11. نتایج آزمایش مشاور خبره ، بر اساس صعودی هارامی/حراجی هرامی + CCI
بهترین مجموعه پارامترهای ورودی را می توان با استفاده از تستر استراتژی ترمینال مشتری Metatrader 5 یافت.
کد مشاور متخصص ، ایجاد شده توسط جادوگر MQL5 در Expert_ABH_BH_CCI. MQ5 ضمیمه شده است.
ترجمه شده از روسی توسط Metaquotes Ltd. کد اصلی: https://www. mql5. com/ru/code/311
برو به بحث
جادوگر MQL5 - سیگنال های تجاری مبتنی بر صعودی هارامی/حراجی هرمی + تصادفی
سیگنال های تجاری مبتنی بر الگوی شمعدان "صعودی هارامی/حراجی هرمی" ، تأیید شده توسط نشانگر تصادفی در نظر گرفته شده است. کد مشاور متخصص بر اساس این استراتژی می تواند به طور خودکار با استفاده از جادوگر MQL5 تولید شود.
جادوگر MQL5 - سیگنال های تجاری مبتنی بر مشروبات الکلی صعودی/Engulfing Bearish + RSI
سیگنال های تجاری مبتنی بر الگوی شمعدان "صعودی/مشروبات الکلی" ، که توسط شاخص شاخص قدرت نسبی (RSI) تأیید شده است ، در نظر گرفته شده است. کد مشاور متخصص بر اساس این استراتژی می تواند به طور خودکار با استفاده از جادوگر MQL5 تولید شود.
جادوگر MQL5 - سیگنال های تجاری مبتنی بر صعودی هارامی /حراجی هرمی + MFI
سیگنال های تجاری مبتنی بر الگوی شمعدان "صعودی هارامی/حراجی هرمی" ، که توسط شاخص شاخص تسهیل بازار (MFI) تأیید شده است ، در نظر گرفته شده است. کد مشاور متخصص بر اساس این استراتژی می تواند به طور خودکار با استفاده از جادوگر MQL5 تولید شود.
جادوگر MQL5 - سیگنال های تجاری مبتنی بر صعودی هارامی/حراجی هرمی + RSI
سیگنال های تجاری مبتنی بر الگوی شمعدان "صعودی هارامی/حراجی هرمی" ، که توسط شاخص شاخص قدرت نسبی (RSI) تأیید شده است ، در نظر گرفته شده است. کد مشاور متخصص بر اساس این استراتژی می تواند به طور خودکار با استفاده از جادوگر MQL5 تولید شود.< SPAN> جادوگر MQL5 - سیگنال های تجاری مبتنی بر صعودی هارامی /حراجی هرمی + MFI
فارکس به زبان ساده...
ما را در سایت فارکس به زبان ساده دنبال می کنید
برچسب :
نویسنده : طاهره ایرانی
بازدید : <-PostHit->
تاريخ : شنبه
21 مرداد
1402 ساعت: 11:51