شاخص زیگ زاگ: رویکرد تازه و راه حل های جدید

ساخت وبلاگ

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

تغییرات زیادی برای این شاخص وجود دارد: 1، 2، 3، 4، 5، 6، 7، 8، 9، 10، 11، 12، 13، 14، 15، 16. با این حال، بسیاری از توسعه دهندگان برنامه MQL5 مشتاق هستند. در ایجاد زیگ زاگ "ایده آل" خود. نقاط ضعف اصلی اندیکاتور ZigZag تاخیر، علامت گذاری نادرست گره های مشکوک (نوار خارجی) و عملکرد نامطلوب است.

به نظر من، زیباترین اجرای ZigZag توسط یوری کولیکوف (یوریچ) پیشنهاد شد. علاوه بر این، چند مقاله MQL4 بسیار خوب وجود دارد، مانند "یادداشت های Layman: ZigZag." و "Show Must Go On, or Once Again about ZigZag". به نظر می رسد این موضوع به طور اساسی مورد بررسی قرار گرفته است، با تعداد زیادی از انتشارات در دسترس است. با این حال چیزی مغناطیسی در آن وجود دارد. در حال حاضر، آن را نیز به خود جلب کرده است، به ویژه در امکان ایجاد یک نشانگر پیشرفته ZigZag.

این مقاله روشی را برای ایجاد یک ZigZag پیشرفته با استفاده از نشانگر پاکت توضیح می دهد. فرض بر این است که ما می توانیم ترکیب خاصی از پارامترهای ورودی را برای یک سری از Envelopes پیدا کنیم که به موجب آن اکثر گره های ZigZag در محدوده باندهای Envelopes قرار دارند.

روشی برای ایجاد یک شاخص پیشرفته ZigZag

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

Predicting new ZigZag nodes

شکل 1. پیش بینی گره های ZigZag جدید: گره فعلی و گره بعدی.

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

ZigZag indicators and Moving Average Envelopes

شکل 2. نشانگرهای زیگ زاگ و پاکت های میانگین متحرک.

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

  • ZZ - نشانگر Zigzag ؛
  • env - خط اصلی شاخص پاکت نامه (همزمان با نشانگر IMA).
  • پاکت نامه (i) - مقدار خط اصلی نشانگر پاکت نامه در نوار ITH ؛
  • ZZ (بالا) - مقدار اوج زیگزاگ ؛
  • ZZ (کم) - مقدار از طریق Zigzag ؛
  • env (بالا) - مقدار خط اصلی شاخص پاکت نامه مربوط به اوج زیگزاگ.
  • env (کم) - مقدار خط اصلی نشانگر پاکت نامه مربوط به یک فرورفتگی زیگزاگ.
  • N_HIGH - تعداد قله های زیگزاگ ؛
  • N_LOW - تعداد درآمدهای زیگزاگ.

ما دو استخر شاخص داریم: یکی برای قله ها و دیگری برای فرورفتگی (حدود 100 شاخص در هر یک). ما انحراف گره های زیگزاگ را از خط اصلی شاخص پاکت نامه برای هر شاخص در استخر محاسبه می کنیم و میانگین حسابی انحراف را برای هر شاخص استخر با استفاده از فرمول های فوق می یابیم. شکل زیر نمودار انحراف را با توجه به گره های مشخص شده ZZ از خط اصلی ENV برای یک شاخص نشان می دهد.

Diagram of deviations of ZZ nodes from ENV

شکل 3. نمودار انحراف گره های ZZ از Env.

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

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

The Envelopes lines on the plane

شکل 4. خطوط پاکت نامه در هواپیما.

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

The Envelopes lines in 3D

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

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

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

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

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

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

آزمایش نشانگر جدید

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

در کل دو روش وجود دارد:

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

کتابخانه GetExtremums (توسط یوری کولیکوف) نیز در جستجوی گره ها ضروری خواهد بود.

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

