هنوز چیزی روی دستگاه شما ذخیره نشده است. هر وقت خواستید، از پابرگهٔ سایت به همین صفحه برمی‌گردید و انتخابتان را عوض می‌کنید.

با فعال‌کردن سنجش، به بهبود سایت کمک می‌کنید. این انتخاب اختیاری است و هر زمان می‌توانید آن را در تنظیمات حریم خصوصی تغییر دهید.

حامد ثقفیHamed Saghafi

فیلتر نویسی در بورس؛ آموزش نوشتن فیلتر در TSETMC از صفر + ۸ کد پرکاربرد

فهرست مطالب۱۶ بخش
  1. فیلترنویسی چیست و به چه دردی می‌خورد؟
  2. آیا برای فیلتر نویسی در بورس باید برنامه‌نویسی بلد باشیم؟
  3. طریقه فیلتر نویسی در بورس: افزودنِ فیلتر در دیده‌بان TSETMC قدم‌به‌قدم
  4. متغیرهای فیلتر: الفبای فیلترنویسی
  5. عملگرها: چطور شرط‌ها را کنارِ هم بگذاریم؟
  6. قالبِ ساده یا قالبِ کدنویسی؟
  7. کدهای فیلتر نویسی بورس: ۸ فیلترِ پرکاربرد با توضیح
  8. ساختِ ستونِ دلخواه در دیده‌بان
  9. بهترین فیلترهای بورس کدام‌اند؟
  10. فیلتر هوشمند بورس چیست؟
  11. اشتباه‌های رایج در فیلترنویسی
  12. چک‌لیستِ پیش از استفاده از هر فیلتر
  13. محدودیت‌های فیلترنویسی در TSETMC
  14. آموزش فیلترنویسی پیشرفته در بورس: قدمِ بعدی چیست؟
  15. سوالات متداول
  16. جمع‌بندی
فیلترنویسی در بورس

در بورس تهران و فرابورس بیش از هزار نماد معامله می‌شود و هیچ‌کس نمی‌تواند هر روز همه را یکی‌یکی نگاه کند. فیلتر نویسی یعنی چند شرطِ ساده را به زبانِ کد به سایتِ TSETMC بدهیم تا از میانِ این همه نماد، فقط سهم‌هایی را نشان بدهد که آن شرط‌ها را دارند؛ مثلاً «سهم‌هایی که امروز حجمشان دو برابرِ همیشه است». این کار رایگان است و برای شروع، برنامه‌نویسی هم لازم ندارد.

بیایید یک تشبیه بزنیم. فیلتر مثلِ آبکشِ آشپزخانه است. برنج و آب را با هم می‌ریزید و فقط برنج می‌ماند. در فیلترنویسی هم کلِ بازار را در آبکش می‌ریزیم و فقط سهم‌هایی که به کارمان می‌آیند می‌مانند. تفاوت این است که سوراخ‌های این آبکش را خودمان تعیین می‌کنیم.

فیلترنویسی چیست و به چه دردی می‌خورد؟

فیلترنویسی چیست؟ یک جملهٔ شرطی است که برای هر نماد جداگانه بررسی می‌شود. اگر جواب «بله» باشد، نماد در فهرست می‌ماند؛ اگر «نه» باشد، کنار می‌رود. سایت این کار را برای همهٔ نمادها در چند ثانیه انجام می‌دهد و هر چند ثانیه هم تکرار می‌کند.

به چه دردی می‌خورد؟ سه کارِ اصلی:

  • صرفه‌جویی در وقت: به‌جای هزار نماد، فقط ده بیست نماد را بررسی می‌کنید.
  • دیدنِ اتفاق‌های لحظه‌ای: ورودِ پول، حجمِ غیرعادی یا تشکیلِ صف را همان لحظه می‌بینید، نه فردا در اخبار.
  • نظم در تصمیم: وقتی معیارتان را نوشته‌اید، کمتر دنبالِ هیجانِ گروه‌های تلگرامی می‌روید.

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

آیا برای فیلتر نویسی در بورس باید برنامه‌نویسی بلد باشیم؟

نه، برای شروع لازم نیست. فیلترهای ساده فقط یک یا دو مقایسه‌اند، چیزی شبیهِ «قیمتِ آخر بیشتر از قیمتِ پایانی باشد». هر کس جمع و تفریق و «بزرگ‌تر از» را بداند، این‌ها را می‌نویسد.

اما اگر بخواهید فیلترهای پیشرفته‌تر بنویسید، مثلاً میانگینِ حجمِ ۲۰ روزِ گذشته را خودتان حساب کنید، کمی با زبانِ JavaScript (جاوااسکریپت) سروکار پیدا می‌کنید. جاوااسکریپت همان زبانی است که بیشترِ صفحه‌های وب با آن کار می‌کنند. خبرِ خوب این است که برای فیلترنویسی فقط چند دستورِ سادهٔ آن لازم است و پایین‌تر همه را با مثال می‌بینیم.

