示例#1
0
        public RawMarketData Register(String code, String name, Detail.ProductType dpt)
        {
            Trace.Assert(dpt == Detail.ProductType.KtbSpot);

            logger.Info("{0}({1}), {2} is registered.", code, name, dpt.ToString());

            RawMarketData rmd = new RawMarketData(code, name, dpt);
            _rmdDict.Add(code, rmd);
            return rmd;
        }
示例#2
0
        public static RawMarketData Register(String code, String name, Detail.ProductType dpt,
            Dictionary<String, RawMarketData> dict)
        {
            RawMarketData rmd = new RawMarketData(code, name, dpt);
            lock (dict)
            {
                if (!dict.ContainsKey(code))
                {
                    dict.Add(code, rmd);
                }
                else
                {
                    logger.Warn("{0} is already registered", code);
                }
            }

            logger.Debug("{0}({1}), {2} is registered.", code, name, dpt.ToString());

            return rmd;
        }
示例#3
0
 public RawMarketData Register(String code, String name, Detail.ProductType dpt)
 {
     switch (dpt)
     {
         case Detail.ProductType.KospiFuture:
             return KospiFuture.Register(code, name, dpt);
         case Detail.ProductType.CallOption:
             return Call.Register(code, name, dpt);
         case Detail.ProductType.PutOption:
             return Put.Register(code, name, dpt);
         default:
             logger.Warn("This is not implemented. {0}({1}), {2}", code, name, dpt.ToString());
             break;
     }
     return null;
 }
示例#4
0
 public RawMarketData Register(String code, String name, Detail.ProductType dpt)
 {
     switch (dpt)
     {
         case Detail.ProductType.KospiFuture:
             return KospiFuture.Register(code, name, dpt);
         case Detail.ProductType.KospiFutureSpread:
             return KospiFuture.Register(code, name, dpt);
         case Detail.ProductType.CallOption:
             return Call.Register(code, name, dpt);
         case Detail.ProductType.PutOption:
             return Put.Register(code, name, dpt);
         case Detail.ProductType.Stock:
             return Stock.Register(code, name, dpt);
         case Detail.ProductType.ELW:
             return Elw.Register(code, name, dpt);
         case Detail.ProductType.KtbFuture:
             return Future.Register(code, name, dpt);
         case Detail.ProductType.BondSpot:
             Trace.Assert(false, "여기서 Register하면 안된다.");
             break;
         case Detail.ProductType.KtbSpot:
             Trace.Assert(false, "여기서 Register하면 안된다.");
             break;
         default:
             logger.Warn("This is not implemented. {0}({1}), {2}", code, name, dpt.ToString());
             break;
     }
     return null;
 }
示例#5
0
        public static RawMarketData Register(String code, String name, Detail.ProductType dpt,
            Dictionary<String, RawMarketData> dict)
        {
            RawMarketData rmd = new RawMarketData(code, name, dpt);
            lock (dict)
            {
                dict.Add(code, rmd);
            }

            logger.Info("{0}, {1} is registered.", code, dpt.ToString());

            return rmd;
        }
示例#6
0
 public RawMarketData Register(String code, String name, Detail.ProductType dpt)
 {
     logger.Info("{0}({1}), {2} is registered.", code, name, dpt.ToString());
     return DataPool.Register(code, name, dpt);
 }