اگر بخواهید تمامی اطلاعات را تحلیل کنید، با توجه به زیاد بودن نمادهای بازار، زمان زیادی از را دست میدهید. اندیکاتور RSI اطلاعات زیادی درباره قدرت روند بازار میدهد و فیلتر RSI کمک میکند تا بتوان از میان انبوه نمادهای بازار، آنهایی را که در اندیکاتور RSI سیگنال مشخصی دارند، جدا کرد. این کار میتواند باعث رصد هدفمند بازار شده و شما را یک قدم به فرصتهای معاملاتی نزدیکتر کند. در ادامه درباره فیلتر RSI بیشتر صحبت کرده و با کاربردهای آن آشنا میشویم. همچنین کد فیلتر RSI نیز در بخشهای بعدی برای شما آورده شده است.
محدودههای مهم در اندیکاتور RSI
برای اینکه بتوانید استفاده درستی از فیلترهای RSI داشته باشید، ابتدا باید به صورت مختصر محدودههای مهم آن را شناخته و معنای هر مقدار از اندیکاتور را بدانید. RSI یک اندیکاتور نوسانگر یا اسیلاتور است که قدرت نسبی را میسنجد و مقادیر ۳۰ و ۷۰ در این اندیکاتور بسیار مهم هستند. به محدوده بالاتر از ۷۰، محدوده اشباع خرید گفته میشود و نشاندهنده فشار تقاضا است.
محدوده پایینتر از ۳۰، به محدوده اشباع فروش معروف است و بر اثر فشار عرضه ایجاد میشود. اهمیت این محدودهها بسیار بالاست، برای مثال واگرایی در این دو محدوده، از اعتبار بیشتری برخوردار است. همچنین فیلترهای RSI با این دو محدوده کار دارند.
انواع فیلترهای RSI
با توجه به اینکه به دنبال چه اطلاعاتی هستید، فیلترهای متفاوتی برای اندیکاتور RSI طراحی شده است. با فیلتر کردن اطلاعات، نمادهایی را پیدا میکنید که مشخصات موردنظرتان را دارند. بنابراین مهم است که در ابتدا به دنبال چه مشخصاتی هستید. برای مثال برخی به دنبال نمادهایی هستند که مقدار RSI آنها بالاتر ۷۰ باشد.
مراحل استفاده از فیلتر RSI
برای استفاده از فیلتر RSI به ترتیب، مراحل زیر را طی کنید.
- در ابتدا لازم است که کد موردنظرتان را آماده کرده و کپی کنید.
- سپس مطابق تصویر زیر، با مراجعه به سایت tsetmc.com، وارد دیدهبان شوید.
- در بخش دیدهبان، وارد قسمت فیلتر شوید. در تصویر زیر زبانه فیلتر مشخص شده است.
- در بخش شرط، کد فیلتر مربوطه را وارد کنید. برای این کار کدی را که کپی کردهاید، در قسمت شرط جایگذاری نمایید.
- بر روی گزینه اعتبارسنجی کلیک کنید. در این مرحله اگر کد شما خطا یا مشکلی داشته باشد، برای شما نمایان میشود. کدهایی که بالاتر برایتان نوشتهایم، خطا ندارند و میتوانید با اطمینان خاطر از آنها استفاده کنید.
- در مرحله آخر با انتخاب گزینه ثبت، کد فیلتر RSI شما ثبت شده و میتوانید با کلیک روی آن، نمادهایی را که فیلتر جدا میکند، مشاهده نمایید.
کاربردهای فیلتر RSI
استفاده از فیلتر RSI با هدفهای مختلفی صورت میگیرد. گاهی قصد دارید تا با استفاده از فیلتر، نمادهایی که RSI آنها مقادیر مشخصی دارند و سهمی با پتانسیل بالای بازار را پیدا کنید. بدین ترتیب وقتی نمادی را پیدا میکنید که مقدار RSI آن بیش از ۷۰ و ۸۰ است، به این آسانی به خرید آن راضی نمیشوید، چرا که افت مقدار به زیر ۷۰، سیگنال فروش محسوب میشود.
همچنین وقتی نمادی مقدار RSI آن کمتر از ۲۰ و۳۰ است، آن را زیر نظر گرفته تا با فراهم شدن شرایط کلی بازار و حجم معاملات مناسب، به آن ورود کنید؛ چرا که با شکست RSI از مقدار ۳۰ به سمت بالا، سیگنال خرید دریافت میکنید.
گاهی هدف شناخت بهتر وضعیت بازار است. بدین ترتیب میتوانیم به دنبال نمادهایی باشید که RSI آن در اشباع خرید و فروش به سر میبرند. هرچه تعداد نمادهایی در وضعیت اشباع خرید بیشتر باشد، پویایی و هیجان بازار بیشتر است. همچنین اگر تعداد زیادی از نمادها در وضعیت اشباع فروش باشند، ترس بر بازار غالب است و از قدرت خریداران کاسته شده است.
فیلتر محدودههای اشباع خرید و فروش اندیکاتور RSI
اگر به دنبال فیلتری هستید که با آن بتوانید نمادهایی را که مقدار RSI آنها در محدوده اشباع خرید یا فروش قرار دارد، پیدا کنید، جای درستی آمدهاید. میدانیم که این دو محدوده از محدودههای مهم این اندیکاتور هستند. برای مثال میتوان نمادهایی که RSI زیر ۳۰ دارند را در لیستی نوشت و منتظر حرکتشان ماند.
برای فیلتر نمادهایی که در محدوده اشباع فروش و RSI زیر ۳۰ یا در محدوده اشباع خرید و RSI بالای ۷۰ قرار دارند، از کد زیر استفاده کنید:
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;
}
}
// Calculate first "average gain" and "average loss"
var gainSum=0;
var lossSum=0;
for (var i = 0; i < period; i++) {
var rec=[ih][len-1-i];
gainSum += rec.gain;
lossSum += rec.loss;
}
var averageGain=gainSum /period;
var averageLoss=lossSum / period;
// Calculate subsequent "average gain" and "average loss" values
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;
}
// Calculate RSI
var RS = 0; // Relative strength
var RSIndex = 0; // Relative strength index
for (var i = period + 1; i < len; i++) { var rec=[ih][len-1-i]; RS = rec.averageGain/ rec.averageLoss; RSIndex = 100 - 100 / (1 + RS); rec.rsi=RSIndex; } }; if(typeof [ih][0].rsi=="undefined") CalculateRSI(14); (cfield0)=Math.floor([ih][0].rsi); if( [ih][0].rsi>70 || [ih][0].rsi<30)
return true;
else
return false;
}()
میتوانید از این کد در سایت tsetmc.com استفاده کنید و نمادهایی که مقدار RSI بالاتر از ۷۰ یا پایینتر از ۳۰ دارند را پیدا کنید.
فیلتر RSI بالای ۸۰ و پایین ۲۰
فیلتر دیگری که برای اندیکاتور RSI وجود دارد، فیلتر مقادیر بیشتر از ۸۰ و کمتر از ۲۰ است که مشابه فیلتر قبلی عمل میکند. با این تفاوت که با این فیلتر میتوانید نمادهایی را پیدا کنید که مقدار RSI آنها از ۸۰ بیشتر و از ۲۰ کمتر است.
علت پدید آمدن این فیلتر، این بود که برخی از معاملهگران نوسانی، به دنبال نمادهایی بودند که کاملاً در محدودههای اشباع باشند. فیلتر RSI برای مقادیر بیشتر از ۸۰ و کمتر از ۲۰، حساسیت بالاتری دارد و برای نوسانگیری استفاده میشود. کد فیلتر rsi زیر 20 به صورت زیر است:
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;
}
}
// Calculate first "average gain" and "average loss"
var gainSum=0;
var lossSum=0;
for (var i = 0; i < period; i++) {
var rec=[ih][len-1-i];
gainSum += rec.gain;
lossSum += rec.loss;
}
var averageGain=gainSum /period;
var averageLoss=lossSum / period;
// Calculate subsequent "average gain" and "average loss" values
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;
}
// Calculate RSI
var RS = 0; // Relative strength
var RSIndex = 0; // Relative strength index
for (var i = period + 1; i < len; i++) { var rec=[ih][len-1-i]; RS = rec.averageGain/ rec.averageLoss; RSIndex = 100 - 100 / (1 + RS); rec.rsi=RSIndex; } }; if(typeof [ih][0].rsi=="undefined") CalculateRSI(14); (cfield0)=Math.floor([ih][0].rsi); if( [ih][0].rsi>80 || [ih][0].rsi<20)
return true;
else
return false;
}()
با استفاده از کد بالا در سایت tsetmc.com میتوانید نمادهایی را بیابید که RSI آنها بالای ۸۰ یا زیر ۲۰ قرار دارد.
فیلتر واگرایی RSI
واگرایی مثبت rsi میتواند نشان دهنده تغییر روند نزولی به صعودی باشد ولی امکان نگارش فیلتر واگرایی rsi در tsetmc وجود ندارد؛ چرا که مشخصات زیادی را باید برای این فیلتر داشته باشیم و امکان آن نیست.
فیلتر rsi زیر 40
true==function()
{
var CalculateRSI =function(period){
var len=14;
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++) {
var rec=[ih][len-1-i];
gainSum += rec.gain;
lossSum += rec.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;
}
var RS = 0;
var RSIndex = 0;
for (var i = period + 1; i < len; i++) {
var rec=[ih][len-1-i];
RS = rec.averageGain/ rec.averageLoss;
RSIndex = 100 - 100 / (1 + RS);
rec.rsi=RSIndex;
}
};
if(typeof [ih][0].rsi=="undefined" )
CalculateRSI(14);
// telegram id : viratahlil
(cfield2)=Math.round([ih][0].rsi);
return true;
}()
&&
true==function()
{
if(([ih][0].rsi)<=40)
{
return true;
}
else
{
return false;
}
فیلتر کراس 50 RSI
زمانی که rsi عدد 50 به بالا را کراس میکند، احتمال اینکه روند خوبی در سهم شکل بگیرد، زیاد است. فیلتر کراس 50 rsi به صورت زیر است:
true==function()
{
var sumgain=function()
{
var gain=0;
var n;
for(n=0; n < 14; n++)
{
if ( [ih] [n].PClosing > [ih] [n].PriceYesterday )
{
gain += ( [ih] [n].PClosing - [ih] [n].PriceYesterday );
}
}
return gain/14;
};
var sumloss=function()
{
var loss=0;
var n;
for(n=0; n < 14; n++)
{
m=n+11
if ( [ih] [n].PClosing < [ih] [n].PriceYesterday )
{
loss += - ( [ih] [n].PClosing - [ih] [n].PriceYesterday );
}
}
return loss/14;
};
(cfield0)=sumgain();
(cfield1)=sumloss();
(cfield2)=Math.round(100-(100/(1+(cfield0)/(cfield1))));
return true;
}()
var SIGNAL
{
if ( (cfield2) > 70 && (tvol)>10000 ) {
SIGNAL="بالای 50"
}
else
{
SIGNAL=""
}
}
(cfield1)=SIGNAL
جمعبندی
استفاده از فیلترها برای تحلیل تکنیکال کاربردهای زیادی دارد، مخصوصاً حالا که تعداد نمادهای فعال در بازار سرمایه بسیار زیاد است و بررسی تک به تک آنها وقتگیر خواهد بود، استفاده از فیلترها به نظر ضروری میرسد. با استفاده از فیلترهای کاربردی از جمله فیلتر RSI میتوانید نمادهایی با پتانسیل بالا را شناسایی کنید و با دردسر کمتری به رصد بازار بپردازید.
البته توجه کنید که معامله بر اساس خروجیهای یک فیلتر کار اشتباهی است و میتواند منجر به ضرر شود. فیلترها تنها میتوانند نمادهایی از بازار را به ما نشان بدهند که برای تحلیل مناسبتر هستند. بنابراین فیلتر جای تحلیل را نمیگیرد و سعی کنید برای معامله، حتماً تمامی عوامل جهت تحلیل بنیادی و تکنیکال را بررسی نمایید.