طریقه فیلتر نویسی در بورس: افزودنِ فیلتر در دیده‌بان TSETMC قدم‌به‌قدم

فیلترنویسی در سایت TSETMC، یعنی سایتِ رسمیِ شرکت مدیریت فناوری بورس تهران، انجام می‌شود. بخشی که فیلتر در آن نوشته می‌شود «دیده‌بان بازار» نام دارد؛ همان جدولِ بزرگی که همهٔ نمادها را با قیمت و حجمشان نشان می‌دهد. اگر هنوز با این سایت آشنا نیستید، اول آموزش TSETMC و تابلوی معاملات را ببینید.

دیده‌بان بازار در سایت TSETMC و نماد فیلتر
دیده‌بان بازار در سایت TSETMC؛ فیلتر از نوارِ ابزارِ بالای همین صفحه اضافه می‌شود. (لطفاً صفحهٔ دیده‌بان بازار را بگیرید، ترجیحاً با پنجرهٔ فیلتر باز.)
  1. سایتِ tsetmc.com را باز کنید و از منوی بالا «دیده‌بان بازار» را بزنید.
  2. در نوارِ ابزارِ بالای دیده‌بان، نمادِ فیلتر را پیدا کنید؛ معمولاً شکلِ قیف دارد.
  3. «فیلتر جدید» را بزنید و یک نامِ ساده برایش بگذارید، مثلاً «حجم بالا».
  4. کدِ فیلتر را در کادرِ مخصوص بنویسید یا بچسبانید.
  5. دکمهٔ «اعتبارسنجی» را بزنید. اگر پیغامِ خطا نیامد، کد درست است.
  6. فیلتر را ثبت و فعال کنید. حالا دیده‌بان فقط نمادهایی را نشان می‌دهد که شرطِ شما را دارند.

چند تنظیمِ کوچک هم کار را راحت‌تر می‌کند. از بخشِ تنظیماتِ دیده‌بان می‌توانید انتخاب کنید نمادهای بورس، فرابورس یا هر دو نمایش داده شوند، و اطلاعاتِ تکمیلی (مثل آمارِ حقیقی و حقوقی) روشن باشد. بعضی فیلترها بدونِ روشن‌بودنِ همین اطلاعاتِ تکمیلی جوابِ درست نمی‌دهند.

یک هشدارِ مهم: سایتِ TSETMC در سال‌های اخیر نسخهٔ تازه‌ای پیدا کرده و ظاهرِ دکمه‌ها ممکن است با تصویرهای قدیمیِ اینترنت فرق داشته باشد. بعضی فیلترهای قدیمی هم در نسخهٔ تازه بی‌تغییر کار نمی‌کنند. بزرگی و کوچکیِ حروفِ نامِ متغیرها را دقیقاً مثلِ راهنمای خودِ سایت بنویسید (مثلاً PClosing با P و C بزرگ). پس قبل از اعتماد به هر کدِ آماده، اعتبارسنجی را بزنید.

پس مسیر کوتاه است: دیده‌بان، قیف، فیلتر جدید، کد، اعتبارسنجی، ثبت.

متغیرهای فیلتر: الفبای فیلترنویسی

هر فیلتر از متغیر ساخته می‌شود. متغیر یعنی اسمِ کوتاهی که سایت برای یک عدد گذاشته؛ مثلاً (pl) یعنی قیمتِ آخرین معامله. این اسم‌ها را داخلِ پرانتز می‌نویسیم تا سایت بفهمد منظورمان دادهٔ امروزِ همان نماد است. جدولِ زیر پرکاربردترین متغیرها را نشان می‌دهد.

متغیرهای پرکاربرد در فیلترنویسیِ TSETMC
متغیریعنی چه؟به زبانِ ساده
(pl)قیمتِ آخرین معاملهآخرین قیمتی که سهم دست‌به‌دست شد
(pc)قیمتِ پایانیمیانگینِ وزنیِ معامله‌های امروز
(py)قیمتِ پایانیِ دیروزنقطهٔ شروعِ دامنهٔ امروز
(pf)قیمتِ اولین معاملهاولین قیمتِ امروز
(pmax) و (pmin)بیشترین و کمترین قیمتِ امروزسقف و کفی که امروز دیده شد
(tmax) و (tmin)سقف و کفِ قیمتِ مجازبالاترین و پایین‌ترین قیمتی که امروز اجازه دارد
(plp) و (pcp)درصدِ تغییرِ قیمتِ آخر و پایانیامروز چند درصد بالا یا پایین رفته
(tvol)حجمِ معاملاتِ امروزچند سهم امروز خرید و فروش شد
(tval) و (tno)ارزش و تعدادِ معامله‌هاچقدر پول و چند بار معامله شد
(bvol)حجمِ مبناحداقل حجمی که قیمت را کامل جابه‌جا می‌کند
(eps) و (pe)سودِ هر سهم و نسبتِ قیمت به سودشرکت به ازای هر سهم چقدر سود می‌سازد
(pd1) و (qd1)قیمت و حجمِ بهترین سفارشِ خریدردیفِ اولِ ستونِ خریداران
(po1) و (qo1)قیمت و حجمِ بهترین سفارشِ فروشردیفِ اولِ ستونِ فروشندگان

