public List<Stock> SelectGold13Fork34() { var ret = new List<Stock>(); foreach (var sinfo in stockInfos) { var aStock = new Stock(sinfo); //取出5点 var MA13s = aStock.MAForDay(13); var MA34s = aStock.MAForDay(34); //1点 var ma13 = MA13s.FirstOrDefault(); var ma34 = MA34s.FirstOrDefault(); //2点 var ma13_1 = MA13s.Skip(1).FirstOrDefault(); var ma34_1 = MA34s.Skip(1).FirstOrDefault(); if (ma13_1 < ma34_1 && ma13 > ma34) ret.Add(aStock); } return ret; }
public void GetMA5() { var aStock = new Stock(stock603969); var val = aStock.MAForDay(5); Assert.AreEqual(12.84m, Math.Round(val[0], 2)); Assert.AreEqual(12.68M, Math.Round(val[1], 2)); Assert.AreEqual(12.42m, Math.Round(val[2], 2)); }
public void GetMA181() { var aStock = new Stock(stock603969); var val = aStock.MAForDay(181); Assert.AreEqual(19.73m, Math.Round(val[0], 2)); }
public void GetMA20() { var aStock = new Stock(stock603969); var val = aStock.MAForDay(20); Assert.AreEqual(13.36m, Math.Round(val[0], 2)); }
public List<Stock> SelectAbove181() { var ret = new List<Stock>(); foreach (var info in stockInfos) { var aStock = new Stock(info); // 181's line var ma181s = aStock.MAForDay(181); var ma181 = ma181s.FirstOrDefault(); var T = aStock.GetRealTimeInfo(); var p = 0M; decimal.TryParse(T.price, out p); if (ma181 > 0 && p > ma181) ret.Add(aStock); } return ret; }