Hi Larry, thanks for the indicator. I'd recommend to not copy all the data all the time, as this leads to massive performance drawback.
Here is a revisited copy of your OnCalculate() method:
{ //--- variables double upper_band[]; double lower_band[]; // --- Turn the arrays into dynamic series arrays // ArraySetAsSeries(lower_band,true); // ArraySetAsSeries(upper_band,true); // ArraySetAsSeries(BBandwidthBuffer,true); //--- check if all data calculated if(BarsCalculated(BBHandle)<rates_total) return(0); //--- we can copy all data 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]; } //--- return value of prev_calculated for next call return(rates_total); }
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Bollinger Bandwidth 1.0 für MetaTrader 5:
Der Indikator misst die Distanz der Bollinger Bänder ® und stellt diese als einzelnen Indikator dar, wobei die MetaTrader 5 Technologien verwendet werden um die Bollinger Berechnungen zu vereinfachen.
Autor: Larry