جشنواره عید نوروز 1403

بی نظیر چارت

ورود | عضویت
بی نظیر چارت
ورود | عضویت
  • اولویت
  • عنوان
  • سطح
  • دسترسی
  • اولویت
  • عنوان
  • سطح
  • دسترسی
  • اولویت
  • عنوان
  • سطح
  • دسترسی

جدیدترین فیلتر بورس 1402/بیش از 100فیلتر کاربردی بورس

جدیدترین فیلتر بورس 1402/بیش از 100فیلتر کاربردی بورس

 

فهرست فیلترهای بورسی این صفحه

 

 

شماره1: (فیلتر بورس سهم هایی که در کف قیمت هستند و قدرت خریدار هم دارند)

سهامی که قدرت خریدار بالایی دارند سهام مستعد رشد هستند چرا که تعداد خریداران کمی شروع به خریدن حجم بالایی از سهام کرده اند و این خود یعنی نسبت به آینده سهم امیدوار هستند حال اگر این قدرت خرید در سهامی باشد که در کف قیمتی هستند و نزول خود را داشته اند امکان اینکه سهم صعودی باشد بسیار بیشتر خواهد شد

 


(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)
 


شماره2: (فیلتر بورسی خروج پول هوشمند)

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

 


(tvol)>1.5*[is6]&&((ct).Buy_I_Volume/(ct).Buy_CountI)<((ct).Sell_I_Volume/(ct).Sell_CountI)&&(pl)<=(pc)&&(plp)<0
 


  • شماره3:فیلتر بورسی سهم های با دامنه نوسان 7 درصدی

برخی سهام بورسی که قابلیت دامنه نوسان منفی 7 و مثبت 7 را دارند توسط این فیلتر قابل تشخیص هستند دامنه نوسان در سهام بورسی متفاوت است در واقع در بازار بورس و فرابورس و بازارهای زیرشاخه آن دامنه نوسان متفاوت است از اینرو این فیلتر میتواند گلچین خوبی برای سهام با دامنه نوسان و ریسک بالا باشد

 


((tmax)-(py))/(py)>0.06


  • شماره4:فیلتر سهام منفی _ فیلتر سهم هایی که 7 روز متوالی منفی بودند

شناسایی سهامی که چند روز متوالی منفی بوده اند برای بررسی های بیشتر سودمند خواهد بود چرا که احتمال اینکه سهم منفی خورده به انتهای روند نزولی خود رسیده باشد زیاد است و در واقع میتوان با در نظر گرفتن این سهام و بررسی تحلیل تکنیکال آنها نقظه ورود در سهم با تغییر روند از منفی به مثبت را پیدا کرد

 


