فیلتر ترکیبی اسیلاتورهای Stochastic + RSI برای بورس را هم اکنون می توانید از داتیس نتورک رایگان دریافت کنید. این فیلتر در دیده بان بازار TSETMC استفاده می شود و سیگنال خرید قوی صادر می کند. همراه داتیس نتورک باشید.
فیلتر ترکیبی اسیلاتورهای Stochastic + RSI برای بورس
فیلترهای بورس با استفاده از روابط ریاضی نوشته می شوند و بر اساس الگوریتم های شناخته شده تحلیل تکنیکال و تجزیه اطلاعات می توانند خروجی مورد نظر را به ما بدهند.
از فیلتر های بورس می توانید در سایت دیده بان بازار یا همان TSETMC استفاده کنید.
اگر به دنبال استفاده از فیلتر حرفه ای برای گرفتن تاییده برای ورود به یک سهم هستید می توانید از یک یا چند فیلتر قدرتمند استفاده کنید و لیستی از سهم های مستعد رشد را پیدا کنید و سپس روی سهم مورد نظر تحلیل تکنیکال انجام دهید یا با اندیکاتور های دیگر تاییده بگیرید و در نهایت ورود بزنید.
فیلتر قدرتمند ترکیبی اسیلاتورهای Stochastic + RSI هر روز نمادهایی را شناسایی می کند که مطابق شکل منحنی RSI روز گذشته زیر سطح 30 بوده وامروز سطح 30 را رو به بالا شکسته و هم زمان منحنی STOCHASTIC نیز روز گذشته زیر سطح 20 بوده و امروز سطح 20 را رو به بالا شکسته است و سیگنال خرید قوی صادر شده است.
آیا این فیلتر قابل اعتماد است؟
بهترین راه برای اثبات این موضوع گرفتن خروجی و نمایش به شماست.
در تاریخ 21 بهمن سال 1399 ما خروجی این فیلتر را گرفتیم و تصویر زیر خروجی این فیلتر است:
پس از گرفتن خروجی فوق سهم #وایران را در اندیکاتور ITM نیز بررسی گرفتیم و تاییده گرفتیم. حال شما می توانید بررسی کنید این فیلتر تا چه اندازه قدرتمند است و می توانید به آن اعتماد کنید.
نکته مهم : البته همواره این نکته را بدانید که هیچ فیلتر و اندیکاتوری تضمینی نیست و این ما هستیم که باید با تحلیل های جانبی از صحت خروجی این فیلترها اطمینان حاصل کنیم.
نکته مهم : حد ضرر و حد سود را حتما رعایت کنید خصوصا در بورس ایران!
کد فیلتر ترکیبی اسیلاتورهای Stochastic + RSI برای بورس
کد فیلتر:
true==function() { //----------- Setting ------------ var minrsi=45 var minstoc=45 //--------------------------------- function RX(per){ var rsimin=20 var rsimax=30 period =per var xb=0 var yb=0 var dle=0 var dlen = 60 for(xb=0;xb<dlen;xb++) { if([ih][xb].QTotTran5J>0) { yb++ }else{} } dle=yb var price = [];price.length=dle var df = [];df.length=dle var g = [];g.length=dle var l = [];l.length=dle var zg=[];zg.length=dle var zl=[];zl.length=dle var azg=[];azg.length=dle var azl=[];azl.length=dle var st11 =[];st11.length=dle var st12=[];st12.length=dle var r1=[];r1.length=dle var r2=[];r2.length=dle var j =dle+1 var i=0;var x=0;var y=0;var sg=0;var sl=0;var u1=0;var u2=0;var x1=0;var y1=0 var rsi=0 for(i=0;i<dlen;i++){ if([ih][i].QTotTran5J>0) { j--; price[j]=[ih][i].PDrCotVal; }else{} } for (i=2;i<=dle;i++){df[i]=(price[i]-price[i-1]) if (df[i]>0){g[i]=df[i];l[i]=0}else if(df[i]<0){l[i]=df[i];l[i]=Math.abs(l[i]);g[i]=0}else{g[i]=0,l[i]=0} } for(x=period+1;x<=dle;x++){ sg=0 for(y=x-period+1;y<=x;y++){ if(g[y]>=0){ sg+=g[y]}else{} } zg[x]=sg azg[x]=zg[x]/period sl=0 for(y=x-period+1;y<=x;y++){ if(l[y]>=0){ sl+=l[y]}else{} } zl[x]=sl azl[x]=zl[x]/period } st11[period+1]=azg[period+1] st12[period+1]=azl[period+1] for(i=period+1;i<=dle-1;i++){ u1= ((st11[i]*(period-1))+g[i+1])/period;st11[i+1]=u1 u2= ((st12[i]*(period-1))+l[i+1])/period;st12[i+1]=u2 } for(x1=period+1;x1<=dle;x1++){ switch(st11[x1]){ case 0: r2[x1]=0; default : if(st12[x1]!=0){r1[x1]=st11[x1]/st12[x1]}; } switch(st12[x1]){ case 0: r2[x1]=100 default : r1[x1] =st11[x1]/st12[x1] } if(st11[x1]!=0 && st12[x1]!=0 ){ r2[x1]=100-(100/(1+r1[x1])) } } rsi=Math.round(r2[dle]*100)/100 return rsi } function STK() { var per1=5 var per2=3 var per3=3 var dlen = 60 var xb=0 var yb=0 var dle=0 var i=0;j=0 var sum=0 var max=0 var min=10000000 var zig1=per1+per2 var zig2=zig1+per3 for(xb=0;xb<dlen;xb++) { if([ih][xb].QTotTran5J>0) { yb++ }else{} } dle=yb var hig=[];hig.length=dle var low=[];low.length=dle var clos=[];clos.length=dle var kd=[];kd.length=dle var stoc=[];stoc.length=dle var sm=[];sm.length=dle j=dle+1 for(xb=0;xb<dlen;xb++){ if([ih][xb].QTotTran5J>0) { j--; hig[j]=[ih][xb].PriceMax low[j]=[ih][xb].PriceMin clos[j]=[ih][xb].PDrCotVal }else{} } for(xb=per1;xb<=dle;xb++) { max=0 min=10000000 for(yb=xb-per1+1;yb<=xb;yb++) { if(hig[yb]>max){max=hig[yb]}else{} if(low[yb]<min){min=low[yb]}else{} } kd[xb]=((clos[xb]-min)/(max-min))*100 } for(xb=zig1-1;xb<=dle;xb++) { sum=0 for(yb=xb-per2+1;yb<=xb;yb++) { sum=sum+kd[yb] } stoc[xb]=sum/per2 stoc[xb]=Math.round(stoc[xb]*100)/100 } for(xb=zig2-1;xb<=dle;xb++) { sum=0 for(yb=xb-per3+1;yb<=xb;yb++) { sum=sum+stoc[yb] } sm[xb]=sum/per3 sm[xb]=Math.round(sm[xb]*100)/100 } return stoc[dle] } if(STK()<=minstoc&&RX(14)<=minrsi) { (cfield0)=STK (cfield1) = RX(14) return true }else{ return false } } ();
کد استوک استیک و RSI اشباع فروش:
true==function() { //----------- Setting ------------ var minrsi=21 var minstoc=21 //--------------------------------- function RX(per){ var rsimin=20 var rsimax=21 period =per var xb=0 var yb=0 var dle=0 var dlen = 60 for(xb=0;xb<dlen;xb++) { if([ih][xb].QTotTran5J>0) { yb++ }else{} } dle=yb var price = [];price.length=dle var df = [];df.length=dle var g = [];g.length=dle var l = [];l.length=dle var zg=[];zg.length=dle var zl=[];zl.length=dle var azg=[];azg.length=dle var azl=[];azl.length=dle var st11 =[];st11.length=dle var st12=[];st12.length=dle var r1=[];r1.length=dle var r2=[];r2.length=dle var j =dle+1 var i=0;var x=0;var y=0;var sg=0;var sl=0;var u1=0;var u2=0;var x1=0;var y1=0 var rsi=0 for(i=0;i<dlen;i++){ if([ih][i].QTotTran5J>0) { j--; price[j]=[ih][i].PDrCotVal; }else{} } for (i=2;i<=dle;i++){df[i]=(price[i]-price[i-1]) if (df[i]>0){g[i]=df[i];l[i]=0}else if(df[i]<0){l[i]=df[i];l[i]=Math.abs(l[i]);g[i]=0}else{g[i]=0,l[i]=0} } for(x=period+1;x<=dle;x++){ sg=0 for(y=x-period+1;y<=x;y++){ if(g[y]>=0){ sg+=g[y]}else{} } zg[x]=sg azg[x]=zg[x]/period sl=0 for(y=x-period+1;y<=x;y++){ if(l[y]>=0){ sl+=l[y]}else{} } zl[x]=sl azl[x]=zl[x]/period } st11[period+1]=azg[period+1] st12[period+1]=azl[period+1] for(i=period+1;i<=dle-1;i++){ u1= ((st11[i]*(period-1))+g[i+1])/period;st11[i+1]=u1 u2= ((st12[i]*(period-1))+l[i+1])/period;st12[i+1]=u2 } for(x1=period+1;x1<=dle;x1++){ switch(st11[x1]){ case 0: r2[x1]=0; default : if(st12[x1]!=0){r1[x1]=st11[x1]/st12[x1]}; } switch(st12[x1]){ case 0: r2[x1]=100 default : r1[x1] =st11[x1]/st12[x1] } if(st11[x1]!=0 && st12[x1]!=0 ){ r2[x1]=100-(100/(1+r1[x1])) } } rsi=Math.round(r2[dle]*100)/100 return rsi } function STK() { var per1=14 var per2=9 var per3=6 var dlen =40 var xb=0 var yb=0 var dle=0 var i=0;j=0 var sum=0 var max=0 var min=10000000 var zig1=per1+per2 var zig2=zig1+per3 for(xb=0;xb<dlen;xb++) { if([ih][xb].QTotTran5J>0) { yb++ }else{} } dle=yb var hig=[];hig.length=dle var low=[];low.length=dle var clos=[];clos.length=dle var kd=[];kd.length=dle var stoc=[];stoc.length=dle var sm=[];sm.length=dle j=dle+1 for(xb=0;xb<dlen;xb++){ if([ih][xb].QTotTran5J>0) { j--; hig[j]=[ih][xb].PriceMax low[j]=[ih][xb].PriceMin clos[j]=[ih][xb].PDrCotVal }else{} } for(xb=per1;xb<=dle;xb++) { max=0 min=10000000 for(yb=xb-per1+1;yb<=xb;yb++) { if(hig[yb]>max){max=hig[yb]}else{} if(low[yb]<min){min=low[yb]}else{} } kd[xb]=((clos[xb]-min)/(max-min))*100 } for(xb=zig1-1;xb<=dle;xb++) { sum=0 for(yb=xb-per2+1;yb<=xb;yb++) { sum=sum+kd[yb] } stoc[xb]=sum/per2 stoc[xb]=Math.round(stoc[xb]*100)/100 } for(xb=zig2-1;xb<=dle;xb++) { sum=0 for(yb=xb-per3+1;yb<=xb;yb++) { sum=sum+stoc[yb] } sm[xb]=sum/per3 sm[xb]=Math.round(sm[xb]*100)/100 } return stoc[dle] } if(STK()<=minstoc&&RX(14)<=minrsi) { (cfield0)=STK (cfield1) = RX(14) return true }else{ return false } } ();
امیدواریم فیلتر ترکیبی اسیلاتورهای Stochastic + RSI برای بورس مفید بوده باشد.
داتیس نتورک را در شبکه های اجتماعی دنبال کنید.
سلام و عرض ادب
ممنونم از فیلتری که گذاشتین ممکنه تلفنی باهاتون صحبت کنم .راهنمایی می خوام در مورد فیلتر
سلام
ممنون از فیلتری ک گذاشتین . درصورت امکان توضیحات و راهنمایی جهت روش استفاده از فیلتر و خروجی ها و پارامترهای عددی ک داده میشه بفرمایید هم بعنوان سیگنال خرید و هم فروش
سلام وقت بخیر، برای درک جزئیات فیلتر و کد ها توصیه می کنیم دوره و کتاب های آموزشی فیلترنویسی رو مطالعه بفرمایید.
شما بجای فیلتر stochrsi فیلتر stoch و rsi را نوشته اید که قاعدتا یکی نیستند