Exemplo n.º 1
0
 public void OnMessage(QuickFix.FIX44.QuoteRequest msg, QuickFix.SessionID s)
 {
     if (Fix44QuoteRequestEvent != null)
     {
         Fix44QuoteRequestEvent(msg);
     }
 }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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());
            }
        }
Exemplo n.º 5
0
 public void OnMessage(QuickFix.FIX44.QuoteRequest message, SessionID sessionID)
 {
     Echo(message, sessionID);
 }