[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
 


  • شماره5:فیلتر سرانه خرید بالا

سرانه خرید به معنای این است که هر شخص حقیقی یا حقوقی به طور میانگین از بین کل معاملات امروز سهم چه مقدار معامله کرده است و این سرانه خرید قدرت خریداران و فروشندگان را به نمایش میگذارد یعنی هر چه در یک سهم سرانه خرید بالا باشد این یعنی هر شخص معامله گر خریدارا از معامله گر فروشنده حجم بیشتری وارد کرده است و این خود میتواند سیگنال خریدی محسوب شود.

 


(((ct).Buy_I_Volume/(ct).Buy_CountI)*(pc))>=1000000000


  • شماره6:فیلتر افزایش چشمگیر حجم معاملات

حجم معاملات نقدینگی یک سهم را نمایش میدهد وقتی حجم معاملات بالا باشد یعنی سهم قدرت نقدشوندگی بالایی دارد و خواهان سهم همانند فروشنده سهم فعال است پس سهم میتواند مورد توجه معامله گران و تابلوخوانان بورسی قراربگیرد چرا که رغبت معامله گران به سهم را نمایش میدهد 

 


(tvol)> 2*[is5] && (tvol)>3*[is6]


  • شماره7:فیلتر رنج مثبت از منفی+قدرت خریدار

یکی از مواردی که میتوان تغییر روند سهم را شناسایی کرد این است که سهم پس از منفی خوردن متوالی شروع به مثبت شدن بکند و چند روز متوالی مثبت باشد اصطلاحا رنج مثبت بکند بعد از منفی خوردن و این رنج مثبت اگر همراه با قدرت خریدار باشد سیگنال صعود سهم قوی تر خواهد بود.

 


(pf)<(py)&&(pl)>(py)&&(tvol)>=(bvol)&&(bvol)!=1&&(ct).Buy_I_Volume/(ct).Buy_CountI >(ct).Sell_I_Volume/(ct).Sell_CountI&&(tvol)>2


  • شماره8:فیلتر صف فروش_ 2 برابر حجم مبنا

سهمی که به صورت پر قدرت صف فروش تشکیل داده است به طوری که 2 برابر حجم مبنا خود سهام معامله شده است احتمال اینکه ادامه روند منفی خود را داشته باشد زیاد است

 


(po1)==(tmin)&&(qo1)>=2*(bvol)


  • شماره9:فیلتر سهام با احتمال صعود

صعود و احتمال صعود برای بسیاری از معامله گران جذاب است از اینرو به کوچکترین سهامی که احتمال صعود داشته باشند نیز باید توجه شود و مورد بررسی قرار گیرد.

 


(pc)>=(py) && (bvol)<200000 && (plp) >= 1.5


  • شماره10:فیلتر آخرین قیمت کمتر از پایانی _ 3 درصد کمتر

وقتی فروشندگان حاضر شده اند که کمتر از قیمت پایانی سهم را بفروشند در حالی که فردای همان روز میتوانند به قیمت پایانی معامله کنند و کمتر زیان کنند این معنی را میدهد که سهم رو به نزول است و در حال منفی خوردن میباشد

 


1.03*(pl)<=(pc)


  • شماره11:فیلتر سهم هایی با حداکثر قیمت پایانی

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

 


(pd1)==(tmax)&&(pc)==(pl)


  •  شماره12:حجم مشکوک در چند روز اخیر

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

 


(tvol)> [is5] && (tvol)>2*[is6]


  • شماره13:فیلتر صف خرید چند روزه _ فیلتر سهم های 3 روز صف خرید

سهامی که سه روز صف خرید باشند با توجه به اینکه حجم معاملات آنها چقدر است و آیا میتواند حجم مبنا را پر کند تا میزان مثبت خوردن سهم به حداکثر خود برسد یا اینکه حجم مبنا را پر نمیکند و مثبتی که میخورد اندک است متفاوت خواهد بود در واقع اگر حجم مبنا در هر سه روز پر شود و سود خوبی بدهد امکان اینکه سهم باز شود و عده ای راضی به این سود شده و راه را برای بقیه هم  باز کنند وجود دارد بر خلاف زمانی که حجم مبنا پر نمیشود و سهم دچار گره خواهد شد.

 


(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


شماره14:فیلتر سهام با حجم مبنای یک

حجم مبنا وقتی یک باشد یعنی برای اینکه قیمت پایانی تغییر پیدا کند نیازی به ثبت حجم معاملات بالا نیست و با اندک معاملات مثبتی میتوان قیمت پایانی سهم را به مثبت 5 رساند و فردای سهم را با قیمت بالاتری آغاز کرد.

 


(bvol)==1


  • شماره15:خریداران حقوقی بیشتر از فروشندگان حقوقی همراه قدرت خریدار بالای یک

(ct).Buy_CountN>=2*((ct).Sell_CountN)&&((ct).Buy_I_Volume/(ct).Buy_CountI)>((ct).Sell_I_Volume/(ct).Sell_CountI)


شماره16: فیلتر خرید گروهی بورس

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)


  • شماره17: فیلتر حجم مشکوک در چند روز اخیر

(tvol)> [is5] && (tvol)>2*[is6]


  • شماره18: فیلتر فروش حقوقی بیشتر از میانگین 3 ماهه

(ct).Sell_N_Volume>[is5]


  • شماره19: فیلتر صف فروش زیر 2 میلیون

(po1)==(tmin)&&(qd1)==0&&(qo1)<2000000


  • شماره20: فیلتر صف خرید کم حجم

(pd1) == (tmax) && (qd1)>=0.2*(bvol) && (qd1)<=(bvol)


  • شماره21: فیلتر صف خرید بیشتر از حجم مبنا

(pd1) == (tmax) && (qd1)>(bvol)


  • شماره22:فیلتر نوسان 8 درصد در یک روز

((pmax)-(pmin))/(pmin) >= 0.08


  • شماره23: فیلتر شرکت های فرابورس

(bvol) == 1


  • شماره24:​​​​​​فیلتر پر تراکنش های روز

(tno) > 2500


  • شماره25:فیلتر سهام بازار پایه

((tmax)-(py))/(py)<0.04


  • شماره26:فیلتر شرکت های زیان ده

(pe)<0


  • شماره27:فیلتر سهم هایی که حقوقی بیشتر از 70 درصد خرید داشته

(ct).Buy_N_Volume >= (tvol) * 0.7


  • شماره28:فیلتر شرکتهایی که ارزش بازارشان 100هزار میلیارد تومان است

(z)*(pc)>=1000000000000000


  • شماره29:فیلتر شرکتهایی که ارزش بازارشان زیر 1000 میلیارد تومان است

(z)*(pc)<=10000000000000 


  • شماره30:فیلتر اختلاف مثبت آخرین قیمت از قیمت پایانی

(plp)-(pcp)>2 && (tno)>10 && (tvol)> (bvol)


  • شماره31:فیلتر سهام های زیر ۳۰۰ تومان

(pc)<2000


  • شماره32:فیلتر خرید بیش از 60 درصد حقوقی

(ct).Buy_N_Volume >= (tvol) * 0.6


  • شماره33:فیلتر سهام با ارزش معاملات بالاتر از 100 میلیارد تومان

(tval)>=1000000000000


  • شماره34:فیلتر اطلاع از حق تقدم سهام

(l18)[(l18).length-1]=='ح'


  • شماره35: فیلتر cci برای بورس _ فیلتر واگرایی مثبت CCI رایگان

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}
}();


  • شماره36:فیلتر اخرین قیمت کمترین 21 روزه

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;
}
}()


  • شماره37:فیلتر کف 90 روزه وافزایش نقدینگی