لازم نیست همه را حفظ کنید. با همین چند متغیر، بیشترِ فیلترهای معروف ساخته می‌شوند. فهرستِ کامل در بخشِ «راهنما»ی دیده‌بان هست. اگر فرقِ قیمتِ پایانی و قیمتِ آخرین معامله برایتان روشن نیست، این توضیح دربارهٔ قیمت پایانی و آخرین معامله را بخوانید، و برای (bvol) هم حجم مبنا چیست را.

یک دامِ رایج: قیمت‌ها در TSETMC به ریال هستند، نه تومان. اگر می‌خواهید بگویید «سهم‌های بالای ۵ هزار تومان»، باید بنویسید (pl) > 50000.

جدول فیلدهای ساده قابل استفاده در فیلترنویسی بورس

اطلاعاتِ حقیقی و حقوقی

حقیقی یعنی آدم‌های معمولی مثلِ من و شما. حقوقی یعنی شرکت‌ها، صندوق‌ها و بانک‌ها که به‌عنوانِ یک شخصیتِ حقوقی معامله می‌کنند. آمارِ خرید و فروشِ این دو گروه با پیشوندِ (ct). می‌آید. حرفِ I برای حقیقی است و N برای حقوقی.

متغیرهای خرید و فروشِ حقیقی و حقوقی
متغیریعنی چه؟
(ct).Buy_I_Volumeحجمِ خریدِ حقیقی‌ها
(ct).Buy_CountIتعدادِ خریدارانِ حقیقی
(ct).Sell_I_Volumeحجمِ فروشِ حقیقی‌ها
(ct).Sell_CountIتعدادِ فروشندگانِ حقیقی
(ct).Buy_N_Volumeحجمِ خریدِ حقوقی‌ها
(ct).Sell_N_Volumeحجمِ فروشِ حقوقی‌ها

با همین شش متغیر می‌شود «پول هوشمند» و «کد به کد» را پیدا کرد که پایین‌تر می‌بینیم.

جدول متغیرهای حقیقی و حقوقی در فیلترنویسی TSETMC

دسترسی به روزهای گذشته

متغیرهای داخلِ پرانتز مالِ امروزند. برای روزهای قبل از [ih] استفاده می‌کنیم که سابقهٔ روزانهٔ نماد است. [ih][0] یعنی آخرین روزِ معاملاتیِ قبل از امروز، [ih][1] یعنی روزِ قبل‌ترش و همین‌طور تا عقب. پس برای n روز پیش، عددِ n منهای یک را می‌گذارید؛ برای ۱۰ روز پیش، ۹.

مثلاً این فیلتر سهم‌هایی را نشان می‌دهد که قیمتِ پایانیِ دیروزشان از پریروز بیشتر بوده:

[ih][0].PClosing > [ih][1].PClosing

در سابقهٔ روزانه، PClosing قیمتِ پایانی، PriceMin و PriceMax کمترین و بیشترین قیمت، و QTotTran5J حجمِ معاملاتِ آن روز است.

دسترسی به سابقه قیمت و معاملات در فیلترنویسی بورس

عملگرها: چطور شرط‌ها را کنارِ هم بگذاریم؟

عملگر یعنی علامتی که دو چیز را مقایسه یا با هم ترکیب می‌کند. سه دستهٔ عملگر داریم و جدولِ زیر همه را با معنا نشان می‌دهد.

عملگرهای فیلترنویسی و معنای آن‌ها
علامتمعنامثال
+ - * /جمع، تفریق، ضرب، تقسیم(tvol) / (bvol)
> < >= <=بزرگ‌تر، کوچک‌تر، بزرگ‌تر یا مساوی، کوچک‌تر یا مساوی(pl) > (pc)
==مساوی (دو علامت، نه یکی)(pl) == (tmax)
!=نامساوی(pl) != (pc)
&&«و»: هر دو شرط برقرار باشد(pl) > (pc) && (eps) > 0
||«یا»: یکی از دو شرط کافی است(plp) > 3 || (pcp) > 3
!«نه»: شرط را برعکس می‌کند!((pl) == (tmin))

مثلِ ریاضیِ مدرسه، ضرب و تقسیم زودتر از جمع و تفریق انجام می‌شوند. هر جا شک دارید، پرانتز بگذارید؛ پرانتزِ اضافه ضرری ندارد ولی پرانتزِ جاافتاده جواب را عوض می‌کند. پس قاعدهٔ طلایی این است: «مساوی دوتاست و پرانتز بی‌خرج است.»

جدول عملگرهای محاسباتی منطقی و رابطه‌ای در فیلترنویسی

قالبِ ساده یا قالبِ کدنویسی؟

