پرایس اکشن
فیلتر شکست خط روند نزولی با پایتون
فیلتر سهمهایی که امروز خط روند نزولیشان را شکستهاند و بالای خط بسته شدهاند؛ خطی که از بالاترین سقف ۶۰ روز اخیر کشیده میشود و تا دیروز هیچ قیمت پایانی بالای آن نبوده است.
این فیلتر چیست؟
خط روند نزولی خطی است که سقفهای پایینآمدهی یک سهم را به هم وصل میکند. تا وقتی قیمت زیر این خط بسته میشود، هر برگشت رو به بالا پیش از رسیدن به سقف قبلی فروخته شده و فروشندهها دست بالا را دارند. روزی که قیمت با حجم خوب بالای خط بسته شود، برای اولین بار خریدارها از جایی گذشتهاند که در تمام اصلاح نتوانسته بودند از آن بگذرند. این فیلتر همین روز را در کل بازار پیدا میکند: خط را از بالاترین سقف ۶۰ روز اخیر به سقف پایینتری میکشد که دستکم ۱۰ روز بعد ثبت شده و خط را کمشیبترین میکند، مطمئن میشود که تا دیروز هیچ روزی بالای خط بسته نشده و سهمهایی را برمیگرداند که امروز با حجم بیشتر از میانگین ۲۰ روز و ارزش معاملات بیشتر از ۳۰۰ میلیون تومان بالای خط بسته شدهاند.
کد فیلتر با پایتون
حالت اجرا را انتخاب کنید؛ شرطها و مقدار ستونها با راهنمای جاوااسکریپت یکساناند. عنوان ستونهای دلخواه را در ویرایشگر تعیین کنید.
نسخهٔ جاوااسکریپت این فیلترخط روند نزولی چیست و چرا شکستش مهم است
در یک اصلاح، قیمت یکراست پایین نمیآید. سهم میریزد، چند روز برمیگردد، دوباره میریزد و باز برمیگردد. اگر هر برگشت زودتر از قبلی تمام شود، سقفها پلهپله پایین میآیند و خطی که آنها را به هم وصل میکند رو به پایین است. این خط روند نزولی است. معنایش این است که در هر برگشت، فروشندهها زودتر از دفعهی قبل وارد شدهاند: کسانی که در سقف خریده بودند و حالا با هر برگشت از ضررشان کم میکنند، و کسانی که اصلاح را تمامشده نمیدانند و روی برگشتها میفروشند.
تا وقتی قیمت زیر این خط بسته میشود، الگو سر جایش است. روزی که قیمت پایانی بالای خط برود، اتفاق تازهای افتاده: خریدارها قیمت را از جایی گذراندهاند که در تمام اصلاح، فروشندهها آنجا منتظر بودند. این روز معمولاً اولین نشانهی تمام شدن اصلاح است و بسیاری از تحلیلگرها آن را نقطهی شروع بررسی سهم میدانند.
مشکل خط روند این است که هر کس آن را کمی متفاوت میکشد. یکی از سقف بلند شروع میکند و دیگری از سقف کوتاهتر، یکی خط را از روی سایهها میکشد و دیگری از روی بدنهی کندلها. فیلتر نمیتواند به سلیقه تکیه کند، پس هر قدم را با یک قاعدهی مشخص انجام میدهد: سقف چه روزی است، خط از کدام سقف شروع میشود، به کدام سقف میرسد و شکست یعنی چه. بخشهای بعدی همین قاعدهها را یکییکی توضیح میدهند.
شکست خط همیشه دوام نمیآورد. ممکن است قیمت امروز بالای خط بسته شود و فردا دوباره زیرش برگردد. کار این فیلتر پیدا کردن روز شکست است؛ اینکه شکست تثبیت میشود یا نه با رفتار قیمت، حجم و تابلو در روزهای بعد معلوم میشود.
خط را چطور میکشیم: سقفها و کمشیبترین خط
قدم اول تعریف سقف است. در این فیلتر روزی سقف حساب میشود که بیشترین قیمتش از بیشترین قیمت ۳ روز قبل و ۳ روز بعدش بالاتر باشد. یعنی آن روز وسط یک پنجرهی هفتروزه بلندترین است. یک ریزهکاری هم دارد: اگر دو روز پشت سر هم با بیشترین قیمت برابر تمام شوند، روز دوم سقف حساب میشود، چون روزهای قبل از سقف میتوانند با آن برابر باشند ولی روزهای بعدش باید پایینتر باشند. در اجرای ۱۹ مهر، بیشترین قیمت وتوس در ۸ و ۱۱ مهر هر دو ۸٬۰۴۰ ریال بود و فیلتر ۱۱ مهر را سقف گرفت.
قدم دوم سقف اول است: بالاترین سقف ۶۰ روز معاملاتی اخیر. خط روند از اینجا شروع میشود، چون اصلاح از اینجا شروع شده است.
قدم سوم سقف دوم است و مهمترین قسمت فیلتر. بعد از سقف اول معمولاً چند سقف پایینتر وجود دارد و خط باید به یکی از آنها برسد. فرض کنید سقف اول ۱۰۰۰ ریال است و ۳۰ روز پیش ثبت شده. دو سقف بعدی داریم: ۹۴۰ ریال در ۱۸ روز پیش و ۹۰۰ ریال در ۸ روز پیش. خط از ۱۰۰۰ به ۹۴۰ در ۱۲ روز ۶۰ ریال پایین میآید، یعنی روزی ۵ ریال. خط از ۱۰۰۰ به ۹۰۰ در ۲۲ روز ۱۰۰ ریال پایین میآید، یعنی روزی حدود ۴٫۵۵ ریال. فیلتر خطی را انتخاب میکند که کمترین شیب را دارد، یعنی خط دوم.
دلیل این انتخاب این است که فقط کمشیبترین خط از بالای همهی سقفها رد میشود. خط ۱۰۰۰ به ۹۰۰ در روز ۱۸ به ۹۴۵٫۵ رسیده و سقف ۹۴۰ زیرش است. اگر خط را به ۹۴۰ وصل میکردیم، در روز ۸ به ۸۹۰ میرسید و سقف ۹۰۰ بالای خط میماند؛ خطی که سقفی بالایش مانده خط روند درستی نیست. این همان کاری است که روی نمودار با خطکش میکنید: خطکش را روی سقف اول نگه میدارید و آن را پایین میآورید تا به اولین سقفی بخورد که بعد از آن هیچ سقفی بالای خط نماند.
یک قید دیگر هم هست: سقف دوم باید دستکم ۱۰ روز بعد از سقف اول باشد. سقفهایی که در این ۱۰ روز ثبت شدهاند برای کشیدن خط استفاده نمیشوند. دلیلش این است که خطی که فقط چند روز طول کشیده، بیشتر یک نوسان کوتاه است تا روند، و یک سقف خیلی نزدیک به سقف اول میتواند خط را تند و بیمعنا کند.
شش شرط فیلتر به زبان ساده
همان مثال بخش قبل را ادامه میدهیم: سقف اول ۱۰۰۰ ریال در ۳۰ روز پیش، سقف دوم ۹۰۰ ریال در ۸ روز پیش. خط روند روزی حدود ۴٫۵۵ ریال پایین میآید؛ دیروز روی ۸۶۸ و امروز روی ۸۶۴ ریال است.
شرط اول، فاصلهی دو سقف: بین سقف اول و سقف دوم دستکم ۱۰ روز معاملاتی فاصله باشد. در مثال ۲۲ روز فاصله است. این شرط در کد به دو شکل آمده: سقف دوم فقط بین سقفهایی جستوجو میشود که دستکم ۱۰ روز بعد از سقف اولاند، و اگر سقف اول کمتر از ۱۴ روز پیش باشد، یعنی جایی برای سقف دوم و سه روز بعدش نمانده باشد، نماد همان اول کنار میرود.
شرط دوم، نزولی بودن خط: سقف دوم دستکم ۵ درصد پایینتر از سقف اول باشد، یعنی در مثال ۹۵۰ یا کمتر. سقف دوم ۹۰۰ است و ۱۰ درصد پایینتر. بدون این شرط، دو سقف تقریباً همارتفاع هم یک خط حساب میشدند؛ چنین خطی تقریباً افقی است و شکستش در واقع شکست یک مقاومت است، نه پایان یک روند نزولی.
شرط سوم، تازه بودن شکست: از سقف اول تا دیروز هیچ روزی قیمت پایانی بالای خط نبوده باشد. در مثال پایانی دیروز باید ۸۶۸ یا کمتر باشد. این شرط فیلتر را به روز شکست محدود میکند؛ سهمی که سه روز پیش خط را شکسته و حالا ۱۰ درصد بالای آن است، شکستش دیگر خبر امروز نیست و این شرط کنارش میگذارد. شرط فقط قیمت پایانی را میسنجد، پس روزی که با سایه بالای خط رفته و زیر آن بسته شده مانع نیست.
شرط چهارم، شکست: قیمت پایانی امروز بالای خط باشد. خط امروز روی ۸۶۴ است؛ اگر پایانی امروز ۸۸۰ باشد، ستون اول خروجی ۱٫۹ درصد را نشان میدهد. ملاک قیمت پایانی است، نه آخرین معامله، چون پایانی میانگین وزنی معاملات روز است و یک معاملهی آخر وقت آن را جابهجا نمیکند.
شرط پنجم، حجم: حجم امروز بیشتر از میانگین حجم ۲۰ روز معاملاتی اخیر باشد. اگر میانگین ۲ میلیون سهم است، حجم امروز باید بیشتر از ۲ میلیون باشد؛ با ۳ میلیون سهم ستون چهارم ۱٫۵ را نشان میدهد. شکستی که با حجم کم اتفاق بیفتد یعنی عرضهی روی خط با معاملهی واقعی خورده نشده و چند معاملهی کوچک قیمت را بالا برده است.
شرط ششم، نقدشوندگی: ارزش معاملات امروز بیشتر از ۳ میلیارد ریال، یعنی ۳۰۰ میلیون تومان، باشد. این شرط نمادهای کممعامله را کنار میگذارد که در آنها چند سفارش کوچک میتواند قیمت را از روی هر خطی رد کند.
روزها را چطور میشمارد: x، off و ردیفهای تاریخچه
فیلتر روی تاریخچهی روزانهی تعدیلشده کار میکند و در کد، x شمارهی روز به عقب است: x برابر ۱ دیروز است، x برابر ۲ پریروز و همینطور تا عقب. x برابر صفر خود امروز است که قیمتش از تابلو میآید، نه از تاریخچه. خط روند هم با همین x حساب میشود؛ line(1) جایی است که خط دیروز به آن رسیده بود و line(0) جایی است که امروز به آن رسیده.
«روز» در این فیلتر یعنی ردیف تاریخچه، نه روز تقویمی. روزهای تعطیل و روزهایی که نماد بسته بوده ردیفی ندارند و شمرده نمیشوند. در نمونهی حشکوه در همین صفحه، نماد بعد از ۱۸ شهریور بسته بود و ۲۹ شهریور بازگشایی شد؛ برای فیلتر این دو روز پشت سر هماند. خط روند هم در همین روزهای معاملاتی پایین میآید، نه در روزهای تقویمی.
متغیر off برای این است که x برابر ۱ همیشه واقعاً دیروز باشد. تاریخچهی روزانه یک بار در روز بهروز میشود و در بعضی ساعتها ممکن است ردیف امروز هم در آن آمده باشد. اگر اولین ردیف تاریخچه همان قیمت پایانی، تعداد معامله و ارزش معاملاتی را داشته باشد که تابلوی امروز نشان میدهد، یعنی آن ردیف خود امروز است؛ off برابر ۱ میشود و فیلتر یک ردیف جلوتر شروع میکند. بدون این، امروز یک بار بهعنوان امروز و یک بار بهعنوان دیروز شمرده میشد، همهی روزها یک خانه جابهجا میشدند و شرط سوم ممکن بود شکست امروز را شکست دیروز ببیند و نماد را کنار بگذارد.
سقفها در x از ۴ تا ۶۰ جستوجو میشوند. سه روز آخر نمیتوانند سقف باشند، چون هنوز سه روز بعدشان دیده نشده؛ روز شصتم هم برای اینکه سقف باشد به سه روز قبل از خودش نیاز دارد. برای همین فیلتر دستکم ۶۳ ردیف تاریخچه لازم دارد و اگر نماد کمتر داشته باشد کنار میرود. میانگین حجم از ۲۰ ردیف آخر، x از ۱ تا ۲۰، حساب میشود.
کد خط به خط
خط اول بدنه، var h=[it]، تاریخچهی تعدیلشدهی روزانهی نماد را در h میگذارد. تعدیلشده یعنی قیمتهای قبل از افزایش سرمایه و تقسیم سود با قیمت امروز هممقیاس شدهاند؛ در تاریخچهی تعدیلنشده، قیمت قبل از مجمع یک سقف ساختگی میسازد و خط از جایی کشیده میشود که هیچوقت سقف نبوده. سه شرط بعدی نمادی را که تاریخچه ندارد، قیمت پایانیاش صفر است یا امروز اصلاً معامله نشده، یعنی بیشترین قیمت امروزش صفر است، کنار میگذارند.
خط بعدی off را تعیین میکند که در بخش قبل توضیح داده شد. N، K و GAP سه عدد اصلی فیلترند: ۶۰ روز بازهی جستوجو، ۳ روز دو طرف سقف و ۱۰ روز کمترین فاصلهی دو سقف. شرط h.length<off+N+K مطمئن میشود که ۶۳ ردیف لازم وجود دارد. دو تابع hi و cl بیشترین قیمت و قیمت پایانی روز x را برمیگردانند و حلقهی بعدی بررسی میکند که در هیچکدام از این ۶۳ روز این دو عدد صفر نباشند؛ ردیف خالی یا صفر میتوانست سقف ساختگی بسازد یا مقایسه با خط را خراب کند.
تابع isPeak تعریف سقف را پیاده میکند. برای k از ۱ تا ۳، hi(x+k) روز k-ام قبل از x است و hi(x-k) روز k-ام بعد از آن. اگر یکی از روزهای قبل بالاتر باشد، یا یکی از روزهای بعد بالاتر یا برابر باشد، x سقف نیست. نامساویها عمداً یکی سخت و یکی ملایماند تا از دو روز برابر فقط یکی سقف شود.
حلقهی بعدی روی x از ۴ تا ۶۰ میچرخد و بالاترین سقف را در xa نگه میدارد. چون مقایسه با علامت بزرگتر سخت است و حلقه از نزدیک به دور میرود، اگر دو سقف همارتفاع بالاترین باشند، جدیدتر انتخاب میشود. بعد اگر xa کمتر از ۱۴ باشد، یعنی جایی برای سقف دوم نمانده، فیلتر کنار میکشد.
حلقهی xb سقف دوم را بین x برابر ۴ تا xa-10 پیدا میکند. s شیب خط از سقف اول تا سقف x است، به ریال در هر روز. چون سقف x پایینتر از سقف اول است، s منفی است و بزرگترین s یعنی منفیِ کوچکتر، یعنی کمشیبترین خط. اگر سقفی همارتفاع سقف اول در این بازه باشد، s آن صفر است و انتخاب میشود، و شرط بعدی، hi(xb)>hi(xa)*0.95، چنین خط افقی را رد میکند. اگر هیچ سقفی در بازه نباشد، xb صفر میماند و نماد کنار میرود.
تابع line معادلهی خطی است که از دو نقطهی (xa، سقف اول) و (xb، سقف دوم) میگذرد و برای هر x مقدار خط را میدهد، چه بین دو سقف و چه بعد از سقف دوم تا امروز. حلقهی بعدی شرط سوم است: پایانی هیچ روزی از دیروز تا روز قبل از سقف اول نباید بالای خط باشد. lt مقدار خط در امروز است و شرط چهارم پایانی امروز را با آن مقایسه میکند.
حلقهی حجم QTotTran5J، یعنی حجم معاملات روز، را برای ۲۰ روز اخیر جمع میکند و فقط روزهایی را میشمارد که حجم مثبت داشتهاند؛ vr حجم امروز تقسیم بر این میانگین است. چهار خط بعدی ستونهای خروجی را پر میکنند؛ ضرب در ۱۰۰۰، گرد کردن و تقسیم بر ۱۰ نسبت را به درصد با یک رقم اعشار تبدیل میکند. خط return دو شرط آخر را با && میسنجد. کل بدنه داخل تابعی است که بلافاصله اجرا میشود و true===function(){...}() نتیجهاش را به true یا false تبدیل میکند، چیزی که صفحهی فیلترنویسی از هر فیلتر انتظار دارد.
یک نکته دربارهی جملهی سربرگ کد که میگوید هیچ سقفی بین دو سقف بالای خط نمیماند: این برای سقفهایی درست است که دستکم ۱۰ روز بعد از سقف اولاند، چون فقط آنها در انتخاب کمشیبترین خط شرکت دارند. سقفهای ۱۰ روز اول و سایهی کندلها ممکن است کمی بالای خط بروند؛ چیزی که فیلتر برای همهی روزها تضمین میکند این است که هیچ قیمت پایانی تا دیروز بالای خط نبوده است.
عددها را چطور با سلیقهی خودتان تنظیم کنید
همهی عددهای مهم بالای کد یا در شرطها نوشته شدهاند. برای اینکه اثر هر تغییر ملموس باشد، چند نسخه از فیلتر را روی همان بازار پایان معاملات ۱۹ مهر ۱۴۰۵ اجرا کردیم که نسخهی اصلی در آن ۵ نماد برگرداند.
شرط حجم را با عوض کردن vr>1 تنظیم کنید. با vr>1.5 فهرست آن روز به ۳ نماد رسید، ولتجار، کساپا و وتوس، و حشکوه و کصدف که حجمشان ۱٫۲۶ و ۱٫۰۰ برابر میانگین بود بیرون افتادند. اگر شرط حجم و ارزش معاملات را کامل حذف کنید، در همان روز باز هم همان ۵ نماد برگشت؛ یعنی آن روز گلوگاه خود خط روند بود، نه نقدشوندگی، و هر ۵ شکست با حجم بالاتر از میانگین اتفاق افتاده بود.
شرط دوم را با عدد 0.95 در خط hi(xb)>hi(xa)*0.95 تنظیم کنید. با 0.90، یعنی سقف دوم دستکم ۱۰ درصد پایینتر، فقط ولتجار در فهرست ماند. هرچه این عدد کوچکتر باشد، فقط روندهای نزولی عمیقتر باقی میمانند.
برای خطهای بلندتر GAP را بزرگ کنید. در اجرای ۱۹ مهر، فاصلهی دو سقف در هر ۵ نماد بین ۱۱ تا ۱۴ روز معاملاتی بود و با GAP=20 فهرست خالی شد. اگر خطهای چندماهه میخواهید، GAP را ۲۰ یا ۳۰ و N را ۱۲۰ کنید و تاریخچهی تعدیلشدهی ۳۰۰ روزه را بارگذاری کنید؛ شرط h.length<off+N+K خودش با N جدید تنظیم میشود.
K تعریف سقف را سخت یا آسان میکند. با K=5 سقف باید از ۵ روز قبل و بعدش بالاتر باشد؛ سقفها کمتر و مهمتر میشوند و نوسانهای کوچک دیگر سقف حساب نمیشوند. و اگر شکست قاطعتری میخواهید، شرط چهارم را به if(!((pc)>lt*1.01)) return false; تغییر دهید تا پایانی امروز دستکم ۱ درصد بالای خط باشد؛ این تغییر حشکوه را با فاصلهی ۰٫۳ درصدیاش از فهرست بیرون میبرد.
خروجی فیلتر را چطور بخوانیم
ستون اول فاصلهی قیمت پایانی امروز از خط روند به درصد است. عدد زیر ۱ یعنی شکست مرزی است و با کمی تغییر در قیمت پایانی از بین میرود. عدد ۲ تا ۴ شکستی است که قیمت واقعاً از خط فاصله گرفته. عدد خیلی بزرگ معمولاً یعنی سهم دیروز با فاصلهی زیادی زیر خط بوده و امروز با یک جهش از آن رد شده است.
ستون دوم تعداد روزهای معاملاتی از سقف اول تا امروز است و طول اصلاح را نشان میدهد. خطی که ۴۰ یا ۵۰ روز دوام آورده و شکسته شده، روند طولانیتری را تمام کرده تا خطی که ۱۵ روز عمر داشته.
ستون سوم نشان میدهد سقف دوم چند درصد پایینتر از سقف اول است، یعنی خط چقدر نزولی بوده. ستون چهارم حجم امروز است بر حسب چند برابر میانگین ۲۰ روزه.
اگر خروجی را بر اساس ستون چهارم از بزرگ به کوچک مرتب کنید، شکستهایی بالای فهرست میآیند که با بیشترین حجم نسبت به معمول سهم همراه بودهاند. بعد از فیلتر، برای هر نماد اینها را نگاه کنید: آیا امروز پول حقیقی وارد شده، آیا فاصله تا سقف اول، که اولین مانع بعدی است، زیاد است یا کم، و آیا سهم در روزهای بعد بالای خط میماند. شکستی که قیمت بعد از آن به خط برگردد و از بالا رویش بایستد، الگوی پولبک را میسازد که فیلتر جداگانهی خودش را دارد.
سیگنالهای اصلی
- بالاترین سقف ۶۰ روز اخیر و سقف پایینتری که دستکم ۱۰ روز معاملاتی بعد از آن ثبت شده
- سقف دوم دستکم ۵ درصد پایینتر از سقف اول، یعنی خط واقعاً نزولی است
- هیچ قیمت پایانی از سقف اول تا دیروز بالای خط روند نبوده
- قیمت پایانی امروز بالای خط روند
- حجم امروز بیشتر از میانگین ۲۰ روز معاملاتی اخیر
- ارزش معاملات امروز بیشتر از ۳۰۰ میلیون تومان
کاربردهای این فیلتر
- پیدا کردن روز اول شکست خط روند، پیش از آنکه قیمت از خط دور شود
- ساختن فهرست روزانهی سهمهایی که اصلاحشان ممکن است تمام شده باشد
- زیر نظر گرفتن سهمهایی که بعد از شکست ممکن است برای پولبک به خط برگردند
- پایهای برای فیلترهای خط روند خودتان، با عوض کردن N، K، GAP و آستانهها
اشتباههای رایج در استفاده از این فیلتر
- این فیلتر روی [it]، یعنی تاریخچهی تعدیلشده، نوشته شده. اگر آن را با [ih] اجرا کنید، برای نمادی که در ۶۰ روز اخیر افزایش سرمایه یا تقسیم سود داشته، قیمت قبل از مجمع سقف ساختگی میسازد و خط از جای اشتباهی کشیده میشود. در اجرای ۱۹ مهر ۱۴۰۵ نسخهی [ih] همان ۵ نماد را برگرداند، ولی برای حشکوه که قیمتش در این بازه تعدیل شده، فاصله از خط را ۰٫۵ درصد به جای ۰٫۳ و افت سقف دوم را ۸٫۲ درصد به جای ۸ نشان داد.
- تاریخچهی روزانهی تعدیلشده باید روی صفحهی فیلترنویسی بارگذاری شده باشد و دستکم ۶۳ روز داشته باشد. تاریخچهی ۹۰ روزه کافی است. بدون آن همهی نمادها رد میشوند و فیلتر خالی برمیگردد. نمادهای تازهوارد که هنوز ۶۳ روز معامله ندارند هم به همین دلیل در خروجی نمیآیند.
- وسط بازار قیمت پایانی هنوز نهایی نشده و هر لحظه عوض میشود. سهمی که ساعت ده بالای خط است ممکن است در پایان روز زیر خط بسته شود. نتیجهی قطعی را بعد از بسته شدن بازار ببینید. ملاک فیلتر قیمت پایانی است، نه آخرین معامله؛ در نمونهی حشکوه آخرین معامله ۱٬۳۱۲ و پایانی ۱٬۳۰۲ بود.
- خط روی بیشترین قیمت سقفها کشیده میشود ولی شرط سوم فقط قیمت پایانی را میسنجد. سهمی که در روزهای قبل با سایه بالای خط رفته و زیر آن بسته شده، رد نمیشود؛ حشکوه در دو روز معاملاتی قبل از شکست همینطور بود. اگر شکست را فقط وقتی میخواهید که هیچ سایهای هم قبلاً به خط نخورده باشد، در حلقهی شرط سوم cl(x) را با hi(x) عوض کنید.
- رد شدن از فیلتر یعنی سهم امروز بالای خط بسته شده، نه اینکه شکست تثبیت شده است. اگر قیمت در روزهای بعد دوباره زیر خط بسته شود و آنجا بماند، شکست کاذب بوده است.
پرسشهای پرتکرار
خط روند نزولی در این فیلتر چطور رسم میشود؟
خط از بالاترین سقف ۶۰ روز معاملاتی اخیر شروع میشود. از بین سقفهایی که دستکم ۱۰ روز بعد از آن ثبت شدهاند، سقفی انتخاب میشود که کمشیبترین خط را میسازد؛ این همان خطی است که از بالای همهی آن سقفها رد میشود. سقف هم روزی است که بیشترین قیمتش از ۳ روز قبل و ۳ روز بعدش بالاتر باشد. خط بعد از سقف دوم ادامه پیدا میکند تا به امروز برسد.
چرا شکست باید مال امروز باشد؟
شرط سوم بررسی میکند که از سقف اول تا دیروز هیچ روزی بالای خط بسته نشده باشد. بدون این شرط، سهمی که هفتهی پیش خط را شکسته و حالا چند درصد بالاتر رفته هم در فهرست میآمد و فهرست هر روز با شکستهای قدیمی شلوغ میشد. با این شرط، هر نماد فقط یک بار، در روزی که شکست اتفاق افتاده، در خروجی ظاهر میشود.
فرق شکست خط روند نزولی با شکست مقاومت چیست؟
مقاومت یک سطح افقی است؛ قیمتی که سهم چند بار به آن رسیده و برگشته. خط روند نزولی مایل است و هر روز پایینتر میآید، پس شکستش زودتر و در قیمت پایینتری اتفاق میافتد. شرط دوم این فیلتر، که سقف دوم را دستکم ۵ درصد پایینتر از سقف اول میخواهد، برای جدا کردن همین دو است؛ دو سقف همارتفاع یک مقاومت افقی میسازند، نه خط روند.
میشود همین فیلتر را برای شکست خط روند صعودی رو به پایین نوشت؟
بله، با برعکس کردن منطق. به جای PriceMax از PriceMin استفاده کنید و کف را روزی بگیرید که کمترین قیمتش از ۳ روز قبل و بعدش پایینتر است. کف اول پایینترین کف ۶۰ روز اخیر است، کف دوم کفی که دستکم ۱۰ روز بعد ثبت شده و کمشیبترین خط رو به بالا را میسازد، یعنی کوچکترین s را دارد، و دستکم ۵ درصد بالاتر از کف اول است. بعد بررسی کنید که تا دیروز هیچ پایانی زیر خط نبوده و پایانی امروز زیر خط است.
چرا بعضی روزها هیچ سهمی از این فیلتر رد نمیشود؟
این فیلتر فقط روز شکست را نشان میدهد و هر نماد حداکثر یک روز در خروجی میآید، پس فهرستش بهطور طبیعی کوتاه است؛ در اجرای ۱۹ مهر ۱۴۰۵ پنج نماد برگرداند. در روزهایی که بازار ریزشی است و کمتر سهمی بالای خط بسته میشود، فهرست ممکن است خالی باشد. اگر در روزی که بازار حال خوبی دارد هم خروجی خالی است، بررسی کنید تاریخچهی روزانهی تعدیلشده بارگذاری شده باشد.
فیلترهای مرتبط
فیلتر پولبک به مقاومت شکستهشده — فیلتر سهمهایی که در روند صعودی مقاومت قبلی را شکستهاند، بالا رفتهاند و حالا برای تثبیت به همان سطح شکستهشده برگشتهاند.
فیلتر حجم بالاتر از میانگین ماه — فیلتر مقایسه حجم امروز با میانگین حجم یک ماه معاملاتی، برای پیدا کردن نمادهایی که تازه تحرک گرفتهاند.
فیلتر میانگین متحرک نمایی (EMA) — فیلتر تشخیص تقاطع و روند بر اساس میانگینهای متحرک نمایی (EMA 12, 26, 50).
