Example #1
0
        protected void UpdateMarketDataVM(MarketDataVM mktVM, PBMarketData md)
        {
            //var contractInfo = ClientDbContext.FindContract(md.Contract);

            mktVM.LastPrice              = md.MatchPrice;
            mktVM.BidPrice               = md.BidPrice[0];
            mktVM.AskPrice               = md.AskPrice[0];
            mktVM.BidSize                = md.BidVolume[0];
            mktVM.AskSize                = md.AskVolume[0];
            mktVM.Volume                 = md.Volume;
            mktVM.OpenValue              = md.OpenValue;
            mktVM.PreCloseValue          = md.PreCloseValue;
            mktVM.HighValue              = md.HighValue;
            mktVM.LowValue               = md.LowValue;
            mktVM.UpperLimitPrice        = md.HighLimit;
            mktVM.LowerLimitPrice        = md.LowLimit;
            mktVM.SettlePrice            = md.SettlePrice;
            mktVM.PreSettlePrice         = md.PreSettlePrice;
            mktVM.AveragePrice           = md.AveragePrice;
            mktVM.HighLimint             = md.HighLimit;
            mktVM.LowLimint              = md.LowLimit;
            mktVM.OpenInterest           = md.OpenInterest;
            mktVM.OpenValue              = md.OpenValue;
            mktVM.PreOpenInterest        = md.PreOpenInterest;
            mktVM.PriceChange            = md.PriceChange;
            mktVM.CloseValue             = md.CloseValue;
            mktVM.Turnover               = md.Turnover;
            mktVM.MidPrice               = (mktVM.BidPrice + mktVM.AskPrice) / 2;
            mktVM.AveragePriceMultiplier = mktVM.AveragePrice / mktVM.Multiple;
            mktVM.UpdateTime             = string.Format("{0:D2}:{1:D2}:{2:D2}", md.UpdateTime / 3600, (md.UpdateTime / 60) % 60, md.UpdateTime % 60);
        }
Example #2
0
        protected virtual void RetMDSuccessAction(PBMarketData md)
        {
            var mktVM = FindMarketData(md.Contract);

            if (mktVM != null)
            {
                UpdateMarketDataVM(mktVM, md);
                RaiseNewMD(mktVM);
            }
            else
            {
                UnsubMarketData(new[] { new ContractKeyVM(md.Exchange, md.Contract) });
            }
        }
Example #3
0
        public void SendSimMarketData(MarketDataOpt mdo)
        {
            if (mdo == null)
            {
                return;
            }
            var mktData = new PBMarketData();

            mktData.Exchange = mdo.Exchange;
            mktData.Contract = mdo.Contract;
            mktData.AskPrice.Add(mdo.AskPrice);
            mktData.BidPrice.Add(mdo.BidPrice);
            mktData.AskVolume.Add(mdo.AskSize);
            mktData.BidVolume.Add(mdo.BidSize);

            MessageWrapper?.SendMessage((uint)BusinessMessageID.MSG_ID_RET_MARKETDATA, mktData);
        }
Example #4
0
 private void RetMDSuccessAction(PBMarketData obj)
 {
 }