فیلتر را به دو شکل می‌شود نوشت. قالبِ ساده یک خط است که چند شرط را با && یا || به هم وصل می‌کند. قالبِ کدنویسی یک برنامهٔ کوچک است که می‌تواند حلقه بزند، متغیرِ تازه بسازد و حساب‌وکتابِ چندمرحله‌ای کند.

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

قالبِ کدنویسی همیشه با این اسکلت شروع می‌شود و آخرش باید «درست» (true) یا «نادرست» (false) برگرداند:

true == function() {
  // شرط‌ها و حساب‌ها اینجا
  return false;
}()

اگر برنامه true برگرداند، نماد در دیده‌بان می‌ماند. اگر false برگرداند، نماد پنهان می‌شود. این اسکلت را از راهنمای سایت کپی کنید تا اشتباهِ تایپی پیش نیاید.

مقایسهٔ قالب ساده و قالب کدنویسی
ویژگیقالبِ سادهقالبِ کدنویسی
شکلیک خطچند خط با function
یادگیرییک ساعتچند روز تمرین
حلقه و میانگین‌گیریندارددارد
متغیرِ دلخواه با varندارددارد
مناسبِشرط‌های سادهٔ قیمت و حجمپول هوشمند، میانگینِ چندروزه، الگوهای ترکیبی

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

کدهای فیلتر نویسی بورس: ۸ فیلترِ پرکاربرد با توضیح

این بخش برای خیلی‌ها مهم‌ترین قسمت است. هر فیلتر را با معنایش آورده‌ام تا بدانید دقیقاً چه چیزی را جست‌وجو می‌کند. عددهای داخلِ فیلترها پیشنهادِ شروع‌اند؛ با تجربه، آن‌ها را مطابقِ سلیقهٔ خودتان تنظیم کنید. قبل از استفاده، هر کدام را در سایت اعتبارسنجی کنید.

۱. قیمتِ آخر بالاتر از قیمتِ پایانی

(pl) > (pc)

یعنی معامله‌های آخرِ روز گران‌تر از میانگینِ روز انجام شده‌اند. این معمولاً نشانهٔ قدرت گرفتنِ خریداران در ساعت‌های پایانی است. ولی به‌تنهایی کافی نیست؛ شرطِ حجم را هم کنارش بگذارید.

۲. فیلتر حجم مشکوک

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

true == function() {
  var sum = 0;
  for (var i = 0; i < 20; i++) { sum = sum + [ih][i].QTotTran5J; }
  var avg = sum / 20;
  return (tvol) > avg * 3 && (pl) > (py);
}()

به زبانِ ساده: حجمِ ۲۰ روزِ گذشته را جمع می‌زند، تقسیم بر ۲۰ می‌کند، و سهم‌هایی را نشان می‌دهد که امروز بیش از سه برابرِ این میانگین معامله شده‌اند و قیمتشان هم مثبت است. برای جزئیات و نسخه‌های دیگر، فیلتر حجم مشکوک را ببینید.

۳. ورود پول هوشمند با سرانه خرید

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

این یعنی پول‌های درشت دارند از دستِ پول‌های خرد سهم می‌خرند. به این پدیده ورود پول هوشمند می‌گویند. فیلترش:

true == function() {
  if ((ct).Buy_CountI == 0 || (ct).Sell_CountI == 0) return false;
  var buyPer = (ct).Buy_I_Volume / (ct).Buy_CountI * (pc);
  var sellPer = (ct).Sell_I_Volume / (ct).Sell_CountI * (pc);
  return buyPer > sellPer * 2 && buyPer > 500000000;
}()

خطِ اول جلوی تقسیم بر صفر را می‌گیرد. شرطِ آخر هم می‌گوید سرانهٔ خرید دست‌کم ۵۰۰ میلیون ریال، یعنی ۵۰ میلیون تومان، باشد تا سهم‌های کم‌معامله وارد فهرست نشوند. این مبلغ را با تورم و حالِ بازار عوض کنید.

۴. فیلتر کد به کد حقوقی به حقیقی

کد به کد یعنی بخشِ بزرگی از سهم از یک گروه به گروهِ دیگر منتقل شده؛ مثلاً حقوقی‌ها فروخته‌اند و حقیقی‌ها خریده‌اند. این فیلتر سهم‌هایی را نشان می‌دهد که بیش از ۷۰٪ حجمِ امروزشان را حقوقی فروخته و حقیقی خریده:

(ct).Sell_N_Volume > 0.7 * (tvol) && (ct).Buy_I_Volume > 0.7 * (tvol)

اگر جای N و I را عوض کنید، کد به کدِ حقیقی به حقوقی را پیدا می‌کنید. تفسیرِ هر کدام فرق دارد و در مقالهٔ کد به کد در بورس باز شده است.

۵. سهم‌هایی که صف خرید هستند

(pd1) == (tmax) && (qd1) > 0

یعنی بهترین سفارشِ خرید روی سقفِ مجازِ قیمت نشسته است. این همان صف خرید است. برای صف فروش، (po1) == (tmin) را بنویسید.

۶. صف خریدِ کم‌حجم

(pd1) == (tmax) && (qd1) >= 0.2 * (bvol) && (qd1) <= (bvol)

صفی که حجمش کمتر از حجمِ مبناست، شکننده است. یعنی با یک فروشِ درشت ممکن است باز شود. این فیلتر برای مراقبت از سهم‌هایی است که در صفشان هستید.

۷. نزدیک به صف خرید

(pl) >= (tmax) * 0.98 && (pd1) < (tmax) && (tvol) > (bvol)

یعنی قیمتِ آخر کمتر از ۲٪ با سقف فاصله دارد، هنوز صف نشده و حجم هم از حجمِ مبنا گذشته است. دامنهٔ مجازِ هر سهم را در قیمت مجاز سهم و دامنه نوسان ببینید؛ عددِ ۰٫۹۸ برای دامنه‌های معمول مناسب است.

۸. کفِ قیمتِ ۲۰ روزه

true == function() {
  var min = [ih][0].PriceMin;
  for (var i = 1; i < 20; i++) { if ([ih][i].PriceMin < min) min = [ih][i].PriceMin; }
  return (pl) < min;
}()

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

پس این هشت فیلتر جعبه‌ابزارِ اولِ شماست: حجم، پول هوشمند، کد به کد، صف و شکستِ قیمت.

ساختِ ستونِ دلخواه در دیده‌بان

گاهی نمی‌خواهید نمادی را حذف کنید؛ فقط می‌خواهید یک عددِ تازه، مثلاً سرانهٔ خرید، کنارِ هر نماد ببینید. برای این کار از «قالبِ نمایش» یک قالبِ شخصی بسازید و ستونی با دادهٔ cfield0 اضافه کنید. طبقِ راهنمای سایت، حداکثر سه ستونِ دلخواه از این نوع می‌شود ساخت.

بعد در فیلتر مقدارِ آن ستون را تعیین کنید. مثلاً این خط سرانهٔ خریدِ حقیقی را به میلیون تومان در ستونِ دلخواه می‌گذارد:

(cfield0) = Math.round((ct).Buy_I_Volume / (ct).Buy_CountI * (pc) / 10000000)

تقسیم بر ۱۰ میلیون یعنی اول ریال را به تومان (تقسیم بر ۱۰) و بعد تومان را به میلیون تومان (تقسیم بر یک میلیون) برده‌ایم. Math.round هم عدد را گرد می‌کند. توابعِ آمادهٔ دیگر مثلِ Math.abs (قدرِ مطلق)، Math.max و Math.min هم در دسترس‌اند.

ساخت قالب نمایش شخصی و ستون cfield0 در دیده‌بان بازار

بهترین فیلترهای بورس کدام‌اند؟

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

جدولِ زیر نشان می‌دهد هر فیلتر به کارِ چه کسی می‌آید.

کدام فیلتر برای کدام سبکِ معامله
سبکفیلترهای مناسبهشدار
نوسان‌گیرِ کوتاه‌مدتحجم مشکوک، پول هوشمند، نزدیک به صفسیگنالِ اشتباه زیاد است؛ حدِ ضرر لازم دارد
صف‌سوارصف خرید، صف کم‌حجمصفِ کم‌حجم زود باز می‌شود
میان‌مدتکد به کد، کفِ ۲۰ روزه، (eps) > 0بدونِ بررسیِ بنیادی، فیلتر کافی نیست
بنیادی(pe) پایین همراه با (eps) مثبتP/E پایین گاهی دلیلِ بدی دارد

پس به‌جای جست‌وجوی «بهترین فیلتر»، اول روشِ خودتان را روشن کنید. اگر هنوز روش ندارید، روش من در انتخاب سهم نقطهٔ شروعِ خوبی است.

فیلتر هوشمند بورس چیست؟

بعضی اپلیکیشن‌ها و سایت‌ها فهرستی با نامِ «فیلتر هوشمند» عرضه می‌کنند. بیشترِ این‌ها همان شرط‌های بالا هستند که آماده نوشته شده‌اند؛ مثلاً پول هوشمند یا حجم مشکوک. هوشِ خاصی پشتشان نیست.

مشکلِ فیلترِ آماده این است که نمی‌دانید داخلش چه نوشته. ممکن است عددهایش برای بازارِ سه سال پیش تنظیم شده باشد. وقتی خودتان فیلترنویسی بلد باشید، فیلترهای آماده را هم می‌خوانید و اصلاح می‌کنید. پس یاد گرفتن، شما را از هر ابزاری مستقل می‌کند.

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

  • یک مساوی به‌جای دو مساوی: = یعنی «مقدار بده»، نه «مقایسه کن». برای مقایسه == بنویسید.
  • تومان به‌جای ریال: همهٔ قیمت‌ها و ارزش‌ها ریالی‌اند. عددِ تومانی را ضربدر ۱۰ کنید.
  • بی‌توجهی به بزرگی و کوچکیِ حروف: PClosing با Pclosing فرق دارد.
  • تقسیم بر صفر: اگر خریدارِ حقیقی صفر باشد، سرانه بی‌معنا می‌شود. اول صفر نبودن را چک کنید.
  • اشتباه در شمارشِ روزها: [ih][0] دیروز است، نه امروز.
  • کپیِ کورکورانه: فیلترهای «۷۰۰ فیلترِ برتر» اینترنت را بی‌آزمایش استفاده نکنید. خیلی‌هایشان برای نسخهٔ قدیمیِ سایت نوشته شده‌اند.
  • خرید فقط با فیلتر: فیلتر فهرست را کوتاه می‌کند، تصمیم را نه.

چک‌لیستِ پیش از استفاده از هر فیلتر

  • می‌دانم این فیلتر دقیقاً چه چیزی را جست‌وجو می‌کند و می‌توانم آن را در یک جملهٔ فارسی بگویم.
  • اعتبارسنجی را زده‌ام و خطا نداشته.
  • واحدِ عددها (ریال، درصد، تعداد) را چک کرده‌ام.
  • فیلتر را چند روز فقط تماشا کرده‌ام تا ببینم سهم‌هایی که نشان می‌دهد بعداً چه شدند.
  • برای هر سهمی که فیلتر نشان داد، نمودار، اطلاعیه‌های کدال و وضعیتِ بنیادی را خودم دیده‌ام.
  • حدِ ضرر و مقدارِ سرمایه‌ای که در یک سهم می‌گذارم را از قبل تعیین کرده‌ام.

محدودیت‌های فیلترنویسی در TSETMC

فیلترنویسی ابزارِ قدرتمندی است، اما چند محدودیت دارد که بهتر است از اول بدانید.

  • سابقهٔ روزانه محدود است و نمی‌شود فیلتری روی داده‌های چندساله نوشت.
  • اندیکاتورهای تکنیکال مثلِ RSI یا مکدی آماده نیستند؛ باید با حلقه خودتان حسابشان کنید که کارِ ساده‌ای نیست.
  • فیلتر فقط برای بازارِ سهامِ ایران است.
  • تنظیماتِ فیلتر به مرورگر وابسته است؛ اگر مرورگر یا دستگاه را عوض کنید، شاید فیلترها را دوباره وارد کنید. پس کدهایتان را جایی یادداشت کنید.

با این حال، برای یک سرمایه‌گذارِ معمولی همین امکاناتِ رایگان بیش از کافی است.

آموزش فیلترنویسی پیشرفته در بورس: قدمِ بعدی چیست؟

اگر این هشت فیلتر را نوشتید و فهمیدید، نیمی از راه را رفته‌اید. قدمِ بعدی این است که فیلترها را ترکیب کنید؛ مثلاً حجم مشکوک به‌علاوهٔ پول هوشمند به‌علاوهٔ (eps) مثبت. هر شرطِ تازه فهرست را کوتاه‌تر و دقیق‌تر می‌کند، ولی اگر زیادی سخت‌گیر باشید، فهرست خالی می‌شود.

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

سوالات متداول

فیلترنویسی در بورس چیست؟

فیلترنویسی یعنی نوشتنِ چند شرطِ ساده به زبانِ کد در دیده‌بان بازارِ سایت TSETMC تا از میانِ همهٔ نمادهای بورس و فرابورس، فقط سهم‌هایی نمایش داده شوند که آن شرط‌ها را دارند؛ مثلاً حجمِ غیرعادی یا ورودِ پول هوشمند.

چطور فیلتر در دیده‌بان TSETMC اضافه کنیم؟

در سایت tsetmc.com دیده‌بان بازار را باز کنید، روی نمادِ فیلتر که شکلِ قیف دارد بزنید، فیلتر جدید بسازید، نام بگذارید، کد را بنویسید، اعتبارسنجی را بزنید و اگر خطا نداشت، فیلتر را ثبت و فعال کنید.

برای فیلترنویسی باید برنامه‌نویسی بلد باشیم؟

برای فیلترهای ساده نه؛ کافی است متغیرها و علامت‌های مقایسه را بشناسید. برای فیلترهای پیشرفته مثلِ میانگین‌گیری چندروزه، چند دستورِ سادهٔ جاوااسکریپت مثلِ var و for و if لازم است که با چند روز تمرین یاد گرفته می‌شود.

بهترین فیلترهای بورس کدام‌اند؟

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

معنی (pl) و (pc) و (tvol) در فیلترنویسی چیست؟

pl قیمتِ آخرین معاملهٔ امروز است، pc قیمتِ پایانی یعنی میانگینِ وزنیِ معامله‌های امروز، و tvol حجمِ کلِ معاملاتِ امروزِ نماد. این متغیرها همیشه داخلِ پرانتز نوشته می‌شوند و قیمت‌ها به ریال‌اند.

چرا فیلتری که از اینترنت کپی کردم کار نمی‌کند؟

خیلی از فیلترهای اینترنت برای نسخهٔ قدیمیِ سایت TSETMC نوشته شده‌اند. بزرگی و کوچکیِ حروفِ متغیرها، یک مساوی به‌جای دو مساوی، پرانتزِ جاافتاده و ریالی بودنِ قیمت‌ها را چک کنید و حتماً اعتبارسنجی بزنید.

فیلتر پول هوشمند چطور نوشته می‌شود؟

سرانهٔ خریدِ حقیقی را با تقسیمِ حجمِ خریدِ حقیقی بر تعدادِ خریداران و ضرب در قیمتِ پایانی حساب کنید و همین را برای فروشندگان. اگر سرانهٔ خرید چند برابرِ سرانهٔ فروش بود، احتمالِ ورودِ پول هوشمند هست.

آیا فیلترنویسی در سایت TSETMC هزینه دارد؟

نه. فیلترنویسی در دیده‌بان بازارِ سایت TSETMC رایگان است و به نرم‌افزارِ جانبی یا ثبت‌نام نیاز ندارد. فقط چون تنظیمات در مرورگر ذخیره می‌شود، بهتر است کدهایتان را جایی یادداشت کنید تا با عوض شدنِ مرورگر از دست نروند.

جمع‌بندی

فیلتر نویسی در بورس یعنی به سایت بگوییم دنبالِ چه بگردد تا خودمان در هزار نماد گم نشویم. با شناختِ چند متغیر مثلِ (pl)، (pc)، (tvol) و آمارِ حقیقی و حقوقی، و چند علامتِ ساده، می‌شود فیلترهای حجم مشکوک، پول هوشمند، کد به کد و صف خرید را نوشت. پس امروز یکی از فیلترهای بالا را در دیده‌بان بگذارید، چند روز فقط تماشایش کنید و ببینید سهم‌هایی که نشان داد بعداً چه شدند. تصمیمِ نهایی همیشه با خودتان است.

نویسنده

فائزه حیدری

۱۱۴ نوشته دربارهٔ آموزش بورس و تحلیل بنیادی

به‌عنوان یک کارشناس ارشد مالی، برای من پول و مدیریت سرمایه بسیار جذاب است. از این جهت که بتوانم براساس مطلوبیت‌های خودم تصمیم بگیرم، نه براساس موجودی حساب بانکی‌ام.

همهٔ نوشته‌های فائزه حیدری
برای یادگیری با ترتیبدورهٔ ویژهٔ ورود به بورسبرای کسانی که می‌خواهند خرید و فروش سهام، انتخاب سهم و ورود اصولی به بورس را از پایه یاد بگیرند.۱۳ ساعت · ۵ جلسهجزئیات دوره

ادامهٔ خواندن

بعدش چه بخوانم؟

