Indicatori: Bollinger Bandwidth 1.0 for MetaTrader 5

 

Bollinger Bandwidth 1.0 for MetaTrader 5:

L'indicatore misura la distanza tra le Bande di Bollinger® e la fornisce come indicatore singolo, utilizzando le tecniche di MetaTrader 5 per semplificare i calcoli di Bollinger.

Bollinger Bandwidth 1.0 for MetaTrader 5

Author: Larry

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

Bollinger Bandwidth 1.0 per MT5:

Autore: Larry

distanza tra le BB = 2 * RMS...
 

Finalmente, dopo alcuni anni di trading con le BollingerBand... Ora ho trovato questo semplice e utile indicatore per calcolare l'intervallo BB superiore/inferiore.....

Funziona benissimo con le coppie principali, ma ha ancora un bug quando si collega a JPY (EURJPY e USDJPY) nel broker a 4 cifre ,,,,, il valore della larghezza è sbagliato.

Spero che ci sarà la v2.0, per correggere questo problema.

File:
JPY_Value.jpg  38 kb
 

Ciao Larry, grazie per l'indicatore. Ti consiglio di non copiare sempre tutti i dati, perché questo comporta un enorme svantaggio in termini di prestazioni.

Ecco una copia rivisitata del metodo OnCalculate():


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

// --- Trasformare gli array in array di serie dinamiche 
// ArraySetAsSeries(lower_band,true);
// ArraySetAsSeries(banda_superiore,true);
// ArraySetAsSeries(BBandwidthBuffer,true);

//--- controllare se tutti i dati sono stati calcolati
   if(BarsCalculated(BBHandle)<rates_total) return(0);
//--- possiamo copiare tutti i dati
   
   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];
     }

//--- restituisce il valore di prev_calculated per la chiamata successiva
   return(rates_total);
  }
 
Salve, ho realizzato una versione con questa formula: larghezza di banda = (( banda superiore - banda inferiore ) / banda centrale ) * 100
File: