نحوه محاسبه خط هیستوگرام


در پنجره ی Properties Layer دکمه ی Ok را فشار دهید تا نمودارها با اندازه ی واقعی مقادیر خود بر روی نقشه نشان داده بشوند. از منوی اصلی روی Bookmarks رفته و گزینه ی Southern Italy را انتخاب کنید. حال نمای بهتری از اندازه ی Pie Charts در منطقه ی مورد نظر مشاهده می کنید.

هیستوگرام شیب های جهت دار (بخش اول)

در این پست قصد داریم در مورد توصیف گر هیستوگرام شیب های جهت دار ( HOG ) بحث کنیم. هر چند این توصیف کننده در Matlab، OpenCV‌ و برخی کتابخانه های دیگر پیاده سازی شده اما آشنایی با جزئیات پیاده سازی این توصیف گر کمک می کند تا بتوانیم به بهترین نحو از آن استفاده کنیم.

مقاله مرتبط : هیستوگرام شیب های جهت دار (بخش دوم)

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

توصیف گر چیست؟

توصیف گرها همان طور که از اسمشان بر می آید توصیفی از کل یک تصویر یا بخشی از آن هستند. آن ها با استخراج اطلاعات مفید و دور ریختن اطلاعات غیر ضرور، تصویر را ساده می کنند. معمولا توصیف گرها تصویری با اندازه ( طول * عرض * ۳ ) را تبدیل به بردار ویژگی ای نحوه محاسبه خط هیستوگرام با طول n می کنند. به عنوان مثال هیستوگرام شیب های جهت دار ( HOG ) ، تصویری با اندازه ۶۴*۱۲۸*۳ را تبدیل به برداری با طول ۳۷۸۰ میکند. البته هیستوگرام شیب های جهت دار ( HOG ) می تواند تصویر را به بردارهایی با طول های دیگر هم تبدیل کند اما از آنجا که مرجع ما مقاله ی Dalal and Triggs خواهد بود به پارامترهای مقاله مرجع استناد خواهیم کرد.

خب، همه چیز به نظر خوب میاد! اما یک لحظه صبر کنید. کدام اطلاعات ”مفید“ و کدام اطلاعات ”غیر مفید“ اند؟ برای تعریف واژه ”مفید“ ابتدا باید این سوال را مطرح کنیم که مفید برای انجام چه کاری؟ قطعا بردار ویژگی برای هدف ”مشاهده“ تصویر مفید نیست اما برای image recognition یا object detection بسیار مفید است. بردار ویژگی تولید شده توسط این الگوریتم ها هنگامی که به کلاسه بندهایی نظیر SVM اعمال می شوند نتایج بسیار خوبی را تولید می کنند.

خب، سوال بعدی این که چه انواعی از ویژگی ها برای عمل طبقه بندی مفید است؟ بهتر است با مثالی مساله را روشن کنیم. فرض کنید می خواهیم یک object detector بسازیم که دکمه های پیراهن و کت را تشخیص دهد. معمولا دکمه ها دایره ای اند و نیز چند سوراخ روی آن ها وجود دارد. شما می توانید یک تشخیص دهنده ی لبه را بر تصویر دکمه اعمال کنید و صرفاً با نگاه کردن به لبه های تصویر تعیین کنید که آیا این تصویر یک دکمه هست یا خیر. پس در این مورد اطلاعات لبه ”مفید“ و اطلاعات رنگ ”غیر مفید“ است. به علاوه ویژگی ها باید قدرت متمایز کنندگی یا جداسازی را داشته باشند. مثلا ویژگی استخراج شده از تصویر باید قدرت تمایز بین دکمه و سایر اشیاء مدور نظیر سکه یا لاستیک ماشین را داشته باشد.

