【问题标题】:How to calculate a streak duration?如何计算连续持续时间?
【发布时间】:2016-01-18 12:10:53
【问题描述】:

我在 MQL5 中编写了一个代码来计算连续持续时间 (ConnorsRSI)。但它不起作用。

MQL ​​代码是:

/////////////////////////////////////////////////////////


int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
//----+   
   //---- check for the presence of bars, sufficient for the calculation
   if (rates_total < (sdPer - 1) + begin)
    return(0);

//---- declaration of local variables 
   int first, bar, i, t;

//---- calculation of starting index first of the main loop
   if(prev_calculated==0) // check for the first start of the indicator
      first=sdPer-1+begin; // start index for all the bars
   else first=prev_calculated-1; // start index for the new bars

//---- main loop of the calculation
   for(bar = first; bar < rates_total - 1; bar++)
    {    
      t = 0;
      //---- avaliation loop for the current bar
      for(i = 0; i < sdPer; i++)

      if(price[bar] > price[bar - i])
      {
         if(t >= 1)
            t = t + 1;
         else t = 1;
      }

      else if(price[bar] < price[bar - i])
      {      
         if(t <= -1)
         t = t - 1;
         else t = -1;
      }

      else if(price[bar] == price[bar - i])
      {
         t = 0;
      }

//---- set the element of the indicator buffer with the value of SMA we have calculated
      ExtLineBuffer[bar]=t;// **streak duration**
    }
//----+     
   return(rates_total);
  }

////////////////////////////////////////////////////////////

我没有发现错误。怎么错了?

【问题讨论】:

  • 我可以识别错误。

标签: algorithmic-trading forex mql5 technical-indicator


【解决方案1】:

我已经测试了代码,它工作正常。请确保您正在做这些事情:

  1. 将指示器设置为单独的窗口指示器:#property indicator_separate_window
  2. 定义缓冲区和绘图。例如,像这样:

    #property indicator_buffers 1
    #property indicator_plots   1
    #property indicator_color1  clrRed
    #property indicator_type1   DRAW_LINE
    #property indicator_style1  STYLE_SOLID
    
  3. 分配索引缓冲区(在OnInit()):SetIndexBuffer(0, ExtLineBuffer, INDICATOR_DATA);

【讨论】:

    猜你喜欢
    • 2013-03-07
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-06
    • 1970-01-01
    • 2016-12-31
    相关资源
    最近更新 更多