private double GetTargetQuantity()
        {
            double targetQuantity;
            ClosingQuantityCalculatorInput input = new ClosingQuantityCalculatorInput()
                                                       {
                                                           PositionSizePercentage = PositionSizePercentage,
                                                           RoundLots = RoundLots,
                                                           MinimumPosition = MinimumOrderSize
                                                       };

            QuantityCalculator qtyCalc = new QuantityCalculator(LoggingConfig);

            targetQuantity = qtyCalc.CalculateClosingQuantity(GetAbsoluteOpenQuantity(), input);
            return targetQuantity;
        }
        private double GetTargetQuantity(double targetPrice)
        {
            OpeningQuantityCalculatorInput input = new OpeningQuantityCalculatorInput()
            {
                MaxAmountToInvest = EffectiveAmountToInvest,
                MaxAmountToRisk = EffectiveAmountToRisk,
                PositionSizePercentage = PositionSizePercentage,
                PositionSizingCalculationStrategy = PositionSizingCalculationStrategy,
                RoundLots = RoundLots,
                TargetPrice = targetPrice,
                StopPercentage = StopPercentage,
                MinimumPosition = MinimumOrderSize
            };

            QuantityCalculator qtyCalc = new QuantityCalculator(LoggingConfig);
            return qtyCalc.CalculateOpeningQuantity(input);
        }