ما باید در اینجا چند مورد را روشن کنیم:

  • شاخص IEnvelopes با شاخص IMA جایگزین می شود. هیچ چیز دروغین یا گمراه کننده ای در آن وجود ندارد. مسئله این است که خط اصلی IEnvelopes همزمان با IMA است! بنابراین استفاده از شاخص متوسط در حال حرکت راحت تر است.
  • ما از دو استخر میانگین در حال حرکت استفاده می کنیم که از 227 خط تشکیل شده است ، بنابراین در کل 454 شاخص IMA ایجاد می کنیم! خیلی زیاد است یا کمی؟در اصل ، تعداد زیادی است. اما ، اول از همه ، در صورت لزوم می توانیم تعداد شاخص ها را تغییر دهیم و ثانیا ، به آمار نیاز داریم. در جستجوی پاکت ها برای ده ها گره چیست؟ما حداقل صد مورد نیاز داریم.
  • مقادیر شاخص به جای OnInit () در بلوک انتیک () بارگذاری می شوند. اگر بلوک بارگیری داده ها در OnInit () قرار گیرد ، بسیار محتمل است که برخی از داده ها دیر بارگذاری شوند و شاخص ها در نتیجه با دقت و به طور کامل محاسبه نشوند. پس از به دست آوردن تمام داده های مربوط به محاسبات ، مقدار متغیر ERR مثبت می شود و این بلوک از عملکرد خارج می شود.

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

The ZigZag indicator (7 nodes)

شکل 6. نشانگر زیگزاگ (7 گره).

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

یادداشتی برای برنامه نویسان تازه کار: اپراتورها در انتهای قله ها و بلوک فرورفتگی ها ندارند ؛ "در انتهای رشته. این یک اشتباه یا تایپی نیست. اینها ماکرو هستند (به بخش داده ها در جایی که اعلام شده اند مراجعه کنید) - آنها بسیار مفید هستند! توصیه می کنم از آنها در برنامه های خود استفاده کنید.

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

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

Cross-section of the Envelopes indicator pool

شکل 7. مقطع استخر نشانگر پاکت نامه.

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

حال بیایید ببینیم وقتی به صورت گرافیکی نمایش داده می شود ، چه شکلی به نظر می رسد:

Cross-section characteristics

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

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

بنابراین ، ما شاخص جدید Zigzag پیشرفته را داریم که موقعیت گره های جدید را پیش بینی می کند (شکل 9). خود گره ها در نقاط مقطع مشخصه قرار دارند: حداکثر ، حداقل و مرکز ثقل. عنوان کار شاخص "دو دنباله دار" است.

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

Predicted ZigZag nodes

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

تجزیه و تحلیل نتایج و توصیه ها برای توسعه دهندگان

مشاهدات نشانگر نشان داده است که:

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

بنابراین آنچه در نتیجه به دست آوردیم ، یک شاخص بسیار جالب است که می تواند در یک استراتژی معاملاتی امتحان شود!

نتیجه

  • روش پیش بینی گره های نشانگر Zigzag که در مقاله مورد بررسی قرار گرفته است به ما امکان ایجاد شاخص جدید - "دو دنباله دار" را می دهد.
  • Zigzag پیشرفته مختصات احتمالی گره های جدید را نشان می دهد ، حتی اگر این فقط یک پیش بینی باشد.
  • از الگوریتم در نظر گرفته شده در مقاله می توان برای ترسیم شاخص های پیشرفته مشابه استفاده کرد ، نه لزوماً شاخص های زیگزاگ ، به عنوان مثال. Fractals یا شاخص های semaphore.
  • برنامه نویسان Novice MQL5 ممکن است جالب باشد که ببینند چگونه می توانند ماکرو را در برنامه های خود ایجاد کنند تا میزان کد مکرر را کاهش دهند.

ترجمه شده از روسی توسط Metaquotes Ltd. مقاله اصلی: https://www. mql5.com/ru/articles/646

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

سیگنال های تجاری...
ما را در سایت سیگنال های تجاری دنبال می کنید

برچسب : نویسنده : عبدالله بوتیمار بازدید : <-PostHit-> تاريخ : سه شنبه 23 خرداد 1402 ساعت: 23:32