در HOG، توزیع ( هیستوگرام ) جهات شیب ها ( oriented gradients ) به عنوان ویژگی استفاده می شود. گرادیان ( مشتقات x و y ) یک تصویر مفید است زیرا اندازه یا بزرگی شیب در اطراف لبه ها و گوشه ها عدد بزرگی خواهد شد و می دانیم که لبه ها و گوشه ها اطلاعات بیشتری را نسبت به سطوح هموار تصویر در خود نگه می دارند.

چطور HOG را محاسبه کنیم؟

گام اول – پیش پردازش:

طبق مقاله ای که در آن هیستوگرام شیب های جهت دار ( HOG ) معرفی و برای تشخیص عابر پیاده استفاده شد، این توصیف گر در تکه های۱۲۸*۶۴ پیکسلی از تصویر محاسبه شده است. البته تصویر می تواند هر اندازه ای داشته باشد. معمولا تکه های عکس در مقیاس های متعدد و مکان های متفاوتی از تصویر تحلیل خواهند شد. تنها شرط ما این است که تکه های عکس پردازش شده می بایست نسبت ابعاد ثابتی داشته باشند. به عنوان مثال در مورد عابر پیاده این نسبت باید ۱:۲ باشد. یعنی این که سایز تکه ها می تواند مثلا ۲۰۰*۱۰۰ یا ۲۵۶*۱۲۸ باشد اما نمی تواند ۱۰۵*۷۰ باشند.

برای نشان دادن این نکته ذیلاً تصویری بزرگ با سایز ۴۷۵*۷۲۰ آورده ایم. تکه ای از تصویر با سایز ۲۰۰*۱۰۰ را برای محاسبه HOG انتخاب کردیم. این تکه از تصویر اصلی بریده شده و سپس تغییر اندازه داده شده تا به سایز ۱۲۸*۶۴ برسد. حالا می توان HOG‌ را روی این تکه ی پیش پردازش شده محاسبه کرد.

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

گام دوم- محاسبه ی تصاویر شیب:

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

استفاده از اپراتورهای سوبل که در OpenCV بصورت آماده وجود دارد نیز نتیجه ی یکسانی را خواهد داشت. فقط باید توجه داشت که سایز کرنل را ۱ انتخاب کنیم.

سپس با استفاده از فرمول زیر می توان اندازه و جهت شیب را محاسبه کرد:

اگر از OpenCV استفاده می کنید، تابع cartToPolar محاسبات بالا را انجام خواهد داد :

نتایج را درتصاویر زیر مشاهده می کنید :

چپ: قدر مطلق اندازه شیب در جهت x. وسط: قدر مطلق اندازه شیب در جهت y. راست: اندازه گرادیان

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

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

شیب هر پیکسل از تصویر دو مقدار دارد: اندازه و جهت. در تصاویر رنگی شیب هر سه کانال بررسی خواهد شد. اندازه گرادیان یک پیکسل برابر است با بزرگ ترین اندازه گرادیان در هر سه کانال و زاویه گرادیان یک پیکسل برابر است با زاویه متناظر با کانالی که بزرگترین اندازه گرادیان را دارد.

تمرین ۱۴(هیستوگرام)

و فایل Italy.mxd را انتخاب نمائید. در نقشه مشاهده می کنید که مناطقی از کشور ایتالیا نشان داده شده است.

هیستوگرام

علامت گذاری به وسیله نمودارهای پای

مرحله ی دوم: در این مرحله می‌خواهیم هر منطقه از کشور ایتالیا را به وسیله ی نمودارهای پای (Pie Charts) علامت گذاری کنیم. این نشانه ها، نشان دهنده‌ی نسبت تولد به مرگ و میر می باشد، برای شروع بر روی لایه ی Italy کلیک راست کرده و گزینه ی Properties را انتخاب کنید.

در پنجره ی باز شده به Tab، symbology بروید. در قسمت Show بر روی گزینه‌ی Charts کلیک کنید تا زیر مجموعه های آن باز گردد بر روی گزینه Pie کلیک کنید. در قسمت Field Selection بر روی گزینه‌ی BIRTHS دوبار کلیک کنید تا به قسمت روبروی آن منتقل شود. همین کار را بر روی گزینه‌ی DEATHS انجام دهید. بر روی کادر جلوی گزینه ی Background کلیک کنید و رنگ Beige را انتاخاب کنید در انتها Ok کنید.

جداول و نمودارهای هیستوگرام

مشاهده می کنید که نمودارهای پای بر روی نقشه ها شما ظاهر شده اند.

نمودارهای هیستوگرام

تنظیم اندازه ی نمودار پای

مرحله سوم: در این مرحله میخواهیم اندازه ی نمودارهای پای را بر اساس میزان و مقدار آنها تنظیم کنیم. مثلا اگر در منطقه‌ای جمعیت بیشتری متولد می‌شوند و یا می‌میرند، نمودار پای آن بزرگتر از دیگر نمودارها باشد. دوباره پنجره ی Properties Layer را برای لایه Italy باز نموده. در Tab، Symbology بر روی دکمه ی Size کلیک کنید تا پنجره ای به اسم Pie Chart Size باز شود. مطابق شکل زیر آن را تکمیل کنید و در نهایت Ok کنید.

نمودارهای پای

در پنجره ی Properties Layer دکمه ی Ok را فشار دهید تا نمودارها با اندازه ی واقعی مقادیر خود بر روی نقشه نشان داده بشوند. از منوی اصلی روی Bookmarks رفته و گزینه ی Southern Italy را انتخاب کنید. حال نمای بهتری از اندازه ی Pie Charts در منطقه ی مورد نظر مشاهده می کنید.

نمودارهای پای

نمایش اطلاعات عوارض بوسیله ی نمودارهای ستونی

مرحله چهارم: شما همچنین می توانید اطلاعات عوارض را بوسیله ی نمودارهای نحوه محاسبه خط هیستوگرام ستونی نشان دهید. از قسمت Table of Contents بر روی لایه ی Italy کلیک راست کرده و گزینه ی Zoom to Layer را انتخاب کنید تا دوباره کل مناطق را مشاهده کنید. دوباره پنجر‌ی Properties Layer این لایه را با نموده و در نحوه محاسبه خط هیستوگرام قسمتShow این بار بر روی گزینه ی Bar/Colums کلیک نمائید.گزینه ی APPLY را فشار دهید. حال پنجره را به قسمتی از صفحه برده تا بتوانید نقشه ی اصلی را مشاهده کنید.

(نمودارهای هیستوگرام)

هیستوگرام

از قسمت Show بر روی گزینه Stacked کلیک کنید و بعد گزینه Aplly را فشار دهید.مشاهده می کنید که نحوه‌ی نمایش نمودارها بر حسب انتخاب شما در قسمت Chart تغییر پیدا می کند.

نمودارهای هیستوگرام

هیستوگرام اطلاعات جمعیت

مرحله پنجم: در این مرحله می خواهیم نمودارهای هیستوگرام مربوط به اطلاعات جمعیت را نشان دهیم. در قسمت Show این بار بر روی گزینه ی Quantities کلیک کنید تا زیر مجموعه های آن پیدا شوند. گزینه ی Graduated Colors را انتخاب نمائید. در قسمت Value، گزینه ی Population را انتخاب نمائید. بر روی گزینه ی Classify کلیک کنید. در این پنجره مشاهده می کنید که از مدلNatural Breaks استفاده شده است و تعداد کلاس ها ۵ مورد می باشد. همچنین جدولی از آنالیزهای آماره ای در این صفحه نشان داده شده است. نمودار هیستوگرام مربوطه هم در قسمت پائین پنجره ی باز شده قابل مشاهده است که نحوه توزیع اطلاعات جمعیت را نشان می دهد.

جداول و نمودارهای هیستوگرام

در قسمت Colums عدد ۱۰۰ پیش فرض را به عدد ۱۰ تغییر دهید. با ایجاد این تغییر مشاده می کنید که هر ستون این بار ۱۰ درصد از مقادیر در ان بازه را نشان می دهد. در روی هم هر دو پنجره کلید Ok را فشار دهید.

جداول و نمودارهای هیستوگرام

نمایش نمودار هیستوگرام از پنجره Table

مرحله ششم: شما در مرحله ی قبل از طریق پنجره‌ی Classification، نمودار هیستوگرام را مشاهده کردید، در این مرحله به شما می خواهیم نشان بدهیم که چگونه از طریق پنجره ی Table به این امر دسترسی داشته باشید.ابتدا جدول اطلاعات توصیفی لایه Italy را باز نموده، بر روی ستون POPULATION کلیک راست نمائید و گزینه ی Statistic را انتخاب کنید مشاهده می کنید که یک هیستوگرام ساده شده ای در قسمت راست پنجره ی باز شده قابل مشاهده می باشد.

جداول و نمودارهای هیستوگرام

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

Histogram تصاویر در OpenCv

در سری مقالات آموزش OpenCv اندروید, به مبحث Histogram تصاویر می‌پردازیم.

در ابتدا باید به تعریف Histogram بپردازیم. نموداری که یک دید کلی از توزیع مقادیر تصویر به ما می‌دهد را Histogram گویند. نمودار در محور افقی مقادیری در بازه ۰ تا ۲۵۵ قرار دارد. محور عمودی مشخص کننده تعداد تکرار این مقادیر در تصویر است. برای مثال در نمودار زیر

Hisogram

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

پیش از شروع به محاسبه Histogram, نیاز است تا با یکسری از مفاهیم آشنا شویم:

  • Bins: همانطور که گفته شد محور افقی شدت را مشخص می‌کند. به این ترتیب وقتی شدت در بازه ۰ تا ۲۵۵ قرار دارد, به ۲۵۵ bin برای مشخص کردن تعداد وقوع هریک از شدت ها نیاز داریم. اما خوانایی ۲۵۶ bins در یک فضای فشرده شده ممکن است بسیار دشوار باشد. برای حل این مشکل هر bin می‌تواند یک بازه ۱۰ تایی از شدت رنگ ها باشد و نمودار به ۲۵ bin تقسیم می‌شود. در واقع برای افزایش خوانایی نمودار می‌توان تعداد bin ها را به منظور گسترش و یا کاهش بازه ای که شامل می‌شوند, تغییر داد.
  • Dimensions: مشخص کننده تعداد رنگی است که شدت توزیع آن را در نمودار نمایش می‌دهیم. برای مثال در یک تصویر grayscale مقدار Dimensions برابر با یک است. و یا اگر در یک تصویر RGB توزیع رنگ آبی و قرمز را بخواهیم مشخص کنیم, Dimensions برابر با دو است.
  • Range: بازه مقادیر را مشخص می‌کند. عموما این بازه بین ۰ تا ۲۵۵ است.

اکنون که تعاریف مورد نیاز بررسی شد, به کد نویسی و محاسبه Histogram می‌پردازیم. محاسبه را در راستای پروژه قبل ادامه می‌دهیم. به متد loadImage چنین دستوری را اضافه می‌کنم و دستور نمایش تصویر را حذف می‌کنیم:

خط اول از کد قبلی متد loadImage است و از خط نحوه محاسبه خط هیستوگرام بعد دستورات جدید آغاز می‌شوند. یک نمونه از mat را گرفته و برای محاسبه به متد calculate ارسال می‌کنیم. چون می‌خواهیم تصویر اصلی را داشته باشیم یک نمونه از تصویر را به calculate ارسال کردیم. متد calculate را اینگونه می‌نویسم:

ابتدا تعداد bin ها را مشخص می‌کنیم. سپس یک object از کلاس MatOfInt تعریف می‌کنیم. این کلاس تنها مقادیر را به صورت integer ذخیره می‌کند. به این ترتیب در این کلاس مقادیر ۲۵ bin ذخیره می‌شوند.

سپس یک mat برای ذخیره و نمایش histogram ایجاد می‌کنیم. همانطور که می‌توانستیم به تک تک مقادیر pixel ها دسترسی داشته باشیم, در اینجا نیز مقادیر را در یک آرایه نگهداری می‌کنیم. سپس با استفاده از کلاس MatOfFloat مقدار Range را مشخص می‌کنیم. کلاس MatOfFloat مقادیر را به صورت float ذخیره می‌کند.

در اینجا رنگ نمودار را مشخص می‌کنیم و ما در اینجا رنگ قرمز را انتخاب کرده ایم.

در کد بالا قطر هر خط را مشخص و تعیین می‌کنیم که بیش از ۳ نباشد.

در اینجا channel ها را مشخص می‌کنیم و چون تصویر ما به صورت RGB است از سه Channel استفاده می‌کنیم.

در اینجا offset برای شروع نمودار را مشخص می‌کنیم.

در اینجا ابتدا یک آرایه از تصاویر را به عنوان اولین پارامتر ارسال می‌کنیم. در این مثال ما تنها از یک تصویر استفاده می‌کنیم و این آرایه شامل یک عضو است. سپس Channel مورد نظر را مشخص می‌کنیم. در حقیقت یک لیست از MatOfInt که در بالا برای Channel ها تعریف کرده‌ایم را در اینجا استفاده می‌کنیم و چون Dimensions در این مثال برابر با ۱ است تنها از یک channel استفاده می‌کنیم که اولین عنصر این آرایه است. سومین پارامتر مشخص کننده یک ماسک است که محیط محاسبه را مشخص می‌کند. چون در این مثال هدف ما بررسی تمام تصویر است یک ماسک خالی که همان یک object جدید از Mat است را به آن ارجاع داده‌ایم. پارامتر چهارم مشخص کننده mat است که نمودار را در خود ذخیره می‌کند. پارامتر پنجم مقادیر bin ها و پارامتر آخر مقادیر Range را نگهداری می‌کند.

سپس نیاز است تا نمودار را نرمال سازی کنیم. پارامتر اول mat منبع و پارامتر دوم mat خروجی است که در اینجا هردو برابر با یک mat است. پارامتر سوم مشخص کننده alpha که ضریب نرمال سازی است. این مقدار می‌تواند برابر با کمترین مقدار range نیز باشد. پارامتر چهارم مشخص کننده beta که بیشترین مقدار بازه نرمال سازی را مشخص می‌کند. اگر این مقدار برابر با صفر باشد, OpenCv از این پارامتر صرف نظر می‌کند. پارامتر آخر مشخص می‌کند که از چه روشی برای نرمال سازی استفاده کند. Norm Inf مشخص می‌کند که بیشترین مقدار ورودی را برابر با alpha که ما در اینجا نصف ارتفاع تصویر قرار داده ایم قرار دهد. همچنین از روش های دیگری مانند Norm L1 و Norm L2 نیز می‌توان استفاده کرد که از روش های نرمال سازی هستند. روش Norm MinMax نیز وجود دارد که نرمال سازی را در بازه alpha و beta انجام می‌دهد.

در کد بالا مقادیر bin ها را در آرایه مختص به آنها نگهداری می‌کنیم.

سپس دو نقطه برای رسم خط ایجاد می‌کنیم. تعداد این خطوط برابر با تعداد bin ها است بنابراین به ازای هر bin باید نقاط تشکیل دهنده خط آن مجددا مقدار دهی شوند. در نهایت متد line یک خط از نقطه p1 به نقطه p2 با رنگ مشخص شده از آرایه rgbs و قطر thik بر روی تصویر mat ایجاد می‌کند. در نهایت mat مربوط به Histogram را در خروجی نمایش می‌دهیم و متد loadImage به این صورت تغییر می‌کند:

کد کامل متد calculate:

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

نحوه استفاده از شاخص MACD

