public void fromApp(QuickFix.Message message, SessionID sessionID)
        {
            // receiving messages
            Symbol sym = new Symbol();

            message.getField(sym);
            Tick k = new TickImpl(sym.getValue());

            {
                // bid
                BidPx   bp = new BidPx();
                BidSize bs = new BidSize();
                k.bid = (decimal)bp.getValue();
                k.bs  = (int)message.getField(bs).getValue();
            }

            {
                // ask
                OfferPx   op = new OfferPx();
                OfferSize os = new OfferSize();
                k.ask = (decimal)op.getValue();
                k.os  = (int)message.getField(os).getValue();
            }

            {
                // last
                Price price = new Price();
                message.getField(price);
                k.trade = (decimal)price.getValue();
            }

            tl.newTick(k);
            //ClOrdID clOrdID = new ClOrdID();
            //message.getField(clOrdID);
        }
Exemple #2
0
        public void fromApp(QuickFix.Message message, SessionID sessionID)
        {
            // receiving messages
            Symbol sym = new Symbol();
            message.getField(sym);
            Tick k = new TickImpl(sym.getValue());
			
			{
            // bid
            BidPx bp = new BidPx();
            BidSize bs = new BidSize();
            k.bid = (decimal)bp.getValue();
            k.bs = (int)message.getField(bs).getValue();
			}
			
			{
            // ask
            OfferPx op = new OfferPx();
            OfferSize os = new OfferSize();
            k.ask = (decimal)op.getValue();
            k.os = (int)message.getField(os).getValue();
			}
			
			{
            // last
            Price price = new Price();
            message.getField(price);
            k.trade = (decimal)price.getValue();
			}
			
            tl.newTick(k);
            //ClOrdID clOrdID = new ClOrdID();
            //message.getField(clOrdID);
        }
Exemple #3
0
        private void calculateTotalBidAskSizes()
        {
            totalBidSize = new OfferSize();
            totalAskSize = new OfferSize();
            bestBid      = Price.Zero;
            bestAsk      = new Price("9999999");

            foreach (var data in dataByExchanges.Values)
            {
                if (data.RegionalBid != null)
                {
                    if (data.RegionalBid.HasValue && data.RegionalBid > bestBid)
                    {
                        bestBid = data.RegionalBid.Value;
                    }
                    if (!totalBidSize.ContainsKey(data.RegionalBid))
                    {
                        totalBidSize[data.RegionalBid] = 0;
                    }
                    totalBidSize[data.RegionalBid] += data.RegionalBidsize;
                }
                if (data.RegionalAsk != null)
                {
                    if (data.RegionalAsk.HasValue && data.RegionalAsk < bestAsk)
                    {
                        bestAsk = data.RegionalAsk.Value;
                    }
                    if (!totalAskSize.ContainsKey(data.RegionalAsk))
                    {
                        totalAskSize[data.RegionalAsk] = 0;
                    }
                    totalAskSize[data.RegionalAsk] += data.RegionalAsksize;
                }
            }

            market = getMarketFromSpread(bestAsk, bestBid);
            WriteLog("Market for bestAsk {0}, bestBid {1} is {2} : ", bestAsk, bestBid, market);
        }