Exemplo n.º 1
0
        /********PROTECTED************/

        protected double DeterminePurchaseQuantity(Market bazaar, string commodity)
        {
            var mean         = bazaar.GetAverageHistoricalPrice(commodity, lookback); //double
            var tradingRange = observeTradingRange(commodity, 10);                    //Point

            if (tradingRange != null)
            {
                var favorability = Quick.PositionInRange(mean, tradingRange.x, tradingRange.y);            //double
                favorability = 1 - favorability;
                //do 1 - favorability to see how close we are to the low end

                double amountToBuy = Math.Round(favorability * Inventory.Shortage(commodity));            //double
                if (amountToBuy < 1)
                {
                    amountToBuy = 1;
                }
                return(amountToBuy);
            }
            return(0);
        }