عملکرد تعریف معیارهای معاملاتی

ساخت وبلاگ

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

در یک مورد کلی ، معیارهای زیر را می توان تعریف کرد:

  • معیار برای افتتاح سفارش بازار ؛
  • معیار بسته شدن سفارش بازار ؛
  • معیار برای بسته شدن بخشی از سفارش بازار ؛
  • معیار بسته شدن سفارشات مخالف بازار ؛
  • معیار برای اصلاح قیمت درخواست شده از توقف سفارش بازار.
  • معیار برای قرار دادن دستور در انتظار ؛
  • معیار حذف یک دستور در انتظار ؛
  • معیار برای اصلاح قیمت باز درخواست شده سفارش در انتظار ؛
  • ملاک برای اصلاح قیمت درخواست شده از توقف یک دستور در انتظار.

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

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

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

معیار عملکرد تعریف شده توسط کاربر ()

این تابع معیارهای معاملاتی را محاسبه می کند. این می تواند مقادیر زیر را برگرداند: 10 - معیار معاملاتی برای بسته شدن خرید سفارش بازار. 20 - معیار معاملاتی را برای افتتاح فروش سفارش بازار ایجاد کرد. 11 - معیار معاملاتی را برای بسته شدن خرید سفارش بازار ایجاد کرد. 21 - یک معیار معاملاتی برای افتتاح فروش سفارش بازار ایجاد کرد. 0 - هیچ معیار مهمی در دسترس نیست.-1 - نماد مورد استفاده EURUSD نیست.

این تابع از مقادیر متغیرهای خارجی زیر استفاده می کند: ST_MIN - سطح پایین نوسان ساز تصادفی شاخص. ST_MAX - سطح بالای نوسان ساز تصادفی شاخص ؛Open_Level - سطح شاخص MACD (برای باز کردن سفارش) ؛CLOSE_LEVEL - سطح شاخص MACD (برای بسته شدن سفارش).

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

عملکرد تعریف معیارهای معاملاتی ، معیار () ، به صورت شامل معیار پرونده تشکیل می شود. mqh:

در بلوک 1-2 ، مقادیر برگشتی توسط عملکرد شرح داده شده است. در بلوک 2-3 ، برخی از متغیرهای خارجی اعلام شده اند. شامل معیار پرونده. mqh تنها پرونده ای است که در EA در نظر گرفته شده استفاده می شود ، که در آن متغیرهای جهانی (در این حالت ، خارجی) اعلام می شود. در بخش به نام ساختار یک برنامه عادی ، می توانید استدلال اعلام همه متغیرهای جهانی را بدون استثنا در یک متغیرهای پرونده جداگانه پیدا کنید. mqh. در این حالت ، متغیرهای خارجی به دو دلیل در معیار پرونده اعلام می شوند: اول ، نشان می دهد که از نظر فنی امکان پذیر است (همیشه امکان پذیر نیست). دوم ، برای نشان دادن نحوه استفاده از متغیرهای خارجی در اشکال زدایی/ آزمایش یک برنامه.

از نظر فنی می توان متغیرهای خارجی را در معیار پرونده اعلام کرد. mqh ، زیرا این متغیرها در هیچ کارکرد دیگر برنامه استفاده نمی شوند. مقادیر متغیرهای خارجی اعلام شده در بلوک 2-3 سطح شاخص های نوسان ساز تصادفی و MACD را تعیین می کند و فقط در معیار عملکرد در نظر گرفته می شود (). اعلام متغیرهای خارجی در پرونده حاوی عملکردی که معیارهای معاملات را تعریف می کند ، ممکن است منطقی باشد ، اگر این پرونده به طور موقت استفاده شود ، یعنی در طول برنامه اشکال زدایی و محاسبه مقادیر بهینه آن متغیرهای خارجی. برای این منظور ، می توانید متغیرهای خارجی دیگری را در برنامه اضافه کنید ، به عنوان مثال ، برای بهینه سازی ورودی های شاخص ها (در این حالت ، ثابت ها مقادیر 12،26،9 را برای MACD و 5،3،3 برای نوسان ساز تصادفی تنظیم می کنند)بشرپس از اتمام برنامه نویسی ، می توانید این متغیرهای خارجی را از برنامه حذف کرده و آنها را با مقادیر محاسبه شده در هنگام بهینه سازی جایگزین کنید.

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

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

