public void OnMessage(QuickFix.FIX44.QuoteRequest msg, QuickFix.SessionID s) { if (Fix44QuoteRequestEvent != null) { Fix44QuoteRequestEvent(msg); } }
public void OnMessage(QuickFix.FIX44.QuoteRequest rfq, SessionID s) { try { Console.WriteLine("Received Quote Request Message: "); QuickFix.FIX44.Quote quote = new QuickFix.FIX44.Quote(); quote.SetField(new QuoteID(new Guid().ToString())); quote.SetField(new QuoteReqID(rfq.QuoteReqID.getValue())); quote.SetField(new BidPx(0)); quote.SetField(new OfferPx(Convert.ToDecimal(1.18))); quote.SetField(new OrderQty(Convert.ToDecimal(rfq.GetField(Tags.OrderQty)))); quote.SetField(new Side(Convert.ToChar(rfq.GetField(Tags.Side)))); quote.SetField(new SecurityType(rfq.GetField(Tags.SecurityType))); quote.SetField(new CFICode(rfq.GetField(Tags.CFICode))); quote.SetField(new TransactTime(DateTime.Now.Date)); quote.SetField(new SettlDate(rfq.GetField(Tags.SettlDate))); quote.SetField(new Account(rfq.GetField(Tags.Account))); quote.SetField(new Symbol(rfq.GetField(Tags.Symbol))); quote.SetField(new Currency(rfq.GetField(Tags.Currency))); Session.SendToTarget(quote, s); Console.WriteLine(quote.ToString()); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void QueryQuoteRequest() { try { Console.WriteLine("Sending a QuoteRequest."); QuickFix.FIX44.QuoteRequest rfq = new QuickFix.FIX44.QuoteRequest(); rfq.SetField(new QuoteReqID(new Guid().ToString())); rfq.SetField(new Side('1')); rfq.SetField(new Symbol("EUR/USD")); rfq.SetField(new Currency("USD")); rfq.SetField(new SecurityType("FOR")); rfq.SetField(new CFICode("SPOT")); rfq.SetField(new OrderQty(2000000)); rfq.SetField(new TransactTime(DateTime.Now.Date)); rfq.SetField(new SettlDate(DateTime.Now.Date.AddDays(2).ToString("yyyy-MM-dd"))); rfq.SetField(new Account("client123")); _session.Send(rfq); Console.WriteLine(rfq.ToString()); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public void HandleQuoteRequest(QuickFix.FIX44.QuoteRequest msg) { try { string quoteRequestId = msg.QuoteReqID.Obj; //string status = FixEnumTranslator.Translate(msg.OrdStatus); Trace.WriteLine("OVM: Handling QuoteRequest: " + quoteRequestId); TradeRecord tr = new TradeRecord(quoteRequestId, "1", "New", "100.1", "CT10", "B"); SmartDispatcher.Invoke(new Action <TradeRecord>(AddTrade), tr); /* * lock (_ordersLock) * { * foreach (OrderRecord r in Orders) * { * if (r.ClOrdID == clOrdId) * { * r.Status = status; * if (msg.IsSetLastPx()) * r.Price = msg.LastPx.Obj; * if (msg.IsSetOrderID()) * r.OrderID = msg.OrderID.Obj; * * return; * } * } * } */ Trace.WriteLine("OVM: No order corresponds to QuoteRequestId: '" + quoteRequestId + "'"); } catch (Exception e) { Trace.WriteLine(e.ToString()); } }
public void OnMessage(QuickFix.FIX44.QuoteRequest message, SessionID sessionID) { Echo(message, sessionID); }