MACD یک واژه ی ساخته شده بر اساس حروف اول این کلمات می باشد. (Moving Average Convergence Divergence) که به میانگین متحرک همگرایی/واگرایی ترجمه می شود. این ابزار برای شناسایی میانگین های متحرک که نشان دهنده روند جدیدی است، چه صعودی یا نزولی، استفاده می شود.

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

نحوه استفاده از شاخص MACD آموزش اندیکاتور مک دی

با یک نمودار MACD، معمولا سه عدد را می بینید که برای تنظیمات آن استفاده می شود.

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

به عنوان مثال، اگر شما 12، 26، 9 را به عنوان پارامترهای MACD (که معمولا تنظیمات پیش فرض برای اکثر نرم افزارها است) را ببینید، این گونه می توانید آن را تفسیر کنید:

  • 12، نشان دهنده 12 کندل قبلی از میانگین متحرک سریعتر است.
  • 26، نشان دهنده 26 کندل قبلی از میانگین متحرک کندتر است.
  • 9، نشان دهنده 9 بار قبلی از تفاوت بین دو میانگین متحرک است. این بارها با خطوط عمودی که به نام هیستوگرام (خطوط سبز در نمودار بالا) هستند، نمایش داده شده اند.

در مثال بالا، میانگین متحرک سریعتر، میانگین متحرک بین میانگین های متحرک دوره ی 12 و 26 است. میانگین متحرک کندتر براساس میانگین خطوط MACD قبلی طراحی شده است. یک بار دیگر، بر اساس مثال بالا این یک میانگین متحرک 9 دوره ای است.

این نحوه محاسبه خط هیستوگرام بدان معنی است که ما میانگین 9 دوره ی از خطوط MACD سریع را حساب می کنیم و آن را به عنوان میانگین متحرک کندتر در نظر می گیریم. این حتی خطوط اصلی را هموارتر می کند که در حقیقت خطوط دقیق تری به ما می دهد.

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

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

چگونه با استفاده از MACD معامله کنیم

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

نحوه استفاده از شاخص MACD آموزش بورس اندیکاتور های هوشمند

هنگامی که این “crossover” اتفاق می افتد و خط سریع شروع به “انحراف” می کند یا حرکت از خط کند دور شود، اغلب نشان می دهد که یک روند جدید شکل گرفته است.از نمودار بالا، می توانید ببینید که خط سریع به زیر خط آهسته برخورد می کند و به درستی یک روند نزولی جدید را نشان می دهد.

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

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

از آن زمان، یورو/دلار همین که روند صعودی خود را اغاز می کند به سمت بالا شلیک می شود. تصور کنید اگر شما بعد (crossover) خرید را انجام دهید، تقریبا 200 پیپ را به دست می آورید!

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

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

اندیکاتور MACD | فیلم آموزش کامل خرید و فروش با مکدی

آموزش اندیکاتور MACD – فیلم آموزش تحلیل تکنیکال با اندیکاتور MACD

اندیکاتور MACD یا مک دی یک اندیکاتور نوسانی است که رابطه بین میانگین متحرک ها را نشان می دهد. MACD مخفف عبارت Moving Average Convergence Divergence است که مفهوم آن میانگین متحرک همگرا واگر است. این اندیکاتور از کسر میانگین متحرک نمایی (EMA) 26 دوره ای از میانگین متحرک نمایی 12 دوره ای حاصل می شود. استفاده از این نحوه محاسبه خط هیستوگرام ابزار در تحلیل تکنیکال بازارهای مالی بسیار مفید است و به همین دلیل در این بخش به آموزش این اندیکاتور مهم می پردازیم.

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

آموزش تصویری اندیکاتور MACD

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

اندیکاتور MACD | فیلم آموزش کامل خرید و فروش با مکدی

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

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

محدودیت ها

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

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



اشتراک گذاری

دیدگاه شما

اولین دیدگاه را شما ارسال نمایید.