示例#1
0
文件: Signal.cs 项目: JBetser/MiDax
 public Price(L1LsPriceData priceData)
 {
     this.Bid = priceData.Bid.Value;
     this.Offer = priceData.Offer.Value;
     this.Volume = priceData.Volume;
 }
示例#2
0
        public L1LsPriceData L1LsPriceUpdateData (int itemPos, string itemName, IUpdateInfo update)
        {
            var lsL1PriceData = new L1LsPriceData();
            try
            {
                var midOpen = update.GetNewValue("MID_OPEN");
                var high = update.GetNewValue("HIGH");
                var low = update.GetNewValue("LOW");
                var change = update.GetNewValue("CHANGE");
                var changePct = update.GetNewValue("CHANGE_PCT");
                var updateTime = update.GetNewValue("UPDATE_TIME");
                var marketDelay = update.GetNewValue("MARKET_DELAY");
                var marketState = update.GetNewValue("MARKET_STATE");
                var bid = update.GetNewValue("BID");
                var offer = update.GetNewValue("OFFER");

                if (!String.IsNullOrEmpty(midOpen))               
                {
                    lsL1PriceData.MidOpen = Convert.ToDecimal(midOpen);
                }
                if (!String.IsNullOrEmpty(high))        
                {
                    lsL1PriceData.High = Convert.ToDecimal(high);
                }
                if (!String.IsNullOrEmpty(low))  
                {
                    lsL1PriceData.Low = Convert.ToDecimal(low);
                }
                if (!String.IsNullOrEmpty(change))
                {
                    lsL1PriceData.Change = Convert.ToDecimal(change);
                }
                if (!String.IsNullOrEmpty(changePct))
                {
                    lsL1PriceData.ChangePct = Convert.ToDecimal(changePct);
                }
                if (!String.IsNullOrEmpty(updateTime))               
                {
                    lsL1PriceData.UpdateTime = updateTime;
                }
                if (!String.IsNullOrEmpty(marketDelay))
                {
                    lsL1PriceData.MarketDelay = Convert.ToInt32(marketDelay);
                }
                if (!String.IsNullOrEmpty(marketState))
                {              
                    lsL1PriceData.MarketState = marketState;
                }
                if (!String.IsNullOrEmpty(bid))
                {
                    lsL1PriceData.Bid = Convert.ToDecimal(bid);
                }
                if (!String.IsNullOrEmpty(offer))
                {
                    lsL1PriceData.Offer = Convert.ToDecimal(offer);
                }
            }
            catch (Exception)
            {                
            }
            return lsL1PriceData;
        }
示例#3
0
 public void FireTick(DateTime updateTime, L1LsPriceData value)
 {
     FireTick(updateTime, new Price(value));
 }
示例#4
0
        public L1LsPriceData L1LsPriceUpdateData(int itemPos, string itemName, IUpdateInfo update)
        {
            var lsL1PriceData = new L1LsPriceData();

            try
            {
                var    midOpen     = update.GetNewValue("MID_OPEN");
                var    high        = update.GetNewValue("HIGH");
                var    low         = update.GetNewValue("LOW");
                var    change      = update.GetNewValue("CHANGE");
                var    changePct   = update.GetNewValue("CHANGE_PCT");
                var    updateTime  = update.GetNewValue("UPDATE_TIME");
                var    marketDelay = update.GetNewValue("MARKET_DELAY");
                var    marketState = update.GetNewValue("MARKET_STATE");
                var    bid         = update.GetNewValue("BID");
                var    offer       = update.GetNewValue("OFFER");
                string volume      = "0";
                if (update.NumFields > 10)
                {
                    volume = update.GetNewValue("VOLUME");
                }

                if (!String.IsNullOrEmpty(midOpen))
                {
                    lsL1PriceData.MidOpen = Convert.ToDecimal(midOpen);
                }
                if (!String.IsNullOrEmpty(high))
                {
                    lsL1PriceData.High = Convert.ToDecimal(high);
                }
                if (!String.IsNullOrEmpty(low))
                {
                    lsL1PriceData.Low = Convert.ToDecimal(low);
                }
                if (!String.IsNullOrEmpty(change))
                {
                    lsL1PriceData.Change = Convert.ToDecimal(change);
                }
                if (!String.IsNullOrEmpty(changePct))
                {
                    lsL1PriceData.ChangePct = Convert.ToDecimal(changePct);
                }
                if (!String.IsNullOrEmpty(updateTime))
                {
                    lsL1PriceData.UpdateTime = updateTime;
                }
                if (!String.IsNullOrEmpty(marketDelay))
                {
                    lsL1PriceData.MarketDelay = Convert.ToInt32(marketDelay);
                }
                if (!String.IsNullOrEmpty(marketState))
                {
                    lsL1PriceData.MarketState = marketState;
                }
                if (!String.IsNullOrEmpty(bid))
                {
                    lsL1PriceData.Bid = Convert.ToDecimal(bid);
                }
                if (!String.IsNullOrEmpty(offer))
                {
                    lsL1PriceData.Offer = Convert.ToDecimal(offer);
                }
                if (!String.IsNullOrEmpty(volume))
                {
                    lsL1PriceData.Volume = Convert.ToDecimal(volume);
                }
            }
            catch (Exception)
            {
            }
            return(lsL1PriceData);
        }