public SpotService(IOptionModel om) { isStop = Com.BitsQuan.Miscellaneous.AppSettings.Read <bool>("isDisableBtcTrade", true); model = new SpotModel(om); pre = new SpotPre(); post = new SpotPost(); Market = new SpotMarket(); match = new SpotMatch(model); creator = new SpotOrderCreator(model); KlinePool = new KlineDataPool( new Func <int, Contract>((i) => { return(new Contract { Code = "-2", Name = "BTC" }); })); KlineDataPoolInitor.InitSpot(KlinePool); ohlcGen = new OhlcGenarator(); OhlcMaker.OnOhlcMaked += OhlcMaker_OnOhlcMaked; match.OnDeal += match_OnDeal; match.OnFinish += match_OnFinish; foreach (var v in model.SpotOrders.ToList()) { match.Match(v); } var qc = om.Coins.Where(a => a.Name.ToLower() == "btc").FirstOrDefault(); DeepPool = new DeepDataPool3(match.Container.Get(qc)); SetMaxId(); }
public KlineSvc(IOptionModel Model) { this.Model = Model; ohlcGen = new OhlcGenarator(); ohlcSaver = new OhlcSaver(); kdp = new KlineDataPool((cid) => { return(Model.Contracts.Where(a => a.Id == cid && a.IsDel == false).FirstOrDefault()); }); }
public static void InitSpot(KlineDataPool kdp) { using (OptionDbCtx db = new OptionDbCtx()) { var l = db.Ohlcs.Where(a => a.WhatId < 0).OrderByDescending(a => a.Id).Take(1000); foreach (var v in l) { kdp.Add(v); } } }
public static void InitOption(KlineDataPool kdp, List <int> cids) { using (OptionDbCtx db = new OptionDbCtx()) { var l = db.Ohlcs.Where(a => a.WhatId > 0 && cids.Contains(a.WhatId)).OrderByDescending(a => a.Id).Take(1000).ToList(); l.Reverse(); foreach (var v in l) { kdp.Add(v); } } }