public bool FindStockInDB(StockData dt) { var query = Query.And( Query.EQ("StockId", dt.StockId), Query.EQ("TradeDate", dt.TradeDate)); var res = Collection_.Find(query); return (res.Count() != 0); }
public void RunSell() { EngulfingSignal es = new EngulfingSignal(); StockData sd1 = new StockData { StartPrice = 106, MaxPrice = 106, MinPrice = 96, EndPrice = 96 }; StockData sd2 = new StockData { StartPrice = 97, MaxPrice = 105, MinPrice = 97, EndPrice = 105 }; Assert.IsFalse(es.AddStock(sd2)); Assert.IsTrue(es.AddStock(sd1)); Assert.AreEqual(es.GetSignal(), OperType.Sell); }
public void RunNoOper2() { EngulfingSignal es = new EngulfingSignal(); StockData sd1 = new StockData { StartPrice = 102, MaxPrice = 102, MinPrice = 98, EndPrice = 98 }; StockData sd2 = new StockData { StartPrice = 99, MaxPrice = 105, MinPrice = 99, EndPrice = 105 }; Assert.IsFalse(es.AddStock(sd2)); Assert.IsTrue(es.AddStock(sd1)); Assert.AreEqual(es.GetSignal(), OperType.NoOper); }
public void AddStockData(StockData sd) { if (FindHelper_.FindStock(sd.StockId, sd.TradeDate)) { // Already exist return; } AllStock.Insert(sd); FindHelper_.AddStockDay(sd.StockId, sd.TradeDate); }
/// <summary> /// Convert from DotNetStock.Engine.Stock to IStockData /// </summary> /// <param name="stock">DotNetStock.Engine.Stock</param> /// <returns>Converted IStockData</returns> public static StockData ToStockData(DotNetStock.Engine.Stock stock) { StockData data = new StockData(); data.Amount = stock.getVolume(); data.EndPrice = stock.getLastPrice(); data.StockId = ConvertStockId(stock.getSymbol().toString()); data.MaxPrice = stock.getHighPrice(); data.MinPrice = stock.getLowPrice(); data.StartPrice = stock.getOpenPrice(); data.TradeDate = stock.getCalendar().CurrentDate; data.VolumeHand = Convert.ToInt32(stock.getVolume()); return data; }
/// <summary> /// 创建假的股票数据供测试 /// </summary> /// <param name="dt"></param> /// <param name="startPrice"></param> /// <param name="maxPrice"></param> /// <param name="minPrice"></param> /// <param name="endPrice"></param> /// <param name="volumehand"></param> /// <returns></returns> public static StockData Create(DateTime dt, double startPrice, double maxPrice, double minPrice, double endPrice, int volumehand) { StockData val = new StockData(); val.Amount = 100000; val.StockId = 999999; val.TradeDate = dt; val.StartPrice = startPrice; val.EndPrice = endPrice; val.MaxPrice = maxPrice; val.MinPrice = minPrice; val.VolumeHand = volumehand; return val; }