بورس و سهام

بورس و سهام با ibours

بورس و سهام

بورس و سهام با ibours

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

نمایش مقدار اندیکاتورها در قالب شخصی دیده بان امکانپذیر است البته میتوان با یک اسکریپت ساده , این قابلیت را

به صفحه اصلی دیده بان نیز اضافه کرد

باید توجه داشت که این مقادیر وابسته به اخرین تغییرات نرخ میباشند و لذا امکان تفاوت با مقادیر موجود در نمودارها

سایت وجود دارد


----------------------------------------------------------------------------------------------------------------------

Wiliams R 14


true == function ()                                                                                      
{                                                                                                    
     var max = [ih][0].PriceMax;
     var min = [ih][0].PriceMin;
   
     for (var ipos = 0; ipos < 14; ipos++)                                                           
          {  if (max < [ih][ipos].PriceMax)

             max = [ih][ipos].PriceMax; }

 
     for (var ipos = 0; ipos < 14; ipos++)                                                          
          {  if (min > [ih][ipos].PriceMin)

              min = [ih][ipos].PriceMin; }

  
   R = (max - (pc)) /(max - min) * -100

   (cfield2)= AdvRoundColor(R,1)                    

    return true;
    }
()


  // * مقادیر R% در فیلد c2 نمایش داده میشود

----------------------------------------------------------------------------------------------------------------------

 Stoch Astic 14


true == function ()                                                                                        
{                                                                                                    
     var max = [ih][0].PriceMax;
     var min = [ih][0].PriceMin;

     for (var ipos = 0; ipos < 14; ipos++)                                                          
          {  if (max < [ih][ipos].PriceMax) max = [ih][ipos].PriceMax; }
 
     for (var ipos = 0; ipos < 14; ipos++)                                                        
          {  if (min > [ih][ipos].PriceMin) min = [ih][ipos].PriceMin; }

  
     K = ((((pc)-min) / (max - min)) * 100);
 
     D=(K +((([ih][0].PClosing-min)/(max - min))*100)+((([ih][1].PClosing-min)/(max-min))*100))/3
  
      (cfield1)= AdvRoundColor(K,1)
         
      (cfield2)= AdvRoundColor(D,2)

   return true;
    }
()


  // * در فیلد c1 مقادیر K% و در فیلد c2 مقادیر D% نمایش داده میشود

----------------------------------------------------------------------------------------------------------------------

CCI 14


true==function(){
var i,j,tp,smtp,nd,smnd,cci
var stp=0
var snd=0
for(i=0;i<14;i++)
{
j= 13 - i
tp=([ih][j].PriceMax + [ih][j].PClosing + [ih][j].PriceMin) / 3
stp=stp+ tp
smtp=stp/(i+1)
nd=Math.abs(smtp - tp)
snd=snd+ nd
smnd=snd / (i+1)
cci= ((tp-smtp) /smnd) /0.015
}
(cfield0)=AdvRoundColor(cci,1)
return (1)
}()


  // * مقادیر در فیلد c0 نمایش داده میشود

---------------------------------------------------------------------------------------------------------------------

RSI 14


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)= AdvRoundColor([ih][0].rsi,1); 

         return true;      

}
()
 

  // * مقادیر در فیلد c0  نمایش داده میشود

---------------------------------------------------------------------------------------------------------------------

ترکیب اندیکاتورها


* میتوانید سه اندیکاتور را با هم ترکیب کرده تا در صفخه شخصی بطور همزمان مقادیر همه انها را داشته باشید

 

  مثلا کد برای نمایش همزمان اندیکاتورهای   stochastic , wiliamse , cci  , که در اینصورت فیلدها شامل :

  در فیلد c0 مقادیر CCI در فیلد c1 مقادیر ویلیامز (R%) در فیلد c2 مقادیر استوک استیک (K%) نمایش داده میشود

  میتوانید مقادیر دوره ها یعنی 14 (موجود در متن کد ها) را به اعداد دیگر مثلا 21 تغییر دهید

  میتوانید بجای  CCI فیلتر  RSI را درج نمایید که در اینصورت در فیلد c0 مقادیر RSI نمایش داده میشوند

  بعلت تداخل کد از  RSI و  CCI بطور همزمان استفاده نگردد



true==function(){
var i,j,tp,smtp,nd,smnd,cci
var stp=0
var snd=0
for(i=0;i<14;i++)
{
j= 13 - i
tp=([ih][j].PriceMax + [ih][j].PClosing + [ih][j].PriceMin) / 3
stp=stp+ tp
smtp=stp/(i+1)
nd=Math.abs(smtp - tp)
snd=snd+ nd
smnd=snd / (i+1)
cci= ((tp-smtp) /smnd) /0.015
}
(cfield0)=AdvRoundColor(cci,1)
return (1)
}()
    

true == function ()                                                                                      
{                                                                                                    
     var max = [ih][0].PriceMax;
     var min = [ih][0].PriceMin;
   
     for (var ipos = 0; ipos < 14; ipos++)                                                          
          {  if (max < [ih][ipos].PriceMax) max = [ih][ipos].PriceMax; }
 
     for (var ipos = 0; ipos < 14; ipos++)                                                          
          {  if (min > [ih][ipos].PriceMin) min = [ih][ipos].PriceMin; }
  
   R = (max - (pc)) /(max - min) * -100

   (cfield1)= AdvRoundColor(R,1)                   

    return true;
    }
()
     
true == function ()                                                                                        
{                                                                                                    
     var max = [ih][0].PriceMax;
     var min = [ih][0].PriceMin;

     for (var ipos = 0; ipos < 14; ipos++)                                                          
          {  if (max < [ih][ipos].PriceMax) max = [ih][ipos].PriceMax; }
 
     for (var ipos = 0; ipos < 14; ipos++)                                                        
          {  if (min > [ih][ipos].PriceMin) min = [ih][ipos].PriceMin; }
  
     K = ((((pc)-min) / (max - min)) * 100);
 
     D = (K+((([ih][0].PClosing - min)/(max - min))*100)+((([ih][1].PClosing-min)/(max-min) )*100))/3
   
         (cfield2)= AdvRoundColor(K,1)
          
   return true;
    }
()