آشنایی با قدرتمندترین اندیکاتور روندی: میانگین متحرک (Moving Average)

پرطرفدارترین اندیکاتور روندی که در دسته‌ی اندیکاتورهای آسان بورس موجود هست، اندیکاتور میانگین متحرک یا Moving Average هست. پیش از این که نحوه‌ی استفاده از این اندیکاتور رو خدمتتون آموزش بدم، بد نیست توضیحاتی در رابطه با خود میانگین متحرک بهتون بدم تا با ماهیتش بیشتر آشنا بشید.

میانگین متحرک چطور کار می‌کنه؟

بریم روی نمودار؛ همون‌طور که از اسمش مشخصه، این اندیکاتور عملیات میانگین‌گیری رو انجام می‌ده. از قیمت‌های دوره‌های گذشته‌ی نمودار میانگین می‌گیره، قیمت‌ها رو با هم جمع می‌کنه و تقسیم بر تعداد دوره‌ها می‌کنه. در نهایت این خطی که شما مشاهده می‌کنید رو به ما ارائه می‌ده. قیمتش خیلی نزدیک هست به نمودار قیمت، البته بستگی داره به این که چه دوره‌ای رو شما براش در نظر می‌گیرید.

کاربردهای مختلفی داره میانگین متحرک. برخی از تحلیلگران تکنیکال به عنوان شروط ورود و شروط خروج از بازار ازش استفاده می‌کنن و می‌تونه کاربرد تشخیص روند و مومنتوم بازار رو هم داشته باشه. با توجه به حرکاتی که داره، معمولاً تقاطع میانگین متحرک‌ها واسه‌ی تحلیلگران تکنیکال خیلی اهمیت داره. حالا این تقاطع‌ها می‌تونه تقاطع قیمت و خود میانگین متحرک باشه، یا دو تا میانگین متحرک با دوره‌های متفاوت؛ مثلاً دو تا میانگین متحرک ۱۰ و ۲۰ روزه رو اگر روی نمودار بندازیم، تقاطعش می‌تونه مثلاً واسه یک تحلیلگر تکنیکال با اهمیت باشه.

توضیح نحوه عملکرد میانگین‌گیری اندیکاتور
توضیح نحوه عملکرد میانگین‌گیری اندیکاتور

انواع میانگین متحرک و تفاوت‌هایشان

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

  • Simple Moving Average (SMA): میانگین متحرک ساده که میانگین‌گیری رو به صورت ساده انجام می‌ده؛ همون حالتی که ما توی دبستان یاد گرفتیم، قیمت‌ها رو با هم جمع می‌کنه و تقسیم بر تعداد دوره می‌کنه.
  • Exponential Moving Average (EMA): میانگین متحرک نمایی که یه مقدار سریع‌تر یا شارپ‌تر هست از حالت ساده و به تغییرات قیمت جدیدتر واکنش بیشتری نشون می‌ده.
  • Weighted Moving Average (WMA): میانگین متحرک وزنی که وزن بیشتری می‌ده به داده‌های اخیرِ نمودار.
  • Smoothed Moving Average: کندترین حالت میانگین متحرک هست؛ حرکات خیلی شارپی ازش مشاهده نمی‌کنیم، اصطلاحاً بهش می‌گن Smoothed Moving Average و یه مقدار سعی می‌کنه که اون حرکات شارپ قیمتی رو صاف کنه و حرکات رو یه مقدار نرم‌تر کنه. معمولاً واسه نمودارهایی استفاده می‌شه که قیمت نوسانات بسیار بالایی توی اون دارایی انجام می‌ده. شاید در راستای بورس سهام تهران اون‌قدری کاربردی نداشته باشه با توجه به این که نوسانات قیمت در نمودارها نسبتاً پایینه، ولی مثلاً توی یه بازاری مثل بازار فارکس، که طبیعتاً بازار تندتر و شارپ‌تری هست، اونجا می‌تونه کاربرد بیشتری داشته باشه.

تنظیمات مهم در اندیکاتور

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

معرفی انواع میانگین متحرک (SMA, EMA, WMA)
معرفی انواع میانگین متحرک (SMA, EMA, WMA)

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

کاربرد عملی: فیلترنویسی با میانگین متحرک در آسان بورس

بریم چند تا مثال بزنیم از این اندیکاتور و ببینیم چطور می‌تونیم باهاش شروط مختلف رو طراحی کنیم. این مثال برای اندیکاتور میانگین متحرک؛ بد نیست یه شرط بنویسیم و جایگاه قیمت و میانگین متحرک رو مقایسه کنیم.

توضیح میانگین متحرک صاف‌کننده (Smoothed MA)
توضیح میانگین متحرک صاف‌کننده (Smoothed MA)

مثال اول: شناسایی نمادهای زیر میانگین متحرک

مثلاً بخوام نمادهایی رو شناسایی کنم که آخرین قیمتشون از EMA 21 روزه پایین‌تره. یه بار دیگه شرط رو می‌گم: قیمت از EMA 21 روزه پایین‌تره. بریم این شرط رو بنویسیم؛ داده‌های مربوط به این شرط چی هست؟

  1. یکی آخرین قیمت که داده‌ی قیمت رو انتخاب می‌کنم، مقدارش روی آخرین هست و توضیحش هم بنویسم «آخرین قیمت».
  2. یه داده‌ی دیگه هم دارم، EMA 21 روزه؛ بریم اون رو هم به صفحه اضافه کنیم. در قسمت اندیکاتورها moving average رو انتخاب می‌کنم، time frame روزانه، period 21، 21 روزه؛ نوع میانگین‌گیری رو گفتم EMA هست یعنی نمایی، exponential moving average، معمولاً خودم از نمایی استفاده می‌کنم؛ قیمت کاربردیش همون آخرین قیمت باشه.

خب شرط من چی بود؟ آخرین قیمت پایین‌تر از EMA باشه. برای این که بهش بگیم پایین‌تر باشه، باید از داده‌ی مقایسه استفاده کنیم؛ بگیم آخرین قیمت من کوچک‌تر باشه از EMA من. خب خیلی راحت این شرط رو تکمیل کردیم، یا باید بخونیم: آخرین قیمت کوچک‌تر هست از EMA 21 روزه. ذخیره می‌کنم، یه بار اجرا بگیریم ببینیم چند تا نماد هستن که این ویژگی رو دارن؛ ۴۲ تا نماد هستن که این ویژگی رو دارن.

اهمیت تنظیم تایم‌فریم و دوره زمانی
اهمیت تنظیم تایم‌فریم و دوره زمانی

یکیشون رو باز کنیم، مثلاً کهرام رو باز کنیم، نمودارش رو با هم ببینیم. خب یه دونه EMA 21 روزه باید بندازم روی صفحه تا بتونیم بررسیش کنیم؛ moving average exponential رو انتخاب می‌کنم، به صفحه اضافه می‌شه، تنظیماتش رو باید تغییر بدم، تایمش رو می‌زنم روی 21، پریودش رو، و ضخامتش رو هم یه مقدار بیشتر می‌کنم. قیمت کلوز ما همون اینجا هست تقریباً؛ حوالیِ قیمت 280161 روی اون، و این که moving average ما هم توی نقطه‌ی بالاتری قرار گرفته. پس شرط ما شرط درستی هست و قیمت پایین‌تر از این EMA 21 قرار گرفته. خب این شرط کاربرد داره در طراحی استراتژی واسه تحلیلگران تکنیکال.

مثال دوم: طراحی شرط تقاطع میانگین‌ها (کراس)

یکی دیگه از مثال‌هایی که می‌شه با moving average زد، تقاطع moving average‌ها با همدیگه‌ست. مثلاً من دو تا moving average دارم، یکی کوتاه‌مدت و یکی هم بلندمدت، و می‌خوام تقاطع این دو تا رو به عنوان شرط قرار بدم.

طراحی شرط: قیمت پایین‌تر از EMA 21 روزه
طراحی شرط: قیمت پایین‌تر از EMA 21 روزه

الان هم همین مثال رو با هم طراحی می‌کنیم. می‌خوام نمادهایی رو شناسایی کنم که EMA 8 روزه، EMA 13 روزه رو به سمت بالا قطع کرده. می‌رم توی قسمت اندیکاتورها؛ دو تا داده دارم، یکی از داده‌ها میانگین متحرک هشت روزه‌ی نمایی هست و یکی دیگه — ببخشید، این ثبت نشده بود — یکی دیگه از داده‌ها هم میانگین سیزده روزه‌ی نمایی. خب حالا می‌خوام تقاطع این دو تا رو با هم بررسی کنم؛ از یه بلاک تقاطع استفاده می‌کنم. مقدار یک، میانگین کوتاه‌مدت من هست که باید به سمت بالا میانگین سیزده روزه رو قطع کنه. این رو ذخیره می‌کنم و اجرا می‌گیرم؛ خیلی راحت این شرط رو هم طراحی کردم.

یه نماد رو با هم بررسی کنیم، مثلاً سفاسی رو با هم ببینیم. می‌ذارمش روی حالت تعدیل‌شده و لگاریتمی، یه دونه EMA Cross می‌ندازم روی صفحه و تنظیماتش رو می‌ذارم روی هشت و سیزده، تایم‌فریم هم روزانه هست. می‌تونم یه مقدار اینا رو ضخیم‌تر کنم که بهتر دیده بشه. همون‌طور که مشاهده می‌کنیم، انتها ما یه تقاطع داریم؛ تقاطع رو هم با رنگ آبی به ما نمایش می‌ده، هر جا که تقاطع اتفاق افتاده باشه.

بررسی نمودار نماد کهرام با شرط قیمت پایین‌تر از EMA
بررسی نمودار نماد کهرام با شرط قیمت پایین‌تر از EMA

می‌تونیم شرط کراس رو با قیمت هم بنویسیم؛ مثلاً به جای این که از EMA 8 روزه استفاده کنم، بگم که قیمت کلوز این بار تقاطع داشته باشه با EMA 13 روزه. ازش اجرا می‌گیرم، می‌بینیم که یازده تا نماد هستن که این ویژگی رو دارن.

جمع‌بندی

یکی از کاربردهای مهم moving average‌ها — شاید بتونیم بگیم مهم‌ترین کاربردشون — همین استفاده از تقاطعشون هست که در نقاط ورود و خروج به عنوان شرط در نظر گرفته می‌شن و توی استراتژی‌های تکنیکالیست‌ها کاربرد بسیار زیادی دارن. با یادگیری این ابزار، می‌تونید فیلترنویسی‌های دقیق‌تری برای بورس داشته باشید.