الگوسهام | AlgoSaham
کل ---%---
پرایس اکشن

فیلتر خروج نوسان‌گیری: سقف و کف ۲۰ روزه

فیلتر خروج برای سهم‌هایی که با نوسان‌گیری خریده‌اید: وقتی قیمت به سقف ۲۰ روزه برسد وقت گرفتن سود است و وقتی پایانی زیر کف ۲۰ روزه بسته شود حد ضرر فعال شده است.

این فیلتر چیست؟

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

چرا خروج از ورود مهم‌تر است

در نوسان‌گیری ورود خوب نیمی از کار است. سهمی که از کف برگشته ممکن است تا سقف برود، ممکن است وسط راه بایستد و ممکن است دوباره کف را بشکند. اگر برای این حالت‌ها از قبل تصمیم نگرفته باشید، وسوسه می‌شوید سود را زود بفروشید و زیان را نگه دارید.
این فیلتر دو تصمیم را از قبل مشخص می‌کند و هر روز می‌گوید کدام اتفاق افتاده است. سطح‌هایش از همان سقف و کف ۲۰ روزه‌ای می‌آیند که فیلتر ورود نوسان‌گیری در ستون‌هایش به‌عنوان هدف و حد ضرر نشان می‌دهد.
در شبیه‌سازی ۱۵ ماه گذشته با فیلتر ورود نوسان‌گیری، معامله‌هایی که با رسیدن به سقف ۲۰ روزه بسته شدند در هر چهار بازه‌ی سه‌ماهه به‌طور متوسط بین ۶٫۷ تا ۱۵٫۳ درصد سود دادند و معامله‌هایی که با شکست کف بسته شدند بین ۶٫۳ تا ۶٫۸ درصد زیان، هر دو بعد از ۱٫۲ درصد کارمزد. یعنی حد ضرر زیان معمول هر معامله را حدود ۶ تا ۷ درصد نگه داشت.

دو حالت خروج به زبان ساده

یک مثال: سهمی را با ۱۰۰۰ ریال خریده‌اید. در ۲۰ روز معاملاتی قبل از امروز بیشترین قیمت ۱۱۲۰ و کمترین ۹۴۰ بوده.
حالت اول، سود: اگر بیشترین قیمت امروز به ۱۱۲۰ یا بالاتر برسد، فیلتر سهم را با ستون اول برابر ۱ نشان می‌دهد. شرط روی بیشترین قیمت روز است، نه پایانی؛ یعنی کافی است قیمت در طول روز یک بار به سقف برسد. همان لحظه می‌شود فروخت.
حالت دوم، حد ضرر: اگر پایانی امروز زیر ۹۴۰ بسته شود، فیلتر سهم را با ستون اول برابر منفی ۱ نشان می‌دهد. این بار شرط روی پایانی است، نه کمترین قیمت؛ سایه‌ای که زیر کف می‌رود و همان روز برمی‌گردد حد ضرر را فعال نمی‌کند.
ستون دوم و سوم خود سقف و کف ۲۰ روزه را به ریال نشان می‌دهند. هر دو سطح هر روز جابه‌جا می‌شوند: قدیمی‌ترین روز از بازه بیرون می‌رود و دیروز وارد می‌شود. برای همین در سهمی که بالا می‌رود کف ۲۰ روزه هم کم‌کم بالا می‌آید و حد ضرر به قیمت خرید نزدیک‌تر می‌شود.

خروجی روی کل بازار و روی سهم‌های شما

این فیلتر نمی‌داند شما چه سهمی را کی خریده‌اید؛ فقط وضع امروز هر نماد را با ۲۰ روز قبلش مقایسه می‌کند. روی کل بازار، فهرستش هر سهمی است که امروز سقف یک‌ماهه را لمس کرده یا زیر کف یک‌ماهه بسته شده؛ در پایان معاملات ۲۲ مهر ۱۴۰۵ این فهرست ۴۶۲ نماد بود، ۲۱ مهر ۴۷۶ و ۲۰ مهر ۳۶۶ نماد.
پس بعد از اجرای فیلتر فقط دنبال نماد سهم‌هایی بگردید که خریده‌اید. هر روز که یکی از آن‌ها در خروجی آمد، ستون اول می‌گوید سود است یا حد ضرر. نمادی که در خروجی نیست هنوز بین سقف و کف است و طبق این سیستم نگه داشته می‌شود.

روزها را چطور می‌شمارد: x و off

در کد، x شماره‌ی روز به عقب است: x برابر ۱ دیروز است و x برابر ۲۰ بیست روز معاملاتی قبل. x برابر صفر خود امروز است که کمترین و بیشترین قیمتش از تابلو می‌آید. «روز» یعنی ردیف تاریخچه‌ی تعدیل‌شده، نه روز تقویمی.
متغیر off مثل بقیه‌ی فیلترهای الگوسهام برای این است که x برابر ۱ همیشه واقعاً دیروز باشد: اگر اولین ردیف تاریخچه همان پایانی، تعداد معامله و ارزش معاملاتی تابلوی امروز را داشته باشد، آن ردیف خود امروز است و فیلتر یک ردیف جلوتر شروع می‌کند.

کد خط به خط

var h=[it] تاریخچه‌ی تعدیل‌شده را می‌خواند و نمادی که تاریخچه ندارد، قیمتش صفر است یا کمتر از ۲۱ روز تاریخچه دارد کنار می‌رود. توابع lo و hi کمترین و بیشترین قیمت روز x را برمی‌گردانند؛ برای x برابر صفر، کمترین و بیشترین قیمت امروز روی تابلو.
حلقه‌ی for از دیروز تا ۲۰ روز قبل می‌رود و saghf بیشترین قیمت و kaf کمترین قیمت این بازه را نگه می‌دارد. امروز داخل بازه نیست، چون سقف و کفی را می‌خواهیم که پیش از امروز ساخته شده‌اند.
بعد ستون‌های دوم و سوم پر می‌شوند. اگر hi(0)>=saghf باشد ستون اول ۱ می‌شود و نماد رد می‌شود؛ وگرنه اگر (pc)<kaf باشد ستون اول منفی ۱ می‌شود و نماد رد می‌شود. دو شرط به جای یک خط با «یا» در دو خط جدا آمده‌اند تا ستون اول بتواند دلیل خروج را بگوید.

عددها را چطور با سلیقه‌ی خودتان تنظیم کنید

سقف و کف در یک حلقه حساب می‌شوند، پس اگر فقط یکی را عوض می‌کنید آن را در حلقه‌ی جدا بنویسید. برای سقف ۴۰ روزه یک حلقه‌ی دوم از x برابر ۱ تا ۴۰ فقط برای saghf بنویسید و عدد 21 در خط h.length-off را به 41 تغییر دهید؛ تاریخچه‌ی ۹۰ روزه هنوز کافی است.
اثر این تغییرها را با همان فیلتر ورود روی چهار بازه‌ی سه‌ماهه از ۲۵ تیر ۱۴۰۴ تا ۲۲ مهر ۱۴۰۵ سنجیدیم. هدف سقف ۱۰ روزه معامله‌ها را کوتاه‌تر کرد، حدود ۴ تا ۶ روز به جای ۷ تا ۱۰ روز، ولی میانگین هر معامله در سه بازه‌ی معمولی به بین منفی ۰٫۴ تا ۰٫۷ درصد افتاد.
هدف سقف ۴۰ روزه در هر چهار بازه بهتر بود: میانگین هر معامله ۳٫۵ تا ۶٫۹ درصد در بازه‌های معمولی و ۱۴٫۸ درصد در سه ماه اخیر، به جای ۱٫۲ تا ۲٫۸ و ۱۱ درصد. بهایش نگهداری طولانی‌تر است، حدود ۹ تا ۱۶ روز.
حد ضرر کف ۱۰ روزه به جای ۲۰ روزه تقریباً فرقی نکرد: میانگین معامله‌ها در هیچ بازه‌ای بیشتر از نیم درصد جابه‌جا نشد.

خروجی فیلتر را چطور بخوانیم

ستون اول مهم‌ترین ستون است: ۱ یعنی قیمت امروز به سقف ۲۰ روزه رسیده و منفی ۱ یعنی پایانی زیر کف ۲۰ روزه است. ستون دوم سقف و ستون سوم کف ۲۰ روزه به ریال‌اند.
برای نمادهایی که خریده‌اید و در خروجی نیستند، ستون دوم و سوم را در جدول دیده‌بان ببینید تا بدانید قیمت تا هر کدام چقدر فاصله دارد. فاصله‌ی کم تا سقف یعنی هدف نزدیک است و فاصله‌ی کم تا کف یعنی حد ضرر نزدیک.
عددهای این راهنما با فروش کامل در پایانی روز سیگنال حساب شده‌اند. اگر سهم در روز رسیدن به سقف صف خرید باشد، فروش دیرتر ممکن است سود بیشتری بدهد، و اگر در روز شکست کف صف فروش باشد، زیان از حد ضرر بیشتر می‌شود.

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

سه نمونه‌ی زیر معامله‌هایی‌اند که با فیلتر ورود نوسان‌گیری باز و با همین فیلتر بسته شدند. خراسان و وایران در پایان معاملات چهارشنبه ۲۲ مهر ۱۴۰۵ با رسیدن به سقف ۲۰ روزه در خروجی آمدند و ذوب دوشنبه ۲۰ مهر با بسته شدن زیر کف ۲۰ روزه. قیمت‌ها از تاریخچه‌ی تعدیل‌شده‌اند. روی هر نمودار خط‌چین بنفش سقف ۲۰ روزه‌ی روز فروش است، خط قرمز کف ۲۰ روزه‌ی همان روز و خط نقطه‌چین خاکستری قیمت خرید؛ بازه‌ی خاکستری ۲۰ روزی است که سقف و کف از آن حساب شده‌اند.

خراسان — پتروشیمی خراسان

فیلتر ورود دوشنبه ۶ مهر روی خراسان سیگنال داد و سهم با پایانی ۵۳٬۲۹۰ ریال خریده شد. بالاترین قیمت ۲۰ روز معاملاتی قبل از ۲۲ مهر، که از ۲۵ شهریور شروع می‌شود، ۵۹٬۱۸۰ ریال بود. چهارشنبه ۲۲ مهر بیشترین قیمت به ۵۹٬۸۵۰ رسید و فیلتر خروج سهم را با ستون اول ۱ نشان داد. فروش با پایانی همان روز، ۵۸٬۹۰۰ ریال، ۱۰٫۵ درصد بالاتر از خرید بود و بعد از کارمزد ۹٫۳ درصد، در ۱۲ روز معاملاتی.
چارت نمونه برای پایان معاملات چهارشنبه ۲۲ مهر ۱۴۰۵. آخرین کندل قیمت روز فروش است و خط‌ها از تاریخچه‌ای که فیلتر می‌خواند حساب شده‌اند.

وایران — لیزینگ ایرانیان

خرید چهارشنبه ۱ مهر با پایانی ۴٬۸۶۰ ریال بود. سقف ۲۰ روزه‌ی روز فروش ۵٬۴۰۰ ریال بود و ۲۲ مهر بیشترین قیمت دقیقاً به همین عدد رسید؛ شرط فیلتر برابری را هم قبول می‌کند، پس ستون اول ۱ شد. فروش با پایانی ۵٬۲۷۰ ریال، ۸٫۴ درصد بالاتر از خرید و ۷٫۲ درصد بعد از کارمزد، در ۱۵ روز معاملاتی. کف ۲۰ روزه‌ی روز فروش ۴٬۶۹۰ ریال بود، ۳٫۵ درصد زیر قیمت خرید؛ در این ۱۵ روز هیچ پایانی زیر کف ۲۰ روزه‌ی روز خودش بسته نشد.
چارت نمونه برای پایان معاملات چهارشنبه ۲۲ مهر ۱۴۰۵. آخرین کندل قیمت روز فروش است و خط‌ها از تاریخچه‌ای که فیلتر می‌خواند حساب شده‌اند.

ذوب — ذوب آهن اصفهان

فیلتر ورود سه‌شنبه ۱۴ مهر روی ذوب سیگنال داد و سهم با پایانی ۶۵۹ ریال خریده شد. برگشت ادامه پیدا نکرد: دوشنبه ۲۰ مهر پایانی ۶۳۳ ریال شد، زیر کف ۲۰ روزه‌ی ۶۳۸ ریال، و فیلتر خروج سهم را با ستون اول منفی ۱ نشان داد. فروش با همان پایانی ۳٫۹ درصد زیان پیش از کارمزد و ۵٫۱ درصد بعد از آن بود، در ۴ روز معاملاتی. سقف ۲۰ روزه در آن روز ۷۸۳ ریال بود که قیمت هیچ‌وقت به آن نرسید. فردای همین روز، ۲۱ مهر، فیلتر ورود دوباره روی ذوب سیگنال داد؛ این نمونه در راهنمای فیلتر ورود نوسان‌گیری هم آمده است.
چارت نمونه برای پایان معاملات دوشنبه ۲۰ مهر ۱۴۰۵. آخرین کندل قیمت روز فروش است و خط‌ها از تاریخچه‌ای که فیلتر می‌خواند حساب شده‌اند.

سیگنال‌های اصلی

  • بیشترین قیمت امروز برابر یا بالاتر از سقف ۲۰ روز قبل: گرفتن سود
  • پایانی امروز زیر کف ۲۰ روز قبل: حد ضرر
  • ستون اول ۱ برای سود و منفی ۱ برای حد ضرر
  • سقف و کف ۲۰ روزه به ریال در ستون دوم و سوم

کاربردهای این فیلتر

  • تصمیم فروش برای سهم‌هایی که با فیلتر ورود نوسان‌گیری خریده شده‌اند
  • گذاشتن حد ضرر روشن و یکسان برای همه‌ی معامله‌های کوتاه‌مدت
  • پیگیری روزانه‌ی سبد نوسان‌گیری با یک اجرا
  • پایه‌ای برای خروج‌های دیگر، مثل سقف ۴۰ روزه یا حد ضرر ۱۰ روزه

کد فیلتر

شما می‌توانید این کد را کپی کرده و در بخش فیلترنویسی الگوسهام استفاده کنید.

اشتباه‌های رایج در استفاده از این فیلتر

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

پرسش‌های پرتکرار

فیلتر خروج نوسان‌گیری چه زمانی فروش را اعلام می‌کند؟
در دو حالت: وقتی بیشترین قیمت امروز به بالاترین قیمت ۲۰ روز معاملاتی قبل برسد، که ستون اول ۱ می‌شود و یعنی سود را بگیرید؛ یا وقتی پایانی امروز زیر پایین‌ترین قیمت ۲۰ روز قبل بسته شود، که ستون اول منفی ۱ می‌شود و یعنی حد ضرر.
چرا خروجی این فیلتر روی کل بازار این‌قدر زیاد است؟
چون هر سهمی را که امروز سقف یا کف یک‌ماهه‌اش را لمس کرده نشان می‌دهد؛ در پایان معاملات ۲۲ مهر ۱۴۰۵ این تعداد ۴۶۲ نماد بود. این فیلتر برای چک کردن سهم‌هایی است که خریده‌اید؛ در خروجی فقط دنبال همان نمادها بگردید.
حد ضرر این سیستم معمولاً چقدر است؟
در شبیه‌سازی ۱۵ ماه گذشته، معامله‌هایی که با شکست کف ۲۰ روزه بسته شدند در هر بازه‌ی سه‌ماهه به‌طور متوسط ۶٫۳ تا ۶٫۸ درصد زیان دادند، بعد از کارمزد. بدترینشان ۱۹ درصد بود؛ وقتی سهم با صف فروش زیر کف می‌رود، زیان از حد ضرر بیشتر می‌شود.
سقف ۴۰ روزه بهتر از ۲۰ روزه نیست؟
در شبیه‌سازی، با هدف سقف ۴۰ روزه میانگین هر معامله در هر چهار بازه‌ی سه‌ماهه بیشتر شد، ولی معامله‌ها هم طولانی‌تر شدند، به‌طور متوسط ۹ تا ۱۶ روز به جای ۷ تا ۱۰ روز. برای نوسان کوتاه‌تر ۲۰ روزه مناسب‌تر است؛ اگر صبر بیشتری دارید ۴۰ روزه را امتحان کنید.
اگر قیمت در یک روز هم سقف را لمس کند و هم زیر کف بسته شود چه می‌شود؟
فیلتر اول شرط سقف را بررسی می‌کند، پس آن را سود حساب می‌کند و ستون اول ۱ می‌شود. چنین روزی بسیار کم پیش می‌آید؛ در نمونه‌های این راهنما سقف و کف ۲۰ روزه ۱۵ تا ۲۳ درصد از هم فاصله داشتند.

فیلترهای مرتبط

می‌خواهید این فیلتر را روی بازار زنده امتحان کنید؟

در داشبورد پیشرفته الگوسهام، می‌توانید این فیلتر و صدها فیلتر دیگر را به صورت لحظه‌ای روی بازار بورس اجرا کنید.