Beispiel #1
0
        /// <summary>
        /// 初始化模拟行情列表
        /// </summary>
        /// <param name="codes"></param>
        public static void InitSimTable(string codes)
        {
            //code;type;price|code;type;price

            if (codes.Trim() == string.Empty)
            {
                return;
            }

            List <string> _liCodes = codes.Split('|').ToList();

            _simulate_trade_table.Clear();

            foreach (string s in _liCodes)
            {
                Sim_HQ_Struct unit = new Sim_HQ_Struct()
                {
                    CODE  = s.Split(';')[0],
                    TYPE  = s.Split(';')[1],
                    PRICE = Convert.ToDecimal(s.Split(';')[2])
                };

                _simulate_trade_table.Add(unit);
            }
        }
Beispiel #2
0
        //获取股票市场信息
        public static TDFMarketData GetSimMarketDate()
        {
            if (_simulate_trade_table.Count == 0)
            {
                return(null);
            }
            Random        seed  = new Random();
            Sim_HQ_Struct unit  = _simulate_trade_table[seed.Next(_simulate_trade_table.Count - 1)];
            uint          price = Convert.ToUInt32(unit.PRICE * 10000);
            double        wave  = seed.NextDouble(); //涨幅/跌幅

            if (seed.Next(0, 1) == 0)
            {
                wave *= -1;
            }



            TDFMarketData data = new TDFMarketData()
            {
                AskPrice = new uint[5] {
                    price - 100, price - 200, price, price + 100, price + 200
                },
                AskVol = new uint[5] {
                    100, 100, 100, 100, 100
                },
                BidPrice = new uint[5] {
                    price - 100, price - 200, price, price + 100, price + 200
                },
                BidVol = new uint[5] {
                    100, 100, 100, 100, 100
                },
                Code        = unit.CODE,
                High        = price + 1,
                HighLimited = Convert.ToUInt32(price * 1.1),
                IOPV        = 0,
                Low         = price - 1,
                LowLimited  = Convert.ToUInt32(price * 0.9),
                Match       = price,
                Time        = Convert.ToInt32(DateTime.Now.ToString("HHmmss")) * 1000,
                WindCode    = "60000.SH"
            };

            return(data);
        }
Beispiel #3
0
        /// <summary>
        /// 初始化模拟行情列表
        /// </summary>
        /// <param name="codes"></param>
        public static void InitSimTable(string codes)
        {
            //code;type;price|code;type;price

            if (codes.Trim() == string.Empty) return;

            List<string> _liCodes = codes.Split('|').ToList();

            _simulate_trade_table.Clear();

            foreach(string s in _liCodes )
            {
                Sim_HQ_Struct unit = new Sim_HQ_Struct()
                {
                    CODE = s.Split(';')[0],
                    TYPE = s.Split(';')[1],
                    PRICE = Convert.ToDecimal(s.Split(';')[2])
                };

                _simulate_trade_table.Add(unit);

                
            }
        }