بازار بورس تهران روزانه بیش از ۷۰۰ نماد فعال دارد. اگر بخواهید هر صبح یک‌به‌یک این نمادها را بررسی کنید، نه تنها وقت‌تان تلف می‌شود، بلکه احتمالاً بهترین فرصت‌ها را هم از دست می‌دهید. فیلترهای کاربردی بورس دقیقاً برای حل این مشکل طراحی شده‌اند: در کمتر از ۱۰ ثانیه، از میان انبوه نمادها، فقط آن‌هایی که با استراتژی شما همخوانی دارند را روی صفحه‌تان می‌گذارند.

در این راهنمای جامع، به عنوان یک استراتژیست ارشد فیلترنویسی با سال‌ها تجربه در بازار سرمایه ایران، ۲۰ فیلتر کاربردی، آپدیت‌شده و تست‌شده برای سال ۱۴۰۵ را همراه با منطق دقیق هر کد، نکات حرفه‌ای و جدول راهنمای استراتژی ارائه می‌دهم. تمام کدها برای هسته جدید tsetmc.com بهینه‌سازی و تأیید شده‌اند.

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

نکته مهم برای کاربران ۱۴۰۵

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

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

فیلتر بورس یک قطعه کد JavaScript است که در بخش «دیده‌بان بازار» سایت tsetmc.com اجرا می‌شود. این کد روی داده‌های لحظه‌ای تمام نمادها اعمال می‌شود و فقط نمادهایی که شرط یا شرایط تعریف‌شده را دارند، در جدول نمایش می‌دهد.

تصور کنید می‌خواهید بدانید همین الان کدام نمادها در آستانه صف خرید هستند؟ یا کدام سهم‌ها در کف ماهانه خود قرار دارند و حجم معاملات‌شان هم در حال افزایش است؟ بدون فیلتر باید ۷۰۰ نماد را یک‌به‌یک بررسی کنید. با فیلتر، جواب را در چند ثانیه دارید.

فیلتر = شرط لازم، نه شرط کافی

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

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

پیش از معرفی فیلترها، باید با هر دو روی سکه آشنا شوید تا انتظارات واقع‌بینانه‌ای داشته باشید:

✅ مزایا
⚠️ محدودیت‌ها
اسکن لحظه‌ای تمام بازار در چند ثانیه
فقط در تایم‌فریم روزانه قابل استفاده است
رایگان و بدون نیاز به نرم‌افزار اضافه
امکان بک‌تست وجود ندارد
قابل ترکیب با تحلیل تکنیکال و بنیادی
دسترسی به تاریخچه حداکثر ۲۹ روز گذشته
قابل شخصی‌سازی بر اساس استراتژی هر معامله‌گر
سیگنال‌دهی مستقیم ندارد؛ نیاز به تأیید تحلیل دارد
بدون نیاز به دانش برنامه‌نویسی برای کدهای آماده
فقط برای بورس و فرابورس ایران کاربرد دارد

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

برای استفاده از تمام فیلترهای این مقاله، مراحل زیر را دنبال کنید:

  1. به آدرس tsetmc.com بروید و وارد بخش «دیده‌بان بازار» شوید.
  2. در نوار بالای صفحه روی گزینه «فیلتر» کلیک کنید.
  3. گزینه «فیلتر جدید» را انتخاب کنید.
  4. کد فیلتر موردنظر را در کادر مربوطه paste کنید.
  5. روی دکمه «ثبت» کلیک کنید.
  6. جدول به‌طور خودکار فقط نمادهای واجد شرایط را نمایش می‌دهد.

راهنمای متغیرهای پرکاربرد در فیلترنویسی (هسته جدید tsetmc)

برای درک بهتر کدها، با متغیرهای اصلی هسته جدید tsetmc آشنا شوید. توجه داشته باشید نام متغیرها case-sensitive هستند و باید دقیقاً به همین شکل نوشته شوند:

متغیر
معنی
توضیح کاربردی
(pl)
آخرین قیمت معامله‌شده
Last Price – لحظه‌ای‌ترین قیمت
(pc)
قیمت پایانی (Closing)
میانگین وزنی قیمت در روز جاری
(py)
قیمت پایانی دیروز
Yesterday – مبنای محاسبه درصد تغییر
(tvol)
حجم معاملات امروز
Total Volume – تعداد سهام معامله‌شده
(bvol)
حجم پایه معاملات
Base Volume – معیار نقدشوندگی نماد
(tno)
تعداد معاملات
Transaction Number – تعداد دفعات معامله
(tmax) / (tmin)
سقف / کف مجاز قیمتی روز
برای تشخیص صف خرید و فروش کاربردی است
[ih][n]
داده‌های n روز پیش
[ih][0] = امروز، [ih][1] = دیروز، [ih][29] = ۲۹ روز پیش
[ih][n].PClosing
قیمت پایانی n روز پیش
P بزرگ الزامی است – در هسته جدید
[ih][n].QTotTran5J
حجم معاملات n روز پیش
برای محاسبه میانگین حجم تاریخی
(ct).Buy_CountI
تعداد خریداران حقیقی
Individual Buyers Count
(ct).Buy_I_Volume
حجم خرید حقیقی
Individual Buy Volume
(ct).Buy_N_Volume
حجم خرید حقوقی
Legal Entity (N = حقوقی) Buy Volume
اصلاح مهم: PClosing با P بزرگ

در نسخه‌های قدیمی از Pclosing (با p کوچک) استفاده می‌شد که در هسته جدید tsetmc کار نمی‌کند. کد صحیح PClosing با P بزرگ است. اگر فیلتری خطا می‌دهد، اول این موضوع را بررسی کنید.

۲۰ فیلتر کاربردی بورس (کدهای آپدیت‌شده ۱۴۰۵)

فیلترها را بر اساس کاربرد در ۷ دسته تقسیم‌بندی کرده‌ام تا سریع‌تر به آنچه نیاز دارید برسید. هر فیلتر دارای توضیح منطق، کد آماده و نکات حرفه‌ای است:

دسته اول: فیلترهای مومنتوم (RSI و استوکاستیک)

فیلتر ۱ – سهام با RSI بالای ۸۰ یا زیر ۲۰ (اشباع خرید/فروش)

کاربرد: RSI بالای ۸۰ نشانه اشباع خرید و RSI زیر ۲۰ نشانه اشباع فروش است. نوسان‌گیران از این فیلتر برای یافتن نقاط احتمالی بازگشت قیمت استفاده می‌کنند. مقدار RSI در ستون cfield0 نمایش داده می‌شود تا مقایسه نمادها راحت‌تر باشد.

true==function() {
  var CalculateRSI = function(period) {
    var len = 20;
    for (var i = 0; i < len; i++) {
      var rec = [ih][len-1-i];
      var change = rec.PClosing - rec.PriceYesterday;
      if (change > 0) { rec.gain = change; rec.loss = 0; }
      else { rec.gain = 0; rec.loss = -change; }
    }
    var gainSum = 0; var lossSum = 0;
    for (var i = 0; i < period; i++) {
      gainSum += [ih][len-1-i].gain;
      lossSum += [ih][len-1-i].loss;
    }
    var averageGain = gainSum / period;
    var averageLoss = lossSum / period;
    for (var i = period + 1; i < len; i++) {
      var rec = [ih][len-1-i];
      averageGain = (averageGain * (period - 1) + rec.gain) / period;
      averageLoss = (averageLoss * (period - 1) + rec.loss) / period;
      rec.averageGain = averageGain;
      rec.averageLoss = averageLoss;
    }
    for (var i = period + 1; i < len; i++) {
      var rec = [ih][len-1-i];
      var RS = rec.averageGain / rec.averageLoss;
      var RSIndex = 100 - 100 / (1 + RS);
      rec.rsi = RSIndex;
    }
  };
  if (typeof [ih][0].rsi == "undefined") CalculateRSI(14);
  (cfield0) = Math.floor([ih][0].rsi);
  return ([ih][0].rsi > 80 || [ih][0].rsi < 20);
}()
نکته حرفه‌ای درباره RSI

RSI زیر ۲۰ در یک سهم بنیادی قوی، اغلب فرصت خرید خوبی است. اما RSI زیر ۲۰ در یک سهم ضعیف یا در روند نزولی قدرتمند، می‌تواند تله باشد. حتماً روند کلی نماد را نیز بررسی کنید.

فیلتر ۲ – سهام با استوکاستیک کمتر از ۲۰ (اشباع فروش کوتاه‌مدت)

کاربرد: استوکاستیک زیر ۲۰ به این معنی است که قیمت فعلی نسبت به بازه ۱۴ روزه در کف قرار دارد. برای نوسان‌گیری کوتاه‌مدت بسیار کاربردی است. شرط (tno) > 15 نمادهای خیلی کم‌معامله را حذف می‌کند.