(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


  • شماره38 :فیلتر اندیکاتور rsi زیر 30 درصد _ فیلتر اشباع فروش

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;
}()


  • شماره39:فیلتر cci برای بورس _ فیلتر واگرایی مثبت CCI

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}
}();


  • شماره40:فیلتر کد به کد سختگیرانه

(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


  • شماره41:فیلتر احتمال نزول نمودار _ سهم هایی با احتمال خالی شدن

(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))


  • شماره42: جمع شدن صف فروش و گارد صعودی

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; 

}()


  • شماره43:فیلتر حجم مشکوک_فیلتر حجم 5 برابر میانگین ماه

(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]


  • شماره44:فیلتر گارد صعودی قوی _ فیلتر سهم هایی که صف فروششان جمع شده و مثبت شده اند

(pmin)==(tmin)&&(pl)>(py)


  • شماره45:فیلتر طلایی بورس رایگان _ فیلتر بهترین تابلو روز

(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


  • شماره46:فیلتر کف ماهانه_سهام در نزدیکی کف ماهانه

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; 

}()


  • شماره47:فیلتر کف قیمتی و کندل مارابوزو

( (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


  • شماره48:فیلتر کف ماهانه_سهام در نزدیکی کف ماهانه

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;
}
}()


  • شماره49:فیلتر کف قیمتی و در استانه صف خرید

(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


  • شماره50:فیلتر کندل انگلفینگ صعودی همراه کندل تایید

[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


  • شماره51:فیلتر دوجی سنجاقک (سهم هایی که صف خریدشون عرضه شده و دوباره صف شدن)

(pmin)*1.05<(pl) && (pl) == (pf)  && (pf) > (pc)&&(pmax)==(pl)


  • شماره52:فیلتر ستاره صبحگاهی

[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)


  • شماره53:فیلتر قدرت خریدار_فیلتر کندل صعودی

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;
}
}()


  • شماره54:فیلتر الگوهای کندلی پس از چند روز اصلاح قیمتی

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;

}()


  • شماره55:فیلتر کندل انگالفینگ (Engulfing) سهم هایی که روز قبل کندل انگلفینگ زدن

