جلسه بیست و هشتم – کدنویسی و فیلترنویسی Rsi – بخش ۳

در جلسه ۲۶ و ۲۷ ، نحوه فیلترگذاری دیده بان بازار بورس را با معرفی تعدادی فیلترهای ساده آموزش دادیم . در این مبحث به معرفی فیلتر rsi که مشتمل بر کدهای برنامه نویسی حلقه ای است می پردازیم .

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

ابتدا دیده بان بازار سایت مدیریت فناوری بورس ( tsetmc.com ) را احضار میکنیم . سپس از منوهای دیده بان بازار پنجمین منو از سمت راست با عنوان قالب نمایش را انتخاب میکنیم :

قالب نمایش دیده بان بورس
قالب نمایش دیده بان بورس

سپس از بین قالبهای قابل نمایش ، پنجمین گزینه “جدول + فیلدهای کاربر” را انتخاب میکنیم :

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

اکنون میبینیم که علاوه بر فیلدهای استاندارد و کلاسیک ، سه فیلد سفارشی با عنوان C0 و C1 و C2 هم به لیست نمایش اضافه شده که بصورت پیش فرض فاقد هر گونه داده ای است ولی شما می توانید با کدنویسی ، این فیلدها را پر کرده و سپس با فیلتر کردن آن ، بهره لازم را از آن ببرید .

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

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

اکنون به بخش فیلترگذاری وارد شده و کدهای زیر را در فیلتر مربوطه کپی کنید . نحوه کدگذاری فیلتر در جلسه ۲۶ توضیح داده شده است . با کپی کدهای زیر ، Rsi  لحظه ای هر نماد در فیلد C0 پر می شود و نسبت میانگین حجمی هر نماد هم در فیلد C1 تکمیل می شود :

true==function()

{

var VolumeOf3Days=function()

{

var V3D=[ih][0].QTotTran5J;

var n;

for(n=1; n<2; n++)

   V3D=(V3D+[ih][n].QTotTran5J)/2;

return V3D;

};

var VolumeOf14Days=function()

{

var V14D=[ih][0].QTotTran5J;

var n;

for(n=1; n<13; n++)

   V14D=(V14D+[ih][n].QTotTran5J)/2;

return V14D;

};

(cfield1)=Math.round(VolumeOf3Days()/VolumeOf14Days()*100)/100;

return true;

}()

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++) {

 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.round([ih][0].rsi);

 return true;

 }

 ()

پس از ثبت فیلتر فوق ، دو فیلد سفارشی کاربر در صفحه نمایش دیده بان برای هر نماد مشابه تصویر زیر قابل مشاهده خواهد بود :

فیلتر Rsi بورس
فیلتر Rsi بورس

با کدهای ثبت شده در این بخش هیچگونه محدودیتی بر روی نمادها ایجاد نشده و بلکه ستون C0  برای هر نماد با عدد اندیکاتور Rsi  تکمیل شده است . البته به این حالت نمیتوان گفت فیلتر گذاری شده ، اما اگر تصمیم دارید بعنوان مثال لیست نمادهایی را مشاهده کنید که Rsi کمتر از ۲۰ دارند ، لازم است فیلتر دیگری هم به آن اضافه کنید . برای این منظور مجددا وارد بخش فیلتر شده و بدون اینکه فیلتر قبلی را حذف کنید ، گزینه فیلتر جدید را بزنید و بر روی فیلتر ایجاد شده جدید  ، کلیک کنید و کد زیر را در بخش شرط آن کپی کنید :

(cfield0) < 20

استراتژی : با فعال کردن این فیلتر ، نمادهایی نشان داده خواهد شد که Rsi  کمتر از ۲۰ دارند و در محدوده اشباع فروش قرار گرفته اند . این فیلتر برای تحلیل زمان مناسب برای خرید مورد استفاده قرار می گیرد . تحلیل اندیکاتور Rsi  در جلسه یازدهم وبلاگ آموزش داده شده است . تصویر زیر جدول فیلتر شده نمادهایی را نشان میدهد که در لحظه تهیه این مطلب ، Rsi کمتر از ۲۰ داشته اند :

فیلتر Rsi بورس
فیلتر Rsi بورس