true==function() {
  var HighestHigh = [ih][0].PriceMax;
  var LowestLow = [ih][0].PriceMin;
  for (var x = 1; x < 14; x++) {
    if ([ih][x].PriceMax > HighestHigh) HighestHigh = [ih][x].PriceMax;
    if ([ih][x].PriceMin < LowestLow) LowestLow = [ih][x].PriceMin;
  }
  if (HighestHigh == LowestLow) return false;
  var stoch = 100 * ((pc) - LowestLow) / (HighestHigh - LowestLow);
  (cfield0) = Math.round(stoch);
  return (stoch <= 20 && (tno) > 15);
}()

دسته دوم: فیلترهای حجم و نقدشوندگی

فیلتر ۳ – سهام با حجم معاملات بالا در ۳ روز اخیر (بیش از ۳۰ میلیون سهم)

کاربرد: نمادهایی که حجم معاملاتشان در سه روز اخیر بالا بوده، احتمالاً در کانون توجه بازار هستند. این فیلتر برای یافتن سهام‌های پررونق و نقدشونده ایده‌آل است. عدد ۳۰ میلیون را می‌توانید بر اساس شرایط بازار تنظیم کنید.

true==function() {
  var a = 0;
  for (var i = 0; i <= 2; i++) {
    a = a + [ih][i].QTotTran5J;
  }
  return (a > 30000000);
}()

فیلتر ۴ – حجم امروز بیش از ۳ برابر میانگین ۱۴ روزه (حجم غیرعادی)

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

true==function() {
  var avgVol = 0;
  for (var i = 1; i <= 14; i++) avgVol += [ih][i].QTotTran5J;
  avgVol = avgVol / 14;
  (cfield0) = Math.round((tvol) / avgVol * 10) / 10;
  return ((tvol) >= 3 * avgVol && (tno) > 20);
}()

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

کاربرد: این فیلتر ترکیبی قدرتمند، نمادهایی را پیدا می‌کند که نزدیک کف ماهانه‌اند، استوکاستیک پایینی دارند و حجم معاملاتشان در حال افزایش است؛ شرایطی که اغلب مقدمه یک حرکت صعودی است. شرط (bvol) <= 100000 نمادهای کوچک‌تر را هدف می‌گیرد.

true==function() {
  var MinPriceOfMonth = function() {
    var minimum = [ih][0].PriceMin;
    for (var n = 1; n < 29; n++)
      if (minimum > [ih][n].PriceMin) minimum = [ih][n].PriceMin;
    return minimum;
  };
  var VolumeOf3Days = function() {
    var V = 0;
    for (var n = 0; n < 3; n++) V += [ih][n].QTotTran5J;
    return V / 3;
  };
  var VolumeOf14Days = function() {
    var V = 0;
    for (var n = 0; n < 14; n++) V += [ih][n].QTotTran5J;
    return V / 14;
  };
  var Stochastic = function() {
    var HighestHigh = [ih][0].PriceMax;
    var LowestLow = [ih][0].PriceMin;
    for (var x = 0; x < 14; x++) {
      if ([ih][x].PriceMax > HighestHigh) HighestHigh = [ih][x].PriceMax;
      if ([ih][x].PriceMin < LowestLow) LowestLow = [ih][x].PriceMin;
    }
    if (HighestHigh == LowestLow) return 50;
    return 100 * ((pc) - LowestLow) / (HighestHigh - LowestLow);
  };
  var minP = MinPriceOfMonth();
  if (minP == 0) return false;
  return (
    (((pl) - minP) / minP * 100) < 4
    && VolumeOf3Days() >= VolumeOf14Days()
    && Stochastic() <= 20
    && (tno) > 20
    && (bvol) <= 100000
  );
}()
هشدار مهم درباره فیلترهای صف

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

دسته سوم: فیلترهای قدرت خریدار و فروشنده

فیلتر ۶ – قدرت خریدار به فروشنده (سرانه خرید حقیقی)

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

true==function() {
  var buyPower = ((ct).Buy_I_Volume / (ct).Buy_CountI);
  var sellPower = ((ct).Sell_I_Volume / (ct).Sell_CountI);
  (cfield0) = Math.round(buyPower / sellPower * 100) / 100;
  return (
    buyPower > 2 * sellPower
    && (tvol) >= (bvol)
    && (tno) > 30
    && (pl) >= (py)
  );
}()

فیلتر ۷ – ورود پول حقیقی (خرید حقیقی منهای فروش حقیقی)

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

