public static StackTrend Evaluate(Candle[] candles) { var bearish = 0; var bullish = 0; var stockTrend = StackTrend.Stable; /* * if (CandleAnalyzer.IsBullish(candles)) bullish++; * if (CandleAnalyzer.IsMorningStar(candles)) bullish++; * * if (CandleAnalyzer.IsBearish(candles)) bearish++; * if (CandleAnalyzer.IsEveningStar(candles)) bearish++; */ /* * * stockTrend = CandleAnalyzer.IsEngulfing(candles); * if (stockTrend == StackTrend.Bearish) * { * bearish++; * } * else if (stockTrend == StackTrend.Bullish) * { * bullish++; * } */ stockTrend = CandleAnalyzer.IsDoji(candles); if (stockTrend == StackTrend.Bearish) { bearish++; } else if (stockTrend == StackTrend.Bullish) { bullish++; } /* * stockTrend = CandleAnalyzer.IsMarubozu(candles); * if (stockTrend == StackTrend.Bearish) * { * bearish++; * } * else if (stockTrend == StackTrend.Bullish) * { * bullish++; * } */ if (((double)bearish / (double)(bearish + bullish)) > 0.75) { return(StackTrend.Bearish); } if (((double)bullish / (double)(bearish + bullish)) > 0.75) { return(StackTrend.Bullish); } return(StackTrend.Stable); }
protected TradeAction EvalCandles(CMarket market) { var bullish = 0; var bearish = 0; var candles = market.CandleMaker.GetLastCandles(); //var candles = market.CandleMakerHourly.GetLastCandles(); for (var i = 0; i < 1; i++) { var c = new[] { candles[i], candles[i + 1], candles[i + 2] }; var trend = CandleAnalyzer.Evaluate(c); if (trend == StackTrend.Bullish) { // AnalyticsTools.Call("candle bull"); bullish++; } else if (trend == StackTrend.Bearish) { // AnalyticsTools.Call("candle bear"); bearish++; } } //var candleSuggestion = TradeAction.Hold; var bearbullishratio = 0.6M; if (bullish > bearish * bearbullishratio) { //LogTrade.Note += " BULL "; return(TradeAction.Buy); } else if (bearish < bullish * bearbullishratio) { //LogTrade.Note += " BEAR "; return(TradeAction.Sell); } return(TradeAction.Hold); }