دیدگاه‌ها

    ۲۶ دیدگاهِ پیشین

    1. حمید سروری کیا ·

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

      1. فائزه حیدری ·

        سلام، ممنون از حسن نظرتون
        حتما پیشنهادتون رو در نظر می‌گیریم

    2. محمدحسین رحیمی ·

      درود بر آقای حامد ثقفی بزرگوار .. ممنون بسیار مفید بود .

    3. فائزه تابش ·

      با سلام
      پس از اعمال فیلتر مربوط به اصلاح قیمت 30 درصدی تا یک ماه پیش، نتیجه ای مشاهده نشد بدون اینکه خطایی دریافت شود.راه حل چیست؟
      با تشکر

      1. فائزه حیدری ·

        سلام، حتما در یک ماه گذشته سهمی بیش از 30 درصد اصلاح نداشته

        1. فائزه تابش ·

          ممنون

    4. میلادآ ·

      سلام خسته نباشید خیلی مطالبتون جالب هست فقط کاش یه مطلب هم بذارید که کسایی که تازه وارد بورس شدن چه سهام های رو بخرن برای بلند مدت البته به غیر از عرضه اولیه ها

    5. عباس روزبیانی ·

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

      1. پویا بهایی‌پور ·

        سلام و درود خدمت شما
        اگر منظورتان قالب شخصی داخل دیده بان هست، باید بگم که متاسفانه فقط امکان ساخت یک قالب شخصی وجود دارد.

    6. ناشناس ·

      سلام ممنونم از مطالب مفیدتون
      متاسفانه این فیلتری که برای کمترین قیمت یک ماهه نوشتید کار نمی کنه ولی خطا هم نمیده یعنی هیچ سهمی رو نشون نمیده در حالی که مطمئنم سهم هایی هستند که این شرایط رو دارن
      لطفا راهنمایی کنید ممنون

      1. فائزه حیدری ·

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

    7. ه غ ·

      بسیار عالی ممنون از شما . سوال بنده این است که آیا مرجعی وجود دارد که دیتای مورد نیاز برای فیلترنویسی را برای مدت زمان بیش از دو ماه اراِه دهد؟ چون بنده برای یک فیلتر به دیتای بیش از 6 ماه نیاز دارم و متاسفانه سایت tse بیش از دوماه دیتا نمیدهدو ممنون میشم راهنمایی بفرمایید

      1. فائزه حیدری ·

        ممنون از حسن نظرتون. متاسفانه این از مشکلات سایت هست. همانطور که گفتید سایت اطلاعات بیش از 60 روز رو در اختیار ما نمیگذاره و چون فیلتر نویسی توی خود سایت انجام میشه، فکر نمیکنم بشه داده‌ها رو از پایگاه داده خارجی وارد کرد.

    8. علیرضا ·

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

      1. فائزه حیدری ·

        سلام، متاسفانه همه توابع برای این سایت تعریف نشده. ما میتونیم بگیم اعشار رو حذف کن ولی نمیتونیم بگیم تا دو رقم اعشار نشون بده. برای چه کاری میخواید بگید تا نشون بده؟

        1. ناشناس ·

          سلام . بطور مثال برای نشون دادن دو رقم اعشار برای متغییر X
          Math.round(x*100)/100

    9. ناشناس ·

      با سلام و خسته نباشید
      وقتی با استفاده از cfeild فیلتر مینویسم ارور نمیده اما به جای عدد ، nan برای همه سهام مینویسه
      ممنون میشم راهنمایی کنید

      1. فائزه حیدری ·

        سلام
        تا حالا به این موضوع برخورد نکردم ولی احتمالاً یکجایی رو اشتباه کردین.
        اگر تمایل داشتین فیلتر مورد نظرتون را و چیزی که در قسمت Cfeild مینویسید رو با ما در میان بگذارید

      2. ناشناس ·

        سلام دوست عزیز این مشکل برای شما اگه برطرف شده در صورت امکان به من بگید چکار کردید من هم این مشکل برام پیش اومده ممنون میشم

    10. علی ·

      سلام
      دستور bold کردن فونت در فیلتر نویسی چیه؟
      مثلا اگر بخوام عدد را بولد کنم
      سپاس

      1. فریبا وکیلی ·

        باسلام؛ در فیلترنویسی ساده امکان بولد کردن وجود ندارد

    11. مجتبی رضایی ·

      سلام
      چند روز پیش تمامی فیلترهای ذخیره شده بنده در قسمت فیلتر سایتtsermc
      پاک شده و عملگرهای داخل راهنمای وب سایت هم نمایش داده نمیشه ممنون میشم برای برطرف کردن مشکل نمایش عملگرها بنده رو راهنمایی کنید. با سپاس

    12. ناشناس ·

      سلام وقتتون بخیر
      چگونه میتوانم نسبت p/s را فیلتر کنم ؟
      یعنی فیلتر نویسی p/s به چه صورت می باشد؟

      1. محمود دوسیده ·

        با سلام و احترام.
        در اکثر حساب معاملاتی کارگزاری‌ها در بخش فیلتر سهام (مانند ایزی فیلتر در کارگزاری مفید)، فیلتر p/s وجود دارد که می‌توانید از آن استفاده کنید.

    13. ناشناس ·

      سلام ، var در فیلتر نویسی رو میشه توضیح بدید لطفا

      1. محمود دوسیده ·

        کلمه var ‌مخفف variable ‌به معنای متغیر هست.
        فیلتر نویسی در واقع یک نوع کد نویسی است. در زبان‌های برنامه نویسی برای اینکه بتوانید یک مقدار مشخص ( عدد یا متن) را در حافظه ذخیره کنید و در ادامه از آن در جاهای مختلف برنامه استفاده کنید نیاز هست که یک متغیر در کد خود تعریف کنید. به فرض مثال شما میخواهید قیمت پایانی یک سهم را ذخیره کنید و از این قیمت در فرومول‌های مختلف استفاده کنید. برای این کار نیاز است که قیمت را در یک متغیر ذخیره کنید و سپس در جاهای مورد نیاز از آن استفاده کنید.
        کد تعریف و مقدار دهی یک متغیر به این صورت می‌شود :‌ var p = 1000;
        کلمه var نشان دهنده‌ی این است که ما قصد داریم یک متغیر تعریف کنیم. کلمه p نام متغیر است (بصورت لخواه می‌توان هر نامی گذاشت) و در نهایت مقداری که میخواهیم در این متغیر (p) ذخیره کنیم را همراه با علامت مساوی در جلوی نام متغیر قرار می‌دهیم. از این به بعد هر جا از p ‌استفاده کنیم مقدار ۱۰۰۰ را برای ما جایگزین خواهد کرد.

    اپلیکیشن حامد ثقفی · رایگان

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

    قیمت، حجم و ارزش معاملات و P/E هر سهم در اپ است؛ برای هر عدد هشدار بگذارید. ساعت باز و بسته شدن بازار هم با شمارش معکوس.

    اپ رایگان را نصب کنید:

    هشدار با ورود به حساب کار می‌کند.