Example #1
0
        /// <summary>
        /// 添加新行情。
        /// </summary>
        /// <param name="bCalcImmediately" default=false>是否立即进行指标计算</param>
        /// <returns>
        /// true: 成功
        /// false: 失败,原因指标对象可能未初始化
        /// </returns>
        public override bool AppendMD(MarketDetph md, bool bCalcImmediately)
        {
            // 预处理深度行情,并缓存到未算深度行情队列中。
            base.AppendMD(md, bCalcImmediately);


            // 请在这里填写实现代码。

            ma.AppendMD(md, bCalcImmediately);
            macd.AppendMD(md, bCalcImmediately);

            string[] timesplit = md.updateTime.Split(':');
            if (Int32.Parse(timesplit[2]) < 1)
            {
                InputOrder req = new InputOrder();

                req.InstrumentID = md.instrumentId;
                req.Qty          = 1;
                req.Price        = md.latestPrice;
                req.Hedge        = '0';
                req.IsMarket     = false;
                if (Int32.Parse(timesplit[1]) > 30)
                {
                    req.Direction = '0';
                    req.OpenClose = '0';
                }
                else
                {
                    req.Direction = '1';
                    req.OpenClose = '1';
                }

                ReqOrderInsert(req);
            }

            // 是否需要立即进行指标计算。
            if (bCalcImmediately)
            {
                return(CalculateMDIndicator());
            }
            else
            {
                return(true);
            }
        }