[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


  • شماره56:فیلتر پوشای صعودی یا فیلتر انگلفینگ Bullish Engulfing 

(pl)>(pf) && ([ih][0].PDrCotVal)<([ih][0].PriceFirst)&&(pl)>[ih][0].PriceFirst && (pf)<[ih][0].PDrCotVal


  • شماره57:فیلتر چکش سفید_فیلتر چکش صعودی_فیلتر کندل سبز

(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


  • شماره58:فیلتر الگوی تیک (قیمت اخرین 3 درصد بالای پایانی)

(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)


  • شماره59:فیلتر سهم هایی باpe بین5و6

(pe)>5 && (pe)<6


  • شماره60:فیلتر 5 روز متوالی افزایش حجم

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;
}
}()


  • شماره61:فیلتر کراس میانگین متحرک 9 از 27

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
}
}();


  • شماره62:فیلتر صعودی شدن اندیکاتور سوپر ترند

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;
    }
}()


  • شماره63:فیلتر کراس رو به بالای rsi از منطقه اشباع فروش

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;

  
}()


  • شماره64:فیلتر حجم 6 روز بزرگتر از 10 درصد شرکت

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; 
}
}()


  • شماره65:فیلتر کراس قیمت با میانگین متحرک 22 روزه

//

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; 
}()


  • شماره66:فیلتر کراس مکدی رو به بالا

//فیلتر کراس مکدی رو به بالا 


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
}
}()


  • شماره67:فیلتر کراس میانگین متحرک 2 5 9

//کراس میانگین متحرک 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;
}
}
}();


  • شماره68:فیلتر میانگین متحرک 48 روزه (2 ماه غیر کاری) فاصله 1 درصد با قیمت

فیلتر سهم هایی که میانگین متحرک دوماهه آنها یک درصد با قیمت پایانی اختلاف دارد.این فیلتر نشون میده چه سهمی از روند رشدی بازار جامونده و به میانگین بلند مدت خودش نزدیکه.با تغییر متغیر ها میتونید خروجی بهتری از فیلتر بدست بیارید.با تنظیم نحوه نمایش قالب به جدول+فیلدهای کاربر میتونید مقدار میانگین متحرک رو در فیلد 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()
}()


  • شماره69:فیلتر استوک کف و چکش معکوس


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)


  • شماره70:فیلتر صعودی شدن پارابولیک سار

فیلتر چرخش رو به بالای اندیکاتور پارابولیک سار - این اندیکاتور در هنگامی که سهم فاقد روند باشد خروجی دقیق نخواهد داشت فرضا" زمانی که سهم در حالت رنج یا ساختن الگوهائی مشابه الگوی پرچم یا مثلث باشد.
 


//////##### 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
}
}();


  • شماره71:فیلتر سهم هایی با بولینگر کف

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
}

}
}()


  • شماره72:فیلتر کندل مارابوزو بورس

((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]
 

  • شماره73:فیلتر واگرایی در rsi

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;
}
}()


  • شماره74:پکیج فیلتر اندیکاتور ها قالب نقره ای(رایگان)

دانلود فیلتر اندیکاتور

پسورد فایل    binazirchart.ir


  • شماره75:پکیج رایگان فیلتر اندیکاتور ها(با قالب کراس و تکنیکال)

دانلود پکیج رایگان فیلتر اندیکاتورها

پسورد فایل     binazirchart.ir


  • شماره76:پکیج فیلتر پول هوشمند 

دانلود پکیج فیلتر پول هوشمند

پسورد فایل:   binazirchart.ir


  • شماره77:فیلتر قیمت آخرین معامله کمتر از کمترین قیمت معامله 21 روز

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; 

}()


  • شماره78:فیلتر سهام صعودی با افزایش حجم در کف قیمتی و استوک در کف

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;
}
}()


  • شماره79:فیلتر سهام خشک شده

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;
}}();


  • شماره80:فیلتر رنج مثبت

(pmin)==(tmin)&&(pl)>(py) && (tval) > 20000000000


  • شماره81:فیلتر نوسانگیری کوتاه مدت

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;

}()


  • شماره82:فیلتر شکست خط روند

(pf)<(py) && (plp)< 1&& (tno)> 10&& (pl)>(py)


  • شماره83:فیلتر قیمت آخرین بیشتر از قیمت پایانی

((plp)-(pcp))>2&&(tno)>10&&(tvol)>(bvol)


  • شماره84:فیلتر صف فروش فیک_فیلتر جمع شدن صف فروش

// binazichart 

//   binazirchart.ir    

