Esempio n. 1
0
        public OperType Analyse(IStockData prevStock, IStockData stock, IStockData nextStock)
        {
            if ((stock == null) || (prevStock == null) || (nextStock == null))
            {
                return(OperType.NoOper);
            }

            double deltapercent = StockDataCalc.GetRisePercent(stock);
            //double prevPercent = StockDataCalc.GetRisePercent(prevStock);
            double nextPercent = StockDataCalc.GetRisePercent(nextStock);

            if (NumbericHelper.IsSameSign(deltapercent, nextPercent))
            {
                return(OperType.NoOper);
            }

            if ((nextPercent > 0.03) && (nextStock.EndPrice > prevStock.StartPrice) &&
                (nextStock.EndPrice > stock.StartPrice))
            {
                return(OperType.Buy);
            }

            if ((nextPercent < -0.03) && (nextStock.EndPrice < prevStock.StartPrice) &&
                (nextStock.EndPrice < stock.StartPrice))
            {
                return(OperType.Sell);
            }

            return(OperType.NoOper);
        }
Esempio n. 2
0
        public OperType Analyse(IStockData stock, IStockData prevStock)
        {
            if ((stock == null) || (prevStock == null))
            {
                return(OperType.NoOper);
            }

            double deltapercent = StockDataCalc.GetRisePercent(stock);

            double prevPercent = StockDataCalc.GetRisePercent(prevStock);

            // Only for converse
            if (NumbericHelper.IsSameSign(deltapercent, prevPercent))
            {
                return(OperType.NoOper);
            }

            // ratio should be larger than yesterday
            if (Math.Abs(deltapercent) < Math.Abs(prevPercent))
            {
                return(OperType.NoOper);
            }

            if ((deltapercent > 0.02) && (stock.EndPrice > prevStock.StartPrice))
            {
                return(OperType.Buy);
            }

            if ((deltapercent < -0.02) && (stock.EndPrice < prevStock.StartPrice))
            {
                return(OperType.Sell);
            }

            return(OperType.NoOper);
        }