Пример #1
0
        public void SendSecurityDefinition()
        {
            HeaderMessage msHeader = new HeaderMessage(ApplicationLevel.SecurityDefinitionRequest, _messageCount++);

            SecurityDefinition msSecurityDefinition = new SecurityDefinition();

            msHeader.BodyLength = msHeader.GetHeaderSize() + msSecurityDefinition.GetMessageSize();

            TrailerMessage msTrailer = new TrailerMessage(msHeader.ToString() + msSecurityDefinition.ToString());

            //Формируем полное готовое сообщение
            string fullMessage = msHeader.ToString() + msSecurityDefinition.ToString() + msTrailer.ToString();

            SendMessage(fullMessage);
        }
Пример #2
0
        public void SendRequestPosition()
        {
            HeaderMessage msHeader = new HeaderMessage("AN", _messageCount++);

            RequestPositions msRequestPositions = new RequestPositions();

            msHeader.BodyLength = msHeader.GetHeaderSize() + msRequestPositions.GetMessageSize();

            TrailerMessage msTrailer = new TrailerMessage(msHeader.ToString() + msRequestPositions.ToString());

            //Формируем полное готовое сообщение
            string fullMessage = msHeader.ToString() + msRequestPositions.ToString() + msTrailer.ToString();

            SendMessage(fullMessage);
        }
Пример #3
0
        public void Order(string price, string operation, OrdType ordType)
        {
            HeaderMessage msHeader = new HeaderMessage(ApplicationLevel.NewOrderSingle, _messageCount++);

            OrderMessage msOrder = new OrderMessage(price, operation, ordType);

            TrailerMessage msTrailer = new TrailerMessage(msHeader.ToString() + msOrder.ToString());

            msHeader.BodyLength = msHeader.MessageSize + msOrder.MessageSize;  //  GetMessageSize()

            //Формируем полное готовое сообщение
            string fullMessage = msHeader.MessageString + msOrder.MessageString + msTrailer.ToString();   // ToString()

            SendMessage(fullMessage);
        }
Пример #4
0
        public void HeartBeat()
        {
            HeaderMessage msHeader = new HeaderMessage(SessionLevel.HeartBeat, _messageCount++);

            HeartBeatMessage msHeartBeat = new HeartBeatMessage("CRT"); //  ???

            msHeader.BodyLength = msHeader.GetHeaderSize() + msHeartBeat.GetMessageSize();

            TrailerMessage msTrailer = new TrailerMessage(msHeader.ToString() + msHeartBeat.ToString());

            //Формируем полное готовое сообщение
            string fullMessage = msHeader.ToString() + msHeartBeat.ToString() + msTrailer.ToString();

            SendMessage(fullMessage);
        }
Пример #5
0
        public void TestRequest()
        {
            //Создаем заголовок
            HeaderMessage msHeader = new HeaderMessage(SessionLevel.TestRequest, _messageCount++);

            TestRequest msTestRequest = new TestRequest();

            msHeader.BodyLength = msHeader.GetHeaderSize() + msTestRequest.GetMessageSize();

            TrailerMessage msTrailer = new TrailerMessage(msHeader.ToString() + msTestRequest.ToString());

            //Формируем полное готовое сообщение
            string fullMessage = msHeader.ToString() + msTestRequest.ToString() + msTrailer.ToString();

            SendMessage(fullMessage);
        }
Пример #6
0
        public void Logon(int encryptMethod = 0, int heartBtInt = 5, bool resetSeqNumFlag = true) // 108=3000 это слишком много, обычно используется 90. Часто меньше.
        {
            //Создаем заголовок
            HeaderMessage msHeader = new HeaderMessage(SessionLevel.Logon, _messageCount++); //Тип сообщения на установку сессии "A"

            //Создаем сообщение на подключение onLogon
            LogonMessage msLogon = new LogonMessage(encryptMethod, heartBtInt, resetSeqNumFlag);

            //Вычисляем длину сообщения
            msHeader.BodyLength = msHeader.GetHeaderSize() + msLogon.GetMessageSize();  //  было msLogon.GetMessageSize()    ? MessageSize

            //Создаем концовку сообщения
            TrailerMessage msTrailer = new TrailerMessage(msHeader.ToString() + msLogon.ToString()); //  ??? MessageString

            //Формируем полное готовое сообщение
            string fullMessage = msHeader.ToString() + msLogon.ToString() + msTrailer.ToString();    //  ???  ToString()

            SendMessage(fullMessage);
        }
Пример #7
0
 internal void OnLogoutCall(HeaderMessage header)
 {
     OnLogout?.Invoke((header));
 }
Пример #8
0
 public static void fw_onLogout(HeaderMessage hm)
 {
     Console.WriteLine("{0}: Принято сообщение на отключение.\n{1},{2},{3},{4}", DateTime.Now.ToString("HH:mm:ss.fff"), hm.SenderCompID, hm.TargetCompID, hm.MsgSeqNum, hm.SendingTime);
 }