به عنوان مثال ، در زیر نشان داده شده است که چگونه یک معیار معاملاتی برای خرید محاسبه می شود (بلوک 5-6):

با توجه به این رکورد ، اگر شرایط زیر برآورده شود ، معیار خرید مهم است:

  • در نشانگر MACD ، خط نشانگر اصلی (هیستوگرام) بالاتر از سیگنال خط نشانگر و پایین ترین سطح Open_Level است (شکل 157).
  • در نوسان ساز تصادفی نشانگر ، خط نشانگر اصلی (هیستوگرام) بالاتر از سیگنال خط نشانگر و پایین ترین سطح ST_MIN است (شکل 158).

ри157. شرط لازم موقعیت های خط شاخص MACD برای تأیید اهمیت معیارهای معاملاتی برای افتتاح و بسته شدن سفارشات.

در قسمت سمت چپ شکل 157 ، موقعیت های خطوط نشانگر MACD نشان داده شده است که در آن دو معیار ایجاد می کنند - افتتاح خرید و بسته شدن فروش. خط شاخص اصلی زیر سطح 0. 0005 در زمان T1 = T 1 - T 0 است. اگر نشانه های لازم نوسان ساز تصادفی در این لحظه رخ دهد ، معیار برای باز کردن خرید باعث می شود. خط اصلی زیر سطح 0. 0004 در مدت زمان T2 = T 2 - T 0 است. اگر نشانه های نوسان ساز تصادفی این موقعیت را تأیید کند ، معیار بسته شدن فروش باعث می شود.

لطفاً توجه داشته باشید که ، به طور رسمی ، هر دو معیار بالاتر از T1 (در صورت تأیید توسط نوسان ساز تصادفی). پیش از این ذکر شده است که معیار عملکرد () () فقط یک مقدار را برمی گرداند ، یعنی مقدار اختصاص داده شده به یک معیار برانگیخته. در این دوره ، انتخاب یکی از معیارها ضروری می شود. این مشکل از قبل ، در حین برنامه نویسی ، با توجه به اولویت های مقرر در استراتژی تجارت حل می شود.

در این حالت (طبق استراتژی معاملاتی در نظر گرفته شده) ، اولویت باز کردن سفارش خرید بالاتر از بسته شدن سفارش فروش است. به همین دلیل است که در بلوک 5-6 ، خط برنامه ، که در آن ملاک برای افتتاح خرید ، در بالا قرار دارد. اگر در دوره T1 (شکل 157) ، ما تأیید را از نوسان ساز تصادفی دریافت کرده ایم ، عملکرد 10 به این معیار اختصاص می یابد. در مدت زمان T1 به T2 ، عملکرد 21 اختصاص داده شده به معیار بسته شدن فروش باز می گردد.

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

شرایطی که در آن تأیید نوسان ساز تصادفی در شکل 158 نشان داده شده است.

شکل 158. شرایط لازم موقعیت های خط نشانگر نوسان ساز تصادفی برای تأیید اهمیت معیارهای معاملاتی برای افتتاح و بسته شدن سفارشات.

با توجه به کد برنامه مشخص شده در بلوک 5-6 ، معیارهای افتتاح خرید و بسته شدن فروش می تواند مهم شود به شرط اینکه خط اصلی نشانگر بالاتر از سیگنال خط سیگنال در نوسان ساز تصادفی باشد ، خط اصلی زیر حداقل سطح استst_min. در شکل 158 ، چنین شرایطی در دوره Ts شکل می گیرد. شرایط آینه ای باعث تحریک معیارهای افتتاح سفارش فروش و بسته شدن خرید سفارش (در قسمت سمت راست شکل 158) می شود. اگر هیچ معیار ایجاد نشده باشد ، عملکرد باز می گردد. 0. سایر معاملات را می توان تحت این شرایط انجام داد ، به عنوان مثال ، تصحیح سطح توقف درخواست شده.

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

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

برچسب : نویسنده : سید مهدی موسوی بازدید : <-PostHit-> تاريخ : پنجشنبه 25 اسفند 1401 ساعت: 19:27