true==function() {
  var moneyIn = (ct).Buy_I_Volume - (ct).Sell_I_Volume;
  (cfield0) = Math.round(moneyIn / 1000000);
  return (
    moneyIn > 0
    && (tvol) >= (bvol)
    && (ct).Buy_CountI >= (ct).Sell_CountI
    && (pl) > (py)
    && (tno) > 25
  );
}()

فیلتر ۸ – خروج پول حقوقی همراه با حمایت حقیقی

کاربرد: وقتی حقوقی‌ها در حال فروش هستند (بیش از ۳۰٪ حجم) اما حقیقی‌ها با قدرت جذب می‌کنند، این ترکیب اغلب نشانه‌ای مثبت‌تر از حالتی است که هر دو گروه همزمان عرضه می‌کنند.

true==function() {
  var legalSell = (ct).Sell_N_Volume;
  var realBuy = (ct).Buy_I_Volume;
  return (
    legalSell > (tvol) * 0.3
    && realBuy > legalSell
    && (ct).Buy_CountI > (ct).Sell_CountI
    && (tvol) >= (bvol)
  );
}()

دسته چهارم: فیلترهای میانگین متحرک و روند قیمت

فیلتر ۹ – سهام بالای میانگین متحرک ۲۶ روزه

کاربرد: نمادهایی که قیمت آخرین معامله‌شان بالاتر از میانگین ۲۶ روزه است، در روند صعودی کوتاه‌مدت هستند. عدد ۲۶ در کد قابل تغییر است؛ برای مثال ۵۰ برای میان‌مدت یا ۱۰ برای خیلی کوتاه‌مدت. مقدار MA در cfield2 نمایش می‌یابد.

true==function() {
  var D = 26;
  var price = 0;
  for (var n = 0; n < D; n++) price += [ih][n].PClosing;
  var MA = price / D;
  (cfield2) = Math.round(MA);
  return ((pl) > MA);
}()

فیلتر ۱۰ – سهام با افت ۱۰ درصد نسبت به ۲۰ روز پیش

کاربرد: یافتن سهم‌هایی که در ۲۰ روز گذشته اصلاح ۱۰ درصدی داشته‌اند. این نمادها ممکن است در ناحیه حمایتی قرار گرفته باشند و برای سرمایه‌گذاری میان‌مدت جالب باشند. حتماً تحلیل نموداری تأیید کند.

[ih][20].PClosing > (pl) + ((pl) * 0.1)

فیلتر ۱۱ – سهامی که ۶ روز متوالی در کف قیمتی بوده‌اند

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

true==function() {
  var a = 0;
  for (var i = 0; i <= 5; i++) {
    if ((pl) <= [ih][i].PriceMin) a++;
  }
  return (a == 6);
}()

فیلتر ۱۲ – قیمت پایانی ۳ درصد بالاتر از آخرین معامله

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

1.03*(pl) <= (pc)

فیلتر ۱۳ – سهام در پایین‌ترین قیمت ۲۱ روزه

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

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

دسته پنجم: فیلترهای کف و سقف ماهانه

فیلتر ۱۴ – سهام در کف ماهانه (فاصله کمتر از ۳٪ از کف)

کاربرد: این فیلتر قدرتمند نمادهایی را نشان می‌دهد که قیمت فعلی‌شان از کف ماهانه فاصله کمتر از ۳ درصد دارد. ستون‌های cfield0، cfield1 و cfield2 به ترتیب کف ماهانه، اختلاف قیمت و درصد فاصله از کف را نشان می‌دهند.

true==function() {
  var MinPriceOfMonth = function() {
    var minimum = [ih][0].PriceMin;
    for (var n = 1; n < 29; n++)
      if (minimum > [ih][n].PriceMin) minimum = [ih][n].PriceMin;
    (cfield0) = minimum;
    (cfield1) = (pc) - minimum;
    (cfield2) = Math.round(((pc) - minimum) / (pc) * 100 * 100) / 100;
    return minimum;
  };
  MinPriceOfMonth();
  return ((cfield2) < 3 && MinPriceOfMonth() != 0);
}()

فیلتر ۱۵ – بیشترین درصد ریزش از سقف ۶۰ روزه

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

function rizesh(day) {
  var max = 0;
  for (var i = 0; i < day; i++) {
    if ([ih][i].PriceMax > max) max = [ih][i].PriceMax;
  }
  return 100 * ((pl) / max - 1);
}
(cfield0) = rizesh(60);

فیلتر ۱۶ – اصلاح ۶ تا ۱۲ درصد از سقف ماهانه با افزایش حجم

کاربرد: یکی از قوی‌ترین فیلترهای نوسان‌گیری. نمادهایی که از سقف ماهانه ۶ تا ۱۲ درصد اصلاح کرده‌اند و امروز حجم معاملاتشان حداقل ۳ برابر میانگین ۳ روزه بوده؛ این ترکیب اغلب سیگنال احتمالی پایان اصلاح است.

true==function() {
  var MaxPriceOfMonth = function() {
    var maximum = [ih][0].PriceMax;
    for (var n = 1; n < 29; n++)
      if (maximum < [ih][n].PriceMax) maximum = [ih][n].PriceMax;
    return maximum;
  };
  var IncrementalVolume = function() {
    var V3D = 0;
    for (var n = 1; n <= 3; n++) V3D = (V3D + [ih][n].QTotTran5J) / 2;
    return ([ih][0].QTotTran5J >= 3 * V3D) ? 1 : 0;
  };
  var maxP = MaxPriceOfMonth();
  var drop = (maxP - (pl)) / maxP * 100;
  return (
    IncrementalVolume() == 1
    && (tvol) >= (bvol)
    && drop >= 6
    && drop <= 12
    && (py) <= [ih][1].PriceYesterday
  );
}()

دسته ششم: فیلترهای جریان پول (حقیقی و حقوقی)

فیلتر ۱۷ – خریداران حقیقی بیشتر از فروشندگان حقیقی

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

(qd1)*(pd1)+(qd2)*(pd2)+(qd3)*(pd3) >= 2*((qo1)*(po1)+(qo2)*(po2)+(qo3)*(po3))
&& (pl) >= (py)
&& (pl) != (tmax)
&& (tno) > 30
&& (ct).Buy_CountI >= (ct).Sell_CountI

فیلتر ۱۸ – فروشندگان دو برابر خریداران (فشار فروش شدید)

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

2 * ((ct).Buy_CountI) <= (ct).Sell_CountI

فیلتر ۱۹ – خرید حقوقی بیش از ۶۰ درصد حجم (ردیابی پول هوشمند)

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

(ct).Buy_N_Volume >= (tvol) * 0.6

دسته هفتم: فیلترهای روند نزولی متوالی

فیلتر ۲۰ – سهام منفی برای ۴ روز متوالی

کاربرد: نمادهایی که ۴ روز پشت‌سرهم قیمت پایانی‌شان کاهش داشته است. این نمادها یا در یک روند نزولی هستند (باید از آن‌ها دوری کرد) یا در آستانه یک بازگشت فنی از ناحیه اشباع فروش قرار دارند. کد از PClosing با P بزرگ استفاده می‌کند که در هسته جدید الزامی است.

[ih][3].PClosing > [ih][2].PClosing
&& [ih][2].PClosing > [ih][1].PClosing
&& [ih][1].PClosing > [ih][0].PClosing
اصلاح کد مهم – PClosing با P بزرگ

در نسخه‌های قدیمی این فیلتر از Pclosing (با p کوچک) استفاده می‌شد که در هسته جدید tsetmc کار نمی‌کند. کد صحیح PClosing با P بزرگ است که در نسخه بالا اصلاح شده است.

جدول راهنمای سریع: کدام فیلتر برای کدام استراتژی؟

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

استراتژی معاملاتی
فیلترهای پیشنهادی
سطح ریسک
نوسان‌گیری کوتاه‌مدت
فیلتر ۵، ۱۲، ۱۶، ۲
🔴 بالا
سرمایه‌گذاری میان‌مدت
فیلتر ۹، ۱۴، ۱۵، ۱۷
🟡 متوسط
ردیابی پول هوشمند
فیلتر ۷، ۸، ۱۹، ۶
🟡 متوسط
یافتن سهام اشباع فروش
فیلتر ۱، ۲، ۱۳، ۲۰
🟠 متوسط رو به بالا
بررسی قدرت خریدار/فروشنده
فیلتر ۶، ۷، ۸، ۱۸
🟢 پایین (ابزار پشتیبان)
اسکن حجم غیرعادی
فیلتر ۳، ۴، ۱۶
🟡 متوسط
ترکیب طلایی برای نوسان‌گیری

فیلتر کف ماهانه (۱۴) + فیلتر افزایش حجم (۴) + بررسی چارت تکنیکال = یکی از قوی‌ترین ترکیب‌های نوسان‌گیری در بازار بورس تهران. این ترکیب احتمال خطا را به شدت کاهش می‌دهد.

