コード例 #1
0
        private static void StartNextDownload(string segment, uint messageTag, int messageType)
        {
            //Set reply and EOD flags to false
            UtilityLoginDetails.GETInstance.PersonalReplyReceived = false;
            UtilityLoginDetails.GETInstance.EndofdownloadReceived = false;


            OrderRequestProcessor orderreqprocessor = null;
            OrderNomralRequest    orequest          = new OrderNomralRequest();

            orequest.Hour       = "0";
            orequest.Minute     = "0";
            orequest.Second     = "0";
            orequest.Filler     = segment;
            orequest.MessageTag = messageTag;
            if (messageType == (int)Enumerations.OrderTypeDownload.ReturnOrders)
            {
                orderreqprocessor = new OrderRequestProcessor(new OrderRetPersonalDownload());
            }
            else if (messageType == (int)Enumerations.OrderTypeDownload.StopLossOrders)
            {
                orderreqprocessor = new OrderRequestProcessor(new OrderStopLossPersonalDownload());
            }
            else if (messageType == (int)Enumerations.OrderTypeDownload.ReturnStopLossOrders)
            {
                orderreqprocessor = new OrderRequestProcessor(new OrderRetStopPersonalDownload());
            }
            orderreqprocessor.ProcessRequest(orequest, messageType);
        }
コード例 #2
0
        /// <summary>
        /// Query Order Personal Download
        /// </summary>
        /// <param name="Segment"></param>
        /// <param name="MessageTag"></param>
        private static void QueryPersonalDownload(string Segment, uint MessageTag, ushort HFLFFlag)
        {
            if (HFLFFlag == (int)Enumerations.HFLFFlag.LFFlag) //Request Order, Trades and Limit
            {
                //Set reply and EOD flags to false
                UtilityLoginDetails.GETInstance.PersonalReplyReceived = false;
                UtilityLoginDetails.GETInstance.EndofdownloadReceived = false;
                GetInstance.ReplyMessageTxt = ConstantMessages.WaitOrderMessage;
                OrderRequestProcessor orderreqprocessor = null;
                OrderNomralRequest    orequest          = new OrderNomralRequest();
                orequest.Hour       = "0";
                orequest.Minute     = "0";
                orequest.Second     = "0";
                orequest.Filler     = Segment;
                orequest.MessageTag = MessageTag;
                orderreqprocessor   = new OrderRequestProcessor(new OrderNormalPersonalDownload());
                orderreqprocessor.ProcessRequest(orequest, (int)OrderTypeDownload.NormalOrders);
                autoReset.WaitOne();
                GetInstance.ReplyMessageTxt = ConstantMessages.WaitRetOrderMessage;
                StartNextDownload(Segment, MessageTag, (int)OrderTypeDownload.ReturnOrders);
                autoReset.WaitOne();
                GetInstance.ReplyMessageTxt = ConstantMessages.WaitStopLossMessage;
                StartNextDownload(Segment, MessageTag, (int)OrderTypeDownload.StopLossOrders);
                autoReset.WaitOne();
                GetInstance.ReplyMessageTxt = ConstantMessages.WaitRetStopLossMessage;
                StartNextDownload(Segment, MessageTag, (int)OrderTypeDownload.ReturnStopLossOrders);
                autoReset.WaitOne();
                GetInstance.ReplyMessageTxt = ConstantMessages.WaitTradeMessage;
                StartNextTradeDownload(Segment, MessageTag, null);
                autoReset.WaitOne();
                GetInstance.ReplyMessageTxt = ConstantMessages.WaitLimitMessage;
                StartNextLimitDownload(MessageTag, null);
                autoReset.WaitOne();
                GetInstance.ReplyMessageTxt = ConstantMessages.WaitGWLimitMessage;
                StartNextLimitDownload(MessageTag, UtilityLoginDetails.GETInstance.TraderId);
                autoReset.WaitOne();
            }
            else if (HFLFFlag == (int)Enumerations.HFLFFlag.HFFlag) // Request Only Trades and Limits
            {
                GetInstance.ReplyMessageTxt = ConstantMessages.WaitTradeMessage;
                StartNextTradeDownload(Segment, MessageTag, null);
                autoReset.WaitOne();
                GetInstance.ReplyMessageTxt = ConstantMessages.WaitLimitMessage;
                StartNextLimitDownload(MessageTag, null);
                autoReset.WaitOne();
                GetInstance.ReplyMessageTxt = ConstantMessages.WaitGWLimitMessage;
                StartNextLimitDownload(MessageTag, UtilityLoginDetails.GETInstance.TraderId);
                autoReset.WaitOne();
            }

            GetInstance.ReplyMessageTxt = ConstantMessages.CompletedMessage;
        }