Indicadores: Bollinger Bandwidth 1.0 para MetaTrader 5

 

Bollinger Bandwidth 1.0 para MetaTrader 5:

El indicador mide la distancia entre las Bandas de Bollinger ® y la dispone como un indicador singular, usando las técnicas de MetaTrader 5 para simplificar los cálculos Bollinger.

Bollinger Bandwidth para MetaTrader 5

Autor: Larry

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

Ancho de banda de Bollinger 1.0 para MT5:

Autor: Larry

distancia entre BBs = 2 * RMS...
 

Finalmente, después de algunos años operando con BollingerBand... Ahora he encontrado este indicador simple y útil para calcular superior-inferior BB Range.....

Funciona muy bien en los principales pares, pero todavía tienen error cuando se unen a JPY (EURJPY y USDJPY) en 4 dígitos broker,,,,, el valor de ancho es incorrecto.

Espero que habrá v2.0 , para corregir este problema.

Archivos adjuntos:
JPY_Value.jpg  38 kb
 

Hola Larry, gracias por el indicador. Yo recomendaría no copiar todos los datos todo el tiempo, ya que esto conduce a un rendimiento masivo inconveniente.

Aquí está una copia revisada de su OnCalculate() método:


  {
//--- variables
   double upper_band[];
   double lower_band[];

// --- Convierte las matrices en matrices de series dinámicas 
// ArraySetAsSeries(banda_baja,true);
// ArraySetAsSeries(banda_superior,true);
// ArraySetAsSeries(BBandwidthBuffer,true);

//--- comprobar si todos los datos calculados
   if(BarsCalculated(BBHandle)<rates_total) return(0);
//--- podemos copiar todos los datos
   
   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];
     }

//--- valor de retorno de prev_calculado para la siguiente llamada
   return(rates_total);
  }
 
Hola he hecho una versión con esta fórmula: ancho de banda = (( banda superior - banda inferior ) / banda media ) * 100
Archivos adjuntos: