30评论

0收藏

这段RSI的代码怎么读呀?

avatar qq2395692593 | 6439 人阅读 | 30 人评论 | 2011-09-21

int start()
    {
     int    i,counted_bars=IndicatorCounted();
     double rel,negative,positive;
     if(Bars=RSIPeriod) i=Bars-counted_bars-1;</strong>
     //--这句意思:如果已加载的K线为大于等于RSIPeriod时(已加载的K线已经超过RSIPeriod数时),i的值等于Bars-counted_bars-1.    请教:这句是否跟前面两句\" i+Bars-RSIPeriod-1\"重复了?是不是可以不需要这句呀,因为前一句时i已经=Bars-RSIPeriod-1了嘛。另外,这里的counted_bars它是会自动往后计算的么,它的值是会自动变化的么?
     while(i>=0)
       {
        double sumn=0.0,sump=0.0;
        if(i==Bars-RSIPeriod-1)
          {
           int k=Bars-2;
            while(k>=i)
             {
              rel=Close[k]-Close[k+1];
              if(rel>0) sump+=rel;
              else      sumn-=rel;
              k--;
             }
           positive=sump/RSIPeriod;
           negative=sumn/RSIPeriod;
          }
            //这一段,到这里我都还能理解。意思为计算当i==Bars-RSIPeriod-1的情况下,第i这条K线的positive和negative的值的情况。当执行完K=i之后,累计所有以计算额度值,并跳出循环。
              ?
疑问:这里的i并没有出现i++或者i--的情况,那也就是说这个循环就只是计算从k=bars-2一直到k=i时,第 i根k线的positive和negative数据(此时i==Bars-RSIPeriod-1)。也就是说,这个循环只能得到当i>RSIPeriod时的第一根K线(i==Bars-RSIPeriod-1)的数据了?
        else      //接下来这段我就完全不明白了,这里esle对应上面的if语句应为if(i==Bars-RSIPeriod-1),我这里不明白在什么情况下 会出现  i 不等于  !==Bars-RSIPeriod-1 的情况?(因为这里并没有出现i++或者i--之类的情况,i的值怎么会变呢?)
         {
           rel=Close-Close[i+1];
           if(rel>0) sump=rel;
           else      sumn=-rel;
           positive=(PosBuffer[i+1]*(RSIPeriod-1)+sump)/RSIPeriod;
           negative=(NegBuffer[i+1]*(RSIPeriod-1)+sumn)/RSIPeriod;
          }
        PosBuffer=positive;
        NegBuffer=negative;
        if(negative==0.0) RSIBuffer=0.0;
        else RSIBuffer=100.0-100.0/(1+positive/negative);
        i--;
       }
  //----
     return(0);
    }
  
  
       我是个新手,还在学习当中,这礼拜下班后连续的看了bull老大的教学视频,今天正好看到第12课,刚好讲到如何解读RSI指标这一课,课后复习我发现对这些代码解读不到位,几经考虑还是决定发上来,请教各前辈。希望最好能把 counted_bars和 if  else循环这两个部分能彻底弄清楚是怎么运作的。
  谢谢了。

   
  
""
还没有人打赏,支持一下

评论|共 30 个

爆米花

发表于 2012-11-21 23:54:18 | 显示全部楼层

老大,我好崇拜你哟  

爱秀

发表于 2012-11-22 02:15:12 | 显示全部楼层

我感觉雷雨趋势不错,挺好的ea!  

爱秀

发表于 2012-11-22 02:15:12 | 显示全部楼层

今天无聊来逛逛  

搞笑

发表于 2012-11-22 02:15:12 | 显示全部楼层

既然来了,就留个脚印  

小豆芽2012

发表于 2012-11-22 02:15:12 | 显示全部楼层

原来这样也可以  

jzjjtthte

发表于 2012-11-22 02:15:12 | 显示全部楼层

好人一生平安  

黑平台ccn

发表于 2012-11-22 02:15:12 | 显示全部楼层

支持一下吧  

osenya

发表于 2014-11-18 00:57:28 | 显示全部楼层

赚钱,赚积分。顶....

xiaodong12

发表于 2014-11-20 14:13:05 | 显示全部楼层

想学EA,拜师,谁收了我吧

123下一页
您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则