این فیلتر سهامی را برای شما لیست خواهد کرد که در اشباع فروش قرار دارند ولی این دلیل نمیشود که گمان کنید اصلاح آنها تمام شده است و حتما باید پارامتر های دیگر هم بررسی شود.در مورد جزئیات انتخاب سهام مناسب در دوره معامله گر هوشمند کامل توضیح داده شده است.
این فیلتر صرفا اعلام میکند سهام مذکور در 20 روز اخیر اصلاح عمیقی داشته اند.
پریود ها برای هر دو اندیکاتور قابل تغییر است.
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
}
}
();
دیدگاه ها (4)
error دارد باعنوان TypeError: Cannot read property 'QTotTran5J' of undefined چه موقع رفع می شود ?
برای فیلتر14 هم نظر گذاشته شده ولی اشکال همچنان باقی است.
باتشکر
برای فیلتر شماره 25 (rsi)این پیغام را میده چگونه میشه مشکل را حل کرد
TypeError: mw.InstHistory[row.inscode] is undefined