Exemple #1
0
        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);
         }
     }
 }