Ejemplo n.º 1
0
        private void HandleRejectMessage(NetworkMessage msg)
        {
            MsgReject reject = msg as MsgReject;

            NetClient.Shutdown();
            NetClientRejected(reject.ReasonCode, reject.ReasonMessage);
        }
Ejemplo n.º 2
0
        private static void HandleRejectMessage(NetworkMessage msg)
        {
            MsgReject reject = msg as MsgReject;

            WriteLine("Received Reject Message " + reject.ReasonCode.ToString());
            WriteLine("\tMessage " + reject.ReasonMessage);
            client.Shutdown();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Called  when Order Reject is received from Blackwood
        /// </summary>
        private void OnOrderReject(object sender, MsgReject rejectmsg)
        {
            try
            {
                if (Logger.IsInfoEnabled)
                {
                    Logger.Info("Order rejected by Blackwood: " + rejectmsg.ToString(), _type.FullName, "OnOrderReject");
                }

                BWOrder rejectedOrder;

                // Get corresponding Local Order ID
                string localId = (from id in _localToBlackwoodIdsMap
                                  where id.Value.Equals(rejectmsg.ClientOrderID.Value.ToString())
                                  select id.Key).FirstOrDefault();

                if (localId == null)
                {
                    return;
                }

                // Remove from Ids Map
                string tempId;
                _localToBlackwoodIdsMap.TryRemove(localId, out tempId);

                // Remove Rejected Order from the List
                _bwOrders.TryRemove(rejectmsg.ClientOrderID.Value.ToString(), out rejectedOrder);

                Rejection rejection = new Rejection(new Security {
                    Symbol = rejectmsg.Symbol.Value
                }, _orderExecutionProviderName)
                {
                    OrderId        = localId,
                    RejectioReason = rejectmsg.Reason.Value,
                };

                // Raise Rejection reason
                if (OrderRejectionArrived != null)
                {
                    OrderRejectionArrived(rejection);
                }

                if (rejectmsg.Reason.Value.Equals("Not Shortable - Hard To Borrow"))
                {
                    // Get BW Stock Instance from the requested Symbol
                    BWStock bwStock = _session.GetStock(rejectmsg.Symbol.Value);

                    // Locate Stock
                    bwStock.LocateStock(rejectedOrder.Size);

                    if (Logger.IsDebugEnabled)
                    {
                        Logger.Debug(
                            "Locating " + rejectmsg.Symbol.Value + " sharess of" + rejectmsg.Symbol.Value,
                            _type.FullName, "OnOrderReject");
                    }
                    //_htbRejectID = orderReject.ClientOrderID;
                }
            }
            catch (Exception exception)
            {
                Logger.Error(exception, _type.FullName, "OnOrderReject");
            }
        }