(pmin)==(tmin)&&(pl)>(py)  


  • شماره85:فیلتر خرید حقوقی در سهام کوچک

(ct).Buy_N_Volume>=(tvol)*0.6&&
(z)<600000000&&(ct).sell_N_Volume<=(ct).Buy_N_Volume


  • شماره86:فیلتر مووینگ اوریج 103


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()
}()


  • شماره87:فیلتر کیجونسن


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;
}()


  • شماره88:فیلتر سهام آماده رشد بعد از اصلاح

(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 


  • شماره89:فیلتر بازیگر سهم و شناسایی اردر ترس

((((po3)-(po1)    )  / (po1) )*100 ) > 1  &&
 (pmin) != (pl)


  • شماره90:فیلتر سهام مستعد رشد (عالی)

(tvol)>2*[is5]&&(tvol)>2*[is6] &&
(plp) -      (pcp)   >1.6   


  • شماره91:فیلتر قدرت خریدار بالاتر از قدرت فروشنده

((ct).Buy_I_Volume/(ct).Buy_CountI)>( (ct).Sell_I_Volume/(ct).Sell_CountI)


  • شماره92:فیلتر مجموع تقاضا بیش از 5 برابر مجموع عرضه

 (pc)>(py)&&(tvol)>=2*(bvol)&&((qd1)+(qd2)+(qd3))>(5*((qo1)+(qo2)+(qo3)))


  • شماره93:فیلتر معاملات بلوکی

(l18)[(l18).length-1]=='2'  


  • شماره94:فیلتر ورود پول هوشمند در سهم

(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)>=


  • شماره95:فیلتر بولینگر باند بورس

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
}
}
();


  • شماره96:فیلتر اشباع فروش در اندیکاتورهای rsi & stock

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
  }
  }
  ();


  • شماره97:فیلتر سهم های کوچک بورس

(z)<=500000000&&(pl)>(py)&&(tvol)>[is5]


  • شماره98:فیلتر الگوی تیک صعودی سهام

( (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)


  • شماره99:فیلتر نوسان گیری ساعتی روزانه در سهم

( (qd1) + (qd2) + (qd3) )   >  ( (qo1) + (qo2) + (qo3) ) *10

    &&
  
 (plp) <= -4


  • شماره100:فیلتر خرید حقوقی (سنگین) _ فیلتر فروش حقوقی

((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'


  • شماره101:فیلتر ورود پول حقیقی و خرید سنگین حقیقی

(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)


  • شماره102:فیلتر قدرت خریدار به فروشنده (دو برابر)

((ct).Buy_I_Volume/(ct).Buy_CountI)>=2.0*((ct).Sell_I_Volume/(ct).Sell_CountI)


  • شماره103:فیلتر p/e پی ای کمتر از 5

(pe)<5 && (pe) >1


  • شماره104:فیلتر نزدیک مقاومت _ فیلتر نزدیک حمایت کیجونسن


//   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;
   }    
}()
 

  • شماره105:فیلتر شکست خط روند _فیلتر پایان روند نزولی و برگشت سهم

(pf)<(py) && (plp)< 1&& (tno)> 10&& (pl)>(py)


  • شماره106:فیلتر خرید میلیاردی حقیقی

(ct).Buy_I_Volume>(bvol)*8 &&
(l18)[(l18).length-1] !=  'ح'


  • شماره107:فیلتر اشباع فروش در اندیکاتورهای rsi & stock

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
  }
  }
  ();


  • شماره108:فیلتر جمع شدن صف فروش

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;
}
}()


  • شماره109:فیلتر کراس تنکانسن و کیجونسن

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
}
}();


  • شماره110:فیلتر روند صعودی سهام

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


  • شماره111:فیلتر سهام مثبت فردا _ اختلاف قیمت آخرین و پایانی

(plp) -  (pcp)   >1.6


  • شماره112:فیلتر خرید گروهی

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)


  • شماره113:فیلتر حجم معاملات بالا و تقاضای بالا (عالی)

(tno)>=5000&&(tvol)>=100000000&&

(pl) > (pc)


  • شماره114:فیلتر حجم مشکوک

(tvol)>[is5]&&(tvol)>4*[is6]


  • شماره115:فیلتر پیش گشایش بورس

(po1)==(tmin) &&(qo1)<(qd1)


  • شماره116:فیلتر خرید سهام شاخص ساز مستعد رشد(عالی)

(z)>=20000000000&&(pl)>(py)&&(tvol)>[is5]&&(tvol)>2*[is6]


  • شماره117:فیلتر کد به کد حقوقی به حقیقی

(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)


  • شماره118:فیلتر صف خرید بورس

(pmax)==(tmax)


  • شماره119:فیلتر واچ لیست شخصی

 
(l18)==("كرمان")
||
(l18)=="رمپنا"
||
(l18)=="خگستر"
||
(l18)=="خساپا"
||
(l18)=="خودرو"
||
(l18)=="شكلر"
||
(l18)=="نطرين"
||
(l18)=="وملل"
||
(l18)=="فرابورس"
||
(l18)=="فلوله"
||
(l18)=="حفاري"
||
(l18)=="رتكو"
||
(l18)=="خمحركه"
||
(l18)=="ستران"
||
(l18)=="تايرا"
||
(l18)=="خمهر"
||
(l18)=="ختوقا"
||
(l18)=="بكام"
||
(l18)=="بفجر"
||
(l18)=="وتوكا"
||
(l18)=="وتوصا"


  • شماره120:فیلتر نوسان گیری کوتاه مدت

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;

}()


  • شماره121:فیلتر صف فروش

(po1)==(tmin)&&(qd1)==0&&(qo1)<2000000


     

  • شماره122:فیلتر بورسی پولبک و فروش گروهی

(((ct).Sell_I_Volume/ (ct).Sell_CountI)/((ct).Buy_I_Volume / (ct).Buy_CountI))>2&&
(qd1)>0&&
(pd1)==(tmax)


  • شماره123:فیلتر قیمت پایانی بیش از قیمت آخرین

(pc)>=(pl)*1.03


  • شماره124:فیلتر سهام در آستانه صف خرید

(po1)<= (tmax) && (po1)>= (tmax)-1 && (pd1)<(tmax)


  • شماره125:فیلتر خرید حقوقی بیش از 50 درصد حجم معاملات

(ct).Buy_N_Volume > (tvol) * 0.5


  • شماره126:فیلتر سهامی که اصلاح سنگین کرده اند

 ([ih][20].PriceMax-(pl))/[ih][20].PriceMax>.15 &&
(plp) -      (pcp)   >1.6   


  • شماره127:فیلتر سهام سود ده

(eps)>10000


  • شماره128:فیلتر سهام صعودی با افزایش حجم در کف قیمتی و استوک در کف

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;
}
}()


شماره130:فیلتر نمادهای با صف خرید بالای 2 میلیون

(pd1)==(tmax)&&(qo1)==0&&(qd1)>=2000000


شماره131:فیلتر میانگین متحرک_کراس مووینگ اوریج_فیلتر کراس مووینگ اوریج 9 و 26 روزه_فیلتر مووینگ اوریج

//   binazirchart.ir 

true==function(){
var period1=26
var period2=6
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])
{
(cfield0)=dle
(cfield1)=ema1[dle]
(cfield2)=ema2[dle]
return true
}else{
return false
}
}();


شماره132:فیلتر خرید حقوقی (سنگین) _ فیلتر فروش حقوقی

((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'


شماره133:فیلتر میانگین متحرک

//   binazirchart.ir 
true==function(){
var period1=26
var period2=6
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])
{
(cfield0)=dle
(cfield1)=ema1[dle]
(cfield2)=ema2[dle]
return true
}else{
return false
}
}();


شماره134:فیلتر الگوی تیک صعودی سهام_فیلتر الگوی ساعت صعودی

( (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)


شماره135:فیلتر سهام کوچک مستعد رشد_فیلتر سهام کوچک

(z)<=500000000&&(pl)>(py)&&(tvol)>[is5]


شماره136:فیلتر سهام مستعد رشد (عالی)_فیلتر سهام مستعد رشد شارپی

(tvol)>2*[is5]&&(tvol)>2*[is6] &&
(plp) -      (pcp)   >1.6 


   آموزش مرحله به مرحله فیلترنویسی

 

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

 

فیلتر نویسی رایگان

 

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

 

فیلتر بورس سایت tsetmc

 

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

 

آموزش فیلتر نویسی

 

فیلتر بورس