指标: 布林带宽度 1.0 用于 MetaTrader 5

 

布林带宽度 1.0 用于 MetaTrader 5:

本指标测量布林带® 之间距离, 并将之作为单一指标, 使用 MetaTrader 5 技术来简化布林带计算。

布林带宽度 用于 MetaTrader 5

作者: Larry

 
Automated-Trading писал(а)  :

用于 MT5 的布林带宽 1.0

作者: Larry

BB 之间的距离 = 2 * RMS...
 
 

终于,在使用布林线交易数年之后...现在,我找到了这个简单实用的指标,用于计算布林线上下限范围.....。

在主要货币对中效果很好,但在日元(EURJPY & USDJPY)的四位数 broker,,,,, 中,宽度值是错误的。

我希望会有V2.0版本来修正这个问题。

附加的文件:
JPY_Value.jpg  38 kb
 

嗨,拉里,谢谢你的指标。我建议不要一直复制所有数据,因为这会导致性能大打折扣。

下面是您的 OnCalculate()方法 的重温副本:


  {
//--- 变量
   double upper_band[];
   double lower_band[];

// --- 将数组转换为动态系列数组 
// ArraySetAsSeries(lower_band,true);
// ArraySetAsSeries(upper_band,true);
// ArraySetAsSeries(BBandwidthBuffer,true);

//--- 检查是否计算了所有数据
   if(BarsCalculated(BBHandle)<rates_total) return(0);
//--- 我们可以复制所有数据
   
   int barstocopy = 0;
   if(prev_calculated>rates_total||prev_calculated<=0) {
      barstocopy = rates_total;
   } else {
      barstocopy = rates_total-prev_calculated;
      if(prev_calculated>0) barstocopy++;
   }

   if(IsStopped()) return(0);
   
   if(CopyBuffer(BBHandle,1,0,barstocopy,upper_band) <=0) return(0);
   if(CopyBuffer(BBHandle,2,0,barstocopy,lower_band) <=0) return(0);

   for(int i=0;i<barstocopy-1;i++)
     {
         BBandwidthBuffer[i]=upper_band[i]-lower_band[i];
     }

//--- 为下一次调用返回 prev_calculated 的值
   return(rates_total);
  }
 
你好,我用以下公式制作了一个版本:带宽 = ( ( 上带 - 下带 ) / 中带 )* 100
附加的文件: