CandleChartData.CandleValue NormalizeCandle(CandleChartData.CandleValue candle, DoubleVector3 min, DoubleVector3 range) { CandleChartData.CandleValue res = new CandleChartData.CandleValue(); res.Open = ChartCommon.normalizeInRangeY(candle.Open, min, range); res.Close = ChartCommon.normalizeInRangeY(candle.Close, min, range); res.High = ChartCommon.normalizeInRangeY(candle.High, min, range); res.Low = ChartCommon.normalizeInRangeY(candle.Low, min, range); double duration = candle.Duration; double start = candle.Start; if (ThicknessMode == CandleThicknessMode.Fill) { Deflate(ref start, ref duration, ThicknessConstant); } else if (thicknessMode == CandleThicknessMode.Proportional) { Deflate(ref start, ref duration, ThicknessConstant / duration); } double candleEnd = start + duration; candleEnd = ChartCommon.normalizeInRangeX(candleEnd, min, range); res.Start = ChartCommon.normalizeInRangeX(start, min, range); res.Duration = candleEnd - res.Start; return(res); }