public static BollingerBandsResult BollingerBands( int startIdx, int endIdx, double[] real, int timePeriod, double nbDevUp, double nbDevDn, MAType maType) { int outBegIdx = default; int outNBElement = default; double[] outRealUpperBand = new double[endIdx - startIdx + 1]; double[] outRealMiddleBand = new double[endIdx - startIdx + 1]; double[] outRealLowerBand = new double[endIdx - startIdx + 1]; RetCode retCode = TACore.BollingerBands( startIdx, endIdx, real, timePeriod, nbDevUp, nbDevDn, maType, ref outBegIdx, ref outNBElement, ref outRealUpperBand, ref outRealMiddleBand, ref outRealLowerBand); return(new( retCode, outBegIdx, outNBElement, outRealUpperBand, outRealMiddleBand, outRealLowerBand)); }