جریان نقدینگی نماد
جدید

پس از ورود به سایت بورس در مرحله بعد وارد قسمت دیده بان بازار بورس شده تا بتوانید وارد مرحله فیلترنویسی سایت شوید.

پس از ورود به دیده بان سایت باید گزینه فیلتر را کلیک کنید

در مرحله بعد باید فیلتر مورد نظر را در یکی از قسمت شرط فیلتر کپی کنید و در قسمت نام فیلتر نامی برای آن انتخاب کرده و سپس گزینه اعتبار سنجی را بزنید تا از عدم وجود خطا مطمئن شوید.سپس با زدن گزینه ثبت به عنوان فیلترجدید ذخیره میشود و سهام مد نظر به نمایش میگذارد.

true===function()
{
var len=[ih].length;
//********************************ÇÕáÇÍ ÓÇÈÞå*****************************************************
if([ih][0].PClosing!=(pc) && [ih][0].ZTotTran!=(tno) && [ih][0].QTotCap!=(tval)){
if(typeof [ih][0].fixed =='undefined'){
for(var i=len;i>0;i--){
if(typeof [ih][i] =='undefined' ){
[ih][i]={};
}
[ih][i].PriceFirst=[ih][i-1].PriceFirst;
[ih][i].PClosing=[ih][i-1].PClosing;
[ih][i].PDrCotVal=[ih][i-1].PDrCotVal;
[ih][i].ZTotTran=[ih][i-1].PriceFirst;
[ih][i].QTotTran5J=[ih][i-1].QTotTran5J;
[ih][i].QTotCap=[ih][i-1].QTotCap;
[ih][i].PriceChange=[ih][i-1].PriceChange;
[ih][i].PriceMin=[ih][i-1].PriceMin;
[ih][i].PriceMax=[ih][i-1].PriceMax;
[ih][i].PriceYesterday=[ih][i-1].PriceYesterday;
}
[ih][0].fixed=1;
}
[ih][0].PriceFirst=(pf);
[ih][0].PClosing=(pc);
[ih][0].PDrCotVal=(pl);
[ih][0].ZTotTran=(tno);
[ih][0].QTotTran5J=(tvol);
[ih][0].QTotCap=(tval);
[ih][0].PriceChange=(pcc);
[ih][0].PriceMin=(pmin);
[ih][0].PriceMax=(pmax);
[ih][0].PriceYesterday=(py);
}
//************************* The END**********************************
//************cci*********************
function CCI(day,start){
var len=[ih].length;
for(var i=0;i<len;i++){
[ih][i].typical=([ih][i].PriceMin+[ih][i].PriceMax+[ih][i].PDrCotVal)/3;
}
var sum=0;
var sum_abs=0;
for(var i=start;i<start+day;i++){
sum+=[ih][i].typical;
}
var TPSMA=sum/day;
for(var i=start;i<start+day;i++){
sum_abs+=Math.abs(TPSMA-[ih][i].typical);
}
var MD=sum_abs/day;
return ([ih][start].typical-TPSMA)/(0.015*MD);
}
//********************* æÇÑÇíí *******************************************
var findpivot = function(day){
var dayp = 0;
var type = 0;
var pivot = [];
var count = 0;
for (var j = 1;j<=day;j++){
if(j<=4)
for (var k = j-1;k<=j+3;k++)
{
if(typeof [ih][j] == "undefined" ||typeof [ih][k] == "undefined")continue;
if([ih][j].PDrCotVal>[ih][k].PDrCotVal)
{count ++}
if([ih][j].PDrCotVal<[ih][k].PDrCotVal)
{count --}
if(k==j+3&&type===0){
//pivot -
if(count<=-4){
type = -1;
dayp=j;
pivot.push(type);
pivot.push(dayp);
}
count = 0;
}}
//******************************************************************
//start pivot
if(j>4)
for (var i = j-4;i<=j+4;i++)
{
if(typeof [ih][j] == "undefined" ||typeof [ih][i] == "undefined")continue;
if([ih][j].PDrCotVal>[ih][i].PDrCotVal){count ++}
if([ih][j].PDrCotVal<[ih][i].PDrCotVal){count --}
if(i==j+4){
//pivot -
if(count<=-7){
type = -1;
dayp=j
pivot.push(type)
pivot.push(dayp)
}
count = 0;
}
}
}
return pivot
};
//************************//end pivot//******************************
var divergence = function(per){
var lptype=0;
var lpdate=0;
var pivot = [];
pivot = findpivot(per);
if(pivot.length>1){
lptype=pivot[0];
lpdate=pivot[1];
}
if(lptype<0){
var lpprice =[ih][lpdate].PDrCotVal;
var lprsi =CCI(20,lpdate);
var daychek =[];
var day = 0;
var chprice = 0;
var chrsi = 0;
var rp = 0;
var rr = 0;
var dif = 0
var rpf = 0
var rrf = 0
var diff = 0
var dayf = 0
var difchek = 0
var rep1 = ""
var rep2 = 0
for(var i = 0; i<pivot.length;i+=2){
if(pivot[i]<0)
daychek.push(pivot[i+1])
}
for(k=0;k<daychek.length;k++)
{
day = daychek[k];
chprice = [ih][day].PDrCotVal
chrsi = CCI(20,day)
rp = (((lpprice-chprice)/chprice)*100)
rr = (lprsi-chrsi).toFixed(2)
dif = (Math.abs(rp)+Math.abs(rr))
if(dif>difchek)
{
difchek=dif
dayf = day
diff = dif
rrf = rr
rpf = rp
}
}
if (dayf != 0){
if(rpf<0&&rrf>0){
rep1 = "RD+"
rep2 = diff
}
}
return [rep1,rep2]
}
};
diverg="";
if(divergence(50)[1]>150){diverg=divergence(50)[0]}
//***********ÎÑæÌí***********
if(diverg=="RD+"&&(tno)>20&&(cs)!=68){return true}
}();
(ct).Buy_CountN>=2*((ct).Sell_CountN)&&((ct).Buy_I_Volume/(ct).Buy_CountI)>((ct).Sell_I_Volume/(ct).Sell_CountI)
(tvol)> [is5] && (tvol)>2*[is6]
(ct).Sell_N_Volume>[is5]
(po1)==(tmin)&&(qd1)==0&&(qo1)<2000000
(pd1) == (tmax) && (qd1)>=0.2*(bvol) && (qd1)<=(bvol)
true==function()
{
var MinPrice=function(){
var min=[ih][0].PriceMin;
var ipos;
for(ipos=0;ipos<21;ipos++)
if(min>[ih][ipos].PriceMin)
min=[ih][ipos].PriceMin;
return min;
};
if((pl)<MinPrice())
{
return true;
}
else
{
return false;
}
}()
(pd1) == (tmax) && (qd1)>(bvol)
((pmax)-(pmin))/(pmin) >= 0.08
(Math.min( [ih][1].PriceMin , [ih][2].PriceMin , [ih][3].PriceMin , [ih][4].PriceMin , [ih][5].PriceMin , [ih][6].PriceMin , [ih][7].PriceMin , [ih][8].PriceMin , [ih][9].PriceMin , [ih][10].PriceMin , [ih][11].PriceMin , [ih][12].PriceMin , [ih][13].PriceMin , [ih][14].PriceMin , [ih][15].PriceMin , [ih][16].PriceMin , [ih][17].PriceMin , [ih][18].PriceMin , [ih][19].PriceMin , [ih][20].PriceMin , [ih][21].PriceMin , [ih][22].PriceMin , [ih][23].PriceMin , [ih][24].PriceMin , [ih][25].PriceMin , [ih][26].PriceMin , [ih][27].PriceMin , [ih][28].PriceMin , [ih][29].PriceMin , [ih][30].PriceMin , [ih][31].PriceMin , [ih][32].PriceMin , [ih][33].PriceMin , [ih][34].PriceMin , [ih][35].PriceMin , [ih][36].PriceMin , [ih][37].PriceMin , [ih][38].PriceMin , [ih][39].PriceMin , [ih][40].PriceMin , [ih][41].PriceMin , [ih][42].PriceMin , [ih][43].PriceMin , [ih][44].PriceMin , [ih][45].PriceMin , [ih][46].PriceMin , [ih][47].PriceMin , [ih][48].PriceMin , [ih][49].PriceMin , [ih][50].PriceMin , [ih][51].PriceMin , [ih][52].PriceMin , [ih][53].PriceMin , [ih][54].PriceMin , [ih][55].PriceMin , [ih][56].PriceMin , [ih][57].PriceMin , [ih][58].PriceMin , [ih][59].PriceMin ))> ( ( Math.min( (pmin) , [ih][1].PriceMin , [ih][2].PriceMin , [ih][3].PriceMin )) ) &&(tvol) >= (bvol) &&(tvol) >200000
(bvol) == 1
(tno) > 2500
((tmax)-(py))/(py)<0.04
(pe)<0
(ct).Buy_N_Volume >= (tvol) * 0.7
(z)*(pc)>=1000000000000000
(z)*(pc)<=10000000000000
(plp)-(pcp)>2 && (tno)>10 && (tvol)> (bvol)
(pc)<2000
(ct).Buy_N_Volume >= (tvol) * 0.6
(tval)>=1000000000000
(l18)[(l18).length-1]=='ح'
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<30)
return true;
else
return false;
}()
(tvol)> [is5] && (tvol)>2*[is6]
(py) < (pf) && (pmin) == (pmax) && (pmin) == (pl) && [ih][0].PriceYesterday < [ih][0].PriceFirst && [ih][0].PriceMin == [ih][0].PriceMax && [ih][0].PriceMin == [ih][0].PDrCotVal && [ih][1].PriceYesterday < [ih][1].PriceFirst && [ih][1].PriceMin == [ih][1].PriceMax && [ih][1].PriceMin == [ih][1].PDrCotVal
(bvol)==1
(tvol)>1.5*[is6]&&((ct).Buy_I_Volume/(ct).Buy_CountI)<((ct).Sell_I_Volume/(ct).Sell_CountI)&&(pl)<=(pc)&&(plp)<0
(ct).Buy_CountN>=2*((ct).Sell_CountN)&&((ct).Buy_I_Volume/(ct).Buy_CountI)>((ct).Sell_I_Volume/(ct).Sell_CountI)
true===function()
{
var len=[ih].length;
//********************************ÇÕáÇÍ ÓÇÈÞå*****************************************************
if([ih][0].PClosing!=(pc) && [ih][0].ZTotTran!=(tno) && [ih][0].QTotCap!=(tval)){
if(typeof [ih][0].fixed =='undefined'){
for(var i=len;i>0;i--){
if(typeof [ih][i] =='undefined' ){
[ih][i]={};
}
[ih][i].PriceFirst=[ih][i-1].PriceFirst;
[ih][i].PClosing=[ih][i-1].PClosing;
[ih][i].PDrCotVal=[ih][i-1].PDrCotVal;
[ih][i].ZTotTran=[ih][i-1].PriceFirst;
[ih][i].QTotTran5J=[ih][i-1].QTotTran5J;
[ih][i].QTotCap=[ih][i-1].QTotCap;
[ih][i].PriceChange=[ih][i-1].PriceChange;
[ih][i].PriceMin=[ih][i-1].PriceMin;
[ih][i].PriceMax=[ih][i-1].PriceMax;
[ih][i].PriceYesterday=[ih][i-1].PriceYesterday;
}
[ih][0].fixed=1;
}
[ih][0].PriceFirst=(pf);
[ih][0].PClosing=(pc);
[ih][0].PDrCotVal=(pl);
[ih][0].ZTotTran=(tno);
[ih][0].QTotTran5J=(tvol);
[ih][0].QTotCap=(tval);
[ih][0].PriceChange=(pcc);
[ih][0].PriceMin=(pmin);
[ih][0].PriceMax=(pmax);
[ih][0].PriceYesterday=(py);
}
//************************* The END**********************************
//************cci*********************
function CCI(day,start){
var len=[ih].length;
for(var i=0;i<len;i++){
[ih][i].typical=([ih][i].PriceMin+[ih][i].PriceMax+[ih][i].PDrCotVal)/3;
}
var sum=0;
var sum_abs=0;
for(var i=start;i<start+day;i++){
sum+=[ih][i].typical;
}
var TPSMA=sum/day;
for(var i=start;i<start+day;i++){
sum_abs+=Math.abs(TPSMA-[ih][i].typical);
}
var MD=sum_abs/day;
return ([ih][start].typical-TPSMA)/(0.015*MD);
}
//********************* æÇÑÇíí *******************************************
var findpivot = function(day){
var dayp = 0;
var type = 0;
var pivot = [];
var count = 0;
for (var j = 1;j<=day;j++){
if(j<=4)
for (var k = j-1;k<=j+3;k++)
{
if(typeof [ih][j] == "undefined" ||typeof [ih][k] == "undefined")continue;
if([ih][j].PDrCotVal>[ih][k].PDrCotVal)
{count ++}
if([ih][j].PDrCotVal<[ih][k].PDrCotVal)
{count --}
if(k==j+3&&type===0){
//pivot -
if(count<=-4){
type = -1;
dayp=j;
pivot.push(type);
pivot.push(dayp);
}
count = 0;
}}
//******************************************************************
//start pivot
if(j>4)
for (var i = j-4;i<=j+4;i++)
{
if(typeof [ih][j] == "undefined" ||typeof [ih][i] == "undefined")continue;
if([ih][j].PDrCotVal>[ih][i].PDrCotVal){count ++}
if([ih][j].PDrCotVal<[ih][i].PDrCotVal){count --}
if(i==j+4){
//pivot -
if(count<=-7){
type = -1;
dayp=j
pivot.push(type)
pivot.push(dayp)
}
count = 0;
}
}
}
return pivot
};
//************************//end pivot//******************************
var divergence = function(per){
var lptype=0;
var lpdate=0;
var pivot = [];
pivot = findpivot(per);
if(pivot.length>1){
lptype=pivot[0];
lpdate=pivot[1];
}
if(lptype<0){
var lpprice =[ih][lpdate].PDrCotVal;
var lprsi =CCI(20,lpdate);
var daychek =[];
var day = 0;
var chprice = 0;
var chrsi = 0;
var rp = 0;
var rr = 0;
var dif = 0
var rpf = 0
var rrf = 0
var diff = 0
var dayf = 0
var difchek = 0
var rep1 = ""
var rep2 = 0
for(var i = 0; i<pivot.length;i+=2){
if(pivot[i]<0)
daychek.push(pivot[i+1])
}
for(k=0;k<daychek.length;k++)
{
day = daychek[k];
chprice = [ih][day].PDrCotVal
chrsi = CCI(20,day)
rp = (((lpprice-chprice)/chprice)*100)
rr = (lprsi-chrsi).toFixed(2)
dif = (Math.abs(rp)+Math.abs(rr))
if(dif>difchek)
{
difchek=dif
dayf = day
diff = dif
rrf = rr
rpf = rp
}
}
if (dayf != 0){
if(rpf<0&&rrf>0){
rep1 = "RD+"
rep2 = diff
}
}
return [rep1,rep2]
}
};
diverg="";
if(divergence(50)[1]>150){diverg=divergence(50)[0]}
//***********ÎÑæÌí***********
if(diverg=="RD+"&&(tno)>20&&(cs)!=68){return true}
}();
(qd1)*(pd1)+(qd2)*(pd2)+(qd3)*(pd3)>500000000 && (pl)!=(tmin) && (tno)>10 && (plp)
&&
(tvol)> [is5] && (tvol)>3*[is6]
&&
((ct).Buy_I_Volume/(ct).Buy_CountI)> ((ct).Sell_I_Volume/(ct).Sell_CountI)
(po1)==(tmin)&&(qo1)>=2*(bvol)
(tvol) > 5*(bvol)
&&
((ct).Buy_CountN / (ct).Sell_CountI) < 0.4
&&
((ct).Sell_N_Volume / (tvol)) > 0.7
&&
((ct).Buy_I_Volume/(tvol)) > 0.9
&&
(( (ct).Buy_I_Volume / (tvol)) * ((tval) / (ct).Buy_CountI)) > 250000000
&&
((((ct).Buy_I_Volume / (tvol)) * (tval)) / (((ct).Sell_I_Volume / (tvol)) * (tval))) > 1.5
&&
(( (ct).Sell_I_Volume / (tvol)) * ((tval) / (ct).Sell_CountI)) <120000000
(pc)>=(py) && (bvol)<200000 && (plp) >= 1.5
1.03*(pl)<=(pc)
(pd1)==(tmax)&&(pc)==(pl)
(tvol)>2.5*(((tvol)+([ih][1].QTotTran5J)+
([ih][2].QTotTran5J)+([ih][3].QTotTran5J)+
([ih][4].QTotTran5J)+([ih][5].QTotTran5J)
+([ih][6].QTotTran5J)+([ih][7].QTotTran5J)+
([ih][8].QTotTran5J)+([ih][9].QTotTran5J)+([ih]
[10].QTotTran5J)+
([ih][11].QTotTran5J)+([ih][12].QTotTran5J)+
([ih][13].QTotTran5J)+([ih][14].QTotTran5J)
+([ih][15].QTotTran5J)+([ih][16].QTotTran5J)+
([ih][17].QTotTran5J)+([ih][18].QTotTran5J)+([ih]
[19].QTotTran5J)+
([ih][20].QTotTran5J)+([ih][21].QTotTran5J))/22) &&
(((ct).Buy_I_Volume)/
((ct).Buy_CountI))*3<(((ct).Sell_I_Volume)/
((ct).Sell_CountI))
(tvol)> 2*[is5] && (tvol)>3*[is6]
(pf)<(py)&&(pl)>(py)&&(tvol)>=(bvol)&&(bvol)!=1&&(ct).Buy_I_Volume/(ct).Buy_CountI >(ct).Sell_I_Volume/(ct).Sell_CountI&&(tvol)>2
true==function()
{
if((tvol)>(bvol) && (pmin)== (tmin) && ((pl)-(pc))/(pl)*100>1.5 && (ct).Sell_CountI >= (ct).Buy_CountI && (tno)>5 && (tno)>20)
{
return true;
}
else
{
return false;
}
}()
(tvol)>5*(([ih][0].QTotTran5J+[ih][1].QTotTran5J+[ih][2].QTotTran5J+[ih][3].QTotTran5J+[ih][4].QTotTran5J+[ih][5].QTotTran5J+[ih][6].QTotTran5J+[ih][7].QTotTran5J+[ih][8].QTotTran5J+[ih][9].QTotTran5J+[ih][10].QTotTran5J+[ih][11].QTotTran5J+[ih][12].QTotTran5J+[ih][13].QTotTran5J+[ih][14].QTotTran5J+[ih][15].QTotTran5J+[ih][16].QTotTran5J+[ih][17].QTotTran5J+[ih][18].QTotTran5J+[ih][19].QTotTran5J+[ih][20].QTotTran5J+[ih][21].QTotTran5J+[ih][22].QTotTran5J+[ih][23].QTotTran5J+[ih][24].QTotTran5J+[ih][25].QTotTran5J+[ih][26].QTotTran5J+[ih][27].QTotTran5J+[ih][28].QTotTran5J+[ih][29].QTotTran5J)/30)&&(bvol)!=1&&(tno)>=1&&(tvol)>=5*[is3]
(pmin)==(tmin)&&(pl)>(py)
((tmax)-(py))/(py)>0.06
[ih][6].PClosing>[ih][5].PClosing&&
[ih][5].PClosing>[ih][4].PClosing&&
[ih][4].PClosing>[ih][3].PClosing&&
[ih][3].PClosing>[ih][2].PClosing&&
[ih][2].PClosing>[ih][1].PClosing&&
[ih][1].PClosing>[ih][0].PClosing
(((ct).Buy_I_Volume/(ct).Buy_CountI)*(pc))>=1000000000
(Math.round((((pc)*(ct).Buy_I_Volume)/(ct).Buy_CountI)/1000000))>=200
&&
(Math.round((((((ct).Buy_I_Volume/(ct).Buy_CountI)*((tval)/(tvol)))/(((ct).Sell_I_Volume/(ct).Sell_CountI)*((tval)/(tvol)))))*100)/100)>=2
&&
(ct).Buy_I_Volume>50
&&
(Math.round((((ct).Buy_I_Volume-(ct).Sell_I_Volume)*((tval)/(tvol)))/1000000))>=100000
&&
Math.round((tvol)/(([ih][0].QTotTran5J+[ih][1].QTotTran5J+[ih][2].QTotTran5J+[ih][3].QTotTran5J+[ih][4].QTotTran5J+[ih][5].QTotTran5J+[ih][6].QTotTran5J+[ih][7].QTotTran5J+[ih][8].QTotTran5J+[ih][9].QTotTran5J+[ih][10].QTotTran5J+[ih][11].QTotTran5J+[ih][12].QTotTran5J+[ih][13].QTotTran5J+[ih][14].QTotTran5J+[ih][15].QTotTran5J+[ih][16].QTotTran5J+[ih][17].QTotTran5J+[ih][18].QTotTran5J+[ih][19].QTotTran5J+[ih][20].QTotTran5J+[ih][21].QTotTran5J+[ih][22].QTotTran5J+[ih][23].QTotTran5J+[ih][24].QTotTran5J+[ih][25].QTotTran5J+[ih][26].QTotTran5J+[ih][27].QTotTran5J+[ih][28].QTotTran5J+[ih][29].QTotTran5J)/30)*100)/100>=1
true==function()
{
//Calculate the Min Price of Month
var MinPriceOfMonth=function()
{
var minimum=[ih][0].PriceMin;
var n;
for(n=1; n<29; n++)
if(minimum>[ih][n].PriceMin)
minimum=[ih][n].PriceMin;
return minimum;
};
if((cfield2)<3 && MinPriceOfMonth() !=0)
{
return true;
}
else
{
return false;
}
}()
( (pl) - (pf) ) / ( (tmax) -(tmin) ) *100 > 85
&&
((([ih][0].PriceMin)+([ih][1].PriceMin)+([ih][2].PriceMin)+([ih][3].PriceMin)+([ih][4].PriceMin))/5)< ((([ih][5].PriceMin)+([ih][6].PriceMin)+([ih][7].PriceMin)+([ih][8].PriceMin)+([ih][9].PriceMin))/5) &&
((([ih][5].PriceMin)+([ih][6].PriceMin)+([ih][7].PriceMin)+([ih][8].PriceMin)+([ih][9].PriceMin))/5)<((([ih][10].PriceMin)+([ih][11].PriceMin)+([ih][12].PriceMin)+([ih][13].PriceMin)+([ih][14].PriceMin))/5) &&
Math.min(([ih][0].PriceMin),([ih][1].PriceMin),([ih][2].PriceMin),([ih][3].PriceMin),([ih][4].PriceMin),([ih][5].PriceMin),([ih][6].PriceMin),([ih][7].PriceMin),([ih][8].PriceMin),([ih][9].PriceMin),([ih][10].PriceMin),([ih][11].PriceMin),([ih][12].PriceMin),([ih][13].PriceMin),([ih][14].PriceMin))>0.0001
&&
((pc)*(ct).Buy_I_Volume)/(ct).Buy_CountI>100000000
&&
((ct).Buy_I_Volume/(ct).Buy_CountI)> 1* ((ct).Sell_I_Volume/(ct).Sell_CountI)
&&
(tvol)>(bvol)*1.5
&&
(eps)>100
&&
Math.round((((ct).Buy_I_Volume/(ct).Buy_CountI)/([is50]/[is58]))*100)/100
&&
(ct).Sell_CountI>=0.2*((ct).Buy_CountI)&&(bvol)!=2
true==function()
{
//Calculate the Min Price of Month
var MinPriceOfMonth=function()
{
var minimum=[ih][0].PriceMin;
var n;
for(n=1; n<29; n++)
if(minimum>[ih][n].PriceMin)
minimum=[ih][n].PriceMin;
return minimum;
};
if((cfield2)<3 && MinPriceOfMonth() !=0)
{
return true;
}
else
{
return false;
}
}()
(pmax)!=(tmax)&&(plp)>=4
&&
((([ih][5].PriceMin)+([ih][6].PriceMin)+([ih][7].PriceMin)+([ih][8].PriceMin)+([ih][9].PriceMin))/5)<((([ih][10].PriceMin)+([ih][11].PriceMin)+([ih][12].PriceMin)+([ih][13].PriceMin)+([ih][14].PriceMin))/5) &&
Math.min(([ih][0].PriceMin),([ih][1].PriceMin),([ih][2].PriceMin),([ih][3].PriceMin),([ih][4].PriceMin),([ih][5].PriceMin),([ih][6].PriceMin),([ih][7].PriceMin),([ih][8].PriceMin),([ih][9].PriceMin),([ih][10].PriceMin),([ih][11].PriceMin),([ih][12].PriceMin),([ih][13].PriceMin),([ih][14].PriceMin))>0.0001
&&
(((ct).Buy_I_Volume/(ct).Buy_CountI)*(pc))>=100000000
[ih][1].PDrCotVal < [ih][1].PriceFirst &&
[ih][0].PriceFirst < [ih][1].PDrCotVal &&
[ih][0].PDrCotVal > [ih][1].PriceFirst &&
(pl) > (pf) &&
(pf) > [ih][0].PriceFirst &&
(pl) > [ih][0].PDrCotVal
(pmin)*1.05<(pl) && (pl) == (pf) && (pf) > (pc)&&(pmax)==(pl)
[ih][1].PriceFirst>[ih][1].PDrCotVal &&
(pf)<(pl) &&
[ih][0].PriceFirst<[ih][1].PDrCotVal &&
[ih][0].PDrCotVal<[ih][1].PDrCotVal &&
[ih][0].PriceFirst<(pf) &&
[ih][0].PDrCotVal<(pf)
true == function()
{
var hajm = function(day)
{
var sum = 0;
for(i = 0; i < day; i++)
{
sum = sum + [ih][i].QTotTran5J;
}
var ave = sum / day;
return ave;
}
var str="";
var ghodrat = Math.round((((ct).Buy_I_Volume/(ct).Buy_CountI)/((ct).Sell_I_Volume/(ct).Sell_CountI)) * 100 ) / 100;
(cfield2) =ghodrat ;
if ((pmin)*1.05<(pl) && (pl) == (pf) && (pf) > (pc)&&(pmax)==(pl))
{
var str="سنجاقک ";
}
if ((pl)>(pf) && ((pl)-(pf))/((tmax)-(tmin))>0.7 && ((pmax)-(pmin))/((tmax)-(tmin))>0.6)
{
var str="مارابوزو ";
}
if ((pl)>(pf) && ([ih][0].PDrCotVal)<([ih][0].PriceFirst)&&(pl)>[ih][0].PriceFirst && (pf)<[ih][0].PDrCotVal )
{
var str="پوشا ";
}
if((pl)>(pf) && ((pmax)-(pmin))/((tmax)-(tmin))>0.7 && ((pmax)-(pf))/((pf)-(pmin))<0.5 && ((pmax)-(pl))/((pl)-(pf))<0.3)
{
var str="چکش ";
}
if (str != ""&& ghodrat >1 )
{
return true;
}
}()
true==function() {
// marubozu candel //
if ((pl)==(pmax)&&(pmax)==(tmax)&&(pf)==(pmin)&&(pmin)==(tmin)&& [ih][1].PDrCotVal<= Math.min ( [ih][2].PDrCotVal ,[ih][3].PDrCotVal ,[ih][4].PDrCotVal ))
{
return true;
}
else if ((pf)==(pmax)&&(pmax)==(tmax)&&(pl)==(pmin)&&(pmin)==(tmin)&& [ih][1].PDrCotVal<= Math.min ( [ih][2].PDrCotVal ,[ih][3].PDrCotVal ,[ih][4].PDrCotVal ))
{
return true;
}
// engulfing candel //
if ([ih][0].PDrCotVal<[ih][0].PriceFirst&&[ih][0].PriceFirst<(pl)&&(pf)>(pl)&&(pf)<[ih][0].PDrCotVal&& [ih][1].PDrCotVal<= Math.min ( [ih][2].PDrCotVal ,[ih][3].PDrCotVal ,[ih][4].PDrCotVal ))
{
return true;
}
else if([ih][0].PDrCotVal>[ih][0].PriceFirst&&[ih][0].PriceFirst>(pl)&&(pf)<(pl)&&(pf)>[ih][0].PDrCotVal&& [ih][1].PDrCotVal<= Math.min ( [ih][2].PDrCotVal ,[ih][3].PDrCotVal ,[ih][4].PDrCotVal ))
{
return true;
}
// Dragon&Gstone candel //
if ((pl)==(pf)&&(pf)==(tmax)&&(pmin)<1.03*(tmin)&& [ih][1].PDrCotVal<= Math.min ( [ih][2].PDrCotVal ,[ih][3].PDrCotVal ,[ih][4].PDrCotVal ))
{
return true;
}
else if((pmax)>0.98*(tmax)&&(pl)==(pf)&&(pf)==(tmin)&& [ih][1].PDrCotVal<= Math.min ( [ih][2].PDrCotVal ,[ih][3].PDrCotVal ,[ih][4].PDrCotVal ))
{
return true;
}
// hammer candel //
if ((pl)==(pmax)&&(pmax)==(tmax)&&(pf)>0.96*(pl)&&(pl)!=(pf)&& [ih][1].PDrCotVal<= Math.min ( [ih][2].PDrCotVal ,[ih][3].PDrCotVal ,[ih][4].PDrCotVal ))
{
return true;
}
else if((pmax)== (tmax)&&(pl)!=(pf)&&0.97*(pf)<(pl)&&(pf)==(pmax)&& [ih][1].PDrCotVal<= Math.min ( [ih][2].PDrCotVal ,[ih][3].PDrCotVal ,[ih][4].PDrCotVal ))
{
return true;
}
// return true;
}()
[ih][1].PDrCotVal<[ih][1].PriceFirst&&[ih][0].PriceFirst<[ih][1].PDrCotVal&&([ih][1].PDrCotVal/[ih][1].PriceFirst)<=0.99&&
([ih][0].PDrCotVal/[ih][0].PriceFirst)>=1.02&&[ih][0].PriceMax>[ih][1].PriceFirst&&[ih][0].PDrCotVal>[ih][1].PriceFirst&&
[ih][0].PriceMin<[ih][1].PriceMin
(pl)>(pf) && ([ih][0].PDrCotVal)<([ih][0].PriceFirst)&&(pl)>[ih][0].PriceFirst && (pf)<[ih][0].PDrCotVal
(pl) > (pc) && (pmax) > (pmin) && (pl) > (py) && (pmax) > (py) && (pf) >= (py) && (pl) > (pmin) && (pl) > (pf) && (pl)/(pf)<1.015 && (pl)/(pf)> 1.005 && (pmax) == (pl) && (tno) > 1
(pf)>(pmin)&&(pl)>(pf)&&(plp)-(pcp)>2
||
(plp)-(pcp)>3 && (pd1)< (tmax)
||
(pl)>=(pc)*1.03&&((ct).Buy_I_Volume/(ct).Buy_CountI)>((ct).Sell_I_Volume/(ct).Sell_CountI)&&(pf)<(pl)
||
(plp)-(pcp)>2&&(plc)<0&&(pmin)==(tmin)&&((ct).Buy_I_Volume/(ct).Buy_CountI)>((ct).Sell_I_Volume/(ct).Sell_CountI)
(pe)>5 && (pe)<6
true == function() {
var temp1 ="";
var taghir = [0];
var temp2 = 0;
var emrooz = "";
var out = "";
for(i=0; i <= 4; i++){
if([ih][i].QTotTran5J != 0 && [ih][i+1].QTotTran5J !=0 ){
if( [ih][i].QTotTran5J > [ih][i+1].QTotTran5J ) {
temp1 = "ok";
taghir[i] = (100*([ih][i].QTotTran5J - [ih][i+1].QTotTran5J)/([ih][i+1].QTotTran5J)).toFixed(1);
}
else{
temp1 = "no";
break;
}
}
}
if ((tvol) > [ih][0].QTotTran5J ){
temp2 = (100*((tvol) - [ih][0].QTotTran5J)/([ih][0].QTotTran5J)).toFixed(1);
// today = !
emrooz = "today" + "+" + temp2 + "%";
}
if (temp1 == "ok"){
for(i=0; i<=4; i++){
if (typeof taghir[i] != "undefined" && taghir[i] !=0 ){
out = out + (i+1) + "day" + "+" + taghir[i] + "%" + " , ";
}
}
return true;
}
}()
true==function(){
var period1=9
var period2=27
var dlen = 60
var xb=0
var yb=0
var dle=0
var sum=0
for(xb=0;xb<dlen;xb++)
{
if([ih][xb].QTotTran5J>0)
{
yb++
}else{}
}
dle=yb
var sma1=[];sma1.length=dle
var sma2=[];sma2.length=dle
var ema1=[];ema1.length=dle
var ema2=[];ema2.length=dle
var closdbs=[];closdbs.length=dle
yb=dle+1
for(xb=0;xb<dlen;xb++)
{
if([ih][xb].QTotTran5J>0)
{
yb--
closdbs[yb]=[ih][xb].PDrCotVal
}else{}
}
zr1=2/(period1+1)
zr2=2/(period2+1)
sum=0
for(xb=1;xb<=period1;xb++)
{
sum+=closdbs[xb]
}
sma1[period1]=sum/period1
ema1[period1]=sma1[period1]
for(xb=period1+1;xb<=dle;xb++)
{
ema1[xb]=zr1*(closdbs[xb]-ema1[xb-1])+ema1[xb-1]
}
ema1[dle]=Math.round(ema1[dle]*100)/100
sum=0
for(xb=dle-period1+1;xb<=dle;xb++)
{
sum+=closdbs[xb]
}
sma1[dle]=sum/period1
sma1[dle]=Math.round(sma1[dle]*100)/100
sum=0
for(xb=1;xb<=period2;xb++)
{
sum+=closdbs[xb]
}
sma2[period2]=sum/period2
ema2[period2]=sma2[period2]
for(xb=period2+1;xb<=dle;xb++)
{
ema2[xb]=zr2*(closdbs[xb]-ema2[xb-1])+ema2[xb-1]
}
ema2[dle]=Math.round(ema2[dle]*100)/100
sum=0
for(xb=dle-period2+1;xb<=dle;xb++)
{
sum+=closdbs[xb]
}
sma2[dle]=sum/period2
sma2[dle]=Math.round(sma2[dle]*100)/100
if(dle>=period2&&ema1[dle-1]<ema2[dle-1]&&ema1[dle]>=ema2[dle])
{
return true
}else{
return false
}
}();
true == function()
{
//********** SMA function *****************//
var sma = function(arr,day,period)
{ var sum=0 ;
for(n = day ; n < period+day ; n++) { sum = sum + arr[n]; }
var avesum = sum / period ; return avesum; }
var atr = function(day,period)
{
var arrtr = [];
for (i=0;i<[ih].length-1;i++)
{
arrtr.push(Math.max(([ih][i].PriceMax-[ih][i].PriceMin),Math.abs([ih][i].PriceMax-[ih][i+1].PDrCotVal),Math.abs([ih][i].PriceMin-[ih][i+1].PDrCotVal)))
}
var ATR = sma(arrtr,day,period);
return ATR;
}
var factor = 3 ;
var upperband=[] , lowerband=[] ;
for(day=0;day<[ih].length-10;day++)
{
upperband.push((([ih][day].PriceMax+[ih][day].PriceMin)/2) + (factor*atr(day,10)))
lowerband.push((([ih][day].PriceMax+[ih][day].PriceMin)/2) - (factor*atr(day,10)))
}
var trend = [] ,st = [] ;
for(j=0;j<upperband.length;j++){ trend[j]=-1 ; st[j]=0; }
trend[upperband.length-1] = 1 ; st[upperband.length-1]=lowerband[upperband.length-1]
for(i=upperband.length-2 ; i>=0 ; i--)
{
if(trend[i+1]== -1 && [ih][i].PDrCotVal<st[i+1])
{ trend[i] = -1 ; st[i]=Math.min(st[i+1],upperband[i]);}
else if (trend[i+1]== -1 && [ih][i].PDrCotVal>=st[i+1])
{ trend[i] = 1 ; st[i]=lowerband[i];}
else if (trend[i+1]== 1 && [ih][i].PDrCotVal>st[i+1])
{ trend[i] = 1 ; st[i]= Math.max(st[i+1],lowerband[i]);}
else if (trend[i+1]= 1 && [ih][i].PDrCotVal<=st[i+1])
{ trend[i] == -1 ; st[i]=upperband[i];}
}
var supertrendmsg=[] , trendchange=1400 ;
for(i=0;i<trend.length;i++)
{
if(trend[i]<0) { supertrendmsg[i]=(st[i].toString()).fontcolor("red") ; }
else if(trend[i]>0) { supertrendmsg[i]=(st[i].toString()).fontcolor("green") ; }
}
for(i=0;i<trend.length-2;i++)
{
if(trend[i-1]*trend[i] == -1 ) { break; }
if(trend[i]*trend[i+1] == -1) {trendchange=i ; }
}
if( trend[trendchange] == 1 && trendchange==0) //شرط تغییر سوپرترند نزولی به صعودی در اخرین روز
{
return true;
}
}()
true==function()
{
if([ih][0].PClosing!=(pc) && [ih][0].ZTotTran!=(tno) && [ih][0].QTotCap!=(tval)){
var len=[ih].length;
if(typeof [ih][0].fixed =='undefined'){
for(var i=len;i>0;i--){
if(typeof [ih][i] =='undefined'){
[ih][i]={};
}
[ih][i].PriceFirst=[ih][i-1].PriceFirst;
[ih][i].PClosing=[ih][i-1].PClosing;
[ih][i].PDrCotVal=[ih][i-1].PDrCotVal;
[ih][i].ZTotTran=[ih][i-1].PriceFirst;
[ih][i].QTotTran5J=[ih][i-1].QTotTran5J;
[ih][i].QTotCap=[ih][i-1].QTotCap;
[ih][i].PriceChange=[ih][i-1].PriceChange;
[ih][i].PriceMin=[ih][i-1].PriceMin;
[ih][i].PriceMax=[ih][i-1].PriceMax;
[ih][i].PriceYesterday=[ih][i-1].PriceYesterday;
}
[ih][0].fixed=1;
}
[ih][0].PriceFirst=(pf);
[ih][0].PClosing=(pc);
[ih][0].PDrCotVal=(pl);
[ih][0].ZTotTran=(tno);
[ih][0].QTotTran5J=(tvol);
[ih][0].QTotCap=(tval);
[ih][0].PriceChange=(pcc);
[ih][0].PriceMin=(pmin);
[ih][0].PriceMax=(pmax);
[ih][0].PriceYesterday=(py);
}
function RSI(day,start){
var len = [ih].length;
for(var i=0;i<len-1;i++){
[ih][i].Change=[ih][i].PDrCotVal-[ih][i+1].PDrCotVal;
if([ih][i].Change>=0){
[ih][i].Gain=[ih][i].Change;
[ih][i].Loss=0;
}else{
[ih][i].Gain=0;
[ih][i].Loss=(-1)*[ih][i].Change;
}
}
var SumGain=0;
var SumLoss=0;
for(var i=len-1-day;i<len-1;i++){
SumGain+=[ih][i].Gain;
SumLoss+=[ih][i].Loss;
}
var FirstAvgGain=SumGain/day;
var FirstAvgLoss=SumLoss/day;
for(var i=len-1-day;i>=0;i--){
if(i==len-1-day){
[ih][i].AvgGain=FirstAvgGain;
[ih][i].AvgLoss=FirstAvgLoss;
}else{
[ih][i].AvgGain=(([ih][i+1].AvgGain*(day-1))+[ih][i].Gain)/day;
[ih][i].AvgLoss=(([ih][i+1].AvgLoss*(day-1))+[ih][i].Loss)/day;
}
[ih][i].RS=[ih][i].AvgGain/[ih][i].AvgLoss;
[ih][i].RSI=100-(100/(1+[ih][i].RS));
}
return [ih][start].RSI;
}
//(cfield0)=parseFloat(RSI(14,0).toFixed(2));
if(RSI(14,0) > 30 && RSI(14,1) < 30) // قطع خط ۳۰ رو به بالا در RSI
return true;
}()
true==function()
{
function hajm_chand_rooze(day)
{
var hajm_kol=0;
for(var i=0;i<day;i++)
{
a= hajm_kol=hajm_kol+[ih][i].QTotTran5J;
}
return hajm_kol;
}
if((hajm_chand_rooze(6)/(z))*100>10)
{
return true;
}
}()
//
true==function()
{
function SMA(day,start)
{
var sum=0;
var i;
for( i=start ; i<day+start ; i++){
sum += [ih][i].PDrCotVal;
}
var avg=sum/day;
return avg;
}
// کراس میانگین متحرک 22 روزه و قیمت
if( SMA(21,0)< [ih][0].PDrCotVal
&& SMA(21,2)> [ih][2].PDrCotVal)
return true;
}()
//فیلتر کراس مکدی رو به بالا
true==function(){
var speriod=12
var lperiod=26
var sgperiod=9
//-------------------
var dlen = 60
var xb=0
var yb=0
var dle=0
var sma=0
var sum=0
var zr1=0
var zr2=0
var zr3=0
var zper=sgperiod+lperiod
//-------------------
for(xb=0;xb<dlen;xb++)
{
if([ih][xb].QTotTran5J>0)
{
yb++
}else{}
}
dle=yb
var ema1=[];ema1.length=dle
var ema2=[];ema2.length=dle
var macd=[];macd.length=dle
var macsig=[];macsig.length=dle
var machis=[];machis.length=dle
var closdbs=[];closdbs.length=dle
//-------------------
yb=dle+1
for(xb=0;xb<dlen;xb++)
{
if([ih][xb].QTotTran5J>0)
{
yb--
closdbs[yb]=[ih][xb].PDrCotVal
}else{}
}
zr1=2/(speriod+1)
zr2=2/(lperiod+1)
zr3=2/(sgperiod+1)
sum=0
for(xb=1;xb<=speriod;xb++)
{
sum+=closdbs[xb]
}
//sma1[speriod]=sum/speriod
sma=sum/speriod
//ema1[speriod]=sma1[speriod]
ema1[speriod]=sma
for(xb=speriod+1;xb<=dle;xb++)
{
ema1[xb]=zr1*(closdbs[xb]-ema1[xb-1])+ema1[xb-1]
}
sum=0
for(xb=1;xb<=lperiod;xb++)
{
sum+=closdbs[xb]
}
//sma2[lperiod]=sum/lperiod
//ema2[lperiod]=sma2[lperiod]
sma=sum/lperiod
ema2[lperiod]=sma
for(xb=lperiod+1;xb<=dle;xb++)
{
ema2[xb]=zr2*(closdbs[xb]-ema2[xb-1])+ema2[xb-1]
}
for(xb=lperiod;xb<=dle;xb++)
{
macd[xb]=ema1[xb]-ema2[xb]
}
for(xb=lperiod;xb<=zper-1;xb++)
sum=0
{
sum+=macd[xb]
}
sma=sum/sgperiod
macsig[zper-1]=sma
for(xb=zper;xb<=dle;xb++)
{
macsig[xb]=zr3*(macd[xb]-macsig[xb-1])+macsig[xb-1]
machis[xb]=macd[xb]-macsig[xb]
}
if(dle>=zper&&machis[dle-1]<0&&machis[dle]>=0)
{
return true
}else{
return false
}
}()
//کراس میانگین متحرک 2و5و9
//اون اعداد ۲ ۵ ۹ رو عوض کنیم و اعداد میانگین خودمون رو بزاریم اوکیه کار میکنه؟ بله به دلخواه خودت
true == function()
{
//****************sma************************//
//****************sma************************//
var Calculatesma = function(period,delay)
{
var len = period;
var sum = 0;
for(var i = delay; i < len + delay; i++)
{
sum = sum + [ih][i].PDrCotVal ;
}
var bokan = sum / period;
return bokan ;
}
//**********period******//
//**********period******//
var short = 2;
var long = 5;
var long_de = 9;
if(Calculatesma (short ,0) > Calculatesma (long ,0) && Math.abs((Calculatesma (short ,0) - Calculatesma (long ,0))) < (0.03* Calculatesma (short ,0)) && Calculatesma (short ,4) < Calculatesma (long ,4))
{
if(Calculatesma (short ,0) > Calculatesma (long_de ,0) && Math.abs((Calculatesma (short ,0) - Calculatesma (long_de ,0))) < (0.03* Calculatesma (short ,0)) && Calculatesma (short ,4) < Calculatesma (long_de ,4))
{
return true;
}
}
}();
فیلتر سهم هایی که میانگین متحرک دوماهه آنها یک درصد با قیمت پایانی اختلاف دارد
این فیلتر نشون میده چه سهمی از روند رشدی بازار جامونده و به میانگین بلند مدت خودش نزدیکه
با تغییر متغیر ها میتونید خروجی بهتری از فیلتر بدست بیارید
با تنظیم نحوه نمایش قالب به جدول+فیلدهای کاربر میتونید مقدار میانگین متحرک رو در فیلد 0 ببینید
true==function()
{
var PriceN=function(){
var price=[ih][0].PClosing ;
var D=48 ;
var N=D-1 ;
var n ;
for(n=1;n<=N;n++)
price=[ih][n].PClosing + price ;
if(n=N)
{
price = price /(n+1) ;
}
return price ;
};
if(
( (PriceN())/(pc) ) >0.99
&&
( (PriceN())/(pc) )<1.01
)
{
(cfield0)= Math.round(PriceN())
return true;
}
else
{
return false;
}
(cfield0)= PriceN()
}()
true==function(){
var p=0
var m=0
var midle=0
var k
var low=(pc)
var high=(pc)
var e=0
var i=0
var d=0
var a
var b
var c
for(m=0;m<20;m++) p=p+[ih][m].PClosing
midle=p/m
for(i=0;i<20;i++) e=e+Math.pow(([ih][i].PClosing - midle),2)
d=2*Math.sqrt(e/m)
a=midle + d
b= midle
c= midle-d
for(i=0;i<7;i++) {
if (low>[ih][i].PriceMin) low=[ih][i].PriceMin
if (high<[ih][i].PriceMax) high=[ih][i].PriceMax
}
k=(((pc) - low)/(high - low ))*100
if ( k<=10&&k>=0) return true;
}()
&&(tno)>0&&(((pmax)-(pmin))>3*((pf)-(pl)))&&(((pmax)-(pl))/(0.001+(pmax)-(pmin))>0.6)&& (((pmax)-(pf))/(0.001+(pmax)-(pmin))>0.6)
فیلتر چرخش رو به بالای اندیکاتور پارابولیک سار - این اندیکاتور در هنگامی که سهم فاقد روند باشد خروجی دقیق نخواهد داشت
فرضا" زمانی که سهم در حالت رنج یا ساختن الگوهائی مشابه الگوی پرچم یا مثلث باشد.
//////##### Parabolic Sar Up
true==function()
{
var dlen = 60
var xb=0
var yb=0
var dle=0
var str=4
var ini=0.02
var fmx=0.2
var hmax=0
var hmin=0
var tm=0
var tpn=0
var tpx=0
for(xb=0;xb<dlen;xb++)
{
if([ih][xb].QTotTran5J>0)
{
yb++
}else{}
}
dle=yb
var open=[];open.length=dle
var pmax=[];pmax.length=dle
var pmin=[];pmin.length=dle
var clos=[];clos.length=dle
var ep=[];ep.length=dle
var acc=[];acc.length=dle
var pmep=[];pmep.length=dle
var inps=[];inps.length=dle
var sar=[];sar.length=dle
var tre=[];tre.length=dle
if((pl)==[ih][0].PDrCotVal)
{
yb=dle+1
}else{
yb=dle
open[dle]=(pf)
pmax[dle]=(pmax)
pmin[dle]=(pmin)
clos[dle]=(pl)
}
for(xb=0;xb<dlen;xb++)
{
if([ih][xb].QTotTran5J>0)
{
yb--
open[yb]=[ih][xb].PriceFirst
pmax[yb]=[ih][xb].PriceMax
pmin[yb]=[ih][xb].PriceMin
clos[yb]=[ih][xb].PDrCotVal
}else{}
}
if(clos[2]<clos[1])
{
tre[1]="d"
ep[1]=pmin[1]
sar[1]=pmax[1]
acc[1]=ini
inps[1]=0
pmep[1]=(sar[1]-ep[1])*acc[1]
}
else if(clos[2]>clos[1])
{
tre[1]="u"
ep[1]=pmax[1]
sar[1]=pmin[1]
acc[1]=ini
inps[1]=0
pmep[1]=(sar[1]-ep[1])*acc[1]
}
else
{
tre[1]="u"
ep[1]=pmax[1]
sar[1]=pmin[1]
acc[1]=ini
inps[1]=0
pmep[1]=(sar[1]-ep[1])*acc[1]
}
pmin[0]=0
pmax[0]=0
for(xb=2;xb<=dle;xb++)
{
if(tre[xb-1]=="d")
{
tpx=(sar[xb-1]-pmep[xb-1])
if(pmax[xb-1]>tpx){tpx=pmax[xb-1]}
if(pmax[xb-2]>tpx){tpx=pmax[xb-2]}
inps[xb]=Math.max((sar[xb-1]-pmep[xb-1]),pmax[xb-1],pmax[xb-2])
inps[xb]=tpx
}
else
{
if(tre[xb-1]=="u")
{
tpn=(sar[xb-1]-pmep[xb-1])
if(pmin[xb-1]<tpn){tpn=pmin[xb-1]}
if(pmin[xb-2]<tpn&&pmin[xb-2]>0){tpn=pmin[xb-2]}
inps[xb]=Math.min((sar[xb-1]-pmep[xb-1]),pmin[xb-1],pmin[xb-2])
inps[xb]=tpn
}
else
{
}
}
if(tre[xb-1]=="d"&&pmax[xb]<inps[xb]) //1
{
sar[xb]=inps[xb]
}
else
{
if(tre[xb-1]=="u"&&pmin[xb]>inps[xb]) //2
{
sar[xb]=inps[xb]
}
else
{
if(tre[xb-1]=="d"&&pmax[xb]>=inps[xb]) //3
{
sar[xb]=ep[xb-1]
}
else
{
if(tre[xb-1]=="u"&&pmin[xb]<=inps[xb]) //4
{
sar[xb]=ep[xb-1]
}
else
{
}
}
}
}
if(sar[xb]>clos[xb])
{
tre[xb]="d"
}
else
{
tre[xb]="u"
}
if(tre[xb]=="d")
{
ep[xb]=Math.min(ep[xb-1],pmin[xb])
}
else
{
if(tre[xb]=="u")
{
ep[xb]=Math.max(ep[xb-1],pmax[xb])
}
else
{
}
}
if(tre[xb]==tre[xb-1]&&ep[xb]!=ep[xb-1]&&acc[xb-1]<fmx)
{
acc[xb]=acc[xb-1]+ini
}
else
{
if(tre[xb-1]==tre[xb]&&ep[xb]==ep[xb-1])
{
acc[xb]=acc[xb-1]
}
else
{
if(tre[xb-1]!=tre[xb])
{
acc[xb]=ini
}
else
{
acc[xb]=fmx
}
}
}
if(acc[xb]>fmx){acc[xb]=fmx}
pmep[xb]=(sar[xb]-ep[xb])*acc[xb]
}
if(tre[dle-1]=="d"&&tre[dle]=="u")
{
return true
}
else
{
return false
}
}();
true==function() {
var period = 20;
var multi = 2;
var addToday = true;
var candle = function(a) {
return {c: a.PDrCotVal, h: a.PriceMax, l: a.PriceMin, o: a.PriceFirst};
}
var getCandles = function() {
var cs = [];
for(var i = 0; i < [ih].length; i++)
([ih][i].ZTotTran > 0) && cs.push(candle([ih][i]));
if(addToday && (tno) > 0) {
var t = {c: (pl), h: (pmax), l: (pmin), o: (pf)};
if(t.c != cs[0].c || t.h != cs[0].h || t.l != cs[0].l || t.o != cs[0].o)
cs.unshift(t);
}
return (cs.length > 30) ? cs : false;
}
var BB = function(a) {
var dvma, i, j;
for(i = a.length-period; i >= 0; i--) {
var sum = 0;
for(j = 0; j < period; j++)
sum += a[i+j].c;
a[i].BBM = sum/period;
var sumdv = 0;
for(j = 0; j < period; j++)
sumdv += Math.pow(a[i+j].c - a[i].BBM, 2);
dvma = Math.sqrt(sumdv/period);
a[i].BBH = a[i].BBM + 2*dvma;
a[i].BBL = a[i].BBM - 2*dvma;
}
}
var c = getCandles();
if(c) {
BB(c);
if(c[0].l <= c[0].BBL)
{
return true;
}
else
{
return false
}
}
}()
((pl)>(pf) && ((pl)-(pf))/((tmax)-(tmin))>0.7 &&
((pmax)-(pmin))/((tmax)-(tmin))>0.6) ||
(pmin)==(pf) && (pmax)==(pl) && ((pl)/(pf))>=1.02 && (tvol)>2*[is5]
true==function()
{
var findpivot = function(day)
{
var dayp = 0;
var type = 0;
var pivot = [];
var count = 0;
for (var j = 1;j<=day;j++)
{
if(j<=4)
for (var k = j-1;k<=j+3;k++)
{
if(typeof [ih][j] == "undefined" ||typeof [ih][k] == "undefined")continue;
if([ih][j].PDrCotVal>[ih][k].PDrCotVal)
{
count ++
}
if([ih][j].PDrCotVal<[ih][k].PDrCotVal)
{
count --
}
if(k==j+3&&type===0)
{
//pivot +
if(count>=4)
{
type = 1;
dayp=j;
pivot.push(type);
pivot.push(dayp);
}
//pivot -
if(count<=-4)
{
type = -1;
dayp=j
pivot.push(type)
pivot.push(dayp)
}
count = 0;
}
}
//start pivot
if(j>4)
for (var i = j-4;i<=j+4;i++)
{
if(typeof [ih][j] == "undefined" ||typeof [ih][i] == "undefined")continue;
if([ih][j].PDrCotVal>[ih][i].PDrCotVal)
{
count ++
}
if([ih][j].PDrCotVal<[ih][i].PDrCotVal)
{
count --
}
if(i==j+4)
{
//pivot +
if(count>=7)
{
type = 1;
dayp=j;
pivot.push(type);
pivot.push(dayp);
}
//pivot -
if(count<=-7)
{
type = -1;
dayp=j
pivot.push(type)
pivot.push(dayp)
}
count = 0;
}
}
//end pivot
}
return pivot
};
function rsi(day,start){
var len = [ih].length;
for(var i=0;i<len-1;i++){
[ih][i].Change=[ih][i].PDrCotVal-[ih][i+1].PDrCotVal;
if([ih][i].Change>=0){
[ih][i].Gain=[ih][i].Change;
[ih][i].Loss=0;
}else{
[ih][i].Gain=0;
[ih][i].Loss=(-1)*[ih][i].Change;
}
}
var SumGain=0;
var SumLoss=0;
for(var i=len-1-day;i<len-1;i++){
SumGain+=[ih][i].Gain;
SumLoss+=[ih][i].Loss;
}
var FirstAvgGain=SumGain/day;
var FirstAvgLoss=SumLoss/day;
for(var i=len-1-day;i>=0;i--){
if(i==len-1-day){
[ih][i].AvgGain=FirstAvgGain;
[ih][i].AvgLoss=FirstAvgLoss;
}else{
[ih][i].AvgGain=(([ih][i+1].AvgGain*(day-1))+[ih][i].Gain)/day;
[ih][i].AvgLoss=(([ih][i+1].AvgLoss*(day-1))+[ih][i].Loss)/day;
}
[ih][i].RS=[ih][i].AvgGain/[ih][i].AvgLoss;
[ih][i].RSI=100-(100/(1+[ih][i].RS));
}
return ([ih][start].RSI).toFixed(2);
}
var divergence = function(per)
{
var lptype=0;
var lpdate=0;
var pivot = [];
pivot = findpivot(per)
//مشخص کردن روز و نوع آخرین پیووت تشکیل شده
//دنبال واگرایی در پیووت های ماژور هستیم فقط یک استثنا داریم که اگر آخرین پیووت تشکیل شده
//مینور باشد اونم در نظر میگیریم
if(pivot.length>1)
{
lptype=pivot[0]
lpdate=pivot[1]
}
//اگر آخرین پیووت تشکیل شده دره باشد
if(lptype<0)
{
var lpprice =[ih][lpdate].PDrCotVal
var lprsi =rsi(14,lpdate)
var daychek =[]
var day = 0
var chprice = 0
var chrsi = 0
var rp = 0
var rr = 0
var dif = 0
var rpf = 0
var rrf = 0
var diff = 0
var dayf = 0
var difchek = 0
var rep1 = "ندارد"
var rep2 = "0"
var rep3 = 0
//از صفر شروع کردیم که دی چک خالی نمونه
for(var i = 0; i<pivot.length;i+=2)
{
if(pivot[i]<0)
daychek.push(pivot[i+1])
}
for(k=0;k<daychek.length;k++)
{
day = daychek[k]
chprice = [ih][day].PDrCotVal
chrsi = rsi(14,day)
rp = (((lpprice-chprice)/chprice)*100).toFixed(2)
rr = (lprsi-chrsi).toFixed(2)
dif = (Math.abs(rp)+Math.abs(rr)).toFixed(2)
if(dif>difchek)
{
difchek=dif
dayf = day
diff = dif
rrf = rr
rpf = rp
}
}
if (dayf != 0)
{
if(rpf<0&&rrf>0)
{
rep1 = "normal positive divergence"
rep2 = lpdate + "and" + dayf
rep3 = diff
}
if(rpf>0&&rrf<0)
{
rep1 = "hieden positive divergence"
rep2 = lpdate + "and" + dayf
rep3 = diff
}
}
return [rep1,rep2,rep3]
}
//اگر آخرین پیووت تشکیل شده قله باشد
if(lptype>0)
{
var lpprice =[ih][lpdate].PDrCotVal
var lprsi =rsi(14,lpdate)
var daychek =[]
var day = 0
var chprice = 0
var chrsi = 0
var rp = 0
var rr = 0
var dif = 0
var rpf = 0
var rrf = 0
var diff = 0
var dayf = 0
var difchek = 0
var rep1 = "ندارد"
var rep2 = "0"
var rep3 = 0
//از صفر شروع کردیم که دی چک خالی نمونه
for(var i = 0; i<pivot.length;i+=2)
{
if(pivot[i]>0)
daychek.push(pivot[i+1])
}
for(k=0;k<daychek.length;k++)
{
day = daychek[k]
chprice = [ih][day].PDrCotVal
chrsi = rsi(14,day)
rp = (((lpprice-chprice)/chprice)*100).toFixed(2)
rr = (lprsi-chrsi).toFixed(2)
dif = (Math.abs(rp)+Math.abs(rr)).toFixed(2)
if(dif>difchek)
{
difchek=dif
dayf = day
diff = dif
rrf = rr
rpf = rp
}
}
if (dayf != 0)
{
if(rpf<0&&rrf>0)
{
rep1 = "hieden negative divergence"
rep2 = lpdate + "and" + dayf
rep3 = diff
}
if(rpf>0&&rrf<0)
{
rep1 = "normal negative divergence"
rep2 = lpdate + "and" + dayf
rep3 = diff
}
}
return [rep1,rep2,rep3]
}
if(lptype==0)
{
return lptype;
}
};
var final = []
final = divergence(50)
if(final[2]>25)
{
return true;
}
}()
پسورد فایل binazirchart.ir
پسورد فایل binazirchart.ir
پسورد فایل: binazirchart.ir
true==function()
{
var MinPrice=function(){
var min=[ih][0].PriceMin;
var ipos;
for(ipos=0;ipos<21;ipos++)
if(min>[ih][ipos].PriceMin)
min=[ih][ipos].PriceMin;
return min;
};
if((pl)<MinPrice())
{
return true;
}
else
{
return false;
}
}()
true==function()
{
//Calculate the Min Price of Month
var MinPriceOfMonth=function()
{
var minimum=[ih][0].PriceMin;
var n;
for(n=1; n<29; n++)
if(minimum>[ih][n].PriceMin)
minimum=[ih][n].PriceMin;
return minimum;
};
// Calculation Volume of 3 days
var VolumeOf3Days=function()
{
var V3D=[ih][0].QTotTran5J;
var n;
for(n=1; n<2; n++)
V3D=(V3D+[ih][n].QTotTran5J)/2;
return V3D;
};
// Calculation Volume of 14 days
var VolumeOf14Days=function()
{
var V14D=[ih][0].QTotTran5J;
var n;
for(n=1; n<13; n++)
V3D=(V14D+[ih][n].QTotTran5J)/2;
return V14D;
};
//Calculation Stochastic
var Stochastic=function()
{
var HighestHigh=0;
var LowestLow=0;
var x;
var Stoch=0;
for (x = 0; x <14; x++)
{
if ([ih][x].PriceMax > HighestHigh)
{
HighestHigh=[ih][x].PriceMax;
}
if ([ih][x].PriceMin > LowestLow)
{
LowesLow=[ih][x].PriceMin;
}
}
Stoch = 100*((pc)-LowesLow)/(HighestHigh-LowesLow);
return Stoch;
};
if(
// soudi
(((pl)-MinPriceOfMonth())/MinPriceOfMonth()*100)<4
// afzayesh hajm
&& VolumeOf3Days() >= VolumeOf14Days()
// estok paeen
&& Stochastic()<=20
// tedad moamele
&& (tno)>20
// hajm mabna
&& (bvol)<=100000)
{
return true;
}
else
{
return false;
}
}()
true==function()
{
var VolAvg=function(Day,Priod)
{
var i=0
var j=0;
var x=0;
var avg=0;
for(i=Day; i<Priod+j+Day; i++)
{
if ([ih][i].QTotTran5J > 0)
{
avg=avg+[ih][i].QTotTran5J;
x=x+1;
}
else
{
j=j+1;
}
}
return avg/x;
}
var khoshk = 0;
if ((Math.min([ih][24].PriceMin, [ih][25].PriceMin, [ih][26].PriceMin, [ih][4].PriceMin, [ih][5].PriceMin, [ih][6].PriceMin, [ih][7].PriceMin, [ih][8].PriceMin, [ih][9].PriceMin, [ih][10].PriceMin, [ih][11].PriceMin, [ih][12].PriceMin, [ih][13].PriceMin, [ih][14].PriceMin, [ih][15].PriceMin, [ih][16].PriceMin, [ih][17].PriceMin, [ih][18].PriceMin, [ih][19].PriceMin, [ih][20].PriceMin, [ih][21].PriceMin, [ih][22].PriceMin, [ih][23].PriceMin)) > ((Math.min((pmin), [ih][0].PriceMin, [ih][1].PriceMin, [ih][2].PriceMin))) &&
(tvol) >= (bvol) && VolAvg(0,26) > VolAvg(0,9)*1.4 && (pl) > [ih][2].PClosing)
{
return true;
}}();
(pmin)==(tmin)&&(pl)>(py) && (tval) > 20000000000
true==function()
{
var VolumeOf20Days=function()
{
var V20D=[ih][0].QTotTran5J;
var n;
for(n=1; n<20; n++)
V20D=(V20D+[ih][n].QTotTran5J);
return V20D/20;
};
if(
(bvol) < VolumeOf20Days() &&
(plp)>0 && (plp) > (pcp)
&& (pf)>=1.01*(py)
&& (tno)>500 && (z) > 400000000
&& ((ct).Buy_I_Volume/(ct).Buy_CountI) > ((ct).Sell_I_Volume/(ct).Sell_CountI)
)
{
return true;
}
else
{
return false;
}
}()
(pf)<(py) && (plp)< 1&& (tno)> 10&& (pl)>(py)
((plp)-(pcp))>2&&(tno)>10&&(tvol)>(bvol)
// binazichart
// binazirchart.ir
(pmin)==(tmin)&&(pl)>(py)
(ct).Buy_N_Volume>=(tvol)*0.6&&
(z)<600000000&&(ct).sell_N_Volume<=(ct).Buy_N_Volume
true==function()
{
// binazirchart
// binazirchart.ir
var PriceN=function(){
var price=[ih][0].PClosing ;
var D=60 ;
var N=D-1 ;
var n ;
for(n=1;n<=N;n++)
price=[ih][n].PClosing + price ;
if(n=N)
{
price = price /(n+1) ;
}
return price ;
};
if((pc) < 0.9* PriceN())
{
(cfield0)= Math.round(PriceN())
return true;
}
else
{
return false;
}
(cfield0)= PriceN()
}()
true == function()
{
var PH = function (period,d)
{
var len = period + d ;
var max_PH = 0;
for (var i = 0 + d; i < len ; i++)
{
max_PH = Math.max([ih][i].PriceMax ,(pmax), max_PH);
}
return max_PH;
}
var PH = function (period,d)
{
var len = period + d ;
var max_PH = 0;
for (var i = 0 + d; i < len ; i++)
{
max_PH = Math.max([ih][i].PriceMax ,(pmax), max_PH);
}
return max_PH;
}
var PL = function (period,d)
{
var len = period + d;
var min_PL = 1000000;
for (var i = 0 + d; i < len ; i++)
{
if ([ih][i].PriceMin > 0 )
{
min_PL = Math.min([ih][i].PriceMin ,(pmin) , min_PL);
}
}
return min_PL;
}
var PL = function (period,d)
{
var len = period + d;
var min_PL = 1000000;
for (var i = 0 + d; i < len ; i++)
{
if ([ih][i].PriceMin > 0 ){
min_PL = Math.min([ih][i].PriceMin ,(pmin) , min_PL);
} }
return min_PL;
}
var sell = (PH(26 , 0) + PL(26, 0)) / 2;
if( (pl) > sell && [ih][0].PClosing < [ih][1].PClosing && ((pl) - sell ) / sell < 0.03 && (pl) > (pc) )
return true;
}()
// binazirchart
// binazirchart.ir
(Math.min( [ih][1].PriceMin , [ih][2].PriceMin , [ih][3].PriceMin , [ih][4].PriceMin , [ih][5].PriceMin , [ih][6].PriceMin , [ih][7].PriceMin , [ih][8].PriceMin , [ih][9].PriceMin , [ih][10].PriceMin , [ih][11].PriceMin , [ih][12].PriceMin , [ih][13].PriceMin , [ih][14].PriceMin , [ih][15].PriceMin , [ih][16].PriceMin , [ih][17].PriceMin , [ih][18].PriceMin , [ih][19].PriceMin , [ih][20].PriceMin , [ih][21].PriceMin , [ih][22].PriceMin , [ih][23].PriceMin , [ih][24].PriceMin , [ih][25].PriceMin , [ih][26].PriceMin , [ih][27].PriceMin , [ih][28].PriceMin , [ih][29].PriceMin , [ih][30].PriceMin , [ih][31].PriceMin , [ih][32].PriceMin , [ih][33].PriceMin , [ih][34].PriceMin , [ih][35].PriceMin , [ih][36].PriceMin , [ih][37].PriceMin , [ih][38].PriceMin , [ih][39].PriceMin , [ih][40].PriceMin , [ih][41].PriceMin , [ih][42].PriceMin , [ih][43].PriceMin , [ih][44].PriceMin , [ih][45].PriceMin , [ih][46].PriceMin , [ih][47].PriceMin , [ih][48].PriceMin , [ih][49].PriceMin , [ih][50].PriceMin , [ih][51].PriceMin , [ih][52].PriceMin , [ih][53].PriceMin , [ih][54].PriceMin , [ih][55].PriceMin , [ih][56].PriceMin , [ih][57].PriceMin , [ih][58].PriceMin , [ih][59].PriceMin ))> ( ( Math.min( (pmin) , [ih][1].PriceMin , [ih][2].PriceMin , [ih][3].PriceMin )) ) &&
(tvol) >= (bvol) && (ct).Buy_N_Volume < (ct).Sell_N_Volume &&
(tvol) >500000
// binazirchart
// binazirchart.ir
((((po3)-(po1) ) / (po1) )*100 ) > 1 &&
(pmin) != (pl)
// binazirchart
// binazirchart.ir
(tvol)>2*[is5]&&(tvol)>2*[is6] &&
(plp) - (pcp) >1.6
// binazirchart.ir
((ct).Buy_I_Volume/(ct).Buy_CountI)>( (ct).Sell_I_Volume/(ct).Sell_CountI)
//binazirchart
// binazirchart.ir
(pc)>(py)&&(tvol)>=2*(bvol)&&((qd1)+(qd2)+(qd3))>(5*((qo1)+(qo2)+(qo3)))
//binazirchart
// binazirchart.ir
(l18)[(l18).length-1]=='2'
//binazirchart
// binazirchart.ir
(tvol)>(([ih][0].QTotTran5J+[ih][1].QTotTran5J+[ih][2].QTotTran5J+[ih][3].QTotTran5J+[ih][4].QTotTran5J+[ih][5].QTotTran5J+[ih][6].QTotTran5J+[ih][7].QTotTran5J+[ih][8].QTotTran5J+[ih][9].QTotTran5J+[ih][10].QTotTran5J+[ih][11].QTotTran5J+[ih][12].QTotTran5J+[ih][13].QTotTran5J+[ih][14].QTotTran5J+[ih][15].QTotTran5J+[ih][16].QTotTran5J+[ih][17].QTotTran5J+[ih][18].QTotTran5J+[ih][19].QTotTran5J+[ih][20].QTotTran5J+[ih][21].QTotTran5J+[ih][22].QTotTran5J+[ih][23].QTotTran5J+[ih][24].QTotTran5J+[ih][25].QTotTran5J+[ih][26].QTotTran5J+[ih][27].QTotTran5J+[ih][28].QTotTran5J+[ih][29].QTotTran5J)/30)&&((ct).Buy_I_Volume/(ct).Buy_CountI)>=
true==function()
{
var per1=20
var per2=2
var dlen = 60
var xb=0
var yb=0
var dle=0
var i=0;j=0
var sum=0
var sqo=0
var pw=0
var midc = 0
for(xb=0;xb<dlen;xb++)
{
if([ih][xb].QTotTran5J>0)
{
yb++
}else{}
}
dle=yb
var op=[];op.length=dle
var mx=[];mx.length=dle
var mn=[];mn.length=dle
var cls=[];cls.length=dle
var midl=[];midl.length=dle
var std=[];std.length=dle
var upb=[];upb.length=dle
var lwb=[];lwb.length=dle
var ipb=[];ipb.length=dle
var imb=[];imb.length=dle
j=dle+1
for(xb=0;xb<dlen;xb++){
if([ih][xb].QTotTran5J>0)
{
j--;
op[j]=[ih][xb].PriceFirst
mx[j]=[ih][xb].PriceMax
mn[j]=[ih][xb].PriceMin
cls[j]=[ih][xb].PDrCotVal
}else{}
}
midc=(mx[dle]+mn[dle])/2
for(xb=per1;xb<=dle;xb++)
{
sum=0
for(yb=xb-per1+1;yb<=xb;yb++)
{
sum+=cls[yb]
}
midl[xb]=sum/per1
sum=0
for(yb=xb-per1+1;yb<=xb;yb++)
{
pw=Math.abs(cls[yb]-midl[xb])
sum+=Math.pow(pw,2)
}
sqo=sum/per1
std[xb]=Math.sqrt(sqo)
std[xb]=Math.round(std[xb]*100)/100
upb[xb]=midl[xb]+(per2*std[xb])
upb[xb]=Math.round(upb[xb]*100)/100
lwb[xb]=midl[xb]-(per2*std[xb])
lwb[xb]=Math.round(lwb[xb]*100)/100
ipb[xb]=midl[xb]+(std[xb])
ipb[xb]=Math.round(ipb[xb]*100)/100
imb[xb]=midl[xb]-(std[xb])
imb[xb]=Math.round(imb[xb]*100)/100
}
if(mx[dle-1]<lwb[dle-1]&&midc>=lwb[dle-2])
{
(cfield0)=lwb[dle]
(cfield1)=midl[dle]
(cfield2)=upb[dle]
return true
}else{
return false
}
}
();
true==function()
{
//binazirchart
// binazirchart.ir
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 = 15
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
}
}
();
// binazirchart
// binazirchart.ir
(z)<=500000000&&(pl)>(py)&&(tvol)>[is5]
// binazirchart
// binazirchart.ir
( (pmin) < ((pf)+(pmin))/2 ) && (plp) > 1 &&
(pc) < (pl) && (bvol)<(tvol) &&
((pmax)-(pf)>0.028*(pf))&&((ct).Buy_I_Volume/(ct).Buy_CountI)>=((ct).Sell_I_Volume/(ct).Sell_CountI)
// binazirchart
// binazirchart.ir
( (qd1) + (qd2) + (qd3) ) > ( (qo1) + (qo2) + (qo3) ) *10
&&
(plp) <= -4
// binazirchart.ir
((ct).Sell_N_Volume / (tvol) ) > 0.50 && ((ct).Buy_N_Volume/(ct).Buy_CountN*2) < ((ct).Sell_N_Volume/(ct).Sell_CountN) &&(ct).Sell_N_Volume> (ct).Buy_N_Volume*2 && ((ct).Buy_I_Volume/(ct).Buy_CountI) / ((ct).Sell_I_Volume/(ct).Sell_CountI)> 0.5&&
(l18)[(l18).length-1] != 'ح' &&
(l18)[(l18).length-1] != '4'
// binazirchart.ir
(ct).Sell_N_Volume > (ct).Buy_N_Volume *2 && (ct).Buy_I_Volume > 2*(ct).Buy_N_Volume && ((tvol) / (ct).Sell_N_Volume) < 3 &&
(pl) > (pc)
// binazirchart. ir
((ct).Buy_I_Volume/(ct).Buy_CountI)>=2.0*((ct).Sell_I_Volume/(ct).Sell_CountI)
// binazirchart.ir
(pe)<5 && (pe) >1
// binazirchart.ir
true==function()
{
if((tvol)<(bvol)&&(pmin)==(tmin)&&((pl)-(pc))/(pl)*100>1.5&&(ct).Sell_CountI >=(ct).buy_countI && (tno)>20)
{
return true;
}
else
{
return false;
}
}()
(pf)<(py) && (plp)< 1&& (tno)> 10&& (pl)>(py)
// binazirchart.ir
(ct).Buy_I_Volume>(bvol)*8 &&
(l18)[(l18).length-1] != 'ح'
true==function()
{
// binazirchart.ir
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 = 15
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
}
}
();
// binazirchart.ir
true==function()
{
if((tvol)>(bvol) && (pmin)== (tmin) && ((pl)-(pc))/(pl)*100>1.5 && (ct).Sell_CountI >= (ct).Buy_CountI && (tno)>5 && (tno)>20)
{
return true;
}
else
{
return false;
}
}()
// binazirchart.ir
true==function(){
var dt=9
var dk=26
var dlen=60
var xb=0
var yb=0
var dle=0
for(xb=0;xb<dlen;xb++)
{
if([ih][xb].QTotTran5J>0)
{
yb++
}else{}
}
dle=yb
var prx=[];prx.lenght=dle
var prn=[];prn.lenght=dle
var tx
var tn
var kx
var kn
var tkn=[];tkn.lenght=dle
var kij=[];kij.lenght=dle
var i=0;var j=0
j=dle+1
for(i=0;i<dlen;i++){
if([ih][i].QTotTran5J>0)
{
j--;
prx[j]=[ih][i].PriceMax
prn[j]=[ih][i].PriceMin
}else{}
}
for(i=dt;i<=dle;i++){
tx=0
tn=1000000
for(j=(i-dt+1);j<=i;j++){
if(prx[j]>tx){tx=prx[j]}else{}
if(prn[j]<tn){tn=prn[j]}else{}
}
tkn[i]=(tx+tn)/2
}
for(i=dk;i<=dle;i++){
kx=0
kn=10000000
for(j=(i-dk+1);j<=i;j++){
if(prx[j]>kx){kx=prx[j]}else{}
if(prn[j]<kn){kn=prn[j]}else{}
}
kij[i]=(kx+kn)/2
}
if(tkn[dle]>=kij[dle]&&tkn[dle-1]<kij[dle-1]){
(cfield0)=dle
(cfield1)=tkn[dle]
(cfield2)=kij[dle]
return true
}else{
return false
}
}();
// binazirchart.ir
var t=([ih][7].PriceMin+[ih][7].PriceMax)/2;
var k=([ih][21].PriceMin+[ih][21].PriceMax)/2;
t>k&&(pl)>t&&(pl)>[ih][21].PriceMax&&(tvol)>2*[is5]&&(plp)>0
// binazirchart.ir
(plp) - (pcp) >1.6
// binazirchart.ir
true==function()
{
if((bvol)<(tvol)/2&&(pcp)<= -3.7 )
{
return true;
}
else
{
return false;
}
}()&&((ct).Buy_I_Volume/(ct).Buy_CountI)>=2*((ct).Sell_I_Volume/(ct).Sell_CountI)
// binazirchart. ir
(tno)>=5000&&(tvol)>=100000000&&
(pl) > (pc)
// binazirchart. ir
(tvol)>[is5]&&(tvol)>4*[is6]
// binazirchart.ir
(po1)==(tmin) &&(qo1)<(qd1)
// binazirchart.ir
(z)>=20000000000&&(pl)>(py)&&(tvol)>[is5]&&(tvol)>2*[is6]
// binazirchart.com
(ct).Sell_N_Volume>=2*((ct).Buy_N_Volume)&& (ct).Sell_N_Volume>=(0.2* (bvol))
&& (ct).Sell_CountI > ( (ct).Buy_CountI *1.2 ) && (tno)>50 && (tvol)>=0.5 *(bvol)
// binazirchart.ir
(pmax)==(tmax)
// binazirchart.irو سایت
(l18)==("كرمان")
||
(l18)=="رمپنا"
||
(l18)=="خگستر"
||
(l18)=="خساپا"
||
(l18)=="خودرو"
||
(l18)=="شكلر"
||
(l18)=="نطرين"
||
(l18)=="وملل"
||
(l18)=="فرابورس"
||
(l18)=="فلوله"
||
(l18)=="حفاري"
||
(l18)=="رتكو"
||
(l18)=="خمحركه"
||
(l18)=="ستران"
||
(l18)=="تايرا"
||
(l18)=="خمهر"
||
(l18)=="ختوقا"
||
(l18)=="بكام"
||
(l18)=="بفجر"
||
(l18)=="وتوكا"
||
(l18)=="وتوصا"
true==function()
{//--------------------محصول پیج بی نظیرچارت---------------------
var VolumeOf20Days=function()
{
var V20D=[ih][0].QTotTran5J;
var n;
for(n=1; n<20; n++)
V20D=(V20D+[ih][n].QTotTran5J);
return V20D/20;
};
if(
(bvol) < VolumeOf20Days() &&
(plp)>0 && (plp) > (pcp)
&& (pf)>=1.01*(py)
&& (tno)>500 && (z) > 400000000
&& ((ct).Buy_I_Volume/(ct).Buy_CountI) > ((ct).Sell_I_Volume/(ct).Sell_CountI)
)
{//--------------------(محصول سایت (بی نظیر چارت---------------------
return true;
}
else
{
return false;
}
}()
//------------------------------------------------------------------//
// binazirchart l پیج اینستاگرامی l //
// //
// binazirchart.ir l و سایت l //
// //
// @modirmand l ادمین تلگرام l //
// //
//----------------------09012915371-----------------------------//
(po1)==(tmin)&&(qd1)==0&&(qo1)<2000000
//-----------------------------------------------------------//
// سفارش کد نویسی انواع فیلتر،اکسپرت،اندیکاتور در سایت //
// بی نظیر چارت //
//------------------02538801749--------------------------//
// binazirchart.ir
(((ct).Sell_I_Volume/ (ct).Sell_CountI)/((ct).Buy_I_Volume / (ct).Buy_CountI))>2&&
(qd1)>0&&
(pd1)==(tmax)
// binazirchart.com
(pc)>=(pl)*1.03
(po1)<= (tmax) && (po1)>= (tmax)-1 && (pd1)<(tmax)
(ct).Buy_N_Volume > (tvol) * 0.5
// binazirchart.com
([ih][20].PriceMax-(pl))/[ih][20].PriceMax>.15 &&
(plp) - (pcp) >1.6
// binazirchart پیج اینستاگرامی
// binazirchart.ir و سایت
(eps)>10000
true==function()
{
//Calculate the Min Price of Month
var MinPriceOfMonth=function()
{
var minimum=[ih][0].PriceMin;
var n;
for(n=1; n<29; n++)
if(minimum>[ih][n].PriceMin)
minimum=[ih][n].PriceMin;
return minimum;
};
// Calculation Volume of 3 days
var VolumeOf3Days=function()
{
var V3D=[ih][0].QTotTran5J;
var n;
for(n=1; n<2; n++)
V3D=(V3D+[ih][n].QTotTran5J)/2;
return V3D;
};
// Calculation Volume of 14 days
var VolumeOf14Days=function()
{
var V14D=[ih][0].QTotTran5J;
var n;
for(n=1; n<13; n++)
V3D=(V14D+[ih][n].QTotTran5J)/2;
return V14D;
};
//Calculation Stochastic
var Stochastic=function()
{
var HighestHigh=0;
var LowestLow=0;
var x;
var Stoch=0;
for (x = 0; x <14; x++)
{
if ([ih][x].PriceMax > HighestHigh)
{
HighestHigh=[ih][x].PriceMax;
}
if ([ih][x].PriceMin > LowestLow)
{
LowesLow=[ih][x].PriceMin;
}
}
Stoch = 100*((pc)-LowesLow)/(HighestHigh-LowesLow);
return Stoch;
};
if(
// soudi
(((pl)-MinPriceOfMonth())/MinPriceOfMonth()*100)<4
// afzayesh hajm
&& VolumeOf3Days() >= VolumeOf14Days()
// estok paeen
&& Stochastic()<=20
// tedad moamele
&& (tno)>20
// hajm mabna
&& (bvol)<=100000)
{
return true;
}
else
{
return false;
}
}()
(pd1)==(tmax)&&(qo1)==0&&(qd1)>=2000000
در ادامه به برخی از فیلدهای ساده در سایت بورس اشاره خواهیم کرد.
از فیلد (l18) برای فراخوانی نماد استفاده میشود.
مثال ۱: در دستور زیر، به جای x حرفی که مد نظرتان است از نماد سهام مانند خ یا و یا ز و....قراردهید تا آن نماد را نمایش دهد.
(l18).indexOf("x")==0
مثال ۲: در دستور زیر، نمادهایی که حرف آخر آنها x است، فراخوانی میشوند. یعنی به جای آن میتوانید حر حرفی که مد نظر دارید قرار دهید تا نمادهای متناسب با آن نمایش دهد.
(l18)[(l18).length-1]=='x'
از فیلد (l30) برای فراخوانی نام استفاده میشود.
مثال: در دستور زیر، سهمهایی که در نام آنها حرف x وجود دارد، فراخوانی میشوند. یعنی میتوان جای آن هر حرفی که مد نظر باشد جایگزین شود.
(l30).indexOf("x")!=-1
از فیلد tno برای مشاهده تعداد معاملات استفاده میشود.
مثال: در دستور زیر، سهمهایی با تعداد معامله بالای 20 عدد نمایش مییابند.
(tno)>20
دو فیلد (tvol) و (bvol) به ترتیب بیانکننده حجم معاملات و حجم مبنا هستند.
مثال ۱: دستور زیر سهمهایی که حجم معاملات آنها بیش از حجم مبنا است را نمایش میدهد.
(tvol)>(bvol)
مثال 2: دستور زیر سهمهایی که حجم مبنای آنها بیش از ده میلیون سهم است را نمایش میدهد.
(bvol) > 10000000
این فیلد برای فراخوانی ارزش معاملات استفاده میشود.
مثال: دستور زیر سهمهایی که ارزش معاملات آنها بیش از ده میلیون ریال است را نمایش میدهد.
(tval) > 10000000
یکی دیگر از فیلدهای ساده در فیلترنویسی همین فیلدهای قیمت هستند که با ترکیب این فیلدها میتوان به فیلترهای پیچیده دست یافت.
این فیلد برای فراخوانی قیمت دیروز سهم مورد استفاده قرار میگیرد.
مثال: دستور زیر سهمهایی که قیمت دیروز آنها کمتر از 500 ریال است را نمایش میدهد.
(py) < 500
مثال: دستور زیر نمادهایی که بیشترین قیمت امروز آنها کمتر از قیمت دیروز میباشد.
(pyl)>(pmax)
مثال: نمادهایی که اولین قیمت امروز آنها بیشتر یا مساوی قیمت دیروز است
(pf)>=(py)
مثال: نمایش نمادهایی که آخرین قیمت معامله آنها کمترین قیمت روز میباشد.
(pmin)==(pl)
مثال:نمایش نمادهایی که آخرین قیمت معامله آنها حداکثر پنج ریال بیشتریا کمتر از میانگین قیمت (غیروزنی) روز میباشد.
(pl) < 5 + ( (pmax)-(pmin) ) / 2 || (pl) > -5 + ( (pmax)-(pmin) ) / 2
مثال:نمایش نمادهایی که آخرین قیمت آنها بیشتریا مساوی قیمت پایانی است
(pl)>=(pc)
مثال: نمایش نمادهایی که تغییر قیمت آخرین معامله ی کمتر یا مساوی صد ریال داشته اند.
(plc)<=100
مثال:نمایش نمادهایی که درصد تغییر قیمت آخرین معامله ی کمتر یا مساوی یک ونیم درصد داشته اند
(plp)<=1.5
مثال: نمایش نمادهایی که آخرین قیمت معامله آنها بیشتر یا مساوی قیمت پایانی میباشد.
(pl)>=(pc)
مثال: نمایش نمادهایی که تغییر قیمت پایانی کمتر یا مساوی صد ریال داشته اند
(pcc)<=100
مثال: نمایش نمادهایی که درصد تغییر قیمت پایانی کمتر یا مساوی یک و نیم درصد داشته اند
(pcp)<=1.5