private void esignal_OnQuoteChanged(String symbol) { //holds the data for each tick var quote = esignal.get_GetBasicQuote(symbol); //esignal uses " #F" at the end of each of the futures symbols, remove it. string sym = symbol.Substring(0, symbol.Length - 3); try { SymbolInfo si = Factory.Symbol.LookupSymbol(sym); SymbolHandler buffer = GetSymbolHandler(si, receiver); if (quote.dBid > 0) { buffer.Bid = quote.dBid; buffer.BidSize = quote.lBidSize; // buffer.SendQuote(); } if (quote.dAsk > 0) { buffer.Ask = quote.dAsk; buffer.AskSize = quote.lAskSize; // buffer.SendQuote(); } if (quote.dLast > 0) { buffer.Last = quote.dLast; buffer.LastSize = quote.lLastSize; buffer.SendTimeAndSales(); } // tickIO.Initialize(); // tickIO.SetSymbol(si.BinaryIdentifier); // if (si.TimeAndSales == TimeAndSales.ActualTrades) // { //// tickIO.SetTrade(quote.dLast, quote.lLastSize); // tickIO.SetTrade(1, 1); // } // tickIO.SetTime(TimeStamp.UtcNow); // if (si.QuoteType == QuoteType.Level1) // { // tickIO.SetQuote(1, 1, (ushort)1, (ushort)1); //// tickIO.SetQuote(quote.dLast, quote.dLast, (ushort)quote.lLastSize, (ushort)quote.lLastSize); //// tickIO.SetQuote(quote.dBid, quote.dAsk, (ushort)quote.lBidSize, (ushort)quote.lAskSize); // } // TickBinary binary = tickIO.Extract(); // receiver.OnSend(ref binary); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public void StartSymbol(Receiver receiver, SymbolInfo symbol, TimeStamp lastTimeStamp) { if (debug) { log.Debug("StartSymbol " + symbol + ", " + lastTimeStamp); } //Equity equity = new Equity(symbol.Symbol); SymbolHandler handler = GetSymbolHandler(symbol, receiver); //esignals needs " #F" for futires symbols esignal.RequestSymbol(symbol.Symbol + " #F", 1); receiver.OnRealTime(symbol); }