یکی از محبوب ترین روش های تجزیه و تحلیل بازار اصل موج الیوت است. اما این روند کاملا پیچیده است که ما را به استفاده از ابزارهای اضافی سوق می دهد. یکی از این ابزارها نشانگر خودکار است.
در این مقاله ایجاد یک تجزیه و تحلیل خودکار امواج الیوت به زبان ام کیو ال 5 شرح داده شده است. فرض بر این است که خواننده در حال حاضر با نظریه موج اشنا, اگر نه, شما نیاز به مراجعه به منابع مناسب.
1. اصل موج الیوت
امواج الیوت-یک مدل نظری از رفتار بازار است, توسعه یافته توسط رالف نلسون الیوت, با توجه به که همه از حرکات قیمت در بازار در معرض روانشناسی انسان و یک فرایند چرخه ای از تغییرات امواج ضربه, به عکس اصلاحی و بالعکس.
امواج ضربه دنباله ای از پنج نوسانات قیمت, امواج اصلاحی-دنباله ای از سه یا پنج نوسانات قیمت. امواج ضربه ای در شکل و ساختار و قوانین قابل اجرا برایشان از انواع زیر هستند:
- پایان موج دوم هرگز به ابتدای موج اول نمی رسد;
- موج سوم همیشه فراتر از بالای موج اول گسترش می یابد;
- پایان موج چهارم هرگز از بالای موج اول عبور نمی کند;
- موج سوم هرگز کوتاه ترین امواج عمل نمی کند;
- موج سوم همیشه یک انگیزه است;
- موج اول ممکن است یک ضربه یا یک مورب پیشرو باشد;
- موج پنجم می تواند یک ضربه یا مورب باشد;
- موج دوم می تواند به شکل هر موج اصلاحی به جز مثلث باشد;
- موج چهارم می تواند به شکل هر موج اصلاحی باشد;
- پایان موج دوم هرگز به ابتدای موج اول نمی رسد;
- موج سوم همیشه فراتر از بالای موج اول گسترش می یابد;
- پایان موج چهارم همیشه از بالای موج اول می گذرد اما هرگز از ابتدای موج سوم عبور نمی کند;
- موج سوم هرگز کوتاه ترین امواج عمل نمی کند;
- موج سوم همیشه یک انگیزه است;
- موج اول ممکن است یک ضربه یا یک مورب پیشرو باشد;
- موج پنجم می تواند یک ضربه یا مورب باشد;
- موج دوم می تواند به شکل هر موج اصلاحی به جز مثلث باشد;
- موج چهارم می تواند به شکل هر موج اصلاحی باشد;
- پایان موج دوم هرگز به ابتدای موج اول نمی رسد;
- موج سوم همیشه فراتر از بالای موج اول گسترش می یابد;
- انتهای موج چهارم معمولا از بالای موج اول عبور می کند اما هرگز از بالای موج سوم عبور نمی کند;
- موج سوم هرگز کوتاه ترین امواج عمل نمی کند;
- امواج اول و دوم و سوم می توانند به شکل هر موج اصلاحی به جز مثلث باشند;
- موج چهارم و پنجم می تواند به شکل هر موج اصلاحی باشد;
- موج ممکن است به شکل یک ضربه و یا یک مورب پیشرو را;
- موج ج ممکن است به شکل یک ضربه یا مورب باشد;
- موج ب می تواند به شکل هر موج اصلاحی باشد;
- موج ج فراتر از بالای موج گسترش می یابد;
- پایان موج ب از ابتدای موج فراتر نمی رود;
- موج الف می تواند به شکل هر موج اصلاحی به جز مثلث باشد;
- موج ب می تواند به شکل هر موج اصلاحی باشد;
- موج ج ممکن است به شکل یک ضربه یا مورب باشد;
- موج دبلیو و موج بله به شکل یک زیگزاگ;
- موج ایکس ممکن است به شکل هر موج اصلاحی باشد;
- موج بله فراتر از بالای موج گسترش می یابد;
- پایان موج ایکس از ابتدای موج عبور نمی کند دبلیو;
- موج دبلیو, موج بله, و موج ز به شکل یک زیگزاگ;
- موج ایکس ممکن است به شکل هر موج اصلاحی به جز مثلث باشد;
- موج ایکس ایکس ممکن است به شکل هر موج اصلاحی باشد;
- موج بله فراتر از بالای موج گسترش می یابد;
- موج ز فراتر از بالای موج گسترش می یابد بله;
- پایان موج ایکس از ابتدای موج عبور نمی کند دبلیو;
- پایان موج ایکس ایکس از ابتدای موج عبور نمی کند بله;
- موج دبلیو به شکل هر موج اصلاحی به جز مثلث است;
- موج ایکس و موج بله به شکل هر موج اصلاحی;
- موج دبلیو, موج ایکس, و موج بله می تواند به هر شکلی از موج اصلاحی به جز مثلث باشد;
- موج بیست و یکم و موج ز ممکن است به شکل هر موج اصلاحی باشد;
- موج ج هرگز فراتر از محدودیت قیمت موج ب می رود;
- موج د هرگز فراتر از محدودیت قیمت موج ج می رود;
- موج الکترونیکی هرگز فراتر از محدودیت قیمت موج د می رود;
- موج الف, موج ب, و موج ج ممکن است به شکل هر موج اصلاحی به جز یک مثلث;
- موج د و موج ه ممکن است به شکل هر موج اصلاحی باشد;
- طول موج ج همیشه بیشتر از موج است ب
- طول موج د همیشه بیشتر از موج است ج
- موج الف, موج ب, و موج ج ممکن است به شکل هر موج اصلاحی به جز مثلث باشد
- موج د و موج ه ممکن است به شکل هر موج اصلاحی باشد
مدلها و قواعد موج که در بالا ذکر شد فقط با مفهوم کلاسیک تحلیل موج مطابقت دارد.
همچنین مفهوم مدرن خود را در طول مطالعه بازار فارکس شکل گرفته است. مثلا, یک مدل جدید از مورب (کشویی) مثلث پیدا شده است, تکانه با مثلث در موج دوم شناسایی می شوند, و غیره.
همانطور که می توان از چهره دیده می شود 1-11, هر ضربه و یا موج اصلاحی متشکل از امواج ضربه و اصلاحی همان (نشان داده شده توسط خط تیره), اما در یک درجه کمتر. این به اصطلاح فراکتال (لانه سازی) امواج الیوت است: امواج درجه زیادی از امواج درجه کمتر تشکیل شده اند که به نوبه خود از امواج بسیار کمتر و غیره تشکیل شده اند.
در این یادداشت می توانیم مقدمه کوتاه اصل موج الیوت را تکمیل کرده و به موضوع علامت گذاری خودکار امواج بپردازیم.
2. الگوریتم علامت گذاری خودکار امواج الیوت
همانطور که شما احتمالا در حال حاضر متوجه, تجزیه و تحلیل موج الیوت یک فرایند پیچیده و چند وجهی است. بنابراین مردم از همان ابتدا شروع به جستجو و استفاده از ابزارهایی کردند که به سهولت کار کمک می کند.
یکی از این ابزارها به مکانیزمی برای علامت گذاری خودکار امواج الیوت تبدیل شد.
ما می توانیم دو اصل علامت گذاری خودکار را تشخیص دهیم:
- با توجه به فراکتالیته امواج, تجزیه و تحلیل از بالا به پایین انجام, از بزرگتر به امواج کوچکتر;
- تجزیه و تحلیل با شمارش مستقیم همه گزینه های ممکن انجام می شود.
نمودار بلوکی از تجزیه و تحلیل خودکار امواج الیوت در شکل 12 نشان داده شده است.
شکل 12. یک نمودار بلوکی از تجزیه و تحلیل خودکار امواج الیوت
الگوریتم را بر اساس مثال علامت گذاری خودکار ضربه در نظر بگیرید (شکل 13 را ببینید).
در مرحله اول در بازه زمانی مورد نیاز نمودار قیمت با استفاده از "زیگزاگ" میزان امتیازات لازم برای علامت گذاری مشخص می شود. تعداد نقاط بستگی به این دارد که کدام نوع موج را می خواهیم تجزیه و تحلیل کنیم. بنابراین برای تجزیه و تحلیل ضربه وجود دارد مورد نیاز شش نقطه - 5 راس و یک نقطه شروع. اگر ما در حال تجزیه و تحلیل زیگزاگ بودیم تعداد نقاط مورد نیاز 4 تا 3 راس و یک نقطه شروع بود.
اگر "کج و معوج" را شناسایی کرده است شش نقطه در نمودار قیمت, سپس ما می توانیم بلافاصله تولید یک علامت گذاری به عنوان تا از ضربه: نقطه اول-نقطه شروع موج اول, نقطه دوم - راس موج اول, نقطه سوم - راس موج دوم, نقطه چهارم - راس موج سوم, نقطه پنجم - راس موج چهارم, و نقطه ششم - راس موج چهارم, نقطه موج پنجم.
اما در شکل 13 "زیگزاگ" 8 امتیاز را مشخص کرده است. در این مورد, لازم است به شمردن توسط این نقاط خواهد بود, تمام گزینه های ممکن و علامت یو پی اس از موج. و پنج نفر (با رنگ های مختلف مشخص شده اند) وجود دارد. و هر نسخه از علامت گذاری باید طبق قوانین بررسی شود.
شکل 13. گزینه هایی برای علامت گذاری یک ضربه
پس از بررسی بر خلاف قوانین, در صورتی که نشانه گذاری موج یک ضربه توسط همه پارامترها باشد, تمام امواج فرعی به همان شیوه تجزیه و تحلیل می شوند.
همین امر در مورد تجزیه و تحلیل سایر امواج ضربه ای و اصلاحی نیز صدق می کند.
3. انواع امواج برای علامت گذاری خودکار
همانطور که قبلا گفته شد, تجزیه و تحلیل خواهد شد از بالا به پایین انجام, با دادن دستورالعمل برنامه برای پیدا کردن برخی از موج در یک بازه معین. اما در بزرگترین بازه تعیین وضعیت موج ابتدا و انتها غیرممکن است. ما چنین موجی را ناتمام و ناتمام خواهیم خواند .
همه امواج را می توان به گروه های زیر تقسیم کرد:
- امواج غیرقانونی:
- امواج با موج اول بی تفنگ-1-2-3-4-5 (مثلا, یک ضربه با یک موج بی تفنگ 1, تعداد مورد نیاز از نقاط-5), و 1-2-3 (مثلا, یک کج و معوج با یک موج بی تفنگ یک; تعداد مورد نیاز از نقاط-3);
- امواج با موج دوم بی تفنگ-2-3-4-5 (مثلا, یک مورب با یک موج بی تفنگ 2, تعداد مورد نیاز از نقاط-4), و 2-3 (مثلا, یک تخت با یک موج بی تفنگ ب; تعداد مورد نیاز از نقا ط-2);
- امواج با موج سوم بدون تفنگ-3-4-5 ( به عنوان مثال یک زیگزاگ سه گانه با یک موج بدون تفنگ بله تعداد نقاط مورد نیاز - 3);
- امواج با موج چهارم بدون تفنگ-4-5 ( به عنوان مثال یک مثلث با موج بدون تفنگ د تعداد نقاط مورد نیا ز-2);
- امواج با موج پنجم گمشده-5 (مثلا, یک ضربه با یک موج گمشده 5, تعداد مورد نیاز از نقاط-1);
- امواج با موج سوم بدون تفنگ-3 (به عنوان مثال یک سه دوتایی با موج بدون تفنگ ز; تعداد مورد نیاز امتیاز - 1) ;
- امواج با موج پنجم ناتمام - 1-2-3-4-5 (مثلا, یک ضربه با یک موج ناتمام 5; تعداد مورد نیاز از نقاط-5);
- Waves with an unfinished fourth wave - 1-2-3-4>(به عنوان مثال یک زیگزاگ سه گانه با یک موج ناتمام بیست و یکم; تعداد مورد نیاز از نقاط-4);
- Waves with an unfinished third wave - 1-2-3>(مثلا, یک مورب پیشرو از موج ناتمام 3, تعداد مورد نیاز از نقا ط-3);
- Waves with an unfinished second wave - 1-2>(مثلا, یک کج و معوج با یک موج ناتمام ب; تعداد مورد نیاز از نقا ط-2);
- Waves with an unfinished first wave - 1>(مثلا, یک تخت با یک موج ناتمام; تعداد مورد نیاز از نقا ط-1);
- Waves with an unbegun first wave and an unfinished second wave - 1-2>(مثلا, یک کج و معوج با یک موج گمشده الف و یک موج ناتمام ب; تعداد مورد نیاز از نقاط-1);
- Waves with an unbegun second wave and an unfinished third wave - 2-3>(مثلا, یک کج و معوج با یک موج گمشده ب و یک موج ناتمام ج; تعداد مورد نیاز از نقاط-1);
- Waves with an unbegun third wave and an unfinished fourth wave - 3-4>(مثلا, یک ضربه با یک موج گمشده 3 و یک موج ناتمام 4, تعداد مورد نیاز از نقاط-1);
- Waves with an unbegun fourth wave and an unfinished fifth wave - 4-5>(مثلا, یک ضربه با یک موج گمراه کننده 4 و یک موج ناتمام 5, تعداد مورد نیاز از نقاط-1);
- Waves with an unbegun first and an unfinished third wave - 1-2-3>(به عنوان مثال سه گانه سه با یک موج غیرقانونی دبلیو و یک موج ناتمام بله; تعداد مورد نیاز امتیاز - 2);
- Waves with an unbegun second wave and an unfinished fourth wave - 2-3-4>(مثلا, یک مورب پیشرو با یک موج گمراه کننده 2 و یک موج ناتمام 4, تعداد مورد نیاز از نقاط-2);
- Waves with an unbegun third wave and an unfinished fifth wave - 3-4-5>(مثلا, یک مورب با یک موج گمشده 3 و یک موج ناتمام 5, تعداد مورد نیاز از نقاط-2);
- Waves with an unbegun first waste and with an unfinished fourth wave - 1-2-3-4>(به عنوان مثال یک سه گانه سه با یک موج غیرقانونی و یک موج ناتمام بیست و یکم; تعداد مورد نیاز از نقاط-3);
- امواج با موج دوم بدون تفنگ و موج پنجم ناتمام - 2-3-4-5 (به عنوان مثال یک ضربه با موج بدون تفنگ 2 و یک موج ناتمام 5; تعداد مورد نیاز از نقاط-3);
- Waves with an unbegun first wave and an unfinished fifth wave - 1-2-3-4-5>(به عنوان مثال یک زیگزاگ سه گانه با موج بدون تفنگ و یک موج ناتمام ز; تعداد مورد نیاز نقاط - 4);
علامت "" بعد از تعداد موج نشان می دهد که ناقص است.
در شکل 14 می توانیم امواج زیر را ببینیم:
- یک موج با اولین موج گمراه کننده الف-الف-ب-ج ;
- موجی با دبلیو اول شکست ناپذیر و موج دوم ناتمام ایکس-دبلیو ;
- امواج تکمیل شده ب و ج ;
شکل 14. امواج ناتمام و ناتمام
4. توضیحات ساختارهای داده از تجزیه و تحلیل خودکار امواج الیوت
برای نوشتن تجزیه و تحلیل خودکار امواج الیوت به ساختارهای داده زیر نیاز داریم:
4.1. ساختار توصیف امواج تجزیه و تحلیل شده در برنامه:
4.2. یک کلاس برای ذخیره پارامترهای یک موج خاص:
4.3. یک کلاس برای ذخیره مقادیر راس ها و شاخص های راس زیگزاگ:
4.4. کلاس برای نشان دادن درخت امواج:
4.5. ساختار برای ذخیره نقاط که توسط زیگزاگ پیدا شده است:
4.6. یک کلاس برای ذخیره پارامترهای بخش قبلا تجزیه و تحلیل نمودار:
4.7. یک کلاس برای ذخیره سازی علامت گذاری امواج قبل از قرار دادن در نمودار:
5. شرح عملکرد تجزیه و تحلیل خودکار امواج الیوت
برای نوشتن تجزیه و تحلیل خودکار امواج الیوت به توابع زیر نیاز داریم:
عملکرد جستجوی اکسترمم های "زیگزاگ":
یک عنصر کلیدی در تجزیه و تحلیل خودکار امواج الیوت "زیگزاگ" است که توسط امواج ساخته می شود. محاسبه "زیگزاگ" توسط هر پارامتر باید خیلی سریع انجام شود.
در تحلیلگر خود از "زیگزاگ" برگرفته از مقاله "نحوه نوشتن سریع زیگزاگ های بدون ترسیم مجدد"استفاده خواهیم کرد.
تابع زیگزاگ زیگزاگ را با پارامتر محاسبه می کند ساعت در فاصله از ابتدا تا انتها, و سپس شاخص های یافت شده راس ها و مقادیر راس ها را به ترتیب در ایندکس و ارزش ثبت می کندورتکس, نشانی هایی که به این تابع منتقل می شوند.
تابع زیگزاگ تعداد راس های یافت شده "زیگزاگ"را برمی گرداند.
عملکرد پر کردن "زیگزاگ" و ذخیره پارامترهای خود را:
همانطور که قبلا نشان داده شد, ما نیاز به پیدا کردن تعداد لازم از نقاط در نمودار قیمت برای علامت گذاری به بالا از موج. و بنابراین ما باید مجموعه ای از راس های "زیگزاگ" با پارامترهای مختلف داشته باشیم که سپس برای یافتن این نقاط تکرار می کنیم.
تابع فیلیزیگزاگ " زیگزاگ "را در فاصله نمودار از ابتدا تا انتها محاسبه می کند, با تمام مقادیر ممکن پارامتر ح (تا زمانی که تعداد راسهای "زیگزاگ" برابر یا کمتر از دو نشود), اطلاعات مربوط به راسهای یافت شده را در اجسام کلاس زیگزاگ ذخیره می کند, و این اشیا را در مجموعه جهانی ثبت می کند زیگزاگ:
تابع جستجو در فاصله داده شده نیاز به تعداد نقاط در نمودار قیمت دارد:
تابع را پیدا می کندنقاط مورد نیاز را جستجو می کند حداقل سه عدد نقطه در نمودار قیمت, در محدوده مورد نیاز, از شاخص شروع به کار تا شاخص پایانیمقادیر مورد نیاز اولین و اخر امتیاز ارزش شروع و ارزشمندشروع و ارزشمندسازی را تمام می کند و (یعنی نقاط) را در ساختار نقاط ذخیره می کند, پیوند که به این تابع منتقل می شود .
تابع نقاط را پیدا می کند درست است, اگر تعداد نقاط مورد نیاز پیدا شود, در غیر این صورت نادرست برمی گردد.
عملکرد تجزیه و تحلیل امواج ناتمام و ناتمام:
تابع نیستشروع نشده امواج تمام امواج گروه سوم امواج را تجزیه و تحلیل می کند-تفنگ ناتمام و ناتمام. این تابع موج موج (با سطح سطح موج) و امواج با نام را تجزیه و تحلیل می کند ParentWave. Name, که ممکن است به شکل امواج زیر موج را (یک شکل از یک کج و معوج, مسطح, کج و معوج دو, و (یا), و غیره.). موج تجزیه و تحلیل موج در گره درخت امواج گره گره کودک ذخیره می شود.
For example, if the ParentWave.Name = "Impulse", NumWave = 5, Subwaves text-align:justify;">به عنوان مثال ما از یک بلوک نمودار تجزیه و تحلیل الگوریتم امواج ناتمام و ناتمام 1 در تابع امواج شروع نشده و ناتمام استفاده می کنیم:
شکل 15. نمودار بلوک تجزیه و تحلیل موج با فرمول"1"
هنگام استفاده از تابع امواج شروع نشده و تمام نشده توابع زیر نامیده می شوند: امواج شروع نشده, امواج تمام نشده و امواج تمام شده.
تابع برای تجزیه و تحلیل امواج غیرقانونی:
تابع امواج شروع نشده تمام امواج گروه اول امواج - امواج غیرقانونی را تجزیه و تحلیل می کند. این تابع موج موج را تجزیه و تحلیل می کند (با سطح سطح موج) موج نامیده می شود ParentWave. Name, که ممکن است به شکل امواج فرعی باشد. موج تجزیه و تحلیل موج در گره درخت امواج گره گره کودک ذخیره می شود.
هنگامی که عملکرد امواج شروع نشده در حال کار است, توابع زیر نامیده می شوند: امواج شروع نشده و امواج تمام شده.
تمام امواج به طور مشابه به نمودار بلوک در شکل 15 تجزیه و تحلیل می شوند.
تجزیه و تحلیل عملکرد امواج ناتمام:
تابع امواج تمام امواج گروه دوم امواج - امواج ناتمام را تجزیه و تحلیل می کند. این تابع موج موج را تجزیه و تحلیل می کند (با سطح سطح موج) موج نامیده می شود ParentWave. Name, که می تواند به شکل امواج زیر موج باشد. موج تجزیه و تحلیل موج در گره درخت امواج گره گره کودک ذخیره می شود.
هنگامی که عملکرد امواج تمام نشده در حال کار است, توابع زیر نامیده می شوند: امواج تمام نشده و امواج تمام شده.
تمام امواج به طور مشابه به نمودار بلوک در شکل 15 تجزیه و تحلیل می شوند.
تجزیه و تحلیل تابع امواج تکمیل شده (به پایان رسید) :
تابع امواج پایان یافته تمام امواج گروه چهارم - امواج تکمیل شده را تجزیه و تحلیل می کند. این تابع موج موج را تجزیه و تحلیل می کند (با سطح سطح موج) از موج نامیده می شود ParentWave. Name, که ممکن است به شکل یک امواج فرعی باشد. موج تجزیه و تحلیل موج در گره درخت امواج گره گره کودک ذخیره می شود.
هنگامی که تابع امواج به پایان رسید در محل کار است, تابع امواج به پایان رسید نامیده می شود.
تمام امواج به طور مشابه به نمودار بلوک در شکل 15 تجزیه و تحلیل می شوند.
عملکرد جستجوی موج در ساختار داده توضیحات موج دار:
تابع یافتهموج موجوار با نام موجوار که به عنوان یک پارامتر منتقل شده است در مجموعه ساختارهای موجوداتی جستجو میکند و عدد شاخص مربوط به این موج را برمیگرداند.
مجموعه ای از ساختارهای توصیف موج دار به شکل زیر به نظر می رسد:
تابع توصیف موج موج در تجزیه و تحلیل تابع امواج زیر استفاده می شود: شروع نشده و امواج تمام نشده, امواج شروع نشده, امواج تمام نشده, امواج تمام نشده, و امواج تمام شده.
تابعی که بررسی می کند بخش داده شده نمودار قبلا تجزیه و تحلیل شده است یا خیر:
از زمان تجزیه و تحلیل خودکار امواج الیوت با استفاده از روش شمارش ممکن است موقعیتی پیش بیاید که بخش داده شده نمودار قبلا برای حضور یک موج یا یک گروه موج مورد تجزیه و تحلیل قرار گرفته باشد. برای دانستن این موضوع باید پیوند گره موجود در درخت امواج موج قبلا تجزیه و تحلیل شده را ذخیره کنید و فقط سپس پیوند را خاموش کنید. همه این اتفاق می افتد در تابع در حال حاضر.
تابع در حال حاضر به دنبال یک گره صف جهانی است که اجسام کلاس تنوداینفو را ذخیره می کند, فاصله نمودار, مربوط به موج نومواجو, موج به نام موج. نام, که دارای شکل امواج زیر امواج, و سوابق به گره نشانی گره از بخش در حال حاضر مشخص شده تا از نمودار. اگر این بخش وجود نداشته باشد یک شی جدید از کلاس تنوداینفو ایجاد و پر می شود و در مجموعه نوداینفو ثبت می شود.
تابع درست می گرداند اگر فاصله از نمودار در حال حاضر تجزیه و تحلیل شده است, در غیر این صورت نادرست برمی گرداند.
مجموعه نوداینفور به روش زیر اعلام می شود:
5.10. توابع بررسی امواج برای قوانین
این شامل توابع است راسابووب, موج بیشتر موج و واورول ها که دو تابع اول نامیده می شوند. هنگام تست به یاد داشته باشید که امواج می توانند ناقص و (یا) ناقص باشند و مثلا برای موج با فرمول "1" نمی توان تعیین کرد که موج چهارم از قلمرو موج اول فراتر رفته است زیرا هنوز موج چهارم وجود ندارد.
عملکرد بررسی امواج برای قوانین:
تابع واورول درست می گرداند اگر یک موج, با نام Wave. Name "درست" است وگرنه غلط برمی گردد. در کار خود واورول های تابع توسط تابع فراخوانی می شوند راسبیباوورتکسب و موج بیشتر موجب.
عملکرد بررسی بیش از یک راس بر راس دیگر:
The VertexAAboveVertexB function returns the number >= 0, اگر بالای یک موج بیش از بالای موج ب, در غیر این صورت بازد ه-1. اگر نقاط داخلی = درست باشد نقاط داخلی امواج (حداکثر و (یا) حداقل) مقادیر امواج) در نظر گرفته می شوند.
عملکرد بررسی بیش از طول یک موج در طول موج دیگر:
The WaveAMoreWaveB function returns a number >=0 اگر موج الف بزرگتر از موج ب باشد در غیر این صور ت-1 برمی گردد.
11. عملکرد پاک کردن حافظه
عملکرد پاکسازی درخت از امواج با گره گره بالا:
این تابع مجموعه ای را پاک می کند:
تابع برای پاک کردن زیگزاگرای مجموعه ای:
5.12. عملکرد دور زدن امواج درخت و صدور نتایج تجزیه و تحلیل به نمودار
پس از اتمام تجزیه و تحلیل خودکار از امواج الیوت, ما باید یک درخت از امواج.
مثال خود را می توان به عنوان در شکل زیر معرفی شده اند:
شکل 16. نمونه ای از درخت امواج
حال برای نمایش نتایج تجزیه و تحلیل در نمودار باید درخت داده شده را دور بزنیم. همانطور که در شکل 16 نشان داده شده است, چند گزینه ساکت وجود دارد (زیرا چندین گزینه امواج وجود دارد), و هر گزینه بای پس منجر به علامت گذاری متفاوتی می شود.
ما می توانیم دو نوع گره درخت را تشخیص دهیم.
برای سادگی درخت را دور می زنیم و فقط از اولین نسخه های امواج بازدید می کنیم.
نمونه ای از بای پس در شکل 17 نشان داده شده است و با رنگ قرمز برجسته شده است.
شکل 17. نمونه ای از دور زدن درخت موج
عملکرد دور زدن درخت موج:
تابع برچسب پر کردن درخت موج را با گره ریشه دور می زند و فقط در اولین نسخه های امواج موجود در درخت حضور می یابد و یک برچسب مجموعه جهانی را پر می کند.
مجموعه برچسب به شرح زیر تعریف می شود:
عملکرد نمایش نتایج تجزیه و تحلیل در نمودار:
تابع برچسب ها اشیای گرافیکی "متن" را ایجاد می کند که مربوط به برچسب های موج در نمودار است. برچسب های امواج بر اساس برچسب مجموعه ایجاد می شوند.
تابع به روز رسانی (اصلاح) تاپس از امواج در نمودار:
تابع برچسب صحیح برچسب های موج موجود در نمودار را هنگام پیمایش و (یا) در طول محدودیت تصحیح می کند.
6. اجرای پارتیشن بندی اتوماتیک امواج الیوت
6.1. عملکرد زیگزاگ :
6. 2. عملکرد فیلیزیگزاگرای :
6. 3. تابع پیدا کردن :
6. 4. عملکرد امواج شروع نشده و تمام نشده :
6.5. عملکرد امواج شروع نشده :
6. 6. عملکرد امواج تمام نشده :
6.7. عملکرد امواج پایان یافته :
6.8. تابع توصیف موج موج پیدا کردن :
6. 9. عملکرد در حال حاضر :
6.10. عملکرد واورول ها :
6. 11. تابع ورتکسابورتکسب :
6. 12. تابع موج بیشتر موج :
6. 13. عملکرد درخت شفاف :
6. 14. عملکرد پاک کردن نوداینفواری :
6. 15. عملکرد کلیرزیگزاگرای :
6. 16. عملکرد پر کردن برچسب :
6. 17. عملکرد ایجاد برچسب ها :
6. 18. عملکرد صحیح برچسب :
7. عملکرد اولیه, د تهیه, و پردازش رویداد
در عملکرد اونینیت دکمه های کنترلی تجزیه و تحلیل خودکار موج الیوت ایجاد می شود.
دکمه های زیر ایجاد می شوند:
- "شروع تجزیه و تحلیل" - تجزیه و تحلیل خودکار امواج رخ می دهد
- "نمایش نتایج" - نمایش علامت های موج در نمودار رخ می دهد,
- "پاک کردن نمودار" - پاکسازی حافظه و حذف علامت های موج از نمودار رخ می دهد,
- "تصحیح علامت ها" - علامت های امواج موجود در نمودار را تصحیح می کند.
پردازش فشار دادن این دکمه ها در عملکرد پردازش رویداد انجام می شودچارت رویدادی.
در تابع دراینکه همه اشیای گرافیکی از جمله دکمه های کنترل از نمودار حذف می شوند.
ما تمام توابع تجزیه و تحلیل خودکار امواج الیوت را بررسی کرده ایم.
8. راه های بهبود برنامه
برنامه خودکار امواج الیوت که در ام کیو ال 5 نوشته شده است دارای کاستی های متعددی است:
- یک سیستم ناقص برای بررسی قوانین نشانه گذاری. مثلا, در هنگام چک کردن قوانین, روابط فیبوناچی بین امواج در نظر گرفته شود نه, با توجه به هر دو, زمان و قیمت.
- حضور بخش های تقسیم نشده در نمودار (شکاف در نشانه گذاری). این به این معنی است که یک موج صحیح را نمی توان بر اساس نقاط گرفته شده از فاصله زمانی داده شده ساخته شده است. راه برون رفت از این وضعیت افزایش تعداد نقاط به منظور شناسایی یک موج خاص است. مثلا, برای پیدا کردن ضربه, برای نگاه 8 یا امتیاز بیشتری, به جای برای 6 نقاط.
- نتایج نشانه گذاری هیچ اطلاعات اضافی را نمایش نمی دهد, مثلا, کانال ها به طور خودکار ساخته نمی شوند, اهداف ارزیابی نمی شوند, و غیره.
- اجرای کار با درخت امواج در این مقاله فراهم نشده است (شما نمی توانید نسخه خاصی از نشانه گذاری را انتخاب کنید) بنابراین نمودار تنها یکی از گزینه های بسیاری را برای نشانه گذاری (اولین نسخه نشانه گذاری) نشان می دهد.
- صرف نظر از این واقعیت است که نمودار نمایش تنها یک نوع از امواج, همه از گزینه های دیگر در حافظه ذخیره می شود و تا فضای خود را.
- این برنامه بر روی نمودارهای ماهانه به روزانه تمرکز دارد زیرا عملیات بسیار کند است زمانی که تعداد زیادی میله وجود دارد (ممکن است ساعت ها طول بکشد تا یک نمودار ساعتی مشخص شود). نمونه ای از نمودار ماهانه یورو به دلار در شکل 18 نشان داده شده است.
شکل 18. امواج الیوت, شناسایی شده توسط تجزیه و تحلیل خودکار در ام کیول5
نتیجه گیری
در این مقاله الگوریتمی از تجزیه و تحلیل خودکار امواج الیوت بررسی شده است. این الگوریتم در زبان ام کیو ال 5 پیاده سازی شده است.
این برنامه دارای تعدادی از کاستی, بحث شده در بالا, و دلیلی برای حذف بیشتر خود را می دهد. امیدوارم این موضوع طرفداران امواج الیوت را مورد توجه قرار دهد و به زودی برنامه های زیادی با تجزیه و تحلیل خودکار امواج ظاهر می شود.
ترجمه شده از روسی توسط متاکوتس گیم. مقاله اصلی: https://www. mql5. com/ru/articles/260
هشدار: کلیه حقوق این مواد توسط متاکوتس محفوظ است. کپی کردن و یا تجدید چاپ از این مواد در تمام یا بخشی ممنوع است.