public BondPacketType EncodeHeaderAndGetHeaderType_Bond(ref InPacket iPacket)
        {
            const int nSize = 5;
            byte[] head = new byte[nSize];
            iPacket.Decode(head, nSize);

            System.Text.Encoding enc = System.Text.Encoding.ASCII;
            String headStr = enc.GetString(head);

            if (headStr.CompareTo("B6067") == 0)
            {
                return BondPacketType.Normal_Small;
            }
            else if (headStr.CompareTo("B6027") == 0)
            {
                return BondPacketType.Retail;
            }

            return BondPacketType.Unknown;
        }
Пример #2
0
        public void SetData(InPacket iPacket)
        {
            const int kSize = 5;
            byte[] head = new byte[kSize];
            iPacket.Decode(head, kSize);

            KrxPacketUtil.SpotPacketType packetType = KrxPacketUtil.GetSpotPacketType(head);

            switch (packetType)
            {
                case KrxPacketUtil.SpotPacketType._A3_Contract:
                    DecodeAndUpdate_A3_Contract(iPacket);
                    break;
                case KrxPacketUtil.SpotPacketType._B7_BidAsk:
                    DecodeAndUpdate_B7_BidAsk(iPacket);
                    break;
                default:
                    break;
            }
        }
Пример #3
0
        public void SetData(InPacket iPacket)
        {
            const int nSize = 5;
            byte[] head = new byte[nSize];
            iPacket.Decode(head, nSize);

            KrxPacketUtil.FutureOptionPacketType packetType = KrxPacketUtil.GetFutureOptionPacketType(head);

            switch (packetType)
            {
                case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk:
                    DecodeAndUpdate_BidAsk(iPacket);
                    break;
                case KrxPacketUtil.FutureOptionPacketType.Index_Contract:
                    DecodeAndUpdate_Contract(iPacket);
                    break;
                case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk_Contract:
                    DecodeAndUpdate_BidAsk_Contract(iPacket);
                    break;
                default:
                    break;
            }
        }
Пример #4
0
        public void SetData(InPacket iPacket)
        {
            const int nSize = 5;
            byte[] head = new byte[nSize];
            iPacket.Decode(head, nSize);

            KrxPacketUtil.FutureOptionPacketType nType = KrxPacketUtil.GetFutureOptionPacketType(head);

            switch (nType)
            {
                case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk:
                    Handle_Index_Option_BidAsk_Raw(iPacket);
                    break;
                case KrxPacketUtil.FutureOptionPacketType.Index_Contract:
                    Handle_Index_Option_Contract_Raw(iPacket);
                    break;
                case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk_Contract:
                    Handle_Index_Option_BidAsk_Contract_Raw(iPacket);
                    break;
                default:
                    break;
            }
        }
Пример #5
0
        public void SetData(InPacket iPacket)
        {
            const int nSize = 5;
            byte[] head = new byte[nSize];
            iPacket.Decode(head, nSize);

            KrxPacketUtil.SpotPacketType nType = KrxPacketUtil.GetSpotPacketType(head);

            lock (_rmdDict)
            {
                switch (nType)
                {
                    case KrxPacketUtil.SpotPacketType._A3_Contract:
                        Handle_Elw_A3_Contract(iPacket);
                        break;
                    case KrxPacketUtil.SpotPacketType._B7_BidAsk:
                        Handle_Elw_B7_BidAsk(iPacket);
                        break;
                    default:
                        break;
                }
            }
        }
        private void SetStockDataUsingKrxData(InPacket iPacket)
        {
            const int nSize = 5;
            byte[] head = new byte[nSize];
            iPacket.Decode(head, nSize);

            KrxPacketUtil.SpotPacketType nType = KrxPacketUtil.GetSpotPacketType(head);

            switch (nType)
            {
                case KrxPacketUtil.SpotPacketType._A3_Contract:
                    Handle_Stock_A3_Contract(iPacket);
                    break;
                case KrxPacketUtil.SpotPacketType._B7_BidAsk:
                    Handle_Stock_B7_BidAsk(iPacket);
                    break;
                default:
                    break;
            }
        }
        private void SetIndexOptionDataUsingYulchonData(InPacket iPacket)
        {
            //            logger.Info("Option Data {0:n0}", ++_oDataCount));

            short packetLen = iPacket.Decode16();
            short totalPacketLen = (short)(packetLen + 2);

            const int nSize = 5;
            byte[] head = new byte[nSize];
            iPacket.Decode(head, nSize);

            KrxPacketUtil.FutureOptionPacketType nType = KrxPacketUtil.GetFutureOptionPacketType(head);

            // 시간 Skip
            iPacket.SkipDecode(10);

            switch (nType)
            {
                case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk:
                    Handle_Index_Option_BidAsk_Raw(iPacket);
                    break;
                case KrxPacketUtil.FutureOptionPacketType.Index_Contract:
                    Handle_Index_Option_Contract_Raw(iPacket);
                    break;
                case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk_Contract:
                    Handle_Index_Option_BidAsk_Contract_Raw(iPacket);
                    break;
                default:
                    //                    FormChannel.Error("Broken Packet in RMDManager::SetMarketData...");
                    break;
            }
            iPacket.AdvancePivot(totalPacketLen);
        }
        void SetIndexFutureData_Raw(InPacket iPacket)
        {
            const int nSize = 5;
            byte[] head = new byte[nSize];
            iPacket.Decode(head, nSize);

            KrxPacketUtil.FutureOptionPacketType nType = KrxPacketUtil.GetFutureOptionPacketType(head);

            // 시간 skip
            iPacket.SkipDecode(10);

            switch (nType)
            {
                case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk:
                    Handle_Index_Future_BidAsk_Raw(iPacket);
                    break;
                case KrxPacketUtil.FutureOptionPacketType.Index_Contract:
                    Handle_Index_Future_Contract_Raw(iPacket);
                    break;
                case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk_Contract:
                    Handle_Index_Future_BidAsk_Contract_Raw(iPacket);
                    break;
                default:
                    //FormChannel.Error("Broken Packet in RMDManager::SetMarketData...");
                    break;
            }
        }
Пример #9
0
        RawMarketData GetRawMarketData(InPacket iPacket, String targetCode, DateTime curDateTime)
        {
            const int nSize = 5;
            byte[] head = new byte[nSize];
            iPacket.Decode(head, nSize);

            KrxPacketUtil.FutureOptionPacketType packetType = KrxPacketUtil.GetFutureOptionPacketType(head);

            switch (packetType)
            {
                case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk: // B6
                    return Decode_BidAsk(iPacket, targetCode, curDateTime);
                case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk_Contract: //G7
                    return Decode_BidAskContract(iPacket, targetCode, curDateTime);
                case KrxPacketUtil.FutureOptionPacketType.Index_Contract: //A3
                    return Decode_Contract(iPacket, targetCode, curDateTime);
                default:
                    break;
            }
            return null;
        }