چطور از فیلترها به صورت حرفه‌ای استفاده کنیم؟

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

  1. اسکن اولیه: با یک فیلتر ساده مثل فیلتر حجم یا کف ماهانه، لیست ۱۰ تا ۳۰ نمادی بسازید.
  2. فیلتر تأییدی: یک فیلتر تکمیلی مثل جریان پول یا RSI روی همین نمادها اجرا کنید تا لیست را به ۵ تا ۱۰ نماد برسانید.
  3. تحلیل نموداری: چارت هر نماد باقی‌مانده را باز کنید و با تحلیل تکنیکال، نقطه ورود، حد ضرر و هدف قیمتی تعیین کنید.
  4. بررسی بنیادی (اختیاری): برای سرمایه‌گذاری میان‌مدت، صورت‌های مالی و وضعیت صنعت را هم بررسی کنید.

اشتباهات رایج در فیلترنویسی که باید از آن‌ها پرهیز کنید

در طول سال‌ها تجربه فیلترنویسی و آموزش در بازار سرمایه، این اشتباهات را بارها دیده‌ام:

  • استفاده از کدهای قدیمی: فیلترهایی با Pclosing (p کوچک) در هسته جدید tsetmc کار نمی‌کنند. همیشه از PClosing با P بزرگ استفاده کنید.
  • نادیده گرفتن حجم پایه: اگر (tvol) >= (bvol) را به فیلترهایتان اضافه نکنید، نمادهای کم‌معامله و غیرنقدشونده هم در نتایج ظاهر می‌شوند.
  • اجرای فیلتر در خارج از ساعت بازار: فیلترها داده‌های لحظه‌ای دارند. اجرای آن‌ها بعد از بسته شدن بازار، نتایج کاملاً متفاوتی می‌دهد و ممکن است گمراه‌کننده باشد.
  • اتکای صرف به یک فیلتر: هیچ فیلتری به تنهایی کامل نیست. حتماً از ترکیب حداقل دو فیلتر و تأیید نموداری استفاده کنید.
  • نادیده گرفتن وضعیت کلی بازار: در روزهایی که کل بازار شدیداً منفی است، حتی بهترین سیگنال فیلتر هم ممکن است منجر به زیان شود. همیشه جهت کلی بازار را در نظر بگیرید.
  • کپی‌کاری از منابع نامعتبر: کدهایی که در کانال‌های تلگرامی منتشر می‌شوند، اغلب قدیمی یا برای هسته قدیمی نوشته شده‌اند. همیشه منبع و تاریخ کد را بررسی کنید.
به‌روزرسانی مداوم کدها

هسته tsetmc ممکن است در طول سال به‌روزرسانی شود. اگر کدی ناگهان کار نکرد، ابتدا syntax متغیرها را بررسی کنید. نام متغیرها case-sensitive هستند و باید دقیقاً مطابق مستندات جدید باشند.

جمع‌بندی: مسیر حرفه‌ای شدن در فیلترنویسی بورس

فیلترهای کاربردی بورس، قدرتمندترین ابزار رایگانی هستند که بازار سرمایه ایران در اختیار معامله‌گران گذاشته است. با ۲۰ فیلتری که در این مقاله معرفی شد، می‌توانید هر استراتژی معاملاتی از نوسان‌گیری روزانه تا سرمایه‌گذاری میان‌مدت را پوشش دهید.

نکات کلیدی که باید همیشه در ذهن داشته باشید:

  • هیچ فیلتری به تنهایی سیگنال قطعی نمی‌دهد؛ حتماً تأییدیه تکنیکال یا بنیادی بگیرید.
  • کدهای قدیمی را بروزرسانی کنید (خصوصاً PClosing با P بزرگ).
  • از ترکیب حداقل دو فیلتر با هم استفاده کنید.
  • فیلتر را ابزار غربالگری بدانید، نه سیگنال‌دهی مستقیم.
  • وضعیت کلی بازار و شاخص را در تحلیل خود نادیده نگیرید.
  • فیلترها را در ساعات بازار اجرا کنید تا داده‌ها لحظه‌ای باشند.
یادگیری فیلترنویسی پیشرفته

اگر می‌خواهید فیلترهای اختصاصی بر اساس استراتژی شخصی خود بنویسید، یادگیری مفاهیم پایه JavaScript و متغیرهای tsetmc کافی است. با چند ساعت تمرین می‌توانید فیلترهای قدرتمند خود را بسازید.